You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by ip...@apache.org on 2004/12/24 00:12:51 UTC

svn commit: r123244 - /incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java /incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java

Author: ips
Date: Thu Dec 23 15:12:50 2004
New Revision: 123244

URL: http://svn.apache.org/viewcvs?view=rev&rev=123244
Log:
...

Modified:
   incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java
   incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java

Modified: incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java?view=diff&rev=123244&p1=incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java&r1=123243&p2=incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java&r2=123244
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java	(original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/GenerationUtils.java	Thu Dec 23 15:12:50 2004
@@ -18,8 +18,10 @@
 import org.apache.ws.resource.ResourceDefinition;
 import org.apache.xmlbeans.impl.common.NameUtil;
 
+import javax.wsdl.Operation;
 import java.util.Hashtable;
 import java.util.Map;
+import java.util.HashMap;
 
 /**
  * TODO
@@ -103,7 +105,15 @@
 
     public Map getOperationInfoMap( ResourceDefinition resourceDef )
     {
-        return null;
+        Map opInfoMap = new HashMap();
+        String[] opNames = resourceDef.getCustomOperationNames();
+        for ( int i = 0; i < opNames.length; i++ )
+        {
+            Operation op = resourceDef.getPortType().getOperation( opNames[i], null, null );
+            OperationInfo opInfo = new OperationInfo( op );
+            opInfoMap.put( opInfo.getRequestElementName(), op );
+        }
+        return opInfoMap;
     }
 
     private static String manglePrefix( String prefix )

Modified: incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java?view=diff&rev=123244&p1=incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java&r1=123243&p2=incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java&r2=123244
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java	(original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/OperationInfo.java	Thu Dec 23 15:12:50 2004
@@ -18,7 +18,11 @@
 import org.apache.commons.lang.StringUtils;
 
 import javax.wsdl.Operation;
+import javax.wsdl.Input;
 import javax.wsdl.Part;
+import javax.wsdl.Output;
+import javax.xml.namespace.QName;
+import java.util.Map;
 
 /**
  * TODO
@@ -29,10 +33,47 @@
 {
 
     private String m_methodName;
+    private String m_methodSig;
+    private QName m_requestElemName;
+
 
     public OperationInfo( Operation op )
     {
         m_methodName = StringUtils.capitalize( op.getName() );
+        Input input = op.getInput();
+        String requestClassName;
+        if ( input != null )
+        {
+            Map inputParts = input.getMessage().getParts();
+            if ( inputParts.size() != 1 )
+            {
+                throw new RuntimeException( "Wsdl input element should have exactly one part." );
+            }
+            Part inputPart = (Part) inputParts.values().iterator().next();
+            m_requestElemName = inputPart.getElementName();
+            requestClassName = XmlBeanNameUtils.getDocumentElementXmlBeanClassName( m_requestElemName );
+        }
+        else
+        {
+            requestClassName = "";
+        }
+        Output output = op.getOutput();
+        String responseClassName;
+        if ( output != null )
+        {
+            Map outputParts = output.getMessage().getParts();
+            if ( outputParts.size() != 1 )
+            {
+                throw new RuntimeException( "Wsdl output element should have exactly one part." );
+            }
+            Part outputPart = (Part) outputParts.values().iterator().next();
+            responseClassName = XmlBeanNameUtils.getDocumentElementXmlBeanClassName( outputPart.getElementName() );
+        }
+        else
+        {
+            responseClassName = void.class.getName();
+        }
+        m_methodSig = responseClassName + " " + m_methodName + "( " + requestClassName + " )";
     }
 
     public String getJavaMethodName()
@@ -42,7 +83,11 @@
 
     public String getJavaMethodSignature()
     {
-
+        return m_methodSig;
     }
 
+    public QName getRequestElementName()
+    {
+        return m_requestElemName;
+    }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org