You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by sc...@apache.org on 2005/03/16 23:22:08 UTC
svn commit: r157817 - in incubator/apollo/trunk: ./
src/java/org/apache/ws/resource/ src/java/org/apache/ws/resource/faults/
src/java/org/apache/ws/resource/impl/
src/java/org/apache/ws/resource/lifetime/
src/java/org/apache/ws/resource/lifetime/impl/ src/site/content/example/
src/site/content/example/requests/
src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/
src/site/content/example/src/test/org/oasisOpen/docs/wsrf/
src/site/content/tutorial/ src/templates/
src/test/org/apache/ws/resource/properties/
Author: scamp
Date: Wed Mar 16 14:22:03 2005
New Revision: 157817
URL: http://svn.apache.org/viewcvs?view=rev&rev=157817
Log:
Added ResourceTermination layer.
Added:
incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/UnsupportedVersionException.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationEvent.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationListener.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/impl/
Removed:
incubator/apollo/trunk/src/site/content/tutorial/wsrf-Interop-2.0-draft-03.wsdl
incubator/apollo/trunk/src/site/content/tutorial/wsrf-Interop-2.0-draft-03.xsd
Modified:
incubator/apollo/trunk/changing versions.txt
incubator/apollo/trunk/src/java/org/apache/ws/resource/Resource.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java
incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ScheduledResourceTerminationResource.java
incubator/apollo/trunk/src/site/content/example/requests/GetMulti.soap
incubator/apollo/trunk/src/site/content/example/requests/GetQueuedJobCount.soap
incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractJobPortResource.java
incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterFactoryResource.java
incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortResource.java
incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortService.java
incubator/apollo/trunk/src/site/content/example/src/test/org/oasisOpen/docs/wsrf/InteropTestCase.java
incubator/apollo/trunk/src/site/content/example/test-build.properties
incubator/apollo/trunk/src/site/content/tutorial/build.xml
incubator/apollo/trunk/src/templates/AbstractResource.vm
incubator/apollo/trunk/src/test/org/apache/ws/resource/properties/SushiResource.java
Modified: incubator/apollo/trunk/changing versions.txt
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/changing%20versions.txt?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/changing versions.txt (original)
+++ incubator/apollo/trunk/changing versions.txt Wed Mar 16 14:22:03 2005
@@ -3,7 +3,7 @@
Please update as things change...
-1. Add Wsdl/schema for generation
+1. Add spec Wsdl/schema for generation
2. Make a set of templates (copy, update, addnew
3. Make a set of porttype infos
4. Make the versioned porttypes
@@ -29,5 +29,7 @@
Wsdl2Java register new porttype infos
ResourceCapabilityImpl.validateOperations add check for new version of ResourceProperties
+
+ResourceTerminationEventImpl
Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/Resource.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/Resource.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/Resource.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/Resource.java Wed Mar 16 14:22:03 2005
@@ -15,6 +15,7 @@
*=============================================================================*/
package org.apache.ws.resource;
+import org.apache.ws.resource.lifetime.ResourceTerminationListener;
/**
@@ -39,7 +40,7 @@
*/
Object getID( );
- /**
+ /**
* The WS-RF runtime system ends the lifecycle of a {@link Resource}
* object by invoking this method.
*/
@@ -51,4 +52,11 @@
*
*/
void init();
+
+ /**
+ * Adds a listener to be invoked when the resource has been terminated.
+ *
+ * @param listener
+ */
+ void addTerminationListener( ResourceTerminationListener listener);
}
Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java Wed Mar 16 14:22:03 2005
@@ -21,6 +21,7 @@
import org.apache.ws.resource.i18n.Keys;
import org.apache.ws.resource.i18n.MessagesImpl;
import org.apache.ws.resource.properties.NamespaceVersionHolder;
+import org.apache.ws.resource.impl.UnsupportedVersionException;
import org.apache.ws.util.XmlBeanNameUtils;
import org.apache.ws.util.XmlBeanUtils;
import org.apache.ws.util.i18n.Messages;
@@ -264,7 +265,7 @@
// TODO
}
}
- else
+ else if ( m_namespaceSet instanceof org.apache.ws.resource.properties.v1_2_draft01.impl.NamespaceVersionHolderImpl )
{
org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSBaseFaults12Draft01.BaseFaultType baseFaultType = (org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSBaseFaults12Draft01.BaseFaultType) baseFaultXBean;
baseFaultType.setTimestamp( m_timestamp );
@@ -302,6 +303,8 @@
// TODO
}
}
+
+ else throw new UnsupportedVersionException(m_namespaceSet);
}
private void updateDetail()
Added: incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/UnsupportedVersionException.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/UnsupportedVersionException.java?view=auto&rev=157817
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/UnsupportedVersionException.java (added)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/impl/UnsupportedVersionException.java Wed Mar 16 14:22:03 2005
@@ -0,0 +1,20 @@
+package org.apache.ws.resource.impl;
+
+import org.apache.ws.resource.properties.NamespaceVersionHolder;
+
+
+/**
+ * An exception to be thrown when a version is unknown...This can be used to help flush out incomplete
+ * version upgrades.
+ *
+ * @author Sal Campana
+ */
+public class UnsupportedVersionException extends RuntimeException
+{
+
+
+ public UnsupportedVersionException(NamespaceVersionHolder namespaces)
+ {
+ super("The NamespaceVersionHolder implementation in " + namespaces.getClass().getPackage().getName() + " is unsupported.");
+ }
+}
Added: incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationEvent.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationEvent.java?view=auto&rev=157817
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationEvent.java (added)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationEvent.java Wed Mar 16 14:22:03 2005
@@ -0,0 +1,30 @@
+package org.apache.ws.resource.lifetime;
+
+import java.util.Calendar;
+
+/**
+ * Interface describing a TerminationNotification of a resource.
+ *
+ * @author Sal Campana
+ */
+public interface ResourceTerminationEvent
+{
+ /**
+ * Returns the termination time.
+ *
+ * minOccurs="1" maxOccurs="1" nillable="true"
+ *
+ * @return The termination time represented as a Calendar instance.
+ */
+ Calendar getTerminationTime();
+
+ /**
+ * Returns the reason for temrination.
+ *
+ * minOccurs="0" maxOccurs="1"
+ *
+ * @return The reason for termination.
+ */
+ Object getReason();
+
+}
Added: incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationListener.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationListener.java?view=auto&rev=157817
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationListener.java (added)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ResourceTerminationListener.java Wed Mar 16 14:22:03 2005
@@ -0,0 +1,18 @@
+package org.apache.ws.resource.lifetime;
+
+
+
+/**
+ * An interface defining the
+ *
+ * @author Sal Campana
+ */
+public interface ResourceTerminationListener
+{
+ /**
+ * A method that is called whenever a particular resource is terminated.
+ *
+ * @param resourceTerminationEvent
+ */
+ void terminationOccurred( ResourceTerminationEvent resourceTerminationEvent );
+}
Modified: incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ScheduledResourceTerminationResource.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ScheduledResourceTerminationResource.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ScheduledResourceTerminationResource.java (original)
+++ incubator/apollo/trunk/src/java/org/apache/ws/resource/lifetime/ScheduledResourceTerminationResource.java Wed Mar 16 14:22:03 2005
@@ -48,4 +48,10 @@
*/
Calendar getTerminationTime( );
+ /**
+ * Adds a listener to be invoked when the resource has been terminated.
+ *
+ * @param listener
+ */
+ void addTerminationListener( ResourceTerminationListener listener);
}
Modified: incubator/apollo/trunk/src/site/content/example/requests/GetMulti.soap
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/requests/GetMulti.soap?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/requests/GetMulti.soap (original)
+++ incubator/apollo/trunk/src/site/content/example/requests/GetMulti.soap Wed Mar 16 14:22:03 2005
@@ -11,13 +11,9 @@
<wsrf-rp:GetMultipleResourceProperties
xmlns:wsrf-pr="http://docs.oasis-open.org/wsrf/2005/01/wsrf-Interop-2.0-draft-03.xsd">
- <wsrf-rp:ResourceProperty>
- wsrf-pr:printer_state
- </wsrf-rp:ResourceProperty>
+ <wsrf-rp:ResourceProperty>wsrf-pr:printer_state</wsrf-rp:ResourceProperty>
- <wsrf-rp:ResourceProperty>
- wsrf-pr:queued_job_count
- </wsrf-rp:ResourceProperty>
+ <wsrf-rp:ResourceProperty>wsrf-pr:queued_job_count</wsrf-rp:ResourceProperty>
</wsrf-rp:GetMultipleResourceProperties >
</Body>
Modified: incubator/apollo/trunk/src/site/content/example/requests/GetQueuedJobCount.soap
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/requests/GetQueuedJobCount.soap?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/requests/GetQueuedJobCount.soap (original)
+++ incubator/apollo/trunk/src/site/content/example/requests/GetQueuedJobCount.soap Wed Mar 16 14:22:03 2005
@@ -9,9 +9,7 @@
</Header>
<Body>
- <wsrf-rp:GetResourceProperty>
- wsrf-pr:queued_job_count
- </wsrf-rp:GetResourceProperty>
+ <wsrf-rp:GetResourceProperty xmlns:wsrf-pr="http://docs.oasis-open.org/wsrf/2005/01/wsrf-Interop-2.0-draft-03.xsd">wsrf-pr:queued_job_count</wsrf-rp:GetResourceProperty>
</Body>
</Envelope>
Modified: incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractJobPortResource.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractJobPortResource.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractJobPortResource.java (original)
+++ incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractJobPortResource.java Wed Mar 16 14:22:03 2005
@@ -15,12 +15,17 @@
*=============================================================================*/
package org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03Wsdl;
+import org.apache.ws.resource.lifetime.ResourceTerminationEvent;
+import org.apache.ws.resource.lifetime.impl.ResourceTerminationEventImpl;
+import org.apache.ws.resource.lifetime.ResourceTerminationListener;
import org.apache.ws.resource.properties.ResourceProperty;
import org.apache.ws.resource.properties.impl.XmlBeansResourcePropertySet;
import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.JobPropertiesDocument;
-import java.util.Iterator;
+import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Iterator;
+import java.util.List;
/**
@@ -43,6 +48,11 @@
protected org.apache.ws.resource.properties.ResourcePropertySet m_propSet;
/**
+ * A list of termination listeners to be notified when the resource is terminated.
+ */
+ private List m_terminationListeners = new ArrayList();
+
+ /**
* Returns the current time from the prop set.
*
* @return java.util.Calendar
@@ -124,8 +134,18 @@
.get( org.apache.ws.resource.lifetime.v1_2_draft04.porttype.ScheduledResourceTerminationPortType.PROP_QNAME_TERMINATION_TIME ) );
}
+ /**
+ * Adds a listener to be invoked when the resource has been terminated.
+ *
+ * @param listener
+ */
+ public void addTerminationListener(ResourceTerminationListener listener)
+ {
+ m_terminationListeners.add(listener);
+ }
- public abstract PrinterPortResource getPrinterResource();
+
+ public abstract PrinterPortResource getPrinterResource();
/**
* DOCUMENT_ME
*/
@@ -155,6 +175,12 @@
printerJobProperties.remove(properties);
}
+ ResourceTerminationEvent rte = new ResourceTerminationEventImpl(getID(),"Job Destroyed");
+ for (int i = 0; i < m_terminationListeners.size(); i++)
+ {
+ ResourceTerminationListener resourceTerminationListener = (ResourceTerminationListener) m_terminationListeners.get(i);
+ resourceTerminationListener.terminationOccurred(rte);
+ }
return;
}
Modified: incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterFactoryResource.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterFactoryResource.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterFactoryResource.java (original)
+++ incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterFactoryResource.java Wed Mar 16 14:22:03 2005
@@ -15,6 +15,8 @@
*=============================================================================*/
package org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03Wsdl;
+import org.apache.ws.resource.lifetime.ResourceTerminationListener;
+
/**
* An abstract PrinterFactory WS-Resource.
@@ -75,4 +77,14 @@
public void init( )
{
}
+
+ /**
+ * Adds a listener to be invoked when the resource has been terminated.
+ *
+ * @param listener
+ */
+ public void addTerminationListener(ResourceTerminationListener listener)
+ {
+
+ }
}
Modified: incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortResource.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortResource.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortResource.java (original)
+++ incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortResource.java Wed Mar 16 14:22:03 2005
@@ -15,6 +15,9 @@
*=============================================================================*/
package org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03Wsdl;
+import org.apache.ws.resource.lifetime.ResourceTerminationEvent;
+import org.apache.ws.resource.lifetime.ResourceTerminationListener;
+
/**
* An abstract PrinterPort WS-Resource.
@@ -87,6 +90,7 @@
*/
public void destroy( )
{
+
return;
}
@@ -109,4 +113,14 @@
.toString( ) );
queryProp.add( queryExpressionDialectDocument );
}
+
+ /**
+ * Adds a listener to be invoked when the resource has been terminated.
+ *
+ * @param listener
+ */
+ public void addTerminationListener(ResourceTerminationListener listener)
+ {
+
+ }
}
Modified: incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortService.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortService.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortService.java (original)
+++ incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/AbstractPrinterPortService.java Wed Mar 16 14:22:03 2005
@@ -16,6 +16,7 @@
package org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03Wsdl;
import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.AbstractPortType;
import org.apache.ws.resource.handler.ServiceSoapMethodNameMap;
import org.apache.ws.resource.handler.SoapMethodNameMap;
import javax.xml.namespace.QName;
@@ -26,7 +27,7 @@
*
* NOTE: This class is generated and is NOT meant to be modified.
*/
-public abstract class AbstractPrinterPortService
+public abstract class AbstractPrinterPortService
implements org.apache.ws.resource.handler.WsrfService,
org.apache.ws.resource.properties.v1_2_draft05.porttype.GetMultipleResourcePropertiesPortType,
org.apache.ws.resource.properties.v1_2_draft05.porttype.SetResourcePropertiesPortType,
Modified: incubator/apollo/trunk/src/site/content/example/src/test/org/oasisOpen/docs/wsrf/InteropTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/src/test/org/oasisOpen/docs/wsrf/InteropTestCase.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/src/test/org/oasisOpen/docs/wsrf/InteropTestCase.java (original)
+++ incubator/apollo/trunk/src/site/content/example/src/test/org/oasisOpen/docs/wsrf/InteropTestCase.java Wed Mar 16 14:22:03 2005
@@ -9,6 +9,8 @@
import org.apache.ws.util.test.axis.AbstractOneAxisTestCase;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlInteger;
+import org.apache.xmlbeans.XmlBoolean;
import org.oasisOpen.docs.wsrf.x2004.x11.wsrfWSResourceLifetime12Draft04.SetTerminationTimeDocument;
import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.CreatePrinterResponseDocument;
import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.CreationResponseDocument;
@@ -18,8 +20,10 @@
import org.xmlsoap.schemas.soap.envelope.Envelope;
import org.xmlsoap.schemas.soap.envelope.EnvelopeDocument;
import org.xmlsoap.schemas.soap.envelope.Header;
+import org.xmlsoap.schemas.soap.envelope.Body;
import org.xmlsoap.schemas.ws.x2004.x08.addressing.EndpointReferenceType;
import org.xmlsoap.schemas.ws.x2004.x08.addressing.ReferencePropertiesType;
+import org.xmlsoap.schemas.ws.x2004.x08.addressing.AttributedURI;
import javax.xml.namespace.QName;
import java.io.File;
@@ -127,8 +131,16 @@
String response = sendPrinterRequest("GetPrinterPropertiesDoc.soap");
System.out.println("Printer Prop Doc: \n" + response);
assertTrue(response.indexOf("printer_properties") > -1);
- assertTrue(response.indexOf("job_count>0") > -1);
- assertTrue(response.indexOf("accepting_jobs>false") > -1);
+ EnvelopeDocument envelopeDocument = loadResponseEnvelope(response);
+
+ Body body = envelopeDocument.getEnvelope().getBody();
+ XmlObject[] childElements = XmlBeanUtils.getChildElements(body, new QName("http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceProperties-1.2-draft-05.xsd","GetResourcePropertyDocumentResponse"));
+ XmlObject childElement = childElements[0];
+ XmlObject[] printerprops = XmlBeanUtils.getChildElements(childElement, new QName(PrinterPortPropertyQNames.QUEUED_JOB_COUNT.getNamespaceURI(), "printer_properties"));
+ XmlInteger elem = (XmlInteger) XmlBeanUtils.getChildElements(printerprops[0], PrinterPortPropertyQNames.QUEUED_JOB_COUNT)[0];
+ assertTrue(elem.getBigIntegerValue().intValue() == 0);
+ XmlBoolean bool = (XmlBoolean) XmlBeanUtils.getChildElements(printerprops[0], PrinterPortPropertyQNames.PRINTER_IS_ACCEPTING_JOBS)[0];
+ assertTrue(bool.getBooleanValue() == false);
}
@@ -195,9 +207,10 @@
// document_format_supported insert/delete should fail
response = sendPrinterRequest("Set_DeleteDocFormat.soap");
assertTrue(response.indexOf("fault") > -1);
+
response = sendPrinterRequest("Set_InsertDocFormat.soap");
assertTrue(response.indexOf("Fault") > -1);
-
+ System.out.println("");
}
public void testMultiSetResourceProps_SCENARIO_B3() throws IOException
@@ -254,14 +267,20 @@
addReferencePropsToEnvelope(destroyEnvelopeDocument, getJobEndpointReference(envelope).getReferenceProperties());
System.out.println("Destroying JOB: ");
- String response = sendRequest(m_jobURL, destroyEnvelopeDocument.newInputStream());
+ String response = sendJobRequest(destroyEnvelopeDocument);
assertTrue(response.indexOf("DestroyResponse") > -1);
//should fail
- response = sendRequest(m_jobURL, destroyEnvelopeDocument.newInputStream());
+ response = sendJobRequest(destroyEnvelopeDocument);
assertTrue(response.indexOf("fault") > -1);
}
+ private String sendJobRequest(EnvelopeDocument request) throws IOException
+ {
+ Header header = request.getEnvelope().getHeader();
+ setAddressingHeaders(header, m_jobURL);
+ return sendRequest(m_jobURL, request.newInputStream());
+ }
public void testCreateJob_SCENARIO_E() throws IOException
{
@@ -280,6 +299,7 @@
EnvelopeDocument responseEnvelope = loadResponseEnvelope(response);
setJobURL(responseEnvelope);
+
EnvelopeDocument envelopeDoc = null;
envelopeDoc = loadDocument("SetTerminationTime.soap");
addReferencePropsToEnvelope(envelopeDoc, getJobEndpointReference(responseEnvelope).getReferenceProperties());
@@ -293,7 +313,7 @@
System.out.println("Setting termination time on JOB: ");
System.out.println(envelopeDoc.toString());
- response = sendRequest(m_jobURL, envelopeDoc.newInputStream());
+ response = sendJobRequest( envelopeDoc );
assertTrue(response.indexOf("SetTerminationTimeResponse") > -1);
}
@@ -306,7 +326,7 @@
EnvelopeDocument envelopeDocument = loadDocument("SendDocument.soap");
addReferencePropsToEnvelope(envelopeDocument, getJobEndpointReference(responseEnvelope).getReferenceProperties());
- response = sendRequest(m_jobURL, envelopeDocument.newInputStream());
+ response = sendJobRequest( envelopeDocument);
assertTrue(response.indexOf("CreationResponse") > -1);
assertTrue(response.indexOf("successful-ok") > -1);
}
@@ -321,17 +341,6 @@
EnvelopeDocument responseEnvelope = loadResponseEnvelope(response);
setJobURL(responseEnvelope);
- //set termination time
- /* EnvelopeDocument getTermTime = loadDocument("GetTerminationTime.soap");
- addReferencePropsToEnvelope(getTermTime, getJobEndpointReference(responseEnvelope).getReferenceProperties() );
- response = sendRequest(m_jobURL, getTermTime.newInputStream());
- EnvelopeDocument getTermTimeEnvel = loadResponseEnvelope(response);
- XmlObject[] childElements = XmlBeanUtils.getChildElements(getTermTimeEnvel.getEnvelope().getBody());
- GetResourcePropertyResponseDocument.GetResourcePropertyResponse termTime = (GetResourcePropertyResponseDocument.GetResourcePropertyResponse) childElements[0];
- childElements = XmlBeanUtils.getChildElements(termTime);
- XmlDateTimeImpl o = (XmlDateTimeImpl) childElements[0];
- Calendar terminationTime = o.getCalendarValue();
- */
EnvelopeDocument setTerminationDoc = loadDocument("SetTerminationTime.soap");
addReferencePropsToEnvelope(setTerminationDoc, getJobEndpointReference(responseEnvelope).getReferenceProperties());
Calendar newTermTime = Calendar.getInstance();
@@ -342,12 +351,12 @@
XmlObject[] termElems = XmlBeanUtils.getChildElements(requestEnvelope.getBody());
SetTerminationTimeDocument.SetTerminationTime childElement = (SetTerminationTimeDocument.SetTerminationTime) termElems[0];
childElement.setRequestedTerminationTime(newTermTime);
- response = sendRequest(m_jobURL, setTerminationDoc.newInputStream());
+ response = sendJobRequest( setTerminationDoc );
//send a document
EnvelopeDocument envelopeDocument = loadDocument("SendDocument.soap");
addReferencePropsToEnvelope(envelopeDocument, getJobEndpointReference(responseEnvelope).getReferenceProperties());
- response = sendRequest(m_jobURL, envelopeDocument.newInputStream());
+ response = sendJobRequest( envelopeDocument );
assertTrue(response.indexOf("Fault") == -1);
try
@@ -362,7 +371,7 @@
//this request should be bad and return with a fault if the Job successfully timed out
envelopeDocument = loadDocument("SendDocument.soap");
addReferencePropsToEnvelope(envelopeDocument, getJobEndpointReference(responseEnvelope).getReferenceProperties());
- response = sendRequest(m_jobURL, envelopeDocument.newInputStream());
+ response = sendJobRequest( envelopeDocument );
assertTrue(response.indexOf("ResourceUnknownFault") > -1);
}
@@ -408,6 +417,15 @@
XmlBeanUtils.addChildElement(header, childElement);
}
}
+ setAddressingHeaders(header, m_printerURL);
+
+ }
+
+ private void setAddressingHeaders(Header header, String url)
+ {
+ XmlObject[] childElements = XmlBeanUtils.getChildElements(header, new QName("http://schemas.xmlsoap.org/ws/2004/08/addressing", "To") );
+ AttributedURI childElement = (AttributedURI) childElements[0];
+ childElement.setStringValue(url);
}
private void setPrinterReferenceProps(CreatePrinterResponseDocument.CreatePrinterResponse createPrinter)
Modified: incubator/apollo/trunk/src/site/content/example/test-build.properties
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/test-build.properties?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/test-build.properties (original)
+++ incubator/apollo/trunk/src/site/content/example/test-build.properties Wed Mar 16 14:22:03 2005
@@ -5,8 +5,16 @@
# **If running in embedded mode then the printerFactoryURL is ignored
#
##
-printerFactoryURL=http://wsi.alphaworks.ibm.com:80/ettk/wsrfrpio/services/PrinterPort
+#printerFactoryURL=http://wsi.alphaworks.ibm.com:80/ettk/wsrfrpio/services/PrinterPort
+
+#IBM
#printerFactoryURL=http://localhost:8080/wsrf/services/PrinterFactory
+
+#Virginia.EDU
+printerFactoryURL=http://opteron6.cs.virginia.edu/WSRF/Test/Interop2/PrinterService.asmx
+
+#Fujitsu
+#printerFactoryURL=http://193.133.239.220:8080/axis/services/PrinterFactory
##
# Determines if the unit test will run an embedded version of Axis
Modified: incubator/apollo/trunk/src/site/content/tutorial/build.xml
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/build.xml?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/site/content/tutorial/build.xml (original)
+++ incubator/apollo/trunk/src/site/content/tutorial/build.xml Wed Mar 16 14:22:03 2005
@@ -13,9 +13,6 @@
<property name="lib.dir" location="${out.dir}/.xmlbeans/lib"/>
<property name="filesystem.wsdl" location="FileSystem.wsdl" />
<property name="sysprop.wsdl" location="SysProps.wsdl" />
- <property name="interop.wsdl" location="wsrf-Interop-2.0-draft-03.wsdl" />
- <property name="interop.xsd" location="wsrf-Interop-2.0-draft-03.xsd" />
-
<target name="init">
@@ -46,10 +43,8 @@
<property name="tmp.dir" location="${wsrf.webapp.dir}/_tmp_" />
<mkdir dir="${tmp.dir}" />
<copy file="${filesystem.wsdl}" todir="${tmp.dir}" overwrite="true" />
- <copy file="${sysprop.wsdl}" todir="${tmp.dir}" overwrite="true" />
- <copy file="${interop.wsdl}" todir="${tmp.dir}" overwrite="true" />
+ <copy file="${sysprop.wsdl}" todir="${tmp.dir}" overwrite="true" />
<mkdir dir="${wsrf.webapp.dir}/wsdl" />
- <copy file="${interop.xsd}" todir="${wsrf.webapp.dir}/wsdl" overwrite="true" />
<taskdef name="wsdl2Java" classname="org.apache.ws.resource.tool.Wsdl2JavaTask" classpath="${apollo.classpath}" />
Modified: incubator/apollo/trunk/src/templates/AbstractResource.vm
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/templates/AbstractResource.vm?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/templates/AbstractResource.vm (original)
+++ incubator/apollo/trunk/src/templates/AbstractResource.vm Wed Mar 16 14:22:03 2005
@@ -28,6 +28,13 @@
protected org.apache.ws.resource.properties.ResourcePropertySet m_propSet;
#end
+
+ /**
+ * A list of termination listeners to be notified when the resource is terminated.
+ */
+ private java.util.List m_terminationListeners = new java.util.ArrayList();
+
+
/**
* DOCUMENT_ME
*
@@ -53,6 +60,16 @@
/**
* DOCUMENT_ME
*
+ * @param listener DOCUMENT_ME
+ */
+ public void addTerminationListener( org.apache.ws.resource.lifetime.ResourceTerminationListener listener)
+ {
+ m_terminationListeners.add(listener);
+ }
+
+ /**
+ * DOCUMENT_ME
+ *
* @return DOCUMENT_ME
*/
public Object getID()
@@ -62,6 +79,12 @@
public void destroy()
{
+ org.apache.ws.resource.lifetime.ResourceTerminationEvent rte = new org.apache.ws.resource.lifetime.ResourceTerminationEventImpl(getID(),"Job Destroyed");
+ for (int i = 0; i < m_terminationListeners.size(); i++)
+ {
+ org.apache.ws.resource.lifetime.ResourceTerminationEventListener resourceTerminationEventListener = (org.apache.ws.resource.lifetime.ResourceTerminationEventListener) m_terminationListeners.get(i);
+ resourceTerminationEventListener.terminationOccurred(rte);
+ }
return;
}
Modified: incubator/apollo/trunk/src/test/org/apache/ws/resource/properties/SushiResource.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/test/org/apache/ws/resource/properties/SushiResource.java?view=diff&r1=157816&r2=157817
==============================================================================
--- incubator/apollo/trunk/src/test/org/apache/ws/resource/properties/SushiResource.java (original)
+++ incubator/apollo/trunk/src/test/org/apache/ws/resource/properties/SushiResource.java Wed Mar 16 14:22:03 2005
@@ -17,8 +17,16 @@
import org.apache.ws.resource.Resource;
import org.apache.ws.resource.PropertiesResource;
+import org.apache.ws.resource.lifetime.ResourceTerminationListener;
+import org.apache.ws.resource.lifetime.ResourceTerminationEvent;
+import org.apache.ws.resource.lifetime.impl.ResourceTerminationEventImpl;
+import org.apache.ws.resource.lifetime.impl.ResourceTerminationEventImpl;
+import org.apache.ws.resource.lifetime.impl.AbstractResourceTerminationEvent;
+import org.apache.ws.resource.lifetime.impl.ResourceTerminationEventImpl;
import java.util.Map;
+import java.util.List;
+import java.util.ArrayList;
/**
* @author Sal Campana
@@ -37,6 +45,11 @@
ResourcePropertySet m_propSet;
/**
+ * A list of termination listeners to be notified when the resource is terminated.
+ */
+ private List m_terminationListeners = new ArrayList();
+
+ /**
* DOCUMENT_ME
*
* @param id DOCUMENT_ME
@@ -70,12 +83,29 @@
public void destroy()
{
-
+ ResourceTerminationEvent rte = new ResourceTerminationEventImpl(getID(),"Job Destroyed");
+ for (int i = 0; i < m_terminationListeners.size(); i++)
+ {
+ ResourceTerminationListener resourceTerminationListener = (ResourceTerminationListener) m_terminationListeners.get(i);
+ resourceTerminationListener.terminationOccurred(rte);
+ }
}
public void init()
{
+ }
+
+
+
+ /**
+ * Adds a listener to be invoked when the resource has been terminated.
+ *
+ * @param listener
+ */
+ public void addTerminationListener(ResourceTerminationListener listener)
+ {
+ m_terminationListeners.add(listener);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org