You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hdt.apache.org by rs...@apache.org on 2014/05/23 05:21:08 UTC

[1/6] git commit: HDT-50: Adding HDFS site if found - Minor tweaks to the hadoop perspective - Modified create/open of HDFS project in WorkspaceJob - Modified RunOnHadoop to add HDFS site. Show error in dialog if found. - Adding timeoutcheck to MR cluste

Repository: incubator-hdt
Updated Branches:
  refs/heads/hadoop-eclipse-merge-development 0e9e729a2 -> a7a89f496


HDT-50: Adding HDFS site if found - Minor tweaks to the hadoop perspective - Modified create/open of HDFS project in WorkspaceJob - Modified RunOnHadoop to add HDFS site. Show error in dialog if found. - Adding timeoutcheck to MR cluster


Project: http://git-wip-us.apache.org/repos/asf/incubator-hdt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hdt/commit/00646ae0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hdt/tree/00646ae0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hdt/diff/00646ae0

Branch: refs/heads/hadoop-eclipse-merge-development
Commit: 00646ae0b3e502dda9ec3a4ddb5484412cf709ef
Parents: 0e9e729
Author: Rahul Sharma <rs...@apache.org>
Authored: Tue May 13 17:00:53 2014 +0530
Committer: Rahul Sharma <rs...@apache.org>
Committed: Fri May 23 08:44:02 2014 +0530

----------------------------------------------------------------------
 .../hdt/core/internal/hdfs/HDFSManager.java     | 61 +++++++++++++++++---
 .../hdt/core/launch/AbstractHadoopCluster.java  |  4 ++
 .../hdt/hadoop/release/HadoopCluster.java       | 33 +++++++++++
 org.apache.hdt.ui/plugin.xml                    | 14 ++---
 .../hdt/ui/internal/hdfs/NewHDFSWizard.java     | 21 ++-----
 .../internal/launch/HadoopLocationWizard.java   | 43 +++++++++++++-
 .../hdt/ui/internal/launch/ServerRegistry.java  | 53 ++++++++++++-----
 7 files changed, 184 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/00646ae0/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSManager.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSManager.java b/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSManager.java
index 93f0696..5897cea 100644
--- a/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSManager.java
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSManager.java
@@ -18,6 +18,7 @@
 
 package org.apache.hdt.core.internal.hdfs;
 
+import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -37,13 +38,19 @@ import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IWorkspace;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.resources.WorkspaceJob;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.emf.common.util.EList;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.team.core.RepositoryProvider;
 
 /**
@@ -176,14 +183,39 @@ public class HDFSManager {
 	 * @return
 	 * @throws CoreException
 	 */
-	private IProject createIProject(String name, java.net.URI hdfsURI) throws CoreException {
+	private IProject createIProject(String name, final java.net.URI hdfsURI) {
 		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IProject project = workspace.getRoot().getProject(name);
-		IProjectDescription pd = workspace.newProjectDescription(name);
-		pd.setLocationURI(hdfsURI);
-		project.create(pd, new NullProgressMonitor());
-		project.open(new NullProgressMonitor());
-		RepositoryProvider.map(project, HDFSTeamRepositoryProvider.ID);
+		final IProject project = workspace.getRoot().getProject(name);
+		final IProjectDescription pd = workspace.newProjectDescription(name);
+	    WorkspaceJob operation = new WorkspaceJob("Adding HDFS Location") {
+
+			@Override
+			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
+				monitor.beginTask("Creating Project", 100);
+				try {
+					pd.setLocationURI(hdfsURI);
+					project.create(pd, new SubProgressMonitor(monitor, 70));
+					project.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 30));
+					RepositoryProvider.map(project, HDFSTeamRepositoryProvider.ID);
+					return Status.OK_STATUS;
+				} catch (final CoreException e) {
+					logger.error("error found in creating HDFS site", e);
+					Display.getDefault().syncExec(new Runnable(){
+						public void run(){
+							MessageDialog.openError(Display.getDefault().getActiveShell(), 
+									"HDFS Error", "Unable to create HDFS site :"+e.getMessage());
+						}
+					});
+					return e.getStatus();
+				} finally {
+					monitor.done();
+				}
+			}
+		   };
+		operation.setPriority(Job.LONG);
+		operation.setUser(true);
+		operation.setRule(project);
+		operation.schedule();
 		return project;
 	}
 
@@ -204,6 +236,8 @@ public class HDFSManager {
 		}
 		return uriToServerCacheMap.get(uri);
 	}
+	
+	
 
 	public String getProjectName(HDFSServer server) {
 		return serverToProjectMap.get(server);
@@ -282,4 +316,17 @@ public class HDFSManager {
 			return hdfsClientsMap.get(serverURI);
 		}
 	}
