[290041]New Module Assembly pages
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/AddFolderDialog.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/AddFolderDialog.java
index 060ef31..53bcde4 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/AddFolderDialog.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/AddFolderDialog.java
@@ -38,18 +38,24 @@
private TreeViewer viewer;
private IContainer selected = null;
public AddFolderDialog(Shell parentShell, IProject project) {
- super(parentShell);
+ super(parentShell);
+ setShellStyle( getShellStyle() | SWT.RESIZE );
this.project = project;
}
protected void configureShell(Shell shell) {
super.configureShell(shell);
- shell.setText(Messages.AddFolder);
+
shell.setBounds(shell.getLocation().x, shell.getLocation().y, 400,300);
+
}
protected Control createDialogArea(Composite parent) {
Composite c = (Composite)super.createDialogArea(parent);
+ parent.getShell().setText(Messages.AddFolder);
+ setTitle(Messages.AddFolder);
+ setMessage( "Add folder mappings" );
+ //setTitleImage( );
this.viewer = new TreeViewer(c, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
viewer.setContentProvider(getContentProvider());
viewer.setLabelProvider(getLabelProvider());
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
index a9d30a7..c3bfe2f 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/internal/propertypage/ProjectReferenceWizardFragment.java
@@ -12,7 +12,7 @@
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Iterator;
+import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -84,15 +84,17 @@
// TODO something
}
}
- IVirtualComponent comp = ComponentCore.createComponent(selected);
- String path = getArchiveName(comp);
+ String path = null;
+ IVirtualComponent comp = ComponentCore.createComponent(selected, false);
+ path = getArchiveName(selected,comp);
+
getTaskModel().putObject(NewReferenceWizard.COMPONENT, comp);
getTaskModel().putObject(NewReferenceWizard.COMPONENT_PATH, path);
}
- protected String getArchiveName(IVirtualComponent comp) {
- return getModuleHandler().getArchiveName(comp);
+ protected String getArchiveName(IProject proj, IVirtualComponent comp) {
+ return getModuleHandler().getArchiveName(proj,comp);
}
@@ -123,16 +125,9 @@
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();
- IProject p;
- while(i.hasNext()) {
- p = i.next();
- if( !p.isOpen())
- i.remove();
- else if( p.equals(root))
- i.remove();
- }
- return list.toArray(new IProject[list.size()]);
+ IVirtualComponent comp = (IVirtualComponent)getTaskModel().getObject(NewReferenceWizard.ROOT_COMPONENT);
+ List filtered = getModuleHandler().getFilteredProjectListForAdd(comp, list);
+ return filtered.toArray(new IProject[filtered.size()]);
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/DefaultModuleHandler.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/DefaultModuleHandler.java
index 8a14bf2..b49b040 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/DefaultModuleHandler.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/DefaultModuleHandler.java
@@ -10,19 +10,36 @@
*******************************************************************************/
package org.eclipse.wst.common.componentcore.internal;
+import java.util.Iterator;
import java.util.List;
+import org.eclipse.core.resources.IProject;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
public class DefaultModuleHandler implements IModuleHandler {
- public String getArchiveName(IVirtualComponent comp) {
- return comp.getName() + ".jar";
+ public String getArchiveName(IProject proj,IVirtualComponent comp) {
+ if (comp != null)
+ return comp.getName() + ".jar";
+ return proj.getName() + ".jar";
}
- public List<IVirtualComponent> getFilteredListForAdd(IVirtualComponent sourceComponent, IVirtualComponent[] availableComponents) {
- // TODO Auto-generated method stub
- return null;
+ public List<IProject> getFilteredProjectListForAdd(IVirtualComponent sourceComponent, List<IProject> availableProjects) {
+ Iterator<IProject> i = availableProjects.iterator();
+ IProject p;
+ while(i.hasNext()) {
+ p = i.next();
+ if( !p.isOpen())
+ i.remove();
+ else if( p.equals(sourceComponent.getProject()))
+ i.remove();
+ }
+ return availableProjects;
+ }
+
+ public boolean setComponentAttributes(IProject proj) {
+
+ return true;
}
}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/IModuleHandler.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/IModuleHandler.java
index ce157fe..a40393f 100644
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/IModuleHandler.java
+++ b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/IModuleHandler.java
@@ -14,6 +14,7 @@
import java.util.List;
+import org.eclipse.core.resources.IProject;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
/**
@@ -22,9 +23,30 @@
*/
public interface IModuleHandler {
- String getArchiveName(IVirtualComponent comp);
- List<IVirtualComponent> getFilteredListForAdd(IVirtualComponent sourceComponent, IVirtualComponent[] availableComponents);
+ /**
+ * This is used to return a proper archive name based on the component type
+ * @param proj
+ * @param comp
+ * @return String archive name
+ */
+ public String getArchiveName(IProject proj, IVirtualComponent comp);
+
+ /**
+ * Used to filter items displayed in Add dialog
+ * @param sourceComponent
+ * @param availableComponents
+ * @return List of items that will not be shown in the add ref dialogs
+ */
+ public List<IProject> getFilteredProjectListForAdd(IVirtualComponent sourceComponent, List<IProject> availableComponents);
+
+ /**
+ * This call is meant to add IVirtualCompoonent infrastructure to any project passed if needed
+ * Meant be overridden to include technology specific attributes
+ * @param proj
+ * @return boolean indicating operation success
+ */
+ public boolean setComponentAttributes(IProject proj);
}