[300098] 'In Lib Dir' checkbox being ignored when a jar dependency is added to an EAR
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java index 4a61c47..4897e4f 100644 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java +++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java
@@ -42,6 +42,7 @@ import org.eclipse.jface.viewers.IContentProvider; import org.eclipse.jface.viewers.TableLayout; import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider; +import org.eclipse.jst.j2ee.application.internal.operations.IAddComponentToEnterpriseApplicationDataModelProperties; import org.eclipse.jst.j2ee.application.internal.operations.RemoveComponentFromEnterpriseApplicationDataModelProvider; import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil; import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent; @@ -130,7 +131,7 @@ protected Set libsToUncheck; protected Listener tableListener; protected Listener labelListener; - + //[Bug 238264] the cached list of jars selected using 'add jar' or 'add external jars' protected List<IVirtualComponent> addedJARComponents = new ArrayList<IVirtualComponent>(); @@ -299,6 +300,7 @@ dm.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earComponent); dm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, componentList); + dm.setProperty(IAddComponentToEnterpriseApplicationDataModelProperties.J2EE_LIB_ELEMENTS_LIST, j2eeLibElementList); //[Bug 238264] the uri map needs to be manually set correctly Map uriMap = new HashMap();
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java index 48817a5..ad289ee 100644 --- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java +++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java
@@ -13,6 +13,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import org.eclipse.core.resources.IProject; import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; @@ -26,6 +27,12 @@ super(); } + public Set getPropertyNames() { + Set propertyNames = super.getPropertyNames(); + propertyNames.add(J2EE_LIB_ELEMENTS_LIST); + return propertyNames; + } + public Object getDefaultProperty(String propertyName) { if (TARGET_COMPONENTS_TO_URI_MAP.equals(propertyName)) { Map map = new HashMap();
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java index ae8fdef..0230195 100644 --- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java +++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java
@@ -109,7 +109,7 @@ } return ""; //$NON-NLS-1$ } - + protected void updateEARDD(IProgressMonitor monitor) { StructureEdit se = null; @@ -121,6 +121,7 @@ se = StructureEdit.getStructureEditForWrite(sourceComp.getProject()); if (earModel != null) { List list = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST); + final List libList = (List) model.getProperty(IAddComponentToEnterpriseApplicationDataModelProperties.J2EE_LIB_ELEMENTS_LIST); final Map map = (Map) model.getProperty(IAddComponentToEnterpriseApplicationDataModelProperties.TARGET_COMPONENTS_TO_URI_MAP); if (list != null && list.size() > 0) { for (int i = 0; i < list.size(); i++) { @@ -142,6 +143,10 @@ public void run() { final ICommonApplication application = (ICommonApplication)earModel.getModelObject(); if(application != null) { + boolean isEE5 = JavaEEProjectUtilities.getJ2EEDDProjectVersion(earpj).equals( + J2EEVersionConstants.VERSION_5_0_TEXT); + if(isEE5 && (libList !=null && libList.contains(wc))) + return; ICommonModule mod = addModule(application, wc, (String) map.get(wc)); if(mod != null){ if (ref!=null)
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java index 9b51918..3b352b7 100644 --- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java +++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java
@@ -14,6 +14,6 @@ public interface IAddComponentToEnterpriseApplicationDataModelProperties extends ICreateReferenceComponentsDataModelProperties { - + public static final String J2EE_LIB_ELEMENTS_LIST = "IAddComponentToEnterpriseApplicationDataModelProperties.J2EE_LIB_ELEMENTS_LIST"; //$NON-NLS-1$ }