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