Author: scamp
Date: Wed Apr 13 11:11:54 2005
New Revision: 161192
URL: http://svn.apache.org/viewcvs?view=rev&rev=161192
Log:
APOLLO-7
Added generation of initial Resource.init() resource property code/
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/ResourceDefinitionImpl.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java
incubator/apollo/trunk/src/templates/Home.vm
incubator/apollo/trunk/src/templates/Resource.vm
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/ResourceDefinitionImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/ResourceDefinitionImpl.java?view=diff&r1=161191&r2=161192
==============================================================================
---
incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/ResourceDefinitionImpl.java
(original)
+++
incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/ResourceDefinitionImpl.java
Wed Apr 13 11:11:54 2005
@@ -39,16 +39,14 @@
private Port m_port;
private String m_name;
private String m_endpointURL;
- private QName m_serviceName;
- public ResourceDefinitionImpl(Definition def, javax.wsdl.Port port, QName
serviceName, URL baseUrl)
+ public ResourceDefinitionImpl(Definition def, javax.wsdl.Port port, URL
baseUrl)
throws InvalidWsrfWsdlException
{
super( def, getResourcePortType( port ), baseUrl);
m_port = port;
m_endpointURL = extractEndpointURL( m_port );
m_name = m_port.getName();
- m_serviceName = serviceName;
}
@@ -119,8 +117,4 @@
return endpointURL;
}
- public QName getServiceName()
- {
- return m_serviceName;
- }
}
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java?view=diff&r1=161191&r2=161192
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
(original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java
Wed Apr 13 11:11:54 2005
@@ -26,7 +26,6 @@
import org.apache.velocity.app.Velocity;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.ws.resource.ResourceDefinition;
-import org.apache.ws.resource.InvalidWsrfWsdlException;
import org.apache.ws.resource.i18n.Keys;
import org.apache.ws.resource.i18n.MessagesImpl;
import org.apache.ws.resource.impl.ResourceDefinitionImpl;
@@ -40,8 +39,8 @@
import org.apache.xmlbeans.impl.tool.SchemaCompiler;
import javax.wsdl.Definition;
-import javax.wsdl.Service;
import javax.wsdl.Port;
+import javax.wsdl.Service;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;
@@ -59,8 +58,6 @@
import java.util.Map;
import java.util.StringTokenizer;
-import com.ibm.wsdl.extensions.soap.SOAPAddressImpl;
-
/**
* Generates Java Web service types and skeletons from a WSRF WSDL.
*
@@ -205,7 +202,7 @@
while (iterator.hasNext())
{
Port port = (Port) iterator.next();
- ResourceDefinition resourceDef = new ResourceDefinitionImpl(
def, port, service.getQName(), wsdlFile.toURL());
+ ResourceDefinition resourceDef = new ResourceDefinitionImpl(
def, port, wsdlFile.toURL());
File serviceDir = new File( m_outputDir, resourceDef.getName()
);
System.out.println( "Processing WSRF WSDL port \"" +
resourceDef.getName() + "\"..." );
processTemplates( resourceDef, wsdlFile, serviceDir );
@@ -431,14 +428,17 @@
props.setNamespaceVersionHolder(org.apache.ws.resource.properties.v2004_11.impl.NamespaceVersionHolderImpl.class);
}
- /** These props are for JIRA Apollo-4 and could be added to context obj
+ /**
+ * These props are for JIRA Apollo-4 and could be added to context obj
* The question is whether the service name here should be the real
wsdl
* service name or the service name as we use it...
- * **/
+ **/
String portName = resourceDef.getPort().getName();
+ props.setPortName(portName);
QName portTypeQName = resourceDef.getPortType().getQName();
- QName wsdlServiceName =
((ResourceDefinitionImpl)resourceDef).getServiceName();
-
+ props.setPortTypeQName(portTypeQName);
+ QName serviceQname = new QName(targetNamespace,serviceName);
+ props.setServiceQName(serviceQname);
return props;
}
Modified:
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java?view=diff&r1=161191&r2=161192
==============================================================================
---
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java
(original)
+++
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java
Wed Apr 13 11:11:54 2005
@@ -1,6 +1,7 @@
package org.apache.ws.resource.tool.velocity;
import org.apache.ws.resource.ResourceDefinition;
+import org.apache.ws.util.XmlBeanNameUtils;
import javax.xml.namespace.QName;
import java.util.ArrayList;
@@ -39,6 +40,9 @@
private ResourceDefinition m_resourceDef;
private String m_namespaceVersionHolder;
public static final String SPEC_NAMESPACE_MEMBER_NAME =
"SPEC_NAMESPACE_SET";
+ private QName m_serviceQName;
+ private String m_portName;
+ private QName m_portTypeQName;
public ServiceProperties(ResourceDefinition resourceDef)
{
@@ -204,15 +208,15 @@
{
this.m_resourcekey = resourcekey;
}
-
- public boolean hasProperties()
+
+ public void setHasProperties(boolean hasProps)
{
- return m_hasProperties;
+ m_hasProperties = hasProps;
}
- public void setHasProperties(boolean hasProps)
+ public boolean getHasProperties()
{
- m_hasProperties = hasProps;
+ return m_hasProperties;
}
public void setEndpointServiceName(String serviceName)
@@ -282,5 +286,40 @@
String className = namespaceValueHolder.getName();
m_namespaceVersionHolder = "public static final "+className+"
"+SPEC_NAMESPACE_MEMBER_NAME+" = new " + className + "();";
}
+ }
+
+ public void setPortName(String portName)
+ {
+ m_portName = portName;
+ }
+
+ public void setPortTypeQName(QName portTypeQName)
+ {
+ m_portTypeQName = portTypeQName;
+ }
+
+ public void setServiceQName(QName serviceQname)
+ {
+ m_serviceQName = serviceQname;
+ }
+
+ public String getPortName()
+ {
+ return m_portName;
+ }
+
+ public QName getPortTypeQName()
+ {
+ return m_portTypeQName;
+ }
+
+ public QName getServiceQName()
+ {
+ return m_serviceQName;
+ }
+
+ public String getDocumentElementXmlBeanClassName(QName prop_qname)
+ {
+ return XmlBeanNameUtils.getDocumentElementXmlBeanClassName(prop_qname);
}
}
Modified: incubator/apollo/trunk/src/templates/Home.vm
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/Home.vm?view=diff&r1=161191&r2=161192
==============================================================================
--- incubator/apollo/trunk/src/templates/Home.vm (original)
+++ incubator/apollo/trunk/src/templates/Home.vm Wed Apr 13 11:11:54 2005
@@ -1,5 +1,7 @@
#set( $package = $generated.packageName )
-#set( $serviceName = $generated.ServiceName )
+#set( $capitalServiceName = $generated.ServiceName )
+#set( $lowerCaseServiceName = $generated.EndpointServiceName )
+
package $package;
import org.apache.ws.resource.Resource;
@@ -13,13 +15,20 @@
import java.io.Serializable;
/**
- * Home for $serviceName WS-Resources.
+ * Home for $capitalServiceName WS-Resources.
*/
-public class ${serviceName}Home
+public class ${capitalServiceName}Home
extends AbstractResourceHome
implements Serializable
{
+ /** The service name associated with this home. **/
+ private static final String SERVICE_NAME = "${lowerCaseServiceName}";
+
+ /** A constant for the JNDI Lookup name for this home. **/
+ public static final String HOME_LOCATION =
+ org.apache.ws.resource.JndiConstants.CONTEXT_NAME_SERVICES + "/" +
SERVICE_NAME + "/" + org.apache.ws.resource.JndiConstants.ATOMIC_NAME_HOME;
+
/**
*
* @param resourceContext DOCUMENT_ME
Modified: incubator/apollo/trunk/src/templates/Resource.vm
URL:
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/Resource.vm?view=diff&r1=161191&r2=161192
==============================================================================
--- incubator/apollo/trunk/src/templates/Resource.vm (original)
+++ incubator/apollo/trunk/src/templates/Resource.vm Wed Apr 13 11:11:54 2005
@@ -1,6 +1,13 @@
#set( $package = $generated.packageName)
#set( $serviceName = $generated.serviceName)
#set( $namespaceVersionHolder = $generated.NamespaceVersionHolder)
+#set( $endpointServiceName = $generated.ServiceQName)
+#set( $portName = $generated.PortName)
+#set( $portTypeName = $generated.PortTypeQName)
+
+
+
+
package $package;
@@ -13,8 +20,17 @@
{
- #if($namespaceVersionHolder)
+ /** The service endpoint name as registered with the SOAP Platform. This
is useful for building EPR's. **/
+ public static final javax.xml.namespace.QName SERVICE_NAME =
javax.xml.namespace.QName.valueOf("${endpointServiceName}");
+
+ /** The management PortType associated with this resource. This is useful
for building EPR's.**/
+ public static final javax.xml.namespace.QName PORT_TYPE =
javax.xml.namespace.QName.valueOf("${portTypeName}");
+
+ /**The WSDL Port name associated with the resource. This is useful for
building EPR's.**/
+ public static final String PORT_NAME = "${portName}";
+
+ #if($namespaceVersionHolder)
/**
* A NamespaceVerionHolder which maintains the QNames of Spec Wsdls
*/
@@ -26,13 +42,30 @@
*/
public void init()
{
- super.init();
-
- #foreach( $includeFile in $generated.ResourceInitIncludeLocations )
- #parse( $includeFile )
- #end
+ super.init();
+
+ #if($generated.HasProperties())
+ /**
+ * The ResourcePropertySet which contains all the defined
ResourceProperties
+ */
+ org.apache.ws.resource.properties.ResourcePropertySet
resourcePropertySet = getResourcePropertySet();
+ ResourceProperty resourceProperty = null;
// TODO: init all custom properties - this includes setting values,
registering callbacks, and adding prop value changed topics
+ #foreach($key in $generated.PropertyMap.keySet())
+ #set( $varName = "$key".toLowerCase() )
+ resourceProperty =
resourcePropertySet.get(${serviceName}PropertyQNames.$key);
+ packagename.{$generated.PropertyMap.get($key).LocalPart}Document
$varName =
packagename.{$generated.PropertyMap.get($key).LocalPart}Document.Factory.newInstance();
+ // TODO: init this document object ...also could call
resourceProperty.setCallback(...); to add a custom callback object for this
property
+ resourceProperty.add($varName);
+ #end
+
+
+ #end
+
+ #foreach( $includeFile in $generated.ResourceInitIncludeLocations )
+ #parse( $includeFile )
+ #end
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]