[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