summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/implementation-java
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-09-01 17:30:27 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2010-09-01 17:30:27 +0000
commit5b9eca73671d7a9d9ee001073bbaa13beb81651c (patch)
tree2de3bc1bbe4372e850ea2aebb3c3fad9d05b9b6d /sca-java-2.x/trunk/modules/implementation-java
parentddc488389fcc485d84fdc82441e56acd60d9b134 (diff)
TUSCANY-3663 - take notice of @WebService name attribute when generating service name
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@991615 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/implementation-java')
-rw-r--r--sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java b/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java
index e30cbd08ef..70a7d489cd 100644
--- a/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java
+++ b/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java
@@ -185,14 +185,25 @@ public class ServiceProcessor extends BaseJavaClassVisitor {
Service service = assemblyFactory.createService();
JavaInterfaceContract interfaceContract = javaInterfaceFactory.createJavaInterfaceContract();
service.setInterfaceContract(interfaceContract);
+
+ JavaInterface callInterface = javaInterfaceFactory.createJavaInterface(interfaze);
if (name == null) {
- service.setName(interfaze.getSimpleName());
+ String serviceName = interfaze.getSimpleName();
+ // If the interface has @WebService annotation then take the
+ // service name from the @name attribute if present
+ if (interfaze.isAnnotationPresent(WebService.class)){
+ if (callInterface.getQName() != null){
+ serviceName = callInterface.getQName().getLocalPart();
+ }
+ }
+
+ service.setName(serviceName);
} else {
service.setName(name);
}
- JavaInterface callInterface = javaInterfaceFactory.createJavaInterface(interfaze);
+
boolean remotable = clazz.getAnnotation(Remotable.class) != null;
if (remotable){
callInterface.setRemotable(true);