229478 ComponentSaveStrategyImpl needs to respect deploy paths
diff --git a/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html b/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html
index 0806a49..b8df666 100644
--- a/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html
+++ b/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html
@@ -29,4 +29,5 @@
 <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=220958'>220958</a>. J2EEFlexProjDeployable isSingleRootStructure is false for web modules with non-manifest binary dependencies</p>
 <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=227620'>227620</a>. EAR Import adds unnecessary dependencies</p>
 <p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=221229'>221229</a>. A module with linked resources should not be considered single root</p>
+<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=229478'>229478</a>. ComponentSaveStrategyImpl needs to respect deploy paths</p>
 </body></html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.web_core.feature.patch/feature.properties b/features/org.eclipse.jst.web_core.feature.patch/feature.properties
index d004b26..9522144 100644
--- a/features/org.eclipse.jst.web_core.feature.patch/feature.properties
+++ b/features/org.eclipse.jst.web_core.feature.patch/feature.properties
@@ -43,6 +43,7 @@
 Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=220958 J2EEFlexProjDeployable isSingleRootStructure is false for web modules with non-manifest binary dependencies\n\
 Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=227620 EAR Import adds unnecessary dependencies \n\
 Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=221229 A module with linked resources should not be considered single root\n\
+Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=229478 ComponentSaveStrategyImpl needs to respect deploy paths\n\
 \n\        
 
 # "copyright" property - text of the "Feature Update Copyright"
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java
index 967c5c4..7f8bfaf 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java
@@ -57,6 +57,7 @@
 	private String archiveComponentsDeployPath;
 	private List archiveComponents;
 	private Map archiveComponentURIMap;
+	private Map archiveComponentDeployPathMap;
 
 	public ComponentSaveStrategyImpl(IVirtualComponent vComponent) {
 		super();
@@ -203,10 +204,12 @@
 			if (archiveComponents == null) {
 				archiveComponents = new ArrayList();
 				archiveComponentURIMap = new HashMap();
+				archiveComponentDeployPathMap = new HashMap();
 				archiveComponentsDeployPath = IPath.SEPARATOR + (new Path(archive.getURI())).removeLastSegments(1).toString();
 			}
 			archiveComponents.add(archiveComponent);
 			archiveComponentURIMap.put(archiveComponent, iFile.getName());
+			archiveComponentDeployPathMap.put(archiveComponent, IPath.SEPARATOR + (new Path(archive.getURI())).removeLastSegments(1).toString());
 		}
 	}
 
@@ -219,6 +222,7 @@
 			IDataModel createReferencesDataModel = DataModelFactory.createDataModel(new CreateReferenceComponentsDataModelProvider());
 			createReferencesDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, vComponent);
 			createReferencesDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH, archiveComponentsDeployPath);
+			createReferencesDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH_MAP, archiveComponentDeployPathMap);
 			createReferencesDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, archiveComponents);
 			createReferencesDataModel.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_TO_URI_MAP, archiveComponentURIMap);
 			try {