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;
     }
 }

Reply via email to