+	
+	public static org.eclipse.core.runtime.IStatus addServer(String serverName, String location, String userId, List<String> groupId) {
+		try {
+			HDFSManager.INSTANCE.createServer(serverName, new URI(location), userId, groupId);
+		} catch (CoreException e) {
+			logger.warn(e.getMessage(), e);
+			return e.getStatus();
+		} catch (URISyntaxException e) {
+			logger.warn(e.getMessage(), e);
+			return new Status(Status.ERROR,"unknown",e.getMessage(),e);
+		}
+		return Status.OK_STATUS;
+	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/00646ae0/org.apache.hdt.core/src/org/apache/hdt/core/launch/AbstractHadoopCluster.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/launch/AbstractHadoopCluster.java b/org.apache.hdt.core/src/org/apache/hdt/core/launch/AbstractHadoopCluster.java
index 782a89c..cd06f0e 100644
--- a/org.apache.hdt.core/src/org/apache/hdt/core/launch/AbstractHadoopCluster.java
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/launch/AbstractHadoopCluster.java
@@ -64,6 +64,8 @@ public abstract class AbstractHadoopCluster {
 
 	abstract public boolean loadFromXML(File file) throws IOException;
 	
+	abstract public boolean isAvailable() throws CoreException;
+	
 	public static AbstractHadoopCluster createCluster(File file) throws CoreException, IOException {
 		AbstractHadoopCluster hadoopCluster = createCluster();
 		hadoopCluster.loadFromXML(file);
@@ -81,4 +83,6 @@ public abstract class AbstractHadoopCluster {
 		return hadoopCluster;
 	}
 
+	
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/00646ae0/org.apache.hdt.hadoop.release/src/org/apache/hdt/hadoop/release/HadoopCluster.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.hadoop.release/src/org/apache/hdt/hadoop/release/HadoopCluster.java b/org.apache.hdt.hadoop.release/src/org/apache/hdt/hadoop/release/HadoopCluster.java
index 466739b..67fcb75 100644
--- a/org.apache.hdt.hadoop.release/src/org/apache/hdt/hadoop/release/HadoopCluster.java
+++ b/org.apache.hdt.hadoop.release/src/org/apache/hdt/hadoop/release/HadoopCluster.java
@@ -31,6 +31,13 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeMap;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 import java.util.logging.Logger;
 
 import javax.xml.parsers.DocumentBuilder;
@@ -52,6 +59,8 @@ import org.apache.hdt.core.launch.IHadoopJob;
 import org.apache.hdt.core.launch.IJarModule;
 import org.apache.hdt.core.launch.IJobListener;
 import org.eclipse.core.internal.utils.FileUtil;
+import org.eclipse.core.resources.WorkspaceJob;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
@@ -81,6 +90,7 @@ import org.xml.sax.SAXException;
  */
 
 public class HadoopCluster extends AbstractHadoopCluster {
+	private ExecutorService service= Executors.newSingleThreadExecutor();
 
 	/**
 	 * Frequency of location status observations expressed as the delay in ms
@@ -566,4 +576,27 @@ public class HadoopCluster extends AbstractHadoopCluster {
 		}
 
 	}
+
+	/* (non-Javadoc)
+	 * @see org.apache.hdt.core.launch.AbstractHadoopCluster#isAvailable()
+	 */
+	@Override
+	public boolean isAvailable() throws CoreException {
+		Callable<JobClient> task= new Callable<JobClient>() {
+			
+			@Override
+			public JobClient call() throws Exception {
+				return getJobClient();
+			}
+		}; 
+		Future<JobClient> jobClientFuture = service.submit(task);
+		try{
+			JobClient jobClient = jobClientFuture.get(5, TimeUnit.SECONDS);
+			return jobClient!=null;
+		}catch(Exception e){
+			e.printStackTrace();
+			throw new CoreException(new Status(Status.ERROR, 
+					Activator.BUNDLE_ID, "unable to connect to server", e));
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/00646ae0/org.apache.hdt.ui/plugin.xml
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/plugin.xml b/org.apache.hdt.ui/plugin.xml
index 7bc5b47..af68ffa 100644
--- a/org.apache.hdt.ui/plugin.xml
+++ b/org.apache.hdt.ui/plugin.xml
@@ -39,31 +39,31 @@
       <perspectiveExtension
             targetID="org.apache.hdt.ui.perspective">
          <view
-               id="org.apache.hdt.ui.view.servers"
+               id="org.eclipse.ui.navigator.ProjectExplorer"
                minimized="false"
                ratio="0.25"
                relationship="left"
                relative="org.eclipse.ui.editorss">
          </view>
          <view
-               id="org.eclipse.ui.navigator.ProjectExplorer"
+               id="org.apache.hdt.ui.view.servers"
                minimized="false"
                ratio="0.5"
                relationship="bottom"
-               relative="org.apache.hdt.ui.view.servers">
+               relative="org.eclipse.ui.navigator.ProjectExplorer">
          </view>
          <view
-               id="org.eclipse.ui.views.PropertySheet"
+               id="org.apache.hdt.ui.ClusterView"
                minimized="false"
                ratio="0.66"
                relationship="bottom"
                relative="org.eclipse.ui.editorss">
          </view>
           <view
-                id=" org.apache.hdt.ui.ClusterView"
+                id="org.eclipse.ui.views.PropertySheet"
                 minimized="false"
                 relationship="stack"
-                relative="org.apache.hdt.ui.view.servers">
+                relative="org.apache.hdt.ui.ClusterView">
          </view>
          <newWizardShortcut
                id="org.apache.hdt.ui.wizard.newProjectWizard"/>
@@ -441,7 +441,7 @@
             class="org.eclipse.ui.navigator.CommonNavigator"
             icon="icons/hadoop-logo-16x16.png"
             id="org.apache.hdt.ui.view.servers"
-            name="Hadoop Servers"
+            name="ZooKeeper Servers"
             restorable="true">
       </view>
       <view

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/00646ae0/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
index 545ea3a..4cd40de 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
@@ -17,14 +17,9 @@
  */
 package org.apache.hdt.ui.internal.hdfs;
 
-import java.net.URI;
-import java.net.URISyntaxException;
-
 import org.apache.hdt.core.internal.hdfs.HDFSManager;
 import org.apache.hdt.ui.Activator;
 import org.apache.log4j.Logger;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -73,17 +68,9 @@ public class NewHDFSWizard extends Wizard implements INewWizard {
 
 				Job j = new Job("Creating HDFS project [" + serverLocationWizardPage.getHdfsServerName() + "]") {
 					protected org.eclipse.core.runtime.IStatus run(org.eclipse.core.runtime.IProgressMonitor monitor) {
-						try {
-							HDFSManager.INSTANCE.createServer(serverLocationWizardPage.getHdfsServerName(), new URI(serverLocationWizardPage
-									.getHdfsServerLocation()), serverLocationWizardPage.isOverrideDefaultSecurity() ? serverLocationWizardPage.getUserId()
-									: null, serverLocationWizardPage.isOverrideDefaultSecurity() ? serverLocationWizardPage.getGroupIds() : null);
-						} catch (CoreException e) {
-							logger.warn(e.getMessage(), e);
-							return e.getStatus();
-						} catch (URISyntaxException e) {
-							logger.warn(e.getMessage(), e);
-						}
-						return Status.OK_STATUS;
+						return HDFSManager.addServer(serverLocationWizardPage.getHdfsServerName(),serverLocationWizardPage.getHdfsServerLocation(),
+								serverLocationWizardPage.isOverrideDefaultSecurity() ? serverLocationWizardPage.getUserId() : null,
+								serverLocationWizardPage.isOverrideDefaultSecurity() ? serverLocationWizardPage.getGroupIds() : null);
 					};
 				};
 				j.schedule();
@@ -93,4 +80,6 @@ public class NewHDFSWizard extends Wizard implements INewWizard {
 		return false;
 	}
 
+	
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/00646ae0/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/HadoopLocationWizard.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/HadoopLocationWizard.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/HadoopLocationWizard.java
index 4f11128..3757c05 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/HadoopLocationWizard.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/HadoopLocationWizard.java
@@ -28,8 +28,12 @@ import java.util.Set;
 import java.util.SortedMap;
 import java.util.TreeMap;
 
-import org.apache.hdt.core.launch.ConfProp;
+import org.apache.hdt.core.internal.hdfs.HDFSManager;
 import org.apache.hdt.core.launch.AbstractHadoopCluster;
+import org.apache.hdt.core.launch.ConfProp;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.wizard.WizardPage;
@@ -118,17 +122,49 @@ public class HadoopLocationWizard extends WizardPage {
 	public AbstractHadoopCluster performFinish() {
 		try {
 			if (this.original == null) {
+				Display.getDefault().syncExec(new Runnable() {
+					public void run() {
+						HDFSManager.addServer(location.getLocationName(),
+								location.getConfProp(ConfProp.FS_DEFAULT_URI), location
+								.getConfProp(ConfProp.PI_USER_NAME), null);
+					}
+				});
 				// New location
 				Display.getDefault().syncExec(new Runnable() {
 					public void run() {
-						ServerRegistry.getInstance().addServer(HadoopLocationWizard.this.location);
+							ServerRegistry.getInstance().addServer(HadoopLocationWizard.this.location);
 					}
 				});
 				return this.location;
 
 			} else {
+				
 				// Update location
 				final String originalName = this.original.getLocationName();
+				final String originalLoc = this.original.getConfProp(ConfProp.FS_DEFAULT_URI);
+				final String newName = this.location.getLocationName();
+				final String newLoc = this.location.getConfProp(ConfProp.FS_DEFAULT_URI);
+				
+				if (!originalName.equals(newName) || !originalLoc.equals(newLoc)){
+					IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+					final IProject project = root.getProject(originalName);
+					
+					Display.getDefault().syncExec(new Runnable() {
+						public void run() {
+							if(project.exists()){
+								try {
+									project.close(null);
+									project.delete(true, null);
+								} catch (CoreException e) {
+									e.printStackTrace();
+								}
+							}
+							HDFSManager.addServer(location.getLocationName(),
+									location.getConfProp(ConfProp.FS_DEFAULT_URI), location
+									.getConfProp(ConfProp.PI_USER_NAME), null);
+						}
+					});
+				}
 				this.original.load(this.location);
 
 				Display.getDefault().syncExec(new Runnable() {
@@ -139,6 +175,9 @@ public class HadoopLocationWizard extends WizardPage {
 				return this.original;
 
 			}
+			
+			
+			
 		} catch (Exception e) {
 			e.printStackTrace();
 			setMessage("Invalid server location values", IMessageProvider.ERROR);

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/00646ae0/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/ServerRegistry.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/ServerRegistry.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/ServerRegistry.java
index 785286c..f03fb50 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/ServerRegistry.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/launch/ServerRegistry.java
@@ -33,6 +33,12 @@ import javax.security.auth.login.Configuration;
 import org.apache.hdt.core.launch.AbstractHadoopCluster;
 import org.apache.hdt.core.launch.IHadoopClusterListener;
 import org.apache.hdt.ui.Activator;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.resources.WorkspaceJob;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.dialogs.MessageDialog;
 
 /**
@@ -173,10 +179,22 @@ public class ServerRegistry {
 		fireListeners(server, SERVER_REMOVED);
 	}
 
-	public synchronized void addServer(AbstractHadoopCluster server) {
-		this.servers.put(server.getLocationName(), server);
-		store();
-		fireListeners(server, SERVER_ADDED);
+	public synchronized void addServer(final AbstractHadoopCluster server) {
+		WorkspaceJob job= new WorkspaceJob("Adding Hadoop Server") {
+			@Override
+			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
+				if(server.isAvailable()){
+					servers.put(server.getLocationName(), server);
+					store();
+					fireListeners(server, SERVER_ADDED);
+				}
+			return org.eclipse.core.runtime.Status.OK_STATUS;
+		}};
+		
+		job.setPriority(Job.LONG);
+		job.setRule(ResourcesPlugin.getWorkspace().getRoot());
+		job.setUser(true);
+		job.schedule();
 	}
 
 	/**
@@ -187,14 +205,23 @@ public class ServerRegistry {
 	 * @param server
 	 *            the location
 	 */
-	public synchronized void updateServer(String originalName, AbstractHadoopCluster server) {
-
-		// Update the map if the location name has changed
-		if (!server.getLocationName().equals(originalName)) {
-			servers.remove(originalName);
-			servers.put(server.getLocationName(), server);
-		}
-		store();
-		fireListeners(server, SERVER_STATE_CHANGED);
+	public synchronized void updateServer(final String originalName, final AbstractHadoopCluster server) {
+		WorkspaceJob job= new WorkspaceJob("Updating  Hadoop Server") {
+			@Override
+			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
+				// Update the map if the location name has changed
+				if (!server.getLocationName().equals(originalName) && server.isAvailable()) {
+					servers.remove(originalName);
+					servers.put(server.getLocationName(), server);
+					store();
+					fireListeners(server, SERVER_STATE_CHANGED);
+				}
+				
+				return org.eclipse.core.runtime.Status.OK_STATUS;
+			}};
+		
+		job.setPriority(Job.LONG);
+		job.setUser(true);
+		job.schedule();
 	}
 }


[3/6] git commit: HDT-53: prompt user for hadoop perspective on adding zookeeper server/hadoop server

Posted by rs...@apache.org.
HDT-53: prompt user for hadoop perspective on adding zookeeper server/hadoop server


Project: http://git-wip-us.apache.org/repos/asf/incubator-hdt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hdt/commit/ec415a98
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hdt/tree/ec415a98
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hdt/diff/ec415a98

Branch: refs/heads/hadoop-eclipse-merge-development
Commit: ec415a9809821a077ec0ed48d0dca45a7817d48a
Parents: 4514771
Author: Rahul Sharma <rs...@apache.org>
Authored: Thu May 15 14:51:02 2014 +0530
Committer: Rahul Sharma <rs...@apache.org>
Committed: Fri May 23 08:46:13 2014 +0530

----------------------------------------------------------------------
 .../hdt/ui/internal/hdfs/NewHDFSWizard.java     | 22 ++++++++++++++++--
 .../internal/zookeeper/NewZooKeeperWizard.java  | 24 +++++++++++++++++++-
 2 files changed, 43 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/ec415a98/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
index 4cd40de..9b0706c 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/hdfs/NewHDFSWizard.java
@@ -20,17 +20,23 @@ package org.apache.hdt.ui.internal.hdfs;
 import org.apache.hdt.core.internal.hdfs.HDFSManager;
 import org.apache.hdt.ui.Activator;
 import org.apache.log4j.Logger;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExecutableExtension;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
 
-public class NewHDFSWizard extends Wizard implements INewWizard {
+public class NewHDFSWizard extends Wizard implements INewWizard,IExecutableExtension {
 
 	private static Logger logger = Logger.getLogger(NewHDFSWizard.class);
 	private NewHDFSServerWizardPage serverLocationWizardPage = null;
+	private IConfigurationElement configElement;
 
 	public NewHDFSWizard() {
 		// TODO Auto-generated constructor stub
@@ -56,6 +62,11 @@ public class NewHDFSWizard extends Wizard implements INewWizard {
 
 	@Override
 	public boolean performFinish() {
+		Display.getDefault().syncExec(new Runnable() {
+			public void run() {
+				BasicNewProjectResourceWizard.updatePerspective(configElement);
+			}
+		});
 		if (serverLocationWizardPage != null) {
 			String ambariUrl = serverLocationWizardPage.getHdfsServerLocation();
 			if (ambariUrl != null) {
@@ -79,7 +90,14 @@ public class NewHDFSWizard extends Wizard implements INewWizard {
 		}
 		return false;
 	}
-
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData
+	 * (org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
+	 */
+	@Override
+	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
+		this.configElement=config;
+	}
 	
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/ec415a98/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
index 405773a..60e740b 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
@@ -19,18 +19,26 @@ package org.apache.hdt.ui.internal.zookeeper;
 
 import org.apache.hdt.core.internal.zookeeper.ZooKeeperManager;
 import org.apache.hdt.ui.Activator;
+import org.apache.hdt.ui.internal.launch.HadoopLocationWizard;
+import org.apache.hdt.ui.internal.launch.ServerRegistry;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExecutableExtension;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
 
-public class NewZooKeeperWizard extends Wizard implements INewWizard {
+public class NewZooKeeperWizard extends Wizard implements INewWizard,IExecutableExtension {
 
 	//private static Logger logger = Logger.getLogger(NewZooKeeperWizard.class);
 	private NewZooKeeperServerWizardPage serverLocationWizardPage = null;
+	private IConfigurationElement configElement;
 
 	public NewZooKeeperWizard() {
 	}
@@ -55,6 +63,11 @@ public class NewZooKeeperWizard extends Wizard implements INewWizard {
 
 	@Override
 	public boolean performFinish() {
+		Display.getDefault().syncExec(new Runnable() {
+			public void run() {
+				BasicNewProjectResourceWizard.updatePerspective(configElement);
+			}
+		});
 		if (serverLocationWizardPage != null) {
 			String ambariUrl = serverLocationWizardPage.getZkServerLocation();
 			if (ambariUrl != null) {
@@ -78,4 +91,13 @@ public class NewZooKeeperWizard extends Wizard implements INewWizard {
 		return false;
 	}
 
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData
+	 * (org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
+	 */
+	@Override
+	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
+		this.configElement=config;
+	}
+
 }


[6/6] git commit: HDT-56 : server.xmi is shared - Making server.xmi in workspace location rather bundle loc - Useing HDFS manager delete when HDFS server is deleted

Posted by rs...@apache.org.
HDT-56 : server.xmi is shared - Making server.xmi in workspace location rather bundle loc - Useing HDFS manager delete when HDFS server is deleted


Project: http://git-wip-us.apache.org/repos/asf/incubator-hdt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hdt/commit/a7a89f49
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hdt/tree/a7a89f49
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hdt/diff/a7a89f49

Branch: refs/heads/hadoop-eclipse-merge-development
Commit: a7a89f4961f477b1c4a519e1e9741954368b6f15
Parents: 0835540
Author: Rahul Sharma <rs...@apache.org>
Authored: Fri May 16 09:56:07 2014 +0530
Committer: Rahul Sharma <rs...@apache.org>
Committed: Fri May 23 08:48:28 2014 +0530

----------------------------------------------------------------------
 .../src/org/apache/hdt/core/internal/HadoopManager.java        | 6 ++++--
 .../org/apache/hdt/core/internal/hdfs/HDFSMoveDeleteHook.java  | 3 +++
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/a7a89f49/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java b/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java
index 937b171..125c9a2 100644
--- a/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/internal/HadoopManager.java
@@ -53,7 +53,8 @@ public class HadoopManager {
 			loadServers();
 			if (servers == null) {
 				Bundle bundle = Platform.getBundle(Activator.BUNDLE_ID);
-				File serversFile = bundle.getBundleContext().getDataFile(MODEL_FILE_NAME);
+				File stateLocation = Platform.getStateLocation(bundle).toFile();
+				File serversFile = new File(stateLocation,MODEL_FILE_NAME);
 				Resource resource = new ResourceSetImpl().createResource(URI.createFileURI(serversFile.getPath()));
 				servers = HadoopFactory.eINSTANCE.createServers();
 				resource.getContents().add(servers);
@@ -64,7 +65,8 @@ public class HadoopManager {
 
 	private void loadServers() {
 		Bundle bundle = Platform.getBundle(Activator.BUNDLE_ID);
-		File serversFile = bundle.getBundleContext().getDataFile(MODEL_FILE_NAME);
+		File stateLocation = Platform.getStateLocation(bundle).toFile();
+		File serversFile = new File(stateLocation,MODEL_FILE_NAME);
 		if (serversFile.exists()) {
 			Resource resource = new ResourceSetImpl().getResource(URI.createFileURI(serversFile.getPath()), true);
 			servers = (Servers) resource.getContents().get(0);

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/a7a89f49/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSMoveDeleteHook.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSMoveDeleteHook.java b/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSMoveDeleteHook.java
index 0ca0df4..f4fb099 100644
--- a/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSMoveDeleteHook.java
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/internal/hdfs/HDFSMoveDeleteHook.java
@@ -18,6 +18,7 @@
 
 package org.apache.hdt.core.internal.hdfs;
 
+import org.apache.hdt.core.internal.model.HDFSServer;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
@@ -77,6 +78,8 @@ public class HDFSMoveDeleteHook implements IMoveDeleteHook {
 				throw new RuntimeException(
 						"Deletion of HDFS project root folder is not supported. To remove project uncheck the \'Delete project contents on disk\' checkbox");
 			}
+			HDFSServer server = HDFSManager.INSTANCE.getServer(project.getLocationURI().toString());
+			HDFSManager.INSTANCE.deleteServer(server);
 		}
 		return false;
 	}


[4/6] git commit: HDT-54: Adding a CLusterView Wizard.

Posted by rs...@apache.org.
HDT-54: Adding a CLusterView Wizard.


Project: http://git-wip-us.apache.org/repos/asf/incubator-hdt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hdt/commit/092213c1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hdt/tree/092213c1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hdt/diff/092213c1

Branch: refs/heads/hadoop-eclipse-merge-development
Commit: 092213c1981376f3bca05522b4e0f56669d5c606
Parents: ec415a9
Author: Rahul Sharma <rs...@apache.org>
Authored: Thu May 15 15:30:46 2014 +0530
Committer: Rahul Sharma <rs...@apache.org>
Committed: Fri May 23 08:46:47 2014 +0530

----------------------------------------------------------------------
 org.apache.hdt.ui/plugin.xml                    |  8 +++
 .../hdt/ui/internal/mr/NewLocationWizard.java   | 75 ++++++++++++++++++++
 2 files changed, 83 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/092213c1/org.apache.hdt.ui/plugin.xml
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/plugin.xml b/org.apache.hdt.ui/plugin.xml
index af68ffa..7bc1a36 100644
--- a/org.apache.hdt.ui/plugin.xml
+++ b/org.apache.hdt.ui/plugin.xml
@@ -186,6 +186,14 @@
             id="org.apache.hdt.ui.wizard.newZooKeeperServer"
             name="New ZooKeeper Server">
       </wizard>
+      <wizard
+            category="org.apache.hdt.ui.newWizards.category"
+            class="org.apache.hdt.ui.internal.mr.NewLocationWizard"
+            finalPerspective="org.apache.hdt.ui.perspective"
+            icon="icons/location-new-16x16.png"
+            id="org.apache.hdt.ui.wizard.newMRCluster"
+            name="New MR Cluster">
+      </wizard>
       <wizard category="org.apache.hdt.ui.newWizards.category"
             class="org.apache.hdt.ui.internal.mr.NewMapperWizard"
             icon="icons/mapper16.png"

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/092213c1/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/NewLocationWizard.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/NewLocationWizard.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/NewLocationWizard.java
new file mode 100644
index 0000000..ee4e399
--- /dev/null
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/NewLocationWizard.java
@@ -0,0 +1,75 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hdt.ui.internal.mr;
+
+import org.apache.hdt.core.launch.AbstractHadoopCluster;
+import org.apache.hdt.ui.internal.launch.HadoopLocationWizard;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExecutableExtension;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
+
+public class NewLocationWizard extends Wizard implements INewWizard,IExecutableExtension{
+	
+	private HadoopLocationWizard serverLocationWizardPage;
+	private IConfigurationElement configElement;
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
+	 */
+	@Override
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		// TODO Auto-generated method stub
+		
+	}
+	@Override
+	public void addPages() {
+		super.addPages();
+		if (serverLocationWizardPage == null) {
+			serverLocationWizardPage = new HadoopLocationWizard();
+		}
+		addPage(serverLocationWizardPage);
+	}
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
+	 */
+	@Override
+	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
+		this.configElement=config;
+     }
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
+	 */
+	@Override
+	public boolean performFinish() {
+		Display.getDefault().syncExec(new Runnable() {
+			public void run() {
+				BasicNewProjectResourceWizard.updatePerspective(configElement);
+			}
+		});
+		AbstractHadoopCluster cluster = serverLocationWizardPage.performFinish();
+		return cluster!=null;
+	}
+	
+}
\ No newline at end of file


[2/6] git commit: - HDT-52 : changing menu of ClusterView - shows three options for MR cluster - shows delete option for MR job

Posted by rs...@apache.org.
- HDT-52 : changing menu of ClusterView - shows three options for MR cluster - shows delete option for MR job


Project: http://git-wip-us.apache.org/repos/asf/incubator-hdt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hdt/commit/45147711
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hdt/tree/45147711
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hdt/diff/45147711

Branch: refs/heads/hadoop-eclipse-merge-development
Commit: 45147711746b3189de4ef32fba8f3952c55b3353
Parents: 00646ae
Author: Rahul Sharma <rs...@apache.org>
Authored: Wed May 14 14:34:59 2014 +0530
Committer: Rahul Sharma <rs...@apache.org>
Committed: Fri May 23 08:45:39 2014 +0530

----------------------------------------------------------------------
 .../apache/hdt/ui/internal/mr/ClusterView.java  | 53 ++++----------------
 1 file changed, 9 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/45147711/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/ClusterView.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/ClusterView.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/ClusterView.java
index 9952904..7ac0582 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/ClusterView.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/mr/ClusterView.java
@@ -176,45 +176,9 @@ public class ClusterView extends ViewPart implements ITreeContentProvider, ITabl
 		getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(), deleteAction);
 		getViewSite().getActionBars().getToolBarManager().add(editServerAction);
 		getViewSite().getActionBars().getToolBarManager().add(newLocationAction);
-
-		createActions();
 		createContextMenu();
 	}
 
-	/**
-	 * Actions
-	 */
-	private void createActions() {
-		/*
-		 * addItemAction = new Action("Add...") { public void run() { addItem();
-		 * } }; addItemAction.setImageDescriptor(ImageLibrary
-		 * .get("server.view.location.new"));
-		 */
-		/*
-		 * deleteItemAction = new Action("Delete") { public void run() {
-		 * deleteItem(); } };
-		 * deleteItemAction.setImageDescriptor(getImageDescriptor
-		 * ("delete.gif"));
-		 * 
-		 * selectAllAction = new Action("Select All") { public void run() {
-		 * selectAll(); } };
-		 */
-		// Add selection listener.
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateActionEnablement();
-			}
-		});
-	}
-
-	private void addItem() {
-		System.out.printf("ADD ITEM\n");
-	}
-
-	private void updateActionEnablement() {
-		IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
-		// deleteItemAction.setEnabled(sel.size() > 0);
-	}
 
 	/**
 	 * Contextual menu
@@ -238,14 +202,15 @@ public class ClusterView extends ViewPart implements ITreeContentProvider, ITabl
 	}
 
 	private void fillContextMenu(IMenuManager mgr) {
-		mgr.add(newLocationAction);
-		mgr.add(editServerAction);
-		mgr.add(deleteAction);
-		/*
-		 * mgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		 * mgr.add(deleteItemAction); mgr.add(new Separator());
-		 * mgr.add(selectAllAction);
-		 */
+		IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
+		Object firstElement = sel.getFirstElement();
+		if(firstElement instanceof IHadoopJob){
+			mgr.add(deleteAction);
+		}else{
+			mgr.add(newLocationAction);
+			mgr.add(editServerAction);
+			mgr.add(deleteAction);
+		}
 	}
 
 	/* @inheritDoc */


[5/6] git commit: HDT-55 - Adding Error Handling to ZooKeeper Actions - Modified actions to log error and show Error dialog - Do not add ZooKeeper if error in connection

Posted by rs...@apache.org.
HDT-55 - Adding Error Handling to ZooKeeper Actions - Modified actions to log error and show Error dialog - Do not add ZooKeeper if error in connection


Project: http://git-wip-us.apache.org/repos/asf/incubator-hdt/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hdt/commit/08355408
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hdt/tree/08355408
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hdt/diff/08355408

Branch: refs/heads/hadoop-eclipse-merge-development
Commit: 08355408b16dd99f5bbba84a750b4f29b4f497e5
Parents: 092213c
Author: Rahul Sharma <rs...@apache.org>
Authored: Fri May 16 12:02:08 2014 +0530
Committer: Rahul Sharma <rs...@apache.org>
Committed: Fri May 23 08:47:33 2014 +0530

----------------------------------------------------------------------
 .../zookeeper/InterruptableZooKeeperClient.java |  5 +-
 .../internal/zookeeper/ZooKeeperManager.java    | 47 +++++-----
 .../hdt/ui/internal/zookeeper/DeleteAction.java | 91 +++++++++++---------
 .../ui/internal/zookeeper/DisconnectAction.java | 52 +++++++----
 .../internal/zookeeper/NewZooKeeperWizard.java  | 12 ++-
 .../ui/internal/zookeeper/ReconnectAction.java  | 54 ++++++++----
 .../ZooKeeperCommonContentProvider.java         | 10 +--
 7 files changed, 164 insertions(+), 107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/08355408/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/InterruptableZooKeeperClient.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/InterruptableZooKeeperClient.java b/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/InterruptableZooKeeperClient.java
index 133b9dd..38c5664 100644
--- a/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/InterruptableZooKeeperClient.java
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/InterruptableZooKeeperClient.java
@@ -93,7 +93,10 @@ public class InterruptableZooKeeperClient extends ZooKeeperClient {
 			// Tell HDFS manager that the server timed out
 			if (logger.isDebugEnabled())
 				logger.debug("executeWithTimeout(): Server timed out: " + server);
-			ZooKeeperManager.INSTANCE.disconnect(server);
+			try {
+			  ZooKeeperManager.INSTANCE.disconnect(server);
+			} catch (Throwable t) {
+			}
 			throw new InterruptedException();
 		}
 		if (data.size() > 0)

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/08355408/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/ZooKeeperManager.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/ZooKeeperManager.java b/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/ZooKeeperManager.java
index 4c36259..87b5cd5 100644
--- a/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/ZooKeeperManager.java
+++ b/org.apache.hdt.core/src/org/apache/hdt/core/internal/zookeeper/ZooKeeperManager.java
@@ -35,6 +35,8 @@ import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.common.util.EList;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Display;
 
 /**
  * @author Srimanth Gunturi
@@ -62,11 +64,20 @@ public class ZooKeeperManager {
 	/**
 	 * @param zkServerName
 	 * @param uri
+	 * @throws CoreException 
+	 * @throws InterruptedException 
+	 * @throws IOException 
 	 */
-	public ZooKeeperServer createServer(String zkServerName, String zkServerLocation) {
+	public ZooKeeperServer createServer(String zkServerName, String zkServerLocation) throws  CoreException {
 		ZooKeeperServer zkServer = HadoopFactory.eINSTANCE.createZooKeeperServer();
 		zkServer.setName(zkServerName);
 		zkServer.setUri(zkServerLocation);
+		try {
+			ZooKeeperManager.INSTANCE.getClient(zkServer).connect();
+		} catch (Exception e) {
+			logger.error("Error getting children of node", e);
+			throw new CoreException(new Status(Status.ERROR, Activator.BUNDLE_ID, "Error in creating server",e));
+		}
 		getServers().add(zkServer);
 		HadoopManager.INSTANCE.saveServers();
 		return zkServer;
@@ -74,22 +85,18 @@ public class ZooKeeperManager {
 
 	/**
 	 * @param r
+	 * @throws CoreException 
 	 */
-	public void disconnect(ZooKeeperServer server) {
+	public void disconnect(ZooKeeperServer server) throws CoreException {
 		try {
 			if (ServerStatus.DISCONNECTED_VALUE != server.getStatusCode()) {
 				getClient(server).disconnect();
 				server.setStatusCode(ServerStatus.DISCONNECTED_VALUE);
 			}
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+		} catch (Exception e) {
+			logger.error("Error in disconnet", e);
+			throw new CoreException(new Status(IStatus.ERROR, Activator.BUNDLE_ID,
+					"Unable to disconnect.",e));
 		}
 	}
 
@@ -97,8 +104,9 @@ public class ZooKeeperManager {
 	 * Provides a ZooKeeper instance using plugin extensions.
 	 * 
 	 * @param r
+	 * @throws CoreException 
 	 */
-	public void reconnect(ZooKeeperServer server) {
+	public void reconnect(ZooKeeperServer server) throws CoreException {
 		try {
 			if (logger.isDebugEnabled())
 				logger.debug("reconnect(): Reconnecting: " + server);
@@ -111,18 +119,11 @@ public class ZooKeeperManager {
 			}
 			if (logger.isDebugEnabled())
 				logger.debug("reconnect(): Reconnected: " + server);
-		} catch (IOException e) {
-			server.setStatusCode(ServerStatus.DISCONNECTED_VALUE);
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			server.setStatusCode(ServerStatus.DISCONNECTED_VALUE);
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (CoreException e) {
+		} catch (Exception e) {
 			server.setStatusCode(ServerStatus.DISCONNECTED_VALUE);
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			logger.error("Error in disconnet", e);
+			throw new CoreException(new Status(IStatus.ERROR, Activator.BUNDLE_ID,
+					"Unable to reconnect.",e));
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/08355408/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DeleteAction.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DeleteAction.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DeleteAction.java
index 599c011..0147b6b 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DeleteAction.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DeleteAction.java
@@ -18,7 +18,6 @@
  */
 package org.apache.hdt.ui.internal.zookeeper;
 
-import java.io.IOException;
 import java.util.Iterator;
 
 import org.apache.hdt.core.internal.model.ZNode;
@@ -27,9 +26,12 @@ import org.apache.hdt.core.internal.zookeeper.ZooKeeperManager;
 import org.apache.hdt.core.zookeeper.ZooKeeperClient;
 import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IObjectActionDelegate;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.navigator.resources.ProjectExplorer;
@@ -39,7 +41,12 @@ public class DeleteAction implements IObjectActionDelegate {
 	private final static Logger logger = Logger.getLogger(DeleteAction.class);
 	private ISelection selection;
 	private IWorkbenchPart targetPart;
-
+	
+	
+	private void showError(String message) {
+		MessageDialog.openError(Display.getDefault().getActiveShell(), 
+				"ZooKeeper Delete Error", message);
+	}
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -47,48 +54,54 @@ public class DeleteAction implements IObjectActionDelegate {
 	 */
 	@Override
 	public void run(IAction action) {
-		if (this.selection != null && !this.selection.isEmpty()) {
-			IStructuredSelection sSelection = (IStructuredSelection) this.selection;
-			@SuppressWarnings("rawtypes")
-			Iterator itr = sSelection.iterator();
-			while (itr.hasNext()) {
-				Object object = itr.next();
-				if (object instanceof ZooKeeperServer) {
-					ZooKeeperServer r = (ZooKeeperServer) object;
-					if (logger.isDebugEnabled())
-						logger.debug("Deleting: " + r);
-					try {
-						ZooKeeperManager.INSTANCE.disconnect(r);
-					} finally {
+		Display.getDefault().syncExec(new Runnable() {
+			@Override
+			public void run() {
+				if (selection != null && !selection.isEmpty()) {
+				IStructuredSelection sSelection = (IStructuredSelection) selection;
+				@SuppressWarnings("rawtypes")
+				Iterator itr = sSelection.iterator();
+				while (itr.hasNext()) {
+					Object object = itr.next();
+					if (object instanceof ZooKeeperServer) {
+						ZooKeeperServer r = (ZooKeeperServer) object;
+						if (logger.isDebugEnabled())
+							logger.debug("Deleting: " + r);
 						try {
-							ZooKeeperManager.INSTANCE.delete(r);
+							ZooKeeperManager.INSTANCE.disconnect(r);
 						} catch (CoreException e) {
-							logger.error(e.getMessage());
+							logger.error("Error occurred ", e);
+						} finally {
+							 try {
+								ZooKeeperManager.INSTANCE.delete(r);
+							} catch (CoreException e) {
+								logger.error("Error occurred ", e);
+								IStatus status = e.getStatus();
+								showError(status.getException().getMessage());
+							}
+						}
+						if (logger.isDebugEnabled())
+							logger.debug("Deleted: " + r);
+						if (targetPart instanceof ProjectExplorer) {
+							ProjectExplorer pe = (ProjectExplorer) targetPart;
+							pe.getCommonViewer().refresh();
+						}
+					} else if (object instanceof ZNode) {
+						ZNode zkn = (ZNode) object;
+						if (logger.isDebugEnabled())
+							logger.debug("Deleting: " + zkn);
+						try {
+							ZooKeeperClient client = ZooKeeperManager.INSTANCE.getClient(zkn.getServer());
+							client.delete(zkn);
+						} catch (Exception e) {
+							logger.error("Error occurred ", e);
+							showError(e.getMessage());
 						}
-					}
-					if (logger.isDebugEnabled())
-						logger.debug("Deleted: " + r);
-					if (targetPart instanceof ProjectExplorer) {
-						ProjectExplorer pe = (ProjectExplorer) targetPart;
-						pe.getCommonViewer().refresh();
-					}
-				} else if (object instanceof ZNode) {
-					ZNode zkn = (ZNode) object;
-					if (logger.isDebugEnabled())
-						logger.debug("Deleting: " + zkn);
-					try {
-						ZooKeeperClient client = ZooKeeperManager.INSTANCE.getClient(zkn.getServer());
-						client.delete(zkn);
-					} catch (CoreException e) {
-						logger.error(e.getMessage(), e);
-					} catch (IOException e) {
-						logger.error(e.getMessage(), e);
-					} catch (InterruptedException e) {
-						logger.error(e.getMessage(), e);
 					}
 				}
-			}
-		}
+			}}
+		});
+		
 	}
 
 	/*

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/08355408/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DisconnectAction.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DisconnectAction.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DisconnectAction.java
index d335c79..af293c5 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DisconnectAction.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/DisconnectAction.java
@@ -24,9 +24,12 @@ import org.apache.hdt.core.internal.model.ServerStatus;
 import org.apache.hdt.core.internal.model.ZooKeeperServer;
 import org.apache.hdt.core.internal.zookeeper.ZooKeeperManager;
 import org.apache.log4j.Logger;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IObjectActionDelegate;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.navigator.resources.ProjectExplorer;
@@ -37,6 +40,10 @@ public class DisconnectAction implements IObjectActionDelegate {
 	private ISelection selection;
 	private IWorkbenchPart targetPart;
 
+	private void showError(String message) {
+		MessageDialog.openError(Display.getDefault().getActiveShell(), 
+				"ZooKeeper Disconnect Error",message);
+	}
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -44,26 +51,33 @@ public class DisconnectAction implements IObjectActionDelegate {
 	 */
 	@Override
 	public void run(IAction action) {
-		if (this.selection != null && !this.selection.isEmpty()) {
-			IStructuredSelection sSelection = (IStructuredSelection) this.selection;
-			@SuppressWarnings("rawtypes")
-			Iterator itr = sSelection.iterator();
-			while (itr.hasNext()) {
-				Object object = itr.next();
-				if (object instanceof ZooKeeperServer) {
-					ZooKeeperServer r = (ZooKeeperServer) object;
-					if(logger.isDebugEnabled())
-						logger.debug("Disconnecting: "+r);
-					ZooKeeperManager.INSTANCE.disconnect(r);
-					if(logger.isDebugEnabled())
-						logger.debug("Disconnected: "+r);
-					if (targetPart instanceof ProjectExplorer) {
-						ProjectExplorer pe = (ProjectExplorer) targetPart;
-						pe.getCommonViewer().refresh(r, true);
+		Display.getDefault().syncExec(new Runnable() {
+			@Override
+			public void run() {
+			if (selection != null && !selection.isEmpty()) {
+				IStructuredSelection sSelection = (IStructuredSelection) selection;
+				@SuppressWarnings("rawtypes")
+				Iterator itr = sSelection.iterator();
+				while (itr.hasNext()) {
+					Object object = itr.next();
+					if (object instanceof ZooKeeperServer) {
+						ZooKeeperServer r = (ZooKeeperServer) object;
+						if(logger.isDebugEnabled())
+							logger.debug("Disconnecting: "+r);
+						try {
+							ZooKeeperManager.INSTANCE.disconnect(r);
+						} catch (CoreException e) {
+							logger.error("Error occurred ", e);
+							showError(e.getStatus().getException().getMessage());
+						}
+						if(logger.isDebugEnabled())
+							logger.debug("Disconnected: "+r);
+						if (targetPart instanceof ProjectExplorer) {
+							ProjectExplorer pe = (ProjectExplorer) targetPart;
+							pe.getCommonViewer().refresh(r, true);
+						}
 					}
-				}
-			}
-		}
+				}}}});
 	}
 
 	/*

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/08355408/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
index 60e740b..9a8e7c0 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/NewZooKeeperWizard.java
@@ -24,8 +24,10 @@ import org.apache.hdt.ui.internal.launch.ServerRegistry;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExecutableExtension;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
@@ -80,7 +82,15 @@ public class NewZooKeeperWizard extends Wizard implements INewWizard,IExecutable
 
 				Job j = new Job("Creating ZooKeeper project [" + serverLocationWizardPage.getZkServerName() + "]") {
 					protected org.eclipse.core.runtime.IStatus run(org.eclipse.core.runtime.IProgressMonitor monitor) {
-						ZooKeeperManager.INSTANCE.createServer(serverLocationWizardPage.getZkServerName(), serverLocationWizardPage.getZkServerLocation());
+						try {
+							ZooKeeperManager.INSTANCE.createServer(serverLocationWizardPage.getZkServerName(), serverLocationWizardPage.getZkServerLocation());
+						} catch (final CoreException e) {
+							Display.getDefault().syncExec(new Runnable(){
+								public void run(){
+								IStatus status = e.getStatus();
+								MessageDialog.openError(Display.getDefault().getActiveShell(), 
+									"ZooKeeper Error", status.getMessage()+" "+status.getException().getMessage());}});
+						}
 						return Status.OK_STATUS;
 					};
 				};

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/08355408/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ReconnectAction.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ReconnectAction.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ReconnectAction.java
index 17d228c..e5905bc 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ReconnectAction.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ReconnectAction.java
@@ -24,9 +24,13 @@ import org.apache.hdt.core.internal.model.ServerStatus;
 import org.apache.hdt.core.internal.model.ZooKeeperServer;
 import org.apache.hdt.core.internal.zookeeper.ZooKeeperManager;
 import org.apache.log4j.Logger;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IObjectActionDelegate;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.navigator.resources.ProjectExplorer;
@@ -37,6 +41,10 @@ public class ReconnectAction implements IObjectActionDelegate {
 	private ISelection selection;
 	private IWorkbenchPart targetPart;
 
+	private void showError(String message) {
+		MessageDialog.openError(Display.getDefault().getActiveShell(), 
+				"ZooKeeper Re-connect Error", message);
+	}
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -44,26 +52,34 @@ public class ReconnectAction implements IObjectActionDelegate {
 	 */
 	@Override
 	public void run(IAction action) {
-		if (this.selection != null && !this.selection.isEmpty()) {
-			IStructuredSelection sSelection = (IStructuredSelection) this.selection;
-			@SuppressWarnings("rawtypes")
-			Iterator itr = sSelection.iterator();
-			while (itr.hasNext()) {
-				Object object = itr.next();
-				if (object instanceof ZooKeeperServer) {
-					ZooKeeperServer r = (ZooKeeperServer) object;
-					if(logger.isDebugEnabled())
-						logger.debug("Reconnecting: "+r);
-					ZooKeeperManager.INSTANCE.reconnect(r);
-					if(logger.isDebugEnabled())
-						logger.debug("Reconnected: "+r);
-					if (targetPart instanceof ProjectExplorer) {
-						ProjectExplorer pe = (ProjectExplorer) targetPart;
-						pe.getCommonViewer().refresh(r, true);
+		Display.getDefault().syncExec(new Runnable() {
+			@Override
+			public void run() {
+			if (selection != null && !selection.isEmpty()) {
+				IStructuredSelection sSelection = (IStructuredSelection) selection;
+				@SuppressWarnings("rawtypes")
+				Iterator itr = sSelection.iterator();
+				while (itr.hasNext()) {
+					Object object = itr.next();
+					if (object instanceof ZooKeeperServer) {
+						ZooKeeperServer r = (ZooKeeperServer) object;
+						if(logger.isDebugEnabled())
+							logger.debug("Reconnecting: "+r);
+						try {
+							ZooKeeperManager.INSTANCE.reconnect(r);
+						} catch (CoreException e) {
+							logger.error("Error occurred ", e);
+							IStatus status = e.getStatus();
+							showError(status.getException().getMessage());
+						}
+						if(logger.isDebugEnabled())
+							logger.debug("Reconnected: "+r);
+						if (targetPart instanceof ProjectExplorer) {
+							ProjectExplorer pe = (ProjectExplorer) targetPart;
+							pe.getCommonViewer().refresh(r, true);
+						}
 					}
-				}
-			}
-		}
+				}}}});
 	}
 
 	/*

http://git-wip-us.apache.org/repos/asf/incubator-hdt/blob/08355408/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ZooKeeperCommonContentProvider.java
----------------------------------------------------------------------
diff --git a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ZooKeeperCommonContentProvider.java b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ZooKeeperCommonContentProvider.java
index 1579846..0c816e3 100644
--- a/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ZooKeeperCommonContentProvider.java
+++ b/org.apache.hdt.ui/src/org/apache/hdt/ui/internal/zookeeper/ZooKeeperCommonContentProvider.java
@@ -32,6 +32,7 @@ import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IMemento;
@@ -91,12 +92,11 @@ public class ZooKeeperCommonContentProvider implements ICommonContentProvider {
 				ZooKeeperClient client = ZooKeeperManager.INSTANCE.getClient(zkn.getServer());
 				List<ZNode> zkChildren = client.getChildren(zkn);
 				return zkChildren.toArray();
-			} catch (CoreException e) {
-				logger.error("Error getting children of node", e);
-			} catch (IOException e) {
-				logger.error("Error getting children of node", e);
-			} catch (InterruptedException e) {
+			} catch (Exception e) {
 				logger.error("Error getting children of node", e);
+				MessageDialog.openError(Display.getDefault().getActiveShell(), 
+						"ZooKeeper Error",e.getMessage());
+			
 			}
 		}
 		return null;