[292457] EJB client project source and ouput should synch up with EJB project
diff --git a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/ejb/archiveoperations/IEjbClientProjectCreationDataModelProperties.java b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/ejb/archiveoperations/IEjbClientProjectCreationDataModelProperties.java
index af0d889..7619698 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/ejb/archiveoperations/IEjbClientProjectCreationDataModelProperties.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/ejb/archiveoperations/IEjbClientProjectCreationDataModelProperties.java
@@ -23,4 +23,5 @@
 	public static final String EJB_PROJECT_NAME = "IEjbClientProjectCreationDataModelProperties.EJB_PROJECT_NAME"; //$NON-NLS-1$
 	public static final String CLIENT_URI = "IEjbClientProjectCreationDataModelProperties.CLIENT_URI ";//$NON-NLS-1$	
 	public static final String ADD_TO_EAR = IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR;
+	public static final String DEFAULT_OUTPUT_FOLDER = "IEjbClientProjectCreationDataModelProperties.DEFAULT_OUTPUT_FOLDER";//$NON-NLS-1$
 }
diff --git a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationDataModelProvider.java b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationDataModelProvider.java
index a7b656d..3e14a5b 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationDataModelProvider.java
@@ -36,6 +36,7 @@
 		propertyNames.add(EJB_PROJECT_NAME);
 		propertyNames.add(CLIENT_URI);
 		propertyNames.add(ADD_TO_EAR);
+		propertyNames.add(DEFAULT_OUTPUT_FOLDER);
 		return propertyNames;
 	}
 	
diff --git a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationOperation.java b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationOperation.java
index 1208a8a..a5930ae 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationOperation.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb/ejbarchive/org/eclipse/jst/j2ee/internal/ejb/archiveoperations/EjbClientProjectCreationOperation.java
@@ -16,6 +16,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jst.common.project.facet.IJavaFacetInstallDataModelProperties;
 import org.eclipse.jst.common.project.facet.JavaFacetInstallDataModelProvider;
+import org.eclipse.jst.j2ee.ejb.archiveoperations.IEjbClientProjectCreationDataModelProperties;
 import org.eclipse.jst.j2ee.ejb.internal.plugin.EjbPlugin;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.j2ee.project.facet.IJavaUtilityProjectCreationDataModelProperties;
@@ -44,6 +45,7 @@
 		String projectName = model.getStringProperty( IJavaUtilityProjectCreationDataModelProperties.PROJECT_NAME );
 		String earProjectName = model.getStringProperty( IJavaUtilityProjectCreationDataModelProperties.EAR_PROJECT_NAME );;
 		String javaSourceFolder = model.getStringProperty( IJavaUtilityProjectCreationDataModelProperties.SOURCE_FOLDER );
+		String defaultOutputFolder = model.getStringProperty( IEjbClientProjectCreationDataModelProperties.DEFAULT_OUTPUT_FOLDER ); 
 		
 		org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime = (IRuntime) model.getProperty(IJavaUtilityProjectCreationDataModelProperties.RUNTIME);
 		
@@ -66,8 +68,11 @@
 		javadm.setProperty( JavaFacetInstallDataModelProvider.SOURCE_FOLDER_NAME,
 				javaSourceFolder);
 		
+		if( defaultOutputFolder == null || defaultOutputFolder.length() == 0 ){
+			defaultOutputFolder = javaSourceFolder;
+		}
 		javadm.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME,
-				javaSourceFolder);
+				defaultOutputFolder);
 		
 
 		//		 if the parent data model has set these properties we will use it, or else default to the utility facet install
diff --git a/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/project/facet/EjbFacetPostInstallDelegate.java b/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/project/facet/EjbFacetPostInstallDelegate.java
index 91981cb..be8fd55 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/project/facet/EjbFacetPostInstallDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb/ejbcreation/org/eclipse/jst/j2ee/ejb/project/facet/EjbFacetPostInstallDelegate.java
@@ -27,6 +27,8 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider;
 import org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProperties;
@@ -121,6 +123,16 @@
 						dm.setStringProperty(IJavaUtilityProjectCreationDataModelProperties.EAR_PROJECT_NAME, earProjectName);
 						String ejbConfigFolder = model.getStringProperty(IJ2EEModuleFacetInstallDataModelProperties.CONFIG_FOLDER);
 						dm.setStringProperty(IJavaUtilityProjectCreationDataModelProperties.SOURCE_FOLDER, ejbConfigFolder);
+
+				        IJavaProject jproject = JavaCore.create(project);
+				        String outputPath = jproject.getOutputLocation().toString();
+				        //the above outputPath contains name of EJB project too which we don't want, remvoe the name
+				        if( outputPath.length() > project.getName().length()+ 1 ){
+				        	outputPath = outputPath.substring( project.getName().length()+ 1 );
+				        }
+				        
+						String defaultOutputFolder = model.getStringProperty(IJ2EEModuleFacetInstallDataModelProperties.OUTPUT_FOLDER);
+						dm.setStringProperty(IEjbClientProjectCreationDataModelProperties.DEFAULT_OUTPUT_FOLDER, outputPath);
 						dm.setProperty(IJavaUtilityProjectCreationDataModelProperties.RUNTIME, rt);
 
 						// because we do not want utility->add to ear, as we are going to perform ejb client->add to ear