Author: rob.stryker(a)jboss.com
Date: 2009-10-06 15:05:58 -0400 (Tue, 06 Oct 2009)
New Revision: 17950
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/AddModuleDependenciesPropertiesPage.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/ExportedClasspathFoldersReferenceWizardFragment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/NewReferenceWizard.java
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/OutputFolderReferenceWizardFragment.java
Log:
JBIDE-4983 - handling consumed references in the new UI
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/AddModuleDependenciesPropertiesPage.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/AddModuleDependenciesPropertiesPage.java 2009-10-06
18:10:06 UTC (rev 17949)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/AddModuleDependenciesPropertiesPage.java 2009-10-06
19:05:58 UTC (rev 17950)
@@ -67,6 +67,7 @@
import org.eclipse.wst.common.componentcore.ComponentCore;
import
org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
import org.eclipse.wst.common.componentcore.internal.ComponentResource;
+import org.eclipse.wst.common.componentcore.internal.DependencyType;
import org.eclipse.wst.common.componentcore.internal.StructureEdit;
import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
import
org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsDataModelProvider;
@@ -110,6 +111,8 @@
// Mappings that are current
protected HashMap<IVirtualComponent, String> objectToRuntimePath = new
HashMap<IVirtualComponent, String>();
+ protected ArrayList<IVirtualComponent> consumedReferences = new
ArrayList<IVirtualComponent>();
+
// A single list of wb-resource mappings. If there's any change,
// all old will be removed and new ones added
protected ArrayList<ComponentResourceProxy> resourceMappings = new
ArrayList<ComponentResourceProxy>();
@@ -481,10 +484,15 @@
WizardDialog wd = new WizardDialog(addReferenceButton.getShell(), wizard);
if( wd.open() != Window.CANCEL) {
if( editing && selected != null) {
- objectToRuntimePath.remove(selected); // remove old
+ // remove old
+ objectToRuntimePath.remove(selected);
+ consumedReferences.remove(selected);
}
+
Object c1 = wizard.getTaskModel().getObject(NewReferenceWizard.COMPONENT);
Object p1 = wizard.getTaskModel().getObject(NewReferenceWizard.COMPONENT_PATH);
+ DependencyType type =
(DependencyType)wizard.getTaskModel().getObject(NewReferenceWizard.DEPENDENCY_TYPE);
+ boolean consumed = type == null ? false :
type.equals(DependencyType.CONSUMES_LITERAL);
IVirtualComponent[] compArr = c1 instanceof IVirtualComponent ?
new IVirtualComponent[] { (IVirtualComponent)c1 } :
(IVirtualComponent[])c1;
@@ -493,6 +501,8 @@
(String[])p1;
for( int i = 0; i < compArr.length; i++ ) {
objectToRuntimePath.put(compArr[i], pathArr[i]);
+ if( consumed )
+ consumedReferences.add(compArr[i]);
}
refresh();
}
@@ -589,6 +599,8 @@
objectToRuntimePath.put(comp, val.toString());
oldComponentToRuntimePath.put((IVirtualComponent) comp, val.toString());
+ if( refs[i].getDependencyType() == DependencyType.CONSUMES)
+ consumedReferences.add(comp);
}
ComponentResource[] allMappings = findAllMappings();
@@ -785,8 +797,14 @@
protected IDataModelOperation getRemoveComponentOperation(IVirtualComponent component)
{
String path, archiveName;
- path = new
Path(oldComponentToRuntimePath.get(component)).removeLastSegments(1).toString();
- archiveName = new Path(oldComponentToRuntimePath.get(component)).lastSegment();
+ path = archiveName = null;
+
+ if( !consumedReferences.contains(component)) {
+ path = new
Path(oldComponentToRuntimePath.get(component)).removeLastSegments(1).toString();
+ archiveName = new Path(oldComponentToRuntimePath.get(component)).lastSegment();
+ } else {
+ path = oldComponentToRuntimePath.get(component);
+ }
IDataModelProvider provider = getRemoveReferenceDataModelProvider(component);
IDataModel model = DataModelFactory.createDataModel(provider);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/ExportedClasspathFoldersReferenceWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/ExportedClasspathFoldersReferenceWizardFragment.java 2009-10-06
18:10:06 UTC (rev 17949)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/ExportedClasspathFoldersReferenceWizardFragment.java 2009-10-06
19:05:58 UTC (rev 17950)
@@ -36,6 +36,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.SharedImages;
+import org.eclipse.wst.common.componentcore.internal.DependencyType;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
@@ -191,6 +192,7 @@
ExportedClasspathFoldersVirtualComponent vc = new
ExportedClasspathFoldersVirtualComponent(parentComp.getProject(), parentComp);
getTaskModel().putObject(NewReferenceWizard.COMPONENT, vc);
getTaskModel().putObject(NewReferenceWizard.COMPONENT_PATH, "/");
+ getTaskModel().putObject(NewReferenceWizard.DEPENDENCY_TYPE,
DependencyType.CONSUMES_LITERAL);
}
protected IPath getOriginalPath(IClasspathEntry entry) {
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/NewReferenceWizard.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/NewReferenceWizard.java 2009-10-06
18:10:06 UTC (rev 17949)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/NewReferenceWizard.java 2009-10-06
19:05:58 UTC (rev 17950)
@@ -14,7 +14,9 @@
public static final String COMPONENT_PATH = "dependency.component.path";
public static final String PROJECT = "root.project";
public static final String ROOT_COMPONENT = "root.component";
+ public static final String DEPENDENCY_TYPE = "dependency.type";
+
public NewReferenceWizard() {
super("New Reference Wizard", new RootWizardFragment());
getRootFragment().setTaskModel(getTaskModel());
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/OutputFolderReferenceWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/OutputFolderReferenceWizardFragment.java 2009-10-06
18:10:06 UTC (rev 17949)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.wtp.ui/src/org/jboss/ide/eclipse/as/wtp/ui/propertypage/OutputFolderReferenceWizardFragment.java 2009-10-06
19:05:58 UTC (rev 17950)
@@ -20,6 +20,7 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.SharedImages;
+import org.eclipse.wst.common.componentcore.internal.DependencyType;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
import org.eclipse.wst.server.ui.wizard.IWizardHandle;
import org.eclipse.wst.server.ui.wizard.WizardFragment;
@@ -107,6 +108,7 @@
selected = selected == null ? parentComp.getProject() : selected;
OutputFoldersVirtualComponent vc = new OutputFoldersVirtualComponent(selected,
parentComp);
getTaskModel().putObject(NewReferenceWizard.COMPONENT, vc);
+ getTaskModel().putObject(NewReferenceWizard.DEPENDENCY_TYPE,
DependencyType.CONSUMES_LITERAL);
String s = (String)getTaskModel().getObject(NewReferenceWizard.COMPONENT_PATH);
if( s == null )
getTaskModel().putObject(NewReferenceWizard.COMPONENT_PATH, "/");
Show replies by date