[jbosstools-commits] JBoss Tools SVN: r43199 - in trunk/maven/plugins/org.jboss.tools.maven.conversion.ui: src/org/jboss/tools/maven/conversion/ui/dialog and 1 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Aug 23 12:39:35 EDT 2012


Author: fbricon
Date: 2012-08-23 12:39:35 -0400 (Thu, 23 Aug 2012)
New Revision: 43199

Added:
   trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/CellListener.java
Modified:
   trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/plugin.xml
   trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java
   trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/ClasspathConversionParticipant.java
Log:
JBIDE-8973 : don't display wizard if there are no jar dependencies

Modified: trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/plugin.xml
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/plugin.xml	2012-08-23 15:33:04 UTC (rev 43198)
+++ trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/plugin.xml	2012-08-23 16:39:35 UTC (rev 43199)
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.5"?>
 <plugin>
+<!--
    <extension point="org.eclipse.ui.commands">
       <command
             id="org.jboss.tools.maven.conversion.ui.commands.convertToMavenDependencies"
@@ -32,8 +33,8 @@
 	</command>
       </menuContribution>
    </extension>
+-->
 
-
    <extension
          point="org.eclipse.m2e.core.projectConversionParticipants">
       <projectConversionParticipant

Modified: trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java	2012-08-23 15:33:04 UTC (rev 43198)
+++ trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/dialog/IdentifyMavenDependencyPage.java	2012-08-23 16:39:35 UTC (rev 43199)
@@ -17,6 +17,7 @@
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
 import org.apache.maven.model.Dependency;
@@ -54,6 +55,7 @@
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.TableItem;
 import org.jboss.tools.maven.conversion.ui.handlers.IdentifyJarJob;
+import org.jboss.tools.maven.conversion.ui.internal.CellListener;
 import org.jboss.tools.maven.conversion.ui.internal.MavenDependencyConversionActivator;
 import org.jboss.tools.maven.sourcelookup.identification.IFileIdentificationManager;
 import org.jboss.tools.maven.sourcelookup.identification.IdentificationUtil;
@@ -244,10 +246,27 @@
 		dependenciesViewer.setInput(dependencyMap.entrySet());
 		dependenciesViewer.setAllChecked(true);
 
+		dependenciesViewer.getTable().addListener(SWT.MouseDoubleClick, new CellListener(dependenciesViewer.getTable()) {
+			
+			@Override
+			protected void handle(int columnIndex, TableItem item) {
+				if (columnIndex == DEPENDENCY_COLUMN) {
+					Entry<IClasspathEntry, Dependency> entry = (Map.Entry<IClasspathEntry, Dependency>) item.getData();
+					Dependency d= entry.getValue();
+					EditDependencyDialog editDependencyDialog = new EditDependencyDialog(getShell());
+					editDependencyDialog.setDependency(d);
+					if(editDependencyDialog.open() == Window.OK) {
+						entry.setValue(editDependencyDialog.getDependency());
+					}
+				}
+			}
+		});
+		
+		
 		addSelectionButton(container, "Select All", true);
 		addSelectionButton(container, "Deselect All", false);
-		addIdentifyButton(container, "Identify dependencies");
-		//addResetButton(container, "Reset");
+		//addIdentifyButton(container, "Identify dependencies");
+		addResetButton(container, "Reset");
 
 		addCellEditors();
 	}
@@ -302,13 +321,7 @@
 			super(parent);
 	    }
 		
-	    protected Button createButton(Composite parent) {
-	        Button result = new Button(parent, SWT.DOWN);
-	        result.setText("Edit..."); //$NON-NLS-1$
-	        return result;
-	    }
-		
-		@Override
+	    @Override
 		protected Object openDialogBox(Control cellEditorWindow) {
 			Table table = (Table)cellEditorWindow.getParent(); 
 			int idx = table.getSelectionIndex();
@@ -493,7 +506,10 @@
 		List<Dependency> dependencies = new ArrayList<Dependency>(selection.length);
 		for (Object o : selection) {
 			Map.Entry<IClasspathEntry, Dependency> entry = (Map.Entry<IClasspathEntry, Dependency>) o;
-			dependencies.add(entry.getValue());
+			Dependency d = entry.getValue();
+			if (d != null) {
+				dependencies.add(d);
+			}
 		}
 		return dependencies;
 	}

Added: trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/CellListener.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/CellListener.java	                        (rev 0)
+++ trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/CellListener.java	2012-08-23 16:39:35 UTC (rev 43199)
@@ -0,0 +1,40 @@
+package org.jboss.tools.maven.conversion.ui.internal;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableItem;
+
+public abstract class CellListener implements Listener {
+
+	protected Table table;
+	
+	public CellListener(Table table) {
+		Assert.isNotNull(table);
+		this.table = table;
+	}
+	
+	@Override
+	public void handleEvent(Event event) {
+		Point pt = new Point(event.x, event.y);
+		TableItem item = table.getItem(pt);
+		if (item == null)
+			return;
+		
+		int columnCount = table.getColumnCount();
+		
+		for (int i = 0; i < columnCount; i++) {
+			Rectangle rect = item.getBounds(i);
+			if (rect.contains(pt)) {
+				int index = table.indexOf(item);
+				handle(index, item);
+			}
+		}
+	}
+
+	abstract protected void handle(int columnIndex, TableItem item);
+
+}

Modified: trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/ClasspathConversionParticipant.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/ClasspathConversionParticipant.java	2012-08-23 15:33:04 UTC (rev 43198)
+++ trunk/maven/plugins/org.jboss.tools.maven.conversion.ui/src/org/jboss/tools/maven/conversion/ui/internal/ClasspathConversionParticipant.java	2012-08-23 16:39:35 UTC (rev 43199)
@@ -1,5 +1,6 @@
 package org.jboss.tools.maven.conversion.ui.internal;
 
+import java.util.Collection;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -9,9 +10,11 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.core.IClasspathContainer;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jface.window.Window;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.m2e.core.project.conversion.AbstractProjectConversionParticipant;
@@ -34,6 +37,7 @@
 			throws CoreException {
 
 		if (accept(project)) {
+			
 			IJavaProject javaProject = JavaCore.create(project);
 			IClasspathEntry[] classpath = javaProject.getRawClasspath();
 			Set<IClasspathEntry> entries = new LinkedHashSet<IClasspathEntry>(classpath.length);
@@ -43,7 +47,7 @@
 				}
 			}
 			
-			if (entries.isEmpty()) {
+			if (!hasDependencies(javaProject, entries)) {
 				return;
 			}
 			
@@ -66,6 +70,24 @@
 		}
 	}
 
+	private boolean hasDependencies(IJavaProject javaProject, Collection<IClasspathEntry> initialEntries) throws JavaModelException {
+		for (IClasspathEntry entry : initialEntries) {
+			if ((entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY && entry.getPath() != null)
+					|| (entry.getEntryKind() == IClasspathEntry.CPE_PROJECT)) {
+				return true;
+			} else if (entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
+				IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), javaProject );
+				if (container != null) {
+					IClasspathEntry[] cpes = container.getClasspathEntries();
+					if (cpes != null && cpes.length > 0) {
+						return true;
+					}
+				}
+			}
+		}
+		return false;
+	}
+
 	private boolean isValid(IClasspathEntry cpe) {
 	   
        if(IClasspathEntry.CPE_CONTAINER == cpe.getEntryKind()



More information about the jbosstools-commits mailing list