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