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 18:44:13 UTC
svn commit: r365691 - in /beehive/trunk/wsm/src:
axis/org/apache/beehive/wsm/axis/handlers/
axis/org/apache/beehive/wsm/axis/util/encoding/
core/org/apache/beehive/wsm/model/jsr181/
core/org/apache/beehive/wsm/model/wsdl/ core/org/apache/beehive/wsm/pr...
Author: ekoneil
Date: Tue Jan 3 09:43:57 2006
New Revision: 365691
URL: http://svn.apache.org/viewcvs?rev=365691&view=rev
Log:
Moving some stuff around before starting to generate XML descriptions of web services.
- Javadoc on some annotation-processing related classes
- rename BeehiveWsMetadataFactory to WsmServiceStyleFactory (used to get a WsmServiceFactory for a particular metadata style -- 1.5, 1.4, WSDL, etc)
- rename BeehiveWsTypeMetadataFactory to WsmServiceFactory
- created a generator/axis package and move AxisGenerator.java here
BB: self
Test: WSM pass
Added:
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/axis/
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/axis/AxisGenerator.java
- copied, changed from r365679, 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/WsmServiceFactory.java
- copied, changed from r365670, 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/WsmServiceStyleFactory.java
- copied, changed from r365668, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsMetadataFactory.java
Removed:
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/BeehiveWsMetadataFactory.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsTypeMetadataFactory.java
Modified:
beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/handlers/AnnotatedWebServiceDeploymentHandler.java
beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.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/ProcessorException.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/apt/WsmAnnotationProcessor.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/jaxrpc/JaxRpcResourceGenerator.java
beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/TypeResolver.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
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=365691&r1=365690&r2=365691&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 09:43:57 2006
@@ -100,11 +100,11 @@
protected SOAPService getSOAPService(Class clazz) {
assert clazz != null : "Can't create a SOAPService from a null class!";
- SOAPService ss = _soapServices.get(clazz.getName());
- if(ss == null) {
- WsmService typeMetadata = null;
+ SOAPService axisService = _soapServices.get(clazz.getName());
+ if(axisService == null) {
+ WsmService wsmService = null;
try {
- typeMetadata = Jsr181ObjectModelStore.load(clazz);
+ wsmService = Jsr181ObjectModelStore.load(clazz);
}
catch (IOException e) {
throw new IllegalStateException("Unable to load metadata for service \"" +
@@ -114,42 +114,35 @@
throw new IllegalStateException("Unable to load metadata for service \"" +
clazz.getName() + "\". Cause: " + e, e);
}
-
- ss = createSOAPService(typeMetadata, clazz);
+ axisService = createSOAPService(wsmService, clazz);
}
-
- assert ss != null;
- return ss;
+ assert axisService != null;
+ return axisService;
}
- /**
- * @param wsm
- * @param cls
- * @return SOAPService
- */
private SOAPService createSOAPService(WsmService wsm, Class cls) {
assert wsm != null : "Unable to create SOAPService since the WSM object model is null";
/* todo: wire-up the ControlProvider as a handler. is that possible? */
- SOAPService ss = new SOAPService(null, new ControlProvider(), null);
+ SOAPService axisSoapService = new SOAPService(null, new ControlProvider(), null);
/* add jaxrpc handlers if there are any. */
- HandlerInfoChainFactory jaxrpcChain = getJaxRPCHandlerChainFactory(wsm);
- if(jaxrpcChain != null)
- ss.setOption(Constants.ATTR_HANDLERINFOCHAIN, jaxrpcChain);
- ss.setName(wsm.getName());
- ss.setOption(RPCProvider.OPTION_CLASSNAME, cls.getName());
+ HandlerInfoChainFactory jaxrpcHandlerChain = configureJaxRpcHandlerChainFactory(wsm);
+ if(jaxrpcHandlerChain != null)
+ axisSoapService.setOption(Constants.ATTR_HANDLERINFOCHAIN, jaxrpcHandlerChain);
+ axisSoapService.setName(wsm.getName());
+ axisSoapService.setOption(RPCProvider.OPTION_CLASSNAME, cls.getName());
/* Take the setting for the scope option from the handler parameter named "scope" */
String scope = (String)getOption(RPCProvider.OPTION_SCOPE);
if(null == scope)
scope = "Request";
- ss.setOption(RPCProvider.OPTION_SCOPE, scope);
- ServiceDesc sd = null;
+ axisSoapService.setOption(RPCProvider.OPTION_SCOPE, scope);
+ ServiceDesc axisServiceDesc = null;
try {
- sd = ServiceDescriptionFactory.getInstance().createServiceDescription(wsm, cls.getClassLoader());
+ axisServiceDesc = ServiceDescriptionFactory.getInstance().createServiceDescription(wsm, cls.getClassLoader());
}
catch(ClassNotFoundException e) {
throw new IllegalStateException("Unable to create service description for web service in class \""
@@ -160,38 +153,34 @@
+ wsm.getServiceClassName() + "\". Cause: " + e, e);
}
- ss.setServiceDescription(sd);
-
- List allowedMethodNames = sd.getAllowedMethods();
- Iterator allowedMethods = allowedMethodNames.iterator();
+ axisSoapService.setServiceDescription(axisServiceDesc);
StringBuffer sb = new StringBuffer();
- boolean first = true;
- while(allowedMethods.hasNext()) {
- if(!first)
- sb.append(' ');
- sb.append(allowedMethods.next());
- first = false;
- }
-
- ss.setOption(RPCProvider.OPTION_ALLOWEDMETHODS, sb.toString());
- ss.setOption(RPCProvider.OPTION_WSDL_PORTTYPE, wsm.getName());
- ss.setOption(RPCProvider.OPTION_WSDL_SERVICEPORT, wsm.getName());
- ss.setOption(RPCProvider.OPTION_WSDL_SERVICEELEMENT, wsm.getServiceName());
- ss.setOption(RPCProvider.OPTION_WSDL_TARGETNAMESPACE, wsm.getTargetNamespace());
- ss.setStyle(sd.getStyle());
- ss.setUse(sd.getUse());
- _soapServices.put(cls.getName(), ss);
+ List allowedMethodNames = axisServiceDesc.getAllowedMethods();
+ for(int i = 0; i < allowedMethodNames.size(); i++) {
+ if(i > 0)
+ sb.append(',');
+ sb.append(allowedMethodNames.get(i));
+ }
+
+ axisSoapService.setOption(RPCProvider.OPTION_ALLOWEDMETHODS, sb.toString());
+ axisSoapService.setOption(RPCProvider.OPTION_WSDL_PORTTYPE, wsm.getName());
+ axisSoapService.setOption(RPCProvider.OPTION_WSDL_SERVICEPORT, wsm.getName());
+ axisSoapService.setOption(RPCProvider.OPTION_WSDL_SERVICEELEMENT, wsm.getServiceName());
+ axisSoapService.setOption(RPCProvider.OPTION_WSDL_TARGETNAMESPACE, wsm.getTargetNamespace());
+ axisSoapService.setStyle(axisServiceDesc.getStyle());
+ axisSoapService.setUse(axisServiceDesc.getUse());
+ _soapServices.put(cls.getName(), axisSoapService);
- return ss;
+ return axisSoapService;
}
- private HandlerInfoChainFactory getJaxRPCHandlerChainFactory(WsmService wsm) {
+ private HandlerInfoChainFactory configureJaxRpcHandlerChainFactory(WsmService wsm) {
HandlerInfoChainFactory res = null;
- List handlers = wsm.getSoapHandlers();
- if(handlers.size() > 0) {
+ List handlers = wsm.getSoapHandlers();
+ if(handlers != null && handlers.size() > 0) {
ArrayList<HandlerInfo> infoList = new ArrayList<HandlerInfo>();
HashSet<String> roles = new HashSet<String>();
@@ -205,8 +194,7 @@
}
catch(ClassNotFoundException e) {
throw new IllegalStateException("Could not locate handler class \""
- + handler.getClassName()
- + "\". Cause: " + e, e);
+ + handler.getClassName() + "\". Cause: " + e, e);
}
QName[] handlerHeaders = (QName[])handler.getHeaders().toArray(new QName[0]);
@@ -214,17 +202,13 @@
roles.addAll(handler.getRoles());
}
- res = new HandlerInfoChainFactory(infoList);
String[] roleArray = roles.toArray(new String[0]);
+ res = new HandlerInfoChainFactory(infoList);
res.setRoles(roleArray);
}
return res;
}
- /**
- * @param mc
- * @return web service Class
- */
private Class getWebServiceClass(MessageContext mc) {
assert mc != null;
@@ -246,7 +230,7 @@
LOGGER.debug("attempt to load web service class: " + className);
try {
- return Jsr181ObjectModelStore.loadWebServiceClass(className);
+ return Thread.currentThread().getContextClassLoader().loadClass(className);
}
catch(ClassNotFoundException e) {
throw new IllegalStateException("Could not locate web service class \"" + className + "\". Cause: " + e, e);
Modified: beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.java?rev=365691&r1=365690&r2=365691&view=diff
==============================================================================
--- beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.java (original)
+++ beehive/trunk/wsm/src/axis/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.java Tue Jan 3 09:43:57 2006
@@ -44,9 +44,7 @@
import org.xml.sax.Attributes;
/**
- * ****************************************************************************
- *
- * @author Jonathan Colwell
+ *
*/
public class XmlBeanSerializer
implements Serializer {
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=365691&r1=365690&r2=365691&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 09:43:57 2006
@@ -35,20 +35,12 @@
/**
* Encapsulates all knowledge about where and how object models are persisted.
*/
-public class Jsr181ObjectModelStore {
-
- /* todo: need to switch entirely to throwing ObjectModelStoreException */
+public final class Jsr181ObjectModelStore {
private final static String EXTENSION = ".ser";
- private final static String FILE_NAME_LOCATOR = ".webservices";
private Jsr181ObjectModelStore() {}
- /**
- * @param clazz
- * @throws IOException
- * @throws ClassNotFoundException
- */
public static WsmService load(Class clazz)
throws IOException, ClassNotFoundException {
@@ -72,35 +64,6 @@
return typeMetadata;
}
- /**
- * @param is
- * @throws IOException
- * @throws ClassNotFoundException
- */
- public static final WsmService load(InputStream is)
- throws IOException, ClassNotFoundException {
-
- if(null == is)
- throw new IOException("cannot load object model without input stream");
-
- WsmService objectModel = null;
- ObjectInputStream ois = null;
- try {
- ois = new ObjectInputStream(is);
- objectModel = (WsmService)ois.readObject();
- }
- finally {
- if(null != ois)
- ois.close();
- }
- return objectModel;
- }
-
- /**
- * Persists a given <code>objectModel</code>.
- *
- * @param objectModel The object mode to be persisted.
- */
public static void store(AnnotationProcessorEnvironment env, WsmService objectModel) {
if(objectModel == null)
@@ -134,27 +97,25 @@
}
}
- /**
- * Tries to find the class with a given <code>className</code>. If
- * <code>className</code> is a simple name, the method tries to find a
- * matching fully qualified class name. The respective class is then
- * loaded and returned.
- *
- * @param className A class name; may be a fully qualified or a simple class
- * name.
- * @return A class with a matching name.
- */
- public static Class loadWebServiceClass(String className)
- throws ClassNotFoundException {
- return Thread.currentThread().getContextClassLoader().loadClass(className);
+ private static WsmService load(InputStream is)
+ throws IOException, ClassNotFoundException {
+
+ if(null == is)
+ throw new IOException("cannot load object model without input stream");
+
+ WsmService objectModel = null;
+ ObjectInputStream ois = null;
+ try {
+ ois = new ObjectInputStream(is);
+ objectModel = (WsmService)ois.readObject();
+ }
+ finally {
+ if(null != ois)
+ ois.close();
+ }
+ return objectModel;
}
- /**
- * Encapsulates the encoding of the pathname for object models.
- *
- * @param className
- * @return File
- */
private static File getLocation(String className) {
return new File(className + EXTENSION);
}
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=365691&r1=365690&r2=365691&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 09:43:57 2006
@@ -57,7 +57,7 @@
* class also provides a set of operations for determining the service name, etc from a WSDL.
*/
/*
- todo: convert this class into a BeehiveWsMetadataFactory implementation for building an object
+ todo: convert this class into a WsmServiceStyleFactory implementation for building an object
model from a WSDL document
todo: rewrite this to use WSDL4J instead of XMLBeans
*/
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/ProcessorException.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/ProcessorException.java?rev=365691&r1=365690&r2=365691&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/ProcessorException.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/ProcessorException.java Tue Jan 3 09:43:57 2006
@@ -38,7 +38,7 @@
}
public ProcessorException(Throwable t) {
- super("Code Generation Exception", t);
+ super("Metadata processing exception", t);
}
}
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/apt/WsmAnnotationProcessor.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/apt/WsmAnnotationProcessor.java?rev=365691&r1=365690&r2=365691&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/apt/WsmAnnotationProcessor.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/apt/WsmAnnotationProcessor.java Tue Jan 3 09:43:57 2006
@@ -18,7 +18,7 @@
package org.apache.beehive.wsm.processor.apt;
import org.apache.beehive.wsm.processor.TwoPhaseAnnotationProcessor;
-import org.apache.beehive.wsm.processor.generator.AxisGenerator;
+import org.apache.beehive.wsm.processor.generator.axis.AxisGenerator;
import org.apache.beehive.wsm.processor.generator.WsmResourceGenerator;
import org.apache.beehive.wsm.processor.checker.Jsr181AnnotationChecker;
import com.sun.mirror.declaration.Declaration;
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/axis/AxisGenerator.java (from r365679, 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/axis/AxisGenerator.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/axis/AxisGenerator.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/AxisGenerator.java&r1=365679&r2=365691&rev=365691&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/axis/AxisGenerator.java Tue Jan 3 09:43:57 2006
@@ -15,17 +15,18 @@
*
* $Header:$
*/
-package org.apache.beehive.wsm.processor.generator;
+package org.apache.beehive.wsm.processor.generator.axis;
import com.sun.mirror.declaration.TypeDeclaration;
import com.sun.mirror.util.SourcePosition;
import com.sun.mirror.apt.AnnotationProcessorEnvironment;
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;
+import org.apache.beehive.wsm.processor.model.factory.WsmServiceStyleFactory;
+import org.apache.beehive.wsm.processor.model.factory.WsmServiceFactory;
import org.apache.beehive.wsm.processor.model.factory.TypeResolver;
import org.apache.beehive.wsm.processor.model.factory.mirror.MirrorTypeResolver;
+import org.apache.beehive.wsm.processor.generator.WsmResourceGenerator;
public class AxisGenerator
extends WsmResourceGenerator {
@@ -39,8 +40,8 @@
public void generate(AnnotationProcessorEnvironment env, TypeDeclaration typeDecl) {
- BeehiveWsTypeMetadataFactory factory =
- BeehiveWsMetadataFactory.create(BeehiveWsMetadataFactory.FactoryType.MIRROR);
+ WsmServiceFactory factory =
+ WsmServiceStyleFactory.create(WsmServiceStyleFactory.FactoryType.MIRROR);
/* todo: there needs to be an environmental abstraction for resolving types from
a reflection client / environment and a Mirror client / environment
@@ -50,10 +51,12 @@
TypeResolver typeResolver = MirrorTypeResolver.getInstance(env);
SourcePosition position = typeDecl.getPosition();
- WsmService wsImplMetadata = factory.create(serviceBeanClassName,
- typeResolver,
- position.file().getParent());
+ WsmService wsmService = factory.create(serviceBeanClassName,
+ typeResolver,
+ position.file().getParent());
- Jsr181ObjectModelStore.store(env, wsImplMetadata);
+ /* serialize WsmService model to XML */
+
+ Jsr181ObjectModelStore.store(env, wsmService);
}
}
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/jaxrpc/JaxRpcResourceGenerator.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/jaxrpc/JaxRpcResourceGenerator.java?rev=365691&r1=365690&r2=365691&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/jaxrpc/JaxRpcResourceGenerator.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/generator/jaxrpc/JaxRpcResourceGenerator.java Tue Jan 3 09:43:57 2006
@@ -18,7 +18,6 @@
package org.apache.beehive.wsm.processor.generator.jaxrpc;
import org.apache.beehive.wsm.processor.generator.WsmResourceGenerator;
-import org.apache.beehive.wsm.processor.generator.AxisGenerator;
import com.sun.mirror.apt.AnnotationProcessorEnvironment;
import com.sun.mirror.declaration.TypeDeclaration;
Modified: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/TypeResolver.java
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/TypeResolver.java?rev=365691&r1=365690&r2=365691&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/TypeResolver.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/TypeResolver.java Tue Jan 3 09:43:57 2006
@@ -18,7 +18,10 @@
package org.apache.beehive.wsm.processor.model.factory;
/**
- *
+ * <p>
+ * Abstraction used to hide the details of type resolution when processing metadata
+ * from an metadata-driven web service.
+ * </p>
*/
public abstract class TypeResolver {
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/WsmServiceFactory.java (from r365670, 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/WsmServiceFactory.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/WsmServiceFactory.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsTypeMetadataFactory.java&r1=365670&r2=365691&rev=365691&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/WsmServiceFactory.java Tue Jan 3 09:43:57 2006
@@ -19,9 +19,18 @@
import org.apache.beehive.wsm.model.WsmService;
-public abstract class BeehiveWsTypeMetadataFactory {
+/**
+ * <p>
+ * Abstract factory class that is subclassed to create concrete implementations
+ * of classes that can create {@link WsmService} JavaBeans from some type of service
+ * description. A service description could be an annotated Java 5 source file,
+ * a class file, a Java 1.4 source file, a WSDL, and so on.
+ * </p>
+ */
+public abstract class WsmServiceFactory {
+ /* todo: this interface doesn't seem general enough */
public abstract WsmService create(String serviceBeanClassName,
- TypeResolver typeResolver,
- String baseLocation);
+ TypeResolver typeResolver,
+ String baseLocation);
}
Copied: beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/WsmServiceStyleFactory.java (from r365668, beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsMetadataFactory.java)
URL: http://svn.apache.org/viewcvs/beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/WsmServiceStyleFactory.java?p2=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/WsmServiceStyleFactory.java&p1=beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsMetadataFactory.java&r1=365668&r2=365691&rev=365691&view=diff
==============================================================================
--- beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/BeehiveWsMetadataFactory.java (original)
+++ beehive/trunk/wsm/src/core/org/apache/beehive/wsm/processor/model/factory/WsmServiceStyleFactory.java Tue Jan 3 09:43:57 2006
@@ -19,26 +19,39 @@
import org.apache.beehive.wsm.processor.ProcessorException;
-public class BeehiveWsMetadataFactory {
+/**
+ * <p>
+ * Top-most factory used to find a metadata processor. This factory is used to
+ * find a factory that can handle a specific metadata grammar; for example,
+ * a web service could be annotated with Java 5 metadata, XDoclet metadata,
+ * or be encoded in a WSDL document.
+ * </p>
+ * <p>
+ * The factory obtained here can be used to convert a source file of some sort
+ * into a {@link org.apache.beehive.wsm.model.WsmService} object that can be
+ * used to produce code to support a web service runtime.
+ * </p>
+ */
+public class WsmServiceStyleFactory {
public enum FactoryType {
MIRROR, REFLECT, WSDL
}
- private BeehiveWsMetadataFactory() {
+ private WsmServiceStyleFactory() {
}
- public static BeehiveWsTypeMetadataFactory create(FactoryType factoryType) {
+ public static WsmServiceFactory create(FactoryType factoryType) {
String className = null;
if(factoryType == FactoryType.MIRROR)
className = "org.apache.beehive.wsm.processor.model.factory.mirror.MirrorFactoryImpl";
else throw new IllegalArgumentException("Can not create factory of type " + factoryType);
- BeehiveWsTypeMetadataFactory factory = null;
+ WsmServiceFactory factory = null;
try {
Class clazz = Class.forName(className);
- factory = (BeehiveWsTypeMetadataFactory)clazz.newInstance();
+ factory = (WsmServiceFactory)clazz.newInstance();
}
catch(ClassNotFoundException e) {
throw new ProcessorException(e);
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=365691&r1=365690&r2=365691&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 09:43:57 2006
@@ -40,7 +40,7 @@
import com.sun.mirror.declaration.ParameterDeclaration;
import com.sun.mirror.declaration.Modifier;
-import org.apache.beehive.wsm.processor.model.factory.BeehiveWsTypeMetadataFactory;
+import org.apache.beehive.wsm.processor.model.factory.WsmServiceFactory;
import org.apache.beehive.wsm.processor.model.factory.TypeResolver;
import org.apache.beehive.wsm.model.WsmService;
import org.apache.beehive.wsm.model.WsmOperation;
@@ -64,7 +64,7 @@
* The client is responsible for performing code generation, serializing, etc the object model.
*/
public class MirrorFactoryImpl
- extends BeehiveWsTypeMetadataFactory {
+ extends WsmServiceFactory {
private static final String SERVICE_SUFFIX = "Service";
private static final String DEFAULT_WR_NAME = "return";
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=365691&r1=365690&r2=365691&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 09:43:57 2006
@@ -17,12 +17,12 @@
*/
package org.apache.beehive.wsm.processor.model.factory.reflection;
-import org.apache.beehive.wsm.processor.model.factory.BeehiveWsTypeMetadataFactory;
+import org.apache.beehive.wsm.processor.model.factory.WsmServiceFactory;
import org.apache.beehive.wsm.processor.model.factory.TypeResolver;
import org.apache.beehive.wsm.model.WsmService;
class ReflectionFactoryImpl
- extends BeehiveWsTypeMetadataFactory {
+ extends WsmServiceFactory {
public WsmService create(String serviceBeanClassName,
TypeResolver typeResolver,
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=365691&r1=365690&r2=365691&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 09:43:57 2006
@@ -17,12 +17,12 @@
*/
package org.apache.beehive.wsm.processor.model.factory.wsdl;
-import org.apache.beehive.wsm.processor.model.factory.BeehiveWsTypeMetadataFactory;
+import org.apache.beehive.wsm.processor.model.factory.WsmServiceFactory;
import org.apache.beehive.wsm.processor.model.factory.TypeResolver;
import org.apache.beehive.wsm.model.WsmService;
class WSDLFactoryImpl
- extends BeehiveWsTypeMetadataFactory {
+ extends WsmServiceFactory {
public WsmService create(String serviceBeanClassName,
TypeResolver typeResolver,