You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by sc...@apache.org on 2004/12/24 00:00:56 UTC

svn commit: r123241 - in incubator/apollo/trunk/src: java/org/apache/ws/resource java/org/apache/ws/util/velocity templates

Author: scamp
Date: Thu Dec 23 15:00:54 2004
New Revision: 123241

URL: http://svn.apache.org/viewcvs?view=rev&rev=123241
Log:
updated for codegen

Removed:
   incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/Method.java
Modified:
   incubator/apollo/trunk/src/java/org/apache/ws/resource/Wsdl2Java.java
   incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/ImplementsListBuilder.java
   incubator/apollo/trunk/src/templates/AbstractService.vm
   incubator/apollo/trunk/src/templates/CustomOperationsPortType.vm
   incubator/apollo/trunk/src/templates/Service.vm

Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/Wsdl2Java.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/Wsdl2Java.java?view=diff&rev=123241&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/Wsdl2Java.java&r1=123240&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/Wsdl2Java.java&r2=123241
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/Wsdl2Java.java	(original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/Wsdl2Java.java	Thu Dec 23 15:00:54 2004
@@ -27,12 +27,12 @@
 import org.apache.ws.resource.i18n.Keys;
 import org.apache.ws.resource.i18n.MessagesImpl;
 import org.apache.ws.resource.impl.ResourceDefinitionImpl;
+import org.apache.ws.util.XmlBeanNameUtils;
+import org.apache.ws.util.GenerationUtils;
+import org.apache.ws.util.i18n.Messages;
 import org.apache.ws.util.velocity.ConstQNames;
+import org.apache.ws.util.velocity.ImplementsListBuilder;
 import org.apache.ws.util.velocity.ServiceProperties;
-import org.apache.ws.util.i18n.Messages;
-import org.apache.ws.util.ImplementsListBuilder;
-import org.apache.ws.util.XmlBeanUtils;
-import org.apache.ws.util.XmlBeanNameUtils;
 import org.apache.xmlbeans.impl.common.XmlErrorPrinter;
 import org.apache.xmlbeans.impl.tool.SchemaCompiler;
 
@@ -44,8 +44,10 @@
 import java.io.File;
 import java.io.FileWriter;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.StringTokenizer;
 
 /**
@@ -298,57 +300,50 @@
       try
       {
          VelocityContext context = new VelocityContext(  );
-         ServiceProperties props = new ServiceProperties();
-         props.setPackageName();
-         props.setServiceName(serviceName);
-         props.setServiceImplements(ImplementsListBuilder.getServiceImplementsList(resourceDef));
-         String targetNamespace = resourceDef.getDefinition().getTargetNamespace();
-         props.setNamespace(targetNamespace);
-         props.setPrefix();
-         props.setCustomMappings();
-         props.setPropertyMap();//todo
-         props.setResourceImplements(ImplementsListBuilder.getResourceImplementsList(resourceDef));
-         props.setPropertyDocumentName(XmlBeanNameUtils.getDocumentElementXmlBeanClassName(resourceDef.getPropertiesDocumentName()));
-         props.setWsdlName(wsdlFileName);
-         if( m_resourceKey == null )
-         {
-            //if its not a singleton and is null, create a default
-            if(m_isSingleton == false)
-            {
-                props.setResourcekey(new QName(targetNamespace,"ResourceID"));
-            }
-         }
-         else
-         {
-             props.setResourcekey(QName.valueOf(m_resourceKey));
-         }
+         ServiceProperties props = buildServiceProperties(serviceName, resourceDef, wsdlFileName);
+
+         //add to context
          context.put( "generated", props );
          context.put( "qnames", new ConstQNames() );
 
+
+         //generate files
+
          File generatedSrc = new File( m_srcOutputDir, "Abstract" + serviceName + "Service.java" );
          writeGeneratedSrcFile( context,
                                 "templates/AbstractService.vm",
                                 generatedSrc.getAbsolutePath(  ) );
 
          generatedSrc = new File( m_srcOutputDir, serviceName + "Service.java" );
-         writeGeneratedSrcFile( context,
+         //only generate if it doesn't exist
+         if(!generatedSrc.exists())
+         {
+          writeGeneratedSrcFile( context,
                                 "templates/Service.vm",
                                 generatedSrc.getAbsolutePath(  ) );
-
+         }
          generatedSrc = new File( m_srcOutputDir, "Abstract" + serviceName + "Resource.java" );
          writeGeneratedSrcFile( context,
                                 "templates/AbstractResource.vm",
                                 generatedSrc.getAbsolutePath(  ) );
 
          generatedSrc = new File( m_srcOutputDir, serviceName + "Resource.java" );
-         writeGeneratedSrcFile( context,
+         //only generate if it doesn't exist
+         if(!generatedSrc.exists())
+         {
+          writeGeneratedSrcFile( context,
                                 "templates/Resource.vm",
                                 generatedSrc.getAbsolutePath(  ) );
+         }
 
          generatedSrc = new File( m_srcOutputDir, serviceName + "Home.java" );
+         //only generate if it doesn't exist
+         if(!generatedSrc.exists())
+         {
          writeGeneratedSrcFile( context,
                                 "templates/Home.vm",
                                 generatedSrc.getAbsolutePath(  ) );
+         }
          //only if they implemented properties does this make sense.
          if(resourceDef.hasProperties())
          {
@@ -381,7 +376,51 @@
       }
    }
 
-   private void generateXmlBeans(  )
+    private ServiceProperties buildServiceProperties(String serviceName, ResourceDefinition resourceDef, String wsdlFileName)
+    {
+        ServiceProperties props = new ServiceProperties();
+        String targetNamespace = resourceDef.getDefinition().getTargetNamespace();
+        props.setPackageName(GenerationUtils.getJavaPackageName(targetNamespace));
+        props.setServiceName(serviceName);
+        props.setServiceImplements(ImplementsListBuilder.getServiceImplementsList(resourceDef));        
+        props.setNamespace(targetNamespace);
+        props.setPrefix(GenerationUtils.getPrefix(targetNamespace));
+        props.setCustomMappings();
+
+        QName[] customPropertyNames = resourceDef.getCustomPropertyNames();
+        Map customPropMap = new HashMap();
+        for (int i = 0; i < customPropertyNames.length; i++)
+        {
+            QName customPropertyName = customPropertyNames[i];
+            String propName = customPropertyName.getLocalPart().toUpperCase();
+            int count = 2;
+            while(customPropMap.containsKey(propName))
+            {
+                propName = propName + count;
+                count++;
+            }
+            customPropMap.put(propName,customPropertyName);
+        }
+        props.setPropertyMap(customPropMap);
+        props.setResourceImplements(ImplementsListBuilder.getResourceImplementsList(resourceDef));
+        props.setPropertyDocumentName(XmlBeanNameUtils.getDocumentElementXmlBeanClassName(resourceDef.getPropertiesDocumentName()));
+        props.setWsdlName(wsdlFileName);
+        if( m_resourceKey == null )
+        {
+           //if its not a singleton and is null, create a default
+           if(m_isSingleton == false)
+           {
+               props.setResourcekey(new QName(targetNamespace,"ResourceID"));
+           }
+        }
+        else
+        {
+            props.setResourcekey(QName.valueOf(m_resourceKey));
+        }
+        return props;
+    }
+
+    private void generateXmlBeans(  )
    throws Exception
    {
       SchemaCompiler.Parameters scompParams = new SchemaCompiler.Parameters(  );

Modified: incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/ImplementsListBuilder.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/ImplementsListBuilder.java?view=diff&rev=123241&p1=incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/ImplementsListBuilder.java&r1=123240&p2=incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/ImplementsListBuilder.java&r2=123241
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/ImplementsListBuilder.java	(original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/ImplementsListBuilder.java	Thu Dec 23 15:00:54 2004
@@ -13,7 +13,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  *=============================================================================*/
-package org.apache.ws.util;
+package org.apache.ws.util.velocity;
 
 import org.apache.ws.resource.ResourceDefinition;
 import org.apache.ws.resource.PropertiesResource;

Deleted: /incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/Method.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/velocity/Method.java?view=auto&rev=123240
==============================================================================

Modified: incubator/apollo/trunk/src/templates/AbstractService.vm
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/AbstractService.vm?view=diff&rev=123241&p1=incubator/apollo/trunk/src/templates/AbstractService.vm&r1=123240&p2=incubator/apollo/trunk/src/templates/AbstractService.vm&r2=123241
==============================================================================
--- incubator/apollo/trunk/src/templates/AbstractService.vm	(original)
+++ incubator/apollo/trunk/src/templates/AbstractService.vm	Thu Dec 23 15:00:54 2004
@@ -3,7 +3,7 @@
 #set( $implements = $generated.serviceImplements)
 #set( $namespace = $generated.namespace)
 #set( $prefix = $generated.prefix)
-#set( $customMappings = $generated.customMappings)
+#set( $customMethodList = $generated.customMethodList)
 #set( $qnames = $qnames)
 
 
@@ -82,8 +82,8 @@
       {
          m_methodNameMap    = new ServiceSoapMethodNameMap( getResourceContext(  ) );
          
-         #foreach( $key in $customMappings.keySet() )
-           m_methodNameMap.addMapping( $key, $customMappings.get($key).Name )	     
+         #foreach( $key in $customMethodList.keySet() )
+           m_methodNameMap.addMapping( $key, $customMethodList.get($key).JavaMethodName )	     
 	 #end         
          isInitialized      = true;
       }

Modified: incubator/apollo/trunk/src/templates/CustomOperationsPortType.vm
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/CustomOperationsPortType.vm?view=diff&rev=123241&p1=incubator/apollo/trunk/src/templates/CustomOperationsPortType.vm&r1=123240&p2=incubator/apollo/trunk/src/templates/CustomOperationsPortType.vm&r2=123241
==============================================================================
--- incubator/apollo/trunk/src/templates/CustomOperationsPortType.vm	(original)
+++ incubator/apollo/trunk/src/templates/CustomOperationsPortType.vm	Thu Dec 23 15:00:54 2004
@@ -1,7 +1,6 @@
 #set( $package = $generated.packageName)
 #set( $serviceName = $generated.serviceName)
 #set( $customMethodList = $generated.customMethodList)
-#set( $customMappings = $generated.customMappings)
 
 
 package $package;
@@ -18,10 +17,7 @@
 {
    
    #foreach( $method in $customMethodList.valueSet() )
-       public $method.ReturnType $method.Name ( $method.Params)
-       {
-       	//todo implement
-       }
+   $method.JavaMethodSignature;       
    #end   
 
 }

Modified: incubator/apollo/trunk/src/templates/Service.vm
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/Service.vm?view=diff&rev=123241&p1=incubator/apollo/trunk/src/templates/Service.vm&r1=123240&p2=incubator/apollo/trunk/src/templates/Service.vm&r2=123241
==============================================================================
--- incubator/apollo/trunk/src/templates/Service.vm	(original)
+++ incubator/apollo/trunk/src/templates/Service.vm	Thu Dec 23 15:00:54 2004
@@ -1,5 +1,6 @@
 #set( $package = $generated.packageName)
 #set( $serviceName = $generated.serviceName)
+#set( $customMethodList = $generated.customMethodList)
 
 package $package;
 
@@ -47,27 +48,19 @@
       return m_resourceContext;
    }
 
-   public XmlObject mount( XmlObject requestDoc )
+   #foreach( $method in $customMethodList.valueSet() )
+   public $method.JavaMethodSignature
    {
-      try
-      {
-         return XmlObject.Factory.parse( "<MountResponse />" );
-      }
-      catch ( XmlException xe )
-      {
-         throw new JAXRPCException( xe );
-      }
-   }
-
-   public XmlObject unmount( XmlObject requestDoc )
-   {
-      try
-      {
-         return XmlObject.Factory.parse( "<UnmountResponse />" );
-      }
-      catch ( XmlException xe )
-      {
-         throw new JAXRPCException( xe );
-      }
+     	//todo implement
+     	try
+	{
+	    return XmlObject.Factory.parse( "<MountResponse />" );
+	}
+	catch ( XmlException xe )
+	{
+	    throw new JAXRPCException( xe );
+      	}
    }
+   #end   
+   
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org