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;