diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-08-07 11:16:41 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2009-08-07 11:16:41 +0000 |
commit | 77bdd5e6dc244715c571a6eb6d8ed4136a968666 (patch) | |
tree | dfbab0139455f5a4bff0d9df1b9761254c672a2a | |
parent | 4fc48695ab1f0671a515323a69f7c0f97e3414de (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
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(); + } } |