You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2006/01/03 17:09:11 UTC
svn commit: r365670 [1/2] - in /beehive/trunk/wsm:
src/axis/org/apache/beehive/wsm/axis/
src/axis/org/apache/beehive/wsm/axis/handlers/
src/core/org/apache/beehive/wsm/model/
src/core/org/apache/beehive/wsm/model/impl/
src/core/org/apache/beehive/wsm/m...
Author: ekoneil
Date: Tue Jan 3 08:08:33 2006
New Revision: 365670
URL: http://svn.apache.org/viewcvs?rev=365670&view=rev
Log:
Cleanup the WSM JavaBean model that represents an annotated web service.
Changes made:
- collapse the abstract base classes (BeehiveWs*) and implementations (Default*) classes into a single JavaBean
- rename BeehiveWs* to Wsm*
- start some interface cleanup
BB: self
Test: WSM pass
Added:
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmOperation.java (contents, props changed)
- copied, changed from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmParameter.java (contents, props changed)
- copied, changed from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmService.java (contents, props changed)
- copied, changed from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapBinding.java (contents, props changed)
- copied, changed from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPBindingInfo.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapMessageHandler.java (contents, props changed)
- copied, changed from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPMessageHandlerInfo.java
Removed:
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPBindingInfo.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPMessageHandlerInfo.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/impl/
Modified:
beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/ServiceDescriptionFactory.java
beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/handlers/AnnotatedWebServiceDeploymentHandler.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/AxisGenerator.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsTypeMetadataFactory.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/mirror/MirrorFactoryImpl.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/reflection/ReflectionFactoryImpl.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/wsdl/WSDLFactoryImpl.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Model2AJava.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Wsdl2AJava.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/wsdl2ajava.vm
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/util/HandlerChainParser.java
beehive/trunk/wsm/test/src/junit/org/apache/beehive/wsm/test/axis/AxisHookTest.java
beehive/trunk/wsm/test/src/junit/org/apache/beehive/wsm/test/jsr181/model/AbstractModelTest.java
beehive/trunk/wsm/test/src/junit/org/apache/beehive/wsm/test/jsr181/model/EndpointInterfaceServiceTest.java
beehive/trunk/wsm/test/src/junit/org/apache/beehive/wsm/test/jsr181/model/ImplementationBeanServiceTest.java
beehive/trunk/wsm/test/src/junit/org/apache/beehive/wsm/test/jsr181/wsdl/XmlBeanWSDLProcessorTest.java
Modified: beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/ServiceDescriptionFactory.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/ServiceDescriptionFactory.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/ServiceDescriptionFactory.java (original)
+++ beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/ServiceDescriptionFactory.java Tue Jan 3 08:08:33 2006
@@ -22,6 +22,7 @@
import java.util.List;
import java.util.Map;
import java.util.Iterator;
+import java.util.Collection;
import javax.jws.WebParam;
import javax.jws.soap.SOAPBinding;
import javax.wsdl.OperationType;
@@ -47,16 +48,15 @@
import org.apache.axis.encoding.ser.ArrayDeserializerFactory;
import org.apache.axis.encoding.ser.ArraySerializerFactory;
import org.apache.axis.utils.BeanPropertyDescriptor;
-import org.apache.axis.utils.BeanUtils;
import org.apache.axis.Constants;
import org.apache.beehive.wsm.axis.databinding.AxisBindingLookupFactory;
import org.apache.beehive.wsm.axis.util.encoding.XmlBeanDeserializerFactory;
import org.apache.beehive.wsm.axis.util.encoding.XmlBeanSerializerFactory;
import org.apache.beehive.wsm.databinding.BindingLookupStrategy;
-import org.apache.beehive.wsm.model.BeehiveWsMethodMetadata;
-import org.apache.beehive.wsm.model.BeehiveWsParameterMetadata;
-import org.apache.beehive.wsm.model.BeehiveWsSOAPBindingInfo;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmOperation;
+import org.apache.beehive.wsm.model.WsmParameter;
+import org.apache.beehive.wsm.model.WsmSoapBinding;
+import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.exception.InvalidTypeMappingException;
import org.apache.beehive.wsm.util.JavaClassUtils;
import org.apache.beehive.wsm.util.TypeUtils;
@@ -81,7 +81,7 @@
/* Do not construct */
private ServiceDescriptionFactory() {}
- public ServiceDesc createServiceDescription(BeehiveWsTypeMetadata wsmServiceDesc, ClassLoader classLoader)
+ public ServiceDesc createServiceDescription(WsmService wsmServiceDesc, ClassLoader classLoader)
throws ClassNotFoundException, InvalidTypeMappingException {
JavaServiceDesc axisServiceDesc = new JavaServiceDesc();
@@ -101,7 +101,9 @@
Create a list of the allowed methods
*/
ArrayList<String> allowedMethods = new ArrayList<String>();
- for(BeehiveWsMethodMetadata meth : wsmServiceDesc.getMethods()) {
+ List operations = wsmServiceDesc.getOperations();
+ for(int i = 0; i < operations.size(); i++) {
+ WsmOperation meth = (WsmOperation)operations.get(i);
String method = meth.getJavaMethodName();
allowedMethods.add(method);
}
@@ -143,10 +145,9 @@
/* todo: does this configure the service correctly? */
axisServiceDesc.getOperations();
- BeehiveWsMethodMetadata[] wsmOperationDescs = wsmServiceDesc.getMethods().toArray(new BeehiveWsMethodMetadata[0]);
- for(int i = 0; i < wsmOperationDescs.length; i++) {
- BeehiveWsMethodMetadata wsmOperationDesc = wsmOperationDescs[i];
- String operationName = wsmOperationDesc.getWmOperationName();
+ for(int i = 0; i < operations.size(); i++) {
+ WsmOperation wsmOperationDesc = (WsmOperation)operations.get(i);
+ String operationName = wsmOperationDesc.getOperationName();
OperationDesc axisOperationDesc = getOperationDesc(axisServiceDesc, wsmOperationDesc);
assert axisOperationDesc != null : "Can not find method: " + operationName + " in webservice";
@@ -157,7 +158,7 @@
*/
axisOperationDesc.setElementQName(new QName(targetNamespace, operationName));
axisOperationDesc.setName(operationName);
- axisOperationDesc.setSoapAction(wsmOperationDesc.getWmAction());
+ axisOperationDesc.setSoapAction(wsmOperationDesc.getAction());
if(wsmOperationDesc.isOneWay())
axisOperationDesc.setMep(OperationType.ONE_WAY);
@@ -168,9 +169,9 @@
RPC style doesn't need name space for return type.
*/
if(wsmServiceDesc.getSoapBinding().getStyle() == SOAPBinding.Style.DOCUMENT)
- namespace = wsmOperationDesc.getWrTargetNamespace();
+ namespace = wsmOperationDesc.getTargetNamespace();
- axisOperationDesc.setReturnQName(new QName(namespace, wsmOperationDesc.getWrName()));
+ axisOperationDesc.setReturnQName(new QName(namespace, wsmOperationDesc.getName()));
QName qn = null;
QName odReturnType = axisOperationDesc.getReturnType();
@@ -181,7 +182,7 @@
from the operation desc has a name space uri of soapenc, there is no need to
call configureTypeMapping since we already know the type.
*/
- BeehiveWsSOAPBindingInfo wsmSoapBinding = wsmServiceDesc.getSoapBinding();
+ WsmSoapBinding wsmSoapBinding = wsmServiceDesc.getSoapBinding();
if(wsmSoapBinding.getStyle() == SOAPBinding.Style.RPC && wsmSoapBinding.getUse() == SOAPBinding.Use.ENCODED) {
if(odReturnType != null
@@ -203,7 +204,7 @@
/* no-op: Axis will have already set the value correctly */
}
else {
- qn = configureTypeMapping(axisServiceDesc, returnType, wsmOperationDesc.getWrTargetNamespace());
+ qn = configureTypeMapping(axisServiceDesc, returnType, wsmOperationDesc.getTargetNamespace());
axisOperationDesc.setReturnType(qn);
axisOperationDesc.setReturnClass(returnType);
}
@@ -218,16 +219,16 @@
service interface / implementation to further configure the parameters Axis has already
configured.
*/
- BeehiveWsParameterMetadata[] wsmParameterDescs = wsmOperationDesc.getParams().toArray(new BeehiveWsParameterMetadata[0]);
- for(int j = 0; j < wsmParameterDescs.length; j++) {
- BeehiveWsParameterMetadata wsmParameterDesc = wsmParameterDescs[j];
+ List wsmParameters = wsmOperationDesc.getParameters();
+ for(int j = 0; j < wsmParameters.size(); j++) {
+ WsmParameter wsmParameterDesc = (WsmParameter)wsmParameters.get(j);
ParameterDesc axisParameterDesc = axisOperationDesc.getParameter(j);
final Class paramType = createClass(wsmParameterDesc.getJavaType());
if(axisParameterDesc.getTypeQName() == null) {
/* set the typeQName if it is not set already */
- QName typeQName = configureTypeMapping(axisServiceDesc, paramType, wsmParameterDesc.getWpTargetNamespace());
+ QName typeQName = configureTypeMapping(axisServiceDesc, paramType, wsmParameterDesc.getTargetNamespace());
/*
jongjinchoi@apache.org 2005-Mar-16 -- The typeQName from configureTypeMapping() is not
dummy. This is required to find ArrayDeserializer when the document/literal bare array
@@ -243,13 +244,13 @@
for parameter names.
*/
if(wsmServiceDesc.getSoapBinding().getStyle() == SOAPBinding.Style.DOCUMENT)
- namespace = wsmParameterDesc.getWpTargetNamespace();
+ namespace = wsmParameterDesc.getTargetNamespace();
- QName paramQName = new QName(namespace, wsmParameterDesc.getWpName());
+ QName paramQName = new QName(namespace, wsmParameterDesc.getName());
axisParameterDesc.setQName(paramQName);
- final boolean header = wsmParameterDesc.isWpHeader();
- final WebParam.Mode mode = wsmParameterDesc.getWpMode();
+ final boolean header = wsmParameterDesc.isHeader();
+ final WebParam.Mode mode = wsmParameterDesc.getMode();
switch(mode) {
case IN:
axisParameterDesc.setMode(ParameterDesc.IN);
@@ -288,7 +289,7 @@
continue;
}
- QName qname = configureTypeMapping(axisServiceDesc, thrown, wsmOperationDesc.getWrTargetNamespace());
+ QName qname = configureTypeMapping(axisServiceDesc, thrown, wsmOperationDesc.getTargetNamespace());
fd.setXmlType(qname);
fd.setQName(qname);
fd.setComplex(true);
@@ -299,7 +300,7 @@
return axisServiceDesc;
}
- private void configureSoapBinding(ServiceDesc serviceDesc, BeehiveWsSOAPBindingInfo soapBindingInfo) {
+ private void configureSoapBinding(ServiceDesc serviceDesc, WsmSoapBinding soapBindingInfo) {
/* default SOAP binding style info */
SOAPBinding.Style style = SOAPBinding.Style.DOCUMENT;
SOAPBinding.Use use = SOAPBinding.Use.LITERAL;
@@ -334,7 +335,7 @@
Method used to discover an Axis OperationDesc object given a WSM representation of a web service method.
This uses a best-guess matching algorithm that matches the method parameter types.
*/
- private OperationDesc getOperationDesc(ServiceDesc serviceDescription, BeehiveWsMethodMetadata methodMetadata) {
+ private OperationDesc getOperationDesc(ServiceDesc serviceDescription, WsmOperation methodMetadata) {
assert serviceDescription != null;
assert methodMetadata != null;
@@ -348,7 +349,7 @@
if(operations.length == 1)
return operations[0];
- List methodParams = methodMetadata.getParams();
+ List methodParams = methodMetadata.getParameters();
for(int i = 0; i < operations.length; i++) {
OperationDesc opDesc = operations[i];
@@ -357,7 +358,7 @@
boolean match = true;
for(int j = 0; j < paramCount; j++) {
ParameterDesc paramDesc = opDesc.getParameter(j);
- BeehiveWsParameterMetadata wsParam = (BeehiveWsParameterMetadata)methodParams.get(j);
+ WsmParameter wsParam = (WsmParameter)methodParams.get(j);
assert paramDesc != null;
assert wsParam != null;
Modified: beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/handlers/AnnotatedWebServiceDeploymentHandler.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/handlers/AnnotatedWebServiceDeploymentHandler.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/handlers/AnnotatedWebServiceDeploymentHandler.java (original)
+++ beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/handlers/AnnotatedWebServiceDeploymentHandler.java Tue Jan 3 08:08:33 2006
@@ -40,8 +40,8 @@
import org.apache.axis.utils.ClassUtils;
import org.apache.beehive.wsm.axis.ServiceDescriptionFactory;
import org.apache.beehive.wsm.axis.controls.ControlProvider;
-import org.apache.beehive.wsm.model.BeehiveWsSOAPMessageHandlerInfo;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmSoapMessageHandler;
+import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.model.jsr181.Jsr181ObjectModelStore;
import org.apache.beehive.wsm.exception.InvalidTypeMappingException;
import org.apache.commons.logging.Log;
@@ -102,7 +102,7 @@
SOAPService ss = _soapServices.get(clazz.getName());
if(ss == null) {
- BeehiveWsTypeMetadata typeMetadata = null;
+ WsmService typeMetadata = null;
try {
typeMetadata = Jsr181ObjectModelStore.load(clazz);
}
@@ -127,7 +127,7 @@
* @param cls
* @return SOAPService
*/
- private SOAPService createSOAPService(BeehiveWsTypeMetadata wsm, Class cls) {
+ private SOAPService createSOAPService(WsmService wsm, Class cls) {
assert wsm != null : "Unable to create SOAPService since the WSM object model is null";
@@ -186,7 +186,7 @@
return ss;
}
- private HandlerInfoChainFactory getJaxRPCHandlerChainFactory(BeehiveWsTypeMetadata wsm) {
+ private HandlerInfoChainFactory getJaxRPCHandlerChainFactory(WsmService wsm) {
HandlerInfoChainFactory res = null;
List handlers = wsm.getSoapHandlers();
@@ -197,7 +197,7 @@
Iterator iterator = handlers.iterator();
while(iterator.hasNext()) {
- BeehiveWsSOAPMessageHandlerInfo handler = (BeehiveWsSOAPMessageHandlerInfo)iterator.next();
+ WsmSoapMessageHandler handler = (WsmSoapMessageHandler)iterator.next();
Class handlerClass = null;
try {
@@ -209,7 +209,7 @@
+ "\". Cause: " + e, e);
}
- QName[] handlerHeaders = handler.getHeaders().toArray(new QName[0]);
+ QName[] handlerHeaders = (QName[])handler.getHeaders().toArray(new QName[0]);
infoList.add(new HandlerInfo(handlerClass, handler.getParameterMap(), handlerHeaders));
roles.addAll(handler.getRoles());
}
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmOperation.java (from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmOperation.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmOperation.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java&r1=359210&r2=365670&rev=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmOperation.java Tue Jan 3 08:08:33 2006
@@ -18,48 +18,160 @@
package org.apache.beehive.wsm.model;
import java.util.List;
+import java.util.LinkedList;
+import java.util.Collections;
import javax.xml.namespace.QName;
+import org.apache.beehive.wsm.util.JavaClassUtils;
+
/**
*/
-public abstract class BeehiveWsMethodMetadata {
-
- public abstract boolean isOneWay();
-
- public abstract void setOneWay(boolean oneway);
-
- public abstract String getWmAction();
-
- public abstract void setWmAction(String wmAction);
-
- public abstract String getWmOperationName();
-
- public abstract void setWmOperationName(String wmOperationName);
-
- public abstract String getWrName();
-
- public abstract void setWrName(String wrName);
-
- public abstract String getWrTargetNamespace();
-
- public abstract void setWrTargetNamespace(String wrTargetNamespace);
-
- public abstract List<BeehiveWsParameterMetadata> getParams();
-
- public abstract void addParam(BeehiveWsParameterMetadata parameter);
-
- public abstract void addParams(List<? extends BeehiveWsParameterMetadata> parameters);
-
- public abstract BeehiveWsParameterMetadata findParam(String parmName);
-
- public abstract String getJavaMethodName();
-
- public abstract void setJavaMethodName(String methodName);
-
- public abstract String getJavaReturnType();
-
- public abstract QName getXmlReturnType();
-
- public abstract void setXmlReturnType(QName xmlType);
+public class WsmOperation
+ implements java.io.Serializable {
- public abstract void setReturnType(String javaType);}
\ No newline at end of file
+ private boolean _oneWay;
+ private String _action;
+ private String _name;
+ private String _operationName;
+ private String _targetNamespace;
+ private List _params = new LinkedList();
+ private String _javaMethodName;
+ private String _javaReturnType;
+ private QName _xmlReturnType;
+
+ public final String getJavaReturnTypeFullName() {
+ return JavaClassUtils.convertToReadableName(getJavaReturnType());
+ }
+
+ public void addParameter(WsmParameter parameter) {
+ assert parameter != null;
+ assert parameter.getJavaType() != null :
+ "Web service operation has \"" + _name + "\" has null Java parameter";
+
+ _params.add(parameter);
+ }
+
+ public WsmParameter findParameter(String paramName) {
+ for(int i = 0; i < _params.size(); i++) {
+ WsmParameter param = (WsmParameter)_params.get(i);
+ if(param.getName().equals(paramName))
+ return param;
+ }
+ return null;
+ }
+
+ public boolean isOneWay() {
+ return _oneWay;
+ }
+
+ public void setOneWay(boolean oneWay) {
+ _oneWay = oneWay;
+ }
+
+ public String getAction() {
+ return _action;
+ }
+
+ public void setAction(String action) {
+ _action = action;
+ }
+
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public String getOperationName() {
+ return _operationName;
+ }
+
+ public void setOperationName(String operationName) {
+ _operationName = operationName;
+ }
+
+ public String getTargetNamespace() {
+ return _targetNamespace;
+ }
+
+ public void setTargetNamespace(String targetNamespace) {
+ _targetNamespace = targetNamespace;
+ }
+
+ public List getParameters() {
+ return Collections.unmodifiableList(_params);
+ }
+
+ public void setParameters(List params) {
+ _params = params;
+ }
+
+ public String getJavaMethodName() {
+ return _javaMethodName;
+ }
+
+ public void setJavaMethodName(String javaMethodName) {
+ _javaMethodName = javaMethodName;
+ }
+
+ public String getJavaReturnType() {
+ return _javaReturnType;
+ }
+
+ public void setJavaReturnType(String javaReturnType) {
+ _javaReturnType = javaReturnType;
+ }
+
+ public QName getXmlReturnType() {
+ return _xmlReturnType;
+ }
+
+ public void setXmlReturnType(QName xmlReturnType) {
+ _xmlReturnType = xmlReturnType;
+ }
+
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ final WsmOperation that = (WsmOperation)o;
+
+ if (_oneWay != that._oneWay)
+ return false;
+ if (_action != null ? !_action.equals(that._action) : that._action != null)
+ return false;
+ if (!_javaMethodName.equals(that._javaMethodName))
+ return false;
+ if (_javaReturnType != null ? !_javaReturnType.equals(that._javaReturnType) : that._javaReturnType != null)
+ return false;
+ if (!_name.equals(that._name))
+ return false;
+ if (_operationName != null ? !_operationName.equals(that._operationName) : that._operationName != null)
+ return false;
+ if (_params != null ? !_params.equals(that._params) : that._params != null) return false;
+ if (_targetNamespace != null ? !_targetNamespace.equals(that._targetNamespace) : that._targetNamespace != null)
+ return false;
+ if (_xmlReturnType != null ? !_xmlReturnType.equals(that._xmlReturnType) : that._xmlReturnType != null)
+ return false;
+
+ return true;
+ }
+
+ public int hashCode() {
+ int result;
+ result = (_oneWay ? 1 : 0);
+ result = 29 * result + (_action != null ? _action.hashCode() : 0);
+ result = 29 * result + (_name != null ? _name.hashCode() : 0);
+ result = 29 * result + (_operationName != null ? _operationName.hashCode() : 0);
+ result = 29 * result + (_targetNamespace != null ? _targetNamespace.hashCode() : 0);
+ result = 29 * result + (_params != null ? _params.hashCode() : 0);
+ result = 29 * result + _javaMethodName.hashCode();
+ result = 29 * result + (_javaReturnType != null ? _javaReturnType.hashCode() : 0);
+ result = 29 * result + (_xmlReturnType != null ? _xmlReturnType.hashCode() : 0);
+ return result;
+ }
+}
\ No newline at end of file
Propchange: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmOperation.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmParameter.java (from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmParameter.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmParameter.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java&r1=359210&r2=365670&rev=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmParameter.java Tue Jan 3 08:08:33 2006
@@ -17,34 +17,100 @@
*/
package org.apache.beehive.wsm.model;
+import java.io.Serializable;
import javax.jws.WebParam;
import javax.xml.namespace.QName;
+import org.apache.beehive.wsm.util.JavaClassUtils;
+
/**
*/
-public abstract class BeehiveWsParameterMetadata {
-
- public abstract boolean isWpHeader();
-
- public abstract void setWpHeader(boolean wpHeader);
-
- public abstract WebParam.Mode getWpMode();
-
- public abstract void setWpMode(WebParam.Mode wpMode);
-
- public abstract String getWpName();
-
- public abstract void setWpName(String wpName);
-
- public abstract String getWpTargetNamespace();
-
- public abstract void setWpTargetNamespace(String wpTargetNamespace);
-
- public abstract String getJavaType();
-
- public abstract void setJavaType(String javaType);
+public class WsmParameter
+ implements Serializable {
- public abstract QName getXmlType();
+ private boolean _header;
+ private WebParam.Mode _mode;
+ private String _name;
+ private String _targetNamespace;
+ private String _javaType;
+ private QName _xmlType;
+
+ public boolean isHeader() {
+ return _header;
+ }
+
+ public void setHeader(boolean header) {
+ _header = header;
+ }
+
+ public WebParam.Mode getMode() {
+ return _mode;
+ }
+
+ public void setMode(WebParam.Mode mode) {
+ _mode = mode;
+ }
+
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public String getTargetNamespace() {
+ return _targetNamespace;
+ }
+
+ public void setTargetNamespace(String targetNamespace) {
+ _targetNamespace = targetNamespace;
+ }
+
+ public String getJavaType() {
+ return _javaType;
+ }
+
+ public void setJavaType(String javaType) {
+ _javaType = javaType;
+ }
+
+ public QName getXmlType() {
+ return _xmlType;
+ }
+
+ public void setXmlType(QName xmlType) {
+ _xmlType = xmlType;
+ }
+
+ public String getJavaTypeName() {
+ return JavaClassUtils.convertToReadableName(_javaType);
+ }
+
+ public int hashCode() {
+ int result;
+ result = (_header ? 1 : 0);
+ result = 29 * result + (_mode != null ? _mode.hashCode() : 0);
+ result = 29 * result + (_name != null ? _name.hashCode() : 0);
+ result = 29 * result + (_targetNamespace != null ? _targetNamespace.hashCode() : 0);
+ result = 29 * result + (_javaType != null ? _javaType.hashCode() : 0);
+ result = 29 * result + (_xmlType != null ? _xmlType.hashCode() : 0);
+ return result;
+ }
+
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ final WsmParameter that = (WsmParameter) o;
+ if (_header != that._header) return false;
+ if (_javaType != null ? !_javaType.equals(that._javaType) : that._javaType != null) return false;
+ if (_mode != that._mode) return false;
+ if (_name != null ? !_name.equals(that._name) : that._name != null) return false;
+ if (_targetNamespace != null ? !_targetNamespace.equals(that._targetNamespace) : that._targetNamespace != null)
+ return false;
+ if (_xmlType != null ? !_xmlType.equals(that._xmlType) : that._xmlType != null) return false;
- public abstract void setXmlType(QName xmlType);
+ return true;
+ }
}
Propchange: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmParameter.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmService.java (from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmService.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmService.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java&r1=359210&r2=365670&rev=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmService.java Tue Jan 3 08:08:33 2006
@@ -19,48 +19,164 @@
import java.util.Collection;
import java.util.List;
+import java.util.LinkedList;
+import java.util.Collections;
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.beehive.wsm.exception.ValidationException;
/**
*/
-public abstract class BeehiveWsTypeMetadata {
-
- public abstract BeehiveWsSOAPBindingInfo getSoapBinding();
-
- public abstract void setSoapBinding(BeehiveWsSOAPBindingInfo soapBinding);
-
- public abstract String getName();
-
- public abstract void setName(String wsName);
-
- public abstract String getServiceName();
-
- public abstract void setServiceName(String wsServiceName);
-
- public abstract String getTargetNamespace();
-
- public abstract void setTargetNamespace(String wsTargetNamespace);
-
- public abstract String getWsdlLocation();
-
- public abstract void setWsdlLocation(String wsWsdlLocation);
-
- public abstract Collection<? extends BeehiveWsMethodMetadata> getMethods();
-
- public abstract BeehiveWsMethodMetadata getMethod(String methodName, String... paramTypes);
-
- public abstract void setWsPortName(String wsPortName);
-
- public abstract String getWsPortName();
-
- public abstract void addMethod(BeehiveWsMethodMetadata method);
-
- public abstract void setSOAPHandlers(List soapHandlers);
-
- public abstract List getSoapHandlers();
-
- public abstract void addSOAPHandler(BeehiveWsSOAPMessageHandlerInfo handlerInfo);
+public class WsmService
+ implements java.io.Serializable {
- public abstract String getServiceClassName();
+ private static final WsmSoapBinding DEFAULT_SOAP_BINDING;
- public abstract void setServiceClassName(String className);
+ static {
+ DEFAULT_SOAP_BINDING = new WsmSoapBinding();
+ DEFAULT_SOAP_BINDING.setStyle(SOAPBinding.Style.DOCUMENT);
+ DEFAULT_SOAP_BINDING.setUse(SOAPBinding.Use.LITERAL);
+ DEFAULT_SOAP_BINDING.setParameterStyle(SOAPBinding.ParameterStyle.WRAPPED);
+ }
+
+ private String _name;
+ private String _serviceName;
+ private String _targetNamespace;
+ private String _portName;
+ private String _serviceClassName;
+ private String _wsdlLocation;
+ private LinkedList _soapHandlers = new LinkedList();
+ private LinkedList _operations = new LinkedList();
+ private WsmSoapBinding _soapBinding;
+
+ public WsmSoapBinding getSoapBinding() {
+ return _soapBinding != null ? _soapBinding : DEFAULT_SOAP_BINDING;
+ }
+
+ public void setSoapBinding(WsmSoapBinding soapBinding) {
+ _soapBinding = soapBinding;
+ }
+
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public String getServiceName() {
+ return _serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ _serviceName = serviceName;
+ }
+
+ public String getTargetNamespace() {
+ return _targetNamespace;
+ }
+
+ public void setTargetNamespace(String targetNamespace) {
+ _targetNamespace = targetNamespace;
+ }
+
+ public String getWsdlLocation() {
+ return _wsdlLocation;
+ }
+
+ public void setWsdlLocation(String wsdlLocation) {
+ _wsdlLocation = wsdlLocation;
+ }
+
+ public String getPortName() {
+ return _portName;
+ }
+
+ public void setPortName(String portName) {
+ _portName = portName;
+ }
+
+ public void addSoapHandler(WsmSoapMessageHandler handler) {
+ _soapHandlers.add(handler);
+ }
+
+ public List getSoapHandlers() {
+ return Collections.unmodifiableList(_soapHandlers);
+ }
+
+ public String getServiceClassName() {
+ return _serviceClassName;
+ }
+
+ public void setServiceClassName(String serviceClassName) {
+ _serviceClassName = serviceClassName;
+ }
+
+ public List getOperations() {
+ return Collections.unmodifiableList(_operations);
+ }
+
+ public WsmOperation getOperation(String methodName, String... paramTypes) {
+ for(int i = 0; i < _operations.size(); i++) {
+ WsmOperation op = (WsmOperation)_operations.get(i);
+ if(!op.getOperationName().equals(methodName))
+ continue;
+
+ List paramList = op.getParameters();
+ if(!(paramTypes.length == paramList.size()))
+ continue;
+
+ for(int j = 0; j < paramList.size(); j++) {
+ String op1ParamType = ((WsmParameter)paramList.get(j)).getJavaType();
+ String op2ParamType = paramTypes[j];
+ if(!op1ParamType.equals(op2ParamType))
+ continue;
+ }
+
+ return op;
+ }
+ return null;
+ }
+
+ public void addOperation(WsmOperation method) {
+ /* validate that the operation name isn't duplicated */
+
+ boolean isDocumentStyle = getSoapBinding().getStyle().equals(SOAPBinding.Style.DOCUMENT);
+
+ for(int i = 0; i < _operations.size(); i++) {
+ WsmOperation op = (WsmOperation)_operations.get(i);
+
+ boolean signaturesMatch = signaturesMatch(op, method);
+
+ if(signaturesMatch) {
+ throw new ValidationException("Operation \"" + method.getOperationName() + "\" is already present in the web service");
+ }
+ else if(isDocumentStyle && op.getOperationName().equals(method.getOperationName())) {
+ throw new ValidationException("Operation \"" + method.getOperationName() + "\" already exists; document style does not allow duplicated operation names");
+ }
+ }
+
+ _operations.add(method);
+ }
+
+ private boolean signaturesMatch(WsmOperation op1, WsmOperation op2) {
+ List op1Params = op1.getParameters();
+ List op2Params = op2.getParameters();
+
+ if(!op1.getOperationName().equals(op2.getOperationName()))
+ return false;
+
+ if(op1Params.size() != op2Params.size())
+ return false;
+
+ for(int i = 0; i < op1Params.size(); i++) {
+ String op1ParamType = ((WsmParameter)op1Params.get(i)).getJavaType();
+ String op2ParamType = ((WsmParameter)op2Params.get(i)).getJavaType();
+
+ if(!op1ParamType.equals(op2ParamType))
+ return false;
+ }
+ return true;
+ }
}
Propchange: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmService.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapBinding.java (from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPBindingInfo.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapBinding.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapBinding.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPBindingInfo.java&r1=359210&r2=365670&rev=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPBindingInfo.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapBinding.java Tue Jan 3 08:08:33 2006
@@ -21,35 +21,74 @@
/**
*/
-public abstract class BeehiveWsSOAPBindingInfo {
-
- /**
- * @return Returns the parameterStyle.
- */
- public abstract SOAPBinding.ParameterStyle getParameterStyle();
+public class WsmSoapBinding
+ implements java.io.Serializable {
- /**
- * @param parameterStyle The parameterStyle to set.
- */
- public abstract void setParameterStyle(SOAPBinding.ParameterStyle parameterStyle);
+ /* todo: setting these defaults here is dangerous as it doesn't guarantee
+ that these values are the same as those encoded in the annotations defined
+ in JSR 181. If defaults are going to be set in this web service model,
+ they need to be documented.
+ */
+ private SOAPBinding.Style _style = SOAPBinding.Style.DOCUMENT;
+ private SOAPBinding.Use _use = SOAPBinding.Use.LITERAL;
+ private SOAPBinding.ParameterStyle _parameterStyle = SOAPBinding.ParameterStyle.WRAPPED;
- /**
- * @return Returns the style.
- */
- public abstract SOAPBinding.Style getStyle();
+ public SOAPBinding.Style getStyle() {
+ return _style;
+ }
- /**
- * @param style The style to set.
- */
- public abstract void setStyle(SOAPBinding.Style style);
+ public void setStyle(SOAPBinding.Style style) {
+ _style = style;
+ }
- /**
- * @return Returns the use.
- */
- public abstract SOAPBinding.Use getUse();
+ public SOAPBinding.Use getUse() {
+ return _use;
+ }
- /**
- * @param use The use to set.
- */
- public abstract void setUse(SOAPBinding.Use use);
+ public void setUse(SOAPBinding.Use use) {
+ _use = use;
+ }
+
+ public SOAPBinding.ParameterStyle getParameterStyle() {
+ return _parameterStyle;
+ }
+
+ public void setParameterStyle(SOAPBinding.ParameterStyle parameterStyle) {
+ _parameterStyle = parameterStyle;
+ }
+
+ public int hashCode() {
+ int result;
+ result = (_style != null ? _style.hashCode() : 0);
+ result = 29 * result + (_use != null ? _use.hashCode() : 0);
+ result = 29 * result + (_parameterStyle != null ? _parameterStyle.hashCode() : 0);
+ return result;
+ }
+
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (o == null || getClass() != o.getClass())
+ return false;
+
+ final WsmSoapBinding that = (WsmSoapBinding) o;
+ if (_parameterStyle != that._parameterStyle) return false;
+ if (_style != that._style) return false;
+ if (_use != that._use) return false;
+
+ return true;
+ }
+
+ public String toString() {
+ StringBuffer buf = new StringBuffer(32);
+ buf.append("SOAPBinding: [");
+ buf.append(_style);
+ buf.append("/");
+ buf.append(_use);
+ buf.append("/");
+ buf.append(_parameterStyle);
+ buf.append("]");
+ return buf.toString();
+ }
}
Propchange: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapBinding.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapMessageHandler.java (from r359210, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPMessageHandlerInfo.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapMessageHandler.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapMessageHandler.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPMessageHandlerInfo.java&r1=359210&r2=365670&rev=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsSOAPMessageHandlerInfo.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapMessageHandler.java Tue Jan 3 08:08:33 2006
@@ -19,53 +19,69 @@
import java.util.Collection;
import java.util.Map;
+import java.util.LinkedList;
+import java.util.HashMap;
+import java.util.Collections;
/**
*/
-public abstract class BeehiveWsSOAPMessageHandlerInfo {
+public class WsmSoapMessageHandler {
- /**
- * @return Returns the className.
- */
- public abstract String getClassName();
-
- /**
- * @param className The className to set.
- */
- public abstract void setClassName(String className);
-
- /**
- * @return Returns the name.
- */
- public abstract String getName();
-
- /**
- * @param name The name to set.
- */
- public abstract void setName(String name);
-
- /**
- * @return Returns the headers.
- */
- public abstract Collection<String> getHeaders();
-
- public abstract void addHeader(String header);
-
- /**
- * @return Returns the params.
- */
- public abstract Map<String, String> getParameterMap();
-
- public abstract void addInitParam(String key, String value);
-
- public abstract void addInitParams(Map<String, String> params);
-
- /**
- * @return Returns the roles.
- */
- public abstract Collection<String> getRoles();
-
- public abstract void addRole(String role);
-
- public abstract void addRoles(Collection<String> roles);
+ private String _className;
+ private String _name;
+ private Collection _headers = new LinkedList();
+ private Map _parameterMap = new HashMap();
+ private Collection _roles = new LinkedList();
+
+ public void addHeader(String header) {
+ _headers.add(header);
+ }
+
+ public void addInitParam(String key, String value) {
+ _parameterMap.put(key, value);
+ }
+
+ public void addRole(String role) {
+ _roles.add(role);
+ }
+
+ public String getClassName() {
+ return _className;
+ }
+
+ public void setClassName(String className) {
+ _className = className;
+ }
+
+ public String getName() {
+ return _name;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public Collection getHeaders() {
+ return Collections.unmodifiableCollection(_headers);
+ }
+
+ public void setHeaders(Collection headers) {
+ _headers = headers;
+ }
+
+ public Map getParameterMap() {
+ return Collections.unmodifiableMap(_parameterMap);
+ }
+
+ public void setParameterMap(Map parameterMap) {
+ _parameterMap = parameterMap;
+ }
+
+ public Collection getRoles() {
+ return Collections.unmodifiableCollection(_roles);
+ }
+
+ public void setRoles(Collection roles) {
+ _roles = roles;
+ }
}
Propchange: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/WsmSoapMessageHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java Tue Jan 3 08:08:33 2006
@@ -18,7 +18,6 @@
package org.apache.beehive.wsm.model.jsr181;
import java.io.File;
-import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
@@ -30,7 +29,7 @@
import com.sun.mirror.apt.AnnotationProcessorEnvironment;
import com.sun.mirror.apt.Filer;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.exception.ObjectModelStoreException;
/**
@@ -50,7 +49,7 @@
* @throws IOException
* @throws ClassNotFoundException
*/
- public static BeehiveWsTypeMetadata load(Class clazz)
+ public static WsmService load(Class clazz)
throws IOException, ClassNotFoundException {
String resourceName = getLocation(clazz.getName()).toString();
@@ -60,7 +59,7 @@
if(url == null)
throw new IOException("Unable to load URL for object model represented by '" + resourceName + "'");
- BeehiveWsTypeMetadata typeMetadata = null;
+ WsmService typeMetadata = null;
InputStream is = null;
try {
is = url.openStream();
@@ -78,17 +77,17 @@
* @throws IOException
* @throws ClassNotFoundException
*/
- public static final BeehiveWsTypeMetadata load(InputStream is)
+ public static final WsmService load(InputStream is)
throws IOException, ClassNotFoundException {
if(null == is)
throw new IOException("cannot load object model without input stream");
- BeehiveWsTypeMetadata objectModel = null;
+ WsmService objectModel = null;
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(is);
- objectModel = (BeehiveWsTypeMetadata)ois.readObject();
+ objectModel = (WsmService)ois.readObject();
}
finally {
if(null != ois)
@@ -102,7 +101,7 @@
*
* @param objectModel The object mode to be persisted.
*/
- public static void store(AnnotationProcessorEnvironment env, BeehiveWsTypeMetadata objectModel) {
+ public static void store(AnnotationProcessorEnvironment env, WsmService objectModel) {
if(objectModel == null)
throw new ObjectModelStoreException("Can not persist empty object model");
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java Tue Jan 3 08:08:33 2006
@@ -26,14 +26,10 @@
import javax.xml.namespace.QName;
import org.apache.beehive.wsm.databinding.BindingLookupStrategy;
-import org.apache.beehive.wsm.model.BeehiveWsMethodMetadata;
-import org.apache.beehive.wsm.model.BeehiveWsParameterMetadata;
-import org.apache.beehive.wsm.model.BeehiveWsSOAPBindingInfo;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
-import org.apache.beehive.wsm.model.impl.DefaultMethodMetadataImpl;
-import org.apache.beehive.wsm.model.impl.DefaultParameterMetadataImpl;
-import org.apache.beehive.wsm.model.impl.DefaultSOAPBindingInfoImpl;
-import org.apache.beehive.wsm.model.impl.DefaultTypeMetadataImpl;
+import org.apache.beehive.wsm.model.WsmOperation;
+import org.apache.beehive.wsm.model.WsmParameter;
+import org.apache.beehive.wsm.model.WsmSoapBinding;
+import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.util.JavaClassUtils;
import org.apache.xmlbeans.SchemaType;
import org.apache.xmlbeans.XmlObject;
@@ -52,13 +48,12 @@
import org.xmlsoap.schemas.wsdl.TPart;
import org.xmlsoap.schemas.wsdl.TPort;
import org.xmlsoap.schemas.wsdl.TPortType;
-import org.xmlsoap.schemas.wsdl.TService;
import org.xmlsoap.schemas.wsdl.TTypes;
import org.xmlsoap.schemas.wsdl.soap.TStyleChoice;
import org.xmlsoap.schemas.wsdl.soap.UseChoice;
/**
- * A factory that produces a {@link BeehiveWsTypeMetadata} object model representing a web service. This
+ * A factory that produces a {@link WsmService} object model representing a web service. This
* class also provides a set of operations for determining the service name, etc from a WSDL.
*/
/*
@@ -119,18 +114,18 @@
return map;
}
*/
- public BeehiveWsTypeMetadata getObjectModel()
+ public WsmService getObjectModel()
throws Exception {
- BeehiveWsTypeMetadata wsm = new DefaultTypeMetadataImpl();
- HashMap<String, BeehiveWsMethodMetadata> methodMap = new HashMap<String, BeehiveWsMethodMetadata>();
+ WsmService wsm = new WsmService();
+ HashMap<String, WsmOperation> methodMap = new HashMap<String, WsmOperation>();
TDefinitions defs = _defDoc.getDefinitions();
wsm.setTargetNamespace(defs.getTargetNamespace());
Map<String, TPart[]> messageMap = new HashMap<String, TPart[]>();
if(defs.sizeOfServiceArray() > 0) {
wsm.setServiceName(defs.getServiceArray(0).getName());
- wsm.setWsPortName(defs.getServiceArray(0).getPortArray(0).getName());
+ wsm.setPortName(defs.getServiceArray(0).getPortArray(0).getName());
}
if(defs.sizeOfMessageArray() > 0) {
@@ -205,17 +200,17 @@
}
private void processTOperation(TOperation op,
- BeehiveWsTypeMetadata wsm,
- Map<String, BeehiveWsMethodMetadata> methodMap,
+ WsmService wsm,
+ Map<String, WsmOperation> methodMap,
Map<String, TPart[]> messageMap,
TTypes types)
throws Exception {
String opName = op.getName();
TParam outputParam = op.getOutput();
- Map<String, BeehiveWsParameterMetadata> outParamMap = null;
+ Map<String, WsmParameter> outParamMap = null;
- BeehiveWsParameterMetadata[] paraMeta = new BeehiveWsParameterMetadata[0]; // defualt value
+ WsmParameter[] paraMeta = new WsmParameter[0]; // defualt value
if(null != outputParam) {
TPart[] messageParts = messageMap.get(outputParam.getMessage().getLocalPart());
// output parameters are not wrapped
@@ -243,19 +238,19 @@
}
if(paraMeta.length > 0) {
- outParamMap = new LinkedHashMap<String, BeehiveWsParameterMetadata>(paraMeta.length);
- for(BeehiveWsParameterMetadata cpm : paraMeta) {
- outParamMap.put(cpm.getWpName(), cpm);
+ outParamMap = new LinkedHashMap<String, WsmParameter>(paraMeta.length);
+ for(WsmParameter cpm : paraMeta) {
+ outParamMap.put(cpm.getName(), cpm);
}
}
- BeehiveWsMethodMetadata wmm = new DefaultMethodMetadataImpl();
+ WsmOperation wmm = new WsmOperation();
wmm.setJavaMethodName(opName);
- wmm.setReturnType(returnType);
+ wmm.setJavaReturnType(returnType);
wmm.setXmlReturnType(returnXMLType);
- wmm.setWmOperationName(opName);
+ wmm.setOperationName(opName);
// FIXME jcolwell@bea.com 2004-Nov-10 -- do something better with the action
- wmm.setWmAction(opName);
+ wmm.setAction(opName);
if(void.class.getName().equals(returnType)) {
// FIXME jcolwell@bea.com 2004-Nov-22 -- also check for faults before setting as oneway.
@@ -263,8 +258,8 @@
wmm.setOneWay(true);
}
else {
- wmm.setWrName(paraMeta[0].getWpName());
- wmm.setWrTargetNamespace(paraMeta[0].getWpTargetNamespace());
+ wmm.setName(paraMeta[0].getName());
+ wmm.setTargetNamespace(paraMeta[0].getTargetNamespace());
}
methodMap.put(opName, wmm);
@@ -274,51 +269,51 @@
if(inputParam != null) {
TPart[] messageParts = messageMap.get(inputParam.getMessage().getLocalPart());
- BeehiveWsParameterMetadata[] params = processParameters(opName, messageParts, types, wsm, false);
+ WsmParameter[] params = processParameters(opName, messageParts, types, wsm, false);
if(paramOrder != null) {
// Paramorder is only used for rpc AND doc/lit/bare. if there is a paramoder then order
// the parameters, remove all the in/out parameters from the out map
for(Object ord : paramOrder) {
- for(BeehiveWsParameterMetadata wpm : params) {
- if(ord.equals(wpm.getWpName())) {
- if(outParamMap != null && outParamMap.containsKey(wpm.getWpName())) {
- outParamMap.remove(wpm.getWpName());
+ for(WsmParameter wpm : params) {
+ if(ord.equals(wpm.getName())) {
+ if(outParamMap != null && outParamMap.containsKey(wpm.getName())) {
+ outParamMap.remove(wpm.getName());
// important...if this param is in.out it was in the out list also, so removeit.
- wpm.setWpMode(WebParam.Mode.INOUT);
+ wpm.setMode(WebParam.Mode.INOUT);
// if only one param and it is INOUT adjust the method description accordingly
if (params.length == 1) {
- wmm.setReturnType(Void.TYPE.getName());
+ wmm.setJavaReturnType(Void.TYPE.getName());
wmm.setXmlReturnType(null);
}
}
else {
- wpm.setWpMode(WebParam.Mode.IN);
+ wpm.setMode(WebParam.Mode.IN);
}
- wmm.addParam(wpm);
+ wmm.addParameter(wpm);
break;
}
}
}
}
else if(params.length > 0) {
- for(BeehiveWsParameterMetadata wpm : params) {
+ for(WsmParameter wpm : params) {
// FIXME jcolwell@bea.com 2005-Jan-04 --
// Double check DOC/Lit rules
- if(outParamMap != null && outParamMap.containsKey(wpm.getWpName())) {
- outParamMap.remove(wpm.getWpName());
+ if(outParamMap != null && outParamMap.containsKey(wpm.getName())) {
+ outParamMap.remove(wpm.getName());
// important...if this param is in.out it was in the out list also, so remove it.
- wpm.setWpMode(WebParam.Mode.INOUT);
+ wpm.setMode(WebParam.Mode.INOUT);
// if only one param and it is INOUT adjust the method description accordingly
if (params.length == 1) {
- wmm.setReturnType(Void.TYPE.getName());
+ wmm.setJavaReturnType(Void.TYPE.getName());
wmm.setXmlReturnType(null);
}
}
else {
- wpm.setWpMode(WebParam.Mode.IN);
+ wpm.setMode(WebParam.Mode.IN);
}
- wmm.addParam(wpm);
+ wmm.addParameter(wpm);
}
}
}
@@ -326,26 +321,26 @@
// do the pure out parameters.
if(outParamMap != null && outParamMap.size() > 0) {
if(outParamMap.size() == 1) {
- BeehiveWsParameterMetadata wpm = outParamMap.values().iterator().next();
+ WsmParameter wpm = outParamMap.values().iterator().next();
wmm.setXmlReturnType(wpm.getXmlType());
- wmm.setReturnType(wpm.getJavaType());
+ wmm.setJavaReturnType(wpm.getJavaType());
wmm.setOneWay(false);
}
else {
- for(BeehiveWsParameterMetadata wpm : outParamMap.values()) {
- wpm.setWpMode(WebParam.Mode.OUT);
- wmm.addParam(wpm);
+ for(WsmParameter wpm : outParamMap.values()) {
+ wpm.setMode(WebParam.Mode.OUT);
+ wmm.addParameter(wpm);
}
}
}
- wsm.addMethod(wmm);
+ wsm.addOperation(wmm);
}
- private BeehiveWsParameterMetadata[] processParameters(String operationName,
+ private WsmParameter[] processParameters(String operationName,
TPart[] messageParts,
TTypes types,
- BeehiveWsTypeMetadata wsm,
+ WsmService wsm,
boolean isOutputParameters) {
// When you have parts of the message in the header, you would have multiple wsdl:part. In case of
@@ -363,7 +358,7 @@
final boolean shouldUnwrap = isWrapped(operationName, messageParts, isOutputParameters);
- List<BeehiveWsParameterMetadata> paramList = new ArrayList<BeehiveWsParameterMetadata>(messageParts.length);
+ List<WsmParameter> paramList = new ArrayList<WsmParameter>(messageParts.length);
for(TPart messagePart : messageParts) {
/*
if element attribute is set we are looking at document style in case of rpc message part would look
@@ -446,9 +441,9 @@
{
// doc / lit / bare
if (els != null && els.length == 1) {
- BeehiveWsParameterMetadata pm = elementToParamMetaData(s.getTargetNamespace(), els[0]);
+ WsmParameter pm = elementToParamMetaData(s.getTargetNamespace(), els[0]);
if (JavaClassUtils.isArray(pm.getJavaType())) {
- pm.setWpName(e.getName());
+ pm.setName(e.getName());
paramList.add(pm);
paramAdded = true;
}
@@ -480,9 +475,9 @@
{
// doc / lit / bare
if (els != null && els.length == 1) {
- BeehiveWsParameterMetadata pm = elementToParamMetaData(s.getTargetNamespace(), els[0]);
+ WsmParameter pm = elementToParamMetaData(s.getTargetNamespace(), els[0]);
if (JavaClassUtils.isArray(pm.getJavaType())) {
- pm.setWpName(e.getName());
+ pm.setName(e.getName());
paramList.add(pm);
paramAdded = true;
}
@@ -516,20 +511,20 @@
if(!paramStyleIsSet) // Only set the style to bare if it hasn't been done in previous parts processing
wsm.getSoapBinding().setParameterStyle(SOAPBinding.ParameterStyle.BARE);
- BeehiveWsParameterMetadata wpm = new DefaultParameterMetadataImpl();
- wpm.setWpTargetNamespace(element.getNamespaceURI());
- wpm.setWpName(name); // NAME SHOULD BE THE NAME OF THE MESSAGE PART. element.getLocalPart());
+ WsmParameter wpm = new WsmParameter();
+ wpm.setTargetNamespace(element.getNamespaceURI());
+ wpm.setName(name); // NAME SHOULD BE THE NAME OF THE MESSAGE PART. element.getLocalPart());
wpm.setXmlType(element);
wpm.setJavaType(javaType);
paramList.add(wpm);
}
}
else { // this is an rpc and with no element attribute
- BeehiveWsParameterMetadata wpm = new DefaultParameterMetadataImpl();
+ WsmParameter wpm = new WsmParameter();
// FIXME jcolwell@bea.com 2004-Nov-09 -- figure out where
// RPC parameter namespaces should be specified in the WSDL.
- wpm.setWpTargetNamespace(wsm.getTargetNamespace());
- wpm.setWpName(messagePart.getName());
+ wpm.setTargetNamespace(wsm.getTargetNamespace());
+ wpm.setName(messagePart.getName());
QName type = messagePart.getType();
wpm.setXmlType(type);
wpm.setJavaType(findClassForQname(type));
@@ -537,7 +532,7 @@
}
}
- return paramList.toArray(new BeehiveWsParameterMetadata[paramList.size()]);
+ return paramList.toArray(new WsmParameter[paramList.size()]);
}
private String findClassForQname(QName element) {
@@ -611,13 +606,14 @@
* @param targetNamespace
* @param el
*/
- private BeehiveWsParameterMetadata elementToParamMetaData(String targetNamespace, Element el) {
- BeehiveWsParameterMetadata wpm = new DefaultParameterMetadataImpl();
+ private WsmParameter elementToParamMetaData(String targetNamespace, Element el) {
+ WsmParameter wpm = new WsmParameter();
+
// FIXME
// jcolwell@bea.com
// 2004-Nov-09
// double check the namespace stuff
- wpm.setWpTargetNamespace(targetNamespace);
+ wpm.setTargetNamespace(targetNamespace);
boolean isArray = false;
if(el.isSetMaxOccurs()) {
if(0 != "1".compareTo(el.getMaxOccurs().toString()))
@@ -652,16 +648,16 @@
if(isArray)
javaType += "[]";
- wpm.setWpName(name);
+ wpm.setName(name);
wpm.setXmlType(xmlType);
wpm.setJavaType(javaType);
return wpm;
}
- private void processTBinding(TBinding tBind, BeehiveWsTypeMetadata wsm) {
+ private void processTBinding(TBinding tBind, WsmService wsm) {
org.xmlsoap.schemas.wsdl.soap.TBinding[] soapBinding = getSOAPBinding(tBind);
- BeehiveWsSOAPBindingInfo soapInfo = new DefaultSOAPBindingInfoImpl();
+ WsmSoapBinding soapInfo = new WsmSoapBinding();
if(soapBinding != null && soapBinding.length > 0) {
if(TStyleChoice.RPC.equals(soapBinding[0].getStyle())) {
soapInfo.setStyle(SOAPBinding.Style.RPC);
@@ -671,17 +667,17 @@
}
private void processTBindingOperation(TBinding tBind,
- BeehiveWsTypeMetadata wsm,
- Map<String, BeehiveWsMethodMetadata> methodMap) {
+ WsmService wsm,
+ Map<String, WsmOperation> methodMap) {
TBindingOperation[] tBops = tBind.getOperationArray();
for(TBindingOperation tBop : tBops) {
- BeehiveWsMethodMetadata wmm = methodMap.get(tBop.getName());
+ WsmOperation wmm = methodMap.get(tBop.getName());
if(wmm == null)
throw new RuntimeException("Invalid method name: " + tBop.getName());
org.xmlsoap.schemas.wsdl.soap.TOperation[] soapOperations = getSOAPOperations(tBop);
if(soapOperations != null && soapOperations.length > 0) {
- wmm.setWmAction(soapOperations[0].getSoapAction());
+ wmm.setAction(soapOperations[0].getSoapAction());
}
TBindingOperationMessage tbMsg = tBop.getInput();
if(tbMsg == null) {
@@ -693,7 +689,7 @@
if(wsm.getTargetNamespace() == null) {
wsm.setTargetNamespace(bodies[0].getNamespace());
}
- BeehiveWsSOAPBindingInfo soapInfo = wsm.getSoapBinding();
+ WsmSoapBinding soapInfo = wsm.getSoapBinding();
if(UseChoice.ENCODED.equals(bodies[0].getUse())) {
soapInfo.setUse(SOAPBinding.Use.ENCODED);
}
@@ -709,7 +705,7 @@
/**
* @param tbMsg
*/
- private void setSoapHeaders(BeehiveWsMethodMetadata wmm, TBindingOperationMessage tbMsg) {
+ private void setSoapHeaders(WsmOperation wmm, TBindingOperationMessage tbMsg) {
if(null == tbMsg) return;
// get the header
@@ -720,9 +716,10 @@
String part = nxtHeader.getPart();
if(part == null)
throw new RuntimeException("Missing part attribute in soap:header method: " + tbMsg.getName());
- BeehiveWsParameterMetadata argument = wmm.findParam(part);
+
+ WsmParameter argument = wmm.findParameter(part);
if(argument == null) throw new RuntimeException("Couldn't find part name: " + part + " in method " + wmm.getJavaMethodName());
- argument.setWpHeader(true);
+ argument.setHeader(true);
}
}
}
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/AxisGenerator.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/AxisGenerator.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/AxisGenerator.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/AxisGenerator.java Tue Jan 3 08:08:33 2006
@@ -20,7 +20,7 @@
import com.sun.mirror.declaration.TypeDeclaration;
import com.sun.mirror.util.SourcePosition;
import com.sun.mirror.apt.AnnotationProcessorEnvironment;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.model.jsr181.Jsr181ObjectModelStore;
import org.apache.beehive.wsm.processor.model.factory.BeehiveWsMetadataFactory;
import org.apache.beehive.wsm.processor.model.factory.BeehiveWsTypeMetadataFactory;
@@ -49,7 +49,7 @@
TypeResolver typeResolver = MirrorTypeResolver.getInstance(env);
SourcePosition position = typeDecl.getPosition();
- BeehiveWsTypeMetadata wsImplMetadata = factory.create(serviceBeanClassName,
+ WsmService wsImplMetadata = factory.create(serviceBeanClassName,
typeResolver,
position.file().getParent());
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsTypeMetadataFactory.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsTypeMetadataFactory.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsTypeMetadataFactory.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsTypeMetadataFactory.java Tue Jan 3 08:08:33 2006
@@ -17,11 +17,11 @@
*/
package org.apache.beehive.wsm.processor.model.factory;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmService;
public abstract class BeehiveWsTypeMetadataFactory {
- public abstract BeehiveWsTypeMetadata create(String serviceBeanClassName,
+ public abstract WsmService create(String serviceBeanClassName,
TypeResolver typeResolver,
String baseLocation);
}
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/mirror/MirrorFactoryImpl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/mirror/MirrorFactoryImpl.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/mirror/MirrorFactoryImpl.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/mirror/MirrorFactoryImpl.java Tue Jan 3 08:08:33 2006
@@ -22,7 +22,6 @@
import java.io.IOException;
import java.net.URL;
import java.net.MalformedURLException;
-import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import javax.jws.WebService;
@@ -43,28 +42,23 @@
import org.apache.beehive.wsm.processor.model.factory.BeehiveWsTypeMetadataFactory;
import org.apache.beehive.wsm.processor.model.factory.TypeResolver;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
-import org.apache.beehive.wsm.model.BeehiveWsMethodMetadata;
-import org.apache.beehive.wsm.model.BeehiveWsParameterMetadata;
-import org.apache.beehive.wsm.model.BeehiveWsSOAPBindingInfo;
-import org.apache.beehive.wsm.model.BeehiveWsSOAPMessageHandlerInfo;
-import org.apache.beehive.wsm.model.impl.DefaultTypeMetadataImpl;
-import org.apache.beehive.wsm.model.impl.DefaultMethodMetadataImpl;
-import org.apache.beehive.wsm.model.impl.DefaultParameterMetadataImpl;
-import org.apache.beehive.wsm.model.impl.DefaultSOAPBindingInfoImpl;
-import org.apache.beehive.wsm.model.impl.DefaultSOAPMessageHandlerInfoImpl;
+import org.apache.beehive.wsm.model.WsmService;
+import org.apache.beehive.wsm.model.WsmOperation;
+import org.apache.beehive.wsm.model.WsmParameter;
+import org.apache.beehive.wsm.model.WsmSoapBinding;
+import org.apache.beehive.wsm.model.WsmSoapMessageHandler;
import org.apache.beehive.wsm.exception.Jsr181ValidationException;
import org.apache.beehive.wsm.exception.IllegalHandlerConfigException;
import org.apache.beehive.wsm.util.HandlerChainParser;
/**
- * This class is used to create a {@link BeehiveWsTypeMetadata} object model given
+ * This class is used to create a {@link WsmService} object model given
* type metadata available via Java 5's annotation processing infrastructure. The
* Mirror classes provide the type system used to read annotations at bulid time.
*
* This class will work on TypeDeclarations (a Mirror representation of a Class, Interface, etc)
* to read annotations and other processed type metadata such as methods, parameters, etc. The
- * combination of a TypeDeclaration and "Mirror"-ed metadata is processed into the BeehiveWsTypeMetadata
+ * combination of a TypeDeclaration and "Mirror"-ed metadata is processed into the WsmService
* object model.
*
* The client is responsible for performing code generation, serializing, etc the object model.
@@ -75,10 +69,10 @@
private static final String SERVICE_SUFFIX = "Service";
private static final String DEFAULT_WR_NAME = "return";
- public BeehiveWsTypeMetadata create(String serviceBeanClassName,
+ public WsmService create(String serviceBeanClassName,
TypeResolver typeResolver,
String baseLocation) {
- BeehiveWsTypeMetadata wsMetadata = new DefaultTypeMetadataImpl();
+ WsmService wsMetadata = new WsmService();
TypeDeclaration implDecl = (TypeDeclaration)typeResolver.resolveType(serviceBeanClassName);
@@ -131,7 +125,7 @@
return wsMetadata;
}
- private void processClass(BeehiveWsTypeMetadata wsMetadata, TypeDeclaration typeDecl, String baseLocation) {
+ private void processClass(WsmService wsMetadata, TypeDeclaration typeDecl, String baseLocation) {
WebService ws = typeDecl.getAnnotation(WebService.class);
wsMetadata.setServiceClassName(typeDecl.getQualifiedName());
@@ -156,7 +150,7 @@
/* annot: SOAPBinding.class */
SOAPBinding soapBinding = typeDecl.getAnnotation(SOAPBinding.class);
if(soapBinding != null) {
- BeehiveWsSOAPBindingInfo soapBindingInfo = new DefaultSOAPBindingInfoImpl();
+ WsmSoapBinding soapBindingInfo = new WsmSoapBinding();
soapBindingInfo.setStyle(soapBinding.style());
soapBindingInfo.setUse(soapBinding.use());
soapBindingInfo.setParameterStyle(soapBinding.parameterStyle());
@@ -168,24 +162,27 @@
interface, the implementation's version wins */
SOAPMessageHandlers soapMessageHandlers = typeDecl.getAnnotation(SOAPMessageHandlers.class);
if(soapMessageHandlers != null) {
- for(SOAPMessageHandler soapMessageHandler : soapMessageHandlers.value()) {
- BeehiveWsSOAPMessageHandlerInfo soapMessageHandlerInfo = new DefaultSOAPMessageHandlerInfoImpl(soapMessageHandler);
+ for(SOAPMessageHandler soapMessageHandlerAnnot : soapMessageHandlers.value()) {
+ WsmSoapMessageHandler soapMessageHandlerInfo = new WsmSoapMessageHandler();
- String className = soapMessageHandler.className();
+ String className = soapMessageHandlerAnnot.className();
soapMessageHandlerInfo.setClassName(className);
- if(soapMessageHandler.name() != null && soapMessageHandler.name().length() > 0)
- soapMessageHandlerInfo.setName(soapMessageHandler.name());
+ if(soapMessageHandlerAnnot.name() != null && soapMessageHandlerAnnot.name().length() > 0)
+ soapMessageHandlerInfo.setName(soapMessageHandlerAnnot.name());
else soapMessageHandlerInfo.setName(className);
- for(InitParam p : soapMessageHandler.initParams())
+ for(InitParam p : soapMessageHandlerAnnot.initParams())
soapMessageHandlerInfo.addInitParam(p.name(), p.value());
- soapMessageHandlerInfo.addRoles(Arrays.asList(soapMessageHandler.roles()));
- for(String s : soapMessageHandler.headers())
- soapMessageHandlerInfo.addHeader(s);
+ String[] roles = soapMessageHandlerAnnot.roles();
+ for(String role : roles)
+ soapMessageHandlerInfo.addRole(role);
- wsMetadata.addSOAPHandler(soapMessageHandlerInfo);
+ for(String header : soapMessageHandlerAnnot.headers())
+ soapMessageHandlerInfo.addHeader(header);
+
+ wsMetadata.addSoapHandler(soapMessageHandlerInfo);
}
}
@@ -197,22 +194,22 @@
configureHandlerChain(handlerChain, wsMetadata, baseLocation);
}
- private void processMethod(BeehiveWsTypeMetadata wsMetadata, MethodDeclaration methodDecl) {
+ private void processMethod(WsmService wsMetadata, MethodDeclaration methodDecl) {
if(!methodDecl.getModifiers().contains(Modifier.PUBLIC))
return;
WebMethod webMethod = methodDecl.getAnnotation(WebMethod.class);
String methodName = methodDecl.getSimpleName();
- BeehiveWsMethodMetadata wsMethod = new DefaultMethodMetadataImpl();
- wsMethod.setReturnType(methodDecl.getReturnType().toString());
+ WsmOperation wsMethod = new WsmOperation();
+ wsMethod.setJavaReturnType(methodDecl.getReturnType().toString());
wsMethod.setJavaMethodName(methodName);
- wsMethod.setWrName(DEFAULT_WR_NAME);
+ wsMethod.setName(DEFAULT_WR_NAME);
WebResult webResult = methodDecl.getAnnotation(WebResult.class);
if(webResult != null) {
- wsMethod.setWrName(webResult.name());
- wsMethod.setWrTargetNamespace(webResult.targetNamespace());
+ wsMethod.setName(webResult.name());
+ wsMethod.setTargetNamespace(webResult.targetNamespace());
}
Oneway oneway = methodDecl.getAnnotation(Oneway.class);
@@ -221,48 +218,48 @@
}
if(webMethod != null) {
- wsMethod.setWmAction(webMethod.action());
- wsMethod.setWmOperationName(webMethod.operationName());
+ wsMethod.setAction(webMethod.action());
+ wsMethod.setOperationName(webMethod.operationName());
}
- if(wsMethod.getWmOperationName() == null || wsMethod.getWmOperationName().length() == 0)
- wsMethod.setWmOperationName(methodName);
+ if(wsMethod.getOperationName() == null || wsMethod.getOperationName().length() == 0)
+ wsMethod.setOperationName(methodName);
- if(wsMethod.getWmAction() == null || wsMethod.getWmAction().length() == 0)
- wsMethod.setWmAction("");
+ if(wsMethod.getAction() == null || wsMethod.getAction().length() == 0)
+ wsMethod.setAction("");
/* fill-in the targetNamespace from the @WebService annotation */
/* todo: it seems that this information should come from the parent so that the targetNamespace
is stored in *exactly* one place rather than 1 + # of WebMethods
*/
- String webMethodNamespace = wsMethod.getWrTargetNamespace();
+ String webMethodNamespace = wsMethod.getTargetNamespace();
if(webMethodNamespace == null || webMethodNamespace.length() == 0)
- wsMethod.setWrTargetNamespace(wsMetadata.getTargetNamespace());
+ wsMethod.setTargetNamespace(wsMetadata.getTargetNamespace());
for(ParameterDeclaration paramDecl : methodDecl.getParameters()) {
- BeehiveWsParameterMetadata wsParam = new DefaultParameterMetadataImpl();
+ WsmParameter wsParam = new WsmParameter();
wsParam.setJavaType(paramDecl.getType().toString());
- wsParam.setWpName(paramDecl.getSimpleName());
- wsParam.setWpMode(WebParam.Mode.IN);
+ wsParam.setName(paramDecl.getSimpleName());
+ wsParam.setMode(WebParam.Mode.IN);
WebParam webParam = paramDecl.getAnnotation(WebParam.class);
if(webParam != null) {
if(!webParam.name().equals(""))
- wsParam.setWpName(webParam.name());
- wsParam.setWpTargetNamespace(webParam.targetNamespace());
- wsParam.setWpMode(webParam.mode());
- wsParam.setWpHeader(webParam.header());
+ wsParam.setName(webParam.name());
+ wsParam.setTargetNamespace(webParam.targetNamespace());
+ wsParam.setMode(webParam.mode());
+ wsParam.setHeader(webParam.header());
}
- String wpTargetNamespace = wsParam.getWpTargetNamespace();
+ String wpTargetNamespace = wsParam.getTargetNamespace();
if(wpTargetNamespace == null || wpTargetNamespace.length() == 0)
- wsParam.setWpTargetNamespace(wsMetadata.getTargetNamespace());
+ wsParam.setTargetNamespace(wsMetadata.getTargetNamespace());
- wsMethod.addParam(wsParam);
+ wsMethod.addParameter(wsParam);
}
- wsMetadata.addMethod(wsMethod);
+ wsMetadata.addOperation(wsMethod);
}
/**
@@ -270,7 +267,7 @@
* @throws IllegalHandlerConfigException when the given file does not exist, is invalid, or some other runtime error occurs
* during processing.
*/
- private void configureHandlerChain(HandlerChain handlerChain, BeehiveWsTypeMetadata wsMetadata, String baseLocation) {
+ private void configureHandlerChain(HandlerChain handlerChain, WsmService wsMetadata, String baseLocation) {
/*
todo: need to figure out if URLs are the right thing to use here. the spec says
that URLs are relative (at the time of processing) or absolute. how does
@@ -300,8 +297,9 @@
xmlInputStream = chainConfigURL.openStream();
List soapHandlers = HandlerChainParser.getInstance().parse(xmlInputStream, xmlResourcePath);
-
- wsMetadata.setSOAPHandlers(soapHandlers);
+ for(int i = 0; i < soapHandlers.size(); i++) {
+ wsMetadata.addSoapHandler((WsmSoapMessageHandler)soapHandlers.get(i));
+ }
}
catch(Exception e) {
throw new IllegalHandlerConfigException("Exception parsing handler config file. Cause: " + e, e);
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/reflection/ReflectionFactoryImpl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/reflection/ReflectionFactoryImpl.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/reflection/ReflectionFactoryImpl.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/reflection/ReflectionFactoryImpl.java Tue Jan 3 08:08:33 2006
@@ -19,12 +19,12 @@
import org.apache.beehive.wsm.processor.model.factory.BeehiveWsTypeMetadataFactory;
import org.apache.beehive.wsm.processor.model.factory.TypeResolver;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmService;
class ReflectionFactoryImpl
extends BeehiveWsTypeMetadataFactory {
- public BeehiveWsTypeMetadata create(String serviceBeanClassName,
+ public WsmService create(String serviceBeanClassName,
TypeResolver typeResolver,
String baseLocation) {
/* todo: implement */
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/wsdl/WSDLFactoryImpl.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/wsdl/WSDLFactoryImpl.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/wsdl/WSDLFactoryImpl.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/wsdl/WSDLFactoryImpl.java Tue Jan 3 08:08:33 2006
@@ -19,12 +19,12 @@
import org.apache.beehive.wsm.processor.model.factory.BeehiveWsTypeMetadataFactory;
import org.apache.beehive.wsm.processor.model.factory.TypeResolver;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmService;
class WSDLFactoryImpl
extends BeehiveWsTypeMetadataFactory {
- public BeehiveWsTypeMetadata create(String serviceBeanClassName,
+ public WsmService create(String serviceBeanClassName,
TypeResolver typeResolver,
String baseLocation) {
/* todo: implement */
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Model2AJava.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Model2AJava.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Model2AJava.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Model2AJava.java Tue Jan 3 08:08:33 2006
@@ -21,7 +21,7 @@
import java.io.Writer;
import java.util.Properties;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.exception.CodeGenerationException;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@@ -31,7 +31,7 @@
/**
* This class performs model to annotated Java code generation. The model processed
- * here is an instance of {@link BeehiveWsTypeMetadata}.
+ * here is an instance of {@link WsmService}.
*/
public final class Model2AJava {
@@ -58,9 +58,11 @@
}
}
- public static void generateAnnotatedJavaFromOM(BeehiveWsTypeMetadata om, File baseSrcDir) {
+ public static void generateAnnotatedJavaFromOM(WsmService webService, File baseSrcDir) {
- String className = om.getName();
+ System.out.println("web service: " + webService);
+
+ String className = webService.getName();
assert className != null : "Found null class name";
/*
@@ -88,7 +90,7 @@
writer = new FileWriter(srcFile, false);
VelocityContext context = new VelocityContext();
- context.put(VELOCITY_CONTEXT_KEY_WEB_SERVICE, om);
+ context.put(VELOCITY_CONTEXT_KEY_WEB_SERVICE, webService);
TEMPLATE.merge(context, writer);
}
catch(Exception e) {
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Wsdl2AJava.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Wsdl2AJava.java?rev=365670&r1=365669&r2=365670&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Wsdl2AJava.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/tools/wsdl2ajava/Wsdl2AJava.java Tue Jan 3 08:08:33 2006
@@ -22,7 +22,7 @@
import org.apache.beehive.wsm.databinding.BindingLookupStrategy;
import org.apache.beehive.wsm.databinding.BindingLookupFactory;
-import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.model.wsdl.XmlBeanWSDLProcessor;
import org.apache.beehive.wsm.tools.wsdl2ajava.Model2AJava;
import org.apache.beehive.wsm.wsdl.Utilities;
@@ -64,7 +64,7 @@
return;
}
- BeehiveWsTypeMetadata om;
+ WsmService om;
try {
om = processor.getObjectModel();
Model2AJava.generateAnnotatedJavaFromOM(om, baseDir);