[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);
 	
 
 }