206478 Importing a .war causes error
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.xml b/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.xml index 0b4fe02..2a865d3 100644 --- a/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.xml +++ b/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.xml
@@ -50,7 +50,13 @@ download-size="0" install-size="0" version="0.0.0" - unpack="false"/> - + unpack="false"/> + + <plugin + id="org.eclipse.jst.j2ee.web" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> </feature>
diff --git a/plugins/org.eclipse.jst.j2ee.web/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.j2ee.web/META-INF/MANIFEST.MF index 6ea20d1..42f9d5a 100644 --- a/plugins/org.eclipse.jst.j2ee.web/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.jst.j2ee.web/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Web Plug-in Bundle-SymbolicName: org.eclipse.jst.j2ee.web; singleton:=true -Bundle-Version: 1.1.4.qualifier +Bundle-Version: 1.1.5.qualifier Bundle-Activator: org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin Bundle-Vendor: Eclipse.org Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/internal/web/archive/operations/WebComponentImportDataModelProvider.java b/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/internal/web/archive/operations/WebComponentImportDataModelProvider.java index 1bf14b9..b16c5f5 100644 --- a/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/internal/web/archive/operations/WebComponentImportDataModelProvider.java +++ b/plugins/org.eclipse.jst.j2ee.web/webproject/org/eclipse/jst/j2ee/internal/web/archive/operations/WebComponentImportDataModelProvider.java
@@ -106,10 +106,36 @@ FacetDataModelMap map = (FacetDataModelMap) creationModel.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP); IDataModel webFacetDataModel = map.getFacetDataModel( J2EEProjectUtilities.DYNAMIC_WEB ); webFacetDataModel.setStringProperty(IWebFacetInstallDataModelProperties.CONTEXT_ROOT, (String)propertyValue); + }else if(propertyName.equals(WEB_LIB_ARCHIVES_SELECTED)) { + validateLibModelRuntimes(); } return true; } + public IStatus validate(String propertyName) { + if(FACET_RUNTIME.equals(propertyName)){ + super.validate(propertyName); + return validateLibModelRuntimes(); + } + return super.validate(propertyName); + } + + private IStatus validateLibModelRuntimes() { + List libArchives = (List)getProperty(WEB_LIB_ARCHIVES_SELECTED); + List libModels = (List)getProperty(WEB_LIB_MODELS); + IStatus status = OK_STATUS; + for (int i=0; i < libModels.size(); i++) { + IDataModel libModel = (IDataModel)libModels.get(i); + if (libArchives.contains(libModel.getProperty(FILE))){ + status = libModel.validateProperty(FACET_RUNTIME); + } + if(!status.isOK()){ + return status; + } + } + return status; + } + protected Archive openArchive(String uri) throws OpenFailureException { Archive archive = CommonarchiveFactory.eINSTANCE.openWARFile(getArchiveOptions(), uri); return archive;