summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-08-07 11:16:41 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-08-07 11:16:41 +0000
commit77bdd5e6dc244715c571a6eb6d8ed4136a968666 (patch)
treedfbab0139455f5a4bff0d9df1b9761254c672a2a
parent4fc48695ab1f0671a515323a69f7c0f97e3414de (diff)
TUSCANY-3198 - keep generated EJB component implementations distinct. They were being resolved down to one because the hashcode was not based on any unique EJB information
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@801951 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee-samples/ejb-nonenhanced/src/main/java/sample/ejb3/HelloworldService7aBean.java41
-rw-r--r--branches/sca-java-1.x/itest/contribution-jee/src/test/java/org/apache/tuscany/sca/test/contribution/jee/SCAJarEarNonenhancedTestCase.java2
-rw-r--r--branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java7
3 files changed, 49 insertions, 1 deletions
diff --git a/branches/sca-java-1.x/itest/contribution-jee-samples/ejb-nonenhanced/src/main/java/sample/ejb3/HelloworldService7aBean.java b/branches/sca-java-1.x/itest/contribution-jee-samples/ejb-nonenhanced/src/main/java/sample/ejb3/HelloworldService7aBean.java
new file mode 100644
index 0000000000..97242bff96
--- /dev/null
+++ b/branches/sca-java-1.x/itest/contribution-jee-samples/ejb-nonenhanced/src/main/java/sample/ejb3/HelloworldService7aBean.java
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package sample.ejb3;
+
+import javax.ejb.Stateless;
+
+/**
+ * Another HelloworldService EJB implementation with no SCA enhancement
+ * A test for TUSCANY-3198
+ */
+@Stateless
+public class HelloworldService7aBean implements HelloworldService7, HelloworldLocal7 {
+
+ public String getGreetings(String name) {
+ String greeting = "Hello remote " + name;
+ System.out.println(greeting);
+ return greeting;
+ }
+
+ public String getGreetingsLocal(String name) {
+ String greeting = "Hello local " + name;
+ System.out.println(greeting);
+ return greeting;
+ }
+
+}
diff --git a/branches/sca-java-1.x/itest/contribution-jee/src/test/java/org/apache/tuscany/sca/test/contribution/jee/SCAJarEarNonenhancedTestCase.java b/branches/sca-java-1.x/itest/contribution-jee/src/test/java/org/apache/tuscany/sca/test/contribution/jee/SCAJarEarNonenhancedTestCase.java
index 334f5eca1b..97e23d1bf7 100644
--- a/branches/sca-java-1.x/itest/contribution-jee/src/test/java/org/apache/tuscany/sca/test/contribution/jee/SCAJarEarNonenhancedTestCase.java
+++ b/branches/sca-java-1.x/itest/contribution-jee/src/test/java/org/apache/tuscany/sca/test/contribution/jee/SCAJarEarNonenhancedTestCase.java
@@ -127,7 +127,7 @@ public class SCAJarEarNonenhancedTestCase {
Assert.assertNotNull(composite);
Assert.assertEquals(2, composite.getComponents().size());
- Assert.assertEquals(2, composite.getComponents().get(1).getImplementation().getServices().size());
+ Assert.assertEquals(4, composite.getComponents().get(1).getImplementation().getServices().size());
Assert.assertEquals("HelloworldService7Bean_HelloworldService7", composite.getComponents().get(1).getImplementation().getServices().get(0).getName());
domain.buildComposite(composite);
diff --git a/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java b/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java
index 777bc68d10..eb5b8d8463 100644
--- a/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java
+++ b/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EJBImplementationGeneratedImpl.java
@@ -66,5 +66,12 @@ class EJBImplementationGeneratedImpl extends ImplementationImpl implements EJBIm
public void setEjbModuleInfo(EjbModuleInfo ejbModuleInfo) {
this.ejbModuleInfo = ejbModuleInfo;
}
+
+ // make sure the generated implementation can be distinguished
+ // based on the ejb info that is referenced
+ @Override
+ public int hashCode() {
+ return getEJBInfo().hashCode();
+ }
}