Author: rob.stryker(a)jboss.com
Date: 2009-07-20 15:50:14 -0400 (Mon, 20 Jul 2009)
New Revision: 16687
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/icons/
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/icons/jar_obj.gif
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/icons/prj_obj.gif
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ExternalJarReferenceWizardFragment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/VariableReferenceWizardFragment.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/DependencyPageExtensionManager.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/JarReferenceWizardFragment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/NewReferenceRootWizardFragment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ProjectReferenceWizardFragment.java
Log:
JBIDE-4320
Added support for external jars and classpath vars. also some icons
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/icons/jar_obj.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/icons/jar_obj.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/icons/prj_obj.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/icons/prj_obj.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml 2009-07-20
18:55:10 UTC (rev 16686)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/plugin.xml 2009-07-20
19:50:14 UTC (rev 16687)
@@ -33,21 +33,25 @@
point="org.jboss.ide.eclipse.as.wtp.override.ui.referenceWizardFragment">
<referenceFragment
class="org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.ProjectReferenceWizardFragment"
+ icon="icons/prj_obj.gif"
id="org.jboss.ide.eclipse.as.wtp.override.ui.newProjectReference"
name="Project">
</referenceFragment>
<referenceFragment
class="org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.JarReferenceWizardFragment"
+ icon="icons/jar_obj.gif"
id="org.jboss.ide.eclipse.as.wtp.override.ui.jarReference"
name="Jar">
</referenceFragment>
<referenceFragment
class="org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.ExternalJarReferenceWizardFragment"
+ icon="icons/jar_obj.gif"
id="org.jboss.ide.eclipse.as.wtp.override.ui.externalJarReference"
name="External Jar">
</referenceFragment>
<referenceFragment
class="org.jboss.ide.eclipse.as.wtp.override.ui.propertypage.VariableReferenceWizardFragment"
+ icon="icons/jar_obj.gif"
id="org.jboss.ide.eclipse.as.wtp.override.ui.variableReference"
name="Variable">
</referenceFragment>
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java 2009-07-20
18:55:10 UTC (rev 16686)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/AddModuleDependenciesPropertiesPage.java 2009-07-20
19:50:14 UTC (rev 16687)
@@ -179,7 +179,7 @@
protected void createPushButtons() {
// TODO add the resource button
referenceButton = createPushButton("Add Reference...");
- removeButton = createPushButton("Remove selected...");
+ removeButton = createPushButton("Remove selected");
}
protected Button createPushButton(String label) {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/DependencyPageExtensionManager.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/DependencyPageExtensionManager.java 2009-07-20
18:55:10 UTC (rev 16686)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/DependencyPageExtensionManager.java 2009-07-20
19:50:14 UTC (rev 16687)
@@ -8,7 +8,9 @@
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.server.ui.wizard.WizardFragment;
import org.jboss.ide.eclipse.as.wtp.override.ui.WTPOveridePlugin;
@@ -76,9 +78,11 @@
}
public class ReferenceExtension {
+ private IConfigurationElement element;
private String id, name, imageLoc;
private Image image;
public ReferenceExtension(IConfigurationElement element) {
+ this.element = element;
this.id = element.getAttribute("id");
this.name = element.getAttribute("name");
this.imageLoc = element.getAttribute("icon");
@@ -86,11 +90,18 @@
public String getId() { return this.id;}
public String getName() { return this.name; }
public Image getImage() {
- return null;
+ if( image == null ) {
+ if( imageLoc != null && element.getContributor().getName() != null) {
+ ImageDescriptor desc =
AbstractUIPlugin.imageDescriptorFromPlugin(element.getContributor().getName(), imageLoc);
+ image = desc.createImage();
+ }
+ }
+ return image;
}
- public void dispose() {
+ public void disposeImage() {
if( image != null ) {
image.dispose();
+ image = null;
}
}
}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ExternalJarReferenceWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ExternalJarReferenceWizardFragment.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ExternalJarReferenceWizardFragment.java 2009-07-20
19:50:14 UTC (rev 16687)
@@ -0,0 +1,78 @@
+package org.jboss.ide.eclipse.as.wtp.override.ui.propertypage;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.ui.wizards.BuildPathDialogAccess;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jst.j2ee.project.facet.IJavaProjectMigrationDataModelProperties;
+import org.eclipse.jst.j2ee.project.facet.JavaProjectMigrationDataModelProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.ModuleCoreNature;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.server.ui.wizard.IWizardHandle;
+import org.eclipse.wst.server.ui.wizard.WizardFragment;
+import org.jboss.ide.eclipse.as.wtp.override.core.vcf.ComponentUtils;
+
+public class ExternalJarReferenceWizardFragment extends JarReferenceWizardFragment {
+ public Composite createComposite(Composite parent, IWizardHandle handle) {
+ Composite c = super.createComposite(parent, handle);
+ handle.setTitle("Add an External Jar Reference");
+ handle.setDescription("Here you can reference a filesystem Jar\n"
+ + "This is not a suggested use-case, but is here for backwards
compatability.");
+ return c;
+ }
+
+ protected void buttonPressed() {
+ selected = BuildPathDialogAccess
+ .chooseExternalJAREntries(browse.getShell());
+ viewer.refresh();
+ }
+
+ public void performFinish(IProgressMonitor monitor) throws CoreException {
+ IVirtualComponent rootComponent =
(IVirtualComponent)getTaskModel().getObject(NewReferenceWizard.ROOT_COMPONENT);
+ if (selected != null && selected.length > 0) {
+ ArrayList<IVirtualComponent> compList = new
ArrayList<IVirtualComponent>();
+ ArrayList<String> paths = new ArrayList<String>();
+ for (int i = 0; i < selected.length; i++) {
+ // IPath fullPath = project.getFile(selected[i]).getFullPath();
+ String type = VirtualArchiveComponent.LIBARCHIVETYPE
+ + IPath.SEPARATOR;
+ IVirtualComponent archive = ComponentCore
+ .createArchiveComponent(rootComponent.getProject(),
+ type + selected[i].toString());
+ compList.add(archive);
+ paths.add(selected[i].lastSegment());
+ }
+ IVirtualComponent[] components = (IVirtualComponent[]) compList.toArray(new
IVirtualComponent[compList.size()]);
+ String[] paths2 = (String[]) paths.toArray(new String[paths.size()]);
+ getTaskModel().putObject(NewReferenceWizard.COMPONENT, components);
+ getTaskModel().putObject(NewReferenceWizard.COMPONENT_PATH, paths2);
+ }
+ }
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/JarReferenceWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/JarReferenceWizardFragment.java 2009-07-20
18:55:10 UTC (rev 16686)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/JarReferenceWizardFragment.java 2009-07-20
19:50:14 UTC (rev 16687)
@@ -40,13 +40,13 @@
import org.jboss.ide.eclipse.as.wtp.override.core.vcf.ComponentUtils;
public class JarReferenceWizardFragment extends WizardFragment {
- private LabelProvider labelProvider = null;
- private ITreeContentProvider contentProvider = null;
- private TreeViewer viewer;
- private Button browse;
- private IPath[] paths;
- private IWizardHandle handle;
- private IPath[] selected = new IPath[]{};
+ protected LabelProvider labelProvider = null;
+ protected ITreeContentProvider contentProvider = null;
+ protected TreeViewer viewer;
+ protected Button browse;
+ protected IPath[] paths;
+ protected IWizardHandle handle;
+ protected IPath[] selected = new IPath[]{};
public boolean hasComposite() {
return true;
}
@@ -90,7 +90,7 @@
return c;
}
- private void buttonPressed() {
+ protected void buttonPressed() {
IProject project = (IProject)getTaskModel().getObject(NewReferenceWizard.PROJECT);
selected = BuildPathDialogAccess.chooseJAREntries(
browse.getShell(),
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/NewReferenceRootWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/NewReferenceRootWizardFragment.java 2009-07-20
18:55:10 UTC (rev 16686)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/NewReferenceRootWizardFragment.java 2009-07-20
19:50:14 UTC (rev 16687)
@@ -97,6 +97,8 @@
if( labelProvider == null ) {
labelProvider = new LabelProvider() {
public Image getImage(Object element) {
+ if( element instanceof ReferenceExtension)
+ return ((ReferenceExtension)element).getImage();
return null;
}
public String getText(Object element) {
@@ -104,6 +106,14 @@
return ((ReferenceExtension)element).getName();
return element == null ? "" : element.toString();//$NON-NLS-1$
}
+ public void dispose() {
+ super.dispose();
+ if( extensions != null ) {
+ for( int i = 0; i < extensions.length; i++) {
+ extensions[i].disposeImage();
+ }
+ }
+ }
};
}
return labelProvider;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ProjectReferenceWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ProjectReferenceWizardFragment.java 2009-07-20
18:55:10 UTC (rev 16686)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/ProjectReferenceWizardFragment.java 2009-07-20
19:50:14 UTC (rev 16687)
@@ -111,6 +111,7 @@
if( contentProvider == null ) {
contentProvider = new ITreeContentProvider() {
public Object[] getElements(Object inputElement) {
+ IProject root = (IProject)getTaskModel().getObject(NewReferenceWizard.PROJECT);
IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
ArrayList<IProject> list = new
ArrayList<IProject>(Arrays.asList(projects));
Iterator<IProject> i = list.iterator();
@@ -119,6 +120,8 @@
p = i.next();
if( !p.isOpen())
i.remove();
+ else if( p.equals(root))
+ i.remove();
}
return (IProject[]) list.toArray(new IProject[list.size()]);
}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/VariableReferenceWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/VariableReferenceWizardFragment.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.override.ui/src/org/jboss/ide/eclipse/as/wtp/override/ui/propertypage/VariableReferenceWizardFragment.java 2009-07-20
19:50:14 UTC (rev 16687)
@@ -0,0 +1,56 @@
+package org.jboss.ide.eclipse.as.wtp.override.ui.propertypage;
+
+import java.util.ArrayList;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.ui.wizards.BuildPathDialogAccess;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.server.ui.wizard.IWizardHandle;
+
+public class VariableReferenceWizardFragment extends JarReferenceWizardFragment {
+ public Composite createComposite(Composite parent, IWizardHandle handle) {
+ Composite c = super.createComposite(parent, handle);
+ handle.setTitle("Add a Variable Reference");
+ handle.setDescription("Here you can reference a variable which maps to a single
jar.\n"
+ + "This is not a suggested use-case, but is here for backwards
compatability.");
+ return c;
+ }
+
+ protected void buttonPressed() {
+ selected = BuildPathDialogAccess.chooseVariableEntries(
+ browse.getShell(), new Path[0]);
+ viewer.refresh();
+ }
+
+ public void performFinish(IProgressMonitor monitor) throws CoreException {
+ IVirtualComponent rootComponent =
(IVirtualComponent)getTaskModel().getObject(NewReferenceWizard.ROOT_COMPONENT);
+ if (selected != null && selected.length > 0) {
+ ArrayList<IVirtualComponent> compList = new
ArrayList<IVirtualComponent>();
+ ArrayList<String> paths = new ArrayList<String>();
+ for (int i = 0; i < selected.length; i++) {
+ IPath resolvedPath = JavaCore.getResolvedVariablePath(selected[i]);
+ java.io.File file = new java.io.File(resolvedPath.toOSString());
+ if (file.isFile() && file.exists()) {
+ String type = VirtualArchiveComponent.VARARCHIVETYPE
+ + IPath.SEPARATOR;
+ IVirtualComponent archive = ComponentCore
+ .createArchiveComponent(rootComponent.getProject(),
+ type + selected[i].toString());
+ compList.add(archive);
+ paths.add(resolvedPath.lastSegment());
+ }
+ }
+ IVirtualComponent[] components = (IVirtualComponent[]) compList.toArray(new
IVirtualComponent[compList.size()]);
+ String[] paths2 = (String[]) paths.toArray(new String[paths.size()]);
+ getTaskModel().putObject(NewReferenceWizard.COMPONENT, components);
+ getTaskModel().putObject(NewReferenceWizard.COMPONENT_PATH, paths2);
+ }
+ }
+}
Show replies by date