From: <bob...@us...> - 2010-05-16 04:17:49
|
Revision: 14310 http://andromda.svn.sourceforge.net/andromda/?rev=14310&view=rev Author: bobfields Date: 2010-05-16 04:17:42 +0000 (Sun, 16 May 2010) Log Message: ----------- Change $servicesPath from /services to services, to allow relative references. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/axis1/server-config.wsdd.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/web.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jboss/jboss-web.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-output.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml 2010-05-16 04:17:08 UTC (rev 14309) +++ trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml 2010-05-16 04:17:42 UTC (rev 14310) @@ -21,17 +21,19 @@ <property name="wsdls"> <documentation> Specifies the directory to which generated WSDL's will be placed. + Normally webservice/src/WEB-INF/wsdl or webservice/WebContent/WEB-INF/wsdl (for CXF). </documentation> </property> <property name="java-types"> <documentation> The directory to which any non implementation Java files will be generated. + Normally common/target/src/main/java </documentation> </property> <property name="configuration"> <documentation> The directory to which any configuration files - are generated (such as the web.xml, etc). + are generated (such as the web.xml, etc). Normally webservice/src/WEB-INF or webservice/WebContent/WEB-INF (for CXF). </documentation> </property> <property name="axis-tests" required="false"> @@ -50,32 +52,53 @@ specific configuration files are generated. </documentation> </property> + <property name="webservice-project"> + <documentation> + The webservice maven project directory, where buildWS ant scripts will be created and run. + </documentation> + </property> <property name="webservice-types"> <documentation> The directory to which any extra webservice classes will be generated (i.e. an AttachmentHandler - for example). + for example). Normally core/src/main/java. </documentation> </property> + <property name="webservice-tests"> + <documentation> + The directory to which webservice tests will be generated, so that they can be run as part of the maven test phases. + Normally webservice/src/test/java. Output is only generated once. Testing requires a running Jetty server. + </documentation> + </property> <property name="webservice-impl"> <documentation> The directory to which any extra webservice classes will be generated (i.e. an AttachmentHandler - for example). + for example). Normally webservice/src/main/java. </documentation> </property> + <property name="core-tests"> + <documentation> + The directory to which webservice impl tests will be generated (in the core project), + so that they can be run as part of the maven test phases. + Normally core/src/test/java. Output is only generated once. + </documentation> + </property> <property name="service-impls"> <documentation> The directory to which any service implementation classes will be generated. + Normally core/src/main/java. </documentation> </property> <property name="jaxb-impl"> <documentation> The directory to which customized JAXB implementation classes will be generated (i.e. Adapter). + Normally common/src/main/java. </documentation> </property> <property name="jaxb-gen"> <documentation> The directory to which JAXB generated classes will be generated (i.e. package-info, ObjectFactory), and to which CXF client generated classes will be copied. + Normally common/target/src/main/java. </documentation> </property> </propertyGroup> @@ -370,7 +393,7 @@ </documentation> </property> <property name="servicesPath"> - <default>/services</default> + <default>services</default> <documentation> The path to the location of the services (relative to the web application context). </documentation> @@ -378,7 +401,7 @@ <property name="webContext"> <default>webservice</default> <documentation> - The web application context path http://host:port/webContext/servicesPath/ServiceName. + The web application context path http://$host:$port/$webContext/$servicesPath/ServiceName. </documentation> </property> <property name="ejbJndiUrl" required="false"> @@ -540,7 +563,7 @@ </documentation> </property> <property name="XMLDateAdapter"> - <default>com.disney.jaxb.adapter.XSDateAdapter</default> + <default></default> <documentation> Class which extends Jaxb2 javax.xml.bind.annotation.adapters.XmlAdapter>String, Date<. Handles parse/print of customized String formats. Outputs java.util.Date or java.util.Calendar @@ -549,7 +572,7 @@ </documentation> </property> <property name="XMLDateTimeAdapter"> - <default>com.disney.jaxb.adapter.XSDateTimeAdapter</default> + <default></default> <documentation> Class which extends Jaxb2 javax.xml.bind.annotation.adapters.XmlAdapter>String, Date<. Handles parse/print of customized String formats. Outputs java.util.Date or java.util.Calendar @@ -558,7 +581,7 @@ </documentation> </property> <property name="XMLTimeAdapter"> - <default>com.disney.jaxb.adapter.XSTimeAdapter</default> + <default></default> <documentation> Class which extends Jaxb2 javax.xml.bind.annotation.adapters.XmlAdapter>String, Date<. Handles parse/print of customized String formats. Outputs java.util.Date or java.util.Calendar @@ -572,7 +595,7 @@ Class which extends Jaxb2 javax.xml.bind.annotation.adapters.XmlAdapter>String, Boolean<. Handles parse/print of customized String formats. Outputs Boolean instead of boolean. Primitive boolean can cause issues with XML return values. - Example: com.disney.jaxb.adapter.BooleanAdapter. Can be customized for individual attributes through + Can be customized for individual attributes through XmlAdapter stereotype. </documentation> </property> @@ -581,7 +604,7 @@ <documentation> Class which extends Jaxb2 javax.xml.bind.annotation.adapters.XmlAdapter>String, Integer<. Handles parse/print of customized String formats. Outputs Integer instead of BigInteger. - Example: com.disney.jaxb.adapter.IntegerAdapter. Can be customized for individual attributes through + Can be customized for individual attributes through XmlAdapter stereotype. </documentation> </property> @@ -590,7 +613,7 @@ <documentation> Class which extends Jaxb2 javax.xml.bind.annotation.adapters.XmlAdapter>String, Decimal<. Handles parse/print of customized String formats. Outputs Decimal instead of BigDecimal. - Example: com.disney.jaxb.adapter.LongAdapter. Can be customized for individual attributes through + Can be customized for individual attributes through XmlAdapter stereotype. </documentation> </property> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/axis1/server-config.wsdd.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/axis1/server-config.wsdd.vsl 2010-05-16 04:17:08 UTC (rev 14309) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/axis1/server-config.wsdd.vsl 2010-05-16 04:17:42 UTC (rev 14310) @@ -1,122 +1,122 @@ -<?xml version="1.0" encoding="$xmlEncoding"?> -<!-- Axis Web Service Deployment Descriptor (WSDD), - generated by andromda-webservice cartridge - (server-config.wsdd.vsl) do not edit! --> -<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> - <globalConfiguration> - <parameter name="adminPassword" value="admin"/> - <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> -#if ($stringUtils.isNotBlank($attachmentsDirectory)) - <parameter name="attachments.Directory" value="$attachmentsDirectory"/> -#end - <parameter name="sendXsiTypes" value="true"/> - <parameter name="sendMultiRefs" value="true"/> - <parameter name="sendXMLDeclaration" value="true"/> - <parameter name="axis.sendMinimizedElements" value="true"/> - <parameter name="axis.servicesPath" value="$servicesPath/"/> - </globalConfiguration> - <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/> - <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/> - <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> -#set ($arraySerializerName = "ArraySerializerFactory") -#if ($stringUtils.isNotBlank($webserviceTypesPackage)) -#set ($arraySerializerName = "$webserviceTypesPackage.$arraySerializerName") -#end -#foreach ($service in $services) -#parse("templates/webservice/Globals.vm") - <service name="$service.qName" provider="java:${service.provider}" style="$service.style" use="$service.use"> -## if the signedRequest or encyptedRequest flag is true, then we'll add in the appropriate -## handler -#if ($signedRequest == 'true'|| $encryptedRequest == 'true') -#if ($signedRequest == 'true') -#set ($action = "Signature") -#end -#if ($encryptedRequest == 'true') -#set ($action = " $action Encrypt") -#end - <!-- define the WSS4J security handler to handle requests --> - <requestFlow> - <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver"> - <parameter name="action" value="$action.trim()"/> - <parameter name="signaturePropFile" value="wss4j/crypto.properties" /> - </handler> - </requestFlow> -#end -## For now only define the static wsdl with wrapped -#if ($service.wrappedStyle) - <wsdlFile>/$service.wsdlFile</wsdlFile> -#end - <documentation> -$service.getDocumentation(" ", 64, false) - </documentation> - <namespace>$service.namespace</namespace> - <parameter name="allowedMethods" value="$service.allowedMethods"/> -#parse("templates/webservice/${service.provider}-Globals.vm") -#parse("templates/webservice/axis1/${service.provider}-provider.vm") -#foreach ( $operation in $service.allowedOperations ) - <operation name="${operation.name}"> -#foreach ( $argument in $operation.arguments ) - <parameter name="${argument.name}"/> -#end - </operation> -#end -#foreach ( $typeMapping in $service.typeMappingElements ) -## By default set the type as the typeMapping itself, -## however if it has a type, use that instead -#set ($type = $typeMapping) -#if ($typeMapping.type) -#set ($type = $typeMapping.type) -#end - <typeMapping - type="java:${type.fullyQualifiedName}" - xmlns:ns${velocityCount}="${type.namespace}" -#set ($serialPrefix = "Bean") -#if ($type.arrayType) -#set ($serialPrefix = "Array") - qname="ns${velocityCount}:${type.wsdlArrayName}" -#else - qname="ns${velocityCount}:${type.qName}" -#if ($type.enumeration) -#set ($serialPrefix = "Enum") -#end -#end -#if ($type.arrayType) - serializer="$arraySerializerName" -#else - serializer="org.apache.axis.encoding.ser.${serialPrefix}SerializerFactory" -#end - deserializer="org.apache.axis.encoding.ser.${serialPrefix}DeserializerFactory" - encodingStyle="${encodingStyle}"> - <documentation> -$type.getDocumentation(" ", 64, false) - </documentation> - </typeMapping> -## Handle any type mappings that happen to be associationEnds -#if ($typeMapping.many) - <typeMapping - type="java:${type.fullyQualifiedName}[]" - xmlns:ns${velocityCount}="$type.namespace" - qname="ns${velocityCount}:${type.wsdlArrayName}" - serializer="$arraySerializerName" - deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" - encodingStyle="${encodingStyle}"> - <documentation> -$type.getDocumentation(" ", 64, false) - </documentation> - </typeMapping> -#end -#end - </service> -#end - <transport name="http"> - <requestFlow> - <handler type="URLMapper"/> - <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> - </requestFlow> - </transport> - <transport name="local"> - <responseFlow> - <handler type="LocalResponder"/> - </responseFlow> - </transport> +<?xml version="1.0" encoding="$xmlEncoding"?> +<!-- Axis Web Service Deployment Descriptor (WSDD), + generated by andromda-webservice cartridge + (server-config.wsdd.vsl) do not edit! --> +<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> + <globalConfiguration> + <parameter name="adminPassword" value="admin"/> + <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> +#if ($stringUtils.isNotBlank($attachmentsDirectory)) + <parameter name="attachments.Directory" value="$attachmentsDirectory"/> +#end + <parameter name="sendXsiTypes" value="true"/> + <parameter name="sendMultiRefs" value="true"/> + <parameter name="sendXMLDeclaration" value="true"/> + <parameter name="axis.sendMinimizedElements" value="true"/> + <parameter name="axis.servicesPath" value="/$servicesPath/"/> + </globalConfiguration> + <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/> + <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/> + <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> +#set ($arraySerializerName = "ArraySerializerFactory") +#if ($stringUtils.isNotBlank($webserviceTypesPackage)) +#set ($arraySerializerName = "$webserviceTypesPackage.$arraySerializerName") +#end +#foreach ($service in $services) +#parse("templates/webservice/Globals.vm") + <service name="$service.qName" provider="java:${service.provider}" style="$service.style" use="$service.use"> +## if the signedRequest or encyptedRequest flag is true, then we'll add in the appropriate +## handler +#if ($signedRequest == 'true'|| $encryptedRequest == 'true') +#if ($signedRequest == 'true') +#set ($action = "Signature") +#end +#if ($encryptedRequest == 'true') +#set ($action = " $action Encrypt") +#end + <!-- define the WSS4J security handler to handle requests --> + <requestFlow> + <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver"> + <parameter name="action" value="$action.trim()"/> + <parameter name="signaturePropFile" value="wss4j/crypto.properties" /> + </handler> + </requestFlow> +#end +## For now only define the static wsdl with wrapped +#if ($service.wrappedStyle) + <wsdlFile>/$service.wsdlFile</wsdlFile> +#end + <documentation> +$service.getDocumentation(" ", 64, false) + </documentation> + <namespace>$service.namespace</namespace> + <parameter name="allowedMethods" value="$service.allowedMethods"/> +#parse("templates/webservice/${service.provider}-Globals.vm") +#parse("templates/webservice/axis1/${service.provider}-provider.vm") +#foreach ( $operation in $service.allowedOperations ) + <operation name="${operation.name}"> +#foreach ( $argument in $operation.arguments ) + <parameter name="${argument.name}"/> +#end + </operation> +#end +#foreach ( $typeMapping in $service.typeMappingElements ) +## By default set the type as the typeMapping itself, +## however if it has a type, use that instead +#set ($type = $typeMapping) +#if ($typeMapping.type) +#set ($type = $typeMapping.type) +#end + <typeMapping + type="java:${type.fullyQualifiedName}" + xmlns:ns${velocityCount}="${type.namespace}" +#set ($serialPrefix = "Bean") +#if ($type.arrayType) +#set ($serialPrefix = "Array") + qname="ns${velocityCount}:${type.wsdlArrayName}" +#else + qname="ns${velocityCount}:${type.qName}" +#if ($type.enumeration) +#set ($serialPrefix = "Enum") +#end +#end +#if ($type.arrayType) + serializer="$arraySerializerName" +#else + serializer="org.apache.axis.encoding.ser.${serialPrefix}SerializerFactory" +#end + deserializer="org.apache.axis.encoding.ser.${serialPrefix}DeserializerFactory" + encodingStyle="${encodingStyle}"> + <documentation> +$type.getDocumentation(" ", 64, false) + </documentation> + </typeMapping> +## Handle any type mappings that happen to be associationEnds +#if ($typeMapping.many) + <typeMapping + type="java:${type.fullyQualifiedName}[]" + xmlns:ns${velocityCount}="$type.namespace" + qname="ns${velocityCount}:${type.wsdlArrayName}" + serializer="$arraySerializerName" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="${encodingStyle}"> + <documentation> +$type.getDocumentation(" ", 64, false) + </documentation> + </typeMapping> +#end +#end + </service> +#end + <transport name="http"> + <requestFlow> + <handler type="URLMapper"/> + <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> + </requestFlow> + </transport> + <transport name="local"> + <responseFlow> + <handler type="LocalResponder"/> + </responseFlow> + </transport> </deployment> \ No newline at end of file Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/web.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/web.xml.vsl 2010-05-16 04:17:08 UTC (rev 14309) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/web.xml.vsl 2010-05-16 04:17:42 UTC (rev 14310) @@ -1,32 +1,50 @@ <?xml version="1.0" encoding="$xmlEncoding"?> <!-- Generated by webservice cartridge (web.xml.vsl) do not edit! --> -<web-app xmlns="http://java.sun.com/xml/ns/j2ee" +<web-app id="$applicationName" version="2.4" + xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" - version="2.4"> + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>$applicationName</display-name> <!-- context-param merge-point --> <!-- filter merge-point --> <!-- filter-mapping merge-point --> +#if ($cxf) + <!-- Spring context Configuration file. Default is WEB-INF/applicationContext.xml --> + <context-param> + <param-name>contextConfigLocation</param-name> + <param-value>/WEB-INF/applicationContext-CXF.xml</param-value> + </context-param> +#end #if ($axis1) <listener> <listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class> </listener> +#elseif ($jaxws) + <listener> + <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class> + </listener> +#elseif ($cxf) + <listener> + <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> + </listener> #end <!-- listener merge-point --> #if ($axis1) <servlet> + <description>Apache-Axis Servlet</description> <display-name>Apache-Axis Servlet</display-name> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet> + <description>Axis Admin Servlet</description> <display-name>Axis Admin Servlet</display-name> <servlet-name>AdminServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class> <load-on-startup>100</load-on-startup> </servlet> <servlet> + <description>SOAPMonitorService</description> <display-name>SOAPMonitorService</display-name> <servlet-name>SOAPMonitorService</servlet-name> <servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class> @@ -38,6 +56,7 @@ </servlet> #elseif ($axis2) <servlet> + <description>Apache-Axis Servlet</description> <display-name>Apache-Axis Servlet</display-name> <servlet-name>AxisServlet</servlet-name> <servlet-class> @@ -55,21 +74,41 @@ <load-on-startup>1</load-on-startup> </servlet> <servlet> + <description>Apache-Axis Servlet (REST)</description> <display-name>Apache-Axis Servlet (REST)</display-name> <servlet-name>AxisRESTServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisRESTServlet</servlet-class> </servlet> <servlet> + <description>Apache-Axis AxisAdmin Servlet (REST)</description> <display-name>Apache-Axis AxisAdmin Servlet (REST)</display-name> <servlet-name>AxisAdminServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class> </servlet> #elseif ($xfire) <servlet> + <description>XFire Servlet</description> <display-name>XFire Servlet</display-name> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> </servlet> +#elseif ($cxf) + <servlet> + <description>CXF Servlet</description> + <display-name>CXF Servlet</display-name> + <servlet-name>CXFServlet</servlet-name> + <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> + <load-on-startup>1</load-on-startup> + </servlet> +#elseif ($jaxws) +#foreach ($service in $services) + <servlet> + <description>${service.name} Servlet</description> + <display-name>${service.name} Servlet</display-name> + <servlet-name>${service.name}Servlet</servlet-name> + <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class> + </servlet> +#end #end <!-- servlet merge-point --> #if ($axis) @@ -79,7 +118,7 @@ </servlet-mapping> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> - <url-pattern>$servicesPath/*</url-pattern> + <url-pattern>/$servicesPath/*</url-pattern> </servlet-mapping> #end #if ($axis1) @@ -107,8 +146,24 @@ </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> - <url-pattern>/services/*</url-pattern> + <url-pattern>/$servicesPath/*</url-pattern> + </servlet-mapping> +#elseif ($cxf) + <servlet-mapping> + <servlet-name>CXFServlet</servlet-name> + <url-pattern>/servlet/CXFServlet/*</url-pattern> </servlet-mapping> + <servlet-mapping> + <servlet-name>CXFServlet</servlet-name> + <url-pattern>/$servicesPath/*</url-pattern> + </servlet-mapping> +#elseif ($jaxws) +#foreach ($service in $services) + <servlet-mapping> + <servlet-name>${service.name}Servlet</servlet-name> + <url-pattern>/$servicesPath/${service.name}</url-pattern> + </servlet-mapping> +#end #end <!-- servlet-mapping merge-point --> <session-config> @@ -136,7 +191,12 @@ </welcome-file-list> #else <welcome-file-list> + <welcome-file>index.html</welcome-file> + <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> + <welcome-file>default.html</welcome-file> + <welcome-file>default.htm</welcome-file> + <welcome-file>default.jsp</welcome-file> <!-- welcome-file merge-point --> </welcome-file-list> #end @@ -153,6 +213,7 @@ <!-- error-page merge-point --> #if ($securityEnabled) #foreach ($service in $services) +#if ($umlUtils.shouldOutput($service)) #if ($service.secured) <security-constraint> <web-resource-collection> @@ -160,7 +221,7 @@ <description> Secures the $service.name web service. </description> - <url-pattern>${servicesPath}/${service.name}/*</url-pattern> + <url-pattern>/${servicesPath}/${service.name}/*</url-pattern> </web-resource-collection> <auth-constraint> #foreach ($role in $service.allRoles) @@ -173,6 +234,7 @@ </security-constraint> #end #end +#end <!-- security-constraint merge-point --> <login-config> <auth-method>BASIC</auth-method> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jboss/jboss-web.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jboss/jboss-web.xml.vsl 2010-05-16 04:17:08 UTC (rev 14309) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jboss/jboss-web.xml.vsl 2010-05-16 04:17:42 UTC (rev 14310) @@ -1,5 +1,17 @@ -<?xml version="1.0" encoding="$xmlEncoding" ?> - -<jboss-web> - <security-domain flushOnSessionInvalidation="true">java:/jaas/$securityRealm</security-domain> +<?xml version="1.0" encoding="$xmlEncoding" ?> + +<jboss-web> +#if ($securityEnabled) + <security-domain flushOnSessionInvalidation="true">java:/jaas/$securityRealm</security-domain> +#end +#if ($cxf) + <!-- Override the default parent first classloading to load war/ear jar files first, because + some CXF dependent jars need to be above the JBoss and JDK 1.6 embedded jar files + --> + <class-loading java2ClassLoadingCompliance="false"> + <loader-repository> + <loader-repository-config>java2ParentDelegation=false</loader-repository-config> + </loader-repository> + </class-loading> +#end </jboss-web> \ No newline at end of file Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl 2010-05-16 04:17:08 UTC (rev 14309) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl 2010-05-16 04:17:42 UTC (rev 14310) @@ -1,222 +1,264 @@ -<?xml version="1.0" encoding="$xmlEncoding"?> -<!-- Generated by andromda-webservice cartridge (wrapped-wsdl.vsl) do not edit! --> -#parse("templates/webservice/Globals.vm") -<wsdl:definitions - name="$service.qName" - targetNamespace="$service.namespace" - xmlns:${service.namespacePrefix}="$service.namespace" - xmlns:wsdl="$wsdlNamespace" - xmlns:wsdlsoap="$wsdlSoapNamespace" - xmlns:xsd="$xmlSchemaNamespace"> - - <!-- WSDL Types --> - <wsdl:types> - <xsd:schema elementFormDefault="qualified" - targetNamespace="$service.namespace" - xmlns:${service.namespacePrefix}="$service.namespace" - xmlns="$xmlSchemaNamespace"> -#foreach ($operation in $service.allowedOperations) - <xsd:element name="$operation.name"> - <xsd:annotation> - <xsd:documentation> -$operation.getDocumentation(" ", 64, false) - </xsd:documentation> - </xsd:annotation> -#if (!$operation.arguments.empty) - <xsd:complexType> - <xsd:sequence> -#foreach ($argument in $operation.arguments) - <xsd:element name="$argument.name" type="$argument.type.schemaType" nillable="$argument.nillable"> - <xsd:annotation> - <xsd:documentation> -$argument.getDocumentation(" ", 64, false) - </xsd:documentation> - </xsd:annotation> - </xsd:element> -#end - </xsd:sequence> - </xsd:complexType> -#else - <xsd:complexType/> -#end - </xsd:element> - <xsd:element name="${operation.name}Response"> -#if ($operation.returnTypePresent) - <xsd:complexType> - <xsd:sequence> - <xsd:element name="${operation.name}Return" type="$operation.returnType.schemaType"/> - </xsd:sequence> - </xsd:complexType> -#else - <xsd:complexType/> -#end - </xsd:element> -#end -#foreach($exception in $service.allowedOperationExceptions) - <xsd:element name="${exception.name}" nillable="true" type="${exception.namespacePrefix}:${exception.qName}"/> -#end -#foreach ($typeMapping in $service.typeMappingElements) -## By default set the type as the typeMapping itself, -## however if it has a type, use that instead -#set ($type = $typeMapping) -#if ($typeMapping.type) -#set ($type = $typeMapping.type) -#end -## Handle any type mappings that happen to be associationEnds -#set ($arrayItemName = $stringUtils.uncapitalize($type.getSchemaType(false, false))) -#if ($typeMapping.many) - <xsd:complexType name="$type.wsdlArrayName"> - <xsd:sequence> - <xsd:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="${type.namespacePrefix}:${type.qName}" /> - </xsd:sequence> - </xsd:complexType> -#end -#if ($type.arrayType) - <xsd:complexType name="$type.getSchemaType(false, true)"> - <xsd:sequence> - <xsd:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="$type.getSchemaType(true, false)" /> - </xsd:sequence> - </xsd:complexType> -#else -#* *##if ($type.enumeration) -#* *##foreach ($literal in $type.literals) -#* *##set ($enumType = $literal.type.schemaType) -#* *##end - <xsd:simpleType name="$type.qName"> - <xsd:annotation> - <xsd:documentation> -$type.getDocumentation(" ", 64, false) - </xsd:documentation> - </xsd:annotation> - <xsd:restriction base="$enumType"> -#* *##foreach ($literal in $type.literals) - <xsd:enumeration value="${escapeUtils.escapeXml($literal.enumerationValue.replaceAll('"', ''))}"> - <xsd:annotation> - <xsd:documentation> -$literal.getDocumentation(" ", 64, false) - </xsd:documentation> - </xsd:annotation> - </xsd:enumeration> -#* *##end - </xsd:restriction> - </xsd:simpleType> -#* *##else - <xsd:complexType name="$type.qName"> - <xsd:annotation> - <xsd:documentation> -$type.getDocumentation(" ", 64, false) - </xsd:documentation> - </xsd:annotation> -#set ($extensionRequired = $type.generalization && !$extensionInheritanceDisabled) -#* *##if ($extensionRequired) - <xsd:complexContent> - <xsd:extension base="${type.generalization.namespacePrefix}:$type.generalization.qName"> -#* *##end -#* *##set ($attributes = $type.getAttributes($extensionInheritanceDisabled)) -#* *##set ($otherEnds = $type.getNavigableConnectingEnds($extensionInheritanceDisabled)) -#* *##if (!$attributes.empty || !$otherEnds.empty) - <xsd:all> -#* *##foreach ($attribute in $attributes) - <xsd:element name="$attribute.name" nillable="$attribute.nillable" type="$attribute.type.schemaType"> - <xsd:annotation> - <xsd:documentation> -$attribute.getDocumentation(" ", 64, false) - </xsd:documentation> - </xsd:annotation> - </xsd:element> -#* *##end -#* *##foreach ($otherEnd in $otherEnds) -#* *##set ($type = $otherEnd.type) -#* *##if ($otherEnd.many) -#* *##set ($schemaType = "${type.namespacePrefix}:${type.wsdlArrayName}") -#* *##else -#* *##set ($schemaType = "${type.namespacePrefix}:${type.qName}") -#* *##end - <xsd:element name="$otherEnd.name" nillable="$otherEnd.nillable" type="${schemaType}"> - <xsd:annotation> - <xsd:documentation> -$otherEnd.getDocumentation(" ", 64, false) - </xsd:documentation> - </xsd:annotation> - </xsd:element> -#end - </xsd:all> -#end -#* *##if ($extensionRequired) - </xsd:extension> - </xsd:complexContent> -#* *##end - </xsd:complexType> -#end -#end -#end - </xsd:schema> - </wsdl:types> - - <!-- Messages --> -#foreach ($operation in $service.allowedOperations) - <wsdl:message name="${operation.name}Request"> - <wsdl:part element="${service.namespacePrefix}:${operation.name}" name="parameters"/> - </wsdl:message> - <wsdl:message name="${operation.name}Response"> - <wsdl:part element="${service.namespacePrefix}:${operation.name}Response" name="parameters"/> - </wsdl:message> -#end -#foreach($exception in $service.allowedOperationExceptions) - <wsdl:message name="${exception.name}"> - <wsdl:part element="${service.namespacePrefix}:${exception.name}" name="fault"/> - </wsdl:message> -#end - - <!-- Port Type --> - <wsdl:portType name="${service.qName}PortType"> -#foreach ($operation in $service.allowedOperations) - <wsdl:operation name="$operation.name"> - <wsdl:documentation> -$operation.getDocumentation(" ", 64, false) - </wsdl:documentation> - <wsdl:input message="${service.namespacePrefix}:${operation.name}Request" - name="${operation.name}Request"/> - <wsdl:output message="${service.namespacePrefix}:${operation.name}Response" - name="${operation.name}Response"/> -#foreach($exception in $operation.exceptions) - <wsdl:fault message="${service.namespacePrefix}:${exception.name}" - name="${exception.name}" /> -#end - </wsdl:operation> -#end - </wsdl:portType> - -#set ($serviceBindingName = "${service.qName}SoapBinding") - <!-- WSDL Binding --> - <wsdl:binding name="$serviceBindingName" type="${service.namespacePrefix}:${service.qName}PortType"> - <wsdlsoap:binding style="document" transport="$documentStyleTransportNamespace"/> -#foreach ($operation in $service.allowedOperations) - <wsdl:operation name="$operation.name"> - <wsdlsoap:operation soapAction="$operation.name" style="document"/> - <wsdl:input name="${operation.name}Request"> - <wsdlsoap:body use="literal"/> - </wsdl:input> - <wsdl:output name="${operation.name}Response"> - <wsdlsoap:body use="literal"/> - </wsdl:output> -#foreach($exception in $operation.exceptions) - <wsdl:fault name="${exception.name}"> - <wsdlsoap:fault name="${exception.name}" use="literal"/> - </wsdl:fault> -#end - </wsdl:operation> -#end - </wsdl:binding> - - <!-- Service Definition --> - <wsdl:service name="$service.qName"> - <wsdl:documentation> -$service.getDocumentation(" ", 64, false) - </wsdl:documentation> - <wsdl:port binding="${service.namespacePrefix}:${serviceBindingName}" name="$service.qName"> - <wsdlsoap:address location="${wsdlSoapAddress}/${service.qName}"/> - </wsdl:port> - </wsdl:service> - -</wsdl:definitions> \ No newline at end of file +#if ($umlUtils.shouldOutput($service)) +<?xml version="1.0" encoding="$xmlEncoding"?> +<!-- Generated by andromda-webservice cartridge (wrapped-wsdl.vsl) do not edit! --> +#parse("templates/webservice/Globals.vm") +<wsdl:definitions + name="$service.qName" + targetNamespace="$service.namespace" + xmlns:${service.namespacePrefix}="$service.namespace" + xmlns:wsdl="$wsdlNamespace" + xmlns:wsdlsoap="$wsdlSoapNamespace" + xmlns:xsd="$xmlSchemaNamespace"> + + <!-- WSDL Types --> + <wsdl:types> + <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" + targetNamespace="$service.namespace" + xmlns:${service.namespacePrefix}="$service.namespace" + xmlns="$xmlSchemaNamespace"> +#foreach ($operation in $service.allowedOperations) + <xsd:element name="$operation.name"> +#if ($stringUtils.isNotBlank($operation.getDocumentation("", 9999, false))) + <xsd:annotation> + <xsd:documentation> +#if (!$stringUtils.containsNone($operation.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$operation.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($operation.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </xsd:documentation> + </xsd:annotation> +#end +#if (!$operation.arguments.empty) + <xsd:complexType> + <xsd:sequence> +#foreach ($argument in $operation.arguments) + <xsd:element name="$argument.name" type="$argument.type.schemaType" nillable="$argument.nillable"> +#if ($stringUtils.isNotBlank($argument.getDocumentation("", 9999, false))) + <xsd:annotation> + <xsd:documentation> +#if (!$stringUtils.containsNone($argument.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$argument.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($argument.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </xsd:documentation> + </xsd:annotation> +#end + </xsd:element> +#end + </xsd:sequence> + </xsd:complexType> +#else + <xsd:complexType/> +#end + </xsd:element> + <xsd:element name="${operation.name}Response"> +#if ($operation.returnTypePresent) + <xsd:complexType> + <xsd:sequence> + <xsd:element name="${operation.name}Return" type="$operation.returnType.schemaType"/> + </xsd:sequence> + </xsd:complexType> +#else + <xsd:complexType/> +#end + </xsd:element> +#end +#foreach($exception in $service.allowedOperationExceptions) + <xsd:element name="${exception.name}" nillable="true" type="${exception.namespacePrefix}:${exception.qName}"/> +#end +#if (!$service.typeMappingElements.empty) + + <!-- Service TypeMapping elements --> +#end +#foreach ($typeMapping in $service.typeMappingElements) +## By default set the type as the typeMapping itself, +## however if it has a type, use that instead +#set ($type = $typeMapping) +#if ($typeMapping.type) +#set ($type = $typeMapping.type) +#end +## Handle any type mappings that happen to be associationEnds +#set ($arrayItemName = $stringUtils.uncapitalize($type.getSchemaType(false, false))) +#if ($typeMapping.many) + <xsd:complexType name="$type.wsdlArrayName"> + <xsd:sequence> + <xsd:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="${type.namespacePrefix}:${type.qName}" /> + </xsd:sequence> + </xsd:complexType> +#end +#if ($type.arrayType) + <xsd:complexType name="$type.getSchemaType(false, true)"> + <xsd:sequence> + <xsd:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="$type.getSchemaType(true, false)" /> + </xsd:sequence> + </xsd:complexType> +#else +#* *##if ($type.enumeration) +#* *##foreach ($literal in $type.literals) +#* *##if (!$stringUtils.isBlank($literal.type.schemaType))#set ($enumType = $literal.type.schemaType)#end +#* *##end +#if ($stringUtils.isBlank($type.qName))#set ($typeName = ${type.name})#else#set ($typeName = $type.qName)#end + <xsd:simpleType name="${typeName}"> +#if ($stringUtils.isNotBlank($type.getDocumentation("", 9999, false))) + <xsd:annotation> + <xsd:documentation> +#if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$type.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </xsd:documentation> + </xsd:annotation> +#end +#if ($stringUtils.isBlank($enumType))#set ($enumType = "xsd:string")#end + <xsd:restriction base="$enumType"> +#* *##foreach ($literal in $type.literals) + <xsd:enumeration value="${escapeUtils.escapeXml($literal.enumerationValue.replaceAll('"', ''))}"> +#if ($stringUtils.isNotBlank($literal.getDocumentation("", 9999, false))) + <xsd:annotation> + <xsd:documentation> +#if (!$stringUtils.containsNone($literal.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$literal.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($literal.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </xsd:documentation> + </xsd:annotation> +#end + </xsd:enumeration> +#* *##end + </xsd:restriction> + </xsd:simpleType> +#* *##else + <xsd:complexType name="$type.qName"> +#if ($stringUtils.isNotBlank($type.getDocumentation("", 9999, false))) + <xsd:annotation> + <xsd:documentation> +#if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$type.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </xsd:documentation> + </xsd:annotation> +#end +#set ($extensionRequired = $type.generalization && !$extensionInheritanceDisabled) +#* *##if ($extensionRequired) + <xsd:complexContent> + <xsd:extension base="${type.generalization.namespacePrefix}:$type.generalization.qName"> +#* *##end +#* *##set ($attributes = $type.getAttributes($extensionInheritanceDisabled)) +#* *##set ($otherEnds = $type.getNavigableConnectingEnds($extensionInheritanceDisabled)) +#* *##if (!$attributes.empty || !$otherEnds.empty) + <xsd:all> +#* *##foreach ($attribute in $attributes) + <xsd:element name="$attribute.name" nillable="$attribute.nillable" type="$attribute.type.schemaType"> +#if ($stringUtils.isNotBlank($attribute.getDocumentation("", 9999, false))) + <xsd:annotation> + <xsd:documentation> +#if (!$stringUtils.containsNone($attribute.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$attribute.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($attribute.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </xsd:documentation> + </xsd:annotation> +#end + </xsd:element> +#* *##end +#* *##foreach ($otherEnd in $otherEnds) +#* *##set ($type = $otherEnd.type) +#* *##if ($otherEnd.many) +#* *##set ($schemaType = "${type.namespacePrefix}:${type.wsdlArrayName}") +#* *##else +#* *##set ($schemaType = "${type.namespacePrefix}:${type.qName}") +#* *##end + <xsd:element name="$otherEnd.name" nillable="$otherEnd.nillable" type="${schemaType}"> +#if ($stringUtils.isNotBlank($otherEnd.getDocumentation("", 9999, false))) + <xsd:annotation> + <xsd:documentation> +#if (!$stringUtils.containsNone($otherEnd.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$otherEnd.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($otherEnd.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </xsd:documentation> + </xsd:annotation> +#end + </xsd:element> +#end + </xsd:all> +#end +#* *##if ($extensionRequired) + </xsd:extension> + </xsd:complexContent> +#* *##end + </xsd:complexType> +#end +#end +#end + </xsd:schema> + </wsdl:types> + + <!-- Messages --> +#foreach ($operation in $service.allowedOperations) + <wsdl:message name="${operation.name}Request"> + <wsdl:part element="${service.namespacePrefix}:${operation.name}" name="parameters"/> + </wsdl:message> + <wsdl:message name="${operation.name}Response"> + <wsdl:part element="${service.namespacePrefix}:${operation.name}Response" name="parameters"/> + </wsdl:message> +#end +#foreach($exception in $service.allowedOperationExceptions) + <wsdl:message name="${exception.name}"> + <wsdl:part element="${service.namespacePrefix}:${exception.name}" name="fault"/> + </wsdl:message> +#end + + <!-- Port Type --> + <wsdl:portType name="${service.qName}PortType"> +#foreach ($operation in $service.allowedOperations) + <wsdl:operation name="$operation.name"> +#if ($stringUtils.isNotBlank($operation.getDocumentation("", 9999, false))) + <wsdl:documentation> +#if (!$stringUtils.containsNone($operation.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end +$operation.getDocumentation(" ", 64, false) +#if (!$stringUtils.containsNone($operation.getDocumentation("", 64, false), "\"'&<>"))]]>#end + </wsdl:documentation> +#end + <wsdl:input message="${service.namespacePrefix}:${operation.name}Request" + name="${operation.name}Request"/> + <wsdl:output message="${service.namespacePrefix}:${operation.name}Response" + name="${operation.name}Response"/> +#foreach($exception in $operation.exceptions) + <wsdl:fault message="${service.namespacePrefix}:${exception.name}" + name="${exception.name}" /> +#end + </wsdl:operation> +#end + </wsdl:portType> + +#set ($serviceBindingName = "${service.qName}SoapBinding") + <!-- WSDL Binding --> + <wsdl:binding name="$serviceBindingName" type="${service.namespacePrefix}:${service.qName}PortType"> + <wsdlsoap:binding style="document" transport="$documentStyleTransportNamespace"/> +#foreach ($operation in $service.allowedOperations) + <wsdl:operation name="$operation.name"> + <wsdlsoap:operation soapAction="$operation.name" style="document"/> + <wsdl:input name="${operation.name}Request"> + <wsdlsoap:body use="literal"/> + </wsdl:input> + <wsdl:output name="${operation.name}Response"> + <wsdlsoap:body use="literal"/> + </wsdl:output> +#foreach($exception in $operation.exceptions) + <wsdl:fault name="${exception.name}"> + <wsdlsoap:fault name="${exception.name}" use="literal"/> + </wsdl:fault> +#end + </wsdl:operation> +#end + </wsdl:binding> + + <!-- Service Definition --> + <wsdl:service name="$service.qName"> +#if ($stringUtils.isNotBlank($service.getDocumentation("", 9999, false))) + <wsdl:documentation> +$service.getDocumentation(" ", 64, false) + </wsdl:documentation> +#end + <wsdl:port binding="${service.namespacePrefix}:${serviceBindingName}" name="$service.qName"> + <wsdlsoap:address location="${wsdlSoapAddress}/${service.qName}"/> + </wsdl:port> + </wsdl:service> + +</wsdl:definitions> +#end Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-output.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2010-07-05 20:44:21
|
Revision: 14419 http://andromda.svn.sourceforge.net/andromda/?rev=14419&view=rev Author: bobfields Date: 2010-07-05 20:44:15 +0000 (Mon, 05 Jul 2010) Log Message: ----------- Fix build copy script when faults are modeled with no associations. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-07-04 20:14:50 UTC (rev 14418) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-07-05 20:44:15 UTC (rev 14419) @@ -135,12 +135,14 @@ <copy todir="${andromda.project}/common/target/src/main/java" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> <fileset dir="${andromda.project}/CXF/target/src/main/java"> #foreach ($exception in $service.allowedOperationExceptions) -#set ($faultName = $exception.name.replace("Exception", "Fault")) ## <!-- $faultName $exception.associationEnds.size() $exception --> #if ($exception.associationEnds.empty) +#set ($faultName = $exception.name.replace("Exception", "Fault")) +#else +#set ($faultName = $exception.associationEnds.get(0).type.name) +#end <include name="**/${faultName}.java"/> #end -#end </fileset> </copy> #end Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2010-07-09 21:22:48
|
Revision: 14429 http://andromda.svn.sourceforge.net/andromda/?rev=14429&view=rev Author: bobfields Date: 2010-07-09 21:22:42 +0000 (Fri, 09 Jul 2010) Log Message: ----------- Comment out debug outputs. Use fully qualified method name in MethodImpl. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2010-07-09 21:22:09 UTC (rev 14428) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2010-07-09 21:22:42 UTC (rev 14429) @@ -29,7 +29,7 @@ #foreach ($operation in $service.allowedOperations) #foreach($exception in $operation.exceptions) #if ($exception.associationEnds.empty) - <!-- $exception $exception.associationEnds $exception.associationEnds.size() --> +## <!-- $exception $exception.associationEnds $exception.associationEnds.size() --> #set ($faultName=$exception.name.replace("Exception", "Fault")) #else #set ($faultName=$exception.associationEnds.get(0).otherEnd.type.name) Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2010-07-09 21:22:09 UTC (rev 14428) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2010-07-09 21:22:42 UTC (rev 14429) @@ -32,7 +32,7 @@ import org.apache.commons.lang.builder.ToStringBuilder; /** - * <p>Java class for ${operation} web service request element declaration. + * <p>Java class for ${operation.owner.fullyQualifiedName}.${operation.name}() web service request element declaration. */ @XmlAccessorType(XmlAccessType.FIELD) #set ($comma="") Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2010-07-20 03:20:50
|
Revision: 14464 http://andromda.svn.sourceforge.net/andromda/?rev=14464&view=rev Author: bobfields Date: 2010-07-20 03:20:44 +0000 (Tue, 20 Jul 2010) Log Message: ----------- Add pluralize* property references Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml 2010-07-20 03:20:23 UTC (rev 14463) +++ trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml 2010-07-20 03:20:44 UTC (rev 14464) @@ -76,6 +76,9 @@ <property reference="XMLIntegerAdapter"/> <property reference="XMLDecimalAdapter"/> <property reference="jaxb-gen"/> + <property reference="pluralizeAssociationEndNames"/> + <property reference="pluralizeAttributeNames"/> + <property reference="pluralizeParameterNames"/> <!-- cartridge-property merge-point --> <condition name="generateRefFiles">$generateRefFiles.equalsIgnoreCase("true")</condition> @@ -109,6 +112,9 @@ <condition name="generateIsBooleanGetters">$generateIsBooleanGetters.equalsIgnoreCase("true")</condition> <condition name="generateChainedSetters">$generateChainedSetters.equalsIgnoreCase("true")</condition> <condition name="simpleBindingMode">$simpleBindingMode.equalsIgnoreCase("true")</condition> + <condition name="pluralizeAssociationEndNames">$pluralizeAssociationEndNames.equalsIgnoreCase("true")</condition> + <condition name="pluralizeAttributeNames">$pluralizeAttributeNames.equalsIgnoreCase("true")</condition> + <condition name="pluralizeParameterNames">$pluralizeParameterNames.equalsIgnoreCase("true")</condition> <!-- condition merge-point--> <!-- cartridge-resource merge-point --> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wal...@us...> - 2010-07-21 22:52:04
|
Revision: 14471 http://andromda.svn.sourceforge.net/andromda/?rev=14471&view=rev Author: walterim Date: 2010-07-21 22:51:57 +0000 (Wed, 21 Jul 2010) Log Message: ----------- corrected the jaxb-commons local path Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-07-20 22:37:11 UTC (rev 14470) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-07-21 22:51:57 UTC (rev 14471) @@ -20,7 +20,7 @@ <pathelement location="${m2repo}/org/apache/cxf/cxf-xjc-dv/${cxf.version}/cxf-xjc-dv-${cxf.version}.jar"/> <pathelement location="${m2repo}/org/apache/cxf/cxf-xjc-ts/${cxf.version}/cxf-xjc-ts-${cxf.version}.jar"/> #if ($stringUtils.isNotBlank($xjcArguments)) - <fileset dir="${m2repo}/org/andromda/thirdparty/jaxb-commons"> + <fileset dir="${m2repo}/org/andromda/thirdparty/jaxb2_commons/jaxb-commons"> <include name="**/*.jar"/> <exclude name="**/*-sources.jar"/> <exclude name="**/*-javadoc.jar"/> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2010-07-22 22:56:41
|
Revision: 14474 http://andromda.svn.sourceforge.net/andromda/?rev=14474&view=rev Author: bobfields Date: 2010-07-22 22:56:35 +0000 (Thu, 22 Jul 2010) Log Message: ----------- CXF copy client to webservice/src/test/java. WSTest Unit Test fix. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2010-07-22 12:44:08 UTC (rev 14473) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2010-07-22 22:56:35 UTC (rev 14474) @@ -12,7 +12,7 @@ package ${service.packageName}.test; #end -import junit.framework.Test; +import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; import ${service.fullyQualifiedName}SEI; @@ -23,49 +23,33 @@ public class ${service.name}WSTest #if ($service.generalization) extends ${service.generalization.fullyQualifiedName}Test +#else + extends junit.framework.TestCase #end { - private String name = null; private Object scenario = null; /** * Constructor with service name - * @param nameIn Service name to be tested + * @param name Service name to be tested */ - public ${service.name}WSTest(String nameIn) + public ${service.name}WSTest(String name) { - super(); - this.name = nameIn; + super(name); } /** * Constructor with service name and scenario - allows running one scenario data line from spreadsheet - * @param nameIn Service name to be tested + * @param name Service name to be tested * @param scenarioIn the first column of the spreadsheet */ - public ${service.name}WSTest(String nameIn, Object scenarioIn) + public ${service.name}WSTest(String name, Object scenarioIn) { - this(nameIn); + super(name); this.setScenario(scenarioIn); } /** - * @return the name - */ - public String getName() - { - return this.name; - } - - /** - * @param nameIn the name to set - */ - public void setName(String nameIn) - { - this.name = nameIn; - } - - /** * @return the scenario */ public Object getScenario() @@ -110,7 +94,7 @@ #end */ @Test - public $returnType $operation.name + public $returnType test${stringUtils.capitalize(${operation.operationName})} ( #if (!$operation.arguments.empty) #set ($comma = "") Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-07-22 12:44:08 UTC (rev 14473) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-07-22 22:56:35 UTC (rev 14474) @@ -152,7 +152,7 @@ #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) #set ($dir=${stringUtils.replace($service.packageName, '.', '/')}) - <copy todir="${andromda.project}/webservice/src/main/java/$dir" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> + <copy todir="${andromda.project}/webservice/src/test/java/$dir" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> <fileset dir="${andromda.project}/CXF/target/src/main/java/$dir"> <include name="**/*_Client.java"/> <include name="**/*_Server.java"/> @@ -165,7 +165,7 @@ #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) <copy todir="${andromda.project}/CXF/src/main/java" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> - <fileset dir="${andromda.project}/webservice/target/src/test/java"> + <fileset dir="${andromda.project}/webservice/src/test/java"> <include name="**/*_WSClient.java"/> <include name="**/*WSTest.java"/> <include name="**/cxf*.xml"/> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2010-07-27 17:34:42
|
Revision: 14494 http://andromda.svn.sourceforge.net/andromda/?rev=14494&view=rev Author: bobfields Date: 2010-07-27 17:34:35 +0000 (Tue, 27 Jul 2010) Log Message: ----------- Comment out java debug comment output in WebServiceDelegate.vsl Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl 2010-07-27 17:34:12 UTC (rev 14493) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl 2010-07-27 17:34:35 UTC (rev 14494) @@ -112,7 +112,7 @@ #if (!$useArrayWrapper && $parameter.many) #set ($paramType="java.util.List<$parameter.type.fullyQualifiedName>") #else - // $useArrayWrapper $parameter.many $parameter.upper +## // $useArrayWrapper $parameter.many $parameter.upper #set ($paramType=$parameter.getterSetterTypeName) #end ## ${comma}@WebParam(name="$parameter.name"#if ($stringUtils.isNotBlank($parameter.type.packageName)), targetNamespace="http://$parameter.type.packageName/"#end) $parameter.type.fullyQualifiedName $parameter.name Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2010-08-09 23:05:19
|
Revision: 14562 http://andromda.svn.sourceforge.net/andromda/?rev=14562&view=rev Author: bobfields Date: 2010-08-09 23:05:12 +0000 (Mon, 09 Aug 2010) Log Message: ----------- Fix jaxb_commons ant classpath to point to a jar file in buildWS.xml Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Added Paths: ----------- trunk/cartridges/andromda-webservice/src/test/uml/WebServiceCartridgeTestModel.mdr Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-08-09 23:04:23 UTC (rev 14561) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-08-09 23:05:12 UTC (rev 14562) @@ -20,7 +20,7 @@ <pathelement location="${m2repo}/org/apache/cxf/cxf-xjc-dv/${cxf.version}/cxf-xjc-dv-${cxf.version}.jar"/> <pathelement location="${m2repo}/org/apache/cxf/cxf-xjc-ts/${cxf.version}/cxf-xjc-ts-${cxf.version}.jar"/> #if ($stringUtils.isNotBlank($xjcArguments)) - <fileset dir="${m2repo}/org/andromda/thirdparty/jaxb2_commons/jaxb-commons"> + <fileset dir="${m2repo}/org/andromda/thirdparty/jaxb2_commons"> <include name="**/*.jar"/> <exclude name="**/*-sources.jar"/> <exclude name="**/*-javadoc.jar"/> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) Added: trunk/cartridges/andromda-webservice/src/test/uml/WebServiceCartridgeTestModel.mdr =================================================================== --- trunk/cartridges/andromda-webservice/src/test/uml/WebServiceCartridgeTestModel.mdr (rev 0) +++ trunk/cartridges/andromda-webservice/src/test/uml/WebServiceCartridgeTestModel.mdr 2010-08-09 23:05:12 UTC (rev 14562) @@ -0,0 +1,284 @@ +MagicDrawUML "9.0" +(RTManager + (RTManagerOptions + CODE_GENERATION_REVERSE_OPTION 2 + DELETED_ELEMENT_GENERATION_OPTION 0 + USE_CLASSPATH_FOR_JAVA_REVERSE TRUE + LAUNCH_WIZARD FALSE + MERGE_AFTER_REVERSE FALSE + CREATE_ATTRIBUTES TRUE + DEFAULT_WORKING_DIRECTORY "<install.root>" + DEFAULT_LANGUAGE "Java" + (JavaLanguageOptions + mGenEmptyDoc FALSE + mBracketInNewLine TRUE + mAddSpaces TRUE + mUseJavaDoc FALSE + mDefaultHeader "@(#) $FILE_NAME" + COLLECT_IMPORTS_ON_DEMAND TRUE + mGenerateDocumentation TRUE + (DocumentationProperties + DefaultDocumentationProcessor "STANDARD_PROCESSOR" + mCommentStyle 0 + (Processors + (JAVA_DOC_PROCESSOR + (mDocumentationTagManager + (CLASSIFIER + (DocumentationTagProperty + mName "DESCRIPTION" + mGenerate "true" + ) + ) + (OPERARTION + (DocumentationTagProperty + mName "DESCRIPTION" + mGenerate "true" + ) + (DocumentationTagProperty + mName "@param" + mGenerate "true" + ) + (DocumentationTagProperty + mName "@return" + mGenerate "true" + ) + (DocumentationTagProperty + mName "@throws" + mGenerate "true" + ) + ) + (ATTRIBUTE + (DocumentationTagProperty + mName "DESCRIPTION" + mGenerate "true" + ) + ) + ) + ) + ) + ) + mUseClassPath TRUE + mClassPath "lib/xalan.jar |
From: <bob...@us...> - 2010-08-15 17:05:35
|
Revision: 14573 http://andromda.svn.sourceforge.net/andromda/?rev=14573&view=rev Author: bobfields Date: 2010-08-15 17:05:29 +0000 (Sun, 15 Aug 2010) Log Message: ----------- Add additional common/src directory create in buildWS.xml.vsl Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-08-15 17:05:07 UTC (rev 14572) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2010-08-15 17:05:29 UTC (rev 14573) @@ -66,11 +66,13 @@ <record name="${project}/mda/wsgen${NOW}.log" action="start"/> <echo message="running wsgen for each generated webservice class"/> <!-- wsgen throws an exception if directories don't exist --> + <mkdir dir="${andromda.project}/common/src"/> <mkdir dir="${andromda.project}/common/target/classes"/> <mkdir dir="${andromda.project}/common/target/src/main/java"/> <mkdir dir="${andromda.project}/core/src/test/java"/> <mkdir dir="${andromda.project}/core/target/classes"/> <mkdir dir="${andromda.project}/core/target/src/main/java"/> + <mkdir dir="${andromda.project}/CXF/src"/> <mkdir dir="${andromda.project}/CXF/target/src/main/java"/> <mkdir dir="${andromda.project}/CXF/WebContent/WEB-INF/lib"/> <mkdir dir="${andromda.project}/CXF/WebContent/WEB-INF/wsdl"/> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-02-12 05:41:29
|
Revision: 14833 http://andromda.svn.sourceforge.net/andromda/?rev=14833&view=rev Author: bobfields Date: 2011-02-12 05:41:22 +0000 (Sat, 12 Feb 2011) Log Message: ----------- Change xsd: to xs: namespace abbreviation, for consistency with other apps Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-output.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl 2011-02-12 05:40:55 UTC (rev 14832) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl 2011-02-12 05:41:22 UTC (rev 14833) @@ -1,6 +1,6 @@ #if ($umlUtils.shouldOutput($service)) <?xml version="1.0" encoding="$xmlEncoding"?> -<!-- Generated by andromda-webservice cartridge (wrapped-wsdl.vsl) do not edit! --> +<!-- Generated by andromda-webservice cartridge (wsdl/wrapped-wsdl.vsl) do not edit! --> #parse("templates/webservice/Globals.vm") <wsdl:definitions name="$service.qName" @@ -8,61 +8,61 @@ xmlns:${service.namespacePrefix}="$service.namespace" xmlns:wsdl="$wsdlNamespace" xmlns:wsdlsoap="$wsdlSoapNamespace" - xmlns:xsd="$xmlSchemaNamespace"> + xmlns:xs="$xmlSchemaNamespace"> <!-- WSDL Types --> <wsdl:types> - <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" + <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="$service.namespace" xmlns:${service.namespacePrefix}="$service.namespace" xmlns="$xmlSchemaNamespace"> #foreach ($operation in $service.allowedOperations) - <xsd:element name="$operation.name"> + <xs:element name="$operation.name"> #if ($stringUtils.isNotBlank($operation.getDocumentation("", 9999, false))) - <xsd:annotation> - <xsd:documentation> + <xs:annotation> + <xs:documentation> #if (!$stringUtils.containsNone($operation.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end $operation.getDocumentation(" ", 64, false) #if (!$stringUtils.containsNone($operation.getDocumentation("", 64, false), "\"'&<>"))]]>#end - </xsd:documentation> - </xsd:annotation> + </xs:documentation> + </xs:annotation> #end #if (!$operation.arguments.empty) - <xsd:complexType> - <xsd:sequence> + <xs:complexType> + <xs:sequence> #foreach ($argument in $operation.arguments) - <xsd:element name="$argument.name" type="$argument.type.schemaType" nillable="$argument.nillable"> + <xs:element name="$argument.name" type="$argument.type.schemaType" nillable="$argument.nillable"> #if ($stringUtils.isNotBlank($argument.getDocumentation("", 9999, false))) - <xsd:annotation> - <xsd:documentation> + <xs:annotation> + <xs:documentation> #if (!$stringUtils.containsNone($argument.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end $argument.getDocumentation(" ", 64, false) #if (!$stringUtils.containsNone($argument.getDocumentation("", 64, false), "\"'&<>"))]]>#end - </xsd:documentation> - </xsd:annotation> + </xs:documentation> + </xs:annotation> #end - </xsd:element> + </xs:element> #end - </xsd:sequence> - </xsd:complexType> + </xs:sequence> + </xs:complexType> #else - <xsd:complexType/> + <xs:complexType/> #end - </xsd:element> - <xsd:element name="${operation.name}Response"> + </xs:element> + <xs:element name="${operation.name}Response"> #if ($operation.returnTypePresent) - <xsd:complexType> - <xsd:sequence> - <xsd:element name="${operation.name}Return" type="$operation.returnType.schemaType"/> - </xsd:sequence> - </xsd:complexType> + <xs:complexType> + <xs:sequence> + <xs:element name="${operation.name}Return" type="$operation.returnType.schemaType"/> + </xs:sequence> + </xs:complexType> #else - <xsd:complexType/> + <xs:complexType/> #end - </xsd:element> + </xs:element> #end #foreach($exception in $service.allowedOperationExceptions) - <xsd:element name="${exception.name}" nillable="true" type="${exception.namespacePrefix}:${exception.qName}"/> + <xs:element name="${exception.name}" nillable="true" type="${exception.namespacePrefix}:${exception.qName}"/> #end #if (!$service.typeMappingElements.empty) @@ -78,83 +78,83 @@ ## Handle any type mappings that happen to be associationEnds #set ($arrayItemName = $stringUtils.uncapitalize($type.getSchemaType(false, false))) #if ($typeMapping.many) - <xsd:complexType name="$type.wsdlArrayName"> - <xsd:sequence> - <xsd:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="${type.namespacePrefix}:${type.qName}" /> - </xsd:sequence> - </xsd:complexType> + <xs:complexType name="$type.wsdlArrayName"> + <xs:sequence> + <xs:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="${type.namespacePrefix}:${type.qName}" /> + </xs:sequence> + </xs:complexType> #end #if ($type.arrayType) - <xsd:complexType name="$type.getSchemaType(false, true)"> - <xsd:sequence> - <xsd:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="$type.getSchemaType(true, false)" /> - </xsd:sequence> - </xsd:complexType> + <xs:complexType name="$type.getSchemaType(false, true)"> + <xs:sequence> + <xs:element name="$arrayItemName" minOccurs="0" maxOccurs="unbounded" form="qualified" type="$type.getSchemaType(true, false)" /> + </xs:sequence> + </xs:complexType> #else #* *##if ($type.enumeration) #* *##foreach ($literal in $type.literals) #* *##if (!$stringUtils.isBlank($literal.type.schemaType))#set ($enumType = $literal.type.schemaType)#end #* *##end #if ($stringUtils.isBlank($type.qName))#set ($typeName = ${type.name})#else#set ($typeName = $type.qName)#end - <xsd:simpleType name="${typeName}"> + <xs:simpleType name="${typeName}"> #if ($stringUtils.isNotBlank($type.getDocumentation("", 9999, false))) - <xsd:annotation> - <xsd:documentation> + <xs:annotation> + <xs:documentation> #if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end $type.getDocumentation(" ", 64, false) #if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))]]>#end - </xsd:documentation> - </xsd:annotation> + </xs:documentation> + </xs:annotation> #end -#if ($stringUtils.isBlank($enumType))#set ($enumType = "xsd:string")#end - <xsd:restriction base="$enumType"> +#if ($stringUtils.isBlank($enumType))#set ($enumType = "xs:string")#end + <xs:restriction base="$enumType"> #* *##foreach ($literal in $type.literals) - <xsd:enumeration value="${escapeUtils.escapeXml($literal.enumerationValue.replaceAll('"', ''))}"> + <xs:enumeration value="${escapeUtils.escapeXml($literal.enumerationValue.replaceAll('"', ''))}"> #if ($stringUtils.isNotBlank($literal.getDocumentation("", 9999, false))) - <xsd:annotation> - <xsd:documentation> + <xs:annotation> + <xs:documentation> #if (!$stringUtils.containsNone($literal.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end $literal.getDocumentation(" ", 64, false) #if (!$stringUtils.containsNone($literal.getDocumentation("", 64, false), "\"'&<>"))]]>#end - </xsd:documentation> - </xsd:annotation> + </xs:documentation> + </xs:annotation> #end - </xsd:enumeration> + </xs:enumeration> #* *##end - </xsd:restriction> - </xsd:simpleType> + </xs:restriction> + </xs:simpleType> #* *##else - <xsd:complexType name="$type.qName"> + <xs:complexType name="$type.qName"> #if ($stringUtils.isNotBlank($type.getDocumentation("", 9999, false))) - <xsd:annotation> - <xsd:documentation> + <xs:annotation> + <xs:documentation> #if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end $type.getDocumentation(" ", 64, false) #if (!$stringUtils.containsNone($type.getDocumentation("", 64, false), "\"'&<>"))]]>#end - </xsd:documentation> - </xsd:annotation> + </xs:documentation> + </xs:annotation> #end #set ($extensionRequired = $type.generalization && !$extensionInheritanceDisabled) #* *##if ($extensionRequired) - <xsd:complexContent> - <xsd:extension base="${type.generalization.namespacePrefix}:$type.generalization.qName"> + <xs:complexContent> + <xs:extension base="${type.generalization.namespacePrefix}:$type.generalization.qName"> #* *##end #* *##set ($attributes = $type.getAttributes($extensionInheritanceDisabled)) #* *##set ($otherEnds = $type.getNavigableConnectingEnds($extensionInheritanceDisabled)) #* *##if (!$attributes.empty || !$otherEnds.empty) - <xsd:all> + <xs:all> #* *##foreach ($attribute in $attributes) - <xsd:element name="$attribute.name" nillable="$attribute.nillable" type="$attribute.type.schemaType"> + <xs:element name="$attribute.name" nillable="$attribute.nillable" type="$attribute.type.schemaType"> #if ($stringUtils.isNotBlank($attribute.getDocumentation("", 9999, false))) - <xsd:annotation> - <xsd:documentation> + <xs:annotation> + <xs:documentation> #if (!$stringUtils.containsNone($attribute.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end $attribute.getDocumentation(" ", 64, false) #if (!$stringUtils.containsNone($attribute.getDocumentation("", 64, false), "\"'&<>"))]]>#end - </xsd:documentation> - </xsd:annotation> + </xs:documentation> + </xs:annotation> #end - </xsd:element> + </xs:element> #* *##end #* *##foreach ($otherEnd in $otherEnds) #* *##set ($type = $otherEnd.type) @@ -163,29 +163,29 @@ #* *##else #* *##set ($schemaType = "${type.namespacePrefix}:${type.qName}") #* *##end - <xsd:element name="$otherEnd.name" nillable="$otherEnd.nillable" type="${schemaType}"> + <xs:element name="$otherEnd.name" nillable="$otherEnd.nillable" type="${schemaType}"> #if ($stringUtils.isNotBlank($otherEnd.getDocumentation("", 9999, false))) - <xsd:annotation> - <xsd:documentation> + <xs:annotation> + <xs:documentation> #if (!$stringUtils.containsNone($otherEnd.getDocumentation("", 64, false), "\"'&<>"))<![CDATA[#end $otherEnd.getDocumentation(" ", 64, false) #if (!$stringUtils.containsNone($otherEnd.getDocumentation("", 64, false), "\"'&<>"))]]>#end - </xsd:documentation> - </xsd:annotation> + </xs:documentation> + </xs:annotation> #end - </xsd:element> + </xs:element> #end - </xsd:all> + </xs:all> #end #* *##if ($extensionRequired) - </xsd:extension> - </xsd:complexContent> + </xs:extension> + </xs:complexContent> #* *##end - </xsd:complexType> + </xs:complexType> #end #end #end - </xsd:schema> + </xs:schema> </wsdl:types> <!-- Messages --> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-output.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-03-07 06:05:12
|
Revision: 14946 http://andromda.svn.sourceforge.net/andromda/?rev=14946&view=rev Author: bobfields Date: 2011-03-07 06:05:05 +0000 (Mon, 07 Mar 2011) Log Message: ----------- Add 'generated on' and 'generated by' comments to webservice templates. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/package-info.java.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-03-07 06:03:46 UTC (rev 14945) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-03-07 06:05:05 UTC (rev 14946) @@ -3,7 +3,7 @@ ##if ($operation.visibility == "public" || $operation.visibility == "protected") #set ($className=$stringUtils.capitalize($operation.operationName)) // license-header java merge-point -/* Autogenerated by AndroMDA DO NOT EDIT! +/* Autogenerated on $webServiceUtils.date by AndroMDA DO NOT EDIT! * * TEMPLATE: jaxws/MethodRequest.java.vsl in andromda-webservice cartridge * MODEL CLASS: $operation.validationName @@ -62,6 +62,7 @@ #set ($paramType=$parameter.getterSetterTypeName) #end ##set ($type=$stringUtils.substring($parameter.type.name, 0, 8)) +$parameter.getDocumentation(" /** ") */ #if (($paramType.equals("DateTime") && $stringUtils.isNotBlank(${XMLDateTimeAdapter})) || ($paramType.equals("Time") && $stringUtils.isNotBlank(${XMLTimeAdapter}))|| ($paramType.equals("Date") && $stringUtils.isNotBlank(${XMLDateAdapter}))|| ($paramType.equals("Integer") && $stringUtils.isNotBlank(${XMLIntegerAdapter}))|| ($paramType.equals("Decimal") && $stringUtils.isNotBlank(${XMLDecimalAdapter}))|| ($paramType.equals("Boolean") && $stringUtils.isNotBlank(${XMLBooleanAdapter}))) ##set ($elementType=", type=String.class") @XmlElement(#if ($parameter.required)required = true,#end type = String.class) @@ -162,6 +163,9 @@ * @return int if equal * @see Comparable#compareTo(Object) */ +#if ($enableAnnotations) + @Override +#end public int compareTo(Object object) { if (object==null) Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl 2011-03-07 06:03:46 UTC (rev 14945) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl 2011-03-07 06:05:05 UTC (rev 14946) @@ -1,6 +1,6 @@ #if ($umlUtils.shouldOutput($service)) // license-header java merge-point -/* Autogenerated by AndroMDA DO NOT EDIT! +/* Autogenerated on $webServiceUtils.date by AndroMDA DO NOT EDIT! * * TEMPLATE: jaxws/WebServiceClient.vsl in andromda-webservice cartridge * MODEL CLASS: $service.validationName Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl 2011-03-07 06:03:46 UTC (rev 14945) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl 2011-03-07 06:05:05 UTC (rev 14946) @@ -1,6 +1,6 @@ #if ($umlUtils.shouldOutput($service)) // license-header java merge-point -/* Autogenerated by AndroMDA DO NOT EDIT! +/* Autogenerated on $webServiceUtils.date by AndroMDA DO NOT EDIT! * * TEMPLATE: jaxws/WebServiceEndpoint.vsl in andromda-webservice cartridge * MODEL CLASS: $service.validationName Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl 2011-03-07 06:03:46 UTC (rev 14945) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl 2011-03-07 06:05:05 UTC (rev 14946) @@ -1,6 +1,6 @@ #if ($umlUtils.shouldOutput($service)) // license-header java merge-point -/* Autogenerated by AndroMDA DO NOT EDIT! +/* Autogenerated on $webServiceUtils.date by AndroMDA DO NOT EDIT! * * TEMPLATE: jaxws/WebServiceInterface.vsl in andromda-webservices-cartridge * MODEL CLASS: $service.validationName Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl 2011-03-07 06:03:46 UTC (rev 14945) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl 2011-03-07 06:05:05 UTC (rev 14946) @@ -5,7 +5,7 @@ ##// $operation.service ##set ($service=$operation.service) // license-header java merge-point -/* Autogenerated by AndroMDA! +/* Autogenerated on $webServiceUtils.date by AndroMDA! * * TEMPLATE: jaxws\WebServiceMethodImpl.vsl in andromda-webservices-cartridge * MODEL CLASS: $operation.validationName Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/package-info.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/package-info.java.vsl 2011-03-07 06:03:46 UTC (rev 14945) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/package-info.java.vsl 2011-03-07 06:05:05 UTC (rev 14946) @@ -1,6 +1,6 @@ #if ($umlUtils.shouldOutput($pkg)) // license-header java merge-point -/* Autogenerated by AndroMDA do not edit. +/* Autogenerated on $webServiceUtils.date by AndroMDA do not edit. * * TEMPLATE: jaxws/package-info.java.vsl in andromda-webservices-cartridge */ Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-03-18 21:31:22
|
Revision: 14967 http://andromda.svn.sourceforge.net/andromda/?rev=14967&view=rev Author: bobfields Date: 2011-03-18 21:31:16 +0000 (Fri, 18 Mar 2011) Log Message: ----------- Put older version of jaxb xjc in the classpath, to fix conflict with JDK6 embedded version. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-03-18 21:30:54 UTC (rev 14966) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-03-18 21:31:16 UTC (rev 14967) @@ -19,6 +19,7 @@ <!-- jaxb-commons not included in compile or runtime classpath passed to ant - because type=pom? --> <pathelement location="${m2repo}/org/apache/cxf/cxf-xjc-dv/${cxf.version}/cxf-xjc-dv-${cxf.version}.jar"/> <pathelement location="${m2repo}/org/apache/cxf/cxf-xjc-ts/${cxf.version}/cxf-xjc-ts-${cxf.version}.jar"/> + <pathelement location="${m2repo}/com/sun/xml/bind/jaxb-xjc/2.1.13/jaxb-xjc-2.1.13.jar"/> #if ($stringUtils.isNotBlank($xjcArguments)) <fileset dir="${m2repo}/org/andromda/thirdparty/jaxb2_commons"> <include name="**/*.jar"/> @@ -48,9 +49,7 @@ <tstamp/> <echo message="m2repo=${m2repo}"/> <echo message="m2home=${m2home}"/> - <echo message="cxf.home=${cxf.home}"/> <echo message="cxf.version=${cxf.version}"/> - <echo message="jaxb.home=${jaxb.home}"/> <echo message="maven.compile.classpath=${compile_classpath}"/> <echo message="maven.runtime.classpath=${runtime_classpath}"/> </target> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-04-04 21:01:51
|
Revision: 14993 http://andromda.svn.sourceforge.net/andromda/?rev=14993&view=rev Author: bobfields Date: 2011-04-04 21:01:43 +0000 (Mon, 04 Apr 2011) Log Message: ----------- Only apply qualifiedNameLocalPartPattern to webservice name, not all schema elements. SEI suffix configuration value seiSuffix. Change ws template .many to .upper >1 or .upper==-1. Simplify CXF service exception modeling. Fix Req/Resp isSetPrimitive methods. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLEnumerationTypeLogicImpl.java trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLTypeLogicImpl.java trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/metafacades.xml trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/sun-jaxws.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/WSClient.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceSEIImplTest.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-wsdl.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/webservices.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java =================================================================== --- trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java 2011-04-04 21:01:43 UTC (rev 14993) @@ -1903,7 +1903,7 @@ + wsdlType.getAllProperties() + " MetaObject=" + wsdlType.getMetaObject() + " properties=" + wsdlType.getProperties()); } - if (StringUtils.isEmpty(wsdlType.getQName())) + if (StringUtils.isEmpty(wsdlType.getName())) { break; } @@ -2444,11 +2444,11 @@ { if (nonArray instanceof WSDLType) { - schemaType.append(((WSDLType)nonArray).getQName()); + schemaType.append(((WSDLType)nonArray).getName()); } else if (nonArray instanceof WSDLEnumerationType) { - schemaType.append(((WSDLEnumerationType)nonArray).getQName()); + schemaType.append(((WSDLEnumerationType)nonArray).getName()); } } } Modified: trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLEnumerationTypeLogicImpl.java =================================================================== --- trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLEnumerationTypeLogicImpl.java 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLEnumerationTypeLogicImpl.java 2011-04-04 21:01:43 UTC (rev 14993) @@ -112,7 +112,7 @@ public String handleGetSchemaType(boolean withPrefix, boolean preserveArray) { return WebServiceUtils.getSchemaType(this, this.getSchemaTypeMappings(), this.getNamespacePrefix(), - this.getQName(), this.getWsdlArrayNamePrefix(), withPrefix, preserveArray); + this.getName(), this.getWsdlArrayNamePrefix(), withPrefix, preserveArray); } /** @@ -125,12 +125,12 @@ } /** - * @return this.getWsdlArrayNamePrefix() + this.getQName() + * @return this.getWsdlArrayNamePrefix() + this.getName() * @see org.andromda.cartridges.webservice.metafacades.WSDLEnumerationType#getWsdlArrayName() */ protected String handleGetWsdlArrayName() { - StringBuilder name = new StringBuilder(StringUtils.trimToEmpty(this.getQName()).replaceAll("\\[\\]", "")); + StringBuilder name = new StringBuilder(StringUtils.trimToEmpty(this.getName()).replaceAll("\\[\\]", "")); name.insert(0, this.getWsdlArrayNamePrefix()); return name.toString(); } Modified: trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLTypeLogicImpl.java =================================================================== --- trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLTypeLogicImpl.java 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/metafacades/WSDLTypeLogicImpl.java 2011-04-04 21:01:43 UTC (rev 14993) @@ -51,16 +51,16 @@ public String handleGetSchemaType(boolean withPrefix, boolean preserveArray) { return WebServiceUtils.getSchemaType(this, this.getSchemaTypeMappings(), this.getNamespacePrefix(), - this.getQName(), this.getWsdlArrayNamePrefix(), withPrefix, preserveArray); + this.getName(), this.getWsdlArrayNamePrefix(), withPrefix, preserveArray); } /** - * @return getQName().insert(0, this.getWsdlArrayNamePrefix()) + * @return getName().insert(0, this.getWsdlArrayNamePrefix()) * @see org.andromda.cartridges.webservice.metafacades.WSDLType#getWsdlArrayName() */ protected String handleGetWsdlArrayName() { - StringBuilder name = new StringBuilder(StringUtils.trimToEmpty(this.getQName()).replaceAll("\\[\\]", "")); + StringBuilder name = new StringBuilder(StringUtils.trimToEmpty(this.getName()).replaceAll("\\[\\]", "")); name.insert(0, this.getWsdlArrayNamePrefix()); return name.toString(); } Modified: trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml 2011-04-04 21:01:43 UTC (rev 14993) @@ -63,6 +63,7 @@ <property reference="qualifiedNameLocalPartPattern"/> <property reference="namespacePattern"/> <property reference="reverseNamespace"/> + <property reference="seiSuffix"/> <property reference="defaultStyle"/> <property reference="defaultUse"/> <property reference="defaultParameterStyle"/> @@ -247,6 +248,21 @@ path="templates/webservice/cxf/jaxb_bindings.xml.vsl" outputPattern="bindings/{1}.xjb" outlet="wsdls" + overwrite="false" + outputCondition="cxf"> + <modelElements variable="service"> + <modelElement> + <type name="org.andromda.cartridges.webservice.metafacades.WebService"> + <property name="allowedOperations"/> + </type> + </modelElement> + </modelElements> + </template> + + <template + path="templates/webservice/cxf/jaxb_bindings.xml.vsl" + outputPattern="bindings/{1}.xjb.ref" + outlet="wsdls" overwrite="true" outputCondition="cxf"> <modelElements variable="service"> @@ -338,7 +354,7 @@ <template path="templates/webservice/jaxws/WebServiceInterface.java.vsl" - outputPattern="{0}/{1}SEI.java" + outputPattern="{0}/{1}${seiSuffix}.java" outlet="webservice-types" overwrite="true" outputCondition="cxf"> @@ -353,7 +369,7 @@ <template path="templates/webservice/jaxws/WebServiceEndpoint.java.vsl" - outputPattern="{0}/{1}SEIImpl.java" + outputPattern="{0}/{1}${seiSuffix}Impl.java" outlet="webservice-types" overwrite="true" outputCondition="cxf"> @@ -398,7 +414,7 @@ <template path="templates/webservice/jaxws/WebServiceSEIImplTest.java.vsl" - outputPattern="{0}/{1}SEIImplTest.java" + outputPattern="{0}/{1}${seiSuffix}ImplTest.java" outlet="core-tests" overwrite="false" outputCondition="cxf"> @@ -413,7 +429,7 @@ <template path="templates/webservice/jaxws/WebServiceSEIImplTest.java.vsl" - outputPattern="{0}/{1}SEIImplTest.java.ref" + outputPattern="{0}/{1}${seiSuffix}ImplTest.java.ref" outlet="core-tests" overwrite="true" outputCondition="cxf"> @@ -522,7 +538,7 @@ <template path="templates/webservice/jaxws/WebServiceClient.java.vsl" - outputPattern="{0}/{1}SEIClient.java" + outputPattern="{0}/{1}${seiSuffix}Client.java" outlet="webservice-tests" overwrite="false" outputCondition="cxf"> @@ -537,7 +553,7 @@ <template path="templates/webservice/jaxws/WebServiceClient.java.vsl" - outputPattern="{0}/{1}SEIClient.java.ref" + outputPattern="{0}/{1}${seiSuffix}Client.java.ref" outlet="webservice-tests" overwrite="true" outputCondition="cxf"> @@ -991,7 +1007,7 @@ <template path="templates/webservice/jaxws/WebServiceEndpoint.java.vsl" - outputPattern="{0}/{1}SEIEndpoint.java" + outputPattern="{0}/{1}${seiSuffix}Endpoint.java" outlet="webservice-types" overwrite="true" outputCondition="jaxws"> @@ -1006,7 +1022,7 @@ <template path="templates/webservice/jaxws/WebServiceInterface.java.vsl" - outputPattern="{0}/{1}SEI.java" + outputPattern="{0}/{1}${seiSuffix}.java" outlet="webservice-types" overwrite="true" outputCondition="jaxws"> Modified: trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/metafacades.xml =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/metafacades.xml 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/metafacades.xml 2011-04-04 21:01:43 UTC (rev 14993) @@ -5,6 +5,7 @@ <property reference="qualifiedNameLocalPartPattern"/> <property reference="namespacePattern"/> <property reference="reverseNamespace"/> + <property reference="seiSuffix"/> <property reference="defaultProvider"/> <property reference="defaultStyle"/> <property reference="defaultUse"/> Modified: trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/namespace.xml 2011-04-04 21:01:43 UTC (rev 14993) @@ -222,6 +222,13 @@ </ul> </documentation> </property> + <property name="seiSuffix"> + <default>SEI</default> + <documentation> + Specifies the suffix to append to the service name when identifying the + portType name and service endpoint interface class. default=SEI + </documentation> + </property> <property name="defaultProvider"> <default>RPC</default> <documentation> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/sun-jaxws.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/sun-jaxws.xml.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/configuration/sun-jaxws.xml.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -5,8 +5,8 @@ #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) <endpoint - name='${service.name}SEI' - implementation='${service.fullyQualifiedName}SEI' + name='${service.name}${seiSuffix}' + implementation='${service.fullyQualifiedName}${seiSuffix}' url-pattern='/$servicesPath/${service.name}'/> #end #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -14,7 +14,7 @@ import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; -import ${service.fullyQualifiedName}SEI; +import ${service.fullyQualifiedName}${seiSuffix}; /** * Remote component interface for the $service.name session bean. @@ -73,7 +73,7 @@ #if ($operation.restAtom) #set ($returnType = "org.apache.abdera.model.Feed") ##set ($operationMany = false) -#elseif (!$useArrayWrapper && $operation.many) +#elseif (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") ##set ($operationMany = true) #else @@ -120,7 +120,7 @@ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( new String[]{"${stringUtils.replace($service.packageName,'.','/')}/test/cxf-client.xml"}); - ${service.name}SEI client = (${service.name}SEI)context.getBean("${service.name}Client"); + ${service.name}${seiSuffix} client = (${service.name}${seiSuffix})context.getBean("${service.name}Client"); ##if ($defaultParameterStyle.equalsIgnoreCase("WRAPPED")) ##set ($returnType = "${operation.packageName}.$stringUtils.capitalize(${operation.operationName})Response") @@ -196,7 +196,7 @@ * ${operation.name}${parameter.name} must be the column name of the parameter in the spreadsheet * @param value $parameter.type.name to be populated manually */ - public void set${operation.name}${parameter.name}($parameter.type.fullyQualifiedName value) + public void set$stringUtils.capitalize(${operation.name})$stringUtils.capitalize(${parameter.name})($parameter.type.fullyQualifiedName value) { this.${operation.name}${parameter.name} = value; } Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/WSClient.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/WSClient.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/WSClient.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -12,8 +12,8 @@ package ${service.packageName}.test; #end -import ${service.fullyQualifiedName}SEI; -import ${service.fullyQualifiedName}SEIClient; +import ${service.fullyQualifiedName}${seiSuffix}; +import ${service.fullyQualifiedName}${seiSuffix}Client; import java.net.URL; import javax.xml.namespace.QName; #if ($service.restCount>0) @@ -61,7 +61,7 @@ super.setUp(); //if (args.length == 0) //{ - wsdlURL = ${service.name}SEIClient.WSDL_LOCATION; + wsdlURL = ${service.name}${seiSuffix}Client.WSDL_LOCATION; //} /*else { @@ -105,7 +105,7 @@ #if ($operation.visibility == "public") #if ($operation.rest) #set ($returnType = "String") -#elseif (!$useArrayWrapper && $operation.many) +#elseif (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) @@ -123,7 +123,7 @@ ##set ($arguments = $operation.returnType.fullyQualifiedName) #if ($operation.rest) #set ($returnType = "String") -#elseif (!$useArrayWrapper && $operation.many) +#elseif (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) @@ -134,7 +134,7 @@ ##set ($returnType = "String") ## * @return _${operation.name}__return String ##else -## * @param port ${service.name}SEI Endpoint Interface +## * @param port ${service.name}${seiSuffix} Endpoint Interface ##if ($operation.returnTypePresent || $operation.rest) ## * @return _${operation.name}__return $returnType ##end @@ -237,8 +237,8 @@ assertTrue(response!=null && (response.getStatus()==HttpServletResponse.SC_NO_CONTENT || response.getStatus()==HttpServletResponse.SC_CREATED)); #end #else - ${service.name}SEIClient ss = new ${service.name}SEIClient(wsdlURL, SERVICE_NAME); - ${service.name}SEI port = ss.get${service.name}(); + ${service.name}${seiSuffix}Client ss = new ${service.name}${seiSuffix}Client(wsdlURL, SERVICE_NAME); + ${service.name}${seiSuffix} port = ss.get${service.name}(); #if (!$operation.exceptions.empty) #set ($indent=" ") try { Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -61,7 +61,7 @@ <!-- Service from ${service.fullyQualifiedName} --> <jaxrs:server id="${service.name}" address="/"> <jaxrs:serviceBeans> - <bean class="${service.fullyQualifiedName}SEIImpl" /> + <bean class="${service.fullyQualifiedName}${seiSuffix}Impl" /> </jaxrs:serviceBeans> #if ($service.restAtom) #set ($atom=true) @@ -100,10 +100,10 @@ <!-- Service from ${service.fullyQualifiedName} --> #if ($service.restCount<$service.allowedOperations.size()) #set ($jax="jaxws") - <jaxws:endpoint id="${service.name}SEI" - name="${service.name}SEI" + <jaxws:endpoint id="${service.name}${seiSuffix}" + name="${service.name}${seiSuffix}" address="/${service.name}" - implementor="${service.fullyQualifiedName}SEIImpl"> + implementor="${service.fullyQualifiedName}${seiSuffix}Impl"> <jaxws:properties> <entry key="schema-validation-enabled" value="$validateSchema" /> </jaxws:properties> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -144,11 +144,7 @@ <fileset dir="${andromda.project}/CXF/target/src/main/java"> #foreach ($exception in $service.allowedOperationExceptions) ## <!-- $faultName $exception.associationEnds.size() $exception --> -#if ($exception.associationEnds.empty) #set ($faultName = $exception.name.replace("Exception", "Fault")) -#else -#set ($faultName = $exception.associationEnds.get(0).type.name) -#end <include name="**/${faultName}.java"/> #end </fileset> @@ -163,7 +159,7 @@ <fileset dir="${andromda.project}/CXF/target/src/main/java/$dir"> <include name="**/*_Client.java"/> <include name="**/*_Server.java"/> - <include name="**/*SEIClient.java"/> + <include name="**/*${seiSuffix}Client.java"/> </fileset> </copy> #end @@ -280,7 +276,7 @@ </copy> #end </target> - <!-- Adapter, SEIImpl, and wrapper classes are required to run java2wsdl properly. --> + <!-- Adapter, ${seiSuffix}Impl, and wrapper classes are required to run java2wsdl properly. --> <!-- CXF generated wsdl is used only to point out potential problems in java code. --> <!-- Generate WebService artifacts using CXF version ${cxfVersion}. $cxfVersion.startsWith("2.0") @@ -326,7 +322,7 @@ #end <arg value="-d"/> <arg value="${andromda.project}/CXF/target/src/main/java"/> - <arg value="${package}.${service}SEI"/> + <arg value="${package}.${service}${seiSuffix}"/> <classpath> <path refid="project1.classpath"/> </classpath> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -28,10 +28,10 @@ ##foreach ($service in $services) <!-- Service from ${service.fullyQualifiedName} --> - <bean id="${service.name}Client" class="${service.fullyQualifiedName}SEI" + <bean id="${service.name}Client" class="${service.fullyQualifiedName}${seiSuffix}" factory-bean="${service.name}ProxyFactory" factory-method="create"/> <bean id="${service.name}ProxyFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean"> - <property name="serviceClass" value="${service.fullyQualifiedName}SEI"/> + <property name="serviceClass" value="${service.fullyQualifiedName}${seiSuffix}"/> <property name="address" value="http://${webserviceHost}:${webservicePort}/$webContext/$servicesPath/${service.name}"/> </bean> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -15,28 +15,27 @@ <!-- Generated by andromda-webservice cartridge (cxf/jaxb_bindings.xml.vsl) on $webServiceUtils.date DO NOT EDIT! --> <!-- Disable wrapped operation inputs/outputs: Allows unwrapped methods in service implementation --> <!-- WSDL operations are still wrapped in request/response --> - <!-- Change the Endpoint Interface class name from the default <Service>.java to <Service>SEI.java --> + <!-- Change the Service Endpoint Interface class name from the default <Service>.java to <Service>${seiSuffix}.java --> ## Using a variable for single quote is ugly, but it's the easiest way to provide those literals inside quoted strings #set ($q="'") -#set ($namespace="http://$webServiceUtils.reversePackage($service.packageName)#if($addNamespaceBackslash)/#end") <bindings node="wsdl:definitions/wsdl:portType"> - <class name="${service.name}SEI"/> + <class name="${service.name}${seiSuffix}"/> </bindings> - <!-- Change the Endpoint Impl class name from the default <Service>PortTypeImpl.java to <Service>SEIClient --> + <!-- Change the Endpoint Impl class name from the default <Service>PortTypeImpl.java to <Service>${seiSuffix}Client --> <bindings node="wsdl:definitions/wsdl:service[@name = $q${service.name}$q]"> - <class name="${service.name}SEIClient"/> + <class name="${service.name}${seiSuffix}Client"/> </bindings> #foreach ($operation in $service.allowedOperations) #if (!$operation.rest) +## <!-- $service.packageName $operation.packageName $operation.name $service --> #foreach($exception in $operation.exceptions) #if ($exception.associationEnds.empty) -## <!-- $exception $exception.associationEnds $exception.associationEnds.size() --> #set ($faultName=$exception.name.replace("Exception", "Fault")) #else #set ($faultName=$exception.associationEnds.get(0).otherEnd.type.name) #end <!-- change the generated exception class package from default service package $service.packageName--> - <bindings node="wsdl:definitions/wsdl:portType[@name=$q${service.name}$q]/wsdl:operation[@name=$q$operation.operationName$q]/wsdl:fault[@name=$q$faultName$q]"> + <bindings node="wsdl:definitions/wsdl:portType[@name=$q${service.qName}$q]/wsdl:operation[@name=$q$operation.operationName$q]/wsdl:fault[@name=$q$faultName$q]"> #if (!$exception.packageName.equals($service.packageName)) <package name="$exception.packageName"/> #end @@ -46,7 +45,7 @@ #end #if (!$operation.operationName.equals($operation.name)) <!-- change the generated exception class package from default service package $service.packageName--> - <bindings node="wsdl:definitions/wsdl:portType[@name=$q${service.name}$q]/wsdl:operation[@name=$q$operation.operationName$q]"> + <bindings node="wsdl:definitions/wsdl:portType[@name=$q${service.qName}$q]/wsdl:operation[@name=$q$operation.operationName$q]"> <!-- Implmented service operation name is different from exposed operation name --> <method name="$operation.name"/> </bindings> @@ -142,6 +141,7 @@ ##end #end #end +## Binding moved to individual XSD elements so that primitive datatypes remain primitive #if ($stringUtils.isNotBlank($XMLBooleanAdapter)) #if ($webServiceUtils.getTypeMapping($service.languageMappings, "Boolean").equals("Boolean") || $webServiceUtils.getTypeMapping($service.languageMappings, "Boolean").equals("java.lang.Boolean")) <!-- Each boolean attribute with required=false must be bound to Boolean, instead of globally --> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -48,14 +48,14 @@ { private final static long serialVersionUID = 1L; -#if (!$useArrayWrapper && $operation.many) +#if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) #end #foreach ($parameter in $operation.arguments) #set ($useAttributes = $xmlAttributes && !($parameter.upper>1||$parameter.upper==-1) && ($stringUtils.isBlank($parameter.type.packageName) || $parameter.type.packageName.equals("java.lang") || $type.equals("java.util") || $type.equals("java.math") || $parameter.type.packageName.equals("PrimitiveTypes"))) -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) #set ($paramType="java.util.List<$parameter.type.fullyQualifiedName>") #else #set ($paramType=$parameter.getterSetterTypeName) @@ -107,7 +107,6 @@ */ #end - ## - always have as public, having read-only causes too many issues when attempting to ## use in other cartridges /** @@ -117,8 +116,11 @@ public void ${parameter.setterName}($paramType ${parameter.name}In) { this.$parameter.name = ${parameter.name}In; +#if ($parameter.type.primitive) + this.isSet${parameter.name} = true; +#end } -#if ($parameter.lower<1) +#if ($parameter.type.primitive) /** * Returns true if $parameter.name value is set Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -63,7 +63,7 @@ { private final static long serialVersionUID = 1L; #if ($operation.returnTypePresent) -#if (!$useArrayWrapper && $operation.many) +#if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType="java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType=$operation.getterSetterReturnTypeName) @@ -129,9 +129,13 @@ public void ${setOperation}($returnType value) { this.$returnAttr = value; +#if ($operation.returnType.primitive) + this.isSet$className = true; +#end } -#if ($operation.lower<1) +#if ($operation.returnType.primitive) + private boolean set$className = false; /** * Returns true if value is set * @@ -140,7 +144,7 @@ */ public boolean isSet$className() { - return #if ($operation.returnType.primitive)true#else(this.$returnAttr!= null)#end; + return this.set$className; } #end #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceClient.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -25,7 +25,7 @@ import org.apache.log4j.Logger; /** - * WebService Service Client for the $service.name service endpoint interface (${service.name}SEI). + * WebService Service Client for the $service.name service endpoint interface (${service.name}${seiSuffix}). $service.getDocumentation(" * ") */ @@ -36,15 +36,15 @@ targetNamespace = "$targetNamespace") ##@WebService(serviceName="${service.name}", ## portName = "${service.name}", -## endpointInterface="${service.fullyQualifiedName}SEI") +## endpointInterface="${service.fullyQualifiedName}${seiSuffix}") ## //, targetNamespace="http://$webServiceUtils.reversePackage($service.packageName)#if($addNamespaceBackslash)/#end" ## //, wsdlLocation = "WEB-INF/wsdl/${service.name}.wsdl") -public class ${service.name}SEIClient extends Service +public class ${service.name}${seiSuffix}Client extends Service #if ($service.generalization) - , ${service.generalization.fullyQualifiedName}SEIClient + , ${service.generalization.fullyQualifiedName}${seiSuffix}Client #end { - private static final Logger LOG = Logger.getLogger(${service.name}SEIClient.class.getName()); + private static final Logger LOG = Logger.getLogger(${service.name}${seiSuffix}Client.class.getName()); /** WSDL location */ public final static URL WSDL_LOCATION; /** Service QName @see {@link javax.xml.namespace.QName} */ @@ -69,7 +69,7 @@ /** * @param wsdlLocation wsdl URL */ - public ${service.name}SEIClient(URL wsdlLocation) + public ${service.name}${seiSuffix}Client(URL wsdlLocation) { super(wsdlLocation, SERVICE); } @@ -79,7 +79,7 @@ * @param serviceName javax.xml.namespace.QName * @see javax.xml.ws.Service#Service(URL, QName) */ - public ${service.name}SEIClient(URL wsdlLocation, QName serviceName) + public ${service.name}${seiSuffix}Client(URL wsdlLocation, QName serviceName) { super(wsdlLocation, serviceName); } @@ -87,19 +87,19 @@ /** * @see javax.xml.ws.Service#Service(URL, QName) */ - public ${service.name}SEIClient() + public ${service.name}${seiSuffix}Client() { super(WSDL_LOCATION, SERVICE); } /** * - * @return ${service.name}SEI + * @return ${service.name}${seiSuffix} */ @WebEndpoint(name = "${service.name}") - public ${service.name}SEI get${service.name}() + public ${service.name}${seiSuffix} get${service.name}() { - return super.getPort(${service.name}, ${service.name}SEI.class); + return super.getPort(${service.name}, ${service.name}${seiSuffix}.class); } /** @@ -108,12 +108,12 @@ * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. * Supported features not in the <code>features</code> parameter will have their default values. * @return - * returns ${service.name}SEI + * returns ${service.name}${seiSuffix} */ @WebEndpoint(name = "${service.name}") - public ${service.name}SEI get${service.name}(WebServiceFeature... features) + public ${service.name}${seiSuffix} get${service.name}(WebServiceFeature... features) { - return super.getPort(${service.name}, ${service.name}SEI.class, features); + return super.getPort(${service.name}, ${service.name}${seiSuffix}.class, features); } } Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceDelegate.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -50,7 +50,7 @@ } #foreach ($operation in $service.allowedOperations) -#if (!$useArrayWrapper && $operation.many) +#if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) @@ -109,10 +109,10 @@ ##set ($parameterList="") ## If parameter.name not supplied by WebParam, it defaults to arg0, arg1 etc from wsdlgen tools #foreach ($parameter in $operation.arguments) -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) #set ($paramType="java.util.List<$parameter.type.fullyQualifiedName>") #else -## // $useArrayWrapper $parameter.many $parameter.upper +## // $useArrayWrapper $parameter.many $parameter.upper $parameter.upper #set ($paramType=$parameter.getterSetterTypeName) #end ## ${comma}@WebParam(name="$parameter.name"#if ($stringUtils.isNotBlank($parameter.type.packageName)), targetNamespace="http://$parameter.type.packageName#if($addNamespaceBackslash)/#end"#end) $parameter.type.fullyQualifiedName $parameter.name @@ -167,7 +167,7 @@ feed.setUpdated(new Date()); feed.addAuthor("Bob Fields"); feed.addLink("http://example.com"); - // Get the entry that was added in Service Endpoint SEIImpl + // Get the entry that was added in Service Endpoint ${seiSuffix}Impl Entry entry = feed.getEntries().get(0); entry.setId("tag:example.org,2007:/foo/entries/1"); entry.setTitle("Entry title"); Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceEndpoint.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -26,7 +26,7 @@ import java.util.logging.Level; /** - * WebService Service Endpoint Implementation for the $service.name service endpoint interface (${service.name}SEI). + * WebService Service Endpoint Implementation for the $service.name service endpoint interface (${service.name}${seiSuffix}). $service.getDocumentation(" * ") */ @@ -45,18 +45,18 @@ portName = "$service.name", targetNamespace="http://$webServiceUtils.reversePackage($service.packageName)#if($addNamespaceBackslash)/#end", //wsdlLocation = "wsdl/${service.name}.wsdl", - endpointInterface="${service.fullyQualifiedName}SEI") + endpointInterface="${service.fullyQualifiedName}${seiSuffix}") #end #if ($service.hasStereotype("WSAddressing")) @javax.xml.ws.soap.Addressing(enabled=true, required=true) #end -public class ${service.name}SEIImpl #if(!$service.rest)implements ${service.name}SEI#end +public class ${service.name}${seiSuffix}Impl #if(!$service.rest)implements ${service.name}${seiSuffix}#end #if ($service.generalization) - extends ${service.generalization.fullyQualifiedName}SEIImpl + extends ${service.generalization.fullyQualifiedName}${seiSuffix}Impl #end { - private static final Logger LOG = Logger.getLogger(${service.name}SEIImpl.class.getName()); - private static final String className = "${service.name}SEIImpl"; + private static final Logger LOG = Logger.getLogger(${service.name}${seiSuffix}Impl.class.getName()); + private static final String className = "${service.name}${seiSuffix}Impl"; #if ($service.restAtom) // There really should only be a single global instance of abdera @@ -83,7 +83,7 @@ ##else #if ($operation.restAtom) #set ($returnType = "org.apache.abdera.model.Feed") -#elseif (!$useArrayWrapper && $operation.many) +#elseif (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) @@ -103,7 +103,7 @@ #foreach ( $exception in $operation.exceptions) * @throws $exception.fullyQualifiedName #end - * @see ${service.name}SEI#${operation.getSignature(false)} + * @see ${service.name}${seiSuffix}#${operation.getSignature(false)} ## * @throws RemoteException if ${service.name}.${operation.operationName} fails #foreach ($constraint in $operation.constraints) * CONSTRAINT: ${constraint.name}: #if ($constraint.invariant)Invariant #end#if ($constraint.postCondition)PostCondition #end#if ($constraint.preCondition)PreCondition #end ${constraint.body} @@ -131,7 +131,7 @@ ## If parameter.name not supplied by WebParam, it defaults to arg0, arg1 etc from wsdlgen tools #foreach ($parameter in $operation.arguments) ## JAXB always creates type List even if unique/sorted -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) #set ($paramType="java.util.List<${parameter.type.fullyQualifiedName}>") #else #set ($paramType=$parameter.getterSetterTypeName) @@ -148,7 +148,7 @@ throws $operation.exceptionList #end { - LOG.logp(Level.FINER, ${service.name}SEIImpl.className, "$operation.name", "Executing operation ${service.name}.${operation.name}: " #foreach ($parameter in $operation.parameters)#if (!$parameter.return) + ${parameter.name}#end#end); + LOG.logp(Level.FINER, ${service.name}${seiSuffix}Impl.className, "$operation.name", "Executing operation ${service.name}.${operation.name}: " #foreach ($parameter in $operation.parameters)#if (!$parameter.return) + ${parameter.name}#end#end); ## // TODO: Add boundary logging for message in / out #if (!$operation.arguments.empty) @@ -282,7 +282,7 @@ #foreach ($parameter in $operation.arguments) ${operation.name}Req.set$stringUtils.capitalize($parameter.name)(${parameter.name}); #end - LOG.logp(Level.SEVERE, "${service.name}SEIImpl", "${operation.name}", missing.toString(), ${operation.name}Req); + LOG.logp(Level.SEVERE, "${service.name}${seiSuffix}Impl", "${operation.name}", missing.toString(), ${operation.name}Req); throw new IllegalArgumentException(missing.toString()); } #end @@ -412,11 +412,11 @@ ${service.name}WSDelegate delegate = new ${service.name}WSDelegate(); #if ($operation.returnTypePresent || $operation.restAtom) $returnType ${returnTypeName}Return = delegate.${operation.name}($arguments); - LOG.logp(Level.FINER, ${service.name}SEIImpl.className, "$operation.name", "Returning ${service.name}.${operation.name}: " + ${returnTypeName}Return); + LOG.logp(Level.FINER, ${service.name}${seiSuffix}Impl.className, "$operation.name", "Returning ${service.name}.${operation.name}: " + ${returnTypeName}Return); ${rtn}${returnTypeName}Return; #else delegate.${operation.name}($arguments); - LOG.logp(Level.FINER, ${service.name}SEIImpl.className, "$operation.name", "Creating ${service.name}.${operation.name}"); + LOG.logp(Level.FINER, ${service.name}${seiSuffix}Impl.className, "$operation.name", "Creating ${service.name}.${operation.name}"); #end ##end } Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceInterface.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -46,7 +46,7 @@ /** * WebService Endpoint Interface class for the $service.name service. Declared as * wsdl:portType name=""${service.name}" in ${service.name}.wsdl. Implemented by - * ${service.fullyQualifiedName}SEIImpl which delegates to ${service.name}WSDelegate + * ${service.fullyQualifiedName}${seiSuffix}Impl which delegates to ${service.name}WSDelegate $service.getDocumentation(" * ") */ @@ -65,9 +65,9 @@ #if ($stringUtils.equals(${persistenceContainerName}, "jboss")) @org.jboss.ws.annotation.PortComponent(contextRoot = "${webServiceContextRoot}", urlPattern="${webServiceUrlPattern}/${service.qName}/*") #end -public interface ${service.name}SEI +public interface ${service.name}${seiSuffix} #if ($service.generalization) - extends ${service.generalization.fullyQualifiedName}SEI + extends ${service.generalization.fullyQualifiedName}${seiSuffix} #end { #foreach ( $operation in $service.allowedOperations) @@ -82,13 +82,13 @@ ## * @param $stringUtils.capitalize(${operation.operationName})RequestWrapper ${operation.operationName}RequestWrapper ## * @return ${operation.operationName}Response $returnType ##else -#if (!$useArrayWrapper && $operation.many) +#if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) #end #foreach ($parameter in $operation.arguments) -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && $parameter.many && !$parameter.returnParameter.upper>0) #set($multiplicity="*") #else #set ($multiplicity=$parameter.upper) @@ -156,7 +156,7 @@ #set ($targetNamespace="$webServiceUtils.reversePackage($service.packageName)#if($addNamespaceBackslash)/#end") #end ## Exception in webservices cartridge test: parameter upper not supported by UML14 facade -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) #set ($paramType="java.util.List<${parameter.type.fullyQualifiedName}>") #else #set ($paramType=$parameter.getterSetterTypeName) Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceMethodImpl.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -41,7 +41,7 @@ } /** - * Delegate for TestCase ${service.name}WSDelegateTest and ${service.name}SEIImplTest + * Delegate for TestCase ${service.name}WSDelegateTest and ${service.name}${seiSuffix}ImplTest */ public static void ${operation.name}SetUp() { @@ -49,7 +49,7 @@ } /** - * Delegate for TestCase ${service.name}WSDelegateTest and ${service.name}SEIImplTest + * Delegate for TestCase ${service.name}WSDelegateTest and ${service.name}${seiSuffix}ImplTest */ public static void ${operation.name}TearDown() { @@ -73,13 +73,12 @@ * Replace void with transformed type, use target.set() values to create transformation */ ## Make all these operations public, we are just filling in dummy data $operation.visibility - public static void ${operation.name}TransformInput - ( + public static void ${operation.name}TransformInput( #if (!$operation.arguments.empty) #set ($comma = "") ## If parameter.name not supplied by WebParam, it defaults to arg0, arg1 etc from wsdlgen tools #foreach ($parameter in $operation.arguments) -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) #set ($paramType="java.util.List<$parameter.type.fullyQualifiedName>") #else ## // $useArrayWrapper $parameter.many $parameter.upper @@ -197,7 +196,7 @@ #end } -#if (!$useArrayWrapper && $operation.many) +#if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) @@ -232,11 +231,12 @@ // Dummy return value implementation with default values... // Iterate down through all complex types and create default dummy constructor and attribute values #if(!$returnType.equals("void")) -#if ($operation.many) - $returnType rtnList = $webServiceUtils.createConstructor($operation.returnType, $operation.many); +#set ($isMany = $operation.upper>1 || $operation.upper==-1) +#if ($isMany) + $returnType rtnList = $webServiceUtils.createConstructor($operation.returnType, $isMany); $operation.returnType.fullyQualifiedName rtn = $webServiceUtils.createConstructor($operation.returnType, false); #else - $returnType rtn = $webServiceUtils.createConstructor($operation.returnType, $operation.many); + $returnType rtn = $webServiceUtils.createConstructor($operation.returnType, $isMany); #end #end ## Add number qualifier to prevent attribute name collision throughout the hierarchy @@ -278,6 +278,8 @@ ${property2.name}${propertyNum}${property2Num}.${property3.setterName}(${property3.name}${propertyNum}${property2Num}${property3Num}); #end #else + + // Property3 $property3.name#if ($property3.many) isMany#end has $property3.type.allProperties.size() properties $property3 $property3.type #if ($property3.many) ${property2.name}${propertyNum}${property2Num}.${property3.getterName}().add($webServiceUtils.createConstructor($property3, false, $property2.type)); #else @@ -291,6 +293,8 @@ ${property1.name}${propertyNum}.${property2.setterName}(${property2.name}${propertyNum}${property2Num}); #end #else + + // Property2 $property2.name#if ($property2.many) isMany#end has $property2.type.allProperties.size() properties $property2 $property2.type #if ($property2.many) ${property1.name}${propertyNum}.${property2.getterName}().add($webServiceUtils.createConstructor($property2, false, $property1.type)); #else @@ -326,7 +330,7 @@ #end #if(!$returnType.equals("void")) -#if ($operation.many) +#if ($isMany) rtnList.add(rtn); return rtnList; #else @@ -440,7 +444,7 @@ #end #end #end -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) ##Todo: Use Collection type from configuration. Add many and getFullyQualifiedType() to ParameterFacade. #set ($paramType="java.util.List<$parameter.type.fullyQualifiedName>") // $paramType $parameterName = ${webServiceUtils.createConstructor($parameter, true)}; Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceSEIImplTest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceSEIImplTest.java.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/WebServiceSEIImplTest.java.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -2,7 +2,7 @@ // license-header java merge-point /* Autogenerated on $webServiceUtils.date by AndroMDA * - * TEMPLATE: jaxws/WebServiceSEIImplTest.vsl in andromda-webservices-cartridge + * TEMPLATE: jaxws/WebService${seiSuffix}ImplTest.vsl in andromda-webservices-cartridge * MODEL CLASS: $service.validationName #foreach ($stereotype in $service.stereotypes) * STEREOTYPE: $stereotype.name @@ -23,13 +23,13 @@ $service.getDocumentation(" * ") */ -public class ${service.name}SEIImplTest extends TestCase +public class ${service.name}${seiSuffix}ImplTest extends TestCase { /** * Constructor * @param name test case name */ - public ${service.name}SEIImplTest(String name) + public ${service.name}${seiSuffix}ImplTest(String name) { super(name); } @@ -37,7 +37,7 @@ /** * No arg Constructor. Delegates to constructor(String) with test case name */ - public ${service.name}SEIImplTest() + public ${service.name}${seiSuffix}ImplTest() { super("$service.name"); } @@ -66,19 +66,19 @@ #foreach ( $operation in $service.allowedOperations) #if ($operation.visibility.equals("public") || $operation.visibility.equals("package")) -#if (!$useArrayWrapper && $operation.many) +#if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else #set ($returnType = $operation.getterSetterReturnTypeName) #end /** #set ($pound="#") - * Test method for {@link ${service.fullyQualifiedName}SEIImpl$pound${service.name}SEIImpl()}. + * Test method for {@link ${service.fullyQualifiedName}${seiSuffix}Impl$pound${service.name}${seiSuffix}Impl()}. #foreach ($constraint in $operation.constraints) * CONSTRAINT: ${constraint.name}: #if ($constraint.invariant)Invariant #end#if ($constraint.postCondition)PostCondition #end#if ($constraint.preCondition)PreCondition #end ${constraint.body} #end */ - public void test${service.name}SEIImpl$stringUtils.capitalize($operation.operationName)() + public void test${service.name}${seiSuffix}Impl$stringUtils.capitalize($operation.operationName)() { // TestCase.setUp and tearDown methods for each individual service method test #set ($inputType = "${service.packageName}.$stringUtils.capitalize($operation.operationName)") @@ -86,8 +86,8 @@ #if (!$operation.arguments.empty) $inputType ${operation.operationName}Input = ${inputType}Impl.${operation.name}CreateInput(); #end - ${service.name}SEIImpl delegate = new ${service.name}SEIImpl(); - System.out.println("Invoking ${service.name}SEIImpl.${operation.operationName}#if ($operation.arguments.empty)"#else with " + ${operation.operationName}Input#end); + ${service.name}${seiSuffix}Impl delegate = new ${service.name}${seiSuffix}Impl(); + System.out.println("Invoking ${service.name}${seiSuffix}Impl.${operation.operationName}#if ($operation.arguments.empty)"#else with " + ${operation.operationName}Input#end); #if (!$operation.exceptions.empty) try { @@ -100,12 +100,12 @@ #set ($comma = ",") #end ); - System.out.println("${service.name}SEIImpl.${operation.name}"#if ($operation.returnTypePresent) + " returned " + rtn#end); + System.out.println("${service.name}${seiSuffix}Impl.${operation.name}"#if ($operation.returnTypePresent) + " returned " + rtn#end); #if (!$operation.exceptions.empty) } catch (Exception ex) { - System.out.println("${service.name}SEIImpl.${operation.name}" + " threw exception " + ex); + System.out.println("${service.name}${seiSuffix}Impl.${operation.name}" + " threw exception " + ex); fail(ex.toString()); } #end @@ -120,7 +120,7 @@ */ public static void main(final String[] args) { - TestRunner.run(${service.name}SEIImplTest.class); + TestRunner.run(${service.name}${seiSuffix}ImplTest.class); } } Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -27,7 +27,7 @@ ## Bare not possible if any parameters have minOccurs > 1 or default values #set ($isMany=false) #foreach ($parameter in $operation.arguments) -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) #set ($isMany=true) #end #end @@ -77,7 +77,7 @@ #set ($use = ' minOccurs="0"') #end ## Parameter of type List should never be nillable, can still be empty size=0. Could cause interoperability problems. -#if ($parameter.many) +#if ($parameter.upper>1 || $parameter.upper==-1) #set ($nillable = ' nillable="false"') #else #set ($nillable = "") @@ -103,7 +103,7 @@ <xs:annotation><xs:appinfo><jxb:property><jxb:baseType> <xjc:javaType name="Boolean" adapter="$XMLBooleanAdapter"/> </jxb:baseType></jxb:property></xs:appinfo></xs:annotation> -##elseif ($parameter.many && $parameter.unique) +##elseif (($parameter.upper>1 || $parameter.upper==-1) && $parameter.unique) ## <xs:annotation><xs:appinfo><jxb:property><jxb:baseType> ## <xjc:javaType name="$parameter.getterSetterTypeName" adapter="$XMLBooleanAdapter"/> ## </jxb:baseType></jxb:property></xs:appinfo></xs:annotation> @@ -169,13 +169,8 @@ ## <!-- Service Exception Faults $pkg.fullyQualifiedName $webServiceUtils.getAllowedOperationExceptions($pkg).size() --> #foreach($exception in $service.allowedOperationExceptions) <!-- Exception: $exception.fullyQualifiedName --> -#if ($exception.associationEnds.empty) #set ($faultName=$exception.name.replace("Exception", "Fault")) #set ($faultPkg=$webServiceUtils.getPkgAbbr($exception.package)) -#else -#set ($faultName=$exception.associationEnds.get(0).otherEnd.type.name) -#set ($faultPkg=$webServiceUtils.getPkgAbbr($exception.associationEnds.get(0).otherEnd.type.package)) -#end #set ($type="$webServiceUtils.getPkgAbbr(${exception.package}):$faultName") <xs:element name="$faultName" type="$type"/> #if ($exception.packageName.equals($service.packageName)) @@ -243,7 +238,7 @@ ## <!-- $type.name literal: $literal --> #* *##if (!$stringUtils.isBlank($literal.type.schemaType))#set ($enumType = $literal.type.schemaType)#end #* *##end -#if ($stringUtils.isBlank($type.qName))#set ($typeName = ${type.name})#else#set ($typeName = $type.qName)#end +#set ($typeName = ${type.name}) <xs:simpleType name="${typeName}"> #if ($stringUtils.isNotBlank($type.getDocumentation("", 9999, false))) <xs:annotation><xs:documentation> @@ -277,7 +272,7 @@ #set ($typeName = "${type.name}Fault") #end #elseif ($type.hasStereotype("ValueObject")) -#set ($typeName = "$type.qName") +#set ($typeName = "$type.name") <!-- ValueObject $type.fullyQualifiedName --> #end #if ($type.hasStereotype("ValueObject") || $webFault) @@ -325,7 +320,7 @@ #elseif ($attribute.many && $useArrayWrapper) #set ($schemaType = "${attributeType.namespacePrefix}:${attributeType.wsdlArrayName}") #elseif (!$attributeType.packageName.equals($pkg.fullyQualifiedName) && $stringUtils.isNotBlank($attributeType.packageName) && $attributeType.packageName.indexOf('.')>0 && !$attributeType.schemaType.startsWith("xs:")) -#set ($schemaType = "${webServiceUtils.getPkgAbbr($attributeType.package)}:${attributeType.qName}") +#set ($schemaType = "${webServiceUtils.getPkgAbbr($attributeType.package)}:${attributeType.name}") #else #set ($schemaType = "$attribute.type.schemaType") #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl 2011-04-04 16:08:49 UTC (rev 14992) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl 2011-04-04 21:01:43 UTC (rev 14993) @@ -25,7 +25,7 @@ ## Bare not possible if any parameters have minOccurs > 1 or default values #set ($isMany=false) #foreach ($parameter in $operation.arguments) -#if (!$useArrayWrapper && $parameter.many) +#if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) #set ($isMany=true) #end #end @@ -75,7 +75,7 @@ #set ($use = ' minOccurs="0"') #end ## Parameter of type List should never be nillable, can still be e... [truncated message content] |
From: <bob...@us...> - 2011-04-26 22:13:59
|
Revision: 15023 http://andromda.svn.sourceforge.net/andromda/?rev=15023&view=rev Author: bobfields Date: 2011-04-26 22:13:52 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Add CXF integration tests using Jetty. Change WebContent dir to src/main/webapp. Update to CXF 2.3.4. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/JettyServer.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-output.zip trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/META-INF/andromda/cartridge.xml 2011-04-26 22:13:52 UTC (rev 15023) @@ -615,7 +615,7 @@ <template path="templates/webservice/cxf/CXFTestClient.java.vsl" - outputPattern="{0}/test/{1}WSTest.java" + outputPattern="{0}/test/{1}WSITCase.java" outlet="webservice-tests" overwrite="false" outputCondition="cxf"> @@ -630,7 +630,7 @@ <template path="templates/webservice/cxf/CXFTestClient.java.vsl" - outputPattern="{0}/test/{1}WSTest.java.ref" + outputPattern="{0}/test/{1}WSITCaseITCase.java.ref" outlet="webservice-tests" overwrite="true" outputCondition="cxfRef"> @@ -726,12 +726,12 @@ <template path="templates/webservice/cxf/cxf-client.xml.vsl" - outputPattern="{0}/test/cxf-client.xml" + outputPattern="cxf-client.xml" outlet="webservice-tests" overwrite="false" outputCondition="cxf" - outputToSingleFile="false"> - <modelElements variable="service"> + outputToSingleFile="true"> + <modelElements variable="services"> <modelElement> <type name="org.andromda.cartridges.webservice.metafacades.WebService"> <property name="allowedOperations"/> @@ -742,12 +742,12 @@ <template path="templates/webservice/cxf/cxf-client.xml.vsl" - outputPattern="{0}/test/cxf-client.xml.ref" + outputPattern="cxf-client.xml.ref" outlet="webservice-tests" overwrite="true" outputCondition="cxfRef" - outputToSingleFile="false"> - <modelElements variable="service"> + outputToSingleFile="true"> + <modelElements variable="services"> <modelElement> <type name="org.andromda.cartridges.webservice.metafacades.WebService"> <property name="allowedOperations"/> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -12,42 +12,52 @@ package ${service.packageName}.test; #end +import junit.framework.TestSuite; import org.junit.Test; +import org.junit.runner.JUnitCore; import org.springframework.context.support.ClassPathXmlApplicationContext; import ${service.fullyQualifiedName}${seiSuffix}; /** - * Remote component interface for the $service.name session bean. + * Remote component interface for the $service.name. $service.getDocumentation(" * ") */ -public class ${service.name}WSTest +public class ${service.name}WSITCase #if ($service.generalization) extends ${service.generalization.fullyQualifiedName}Test #else - extends junit.framework.TestCase + extends TestSuite #end { private Object scenario = null; /** + * Constructor with no parameters + */ + public CXF34ServiceWSITCase() + { + super(); + } + + /* * Constructor with service name * @param name Service name to be tested - */ - public ${service.name}WSTest(String name) + public ${service.name}WSITCase(String name) { super(name); } + */ - /** + /* * Constructor with service name and scenario - allows running one scenario data line from spreadsheet * @param name Service name to be tested * @param scenarioIn the first column of the spreadsheet - */ - public ${service.name}WSTest(String name, Object scenarioIn) + public ${service.name}WSITCase(String name, Object scenarioIn) { super(name); this.setScenario(scenarioIn); } + */ /** * @return the scenario @@ -65,6 +75,36 @@ this.scenario = scenarioIn; } + /* + * JUnit test suite, calls DataDrivenTestSuite with data from ${service.name}.xls + * @return TestSuite with ServiceName driver + public static TestSuite suite() + { + // Uncomment to create DataDrivenTests with Excel data inputs + // TestDriverDefinition parameters: dataClass, filename, sheet name. Populates dataClass with spreadsheet contents. + //TestDriverDefinition driverDef = new TestDriverDefinition(${service.name}TestData.class, "${service.name}.xls", "${service.name}"); + //DataDrivenTestSuite suite = new DataDrivenTestSuite(${service.name}WSITCase.class, driverDef); + // TODO: post processing of data and suite elements through a delegate class/method + // Use this for running JUnit 4 tests with JUnit 3 test runner. + //junit.framework.JUnit4TestAdapter(${service.name}WSITCase.class); + TestSuite suite = new TestSuite(); +#foreach ( $operation in $service.allowedOperations) +#if ($operation.visibility == "public") + suite.addTest(new ${service.name}WSITCase("${operation.name}")); +#end +#end + return suite; + } + */ + + /** Run JUnit tests from the java main command line + * @param args ignored + */ + public static void main(String args[]) + { + JUnitCore.main("${service.packageName}.test.${service.name}WSITCase"); + } + // ---------------- test methods ---------------------- #foreach ( $operation in $service.allowedOperations) ## Only expose public methods @@ -82,43 +122,54 @@ #end /** * Invokes the $operation.name service method on ${service.name}. + * Operation parameters: $operation.getDocumentation(" * ") #foreach ( $parameter in $operation.arguments) - * @param $parameter.name $parameter.type.fullyQualifiedName + * $parameter.name $parameter.type.fullyQualifiedName #end #if ($operation.restAtom || $operation.returnTypePresent) - * @return ${operation.operationName}Response $returnType + * Operation return: + * ${operation.operationName}Response $returnType #end #foreach ( $exception in $operation.exceptions) - * @throws $exception.fullyQualifiedName + * Operation exceptions: + * $exception.fullyQualifiedName #end */ @Test - public $returnType test${stringUtils.capitalize(${operation.operationName})} - ( -#if (!$operation.arguments.empty) -#set ($comma = "") +## public $returnType test${stringUtils.capitalize(${operation.operationName})} + public void ${operation.name}() +## ( +##if (!$operation.arguments.empty) +##set ($comma = "") ## If parameter.name not supplied by WebParam, it defaults to arg0, arg1 etc from wsdlgen tools -#foreach ($parameter in $operation.arguments) -#if (!$useArrayWrapper && $parameter.many) -#set ($paramType="java.util.List<$parameter.type.fullyQualifiedName>") -#else -#set ($paramType=$parameter.getterSetterTypeName) -#end -## ${comma}@WebParam(name="$parameter.name"#if ($stringUtils.isNotBlank($parameter.type.packageName)), targetNamespace="http://$parameter.type.packageName/"#end) $parameter.type.fullyQualifiedName $parameter.name - ${comma} $paramType $parameter.name -#set ($comma = ", ") -#end -#end - ) +##foreach ($parameter in $operation.arguments) +##if (!$useArrayWrapper && ($parameter.upper>1 || $parameter.upper==-1)) +##set ($paramType="java.util.List<$parameter.type.fullyQualifiedName>") +##else +##set ($paramType=$parameter.getterSetterTypeName) +##end +## ${comma}@WebParam(name="$parameter.name"#if ($stringUtils.isNotBlank($parameter.type.packageName)), targetNamespace="http://$parameter.type.packageName#if($addNamespaceBackslash)/#end"#end) $parameter.type.fullyQualifiedName $parameter.name +## ${comma} $paramType $parameter.name +##set ($comma = ", ") +##end +##end +## ) ## // $operation.name $operation.exceptionsPresent $operation.exceptionList $operation.exceptions.size() #if ($operation.exceptionsPresent) throws $operation.exceptionList #end { - System.out.println("Starting test: " + this.getName() + " for " + "${service.name}Client"); + System.out.println("Starting test: ${operation.name} for " + this.getName() + " for " + "${service.name}Client"); + // TestCase.setUp and tearDown methods for each individual service method test +#set ($inputType = "${service.packageName}.$stringUtils.capitalize($operation.name)") + ${inputType}Impl.${operation.name}SetUp(); +#if (!$operation.arguments.empty) + // Customize CreateInput method if different default input data is required. + $inputType ${operation.name}Input = ${inputType}Impl.${operation.name}CreateInput(); +#end ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( - new String[]{"${stringUtils.replace($service.packageName,'.','/')}/test/cxf-client.xml"}); + new String[]{"cxf-client.xml"}); ${service.name}${seiSuffix} client = (${service.name}${seiSuffix})context.getBean("${service.name}Client"); @@ -138,7 +189,7 @@ ## $returnType ${operation.operationName}Response = client.${operation.operationName}(${operation.operationName}RequestWrapper); ##else #set ($indent="") -#if (!$operation.exceptions.empty) +##if (!$operation.exceptions.empty) #set ($indent=" ") #if ($operation.restAtom || $operation.returnTypePresent) #if ($operation.returnType.primitive && !$operation.many && $operation.lower > 0) @@ -147,36 +198,52 @@ $returnType ${operation.name}Response = null; #end try { - ${operation.operationName}Response = client.${operation.name}(${operation.argumentNames}); + ${operation.operationName}Response = client.${operation.name}( +#set ($comma = "") +#foreach ($argument in $operation.arguments) +## ${comma}@WebParam(name="$parameter.name"#if ($stringUtils.isNotBlank($parameter.type.packageName)), targetNamespace="http://$parameter.type.packageName#if($addNamespaceBackslash)/#end"#end) $parameter.type.fullyQualifiedName $parameter.name + ${comma} ${operation.name}Input.${argument.getterName}() // $argument.getterSetterTypeName +#set ($comma = ", ") +#end + ); System.out.println(" Result = " + ${operation.operationName}Response.toString()); #else try { - client.${operation.name}(${operation.argumentNames}); + client.${operation.name}( +#set ($comma = "") +#foreach ($argument in $operation.arguments) +## ${comma}@WebParam(name="$parameter.name"#if ($stringUtils.isNotBlank($parameter.type.packageName)), targetNamespace="http://$parameter.type.packageName#if($addNamespaceBackslash)/#end"#end) $parameter.type.fullyQualifiedName $parameter.name + ${comma} ${operation.name}Input.${argument.getterName}() // $argument.getterSetterTypeName +#set ($comma = ", ") #end -#elseif ($operation.restAtom || $operation.returnTypePresent) - $returnType ${operation.operationName}Response = client.${operation.name}(${operation.argumentNames}); + ); +#end +##elseif ($operation.restAtom || $operation.returnTypePresent) +## $returnType ${operation.operationName}Response = client.${operation.name}(${operation.argumentNames}); ##end - System.out.println(" Result = " + ${operation.operationName}Response.toString()); -#else - client.${operation.name}(${operation.argumentNames}); +## System.out.println(" Result = " + ${operation.operationName}Response.toString()); +##else +## client.${operation.name}(${operation.argumentNames}); ##end -#end -$indent System.out.println("Finished test: " + this.getName() + " for ${service.name}.${operation.name}(${operation.argumentNames})"); +##end +##$indent System.out.println("Finished test: " + this.getName() + " for ${service.name}.${operation.name}(${operation.argumentNames})"); ##if ($defaultParameterStyle.equalsIgnoreCase("WRAPPED")) ## return ${operation.operationName}Response.get$stringUtils.capitalize(${operation.operationName})Response(); ##else -#if (!$operation.exceptions.empty) } catch (Exception ex) { System.out.println("${service.name} port.${operation.name}" + " threw exception " + ex); +#if ($operation.exceptions.empty) throw new junit.framework.AssertionFailedError(ex.toString()); +#end } -#end -#if ($operation.restAtom || $operation.returnTypePresent) - return ${operation.operationName}Response; -#end + ${inputType}Impl.${operation.name}TearDown(); +##if ($operation.restAtom || $operation.returnTypePresent) +## return ${operation.operationName}Response; ##end +##end + System.out.println("Finished test for ${service.name}.${operation.name}(${operation.argumentNames})"); } #end #end @@ -188,9 +255,11 @@ { // TODO: Add test data fields here (populated by ${service.name}.xls spreadsheet // TODO: Recursively list every primitive parameter in entire operation parameter hierarchy -#foreach ( $operation in $service.allowedOperations) -#foreach ( $parameter in $operation.arguments) - private $parameter.type.fullyQualifiedName ${operation.name}${parameter.name}; +#foreach ($operation in $service.allowedOperations) +#foreach ($parameter in $operation.arguments) + + @SuppressWarnings("unused") + private $parameter.type.fullyQualifiedName ${operation.name}$stringUtils.capitalize(${parameter.name}); /** * Data value for ${parameter.name} ${operation.name} on used by DataDrivenTestSuite in suite(). * ${operation.name}${parameter.name} must be the column name of the parameter in the spreadsheet @@ -198,7 +267,7 @@ */ public void set$stringUtils.capitalize(${operation.name})$stringUtils.capitalize(${parameter.name})($parameter.type.fullyQualifiedName value) { - this.${operation.name}${parameter.name} = value; + this.${operation.name}$stringUtils.capitalize(${parameter.name}) = value; } #end #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -18,6 +18,8 @@ <!-- Load CXF Spring configuration files from cxf runtime. Comment out unneeded extensions --> <import resource="classpath:META-INF/cxf/cxf.xml"/> + <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> + <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <!--import resource="classpath:META-INF/cxf/cxf-extension-addr.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-http.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml"/> @@ -31,10 +33,8 @@ <import resource="classpath:META-INF/cxf/cxf-extension-object-binding.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-policy.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-rm.xml"/--> - <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> - <!--import resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml"/> - <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml"/--> - <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> + <import resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml"/> + <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml"/> #set ($jax="jaxws") #set ($atom=false) @@ -95,6 +95,7 @@ <!--bean id="xPathProvider" class="org.apache.cxf.jaxrs.provider.XPathProvider"/--> <!--bean id="xsltJaxbProvider" class="org.apache.cxf.jaxrs.provider.XSLTJaxbProvider"/--> + <!-- See http://cxf.apache.org/docs/jax-ws-configuration.html --> #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) <!-- Service from ${service.fullyQualifiedName} --> @@ -104,14 +105,14 @@ name="${service.name}${seiSuffix}" address="/${service.name}" implementor="${service.fullyQualifiedName}${seiSuffix}Impl"> + <!--endpointName="e:${service.name}" + serviceName="s:${service.name}" + xmlns:e="http://service.jaxws.cxf.apache.org/endpoint" + xmlns:s="http://service.jaxws.cxf.apache.org/service" + wsdlLocation="WEB-INF/wsdl/${service.name}.wsdl"--> <jaxws:properties> <entry key="schema-validation-enabled" value="$validateSchema" /> </jaxws:properties> - <!--endpointName="e:${service.name}" - serviceName="s:${service.name}" - xmlns:e="$service.namespace" - xmlns:s="$service.namespace"> - wsdlLocation="WEB-INF/wsdl/${service.name}.wsdl"--> </jaxws:endpoint> #end #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -65,33 +65,45 @@ <record name="${project}/mda/wsgen${NOW}.log" action="start"/> <echo message="running wsgen for each generated webservice class"/> <!-- wsgen throws an exception if directories don't exist --> - <mkdir dir="${andromda.project}/common/src"/> + <mkdir dir="${andromda.project}/common/src/main/java"/> + <mkdir dir="${andromda.project}/common/src/main/resources"/> + <mkdir dir="${andromda.project}/common/src/test/java"/> + <mkdir dir="${andromda.project}/common/src/test/resources"/> <mkdir dir="${andromda.project}/common/target/classes"/> <mkdir dir="${andromda.project}/common/target/src/main/java"/> <mkdir dir="${andromda.project}/core/src/main/java"/> + <mkdir dir="${andromda.project}/core/src/main/resources"/> <mkdir dir="${andromda.project}/core/src/test/java"/> + <mkdir dir="${andromda.project}/core/src/test/resources"/> <mkdir dir="${andromda.project}/core/target/classes"/> <mkdir dir="${andromda.project}/core/target/src/main/java"/> - <mkdir dir="${andromda.project}/CXF/src"/> + <mkdir dir="${andromda.project}/core/target/src/main/resources"/> + <mkdir dir="${andromda.project}/CXF/src/main/java"/> + <mkdir dir="${andromda.project}/CXF/src/main/resources"/> + <mkdir dir="${andromda.project}/CXF/src/test/java"/> + <mkdir dir="${andromda.project}/CXF/src/test/resources"/> + <mkdir dir="${andromda.project}/CXF/target/classes"/> <mkdir dir="${andromda.project}/CXF/target/src/main/java"/> - <mkdir dir="${andromda.project}/CXF/WebContent/WEB-INF/lib"/> - <mkdir dir="${andromda.project}/CXF/WebContent/WEB-INF/wsdl"/> - <mkdir dir="${andromda.project}/CXF/WebContent/WEB-INF/classes"/> + <mkdir dir="${andromda.project}/CXF/src/main/webapp/WEB-INF/lib"/> + <mkdir dir="${andromda.project}/CXF/src/main/webapp/WEB-INF/wsdl"/> + <mkdir dir="${andromda.project}/CXF/src/main/webapp/WEB-INF/classes"/> <mkdir dir="${andromda.project}/webservice/src/main/java"/> + <mkdir dir="${andromda.project}/webservice/src/main/resources"/> <mkdir dir="${andromda.project}/webservice/src/test/java"/> + <mkdir dir="${andromda.project}/webservice/src/test/resources"/> <mkdir dir="${andromda.project}/webservice/target/classes"/> <mkdir dir="${andromda.project}/webservice/target/src/main/java"/> - <mkdir dir="${andromda.project}/webservice/WebContent/WEB-INF/lib"/> - <mkdir dir="${andromda.project}/webservice/WebContent/WEB-INF/wsdl"/> - <mkdir dir="${andromda.project}/webservice/WebContent/WEB-INF/classes"/> + <mkdir dir="${andromda.project}/webservice/src/main/webapp/WEB-INF/lib"/> + <mkdir dir="${andromda.project}/webservice/src/main/webapp/WEB-INF/wsdl"/> + <mkdir dir="${andromda.project}/webservice/src/main/webapp/WEB-INF/classes"/> <!--delete> - <fileset dir="${andromda.project}/CXF/target/src/main/java" includes="**/*"/> + <fileset dir="${andromda.project}/CXF/target/src" includes="**/*"/> </delete--> <delete> - <fileset dir="${andromda.project}/CXF/WebContent/WEB-INF/classes" includes="**/*"/> + <fileset dir="${andromda.project}/CXF/src/main/webapp/WEB-INF/classes" includes="**/*"/> </delete> - <!-- Run wsgen for each generated webservice class --> + <!-- Run wsgen (CXF wsdl2java) for each generated webservice class --> #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) #set ($dir=${stringUtils.replace($service.packageName, '.', '/')}) @@ -107,7 +119,7 @@ #if ($umlUtils.shouldOutput($service)) #set ($dir=${stringUtils.replace($service.packageName, '.', '/')}) #if (!$service.allowedOperations.empty) - <!-- Copy all ObjectFactory to common project so they can be referenced by implementation without circular dependencies --> + <!-- Copy CXF generated ObjectFactory to common project so they can be referenced by implementation without circular dependencies --> <copy todir="${andromda.project}/common/target/src/main/java/$dir" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> <fileset dir="${andromda.project}/CXF/target/src/main/java/$dir"> <include name="ObjectFactory.java"/> @@ -118,8 +130,11 @@ #end #end - <!-- Copy all ObjectFactory to common project alongside generated SEI interface and implementation --> - <copy todir="${andromda.project}/common/target/src" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> + <!-- Copy initial log4j settings to webservice and CXF projects for embedded server test --> + <copy file="${andromda.project}/mda/log4j.xml" todir="${andromda.project}/webservice/src/main/resources" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"/> + <copy file="${andromda.project}/mda/log4j.xml" todir="${andromda.project}/CXF/src/main/resources" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"/> + <!-- Copy CXF generated ObjectFactory to common project alongside generated SEI interface and implementation --> + <copy todir="${andromda.project}/common/target/src/main/java" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> <fileset dir="${andromda.project}/CXF/target/src/main/java"> <include name="**/ObjectFactory.java"/> <include name="org/apache/**"/> @@ -137,13 +152,13 @@ #end </fileset> </copy> - <!-- Copy Service Exception FaultBeans --> + <!-- Copy CXF generated Service Exception FaultBeans to webservice project --> #foreach ($service in $services) #if ($umlUtils.shouldOutput($service) && !$service.allowedOperationExceptions.empty) <copy todir="${andromda.project}/common/target/src/main/java" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> <fileset dir="${andromda.project}/CXF/target/src/main/java"> #foreach ($exception in $service.allowedOperationExceptions) -## <!-- $faultName $exception.associationEnds.size() $exception --> +## <!-- $faultName $exception --> #set ($faultName = $exception.name.replace("Exception", "Fault")) <include name="**/${faultName}.java"/> #end @@ -151,7 +166,7 @@ </copy> #end #end - <!-- Copy Test Client, Test Server, and WS Endpoint Client files to webservice project --> + <!-- Copy CXF generated Test Client, Test Server, and WS Endpoint Client files to webservice project --> #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) #set ($dir=${stringUtils.replace($service.packageName, '.', '/')}) @@ -164,13 +179,32 @@ </copy> #end #end + </target> + + <target name="wsdlgenall" depends="init" + description="Call java2ws (create client) for each Service, modify URL"> + +#foreach ($service in $services) +#if ($umlUtils.shouldOutput($service)) +#set ($dir=${stringUtils.replace($service.packageName, '.', '/')}) + <antcall target="wsgenwsdl"> + <param name="package" value="$service.packageName"/> + <param name="service" value="$service.name"/> + <param name="namespace" value="http://$webServiceUtils.reversePackage($service.packageName)#if($addNamespaceBackslash)/#end"/> + </antcall> +#end +#end <!-- Copy Andromda generated Test Client and WS Endpoint Client files to CXF project --> #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) - <copy todir="${andromda.project}/CXF/src/main/java" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> + <copy todir="${andromda.project}/CXF/src/test/java" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> <fileset dir="${andromda.project}/webservice/src/test/java"> <include name="**/*_WSClient.java"/> - <include name="**/*WSTest.java"/> + <include name="**/*WSITCase.java"/> + </fileset> + </copy> + <copy todir="${andromda.project}/CXF/src/test/resources" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> + <fileset dir="${andromda.project}/webservice/src/test/java"> <include name="**/cxf*.xml"/> </fileset> </copy> @@ -180,35 +214,44 @@ #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) #set ($dir=${stringUtils.replace($service.packageName, '.', '/')}) - <copy todir="${andromda.project}/CXF/target/src/main/java" overwrite="true" preservelastmodified="true" verbose="true" failonerror="false"> - <fileset dir="${andromda.project}/webservice/src/main/java"> + <copy todir="${andromda.project}/CXF/src/test/java" overwrite="true" preservelastmodified="true" verbose="true" failonerror="false"> + <fileset dir="${andromda.project}/webservice/src"> <include name="$dir/test/${service.name}_WSClient.java"/> </fileset> - <fileset dir="${andromda.project}/core/src"> + </copy> + <copy todir="${andromda.project}/CXF/src/main/java" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"> + <fileset dir="${andromda.project}/core/src/main/java"> #foreach ($operation in $service.allowedOperations) #if ($umlUtils.shouldOutput($operation)) <include name="$dir/${stringUtils.capitalize($operation.operationName)}Impl.java"/> #end #end + <include name="$dir/${service.name}WSDelegate.java"/> </fileset> </copy> #end #end - </target> - - <target name="wsdlgenall" depends="init" - description="Call java2ws (create client) for each Service, modify URL"> - + <!-- Overwrite CXF generated Impl which only returns null values --> #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) -#set ($dir=${stringUtils.replace($service.packageName, '.', '/')}) - <antcall target="wsgenwsdl"> - <param name="package" value="$service.packageName"/> - <param name="service" value="$service.name"/> - <param name="namespace" value="http://$webServiceUtils.reversePackage($service.packageName)#if($addNamespaceBackslash)/#end"/> - </antcall> + <move file="${andromda.project}/CXF/target/src/main/java/$dir/${service.name}SEIImpl.java" tofile="${service.name}SEIImpl.java.ref" + failonerror="false" verbose="true"/> + <copy todir="${andromda.project}/CXF/target/src/main/java" overwrite="true" preservelastmodified="true" verbose="true" failonerror="false"> + <fileset dir="${andromda.project}/core/target/src/main/java"> + <include name="$dir/${service.name}SEIImpl.java"/> + </fileset> + </copy> #end #end + <!-- Force recompilation because copied files are older --> + <delete includeEmptyDirs="true" failonerror="false"> + <fileset dir="${andromda.project}/CXF/target/classes" includes="**/*.*"/> + <fileset dir="${andromda.project}/CXF/target/test-classes" includes="**/*.*"/> + </delete> + <!-- Copy web.xml from webservice to CXF project for embedded server test, in case it got cleaned --> + <copy todir="${andromda.project}/CXF/src/main/webapp/WEB-INF" overwrite="true" preservelastmodified="true" verbose="true" failonerror="false"> + <fileset dir="${andromda.project}/webservice/src/main/webapp/WEB-INF" includes="*.xm*"/> + </copy> <record name="${project}/mda/wsgen${NOW}.log" action="stop"/> </target> @@ -231,7 +274,7 @@ <echo message="running wsdlvalidator for AndroMDA generated wsdl for service ${service}"/> <java classname="org.apache.cxf.tools.validator.WSDLValidator" fork="true"> <arg value="-verbose"/> - <arg value="${andromda.project}/webservice/WebContent/wsdl/${service}.wsdl"/> + <arg value="${andromda.project}/webservice/src/main/webapp/wsdl/${service}.wsdl"/> <classpath> <path refid="project1.classpath"/> </classpath> @@ -241,12 +284,12 @@ <arg value="-p"/> <arg value="${namespace}=${package}"/> <arg value="-b"/> - <arg value="${andromda.project}/webservice/WebContent/wsdl/bindings/${service}.xjb"/> + <arg value="${andromda.project}/webservice/src/main/webapp/wsdl/bindings/${service}.xjb"/> <arg value="-d"/> <arg value="${andromda.project}/CXF/target/src/main/java"/> <!--arg value="-compile"/--> <arg value="-classdir"/> - <arg value="${andromda.project}/CXF/WebContent/WEB-INF/classes"/> + <arg value="${andromda.project}/CXF/src/main/webapp/WEB-INF/classes"/> <arg value="-all"/> <arg value="-verbose"/> #if (!$cxfVersion.startsWith("2.0")) @@ -262,7 +305,7 @@ #end <!-- Uncomment to use CXF servlet WSDL URL instead of generated wsdl - There are differences. --> <!--arg value="http://${webserviceHost}:${webservicePort}/$webContext/$servicesPath/${service}?wsdl"/--> - <arg value="${andromda.project}/webservice/WebContent/wsdl/${service}.wsdl"/> + <arg value="${andromda.project}/webservice/src/main/webapp/wsdl/${service}.wsdl"/> <classpath> <path refid="project1.classpath"/> </classpath> @@ -298,9 +341,9 @@ ## Does not support custom jaxb databinding file, have to use wsdl2java to generate these artifacts #end <arg value="-o"/> - <arg value="${andromda.project}/CXF/WebContent/WEB-INF/wsdl/${service}.wsdl"/> + <arg value="${andromda.project}/CXF/src/main/webapp/WEB-INF/wsdl/${service}.wsdl"/> <arg value="-cp"/> - <arg value="${andromda.project}/common/target/classes;${andromda.project}/core/target/classes;${andromda.project}/webservice/WebContent/WEB-INF/classes;${andromda.project}/CXF/WebContent/WEB-INF/classes;"/> + <arg value="${andromda.project}/common/target/classes;${andromda.project}/core/target/classes;${andromda.project}/webservice/src/main/webapp/WEB-INF/classes;${andromda.project}/CXF/src/main/webapp/WEB-INF/classes;"/> #if ($soapVersion.equals("1.2")) <arg value="-soap12"/> #end @@ -312,7 +355,7 @@ <arg value="-s"/> <arg value="${andromda.project}/CXF/target/src/main/java"/> <arg value="-classdir"/> - <arg value="${andromda.project}/CXF/WebContent/WEB-INF/classes"/> + <arg value="${andromda.project}/CXF/src/main/webapp/WEB-INF/classes"/> <arg value="-portname"/> <arg value="${service}"/> ## java2ws does not add schemaLocation to xsd imports in schema files = namespace error @@ -328,14 +371,14 @@ </classpath> </java> <waitfor maxwait="20" maxwaitunit="second"> - <available file="${andromda.project}/CXF/WebContent/WEB-INF/wsdl/${service}.wsdl"/> + <available file="${andromda.project}/CXF/src/main/webapp/WEB-INF/wsdl/${service}.wsdl"/> </waitfor> </target> <!-- Replace dummy WSDL URL with localhost working version, used for test/prod deployment wsdls. --> <target name="wsreplace" description="Replace default URL text with service value."> <!-- If we have a URL from UDDI, change here --> - <replace dir="${andromda.project}/webservice/WebContent/wsdl" value="http://$webserviceHost:$webservicePort/$webContext/$servicesPath/${class}" + <replace dir="${andromda.project}/webservice/src/main/webapp/wsdl" value="http://$webserviceHost:$webservicePort/$webContext/$servicesPath/${class}" summary="true"> <include name="${class}*.*"/> <replacetoken>REPLACE_WITH_ACTUAL_URL</replacetoken> Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/cxf-client.xml.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -26,7 +26,7 @@ <!-- Service endpoints for every service --> -##foreach ($service in $services) +#foreach ($service in $services) <!-- Service from ${service.fullyQualifiedName} --> <bean id="${service.name}Client" class="${service.fullyQualifiedName}${seiSuffix}" factory-bean="${service.name}ProxyFactory" factory-method="create"/> @@ -35,6 +35,6 @@ <property name="address" value="http://${webserviceHost}:${webservicePort}/$webContext/$servicesPath/${service.name}"/> </bean> -##end +#end </beans> #end \ No newline at end of file Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -29,11 +29,8 @@ #if (!$operation.rest) ## <!-- $service.packageName $operation.packageName $operation.name $service --> #foreach($exception in $operation.exceptions) -#if ($exception.associationEnds.empty) +## Assumes the exception is called 'Exception' or Fault #set ($faultName=$exception.name.replace("Exception", "Fault")) -#else -#set ($faultName=$exception.associationEnds.get(0).otherEnd.type.name) -#end <!-- change the generated exception class package from default service package $service.packageName--> <bindings node="wsdl:definitions/wsdl:portType[@name=$q${service.qName}$q]/wsdl:operation[@name=$q$operation.operationName$q]/wsdl:fault[@name=$q$faultName$q]"> #if (!$exception.packageName.equals($service.packageName)) @@ -52,7 +49,6 @@ #end #end #end - <!-- Change the xs:date databinding from the default XMLGregorianCalendar. Creates org.w3._2001.xmlschema.Adapter1 class --> <bindings node="wsdl:definitions/wsdl:types/xs:schema"> <!-- Preserve underscore instead of using it as a word break in class/attribute/literal names --> <!-- Generate IsSet methods for optional elements --> @@ -71,17 +67,27 @@ <!-- XJC binding extension with simple binding, which prevents most object name collisions by assuming type is uniquely used --> <xjc:simple/> #end - <!-- CXF overridden XML Binding customizations. --> - <!-- Customized bindings, in SharedJaxb2.jar. Allows null values, does not generate new Adapter classes --> + <!-- Change the xs:date databinding from the default XMLGregorianCalendar. Creates org.w3._2001.xmlschema.Adapter1 class --> + <!-- Default XJC binding is XMLGregorianCalendar, must match java cartridge mapping --> <!-- Date=$webServiceUtils.getTypeMapping($service.languageMappings, "Date") Time=$webServiceUtils.getTypeMapping($service.languageMappings, "Time") DateTime=$webServiceUtils.getTypeMapping($service.languageMappings, "DateTime") Integer=$webServiceUtils.getTypeMapping($service.languageMappings, "Integer") Decimal=$webServiceUtils.getTypeMapping($service.languageMappings, "Decimal") --> -#if ($stringUtils.isNotBlank($XMLDateAdapter)) - <!-- Default XJC binding is XMLGregorianCalendar, must match java cartridge mapping --> + <!-- See http://cxf.apache.org/docs/wsdl-to-java.html --> +#if ($stringUtils.isBlank($XMLDateAdapter)) #if ($webServiceUtils.getTypeMapping($service.languageMappings, "Date").equals("java.util.Date")) + <jxb:javaType xmlType="xs:date" name="java.util.Date" + parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseDateTime" + printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printDateTime"/> +#elseif ($webServiceUtils.getTypeMapping($service.languageMappings, "Date").equals("java.util.Calendar")) + <jxb:javaType xmlType="xs:date" name="java.util.Calendar" + parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime" + printMethod="javax.xml.bind.DatatypeConverter.printDateTime"/> +#end +#else +#if ($webServiceUtils.getTypeMapping($service.languageMappings, "Date").equals("java.util.Date")) #if ($cxfVersion.startsWith("2.0")) -## <!-- Requires custom developed datatype bindings --> -## <jxb:javaType xmlType="xs:date" name="java.util.Date" -## parseMethod="com.xxx.DatatypeConverter.parseXsDate" -## printMethod="com.xxx.DatatypeConverter.printXsDate"/> + <!-- Requires custom developed datatype bindings --> + <!--jxb:javaType xmlType="xs:date" name="java.util.Date" + parseMethod="com.xxx.DatatypeConverter.parseXsDate" + printMethod="com.xxx.DatatypeConverter.printXsDate"/--> #else <xjc:javaType xmlType="xs:date" name="java.util.Date" adapter="$XMLDateAdapter"/> #end @@ -95,12 +101,23 @@ #end #end #end -#if ($stringUtils.isNotBlank($XMLTimeAdapter)) +#if ($stringUtils.isBlank($XMLTimeAdapter)) #if ($webServiceUtils.getTypeMapping($service.languageMappings, "Time").equals("java.util.Date")) + <jxb:javaType xmlType="xs:time" name="java.util.Date" + parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseTime" + printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printTime"/> +#elseif ($webServiceUtils.getTypeMapping($service.languageMappings, "Time").equals("java.util.Calendar")) + <jxb:javaType xmlType="xs:time" name="java.util.Calendar" + parseMethod="javax.xml.bind.DatatypeConverter.parseTime" + printMethod="javax.xml.bind.DatatypeConverter.printTime"/> +#end +#else +#if ($webServiceUtils.getTypeMapping($service.languageMappings, "Time").equals("java.util.Date")) #if ($cxfVersion.startsWith("2.0")) -## <jxb:javaType xmlType="xs:time" name="java.util.Date" -## parseMethod="com.xxx.DatatypeConverter.parseXsTime" -## printMethod="com.xxx.DatatypeConverter.printXsTime"/> + <!-- Requires custom developed datatype bindings --> + <!--jxb:javaType xmlType="xs:time" name="java.util.Date" + parseMethod="com.xxx.DatatypeConverter.parseXsTime" + printMethod="com.xxx.DatatypeConverter.printXsTime"/--> #else <xjc:javaType xmlType="xs:time" name="java.util.Date" adapter="$XMLTimeAdapter"/> #end @@ -114,12 +131,23 @@ #end #end #end -#if ($stringUtils.isNotBlank($XMLDateTimeAdapter)) +#if ($stringUtils.isBlank($XMLDateTimeAdapter)) +#if ($webServiceUtils.getTypeMapping($service.languageMappings, "DateTime").equals("java.util.Date")) + <jxb:javaType xmlType="xs:dateTime" name="java.util.Date" + parseMethod="org.apache.cxf.tools.common.DataTypeAdapter.parseDateTime" + printMethod="org.apache.cxf.tools.common.DataTypeAdapter.printDateTime"/> +#elseif ($webServiceUtils.getTypeMapping($service.languageMappings, "DateTime").equals("java.util.Calendar")) + <jxb:javaType xmlType="xs:dateTime" name="java.util.Calendar" + parseMethod="javax.xml.bind.DatatypeConverter.parseDateTime" + printMethod="javax.xml.bind.DatatypeConverter.printDateTime"/> +#end +#elseif ($stringUtils.isNotBlank($XMLDateTimeAdapter)) #if ($webServiceUtils.getTypeMapping($service.languageMappings, "DateTime").equals("java.util.Date") || $webServiceUtils.getTypeMapping($service.languageMappings, "DateTime").equals("java.sql.Timestamp")) #if ($cxfVersion.startsWith("2.0")) -## <jxb:javaType xmlType="xs:dateTime" name="java.util.Date" -## parseMethod="com.xxx.DatatypeConverter.parseXsDateTime" -## printMethod="com.xxx.DatatypeConverter.printXsDateTime"/> + <!-- Requires custom developed datatype bindings --> + <!--jxb:javaType xmlType="xs:dateTime" name="java.util.Date" + parseMethod="com.xxx.DatatypeConverter.parseXsDateTime" + printMethod="com.xxx.DatatypeConverter.printXsDateTime"/--> #else <xjc:javaType xmlType="xs:dateTime" name="java.util.Date" adapter="$XMLDateTimeAdapter"/> #end @@ -161,9 +189,9 @@ #if ($webServiceUtils.getTypeMapping($service.languageMappings, "Integer").equals("Integer") || $webServiceUtils.getTypeMapping($service.languageMappings, "Integer").equals("java.lang.Integer")) <!-- Default XJC binding is BigInteger, must match java cartridge mapping --> #if ($cxfVersion.startsWith("2.0")) -## <xjc:javaType xmlType="xs:integer" name="Integer" -## parseMethod="com.xxx.DatatypeConverter.parseInteger" -## printMethod="com.xxx.DatatypeConverter.printInteger"/> + <!--xjc:javaType xmlType="xs:integer" name="Integer" + parseMethod="com.xxx.DatatypeConverter.parseInteger" + printMethod="com.xxx.DatatypeConverter.printInteger"/--> #else <xjc:javaType xmlType="xs:integer" name="Integer" adapter="$XMLIntegerAdapter"/> #end @@ -173,9 +201,10 @@ #if ($webServiceUtils.getTypeMapping($service.languageMappings, "Decimal").equals("Decimal") || $webServiceUtils.getTypeMapping($service.languageMappings, "Decimal").equals("java.lang.Decimal")) <!-- Default XJC binding is BigInteger, must match java cartridge mapping --> #if ($cxfVersion.startsWith("2.0")) -## <xjc:javaType xmlType="xs:decimal" name="Decimal" -## parseMethod="com.xxx.DatatypeConverter.parseDecimal" -## printMethod="com.xxx.DatatypeConverter.printDecimal"/> + <!-- Requires custom developed datatype bindings --> + <!--xjc:javaType xmlType="xs:decimal" name="Decimal" + parseMethod="com.xxx.DatatypeConverter.parseDecimal" + printMethod="com.xxx.DatatypeConverter.printDecimal"/--> #else <xjc:javaType xmlType="xs:decimal" name="Decimal" adapter="$XMLDecimalAdapter"/> #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/JettyServer.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/JettyServer.java.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/JettyServer.java.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -55,8 +55,7 @@ WebAppContext webappcontext = new WebAppContext(); webappcontext.setContextPath("/$webContext"); - // Rational Developer requires this to be the Web Content directory. - webappcontext.setWar("WebContent"); + webappcontext.setWar("src/main/webapp"); HandlerCollection handlers = new HandlerCollection(); handlers.setHandlers(new Handler[] {webappcontext, new DefaultHandler()}); Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -77,8 +77,7 @@ $parameter.getDocumentation(" * ") * Gets the value of the $parameter.name property * @return $parameter.name $paramType - * possible object is - * {@link $paramType } + * possible object is {#if (!$parameter.type.primitive)@link#end $paramType } */ public $paramType ${parameter.getterName}() { @@ -117,20 +116,20 @@ { this.$parameter.name = ${parameter.name}In; #if ($parameter.type.primitive) - this.isSet${parameter.name} = true; + this.set${stringUtils.capitalize(${parameter.name})} = true; #end } #if ($parameter.type.primitive) + @javax.xml.bind.annotation.XmlTransient + private boolean set${stringUtils.capitalize(${parameter.name})} = false; /** * Returns true if $parameter.name value is set - * - * @return boolean true is value is set (not null) - * + * @return boolean true if value is set (not null) */ public boolean isSet${stringUtils.capitalize($parameter.name)}() { - return #if ($parameter.type.primitive)true#else(this.$parameter.name!= null)#end; + return this.set${stringUtils.capitalize(${parameter.name})}; } #end #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-04-26 22:13:02 UTC (rev 15022) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-04-26 22:13:52 UTC (rev 15023) @@ -62,6 +62,7 @@ implements Serializable, Comparable<Object> { private final static long serialVersionUID = 1L; + /** returnParameter */ #if ($operation.returnTypePresent) #if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType="java.util.List<$operation.returnType.fullyQualifiedName>") @@ -94,9 +95,7 @@ * Gets the value of the $returnAttr property. * * @return - * possible object is - * {@link $returnType } - * + * possible object is {#if (!$operation.returnType.primitive)@link#end $returnType } */ public $returnType $getOperation { @@ -109,38 +108,36 @@ * @return * possible object is * {@link $returnType } - * */ @Deprecated public $returnType#if ($operation.lower > 0) get#else is#end$stringUtils.capitalize(${operation.operationName})() { return this.$returnAttr; } + #end - /** * Sets the value of the $returnAttr property. * * @param value * allowed object is * {@link $returnType } - * */ public void ${setOperation}($returnType value) { this.$returnAttr = value; #if ($operation.returnType.primitive) - this.isSet$className = true; + this.set$className = true; #end } #if ($operation.returnType.primitive) + @javax.xml.bind.annotation.XmlTransient private boolean set$className = false; /** * Returns true if value is set * * @return boolean true is value is set (not null) - * */ public boolean isSet$className() { @@ -176,6 +173,9 @@ * @return int if equal * @see Comparable#compareTo(Object) */ +#if ($enableAnnotations) + @Override +#end public int compareTo(Object object) { if (object==null) Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-output.zip =================================================================== (Binary files differ) Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-04-28 20:15:38
|
Revision: 15031 http://andromda.svn.sourceforge.net/andromda/?rev=15031&view=rev Author: bobfields Date: 2011-04-28 20:15:32 +0000 (Thu, 28 Apr 2011) Log Message: ----------- Minor build ant script fixes. log4j copy, SEIImpl copy. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-04-28 20:15:15 UTC (rev 15030) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-04-28 20:15:32 UTC (rev 15031) @@ -131,6 +131,7 @@ #end <!-- Copy initial log4j settings to webservice and CXF projects for embedded server test --> + <copy file="${andromda.project}/mda/log4j.xml" todir="${andromda.project}/core/src/test/resources" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"/> <copy file="${andromda.project}/mda/log4j.xml" todir="${andromda.project}/webservice/src/main/resources" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"/> <copy file="${andromda.project}/mda/log4j.xml" todir="${andromda.project}/CXF/src/main/resources" overwrite="false" preservelastmodified="true" verbose="true" failonerror="false"/> <!-- Copy CXF generated ObjectFactory to common project alongside generated SEI interface and implementation --> @@ -234,7 +235,8 @@ <!-- Overwrite CXF generated Impl which only returns null values --> #foreach ($service in $services) #if ($umlUtils.shouldOutput($service)) - <move file="${andromda.project}/CXF/target/src/main/java/$dir/${service.name}SEIImpl.java" tofile="${service.name}SEIImpl.java.ref" + <move file="${andromda.project}/CXF/target/src/main/java/$dir/${service.name}SEIImpl.java" + tofile="${andromda.project}/CXF/target/src/main/java/$dir/${service.name}SEIImpl.java.ref" failonerror="false" verbose="true"/> <copy todir="${andromda.project}/CXF/target/src/main/java" overwrite="true" preservelastmodified="true" verbose="true" failonerror="false"> <fileset dir="${andromda.project}/core/target/src/main/java"> Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-04-29 20:33:29
|
Revision: 15035 http://andromda.svn.sourceforge.net/andromda/?rev=15035&view=rev Author: bobfields Date: 2011-04-29 20:33:23 +0000 (Fri, 29 Apr 2011) Log Message: ----------- CXF MethodRequest Formatting doc fix. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-04-29 20:32:10 UTC (rev 15034) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-04-29 20:33:23 UTC (rev 15035) @@ -47,7 +47,6 @@ implements Serializable, Comparable<Object> { private final static long serialVersionUID = 1L; - #if (!$useArrayWrapper && ($operation.upper>1 || $operation.upper==-1)) #set ($returnType = "java.util.List<$operation.returnType.fullyQualifiedName>") #else @@ -60,8 +59,10 @@ #else #set ($paramType=$parameter.getterSetterTypeName) #end -##set ($type=$stringUtils.substring($parameter.type.name, 0, 8)) -$parameter.getDocumentation(" /** ") */ + + /** +$parameter.getDocumentation(" * ") + */ #if (($paramType.equals("DateTime") && $stringUtils.isNotBlank(${XMLDateTimeAdapter})) || ($paramType.equals("Time") && $stringUtils.isNotBlank(${XMLTimeAdapter}))|| ($paramType.equals("Date") && $stringUtils.isNotBlank(${XMLDateAdapter}))|| ($paramType.equals("Integer") && $stringUtils.isNotBlank(${XMLIntegerAdapter}))|| ($paramType.equals("Decimal") && $stringUtils.isNotBlank(${XMLDecimalAdapter}))|| ($paramType.equals("Boolean") && $stringUtils.isNotBlank(${XMLBooleanAdapter}))) ##set ($elementType=", type=String.class") @XmlElement(#if ($parameter.required)required = true,#end type = String.class) Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-05-04 16:22:34
|
Revision: 15042 http://andromda.svn.sourceforge.net/andromda/?rev=15042&view=rev Author: bobfields Date: 2011-05-04 16:22:27 +0000 (Wed, 04 May 2011) Log Message: ----------- Fail build if webservice buildWS.xml ant script fails. Fix Spring configuration. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl 2011-05-04 16:22:00 UTC (rev 15041) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/applicationContext-CXF.xml.vsl 2011-05-04 16:22:27 UTC (rev 15042) @@ -16,28 +16,34 @@ <param-value>/WEB-INF/applicationContext-CXF.xml</param-value> </context-param> --> +#set ($cxf24=$cxfVersion.substring(0,2).compareTo("2.4")<0) <!-- Load CXF Spring configuration files from cxf runtime. Comment out unneeded extensions --> <import resource="classpath:META-INF/cxf/cxf.xml"/> - <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> -#if ($service.hasStereotype("WSAddressing")) - <import resource="classpath:META-INF/cxf/cxf-extension-addr.xml"/> -#else - <!--import resource="classpath:META-INF/cxf/cxf-extension-addr.xml"/--> +#if ($cxf24) + <!-- CXF 2.4.x no longer requires the cxf-extension-* declarations --> #end + <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> + #if ($cxf24 || !$service.hasStereotype("WSAddressing"))<!--import#else<import#end + resource="classpath:META-INF/cxf/cxf-extension-addr.xml"#if ($cxf24 || !$service.hasStereotype("WSAddressing"))/-->#else/>#end + <!--import resource="classpath:META-INF/cxf/cxf-extension-http.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-javascript-client.xml"/--> +#if ($cxf24) <!--#end <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-jaxws.xml"/> +#if ($cxf24)-->#end <!--import resource="classpath:META-INF/cxf/cxf-extension-jms.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-local.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-management.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-object-binding.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-policy.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-rm.xml"/--> +#if ($cxf24) <!--#end <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml"/> +#if ($cxf24)-->#end #if ($service.hasStereotype("WSSecurity")) <import resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml"/> #else Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-05-04 16:22:00 UTC (rev 15041) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/buildWS.xml.vsl 2011-05-04 16:22:27 UTC (rev 15042) @@ -37,7 +37,7 @@ <pathelement location="${m2repo}/jboss/jboss-j2ee/3.2.3/jboss-j2ee-3.2.3.jar"/> <path refid="cxf1.classpath"/> <fileset dir="${andromda.project}/webservice"> - <include name="/**/WEB-INF/lib/*.jar"/> + <include name="/src/main/resources/log4j.xml"/> </fileset> </path> @@ -274,7 +274,7 @@ http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html --> <target name="wsgenjava" description="Generate WebService code artifacts using CXF wsdl2java and java2wsdl utilities."> <echo message="running wsdlvalidator for AndroMDA generated wsdl for service ${service}"/> - <java classname="org.apache.cxf.tools.validator.WSDLValidator" fork="true"> + <java classname="org.apache.cxf.tools.validator.WSDLValidator" fork="true" failonerror="true" append="true"> <arg value="-verbose"/> <arg value="${andromda.project}/webservice/src/main/webapp/wsdl/${service}.wsdl"/> <classpath> @@ -282,7 +282,7 @@ </classpath> </java> <echo message="running wsdl2java for service ${service}"/> - <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true"> + <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true" failonerror="true" append="true"> <arg value="-p"/> <arg value="${namespace}=${package}"/> <arg value="-b"/> @@ -330,11 +330,11 @@ #if ($cxfVersion.startsWith("2.0")) <target name="wsgenwsdl" description="Generate WebService code artifacts using CXF java2wsdl utility."> <echo message="running java2wsdl for service ${service}"/> - <java classname="org.apache.cxf.tools.java2wsdl.JavaToWSDL" fork="true"> + <java classname="org.apache.cxf.tools.java2wsdl.JavaToWSDL" fork="true" failonerror="true" append="true"> #else <target name="wsgenwsdl" description="Generate WebService code artifacts using CXF java2ws utility."> <echo message="running java2ws for service ${service}"/> - <java classname="org.apache.cxf.tools.java2ws.JavaToWS" fork="true"> + <java classname="org.apache.cxf.tools.java2ws.JavaToWS" fork="true" failonerror="true" append="true"> <arg value="-databinding"/> <arg value="jaxb"/> <arg value="-frontend"/> @@ -345,7 +345,7 @@ <arg value="-o"/> <arg value="${andromda.project}/CXF/src/main/webapp/WEB-INF/wsdl/${service}.wsdl"/> <arg value="-cp"/> - <arg value="${andromda.project}/common/target/classes;${andromda.project}/core/target/classes;${andromda.project}/webservice/src/main/webapp/WEB-INF/classes;${andromda.project}/CXF/src/main/webapp/WEB-INF/classes;"/> + <arg value="${andromda.project}/common/target/classes;${andromda.project}/core/target/classes;${andromda.project}/webservice/src/main/webapp/WEB-INF/classes;${andromda.project}/CXF/target/classes;${andromda.project}/CXF/src/main/webapp/WEB-INF/classes"/> #if ($soapVersion.equals("1.2")) <arg value="-soap12"/> #end Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-05-27 18:27:37
|
Revision: 15096 http://andromda.svn.sourceforge.net/andromda/?rev=15096&view=rev Author: bobfields Date: 2011-05-27 18:27:30 +0000 (Fri, 27 May 2011) Log Message: ----------- CXF: Remove type check on render restrictions, reset base type each time. Change type.generalization.package abbr for xsd type extension. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/RenderRestrictions.vm trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java =================================================================== --- trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java 2011-05-27 18:26:59 UTC (rev 15095) +++ trunk/cartridges/andromda-webservice/src/main/java/org/andromda/cartridges/webservice/WebServiceUtils.java 2011-05-27 18:27:30 UTC (rev 15096) @@ -132,11 +132,26 @@ */ public String getPkgAbbr(PackageFacade pkg) { + return this.getPkgAbbr(pkg, null); + } + + /** Get the package namespace abbreviation for this package + * @param pkg Package for which to get the abbreviation. Uses a static Map so that + * all schemas globally for this model will use the same namespace abbreviations + * @param currentPackage The package which is referencing the pkg. Return 'impl' if the same as pkg. + * @return Package abbreviation nsX + */ + public String getPkgAbbr(PackageFacade pkg, PackageFacade currentPackage) + { if (pkg==null) { logger.error("getPkgAbbr Null pkg " + packageAbbr.size() + ": " + packageAbbr); return "impl"; } + if (currentPackage != null && pkg.getFullyQualifiedName().equals(currentPackage.getFullyQualifiedName())) + { + return "impl"; + } if (packageAbbr==null) { packageAbbr = new TreeMap<PackageFacade, String>(); @@ -291,26 +306,26 @@ { try { - if (getType(attr) != null) + ClassifierFacade attrType = getType(attr); + if (attrType != null) { - attr = getType(attr); - } - pkg = (PackageFacade) attr.getPackage(); - name = attr.getName(); - if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) - { - if (!pkgSet.contains(pkg)) + pkg = (PackageFacade) attrType.getPackage(); + name = attrType.getName(); + if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) { - pkgSet.add(pkg); - } - if (!packageAbbr.containsKey(pkg)) - { - packageAbbr.put(pkg, "ns" + namespaceCount); - if (logger.isDebugEnabled()) + if (!pkgSet.contains(pkg)) { - logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + facade.getName()); + pkgSet.add(pkg); } - namespaceCount++; + if (!packageAbbr.containsKey(pkg)) + { + packageAbbr.put(pkg, "ns" + namespaceCount); + if (logger.isDebugEnabled()) + { + logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + facade.getName()); + } + namespaceCount++; + } } } } @@ -319,30 +334,30 @@ logger.debug("setPkgAbbr error in service " + service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + facade.getName()); } } - for (ModelElementFacade otherEnd : (List<ModelElementFacade>)facade.getNavigableConnectingEnds(follow)) + for (AssociationEndFacade otherEnd : (List<AssociationEndFacade>)facade.getNavigableConnectingEnds(follow)) { try { + ClassifierFacade endType = getType(otherEnd); if (getType(otherEnd) != null) { - otherEnd = getType(otherEnd); - } - pkg = (PackageFacade) otherEnd.getPackage(); - name = otherEnd.getName(); - if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) - { - if (!pkgSet.contains(pkg)) + pkg = (PackageFacade) endType.getPackage(); + name = endType.getName(); + if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) { - pkgSet.add(pkg); - } - if (!packageAbbr.containsKey(pkg)) - { - packageAbbr.put(pkg, "ns" + namespaceCount); - if (logger.isDebugEnabled()) + if (!pkgSet.contains(pkg)) { - logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + facade.getName()); + pkgSet.add(pkg); } - namespaceCount++; + if (!packageAbbr.containsKey(pkg)) + { + packageAbbr.put(pkg, "ns" + namespaceCount); + if (logger.isDebugEnabled()) + { + logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + facade.getName()); + } + namespaceCount++; + } } } } @@ -375,26 +390,26 @@ { try { - if (getType(attr) != null) + ClassifierFacade attrType = getType(attr); + if (getType(attrType) != null) { - attr = getType(attr); - } - pkg = (PackageFacade) attr.getPackage(); - name = attr.getName(); - if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) - { - if (!pkgSet.contains(pkg)) + pkg = (PackageFacade) attrType.getPackage(); + name = attrType.getName(); + if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) { - pkgSet.add(pkg); - } - if (!packageAbbr.containsKey(pkg)) - { - packageAbbr.put(pkg, "ns" + namespaceCount); - if (logger.isDebugEnabled()) + if (!pkgSet.contains(pkg)) { - logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + type.getName() + '.' + name); + pkgSet.add(pkg); } - namespaceCount++; + if (!packageAbbr.containsKey(pkg)) + { + packageAbbr.put(pkg, "ns" + namespaceCount); + if (logger.isDebugEnabled()) + { + logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + type.getName() + '.' + name); + } + namespaceCount++; + } } } } @@ -403,30 +418,30 @@ logger.debug("setPkgAbbr error in service " + service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + type.getName() + ": " + e); } } - for (ModelElementFacade otherEnd : (List<ModelElementFacade>)type.getNavigableConnectingEnds(follow)) + for (AssociationEndFacade otherEnd : (List<AssociationEndFacade>)type.getNavigableConnectingEnds(follow)) { try { - if (getType(otherEnd) != null) + ClassifierFacade endType = getType(otherEnd); + if (endType != null) { - otherEnd = getType(otherEnd); - } - pkg = (PackageFacade) otherEnd.getPackage(); - name = otherEnd.getName(); - if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) - { - if (!pkgSet.contains(pkg)) + pkg = (PackageFacade) endType.getPackage(); + name = endType.getName(); + if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) { - pkgSet.add(pkg); - } - if (!packageAbbr.containsKey(pkg)) - { - packageAbbr.put(pkg, "ns" + namespaceCount); - if (logger.isDebugEnabled()) + if (!pkgSet.contains(pkg)) { - logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + type.getName() + '.' + name); + pkgSet.add(pkg); } - namespaceCount++; + if (!packageAbbr.containsKey(pkg)) + { + packageAbbr.put(pkg, "ns" + namespaceCount); + if (logger.isDebugEnabled()) + { + logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + type.getName() + '.' + name); + } + namespaceCount++; + } } } } @@ -478,30 +493,30 @@ } name = type.getName(); // Duplicates logic in wsdl.vsl so that referenced packages are the same. - for (ModelElementFacade otherEnd : (List<ModelElementFacade>)type.getType().getNavigableConnectingEnds(follow)) + for (AssociationEndFacade otherEnd : (List<AssociationEndFacade>)type.getType().getNavigableConnectingEnds(follow)) { try { - if (getType(otherEnd) != null) + ClassifierFacade endType = getType(otherEnd); + if (endType != null) { - otherEnd = getType(otherEnd); - } - pkg = (PackageFacade) otherEnd.getPackage(); - name = otherEnd.getName(); - if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) - { - if (!pkgSet.contains(pkg)) + pkg = (PackageFacade) endType.getPackage(); + name = endType.getName(); + if (pkg!=null && pkg.getFullyQualifiedName().indexOf('.') > 0) { - pkgSet.add(pkg); - } - if (!packageAbbr.containsKey(pkg)) - { - packageAbbr.put(pkg, "ns" + namespaceCount); - if (logger.isDebugEnabled()) + if (!pkgSet.contains(pkg)) { - logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + type.getName()); + pkgSet.add(pkg); } - namespaceCount++; + if (!packageAbbr.containsKey(pkg)) + { + packageAbbr.put(pkg, "ns" + namespaceCount); + if (logger.isDebugEnabled()) + { + logger.debug(service.getName() + " ns" + namespaceCount + ' ' + pkg + ' ' + type.getName()); + } + namespaceCount++; + } } } } @@ -600,19 +615,19 @@ { try { - if (getType(attr) != null) + ClassifierFacade attrType = getType(attr); + if (attrType != null) { - attr = getType(attr); - } - pkg = (PackageFacade) attr.getPackage(); - name = attr.getName(); - if (pkg!=null && !pkg.getFullyQualifiedName().equals(packageName) && !pkgRef.contains(pkg) && pkg.getFullyQualifiedName().indexOf('.') > 0) - { - pkgRef.add(pkg); - if (logger.isDebugEnabled()) + pkg = (PackageFacade) attrType.getPackage(); + name = attrType.getName(); + if (pkg!=null && !pkg.getFullyQualifiedName().equals(packageName) && !pkgRef.contains(pkg) && pkg.getFullyQualifiedName().indexOf('.') > 0) { - pkgRefs += pkg + ","; - logger.debug("getPackageReferences packageName=" + packageName + " add facadeAttribute " + pkg + '.' + name); + pkgRef.add(pkg); + if (logger.isDebugEnabled()) + { + pkgRefs += pkg + ","; + logger.debug("getPackageReferences packageName=" + packageName + " add facadeAttribute " + pkg + '.' + name); + } } } } @@ -668,12 +683,12 @@ { try { - if (getType(attr) != null) + ClassifierFacade attrType = getType(attr); + if (attrType != null) { - attr = getType(attr); + pkg = (PackageFacade) attr.getPackage(); + name = attr.getName(); } - pkg = (PackageFacade) attr.getPackage(); - name = attr.getName(); if (pkg!=null && !pkg.getFullyQualifiedName().equals(packageName) && !pkgRef.contains(pkg) && pkg.getFullyQualifiedName().indexOf('.') > 0) { pkgRef.add(pkg); @@ -721,6 +736,7 @@ { AssociationEndFacade type = (AssociationEndFacade)element; facade = getType(type); + // TODO: When can ClassifierFacade ever be an instanceof AssociationEndFacade if (facade instanceof AssociationEndFacade) { type = (AssociationEndFacade)facade; @@ -800,13 +816,13 @@ { for (ModelElementFacade attr : (List<ModelElementFacade>)type.getAllProperties()) { - if (getType(attr) != null) + ClassifierFacade attrType = getType(attr); + if (attrType != null) { - attr = getType(attr); + pkg = (PackageFacade) attr.getPackage(); + name = attr.getName(); } - pkg = (PackageFacade) attr.getPackage(); - name = attr.getName(); - if (pkg!=null && !pkg.getFullyQualifiedName().equals(packageName) && !pkgRef.contains(pkg) && pkg.getFullyQualifiedName().indexOf('.') > 0) + if (!pkg.getFullyQualifiedName().equals(packageName) && !pkgRef.contains(pkg) && pkg.getFullyQualifiedName().indexOf('.') > 0) { pkgRef.add(pkg); if (logger.isDebugEnabled()) @@ -1015,20 +1031,19 @@ { try { - //AttributeFacade attr = ((AttributeFacade)itAttr.next()); - if (getType(attr) != null) + ClassifierFacade attrType = getType(attr); + if (attrType != null) { - attr = getType(attr); - } - pkg = (PackageFacade) attr.getPackage(); - name = attr.getName(); - if (pkg!=null && !pkg.getFullyQualifiedName().equals(packageName) && !pkgRef.contains(pkg) && pkg.getFullyQualifiedName().indexOf('.') > 0) - { - pkgRef.add(pkg); - if (logger.isDebugEnabled()) + pkg = (PackageFacade) attrType.getPackage(); + name = attrType.getName(); + if (pkg!=null && !pkg.getFullyQualifiedName().equals(packageName) && !pkgRef.contains(pkg) && pkg.getFullyQualifiedName().indexOf('.') > 0) { - pkgRefs += pkg + ","; - logger.debug("getPackageReferences packageName=" + packageName + " add facadeAttribute " + pkg + '.' + name); + pkgRef.add(pkg); + if (logger.isDebugEnabled()) + { + pkgRefs += pkg + ","; + logger.debug("getPackageReferences packageName=" + packageName + " add facadeAttribute " + pkg + '.' + name); + } } } } @@ -1417,19 +1432,19 @@ { try { - if (getType(attr) != null) + ClassifierFacade attrType = getType(attr); + if (attrType != null) { - attr = getType(attr); - } - pkg = attr.getPackageName(); - if (pkg!=null && pkg.equals(packageName) && pkg.indexOf('.') > 0 && !pkgTypes.contains(attr)) - { - pkgTypes.add(attr); - if (logger.isDebugEnabled()) + pkg = attrType.getPackageName(); + if (pkg!=null && pkg.equals(packageName) && pkg.indexOf('.') > 0 && !pkgTypes.contains(attrType)) { - name = attr.getName(); - pkgRefs += attr.getName() + ','; - logger.debug("getPackageTypes packageName=" + packageName + " add attr " + attr.getPackageName() + '.' + attr.getName()); + pkgTypes.add(attrType); + if (logger.isDebugEnabled()) + { + name = attrType.getName(); + pkgRefs += attrType.getName() + ','; + logger.debug("getPackageTypes packageName=" + packageName + " add attr " + attrType.getPackageName() + '.' + attrType.getName()); + } } } } @@ -1444,6 +1459,7 @@ { AssociationEndFacade type = (AssociationEndFacade)element; facade = getType(type); + // TODO When can ClassifierFacade ever be an instanceof AssociationEndFacade if (facade instanceof AssociationEndFacade) { type = (AssociationEndFacade)facade; @@ -1485,25 +1501,25 @@ // Get the other end reference itself, then get the navigable connecting ends try { - ModelElementFacade otherEnd = (type.getOtherEnd()); - if (getType(otherEnd) != null) + AssociationEndFacade otherEnd = (type.getOtherEnd()); + ClassifierFacade endType = getType(otherEnd); + if (endType != null) { - otherEnd = getType(otherEnd); - } - pkg = otherEnd.getPackageName(); - if (logger.isDebugEnabled()) - { - name = otherEnd.getName(); - logger.debug("getPackageTypes packageName=" + packageName + " otherEnd " + pkg + '.' + name); - } - if (pkg!=null && pkg.equals(packageName) && pkg.indexOf('.') > 0 && !pkgTypes.contains(otherEnd)) - { - pkgTypes.add(otherEnd); + pkg = endType.getPackageName(); if (logger.isDebugEnabled()) { - pkgRefs += otherEnd.getName() + ','; - logger.debug("getPackageTypes packageName=" + packageName + " add otherEnd " + otherEnd.getPackageName() + '.' + otherEnd.getName()); + name = endType.getName(); + logger.debug("getPackageTypes packageName=" + packageName + " otherEnd " + pkg + '.' + name); } + if (pkg!=null && pkg.equals(packageName) && pkg.indexOf('.') > 0 && !pkgTypes.contains(endType)) + { + pkgTypes.add(endType); + if (logger.isDebugEnabled()) + { + pkgRefs += endType.getName() + ','; + logger.debug("getPackageTypes packageName=" + packageName + " add otherEnd " + endType.getPackageName() + '.' + otherEnd.getName()); + } + } } } catch (RuntimeException e) Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/RenderRestrictions.vm =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/RenderRestrictions.vm 2011-05-27 18:26:59 UTC (rev 15095) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/RenderRestrictions.vm 2011-05-27 18:27:30 UTC (rev 15096) @@ -7,6 +7,7 @@ #if ($element.hasStereotype("Validation")) #set ($quote='"') #set ($base=$element.findTaggedValue("andromda_validation_baseType")) +## <!-- type=$type base=$base element=$element --> #if ($stringUtils.isEmpty($base)) #set ($base=$type) #end @@ -25,10 +26,10 @@ #set ($minInclusive=$element.findTaggedValue("andromda_validation_minInclusive")) #set ($totalDigits=$element.findTaggedValue("andromda_validation_totalDigits")) #set ($fractionDigits=$element.findTaggedValue("andromda_validation_fractionDigits")) -## <!-- length=$length fixed=$fixed minLength=$minLength maxLength=$maxLength pattern=$pattern whiteSpace=$whiteSpace totalDigits=$totalDigits fractionDigits=$fractionDigits --> +## <!-- length=$length fixed=$fixed minLength=$minLength maxLength=$maxLength pattern=$pattern whiteSpace=$whiteSpace totalDigits=$totalDigits fractionDigits=$fractionDigits --> <xs:simpleType> <xs:restriction base="$base"> -#if ($base.equals("xs:string")) +##if ($base.equals("xs:string")) #if (!$stringUtils.isEmpty($length)) <xs:length value="$length"$fixed/> #else @@ -45,7 +46,7 @@ #if (!$stringUtils.isEmpty($whiteSpace) && ($whiteSpace.equals("preserve") || $whiteSpace.equals("replace") || $whiteSpace.equals("collapse"))) <xs:whiteSpace value="$whiteSpace"/> #end -#else +##else #if (!$stringUtils.isEmpty($maxInclusive)) <xs:maxInclusive value="$maxInclusive"/> #elseif (!$stringUtils.isEmpty($maxExclusive)) @@ -63,11 +64,12 @@ #if (!$stringUtils.isEmpty($fractionDigits)) <xs:fractionDigits value="$fractionDigits"/> #end -#end +##end </xs:restriction> </xs:simpleType> #end ## Prevent reusing values from previous element +#set ($fixed="") #set ($length="") #set ($minLength="") #set ($maxLength="") @@ -79,4 +81,5 @@ #set ($minInclusive="") #set ($totalDigits="") #set ($fractionDigits="") +#set ($base="") #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl 2011-05-27 18:26:59 UTC (rev 15095) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-included-xsd.vsl 2011-05-27 18:27:30 UTC (rev 15096) @@ -286,8 +286,8 @@ #end #set ($extensionRequired = $type.generalization && !$extensionInheritanceDisabled) #if ($extensionRequired) - <xs:complexContent> - <xs:extension base="${type.generalization.namespacePrefix}:$type.generalization.qName"> + <xs:complexContent> + <xs:extension base="$webServiceUtils.getPkgAbbr($type.generalization.package,$pkg):$type.generalization.qName"> #set ($tab=" ") #else #set ($tab="") Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl 2011-05-27 18:26:59 UTC (rev 15095) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl 2011-05-27 18:27:30 UTC (rev 15096) @@ -272,8 +272,8 @@ #end #set ($extensionRequired = $type.generalization && !$extensionInheritanceDisabled) #if ($extensionRequired) - <xs:complexContent> - <xs:extension base="${type.generalization.namespacePrefix}:$type.generalization.name"> + <xs:complexContent> + <xs:extension base="$webServiceUtils.getPkgAbbr($type.generalization.package,$pkg):$type.generalization.name"> #set ($tab=" ") #else #set ($tab="") @@ -368,7 +368,7 @@ #else #set ($use = "") #end -## <!-- $attribute.name type=$attribute.getterSetterTypeName packageName=$attribute.packageName typeName=$attribute.fullyQualifiedName typeNameMdl=$attribute.getFullyQualifiedName(false) schemaType=$type.schemaType default=$attribute.defaultValuePresent isMany=$isMany --> +##$tab <!-- $attribute.name schemaType=$attributeType.schemaType type=$attributeType typeName=$attribute.fullyQualifiedName schemaType=$type.schemaType --> $tab <xs:attribute name="$attribute.name"#if (!$attribute.hasStereotype("Validation")) type="$attributeType.schemaType"#end${use}> #renderRestrictions($attribute, $attributeType.schemaType) #if ($stringUtils.isNotBlank($attribute.getDocumentation("", 9999, false))) Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl 2011-05-27 18:26:59 UTC (rev 15095) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/wsdl/wrapped-wsdl.vsl 2011-05-27 18:27:30 UTC (rev 15096) @@ -12,7 +12,7 @@ <!-- WSDL Types --> <wsdl:types> - <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" + <xs:schema attributeFormDefault="$service.package.attributeFormDefault.toLowerCase()" elementFormDefault="$service.package.elementFormDefault.toLowerCase()" ## <xs:schema attributeFormDefault="$service.package.attributeFormDefault.toLowerCase()" elementFormDefault="$service.package.elementFormDefault.toLowerCase()" targetNamespace="$service.namespace" xmlns:${service.namespacePrefix}="$service.namespace" Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-06-17 19:21:47
|
Revision: 15110 http://andromda.svn.sourceforge.net/andromda/?rev=15110&view=rev Author: bobfields Date: 2011-06-17 19:21:40 +0000 (Fri, 17 Jun 2011) Log Message: ----------- Change Java and XMLSchema mapping of Decimal and Money from Double to BigDecimal, to be consistent with CXF/JAXB2 Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-06-17 19:21:08 UTC (rev 15109) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-06-17 19:21:40 UTC (rev 15110) @@ -28,7 +28,8 @@ import org.apache.commons.lang.builder.ToStringBuilder; /** - * <p>Java class for ${operation.owner.fullyQualifiedName}.${operation.name}() web service request element declaration. + * Method Request wrapper for webservice request element + * ${operation.owner.fullyQualifiedName}.${operation.name}() */ @XmlAccessorType(XmlAccessType.FIELD) #set ($comma="") Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-06-17 19:21:08 UTC (rev 15109) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-06-17 19:21:40 UTC (rev 15110) @@ -34,7 +34,8 @@ import org.apache.commons.lang.builder.ToStringBuilder; /** - * <p>Java class for web service ${operation.operationName}Response element declaration. + * Method Response wrapper for webservice response element for + * ${operation.owner.fullyQualifiedName}.${operation.name}() * */ @XmlAccessorType(XmlAccessType.FIELD) Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl 2011-06-17 19:21:08 UTC (rev 15109) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/jaxws-package-xsd.vsl 2011-06-17 19:21:40 UTC (rev 15110) @@ -150,7 +150,7 @@ <xs:complexType> <xs:sequence> ## <!-- $type $operation.returnType.name $operation.returnType $operation.returnType.schemaType --> - <xs:element name="$returnName" type="$type"${maxOccurs}> + <xs:element name="$returnName" type="$type"${minOccurs}${maxOccurs}> ## JAXB does not bind wrapped types properly - always primitive if no custimization, always wrapped if customization #if ($operation.returnType.booleanType && $operation.returnType.wrappedPrimitive && $stringUtils.isNotBlank($XMLBooleanAdapter)) <xs:annotation><xs:appinfo><jxb:property><jxb:baseType> @@ -265,9 +265,11 @@ <!-- ValueObject $type.fullyQualifiedName --> #end #if ($type.hasStereotype("ValueObject") || $webFault) +#if ($type.abstract)#set ($abstract=' abstract="true"')#else#set ($abstract='')#end +#if ($type.leaf)#set ($final=' final="true"')#else#set ($final='')#end ## <!-- WebFault=$type.hasStereotype("WebFault") Exception=$type.hasStereotype("Exception") ApplicationException=$type.hasStereotype("ApplicationException") UnexpectedException=$type.hasStereotype("UnexpectedException") --> - <xs:element name="$typeName" type="impl:$typeName" /> - <xs:complexType name="$typeName"> + <xs:element name="$typeName" type="impl:$typeName"$abstract$final/> + <xs:complexType name="$typeName"$abstract$final> #if ($stringUtils.isNotBlank($type.getDocumentation("", 9999, false))) <xs:annotation><xs:documentation> $stringUtils.replaceChars($type.getDocumentation(" ", 100, false), "\"'&<>", "") Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bob...@us...> - 2011-11-04 19:16:33
|
Revision: 15195 http://andromda.svn.sourceforge.net/andromda/?rev=15195&view=rev Author: bobfields Date: 2011-11-04 19:16:26 +0000 (Fri, 04 Nov 2011) Log Message: ----------- Integration test fix to allow for null return. XML double -> Double customized mapping. Modified Paths: -------------- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2011-11-04 19:14:59 UTC (rev 15194) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/CXFTestClient.java.vsl 2011-11-04 19:16:26 UTC (rev 15195) @@ -37,6 +37,7 @@ public ${service.name}WSITCase() { super(); + this.setName("${service.name}WSITCase"); } /* @@ -160,7 +161,7 @@ ## throws $operation.exceptionList ##end { - System.out.println("Starting test: ${operation.name} for " + this.getName() + " for " + "${service.name}Client"); + System.out.println("Starting test: ${operation.name} for " + this.getName()); // TestCase.setUp and tearDown methods for each individual service method test #set ($inputType = "${service.packageName}.$stringUtils.capitalize($operation.name)") ${inputType}Impl.${operation.name}SetUp(); @@ -219,10 +220,22 @@ #set ($securityClassName = "${webServiceUtils.getPackageName($securityNamespace)}.$securityElementName") ${comma} new ${securityClassName}() // WSSecurity securityElementName #end - ); - System.out.println(" Result = " + ${operation.operationName}Response#if (!$operation.returnType.primitive && !$operation.many).toString()#end); + ); +#if ($operation.returnType.primitive) + System.out.println(" Result = " + ${operation.operationName}Response); #else - try { + if (${operation.operationName}Response==null) + { + System.out.println("${operation.operationName}Response Result was valid and null"); + } + else + { + System.out.println(" Result = " + ${operation.operationName}Response.toString()); + } +#end +#else + try + { client.${operation.name}( #set ($comma = "") #foreach ($argument in $operation.arguments) @@ -260,7 +273,7 @@ } catch (Exception ex) { - System.out.println("${service.name} port.${operation.name}" + " threw exception " + ex); + System.out.println("${service.name} client.${operation.name}" + " threw exception " + ex); #if ($operation.exceptions.empty) throw new junit.framework.AssertionFailedError(ex.toString()); #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2011-11-04 19:14:59 UTC (rev 15194) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/cxf/jaxb_bindings.xml.vsl 2011-11-04 19:16:26 UTC (rev 15195) @@ -207,15 +207,15 @@ #end #end #if ($stringUtils.isNotBlank($XMLDecimalAdapter)) -#if ($webServiceUtils.getTypeMapping($service.languageMappings, "Decimal").equals("Decimal") || $webServiceUtils.getTypeMapping($service.languageMappings, "Decimal").equals("java.lang.Decimal")) +#if ($webServiceUtils.getTypeMapping($service.languageMappings, "Decimal").equals("Double") || $webServiceUtils.getTypeMapping($service.languageMappings, "Decimal").equals("java.lang.Double")) <!-- Default XJC binding is BigInteger, must match java cartridge mapping --> #if ($cxfVersion.startsWith("2.0")) <!-- Requires custom developed datatype bindings --> - <!--xjc:javaType xmlType="xs:decimal" name="Decimal" + <!--xjc:javaType xmlType="xs:decimal" name="Double" parseMethod="com.xxx.DatatypeConverter.parseDecimal" printMethod="com.xxx.DatatypeConverter.printDecimal"/--> #else - <xjc:javaType xmlType="xs:decimal" name="Decimal" adapter="$XMLDecimalAdapter"/> + <xjc:javaType xmlType="xs:decimal" name="Double" adapter="$XMLDecimalAdapter"/> #end #end #end Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-11-04 19:14:59 UTC (rev 15194) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodRequest.java.vsl 2011-11-04 19:16:26 UTC (rev 15195) @@ -61,10 +61,10 @@ /** $parameter.getDocumentation(" * ") */ -#if (($paramType.equals("DateTime") && $stringUtils.isNotBlank(${XMLDateTimeAdapter})) || ($paramType.equals("Time") && $stringUtils.isNotBlank(${XMLTimeAdapter}))|| ($paramType.equals("Date") && $stringUtils.isNotBlank(${XMLDateAdapter}))|| ($paramType.equals("Integer") && $stringUtils.isNotBlank(${XMLIntegerAdapter}))|| ($paramType.equals("Decimal") && $stringUtils.isNotBlank(${XMLDecimalAdapter}))|| ($paramType.equals("Boolean") && $stringUtils.isNotBlank(${XMLBooleanAdapter}))) +#if (($paramType.equals("DateTime") && $stringUtils.isNotBlank(${XMLDateTimeAdapter})) || ($paramType.equals("Time") && $stringUtils.isNotBlank(${XMLTimeAdapter}))|| ($paramType.equals("Date") && $stringUtils.isNotBlank(${XMLDateAdapter}))|| ($paramType.equals("Integer") && $stringUtils.isNotBlank(${XMLIntegerAdapter}))|| ($paramType.equals("Double") && $stringUtils.isNotBlank(${XMLDecimalAdapter}))|| ($paramType.equals("Boolean") && $stringUtils.isNotBlank(${XMLBooleanAdapter}))) ##set ($elementType=", type=String.class") @javax.xml.bind.annotation.XmlElement(#if ($parameter.required)required = true,#end type = String.class) - @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(#if ($paramType.equals("DateTime"))${XMLDateTimeAdapter}#elseif($paramType.equals("Time"))${XMLTimeAdapter}#elseif($paramType.equals("Date"))${XMLDateAdapter}#elseif($paramType.equals("Integer"))${XMLIntegerAdapter}#elseif($paramType.equals("Decimal"))${XMLDecimalAdapter}#elseif($paramType.equals("Boolean"))${XMLBooleanAdapter}#end.class) + @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(#if ($paramType.equals("DateTime"))${XMLDateTimeAdapter}#elseif($paramType.equals("Time"))${XMLTimeAdapter}#elseif($paramType.equals("Date"))${XMLDateAdapter}#elseif($paramType.equals("Integer"))${XMLIntegerAdapter}#elseif($paramType.equals("Double"))${XMLDecimalAdapter}#elseif($paramType.equals("Boolean"))${XMLBooleanAdapter}#end.class) ##set ($schemaType=$operation.returnType.schemaType.substring(0,9)) @javax.xml.bind.annotation.XmlSchemaType(name = "$parameter.type.schemaType.substring(3)") #else Modified: trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl =================================================================== --- trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-11-04 19:14:59 UTC (rev 15194) +++ trunk/cartridges/andromda-webservice/src/main/resources/templates/webservice/jaxws/MethodResponse.java.vsl 2011-11-04 19:16:26 UTC (rev 15195) @@ -85,9 +85,9 @@ #end #set ($setOperation="set$stringUtils.capitalize($returnName)") ##set ($type=$stringUtils.substring($operation.returnType.name, 0, 9)) -#if (($returnType.equals("DateTime") && $stringUtils.isNotBlank(${XMLDateTimeAdapter})) || ($returnType.equals("Time") && $stringUtils.isNotBlank(${XMLTimeAdapter}))|| ($returnType.equals("Date") && $stringUtils.isNotBlank(${XMLDateAdapter}))|| ($returnType.equals("Integer") && $stringUtils.isNotBlank(${XMLIntegerAdapter}))|| ($returnType.equals("Decimal") && $stringUtils.isNotBlank(${XMLDecimalAdapter}))|| ($returnType.equals("Boolean") && $stringUtils.isNotBlank(${XMLBooleanAdapter}))) +#if (($returnType.equals("DateTime") && $stringUtils.isNotBlank(${XMLDateTimeAdapter})) || ($returnType.equals("Time") && $stringUtils.isNotBlank(${XMLTimeAdapter}))|| ($returnType.equals("Date") && $stringUtils.isNotBlank(${XMLDateAdapter}))|| ($returnType.equals("Integer") && $stringUtils.isNotBlank(${XMLIntegerAdapter}))|| ($returnType.equals("Double") && $stringUtils.isNotBlank(${XMLDecimalAdapter}))|| ($returnType.equals("Boolean") && $stringUtils.isNotBlank(${XMLBooleanAdapter}))) @XmlElement(name = "$returnName", type = String.class, required = true) - @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(#if ($returnType.equals("DateTime"))${XMLDateTimeAdapter}#elseif($returnType.equals("Time"))${XMLTimeAdapter}#elseif($returnType.equals("Date"))${XMLDateAdapter}#elseif($returnType.equals("Integer"))${XMLIntegerAdapter}#elseif($returnType.equals("Decimal"))${XMLDecimalAdapter}#elseif($returnType.equals("Boolean"))${XMLBooleanAdapter}#end.class) + @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(#if ($returnType.equals("DateTime"))${XMLDateTimeAdapter}#elseif($returnType.equals("Time"))${XMLTimeAdapter}#elseif($returnType.equals("Date"))${XMLDateAdapter}#elseif($returnType.equals("Integer"))${XMLIntegerAdapter}#elseif($returnType.equals("Double"))${XMLDecimalAdapter}#elseif($returnType.equals("Boolean"))${XMLBooleanAdapter}#end.class) ## Remove the beginning xs: from schema type @javax.xml.bind.annotation.XmlSchemaType(name = "$operation.returnType.schemaType.substring(3)") #else Modified: trunk/cartridges/andromda-webservice/src/test/expected/cartridge-outputCXF.zip =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |