[299747] Enable DD on Java EE 6 projects
diff --git a/plugins/org.eclipse.jst.jee.ui/icons/config_prop_obj.gif b/plugins/org.eclipse.jst.jee.ui/icons/config_prop_obj.gif
new file mode 100644
index 0000000..bc47239
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/icons/config_prop_obj.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.jee.ui/icons/connection.gif b/plugins/org.eclipse.jst.jee.ui/icons/connection.gif
new file mode 100755
index 0000000..e8efe69
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/icons/connection.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.jee.ui/icons/connectorgroup_obj.gif b/plugins/org.eclipse.jst.jee.ui/icons/connectorgroup_obj.gif
new file mode 100644
index 0000000..ad3af3c
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/icons/connectorgroup_obj.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.jee.ui/icons/license_obj.gif b/plugins/org.eclipse.jst.jee.ui/icons/license_obj.gif
new file mode 100644
index 0000000..50e8dbd
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/icons/license_obj.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.jee.ui/icons/resource_adapter_obj.gif b/plugins/org.eclipse.jst.jee.ui/icons/resource_adapter_obj.gif
new file mode 100644
index 0000000..959c660
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/icons/resource_adapter_obj.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.jee.ui/plugin.properties b/plugins/org.eclipse.jst.jee.ui/plugin.properties
index deb56ba..e27984c 100644
--- a/plugins/org.eclipse.jst.jee.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.jee.ui/plugin.properties
@@ -24,4 +24,5 @@
EJB_NAVIGATOR_CONTENT = JEE Navigator Content EJB
WEB_NAVIGATOR_CONTENT = JEE Navigator Content WEB
EAR_NAVIGATOR_CONTENT = JEE Navigator Content EAR
-APP_CLIENT_NAVIGATOR_CONTENT = JEE Navigator Content Application Client
\ No newline at end of file
+APP_CLIENT_NAVIGATOR_CONTENT = JEE Navigator Content Application Client
+CONNECTOR_NAVIGATOR_CONTENT = JEE Navigator Content Connector
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.jee.ui/plugin.xml b/plugins/org.eclipse.jst.jee.ui/plugin.xml
index c3c6e9c..5e99726 100644
--- a/plugins/org.eclipse.jst.jee.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.jee.ui/plugin.xml
@@ -477,7 +477,7 @@
<test
forcePluginActivation="true"
property="org.eclipse.wst.common.project.facet.core.projectFacet"
- value="jst.appclient:5.0">
+ value="jst.ejb:3.1">
</test>
</or>
</adapt>
@@ -706,6 +706,11 @@
forcePluginActivation="true"
property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jst.web:2.5"/>
+ <test
+ forcePluginActivation="true"
+ property="org.eclipse.wst.common.project.facet.core.projectFacet"
+ value="jst.web:3.0">
+ </test>
</or>
</adapt>
<instanceof
@@ -879,21 +884,25 @@
<triggerPoints>
<or>
<instanceof
- value="org.eclipse.core.resources.IProject">
- </instanceof>
- <instanceof
- value="org.eclipse.jst.jee.ui.internal.navigator.ear.BundledNode">
+ value="org.eclipse.jst.jee.ui.internal.navigator.ear..BundledNode">
</instanceof>
<instanceof
value="org.eclipse.jst.jee.ui.internal.navigator.ear.GroupEARProvider">
</instanceof>
<adapt
type="org.eclipse.core.resources.IProject">
+ <or>
<test
forcePluginActivation="true"
property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jst.ear:5.0">
</test>
+ <test
+ forcePluginActivation="true"
+ property="org.eclipse.wst.common.project.facet.core.projectFacet"
+ value="jst.ear:6.0">
+ </test>
+ </or>
</adapt>
<instanceof
value="org.eclipse.jst.jee.ui.internal.navigator.ear.ModulesNode">
@@ -1147,7 +1156,7 @@
id="org.eclipse.jst.jee.ui.appclient"
labelProvider="org.eclipse.jst.jee.ui.internal.navigator.AppClient5LabelProvider"
name="%APP_CLIENT_NAVIGATOR_CONTENT"
- priority="highest">
+ priority="highest">
<triggerPoints>
<or>
<instanceof
@@ -1155,11 +1164,18 @@
</instanceof>
<adapt
type="org.eclipse.core.resources.IProject">
+ <or>
<test
forcePluginActivation="true"
property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jst.appclient:5.0">
</test>
+ <test
+ forcePluginActivation="true"
+ property="org.eclipse.wst.common.project.facet.core.projectFacet"
+ value="jst.appclient:6.0">
+ </test>
+ </or>
</adapt>
<instanceof
value="org.eclipse.jst.javaee.core.JavaEEObject">
@@ -1184,6 +1200,43 @@
</or>
</possibleChildren>
</navigatorContent>
+ <navigatorContent
+ activeByDefault="true"
+ contentProvider="org.eclipse.jst.jee.ui.internal.navigator.ConnectorContentProvider"
+ icon="icons/connectorgroup_obj.gif"
+ id="org.eclipse.jst.jee.ui.ra"
+ labelProvider="org.eclipse.jst.jee.ui.internal.navigator.ConnectorLabelProvider"
+ name="%CONNECTOR_NAVIGATOR_CONTENT"
+ priority="highest">
+ <possibleChildren>
+ <or>
+ <instanceof
+ value="org.eclipse.jst.javaee.core.JavaEEObject">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.jst.jee.ui.internal.navigator.ra.AbstractConnectorGroupProvider">
+ </instanceof>
+ </or>
+ </possibleChildren>
+ <triggerPoints>
+ <or>
+ <adapt
+ type="org.eclipse.core.resources.IProject">
+ <or>
+ <test
+ forcePluginActivation="true"
+ property="org.eclipse.wst.common.project.facet.core.projectFacet"
+ value="jst.connector:1.6">
+ </test>
+ </or>
+ </adapt>
+ <instanceof
+ value="org.eclipse.jst.jee.ui.internal.navigator.ra.AbstractConnectorGroupProvider">
+ </instanceof>
+ </or>
+ </triggerPoints>
+
+ </navigatorContent>
</extension>
<extension
point="org.eclipse.core.runtime.adapters">
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/Messages.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/Messages.java
index af32aa9..aa593a4 100644
--- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/Messages.java
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/Messages.java
@@ -16,6 +16,7 @@
public class Messages extends NLS {
private static final String BUNDLE_NAME = "org.eclipse.jst.jee.ui.internal.messages"; //$NON-NLS-1$
+
private Messages() {
// Do not instantiate
@@ -27,6 +28,9 @@
public static String SESSION_BEANS;
public static String ENTITY_BEANS;
public static String MESSAGE_DRIVEN_BEANS;
+ public static String MessageAdapterNode_MESSAGE_ADAPTER;
+ public static String MessageListenerNode_MessageListener;
+ public static String ActicationSpecNode_ActivationSpec;
public static String ACTIVATION_CONFIG_PROPERTIES;
public static String ENTERPRISE_BEAN_CLASS_DESCRIPTION;
@@ -58,6 +62,15 @@
public static String AddModuleToEarDropAssistant_Adding_module_to_ea_;
public static String ImportJEEModuleDropAssistant_Importing_Java_Enterprise_Edition_artifacts;
public static String ImportJEEModuleDropAssistant_Could_not_recognize_extension_0_;
+ public static String InboundRaNode_Inbound_Resource_adapter;
+
+ public static String ConnectorLabelProvider_ADMIN_OBJECT;
+ public static String ConnectorLabelProvider_CONFIG_PROPERTY;
+ public static String ConnectorLabelProvider_ConnectionDefinition;
+ public static String ConnectorLabelProvider_LICENSE_ARTIFACT;
+ public static String ConnectorLabelProvider_RequiredConfigProperty;
+ public static String GroupRaContentProvider_RESOURCE_ADAPTER;
+ public static String OutboundRaNode_OutboundResourceAdapter;
static {
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/messages.properties b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/messages.properties
index e12bba3..e3eb10a 100644
--- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/messages.properties
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/messages.properties
@@ -4,6 +4,9 @@
SESSION_BEANS=Session Beans
ENTITY_BEANS=Entity Beans (1.x-2.x)
MESSAGE_DRIVEN_BEANS=Message-Driven Beans
+MessageAdapterNode_MESSAGE_ADAPTER=MessageAdapter
+MessageListenerNode_MessageListener=MessageListener
+ActicationSpecNode_ActivationSpec=ActivationSpec
ACTIVATION_CONFIG_PROPERTIES=Activation Config Properties
ENTERPRISE_BEAN_CLASS_DESCRIPTION=Enterprise Bean Class -
@@ -32,3 +35,12 @@
AddModuleToEarDropAssistant_Adding_module_to_ea_=Adding module to ear
ImportJEEModuleDropAssistant_Importing_Java_Enterprise_Edition_artifacts=Importing Java Enterprise Edition artifacts
ImportJEEModuleDropAssistant_Could_not_recognize_extension_0_=Could not recognize extension
+InboundRaNode_Inbound_Resource_adapter=InboundResourceAdapter
+
+ConnectorLabelProvider_ADMIN_OBJECT=AdminObject
+ConnectorLabelProvider_CONFIG_PROPERTY=ConfigProperty
+ConnectorLabelProvider_ConnectionDefinition=ConnectionDefinition
+ConnectorLabelProvider_LICENSE_ARTIFACT=License
+ConnectorLabelProvider_RequiredConfigProperty=RequiredConfigProperty
+GroupRaContentProvider_RESOURCE_ADAPTER=Resource Adapter
+OutboundRaNode_OutboundResourceAdapter=OutboundResourceAdapter
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ConnectorContentProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ConnectorContentProvider.java
new file mode 100644
index 0000000..1541c52
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ConnectorContentProvider.java
@@ -0,0 +1,47 @@
+package org.eclipse.jst.jee.ui.internal.navigator;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.javaee.jca.Connector;
+import org.eclipse.jst.jee.ui.internal.navigator.ra.RaGroupContentProvider;
+
+public class ConnectorContentProvider extends JEE5ContentProvider {
+
+ public Object[] getChildren(Object aParentElement) {
+ List<Object> children = new ArrayList<Object>();
+ IProject project = null;
+ if (IProject.class.isInstance(aParentElement)) {
+ project = (IProject) aParentElement;
+ AbstractGroupProvider cachedContentProvider = getCachedContentProvider(project);
+ if (cachedContentProvider.isValid()){
+ children.add(cachedContentProvider);
+ }
+ } else if (AbstractGroupProvider.class.isInstance(aParentElement)){
+ AbstractGroupProvider abstractGroupProvider = (AbstractGroupProvider) aParentElement;
+ if (abstractGroupProvider.hasChildren()){
+ children.addAll(abstractGroupProvider.getChildren());
+ }
+ }
+ return children.toArray();
+ }
+
+ public Object getParent(Object element) {
+ return null;
+ }
+
+ public boolean hasChildren(Object element) {
+ return true;
+ }
+
+ public Object[] getElements(Object inputElement) {
+ return getChildren(inputElement);
+ }
+
+ @Override
+ protected AbstractGroupProvider getNewContentProviderInstance(IProject project) {
+ return new RaGroupContentProvider((Connector)getCachedModelProvider(project).getModelObject(), project);
+ }
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ConnectorLabelProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ConnectorLabelProvider.java
new file mode 100644
index 0000000..0397c66
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ConnectorLabelProvider.java
@@ -0,0 +1,54 @@
+package org.eclipse.jst.jee.ui.internal.navigator;
+
+import org.eclipse.jst.j2ee.navigator.internal.J2EELabelProvider;
+import org.eclipse.jst.javaee.jca.ConfigProperty;
+import org.eclipse.jst.javaee.jca.ConnectionDefinition;
+import org.eclipse.jst.javaee.jca.RequiredConfigProperty;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.jst.jee.ui.plugin.JEEUIPlugin;
+import org.eclipse.jst.jee.ui.plugin.JEEUIPluginIcons;
+import org.eclipse.swt.graphics.Image;
+
+public class ConnectorLabelProvider extends J2EELabelProvider {
+
+ private Image CONFIG_PROP_IMAGE;
+ private Image LICENSE_IMAGE;
+
+ @Override
+ public String getText(Object element) {
+ if (AbstractGroupProvider.class.isInstance(element)){
+ return ((AbstractGroupProvider) element).getText();
+ } else if (element instanceof org.eclipse.jst.javaee.jca.License){
+ return Messages.ConnectorLabelProvider_LICENSE_ARTIFACT;
+ } else if (element instanceof ConfigProperty){
+ return Messages.ConnectorLabelProvider_CONFIG_PROPERTY + ((ConfigProperty)element).getConfigPropertyName() != null ? ((ConfigProperty)element).getConfigPropertyName() : ""; //$NON-NLS-1$
+ } else if (element instanceof RequiredConfigProperty){
+ return Messages.ConnectorLabelProvider_RequiredConfigProperty + ((RequiredConfigProperty)element).getConfigPropertyName() != null ? ((RequiredConfigProperty)element).getConfigPropertyName() : ""; //$NON-NLS-1$
+ } else if (element instanceof ConnectionDefinition){
+ return Messages.ConnectorLabelProvider_ConnectionDefinition + ((ConnectionDefinition)element).getManagedconnectionfactoryClass() != null ?((ConnectionDefinition)element).getManagedconnectionfactoryClass() : ""; //$NON-NLS-1$
+ }
+
+ return super.getText(element);
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ if (AbstractGroupProvider.class.isInstance(element)){
+ return ((AbstractGroupProvider) element).getImage();
+ } else if (element instanceof ConfigProperty){
+ if (CONFIG_PROP_IMAGE == null) {
+ CONFIG_PROP_IMAGE = JEEUIPlugin.getDefault().getImage(JEEUIPluginIcons.IMG_CONFIG_PROP);
+ }
+ return CONFIG_PROP_IMAGE;
+ } else if (element instanceof org.eclipse.jst.javaee.jca.License){
+ if (LICENSE_IMAGE == null) {
+ LICENSE_IMAGE = JEEUIPlugin.getDefault().getImage(JEEUIPluginIcons.IMG_LICENSE);
+ }
+ return LICENSE_IMAGE;
+ }
+ return super.getImage(element);
+ }
+
+
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/Ear5ContentProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/Ear5ContentProvider.java
index bd5a95a..500b03a 100644
--- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/Ear5ContentProvider.java
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/Ear5ContentProvider.java
@@ -111,9 +111,11 @@
try {
facetedProject = ProjectFacetsManager.create(project);
if (facetedProject != null &&
- facetedProject.hasProjectFacet(
+ (facetedProject.hasProjectFacet(
ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EAR_MODULE).getVersion(
- J2EEVersionConstants.VERSION_5_0_TEXT))) {
+ J2EEVersionConstants.VERSION_5_0_TEXT)) || facetedProject.hasProjectFacet(
+ ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EAR_MODULE).getVersion(
+ J2EEVersionConstants.VERSION_6_0_TEXT)))) {
GroupEARProvider element = (GroupEARProvider) getCachedContentProvider(project);
children.add(element);
}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ear/GroupEARProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ear/GroupEARProvider.java
index bd895fc..cad1169 100644
--- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ear/GroupEARProvider.java
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ear/GroupEARProvider.java
@@ -76,9 +76,11 @@
IFacetedProject facetedProject = ProjectFacetsManager.create(project);
//EE6TODO
if (facetedProject != null &&
- facetedProject.hasProjectFacet(
+ (facetedProject.hasProjectFacet(
ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EAR_MODULE).getVersion(
- J2EEVersionConstants.VERSION_5_0_TEXT))) {
+ J2EEVersionConstants.VERSION_5_0_TEXT)) || facetedProject.hasProjectFacet(
+ ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EAR_MODULE).getVersion(
+ J2EEVersionConstants.VERSION_6_0_TEXT)))) {
if(bundledLibsNode == null){
BundledNode bundledLibsDirectoryNode = new BundledNode(project, Messages.LIBRARY_DIRECTORY + ": /" + EAR_DEFAULT_LIB, null);//$NON-NLS-1$
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/AbstractConnectorGroupProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/AbstractConnectorGroupProvider.java
new file mode 100644
index 0000000..f2e1add
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/AbstractConnectorGroupProvider.java
@@ -0,0 +1,12 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.jee.ui.internal.navigator.AbstractGroupProvider;
+
+public abstract class AbstractConnectorGroupProvider extends AbstractGroupProvider {
+
+ public AbstractConnectorGroupProvider(JavaEEObject javaee) {
+ super(javaee);
+ }
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/ActicationSpecNode.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/ActicationSpecNode.java
new file mode 100644
index 0000000..b8b6c87
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/ActicationSpecNode.java
@@ -0,0 +1,39 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.ActivationSpec;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.swt.graphics.Image;
+
+public class ActicationSpecNode extends AbstractConnectorGroupProvider {
+
+ public ActicationSpecNode(JavaEEObject javaee) {
+ super(javaee);
+ }
+
+ @Override
+ public String getText() {
+ return Messages.ActicationSpecNode_ActivationSpec + (((ActivationSpec)javaee).getActivationspecClass() != null ? ((ActivationSpec)javaee).getActivationspecClass() :""); //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean hasChildren() {
+ return ((ActivationSpec)javaee).getRequiredConfigProperty() != null && ((ActivationSpec)javaee).getRequiredConfigProperty().size() > 0;
+ }
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+ children.addAll(((ActivationSpec)javaee).getRequiredConfigProperty());
+ return children;
+ }
+
+ @Override
+ public Image getImage() {
+ return null;
+ }
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/AdminObjectNode.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/AdminObjectNode.java
new file mode 100644
index 0000000..24d6e29
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/AdminObjectNode.java
@@ -0,0 +1,43 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.AdminObject;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.swt.graphics.Image;
+
+public class AdminObjectNode extends AbstractConnectorGroupProvider {
+
+ public AdminObjectNode(JavaEEObject javaee) {
+ super(javaee);
+ }
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+// children.addAll(((AdminObject)javaee).getConfigProperty());
+ return children;
+ }
+
+
+
+ @Override
+ public boolean hasChildren() {
+ return false;
+ }
+
+ @Override
+ public Image getImage() {
+ return null;
+ }
+
+ @Override
+ public String getText() {
+ return Messages.ConnectorLabelProvider_ADMIN_OBJECT + (((AdminObject)javaee).getAdminobjectInterface() != null ? ((AdminObject)javaee).getAdminobjectInterface() :""); //$NON-NLS-1$
+ }
+
+
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/GroupRaContentProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/GroupRaContentProvider.java
new file mode 100644
index 0000000..b5ee3aa
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/GroupRaContentProvider.java
@@ -0,0 +1,66 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.Connector;
+import org.eclipse.jst.javaee.jca.ResourceAdapter;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.jst.jee.ui.plugin.JEEUIPlugin;
+import org.eclipse.jst.jee.ui.plugin.JEEUIPluginIcons;
+import org.eclipse.swt.graphics.Image;
+
+public class GroupRaContentProvider extends AbstractConnectorGroupProvider {
+
+
+ private Image RA_IMAGE;
+
+ public GroupRaContentProvider(JavaEEObject javaee1) {
+ super(javaee1);
+ }
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+ Connector connector = (Connector) javaee;
+ ResourceAdapter ra = connector.getResourceadapter();
+ if (ra == null){
+ return children;
+ }
+ if (ra.getAdminobject() != null){
+ for (Object object : ra.getAdminobject() ) {
+ children.add(new AdminObjectNode((JavaEEObject) object));
+ }
+ }
+ if (ra.getConfigProperty() != null){
+ children.addAll(ra.getConfigProperty());
+ }
+
+ if (ra.getSecurityPermission() != null){
+ children.addAll(ra.getSecurityPermission());
+ }
+ if (ra.getInboundResourceadapter() != null){
+ children.add(new InboundRaNode(ra.getInboundResourceadapter()));
+ }
+ if (ra.getOutboundResourceadapter()!= null){
+ children.add(new OutboundRaNode(ra.getOutboundResourceadapter()));
+
+ }
+ return children;
+ }
+
+ @Override
+ public Image getImage() {
+ if (RA_IMAGE == null) {
+ RA_IMAGE = JEEUIPlugin.getDefault().getImage(JEEUIPluginIcons.IMG_RESOURCE_ADAPTER);
+ }
+ return RA_IMAGE;
+ }
+
+ @Override
+ public String getText() {
+ return Messages.GroupRaContentProvider_RESOURCE_ADAPTER;
+ }
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/InboundRaNode.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/InboundRaNode.java
new file mode 100644
index 0000000..7007967
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/InboundRaNode.java
@@ -0,0 +1,41 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.InboundResourceAdapter;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.swt.graphics.Image;
+
+public class InboundRaNode extends AbstractConnectorGroupProvider {
+
+ public InboundRaNode(JavaEEObject javaee) {
+ super(javaee);
+ }
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+ children.add(new MessageAdapterNode(((InboundResourceAdapter)javaee).getMessageadapter()));
+ return children;
+ }
+
+ @Override
+ public Image getImage() {
+ return null;
+ }
+
+ @Override
+ public String getText() {
+ return Messages.InboundRaNode_Inbound_Resource_adapter;
+ }
+
+ @Override
+ public boolean hasChildren() {
+ return ((InboundResourceAdapter)javaee).getMessageadapter() != null;
+ }
+
+
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/MessageAdapterNode.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/MessageAdapterNode.java
new file mode 100644
index 0000000..9398db4
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/MessageAdapterNode.java
@@ -0,0 +1,46 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.MessageAdapter;
+import org.eclipse.jst.javaee.jca.MessageListener;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.swt.graphics.Image;
+
+public class MessageAdapterNode extends AbstractConnectorGroupProvider {
+
+ public MessageAdapterNode(JavaEEObject javaee) {
+ super(javaee);
+ }
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+ List<MessageListener> messagelistener = ((MessageAdapter)javaee).getMessagelistener();
+ for (MessageListener messageListener2 : messagelistener) {
+ children.add(new MessageListenerNode(messageListener2));
+ }
+ return children;
+ }
+
+ @Override
+ public Image getImage() {
+ return null;
+ }
+
+ @Override
+ public String getText() {
+ return Messages.MessageAdapterNode_MESSAGE_ADAPTER;
+ }
+
+ @Override
+ public boolean hasChildren() {
+ List<MessageListener> messagelistener = ((MessageAdapter)javaee).getMessagelistener();
+ return messagelistener != null && messagelistener.size()>0;
+ }
+
+
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/MessageListenerNode.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/MessageListenerNode.java
new file mode 100644
index 0000000..dc6b2ec
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/MessageListenerNode.java
@@ -0,0 +1,43 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.MessageListener;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.swt.graphics.Image;
+
+public class MessageListenerNode extends AbstractConnectorGroupProvider {
+
+ public MessageListenerNode(JavaEEObject javaee) {
+ super(javaee);
+ }
+
+
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+ children.add(new ActicationSpecNode(((MessageListener)javaee).getActivationspec()));
+ return children;
+ }
+
+
+
+ @Override
+ public boolean hasChildren() {
+ return ((MessageListener)javaee).getActivationspec() != null;
+ }
+
+ @Override
+ public Image getImage() {
+ return null;
+ }
+
+ @Override
+ public String getText() {
+ return Messages.MessageListenerNode_MessageListener + (((MessageListener)javaee).getMessagelistenerType() != null ? ((MessageListener)javaee).getMessagelistenerType() :""); //$NON-NLS-1$
+ }
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/OutboundRaNode.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/OutboundRaNode.java
new file mode 100644
index 0000000..e65d4db
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/OutboundRaNode.java
@@ -0,0 +1,40 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.OutboundResourceAdapter;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.swt.graphics.Image;
+
+public class OutboundRaNode extends AbstractConnectorGroupProvider {
+
+ public OutboundRaNode(JavaEEObject javaee) {
+ super(javaee);
+ }
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+ children.addAll(((OutboundResourceAdapter)javaee).getConnectionDefinition());
+ return children;
+ }
+ @Override
+ public Image getImage() {
+ return null;
+ }
+
+ @Override
+ public boolean hasChildren() {
+ return ((OutboundResourceAdapter)javaee).getConnectionDefinition() != null && ((OutboundResourceAdapter)javaee).getConnectionDefinition().size() >0;
+ }
+
+ @Override
+ public String getText() {
+ return Messages.OutboundRaNode_OutboundResourceAdapter;
+ }
+
+
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/RaGroupContentProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/RaGroupContentProvider.java
new file mode 100644
index 0000000..56172ad
--- /dev/null
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/ra/RaGroupContentProvider.java
@@ -0,0 +1,49 @@
+package org.eclipse.jst.jee.ui.internal.navigator.ra;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jst.javaee.core.JavaEEObject;
+import org.eclipse.jst.javaee.jca.Connector;
+import org.eclipse.jst.jee.ui.internal.Messages;
+import org.eclipse.jst.jee.ui.plugin.JEEUIPlugin;
+import org.eclipse.jst.jee.ui.plugin.JEEUIPluginIcons;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.graphics.Image;
+
+public class RaGroupContentProvider extends AbstractConnectorGroupProvider {
+
+ private IProject project;
+ private Image CONNECTOR_IMAGE;
+
+ public RaGroupContentProvider(JavaEEObject javaee, IProject project) {
+ super(javaee);
+ this.project = project;
+ }
+
+ @Override
+ public List getChildren() {
+ List children = new ArrayList();
+ children.add(new GroupRaContentProvider(javaee));
+ if(((Connector)javaee).getLicense() != null){
+ children.add(((Connector)javaee).getLicense());
+ }
+ return children;
+ }
+
+ @Override
+ public Image getImage() {
+ if (CONNECTOR_IMAGE == null) {
+ CONNECTOR_IMAGE = JEEUIPlugin.getDefault().getImage(JEEUIPluginIcons.IMG_CONNECTOR);
+ }
+ return CONNECTOR_IMAGE;
+ }
+
+
+ @Override
+ public String getText() {
+ return NLS.bind(Messages.DEPLOYMENT_DESCRIPTOR, project.getName());
+ }
+
+}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPlugin.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPlugin.java
index ff3f571..91d30e2 100644
--- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPlugin.java
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPlugin.java
@@ -12,15 +12,15 @@
import java.net.URL;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
-import org.eclipse.core.runtime.Platform;
-import java.lang.Throwable;
-import org.eclipse.core.runtime.CoreException;
/**
* The activator class controls the plug-in life cycle
@@ -145,4 +145,8 @@
public static void logError(CoreException exception) {
Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( exception.getStatus() );
}
+
+ public Image getImage(String key){
+ return getImageDescriptor(key).createImage();
+ }
}
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPluginIcons.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPluginIcons.java
index 6b9e958..3789a2b 100644
--- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPluginIcons.java
+++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/plugin/JEEUIPluginIcons.java
@@ -11,10 +11,16 @@
package org.eclipse.jst.jee.ui.plugin;
+
public class JEEUIPluginIcons {
public static String IMG_EJBEEMODEL = "30_ejbjar_obj"; //$NON-NLS-1$
public static String IMG_WEBEEMODEL = "webapp_25"; //$NON-NLS-1$
+ public static String IMG_CONNECTOR = "connection"; //$NON-NLS-1$
+ public static String IMG_CONFIG_PROP = "config_prop_obj"; //$NON-NLS-1$
+ public static String IMG_LICENSE = "license_obj"; //$NON-NLS-1$
+ public static String IMG_RESOURCE_ADAPTER = "resource_adapter_obj"; //$NON-NLS-1$
+
public static String SERVLET_MAPPING = "webuiIcons/servlet_mapping"; //$NON-NLS-1$
public static String FILTER_MAPPING = "webuiIcons/filter"; //$NON-NLS-1$
public static String GROUP_FILTER_MAPPING = "webuiIcons/filter_mapping"; //$NON-NLS-1$