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 2005/07/11 16:15:35 UTC

svn commit: r210139 - in /incubator/beehive/sandbox/ekoneil/wsm: drt/ drt/tests/org/apache/beehive/wsm/axis/ drt/tests/org/apache/beehive/wsm/jsr181/model/ drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/ drt/tests/org/apache/beehive/wsm/jsr181/w...

Author: ekoneil
Date: Mon Jul 11 07:15:33 2005
New Revision: 210139

URL: http://svn.apache.org/viewcvs?rev=210139&view=rev
Log:
More work on WSM in the sandbox.  This change has all of the WSM DRTs passing except for ones dealing with endpoint interfaces, which aren't wired up yet.

Changes:
- removes lots of unnecessary classes in model/java, processor, etc.
- switches all handling of Java types during annotation processing from Class to String in the web service model.  Implementations that wish to verify types via reflection are free to do so as long as the model represents those types as Strings.
- cleanup exception handling to throw RuntimeException subtypes from methods rather than checked exceptions
- remove unused Bar2 and Bar3 test case base classes

BB: self
DRT: all pass but the endpoint interface



Added:
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/ObjectModelStoreException.java   (with props)
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/HackUtils.java   (with props)
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/WsmResourceGenerator.java   (with props)
Removed:
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/Bar2TestCase.java
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/Bar3TestCase.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/java/
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181MethodMetadataImpl.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ParameterMetadataImpl.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181TypeMetadataImpl.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor/
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/util/TypeMappingUtil.java
Modified:
    incubator/beehive/sandbox/ekoneil/wsm/drt/build.xml
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/axis/AxisHookTest.java
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/BarTestCase.java
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/FooTestCase.java
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorEndpointInterfaceTest.java
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorTest.java
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/WSDL2AnnotatedJavaTest.java
    incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessorTest.java
    incubator/beehive/sandbox/ekoneil/wsm/src/api/javax/jws/soap/SOAPBinding.java
    incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/AxisHook.java
    incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/tools/Wsdl2AJava.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultMethodMetadataImpl.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultParameterMetadataImpl.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultTypeMetadataImpl.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/apt/WsmAnnotationProcessor.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/AxisGenerator.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/model/factory/impl/MirrorFactoryImpl.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/Utilities.java
    incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/wsdl2ajava.vm

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/build.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/build.xml?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/build.xml (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/build.xml Mon Jul 11 07:15:33 2005
@@ -63,6 +63,7 @@
         <echo message="--------------------------------------------------"/>
         <echo message="|         WSM DRT starting                       |"/>
         <echo message="--------------------------------------------------"/>
+        <antcall target="clean"/>
         <antcall target="build"/>
         <antcall target="run.drt"/>
         <echo message="--------------------------------------------------"/>
@@ -72,7 +73,7 @@
 
     <target name="build" depends="dirs,xbean,gen_wsdl2java_test,build.webapp,build.tests"/>
 
-    <target name="clean" depends="clean.tests, clean.webapp"/>
+    <target name="clean" depends="clean.tests,clean.webapp"/>
 
     <target name="dirs">
         <mkdir dir="${build.classes}"/>
@@ -116,6 +117,7 @@
     <target name="clean.webapp">
         <clean-webapp webappDir="${webapp.dir}"/>
         <delete dir="${webapp.dir}/WEB-INF/lib"/>
+        <delete dir="${webapp.dir}/WEB-INF/classes"/>
     </target>
 
     <target name="xbean">

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/axis/AxisHookTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/axis/AxisHookTest.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/axis/AxisHookTest.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/axis/AxisHookTest.java Mon Jul 11 07:15:33 2005
@@ -20,12 +20,12 @@
 package org.apache.beehive.wsm.axis;
 
 import java.util.ArrayList;
-
 import javax.jws.WebParam;
 import javax.jws.soap.SOAPBinding;
 import javax.wsdl.OperationType;
 
 import junit.framework.TestCase;
+
 import org.apache.axis.constants.Style;
 import org.apache.axis.constants.Use;
 import org.apache.axis.description.OperationDesc;
@@ -33,17 +33,18 @@
 import org.apache.axis.description.ServiceDesc;
 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.DefaultSOAPBindingInfoImpl;
-import org.apache.beehive.wsm.model.jsr181.Jsr181ParameterMetadataImpl;
-import org.apache.beehive.wsm.model.jsr181.Jsr181TypeMetadataImpl;
-import org.apache.beehive.wsm.model.BeehiveWsSOAPBindingInfo;
+import org.apache.beehive.wsm.model.impl.DefaultTypeMetadataImpl;
+import org.apache.beehive.wsm.model.impl.DefaultParameterMetadataImpl;
 
 /**
  *
  */
-public class AxisHookTest extends TestCase {
+public class AxisHookTest
+    extends TestCase {
 
     public static final Class WS_CLASS = FakeWebService.class;
     public static final String WM_JAVAMETHODNAME = "fakeWebMethod";
@@ -136,7 +137,7 @@
     }
 
     protected BeehiveWsTypeMetadata makeFakeMetadata() throws Exception {
-        BeehiveWsTypeMetadata wstm = new Jsr181TypeMetadataImpl();
+        BeehiveWsTypeMetadata wstm = new DefaultTypeMetadataImpl();
         wstm.setClassName(WS_CLASS.getName());
         wstm.setWsName(WS_NAME);
         /*
@@ -153,15 +154,16 @@
     }
 
     protected BeehiveWsMethodMetadata makeFakeOnewayMethod() {
-        BeehiveWsMethodMetadata wsmm =
-            new DefaultMethodMetadataImpl(WM_JAVAONEWAYMETHODNAME, Void.TYPE);
+        BeehiveWsMethodMetadata wsmm = new DefaultMethodMetadataImpl();
+        wsmm.setJavaMethodName(WM_JAVAONEWAYMETHODNAME);
+        wsmm.setReturnType(void.class.getName());
         wsmm.setWmOperationName(WM_ONEWAY + WM_OPERATION);
         wsmm.setWmAction(WM_ONEWAY + WM_ACTION);
         wsmm.setOneWay(true);
-        BeehiveWsParameterMetadata wspm = new Jsr181ParameterMetadataImpl();
+        BeehiveWsParameterMetadata wspm = new DefaultParameterMetadataImpl();
         wspm.setWpName(WM_ONEWAYPARAM);
         wspm.setWpMode(WebParam.Mode.IN);
-        wspm.setJavaType(Boolean.class);
+        wspm.setJavaType(Boolean.class.getName());
         wsmm.addParam(wspm);
         return wsmm;
     }
@@ -169,31 +171,33 @@
     
     
     protected BeehiveWsMethodMetadata makeFakeMethod() {
-        BeehiveWsMethodMetadata wsmm =
-            new DefaultMethodMetadataImpl(WM_JAVAMETHODNAME, String.class);
+        BeehiveWsMethodMetadata wsmm = new DefaultMethodMetadataImpl();
+        wsmm.setJavaMethodName(WM_JAVAMETHODNAME);
+        wsmm.setReturnType(String.class.getName());
         wsmm.setWmOperationName(WM_OPERATION);
         wsmm.setWmAction(WM_ACTION);
         wsmm.setWrName(WM_RESULT);
         wsmm.setOneWay(false);
-        BeehiveWsParameterMetadata wspm = new Jsr181ParameterMetadataImpl();
+        BeehiveWsParameterMetadata wspm = new DefaultParameterMetadataImpl();
         wspm.setWpName(WM_TWOWAYPARAM);
         wspm.setWpMode(WebParam.Mode.INOUT);
-        wspm.setJavaType(javax.xml.rpc.holders.IntHolder.class);
+        wspm.setJavaType(javax.xml.rpc.holders.IntHolder.class.getName());
         wsmm.addParam(wspm);
         return wsmm;
     }
     
     protected BeehiveWsMethodMetadata makeFakeMethodWithException() {
-        BeehiveWsMethodMetadata wsmm =
-            new DefaultMethodMetadataImpl(WM_JAVAMETHODWITHEXCEPIONNAME, String.class);
+        BeehiveWsMethodMetadata wsmm = new DefaultMethodMetadataImpl();
+        wsmm.setJavaMethodName(WM_JAVAMETHODWITHEXCEPIONNAME);
+        wsmm.setReturnType(String.class.getName());
         wsmm.setWmOperationName(WM_EXCEPTION + WM_OPERATION);
         wsmm.setWmAction(WM_EXCEPTION + WM_ACTION);
         wsmm.setWrName(WM_RESULT);
         wsmm.setOneWay(false);
-        BeehiveWsParameterMetadata wspm = new Jsr181ParameterMetadataImpl();
+        BeehiveWsParameterMetadata wspm = new DefaultParameterMetadataImpl();
         wspm.setWpName(WM_TWOWAYPARAM);
         wspm.setWpMode(WebParam.Mode.INOUT);
-        wspm.setJavaType(javax.xml.rpc.holders.IntHolder.class);
+        wspm.setJavaType(javax.xml.rpc.holders.IntHolder.class.getName());
         wsmm.addParam(wspm);
         return wsmm;
     }

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/BarTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/BarTestCase.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/BarTestCase.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/BarTestCase.java Mon Jul 11 07:15:33 2005
@@ -59,7 +59,7 @@
         assertFalse("Unexpected @Oneway;", method.isOneWay());
         assertEquals("Invalid wrName;", "return", method.getWrName());
         assertEquals("Invalid return type;",
-                boolean.class,
+                boolean.class.getName(),
                 method.getJavaReturnType());
     }
 
@@ -70,7 +70,7 @@
         assertTrue("Cannot find @Oneway;", method.isOneWay());
         assertEquals("Unexpected @WebResult;", "return", method.getWrName());
         assertEquals("Unexpected return type;",
-                void.class,
+                void.class.getName(),
                 method.getJavaReturnType());
     }
 
@@ -81,7 +81,7 @@
         assertFalse("Unexpected @Oneway;", method.isOneWay());
         assertEquals("Unexpected @WebResult;", "return", method.getWrName());
         assertEquals("Unexpected return type;",
-                int.class,
+                int.class.getName(),
                 method.getJavaReturnType());
     }
 
@@ -91,7 +91,7 @@
         assertNotNull("Cannot find first param for WebMethod GoLoco();", param);
         assertEquals("Invalid wpName;", "level", param.getWpName());
         assertEquals("Invalid return type: " + param.getJavaType(),
-                int.class,
+                int.class.getName(),
                 param.getJavaType());
     }
 
@@ -101,7 +101,7 @@
         assertNotNull("Cannot find second param for WebMethod GoLoco();", param);
         assertEquals("Invalid wpName;", "detailCheetorama", param.getWpName());
         assertEquals("Invalid return type: " + param.getJavaType(),
-                String.class,
+                String.class.getName(),
                 param.getJavaType());
     }
 
@@ -111,7 +111,7 @@
         assertNotNull("Cannot find first param for method goHome();", param);
         assertEquals("Invalid wpName;", "whenCheetorama", param.getWpName());
         assertEquals("Invalid return type: " + param.getJavaType(),
-                long.class,
+                long.class.getName(),
                 param.getJavaType());
     }
 
@@ -121,7 +121,7 @@
         assertNotNull("Cannot find first param for method dropMoney();", param);
         assertEquals("Invalid wpName;", "amount", param.getWpName());
         assertEquals("Invalid return type: " + param.getJavaType(),
-                int.class,
+                int.class.getName(),
                 param.getJavaType());
     }
 

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/FooTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/FooTestCase.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/FooTestCase.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/model/FooTestCase.java Mon Jul 11 07:15:33 2005
@@ -1,5 +1,3 @@
-package org.apache.beehive.wsm.jsr181.model;
-
 /*
  * Copyright 2004 The Apache Software Foundation
  *
@@ -17,6 +15,7 @@
  *
  * $Header:$
  */
+package org.apache.beehive.wsm.jsr181.model;
 
 import junit.framework.TestCase;
 import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
@@ -30,80 +29,93 @@
  * with JSR-181 (e.g. if it can't fill in all default values) it needs to
  * override the respective tests.
  */
-public class FooTestCase extends TestCase {
+public abstract class FooTestCase
+    extends TestCase {
+
     protected static final String CLASSNAME = "web.Foo";
     protected static final String SRCFILENAME = "web/Foo.jws";
 
-    protected BeehiveWsTypeMetadata objectModel;
+    private BeehiveWsTypeMetadata objectModel;
+
+    public void setUp() {
+        objectModel = createWebserviceMetadata();
+    }
+
+    protected abstract BeehiveWsTypeMetadata createWebserviceMetadata();
 
-    public void testObjectModel() throws Exception {
+    public void testObjectModel()
+        throws Exception {
         assertNotNull("Failed to retrieve object model;", objectModel);
     }
 
-    public void testWebServiceAbacus() throws Exception {
-        assertEquals("Invalid wsName;", "Abacus",
-                ((BeehiveWsTypeMetadata) objectModel).getWsName());
+    public void testWebServiceAbacus()
+        throws Exception {
+        assertEquals("Invalid wsName;", "Abacus", ((BeehiveWsTypeMetadata) objectModel).getWsName());
         
         // todo test endpointInterface
 
-        assertEquals("Invalid wsTargetNamespace;",
-                "http://www.superflaco.com/AnnotationTest",
+        assertEquals("Invalid wsTargetNamespace;", "http://www.superflaco.com/AnnotationTest",
                 ((BeehiveWsTypeMetadata) objectModel).getWsTargetNamespace());
     }
 
-    public void testWebMethodGoLoco() throws Exception {
+    public void testWebMethodGoLoco()
+        throws Exception {
         BeehiveWsMethodMetadata method = getMethod("GoLoco");
         assertNotNull("Cannot find WebMethod GoLoco();", method);
         assertEquals("Invalid wmAction;", "LocoAction", method.getWmAction());
         assertFalse("Unexpected @Oneway;", method.isOneWay());
         assertEquals("Invalid wrName;", "return", method.getWrName());
         assertEquals("Invalid return type;",
-                boolean.class,
+                boolean.class.getName(),
                 method.getJavaReturnType());
     }
 
-    public void testWebMethodGoHome() throws Exception {
+    public void testWebMethodGoHome()
+        throws Exception {
         BeehiveWsMethodMetadata method = getMethod("goHome");
         assertNotNull("Cannot find WebMethod goHome();", method);
         assertEquals("Invalid wmAction;", "", method.getWmAction());
         assertTrue("Cannot find @Oneway;", method.isOneWay());
         assertEquals("Unexpected @WebResult;", "return", method.getWrName());
         assertEquals("Unexpected return type;",
-                void.class,
+                void.class.getName(),
                 method.getJavaReturnType());
     }
 
-    public void testWebParamGoLocoFirst() throws Exception {
+    public void testWebParamGoLocoFirst()
+        throws Exception {
         final int paramNo = 0;
         BeehiveWsParameterMetadata param = getParam("GoLoco", paramNo);
         assertNotNull("Cannot find first param for WebMethod GoLoco();", param);
         assertEquals("Invalid wpName;", "level", param.getWpName());
         assertEquals("Invalid return type: " + param.getJavaType(),
-                int.class,
+                int.class.getName(),
                 param.getJavaType());
     }
 
-    public void testWebParamGoLocoSecond() throws Exception {
+    public void testWebParamGoLocoSecond()
+        throws Exception {
         final int paramNo = 1;
         BeehiveWsParameterMetadata param = getParam("GoLoco", paramNo);
         assertNotNull("Cannot find second param for WebMethod GoLoco();", param);
         assertEquals("Invalid wpName;", "detail", param.getWpName());
         assertEquals("Invalid return type: " + param.getJavaType(),
-                String.class,
+                String.class.getName(),
                 param.getJavaType());
     }
 
-    public void testWebParamGoHomeFirst() throws Exception {
+    public void testWebParamGoHomeFirst()
+        throws Exception {
         final int paramNo = 0;
         BeehiveWsParameterMetadata param = getParam("goHome", paramNo);
         assertNotNull("Cannot find first param for method goHome();", param);
         assertEquals("Invalid wpName;", "when", param.getWpName());
         assertEquals("Invalid return type: " + param.getJavaType(),
-                long.class,
+                long.class.getName(),
                 param.getJavaType());
     }
 
-    protected BeehiveWsMethodMetadata getMethod(String methodName) {
+    private BeehiveWsMethodMetadata getMethod(String methodName) {
         for (BeehiveWsMethodMetadata method : ((BeehiveWsTypeMetadata) objectModel).getMethods()) {
             if (method.getWmOperationName().equals(methodName)) {
                 return method;
@@ -112,7 +124,7 @@
         return null;
     }
 
-    protected BeehiveWsParameterMetadata getParam(String methodName, int pos) {
+    private BeehiveWsParameterMetadata getParam(String methodName, int pos) {
         for (BeehiveWsMethodMetadata method : ((BeehiveWsTypeMetadata) objectModel).getMethods()) {
             if (method.getWmOperationName().equals(methodName)) {
                 int i = 0;

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorEndpointInterfaceTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorEndpointInterfaceTest.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorEndpointInterfaceTest.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorEndpointInterfaceTest.java Mon Jul 11 07:15:33 2005
@@ -40,7 +40,6 @@
     /**
      * We can't derive default values for WebParam from binaries. Thus, we use
      * our own default name "in<number>".
-    @Override
     public void testWebParamGoLocoFirst() throws Exception {
         final int paramNo = 0;
         Jsr181ParameterMetadata param = getParam("GoLocoCheetorama", paramNo);
@@ -55,7 +54,6 @@
     /**
      * We can't derive default values for WebParam from binaries. Thus, we use
      * our own default name "in<number>".
-    @Override
     public void testWebParamDropMoneyFirst() throws Exception {
         final int paramNo = 0;
         Jsr181ParameterMetadata param = getParam("dropMoney", paramNo);

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorTest.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorTest.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/processor/apt/WsmAnnotationProcessorTest.java Mon Jul 11 07:15:33 2005
@@ -19,6 +19,7 @@
 
 import org.apache.beehive.wsm.jsr181.model.FooTestCase;
 import org.apache.beehive.wsm.model.jsr181.Jsr181ObjectModelStore;
+import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
 
 /**
  * Test case verifies that a source file can be read and its annotations can be
@@ -27,27 +28,24 @@
 public class WsmAnnotationProcessorTest
     extends FooTestCase {
 
-    @Override
-    public void setUp() throws Exception {
-
-        // check if we have an object model
-        objectModel = Jsr181ObjectModelStore.load(Class.forName(CLASSNAME));
-
-        if (null == objectModel) {
-            throw new Exception ("No object model found.");
+    public BeehiveWsTypeMetadata createWebserviceMetadata() {
+        try {
+            return Jsr181ObjectModelStore.load(Class.forName(CLASSNAME));
+        }
+        catch(Exception e) {
+            throw new RuntimeException(e);
         }
     }
 
     /**
      * We can't derive default values for WebParam from binaries. Thus, we use
      * our own default name "in<number>".
-    @Override
     public void testWebParamGoLocoFirst() throws Exception {
         final int paramNo = 0;
         Jsr181ParameterMetadata param = getParam("GoLoco", paramNo);
         assertNotNull("Cannot find first param for WebMethod GoLoco()", param);
         assertEquals("Invalid wpName", "in" + paramNo, param.getWpName());
-        assertEquals("Invalid return type: " + param.getJavaType(),
+        assertEquals("Invalid return type: " + param.getJavaTf  cype(),
                 int.class,
                 param.getJavaType());
     }

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/WSDL2AnnotatedJavaTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/WSDL2AnnotatedJavaTest.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/WSDL2AnnotatedJavaTest.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/WSDL2AnnotatedJavaTest.java Mon Jul 11 07:15:33 2005
@@ -37,13 +37,14 @@
  * The java class is generated during the build process for this drt, from
  * the wsdl2ajava ant task.
  */
-public class WSDL2AnnotatedJavaTest extends TestCase {
+public class WSDL2AnnotatedJavaTest
+    extends TestCase {
 
-    private static final String generatedFromWSDL = "web.Service";
+    private static final String CLASSNAME_SERVICE_FROM_WSDL = "web.Service";
 
     public void testWebServiceAnnotationGeneration() throws Exception {
 
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         WebService a = (WebService) fromWsdl.getAnnotation(javax.jws.WebService.class);
@@ -55,7 +56,7 @@
 
     public void testSoapBindingAnnotationGeneration() throws Exception {
 
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         SOAPBinding a = (SOAPBinding) fromWsdl.getAnnotation(javax.jws.soap.SOAPBinding.class);
@@ -67,7 +68,7 @@
 
     // test all annotations / annotation values for the oneWayWithParam method
     public void testOneWayWithParam() throws Exception {
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         Method m = fromWsdl.getMethod("oneWayWithParam", new Class[]{String.class});
@@ -95,7 +96,7 @@
     }
 
     public void testOneWayWithNoParameter() throws Exception {
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         Method m = fromWsdl.getMethod("oneWayWithNoParameter", null);
@@ -111,7 +112,7 @@
     }
 
     public void testAddEntry() throws Exception {
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         Method m = fromWsdl.getMethod("addEntry", new Class[]{String.class, Object.class});
@@ -150,7 +151,7 @@
 
     public void testGetAddressFromNames() throws Exception {
 
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         Method m = fromWsdl.getMethod("getAddressFromNames", new Class[]{String[].class});
@@ -181,7 +182,7 @@
 
     public void testGetAddressFromName() throws Exception {
 
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         Method m = fromWsdl.getMethod("getAddressFromName", new Class[]{String.class});
@@ -212,7 +213,7 @@
 
     public void testSimpleNoParamMethod() throws Exception {
 
-        Class fromWsdl = Class.forName(generatedFromWSDL);
+        Class fromWsdl = Class.forName(CLASSNAME_SERVICE_FROM_WSDL);
         assertNotNull(fromWsdl);
 
         Method m = fromWsdl.getMethod("simpleNoParamMethod", null);

Modified: incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessorTest.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessorTest.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessorTest.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/drt/tests/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessorTest.java Mon Jul 11 07:15:33 2005
@@ -45,7 +45,8 @@
     private BeehiveWsTypeMetadata serverModel;
     private BeehiveWsTypeMetadata clientModel;
 
-    public void setUp() throws Exception {
+    public void setUp()
+        throws Exception {
 
         Class clazz = Class.forName(CLASSNAME);
         serverModel = Jsr181ObjectModelStore.load(clazz);
@@ -66,10 +67,8 @@
     public void testServiceWideSettings() throws Exception {
 
         assertEquals(serverModel.getWsName(), clientModel.getWsName());
-        assertEquals(serverModel.getWsServiceName(),
-                     clientModel.getWsServiceName());
-        assertEquals(serverModel.getWsTargetNamespace(),
-                     clientModel.getWsTargetNamespace());
+        assertEquals(serverModel.getWsServiceName(), clientModel.getWsServiceName());
+        assertEquals(serverModel.getWsTargetNamespace(), clientModel.getWsTargetNamespace());
         // NOTE jcolwell@bea.com 2005-Jan-07 -- not checking equivalence of Parameter style since the
         // client can use BARE even if the server uses WRAPPED
         assertEquals(serverModel.getSoapBinding().getStyle(), clientModel.getSoapBinding().getStyle());
@@ -88,14 +87,13 @@
         for (BeehiveWsMethodMetadata wmm : serverMethods) {
             
             List<BeehiveWsParameterMetadata> params = wmm.getParams();
-            Class[] paramClasses = new Class[params.size()];
+            String[] paramClasses = new String[params.size()];
             int pcIndex = 0;
             for (BeehiveWsParameterMetadata param : params) {
                 paramClasses[pcIndex] = param.getJavaType();
             }
             
-            BeehiveWsMethodMetadata clientMethod = clientModel
-                .getMethod(wmm.getWmOperationName(), paramClasses);
+            BeehiveWsMethodMetadata clientMethod = clientModel.getMethod(wmm.getWmOperationName(), paramClasses);
             boolean paramStylesMatch = (clientModel.getSoapBinding().getParameterStyle()
                                             == serverModel.getSoapBinding().getParameterStyle());
             if (clientMethod != null && paramStylesMatch) {            

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/api/javax/jws/soap/SOAPBinding.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/api/javax/jws/soap/SOAPBinding.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/api/javax/jws/soap/SOAPBinding.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/api/javax/jws/soap/SOAPBinding.java Mon Jul 11 07:15:33 2005
@@ -23,6 +23,7 @@
 @Retention(value = RetentionPolicy.RUNTIME)
 @Target(value = ElementType.TYPE)
 public @interface SOAPBinding {
+
     ParameterStyle parameterStyle() default ParameterStyle.WRAPPED;
 
     Style style() default Style.DOCUMENT;

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/AxisHook.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/AxisHook.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/AxisHook.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/AxisHook.java Mon Jul 11 07:15:33 2005
@@ -121,6 +121,8 @@
 
         // Walk the methods
         for(BeehiveWsMethodMetadata meth : wsm.getMethods()) {
+            System.out.println("method: " + meth);
+            
             String operationName = meth.getWmOperationName();
             if(null != operationName && 0 < operationName.length()) {
                 // set the Operations properties
@@ -138,7 +140,7 @@
                         namespace = meth.getWrTargetNamespace();
 
                     od.setReturnQName(new QName(namespace, meth.getWrName()));
-                    final Class returnType = meth.getJavaReturnType();
+                    final Class returnType = createClass(meth.getJavaReturnType());
                     QName qn = configureTypeMapping(sd, returnType, meth.getWrTargetNamespace());
                     od.setReturnType(qn);
                     od.setReturnClass(returnType);
@@ -148,7 +150,7 @@
                 int pcnt = 0;
                 for(BeehiveWsParameterMetadata param : meth.getParams()) {
                     ParameterDesc pd = od.getParameter(pcnt++);
-                    final Class paramType = param.getJavaType();
+                    final Class paramType = createClass(param.getJavaType());
 
                     if(pd.getTypeQName() == null) {
                         // set the typeQName if it is not set already
@@ -592,6 +594,19 @@
                 // just regular document style
                 sd.setStyle(Style.DOCUMENT);
             }
+        }
+    }
+
+    private static final Class createClass(String className) {
+        if(className == null)
+            throw new RuntimeException("Encountered a null class name!");
+
+        try {
+            return Class.forName(className);
+        }
+        catch(ClassNotFoundException e) {
+            /* todo: need a real RuntimeException subclass here */
+            throw new RuntimeException("Could not locate class '" + className + "'");
         }
     }
 }

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/tools/Wsdl2AJava.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/tools/Wsdl2AJava.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/tools/Wsdl2AJava.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/axis/org/apache/beehive/wsm/axis/tools/Wsdl2AJava.java Mon Jul 11 07:15:33 2005
@@ -27,19 +27,22 @@
 import org.apache.beehive.wsm.wsdl.Utilities;
 import org.apache.xmlbeans.XmlException;
 
-public class Wsdl2AJava {
+public final class Wsdl2AJava {
 
-    public static int main(String args[]) {
+    public static void main(String args[]) {
 
         if(args.length != 2) {
             System.out.println("Usage:  Wsdl2AJava <wsdlFileName> <base source dir>");
-            return -1;
+            return; // -1;
         }
         
         File baseDir = new File(args[1]);
         if(!baseDir.exists())
             baseDir.mkdirs();
-        
+
+        System.out.println("Base source directory: " + args[1]);
+        System.out.println("Processing WSDL: " + args[0]);
+
         SystemTypeLookupService lookupService = new SystemTypeLookupService();
         XmlBeanWSDLProcessor processor;
         try {
@@ -47,15 +50,15 @@
         } catch (MalformedURLException e) {
             System.out.println("Unable to find WSDL with URL '" + args[0] + "'.  Cause: " + e.getMessage());
             e.printStackTrace();
-            return -1;
+            return; // -1;
         } catch (XmlException e) {
             System.out.println("Failed with an invalid WSDL at '" + args[0] + "'.  Cause: " + e);
             e.printStackTrace();
-            return -1;
+            return; // -1;
         } catch (IOException e) {
             System.out.println("Failed with an IOException generating the Annotated JWS.  Cause: " + e);
             e.printStackTrace();
-            return -1;
+            return; // -1;
         }
 
         BeehiveWsTypeMetadata om;
@@ -65,8 +68,8 @@
        } catch (Exception e) {
            System.out.println("Error:  Failed in generating the Annotated JWS.  Cause: " + e);
            e.printStackTrace();
-           return -1;
+           return; //-1;
         }
-        return 0;
+        return; // 0;
     }
 }

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsMethodMetadata.java Mon Jul 11 07:15:33 2005
@@ -56,7 +56,7 @@
 
     public abstract void setJavaMethodName(String methodName);
 
-    public abstract Class getJavaReturnType();
+    public abstract String getJavaReturnType();
 
     public abstract String getJavaReturnTypeFullName();
 
@@ -64,5 +64,5 @@
 
     public abstract void setXmlReturnType(QName xmlType);
 
-    public abstract void setReturnType(Class javaType);
+    public abstract void setReturnType(String javaType);
 }

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsParameterMetadata.java Mon Jul 11 07:15:33 2005
@@ -40,9 +40,9 @@
 
     public abstract void setWpTargetNamespace(String wpTargetNamespace);
 
-    public abstract Class getJavaType();
+    public abstract String getJavaType();
 
-    public abstract void setJavaType(Class javaType);
+    public abstract void setJavaType(String javaType);
 
     /* todo: this should be moved to web service elementtype later. */
     public abstract String getJavaTypeFullName(); 

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/BeehiveWsTypeMetadata.java Mon Jul 11 07:15:33 2005
@@ -64,7 +64,7 @@
 
     public abstract Collection<? extends BeehiveWsMethodMetadata> getMethods();
 
-    public abstract BeehiveWsMethodMetadata getMethod(String methodName, Class... paramTypes);
+    public abstract BeehiveWsMethodMetadata getMethod(String methodName, String... paramTypes);
 
     public abstract void addMethod(BeehiveWsMethodMetadata method);
 
@@ -75,6 +75,4 @@
     public abstract String getClassName();
 
     public abstract void setClassName(String className);
-
-
 }

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultMethodMetadataImpl.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultMethodMetadataImpl.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultMethodMetadataImpl.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultMethodMetadataImpl.java Mon Jul 11 07:15:33 2005
@@ -27,36 +27,25 @@
 import org.apache.beehive.wsm.model.ValidationException;
 
 public class DefaultMethodMetadataImpl
-    extends  BeehiveWsMethodMetadata
+    extends BeehiveWsMethodMetadata
     implements java.io.Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    private boolean oneway = false;
     private String wmOperationName;
     private String wmAction;
-    private boolean oneway = false;
-    private ArrayList<BeehiveWsParameterMetadata> params = new ArrayList<BeehiveWsParameterMetadata>();
     private String wrName;
     private String wrTargetNamespace;
     private String javaMethodName;
-    private Class javaReturnType;
+    private String javaReturnType;
+    private ArrayList<BeehiveWsParameterMetadata> params = new ArrayList<BeehiveWsParameterMetadata>();
     private QName mXMLReturnType;
 
     public DefaultMethodMetadataImpl() {
         super();
     }
 
-    public DefaultMethodMetadataImpl(String methodName, Class returnType) {
-        this();
-        javaMethodName = methodName;
-        javaReturnType = returnType;
-    }
-
-    public DefaultMethodMetadataImpl(String operationName, Class javaType, QName xmlReturnType) {
-        this(operationName, javaType);
-        setXmlReturnType(xmlReturnType);
-    }
-
     public boolean isOneWay() {
         return oneway;
     }
@@ -123,7 +112,7 @@
         this.javaMethodName = methodName;
     }
 
-    public Class getJavaReturnType() {
+    public String getJavaReturnType() {
         return javaReturnType;
     }
 
@@ -147,7 +136,7 @@
     }
 
     public String toString() {
-        String signature = getJavaReturnType().toString() + " " + getJavaMethodName() + "( ";
+        String signature = getJavaReturnType() + " " + getJavaMethodName() + "( ";
         for(BeehiveWsParameterMetadata p : params) {
             signature += p.getJavaType().toString() + " ";
         }
@@ -192,7 +181,7 @@
 
      */
     public String getJavaReturnTypeFullName() {
-        return getClassName(getJavaReturnType());
+        return getJavaReturnType();
     }
 
     public QName getXmlReturnType() {
@@ -203,10 +192,7 @@
         mXMLReturnType = xmlReturnType;
     }
 
-    /*
-      * @see org.apache.beehive.wsm.jsr181.model.Jsr181MethodMetadata#setReturnType(java.lang.Class)
-      */
-    public void setReturnType(Class javaType) {
+    public void setReturnType(String javaType) {
         this.javaReturnType = javaType;
     }
 
@@ -229,12 +215,16 @@
         return res;
     }
 
-    private String getClassName(Class cls) {
+    private String getClassName(String cls) {
+        return cls;
+        /* todo: array handling */
+        /*
         if(cls.isArray()) {
             return getClassName(cls.getComponentType()) + "[]";
         }
         else {
             return cls.getName().replace('$', '.');
         }
+        */
     }
 }

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultParameterMetadataImpl.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultParameterMetadataImpl.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultParameterMetadataImpl.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultParameterMetadataImpl.java Mon Jul 11 07:15:33 2005
@@ -33,7 +33,7 @@
     private String wpTargetNamespace;
     private WebParam.Mode wpMode;
     private boolean wpHeader;
-    private Class javaType;
+    private String javaType;
     private QName mXMLType;
 
     public DefaultParameterMetadataImpl() {
@@ -71,19 +71,16 @@
         this.wpTargetNamespace = wpTargetNamespace;
     }
 
-    public Class getJavaType() {
+    public String getJavaType() {
         return javaType;
     }
 
-    public void setJavaType(Class javaType) {
+    public void setJavaType(String javaType) {
         this.javaType = javaType;
     }
 
     /* (non-Javadoc)
      * @see org.apache.beehive.wsm.jsr181.model.Jsr181ParameterMetadata#getJavaTypeFullName()
-     *
-     * NOTE THIS METHOD AND SUPPORTING METHOD SHOULD BE MOVED OUT TO A ELEMENT CLASS
-     * THAT ENCAPSULATES QNAME AND CLASS
      */
     public String getJavaTypeFullName() {
         return getClassName(getJavaType());
@@ -97,12 +94,16 @@
         mXMLType = xmlType;
     }
 
-    private String getClassName(Class cls) {
+    private String getClassName(String cls) {
+        return cls;
+        /* todo: array handling! */
+        /*
         if(cls.isArray()) {
             return getClassName(cls.getComponentType()) + "[]";
         }
         else {
             return cls.getName().replace('$', '.');
         }
+        */
     }
 }

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultTypeMetadataImpl.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultTypeMetadataImpl.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultTypeMetadataImpl.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/impl/DefaultTypeMetadataImpl.java Mon Jul 11 07:15:33 2005
@@ -216,7 +216,7 @@
         return noDuplicateMethods;
     }
 
-    public BeehiveWsMethodMetadata getMethod(String methodName, Class... paramTypes) {
+    public BeehiveWsMethodMetadata getMethod(String methodName, String... paramTypes) {
         String sig = createCompleteMethodSignature(methodName, paramTypes);
 
         BeehiveWsMethodMetadata meta = methodMap.get(sig);
@@ -238,10 +238,10 @@
         // duplicates being returned from getMethods().
         noDuplicateMethods = null;
         List<? extends BeehiveWsParameterMetadata> params = method.getParams();
-        Class[] paramTypes = new Class[params.size()];
+        String[] paramTypes = new String[params.size()];
         int j = 0;
         for(BeehiveWsParameterMetadata param : params) {
-            Class javaType = param.getJavaType();
+            String javaType = param.getJavaType();
             if(null == javaType) {
                 throw new ValidationException("<null> is not a valid parameter class");
             }
@@ -279,20 +279,17 @@
     }
 
     /* todo: this needs to go, as it should really be in Jsr181MethodMetadataImpl!!! */
-    private String createCompleteMethodSignature(String name, Class... paramTypes) {
+    private String createCompleteMethodSignature(String name, String... paramTypes) {
 
         StringBuilder sb = new StringBuilder(name);
         sb.append('(');
         boolean firstParam = true;
         if(paramTypes != null) {
-            for(Class type : paramTypes) {
-                if(firstParam) {
+            for(int i = 0; i < paramTypes.length; i++) {
+                if(i > 0)
                     firstParam = false;
-                }
-                else {
-                    sb.append(',');
-                }
-                sb.append(type.getName());
+                else sb.append(',');
+                sb.append(paramTypes[i]);
             }
         }
         sb.append(')');

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/Jsr181ObjectModelStore.java Mon Jul 11 07:15:33 2005
@@ -32,28 +32,16 @@
 
 /**
  * Encapsulates all knowledge about where and how object models are persisted.
+ *
  */
 public class Jsr181ObjectModelStore {
 
+    /* todo: need to switch entirely to throwing ObjectModelStoreException */
+
     private final static String EXTENSION = ".ser";
     private final static String FILE_NAME_LOCATOR = ".webservices";
 
-    private static boolean isMarked = false;
-
-    private AnnotationProcessorEnvironment env;
-
-    /**
-     * Constructor.
-     *
-     * @param env A context that is required to access the filer.
-     *            TODO needs to be abstracted further.
-     */
-    public Jsr181ObjectModelStore(AnnotationProcessorEnvironment env) {
-        if(null == env) {
-            throw new IllegalArgumentException("illegal apt environment: <null>");
-        }
-        this.env = env;
-    }
+    private Jsr181ObjectModelStore() {}
 
     /**
      * Encapsulates the encoding of the pathname for object models.
@@ -61,7 +49,7 @@
      * @param className
      * @return File
      */
-    public static File getLocation(String className) {
+    private static File getLocation(String className) {
         return new File(className + EXTENSION);
     }
 
@@ -98,17 +86,17 @@
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    public static BeehiveWsTypeMetadata load(InputStream is)
+    public static final BeehiveWsTypeMetadata load(InputStream is)
         throws IOException, ClassNotFoundException {
 
         if(null == is)
             throw new IOException("cannot load object model without input stream");
 
-        Jsr181TypeMetadataImpl objectModel = null;
+        BeehiveWsTypeMetadata objectModel = null;
         ObjectInputStream ois = null;
         try {
             ois = new ObjectInputStream(is);
-            objectModel = (Jsr181TypeMetadataImpl)ois.readObject();
+            objectModel = (BeehiveWsTypeMetadata)ois.readObject();
         }
         finally {
             if(null != ois) {
@@ -122,32 +110,37 @@
      * Persists a given <code>objectModel</code>.
      *
      * @param objectModel The object mode to be persisted.
-     * @throws IOException If the object model cannot be persisted.
      */
-    public void store(BeehiveWsTypeMetadata objectModel)
-        throws IOException {
+    public static final void store(AnnotationProcessorEnvironment env, BeehiveWsTypeMetadata objectModel) {
 
-        OutputStream os = env.getFiler().createBinaryFile(Filer.Location.CLASS_TREE, "", getLocation(objectModel.getClassName()));
+        OutputStream os = null;
         ObjectOutputStream oos = null;
         try {
-            if(null == os) {
-                throw new IOException("cannot persist object model without output stream");
-            }
-            if(null == objectModel) {
-                throw new IOException("cannot persist empty object model ");
-            }
-            oos = new ObjectOutputStream(os);
-            oos.writeObject(objectModel);
+            if(null == objectModel)
+                throw new ObjectModelStoreException("cannot persist empty object model ");
 
-            if(!isMarked) {
-                env.getFiler().createBinaryFile(Filer.Location.CLASS_TREE, "", new java.io.File(FILE_NAME_LOCATOR));
-                isMarked = true;
+            try {
+                os = env.getFiler().createBinaryFile(Filer.Location.CLASS_TREE, "", getLocation(objectModel.getClassName()));
+                oos = new ObjectOutputStream(os);
+                oos.writeObject(objectModel);
+/*
+                File f = new File(Filer.Location.CLASS_TREE + File.separator + "" + FILE_NAME_LOCATOR);
+                if(!f.exists())
+                    env.getFiler().createBinaryFile(Filer.Location.CLASS_TREE, "", new File(FILE_NAME_LOCATOR));
+*/                    
+            }
+            catch(IOException e) {
+                throw new ObjectModelStoreException("Exception occurred writing WSM object model.  Cause: " +
+                    e.getMessage(), e);
             }
         }
         finally {
             if(null != oos) {
-                oos.flush();
-                oos.close();
+                try {
+                    oos.flush();
+                    oos.close();
+                }
+                catch(IOException ignore) {}
             }
         }
     }

Added: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/ObjectModelStoreException.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/ObjectModelStoreException.java?rev=210139&view=auto
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/ObjectModelStoreException.java (added)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/ObjectModelStoreException.java Mon Jul 11 07:15:33 2005
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.wsm.model.jsr181;
+
+/**
+ *
+ */
+public class ObjectModelStoreException
+    extends RuntimeException {
+    
+    public ObjectModelStoreException() {
+        super();
+    }
+
+    public ObjectModelStoreException(String message) {
+        super(message);
+    }
+
+    public ObjectModelStoreException(Throwable cause) {
+        super(cause);
+    }
+
+    public ObjectModelStoreException(String message, Throwable cause) {
+        super(message, cause);
+    }
+}

Propchange: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/jsr181/ObjectModelStoreException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/model/wsdl/XmlBeanWSDLProcessor.java Mon Jul 11 07:15:33 2005
@@ -33,6 +33,7 @@
 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.processor2.HackUtils;
 import org.apache.xmlbeans.SchemaType;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.impl.xb.xsdschema.ComplexType;
@@ -62,17 +63,13 @@
 public class XmlBeanWSDLProcessor {
 
     public static final String TRANSPORT = "http://schemas.xmlsoap.org/soap/http";
-
     public static final String SOAPENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
-
     public static final String WSDLNS = "http://schemas.xmlsoap.org/wsdl/soap/";
-
     public static final String WSDLSOAPNS = "http://schemas.xmlsoap.org/wsdl/soap/";
 
     private DefinitionsDocument defDoc;
     private BindingLookupService lookupService;
 
-    /* declared to prevent no-args construction */
     private XmlBeanWSDLProcessor() {
         super();
     }
@@ -88,10 +85,11 @@
         return new QName(services[0].getName());
     }
 
-    public BeehiveWsTypeMetadata getObjectModel() throws Exception {
+    public BeehiveWsTypeMetadata getObjectModel()
+        throws Exception {
 
         BeehiveWsTypeMetadata wsm = new DefaultTypeMetadataImpl();
-        Map<String, BeehiveWsMethodMetadata> methodMap = new HashMap<String, BeehiveWsMethodMetadata>();
+        HashMap<String, BeehiveWsMethodMetadata> methodMap = new HashMap<String, BeehiveWsMethodMetadata>();
         TDefinitions defs = defDoc.getDefinitions();
         wsm.setWsTargetNamespace(defs.getTargetNamespace());
         Map<String, TPart[]> messageMap = new HashMap<String, TPart[]>();
@@ -122,6 +120,10 @@
                 types = defs.getTypesArray(0);
             }
 
+            System.out.println("operation names:");
+            for(TOperation foo : operations)
+                System.out.println("name: " + foo.getName() + " output type: " + foo.getOutput());
+
             for(TOperation op : operations) {
                 processTOperation(op, wsm, methodMap, messageMap, types);
             }
@@ -142,6 +144,9 @@
         String opName = op.getName();
         TParam outputParam = op.getOutput();
 
+        System.out.println("opName:" + opName);
+        System.out.println("outputParam: " + outputParam);
+
         Map<String, BeehiveWsParameterMetadata> outParamMap = null;
 
         BeehiveWsParameterMetadata[] paraMeta = new BeehiveWsParameterMetadata[0];  // defualt value
@@ -150,23 +155,28 @@
             // output parameters are not wrapped
             paraMeta = processParameters(opName, messageParts, types, wsm, true);
         }
-        Class returnType;
+        String returnType;
         QName returnXMLType;
 
+        System.out.println("params: " + paraMeta);
+        System.out.println("params.length: " + paraMeta.length);
+        for(BeehiveWsParameterMetadata foo : paraMeta)
+            System.out.println("foo: " + foo);
+
         if(paraMeta == null) {
             // Should not happen, may be need to send runtime exception, or
             // define a new type of exception!
             throw new Exception("Can't resolve the return type");
         }
         else if(paraMeta.length == 1) {
+            assert paraMeta[0] != null : "Encountered null parameter metadata";
             returnType = paraMeta[0].getJavaType();
             returnXMLType = paraMeta[0].getXmlType();
         }
         else {
             // either there is no return value or there are multiple so make
-            // this a
-            // void function and later set OUT parameters if needed.
-            returnType = Void.TYPE;
+            // this a void function and later set OUT parameters if needed.
+            returnType = void.class.getName();
             returnXMLType = null;
             if(paraMeta.length > 1) {
                 outParamMap = new HashMap<String, BeehiveWsParameterMetadata>(paraMeta.length);
@@ -176,15 +186,20 @@
             }
         }
 
-        BeehiveWsMethodMetadata wmm = new DefaultMethodMetadataImpl(opName, returnType, returnXMLType);
+        System.out.println("== returnType: " + returnType);
+
+        BeehiveWsMethodMetadata wmm = new DefaultMethodMetadataImpl();
+        wmm.setJavaMethodName(opName);
+        wmm.setReturnType(returnType);
+        wmm.setXmlReturnType(returnXMLType);
         wmm.setWmOperationName(opName);
         // FIXME jcolwell@bea.com 2004-Nov-10 -- do something better with the action
         wmm.setWmAction(opName);
-        if(Void.TYPE.equals(returnType)) {
-            if(paraMeta.length == 0) {
-                // FIXME jcolwell@bea.com 2004-Nov-22 -- also check for faults before setting as oneway.
+
+        if(void.class.getName().equals(returnType)) {
+            // FIXME jcolwell@bea.com 2004-Nov-22 -- also check for faults before setting as oneway.
+            if(paraMeta.length == 0)
                 wmm.setOneWay(true);
-            }
         }
         else {
             wmm.setWrName(paraMeta[0].getWpName());
@@ -297,7 +312,7 @@
                 // we know we are document, and thus literal. and most
                 // likely using xml beans, but can use axis too.
                 QName element = messagePart.getElement();
-                Class javaType = findClassForQname(element);
+                String javaType = findClassForQname(element);
                 // in case of xmlbeans(or other registered types) we don't
                 // need
                 // to dig any further
@@ -362,7 +377,8 @@
                                             // doc / lit / bare
                                             if (els != null && els.length == 1) {
                                                 BeehiveWsParameterMetadata  pm = elementToParamMetaData(s.getTargetNamespace(), els[0]);
-                                                if (pm.getJavaType().isArray()) {
+                                                System.out.println("param type: " + pm.getJavaType());
+                                                if (HackUtils.isArray(pm.getJavaType())) {
                                                     pm.setWpName(e.getName());
                                                     paramList.add(pm);
                                                     paramAdded = true;
@@ -384,6 +400,7 @@
                         }
                         catch(Exception e) {
                             e.printStackTrace();
+                            throw new RuntimeException(e);
                         }
                     }
                 }
@@ -396,7 +413,6 @@
                         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());
                     wpm.setXmlType(element);
@@ -420,13 +436,13 @@
                 paramList.add(wpm);
             }
         }
-        return paramList.toArray(new BeehiveWsParameterMetadata[paramList.size()]);
 
+        System.out.println("size: " + paramList.size());
+        return paramList.toArray(new BeehiveWsParameterMetadata[paramList.size()]);
     }
 
-    private Class findClassForQname(QName element) {
-        //return new XmlBeanTypeMappingUtil().q2Class(element);
-        return lookupService.qname2class(element);
+    private String findClassForQname(QName element) {
+        return lookupService.qname2class(element).getName();
     }
 
     // To detect the wrapped walk the message parts, if there is a part that has name="parameters"
@@ -437,8 +453,11 @@
     // TODO: the logic here may not work with MIME types, verify later.
     private boolean isWrapped(String operationName, TPart[] messagePart, boolean isOutputParameters) {
         for(TPart message : messagePart) {
-            if(!message.isSetElement()) return false;  // RPC-Encoded
-            if(true == unwrapMessagePart(operationName, isOutputParameters, message)) return true;
+            if(!message.isSetElement())
+                return false;  // RPC-Encoded
+
+            if(true == unwrapMessagePart(operationName, isOutputParameters, message))
+                return true;
         }
         return false;
     }
@@ -521,14 +540,16 @@
             name = ref.getLocalPart();
             xmlType = ref;
         }
-        else
-            throw new RuntimeException("invalid element: " + el);
-        Class javaType = findClassForQname(xmlType);
-        if(isArray) {
-            // create an array of the type, then get its type.
-            Object realType = Array.newInstance(javaType, 1);
-            javaType = realType.getClass();
-        }
+        else throw new RuntimeException("invalid element: " + el);
+
+        /*
+          This code is used to create an array type name that is inserted into the code-generated
+          web service.  So, if the javaType is foo.bar.MyBean, the array type needs to be foo.bar.MyBean[]
+         */
+        String javaType = findClassForQname(xmlType);
+        if(isArray)
+            javaType += "[]";
+
         wpm.setWpName(name);
         wpm.setXmlType(xmlType);
         wpm.setJavaType(javaType);

Added: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/HackUtils.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/HackUtils.java?rev=210139&view=auto
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/HackUtils.java (added)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/HackUtils.java Mon Jul 11 07:15:33 2005
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$Factory
+ */
+package org.apache.beehive.wsm.processor2;
+
+/**
+ *
+ */
+public class HackUtils {
+
+    public static final boolean isArray(String className) {
+        /* todo: could do more error checking here */
+        if(className.startsWith("["))
+            return true;
+        else return false;
+    }
+}

Propchange: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/HackUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/apt/WsmAnnotationProcessor.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/apt/WsmAnnotationProcessor.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/apt/WsmAnnotationProcessor.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/apt/WsmAnnotationProcessor.java Mon Jul 11 07:15:33 2005
@@ -19,6 +19,7 @@
 
 import org.apache.beehive.wsm.processor2.TwoPhaseAnnotationProcessor;
 import org.apache.beehive.wsm.processor2.generator.AxisGenerator;
+import org.apache.beehive.wsm.processor2.generator.WsmResourceGenerator;
 import org.apache.beehive.wsm.processor2.checker.Jsr181AnnotationChecker;
 import com.sun.mirror.declaration.Declaration;
 import com.sun.mirror.declaration.AnnotationTypeDeclaration;
@@ -52,7 +53,7 @@
         if(!(decl instanceof TypeDeclaration))
             return;
 
-        AxisGenerator axisGenerator = AxisGenerator.getInstance();
-        axisGenerator.generate((TypeDeclaration)decl);
+        WsmResourceGenerator generator = AxisGenerator.getInstance();
+        generator.generate(getAnnotationProcessorEnvironment(), (TypeDeclaration)decl);
     }
 }

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/AxisGenerator.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/AxisGenerator.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/AxisGenerator.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/AxisGenerator.java Mon Jul 11 07:15:33 2005
@@ -17,24 +17,29 @@
  */
 package org.apache.beehive.wsm.processor2.generator;
 
+import java.io.IOException;
+
 import com.sun.mirror.declaration.TypeDeclaration;
+import com.sun.mirror.apt.AnnotationProcessorEnvironment;
 import org.apache.beehive.wsm.processor2.model.factory.BeehiveWsMetadataFactory;
 import org.apache.beehive.wsm.processor2.model.factory.BeehiveWsTypeMetadataFactory;
 
 import org.apache.beehive.wsm.model.BeehiveWsTypeMetadata;
+import org.apache.beehive.wsm.model.jsr181.Jsr181ObjectModelStore;
 
 import javax.jws.WebService;
 
-public class AxisGenerator {
+public class AxisGenerator
+    extends WsmResourceGenerator {
 
-    public static final AxisGenerator getInstance() {
+    public static final WsmResourceGenerator getInstance() {
         return new AxisGenerator();
     }
 
     private AxisGenerator() {
     }
 
-    public void generate(TypeDeclaration typeDecl) {
+    public void generate(AnnotationProcessorEnvironment env, TypeDeclaration typeDecl) {
 
         BeehiveWsTypeMetadataFactory factory =
             BeehiveWsMetadataFactory.create(BeehiveWsMetadataFactory.FactoryType.MIRROR);
@@ -42,6 +47,6 @@
         BeehiveWsTypeMetadata wsMetadata = factory.create(typeDecl);
 
         /* todo: serialize the object model */
-        
+        Jsr181ObjectModelStore.store(env, wsMetadata);
     }
 }

Added: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/WsmResourceGenerator.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/WsmResourceGenerator.java?rev=210139&view=auto
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/WsmResourceGenerator.java (added)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/WsmResourceGenerator.java Mon Jul 11 07:15:33 2005
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
+package org.apache.beehive.wsm.processor2.generator;
+
+import com.sun.mirror.apt.AnnotationProcessorEnvironment;
+import com.sun.mirror.declaration.TypeDeclaration;
+
+/**
+ *
+ */
+public abstract class WsmResourceGenerator {
+
+    public abstract void generate(AnnotationProcessorEnvironment env, TypeDeclaration typeDeclaration);
+}

Propchange: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/generator/WsmResourceGenerator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/model/factory/impl/MirrorFactoryImpl.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/model/factory/impl/MirrorFactoryImpl.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/model/factory/impl/MirrorFactoryImpl.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/processor2/model/factory/impl/MirrorFactoryImpl.java Mon Jul 11 07:15:33 2005
@@ -127,11 +127,10 @@
         if(webMethod == null)
             return;
 
-        BeehiveWsMethodMetadata wsMethod = new DefaultMethodMetadataImpl();
-
         String methodName = methodDecl.getSimpleName();
-        /* todo: type handling */
 
+        BeehiveWsMethodMetadata wsMethod = new DefaultMethodMetadataImpl();
+        wsMethod.setReturnType(methodDecl.getReturnType().toString());
         wsMethod.setJavaMethodName(methodName);
         wsMethod.setWrName(DEFAULT_WR_NAME);
 
@@ -167,8 +166,8 @@
 
         for(ParameterDeclaration paramDecl : methodDecl.getParameters()) {
             BeehiveWsParameterMetadata wsParam = new DefaultParameterMetadataImpl();
-            /* todo: type handling */
 
+            wsParam.setJavaType(paramDecl.getType().toString());
             wsParam.setWpName(paramDecl.getSimpleName());
             wsParam.setWpMode(WebParam.Mode.IN);
 
@@ -188,6 +187,8 @@
             wsMethod.addParam(wsParam);
         }
 
+        System.out.println("wsMethod.getJavaReturnType: " + wsMethod.getJavaReturnType());
+        System.out.println("wsMethod.getJavaReturnTypeFullName: " + wsMethod.getJavaReturnTypeFullName());
         wsMetadata.addMethod(wsMethod);
     }
 

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/Utilities.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/Utilities.java?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/Utilities.java (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/Utilities.java Mon Jul 11 07:15:33 2005
@@ -59,11 +59,6 @@
         return DefinitionsDocument.Factory.parse(wsdlStream);
     }
 
-    /**
-     * @param stream
-     * @throws IOException
-     * @throws XmlException
-     */
     public static SchemaDocument parseSchema(InputStream stream)
         throws XmlException, IOException {
         return SchemaDocument.Factory.parse(stream);

Modified: incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/wsdl2ajava.vm
URL: http://svn.apache.org/viewcvs/incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/wsdl2ajava.vm?rev=210139&r1=210138&r2=210139&view=diff
==============================================================================
--- incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/wsdl2ajava.vm (original)
+++ incubator/beehive/sandbox/ekoneil/wsm/src/core/org/apache/beehive/wsm/wsdl/wsdl2ajava.vm Mon Jul 11 07:15:33 2005
@@ -167,9 +167,8 @@
 )  
           #if(!$method.oneWay)throws RemoteException#end  {
 #end
-		
            //TODO:  Implement the method logic here...
-#if($method.javaReturnType.name == "void")
+#if($method.javaReturnType == "void")
            return;
 #else
            return null;