Author: mmerz
Date: Wed Sep 22 14:47:24 2004
New Revision: 47075
Modified:
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/WebServiceTYPEMetadata.java
Log:
Fixed targetNamespace test case for TYPE.
Modified:
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/WebServiceTYPEMetadata.java
==============================================================================
---
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/WebServiceTYPEMetadata.java
(original)
+++
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/WebServiceTYPEMetadata.java
Wed Sep 22 14:47:24 2004
@@ -74,7 +74,7 @@
super();
javaFQClassName = fqClassName;
}
-
+
public WebServiceTYPEMetadata(
WebService webServiceAnnotation,
String fqClassName,
@@ -89,7 +89,7 @@
{
throw new IllegalArgumentException("className not set");
}
- this.javaFQClassName = fqClassName;
+ javaFQClassName = fqClassName;
// check required parameters
if (null == webServiceAnnotation )
@@ -179,20 +179,10 @@
}
// targetNamespace
- if (0 == getWsTargetNamespace().length()) {
-
- // remove the class name from the end of the FQClassName
- String packageName = javaFQClassName.substring(0, javaFQClassName
- .length()
- - name.length());
- // need to remove the "." at the end of the name?
- if (packageName.endsWith("."))
- packageName = packageName
- .substring(0, packageName.length() - 1);
-
- setWsTargetNamespace(packageName + "/" + name + "/"); // Correct?
+ if (0 == getWsTargetNamespace().length())
+ {
+ setWsTargetNamespace(getTargetNamespace(javaFQClassName));
}
-
}
private void initFromAnnotation(SOAPBinding annotation) {
@@ -585,9 +575,6 @@
methods.add(method);
}
- /**
- * @return Returns the soapHandlers.
- */
public List<SOAPMessageHandlerInfo> getSoapHandlers() {
return Collections.unmodifiableList(soapHandlers);
}
@@ -596,10 +583,24 @@
soapHandlers.add(soapHandler);
}
- /**
- * @return Returns the wsJavaFQClassName.
- */
public String getJavaFQClassName() {
return javaFQClassName;
+ }
+
+ private String getTargetNamespace(String fqClassName)
+ {
+ if ((null == fqClassName) || (0 == fqClassName.length()))
+ {
+ return fqClassName;
+ }
+
+ String[] tokens = fqClassName.split("\\.");
+ String targetNamespace = tokens[0];
+ for (int i = 1; i <= tokens.length - 2; i++)
+ {
+ targetNamespace = tokens[i] + "." + targetNamespace;
+ }
+
+ return "http://" + targetNamespace;
}
}