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,