Author: ips Date: Wed Jan 26 11:05:26 2005 New Revision: 126527 URL: http://svn.apache.org/viewcvs?view=rev&rev=126527 Log: changed gen system to allow per portType inclusion of text in generated resource init()
Added: incubator/apollo/trunk/src/templates/ScheduledResourceTermination-AbstractResource_init.txt Removed: incubator/apollo/trunk/src/templates/ResourceIntf.vm Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/PortType2JavaInfo.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetMultipleResourcePropertiesPortType2JavaInfo.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetResourcePropertyPortType2JavaInfo.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ImmediateResourceTerminationPortType2JavaInfo.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/QueryResourcePropertiesPortType2JavaInfo.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ScheduledResourceTerminationPortType2JavaInfo.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/SetResourcePropertiesPortType2JavaInfo.java incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java incubator/apollo/trunk/src/templates/AbstractResource.vm incubator/apollo/trunk/src/templates/Resource.vm Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/PortType2JavaInfo.java Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/PortType2JavaInfo.java?view=diff&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/PortType2JavaInfo.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/PortType2JavaInfo.java&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/PortType2JavaInfo.java (original) +++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/PortType2JavaInfo.java Wed Jan 26 11:05:26 2005 @@ -22,17 +22,74 @@ * * @author Ian Springer (ian DOT springer AT hp DOT com) */ -public interface PortType2JavaInfo +public abstract class PortType2JavaInfo { - QName getName(); + /** + * Returns the name of the portType that this object corresponds to. + * + * @return the name of the portType that this object corresponds to + */ + public abstract QName getName(); - String getResourceInterfaceName(); + /** + * TODO + * + * @return + */ + public String getResourceInterfaceName() + { + return null; + } - String getServiceInterfaceName(); + /** + * TODO + * + * @return + */ + public String getServiceInterfaceName() + { + return null; + } - String getResourceTemplateFileName(); + /** + * TODO + * + * @return + */ + public String getResourceTemplateFileName() + { + return null; + } - String getServiceTemplateFileName(); + /** + * TODO + * + * @return + */ + public String getServiceTemplateFileName() + { + return null; + } + + /** + * Returns the name of a file containing text to be inserted into the body of the abstract resource's init() method. + * + * @return the name of a file containing text to be inserted into the body of the abstract resource's init() method + */ + public String getAbstractResourceInitMethodIncludeLocation() + { + return null; + } + + /** + * Returns the name of a file containing text to be inserted into the body of the concrete resource's init() method. + * + * @return the name of a file containing text to be inserted into the body of the concrete resource's init() method + */ + public String getResourceInitMethodIncludeLocation() + { + return null; + } } 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&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/Wsdl2Java.java&r2=126527 ============================================================================== --- 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 Jan 26 11:05:26 2005 @@ -395,6 +395,14 @@ { props.addResourceIncludeFile( ptInfo.getResourceTemplateFileName() ); } + if ( ptInfo.getResourceInitMethodIncludeLocation() != null ) + { + props.addResourceInitIncludeLocation( ptInfo.getResourceInitMethodIncludeLocation() ); + } + if ( ptInfo.getAbstractResourceInitMethodIncludeLocation() != null ) + { + props.addAbstractResourceInitIncludeLocation( ptInfo.getAbstractResourceInitMethodIncludeLocation() ); + } if ( ptInfo.getServiceTemplateFileName() != null ) { props.addServiceIncludeFile( ptInfo.getServiceTemplateFileName() ); @@ -463,14 +471,15 @@ private void initVelocity() throws Exception { + // configure to use Commons Logging for logging Velocity.setProperty( RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, CommonsLogLogSystem.class.getName() ); + // configure to use classpath-based resource loader Velocity.addProperty( RuntimeConstants.RESOURCE_LOADER, "classpath" ); String resourceLoaderBaseKey = "classpath." + RuntimeConstants.RESOURCE_LOADER + "."; Velocity.setProperty( resourceLoaderBaseKey + "class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader" ); Velocity.setProperty( resourceLoaderBaseKey + "cache", "false" ); Velocity.setProperty( resourceLoaderBaseKey + "modificationCheckInterval", "2" ); Velocity.init(); - Velocity.s } private void processTemplate( VelocityContext context, Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetMultipleResourcePropertiesPortType2JavaInfo.java Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetMultipleResourcePropertiesPortType2JavaInfo.java?view=diff&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetMultipleResourcePropertiesPortType2JavaInfo.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetMultipleResourcePropertiesPortType2JavaInfo.java&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetMultipleResourcePropertiesPortType2JavaInfo.java (original) +++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetMultipleResourcePropertiesPortType2JavaInfo.java Wed Jan 26 11:05:26 2005 @@ -25,7 +25,7 @@ * * @author Ian Springer (ian DOT springer AT hp DOT com) */ -public class GetMultipleResourcePropertiesPortType2JavaInfo implements PortType2JavaInfo +public class GetMultipleResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo { public QName getName() @@ -33,24 +33,14 @@ return GetMultipleResourcePropertiesPortType.NAME; } - public String getResourceInterfaceName() - { - return null; - } - public String getServiceInterfaceName() { return GetMultipleResourcePropertiesPortType.class.getName(); } - public String getResourceTemplateFileName() - { - return null; - } - public String getServiceTemplateFileName() { return "templates/GetMultiple.txt"; - } + } } Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetResourcePropertyPortType2JavaInfo.java Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetResourcePropertyPortType2JavaInfo.java?view=diff&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetResourcePropertyPortType2JavaInfo.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetResourcePropertyPortType2JavaInfo.java&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetResourcePropertyPortType2JavaInfo.java (original) +++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/GetResourcePropertyPortType2JavaInfo.java Wed Jan 26 11:05:26 2005 @@ -26,7 +26,7 @@ * * @author Ian Springer (ian DOT springer AT hp DOT com) */ -public class GetResourcePropertyPortType2JavaInfo implements PortType2JavaInfo +public class GetResourcePropertyPortType2JavaInfo extends PortType2JavaInfo { public QName getName() Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ImmediateResourceTerminationPortType2JavaInfo.java Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ImmediateResourceTerminationPortType2JavaInfo.java?view=diff&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ImmediateResourceTerminationPortType2JavaInfo.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ImmediateResourceTerminationPortType2JavaInfo.java&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ImmediateResourceTerminationPortType2JavaInfo.java (original) +++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ImmediateResourceTerminationPortType2JavaInfo.java Wed Jan 26 11:05:26 2005 @@ -28,30 +28,22 @@ * * @author Ian Springer (ian DOT springer AT hp DOT com) */ -public class ImmediateResourceTerminationPortType2JavaInfo implements PortType2JavaInfo +public class ImmediateResourceTerminationPortType2JavaInfo extends PortType2JavaInfo { + public QName getName() { return ImmediateResourceTerminationPortType.NAME; } - public String getResourceInterfaceName() - { - return null; - } - public String getServiceInterfaceName() { return ImmediateResourceTerminationPortType.class.getName(); } - public String getResourceTemplateFileName() - { - return null; - } - public String getServiceTemplateFileName() { return "templates/ImmediateResourceTermination.txt"; } + } Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/QueryResourcePropertiesPortType2JavaInfo.java Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/QueryResourcePropertiesPortType2JavaInfo.java?view=diff&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/QueryResourcePropertiesPortType2JavaInfo.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/QueryResourcePropertiesPortType2JavaInfo.java&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/QueryResourcePropertiesPortType2JavaInfo.java (original) +++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/QueryResourcePropertiesPortType2JavaInfo.java Wed Jan 26 11:05:26 2005 @@ -25,7 +25,7 @@ * * @author Ian Springer (ian DOT springer AT hp DOT com) */ -public class QueryResourcePropertiesPortType2JavaInfo implements PortType2JavaInfo +public class QueryResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo { public QName getName() @@ -33,19 +33,9 @@ return QueryResourcePropertiesPortType.NAME; } - public String getResourceInterfaceName() - { - return null; - } - public String getServiceInterfaceName() { return QueryResourcePropertiesPortType.class.getName(); - } - - public String getResourceTemplateFileName() - { - return null; } public String getServiceTemplateFileName() Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ScheduledResourceTerminationPortType2JavaInfo.java Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ScheduledResourceTerminationPortType2JavaInfo.java?view=diff&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ScheduledResourceTerminationPortType2JavaInfo.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ScheduledResourceTerminationPortType2JavaInfo.java&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ScheduledResourceTerminationPortType2JavaInfo.java (original) +++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/ScheduledResourceTerminationPortType2JavaInfo.java Wed Jan 26 11:05:26 2005 @@ -26,8 +26,9 @@ * * @author Ian Springer (ian DOT springer AT hp DOT com) */ -public class ScheduledResourceTerminationPortType2JavaInfo implements PortType2JavaInfo +public class ScheduledResourceTerminationPortType2JavaInfo extends PortType2JavaInfo { + public QName getName() { return ScheduledResourceTerminationPortType.NAME; @@ -52,4 +53,10 @@ { return "templates/SetTerminationTime.txt"; } + + public String getAbstractResourceInitMethodIncludeLocation() + { + return "templates/ScheduledResourceTermination-AbstractResource_init.txt"; + } + } Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/SetResourcePropertiesPortType2JavaInfo.java Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/SetResourcePropertiesPortType2JavaInfo.java?view=diff&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/SetResourcePropertiesPortType2JavaInfo.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/SetResourcePropertiesPortType2JavaInfo.java&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/SetResourcePropertiesPortType2JavaInfo.java (original) +++ incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/SetResourcePropertiesPortType2JavaInfo.java Wed Jan 26 11:05:26 2005 @@ -25,7 +25,7 @@ * * @author Ian Springer (ian DOT springer AT hp DOT com) */ -public class SetResourcePropertiesPortType2JavaInfo implements PortType2JavaInfo +public class SetResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo { public QName getName() @@ -33,19 +33,9 @@ return SetResourcePropertiesPortType.NAME; } - public String getResourceInterfaceName() - { - return null; - } - public String getServiceInterfaceName() { return SetResourcePropertiesPortType.class.getName(); - } - - public String getResourceTemplateFileName() - { - return null; } public String getServiceTemplateFileName() 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&rev=126527&p1=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java&r1=126526&p2=incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/velocity/ServiceProperties.java&r2=126527 ============================================================================== --- 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 Jan 26 11:05:26 2005 @@ -7,8 +7,9 @@ import java.util.Map; import java.util.ArrayList; - /** + * A bean that contains all properties that are needed by our Velocity templates. + * * @author Sal Campana */ public class ServiceProperties @@ -26,6 +27,8 @@ QName m_resourcekey; List m_resourceIncludes = new ArrayList(); List m_serviceIncludes = new ArrayList(); + List m_resourceInitIncludes = new ArrayList(); + List m_abstractResourceInitIncludes = new ArrayList(); private boolean m_hasProperties; private String m_endpointServiceName; private String m_endpointURL; @@ -244,4 +247,25 @@ { return m_resourceDef.implementsResourceCapability(capability); } + + public List getResourceInitIncludeLocations() + { + return m_resourceInitIncludes; + } + + public void addResourceInitIncludeLocation( String resourceInitInclude ) + { + m_resourceInitIncludes.add( resourceInitInclude ); + } + + public List getAbstractResourceInitIncludeLocations() + { + return m_abstractResourceInitIncludes; + } + + public void addAbstractResourceInitIncludeLocation( String abstractResourceInitInclude ) + { + m_abstractResourceInitIncludes.add( abstractResourceInitInclude ); + } + } Modified: incubator/apollo/trunk/src/templates/AbstractResource.vm Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/AbstractResource.vm?view=diff&rev=126527&p1=incubator/apollo/trunk/src/templates/AbstractResource.vm&r1=126526&p2=incubator/apollo/trunk/src/templates/AbstractResource.vm&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/templates/AbstractResource.vm (original) +++ incubator/apollo/trunk/src/templates/AbstractResource.vm Wed Jan 26 11:05:26 2005 @@ -4,15 +4,14 @@ #set( $ScheduledResourceTerminationResource = $generated.IsScheduledResourceTerminationResource) #set( $Resource = $generated.IsResource) #set( $PropertiesResource = $generated.IsPropertiesResource) +#set( $propDoc = $generated.propertyDocumentName) package $package; - /** * An abstract $serviceName WS-Resource. * <p/> - * NOTE: This class is generated and is NOT meant to be modified. - * + * NOTE: This class is generated and is NOT meant to be modified. */ public abstract class Abstract${serviceName}Resource #if($implements) implements ${implements} #end { @@ -24,16 +23,64 @@ #if($generated.hasProperties()) /** - * The ResourceProperty Set containing the resource props. + * The set of properties associated with this resource. */ protected org.apache.ws.resource.properties.ResourcePropertySet m_propSet; #end - #parse( "templates/ResourceIntf.vm" ) + /** + * DOCUMENT_ME + * + * @param id DOCUMENT_ME + */ + public void setID( Object id ) + { + if ( m_id != null ) + { + throw new IllegalStateException( "This resource's ID has already been set." ); + } + + try + { + m_id = (String) id; + } + catch ( ClassCastException cce ) + { + throw new IllegalArgumentException( "Specified ID is not a String." ); + } + } + + /** + * DOCUMENT_ME + * + * @return DOCUMENT_ME + */ + public Object getID() + { + return m_id; + } + + public void destroy() + { + return; + } + + public void init() + { + + #if($generated.hasProperties()) + $propDoc propsDoc = ${propDoc}.Factory.newInstance(); + m_propSet = new org.apache.ws.resource.properties.impl.XmlBeansResourcePropertySet( propsDoc ); + #end + + #foreach( $includeFile in $generated.AbstractResourceInitIncludeLocations ) + #include( $includeFile ) + #end + + } #foreach( $includeFile in $generated.ResourceIncludeFiles ) #include( $includeFile ) - #end } Modified: incubator/apollo/trunk/src/templates/Resource.vm Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/Resource.vm?view=diff&rev=126527&p1=incubator/apollo/trunk/src/templates/Resource.vm&r1=126526&p2=incubator/apollo/trunk/src/templates/Resource.vm&r2=126527 ============================================================================== --- incubator/apollo/trunk/src/templates/Resource.vm (original) +++ incubator/apollo/trunk/src/templates/Resource.vm Wed Jan 26 11:05:26 2005 @@ -6,19 +6,24 @@ /** * A $serviceName WS-Resource. * <p/> - * NOTE: This class is generated. + * NOTE: This class is generated but IS meant to be modified. */ public class ${serviceName}Resource extends Abstract${serviceName}Resource { /** - * DOCUMENT_ME + * Initializes this resource's state (properties, etc.). */ public void init() { super.init(); - //todo init resource properties and setup callbacks + + #foreach( $includeFile in $generated.ResourceInitIncludeLocations ) + #include( $includeFile ) + #end + + // TODO: init all custom properties - this includes setting values, registering callbacks, and adding prop value changed topics } } Deleted: /incubator/apollo/trunk/src/templates/ResourceIntf.vm Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/ResourceIntf.vm?view=auto&rev=126526 ============================================================================== Added: incubator/apollo/trunk/src/templates/ScheduledResourceTermination-AbstractResource_init.txt Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/ScheduledResourceTermination-AbstractResource_init.txt?view=auto&rev=126527 ============================================================================== --- (empty file) +++ incubator/apollo/trunk/src/templates/ScheduledResourceTermination-AbstractResource_init.txt Wed Jan 26 11:05:26 2005 @@ -0,0 +1,12 @@ + // initialize wsrl:CurrentTime property + org.apache.ws.resource.properties.ResourceProperty prop = m_propSet.get( org.apache.ws.resource.lifetime.v1_2.porttype.ScheduledResourceTerminationPortType.PROP_QNAME_CURRENT_TIME ); + org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.CurrentTimeDocument currTime = org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.CurrentTimeDocument.Factory.newInstance(); + currTime.setCurrentTime( java.util.Calendar.getInstance() ); + prop.add( currTime ); + prop.setCallback( new org.apache.ws.resource.lifetime.callback.CurrentTimeCallback() ); + + // initialize wsrl:TerminationTime property + prop = m_propSet.get( org.apache.ws.resource.lifetime.v1_2.porttype.ScheduledResourceTerminationPortType.PROP_QNAME_TERMINATION_TIME ); + org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.TerminationTimeDocument termTime = org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.TerminationTimeDocument.Factory.newInstance(); + termTime.setNilTerminationTime(); + --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
