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/03 00:08:47 UTC

svn commit: r155972 - incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/PrinterPortResource.java

Author: scamp
Date: Wed Mar  2 15:08:46 2005
New Revision: 155972

URL: http://svn.apache.org/viewcvs?view=rev&rev=155972
Log: (empty)


Modified:
    incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/PrinterPortResource.java

Modified: incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/PrinterPortResource.java
URL: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/PrinterPortResource.java?view=diff&r1=155971&r2=155972
==============================================================================
--- incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/PrinterPortResource.java (original)
+++ incubator/apollo/trunk/src/site/content/example/src/java/org/oasisOpen/docs/wsrf/x2005/x01/wsrfInterop20Draft03Wsdl/PrinterPortResource.java Wed Mar  2 15:08:46 2005
@@ -24,6 +24,7 @@
 import org.apache.ws.util.timer.TimerManagerImpl;
 import org.apache.xmlbeans.XmlInteger;
 import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.DocumentFormatSupportedDocument;
+import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.JobPropertiesDocument;
 import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.JobStateType;
 import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.MimeMediaTypeType;
 import org.oasisOpen.docs.wsrf.x2005.x01.wsrfInterop20Draft03.MimeMediaTypes;
@@ -41,6 +42,7 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Random;
 
@@ -50,7 +52,8 @@
  * NOTE: This class is generated but IS meant to be modified.
  */
 public class PrinterPortResource
-        extends AbstractPrinterPortResource implements TimerListener {
+        extends AbstractPrinterPortResource implements TimerListener
+{
 
     private String m_name;
     private EndpointReferenceType m_epr;
@@ -66,7 +69,8 @@
      * @param eprForResource DOCUMENT_ME
      */
     public PrinterPortResource(String name,
-                               EndpointReferenceType eprForResource) {
+                               EndpointReferenceType eprForResource)
+    {
         m_name = name;
         m_epr = eprForResource;
     }
@@ -76,14 +80,16 @@
      *
      * @return DOCUMENT_ME
      */
-    public EndpointReferenceType getEpr() {
+    public EndpointReferenceType getEpr()
+    {
         return m_epr;
     }
 
     /**
      * Initializes this resource's state (properties, etc.).
      */
-    public void init() {
+    public void init()
+    {
         super.init();
         ResourceProperty resourceProperty = m_propSet.get(PrinterPortPropertyQNames.PRINTER_REFERENCE);
         PrinterReferenceDocument printerRefDoc = PrinterReferenceDocument.Factory.newInstance();
@@ -129,15 +135,17 @@
         resourceProperty.add(documentFormatSupportedDocument);
     }
 
-    public void addJobToQueue(JobPortResource job) {
+    public void addJobToQueue(JobPortResource job)
+    {
         //if timer doesn't exist, create
-       synchronized(this)
-       {
-        if (m_timer == null) {
-           resetTimer();
-           setPrinterStateProcessing();
+        synchronized (this)
+        {
+            if (m_timer == null)
+            {
+                resetTimer();
+                setPrinterStateProcessing();
+            }
         }
-       }
         //LOG.debug( MSG.getMessage( Keys.QUEUING_JOB, job.m_id ) );
         m_printQueue.add(job);
     }
@@ -154,7 +162,8 @@
         state.set(printerState);
     }
 
-    public void resetTimer() {
+    public void resetTimer()
+    {
         //scale and translate the random to get a number between 1 and 3 mins
         double doubleLength = m_random.nextDouble() * 120000.0 + 60000.0;
         //long doubleLength = 20000; //for debug only...
@@ -163,25 +172,39 @@
         m_timer = tm.schedule(this, lengthOfTime);
     }
 
-    public void timerExpired(Timer timer) {
+    public void timerExpired(Timer timer)
+    {
 
         //make sure we have something in queue, remove the 0th print job
-        if (m_printQueue.size() > 0) {
-            if( !isPrinterStopped())
+        if (m_printQueue.size() > 0)
+        {
+            if (!isPrinterStopped())
             {
-            JobPortResource job = (JobPortResource) m_printQueue.remove(0);
+                JobPortResource job = (JobPortResource) m_printQueue.remove(0);
 
-                if ( !isJobCancelledOrAborted(job))
+                if (!isJobCancelledOrAborted(job))
                 {
                     setJobState(job, JobStateType.PROCESSING);
-                    //LOG.debug( MSG.getMessage( Keys.PRINTING_JOB, job.m_id ) );
                     //set termination time to now to make it be removed.
                     job.setTerminationTime(Calendar.getInstance());
 
                     XmlBeansResourcePropertySet jobPropSet = (XmlBeansResourcePropertySet) job.getResourcePropertySet();
-                    ResourceProperty  printerJobProperties = getResourcePropertySet(  ).get( PrinterPortPropertyQNames.JOB_PROPERTIES );
-                    //todo does this work?
-                    printerJobProperties.remove(jobPropSet.toXmlObject());
+                    ResourceProperty resourceProperty = jobPropSet.get(JobPortPropertyQNames.JOB_ID);
+                    XmlInteger jobint = (XmlInteger) resourceProperty.get(0);
+                    BigInteger bigIntegerValue = jobint.getBigIntegerValue();
+
+                    ResourceProperty printerJobProperties = getResourcePropertySet().get(PrinterPortPropertyQNames.JOB_PROPERTIES);
+                    Iterator iterator = printerJobProperties.iterator();
+                    JobPropertiesDocument.JobProperties properties = null;
+                    while (iterator.hasNext())
+                    {
+                        properties = (JobPropertiesDocument.JobProperties) iterator.next();
+                        if (properties.getJobId().equals(bigIntegerValue))
+                        {
+                            break;
+                        }
+                    }
+                    printerJobProperties.remove(properties);
 
                     decrementQueueCount();
                     setJobState(job, JobStateType.COMPLETED);
@@ -190,7 +213,7 @@
         }
         else
         {
-           setPrinterStateIdleProcessing();
+            setPrinterStateIdleProcessing();
         }
         resetTimer();//restart timer
     }
@@ -211,7 +234,7 @@
 
         resourceProperty = (XmlBeansResourceProperty) getResourcePropertySet().get(JobPortPropertyQNames.JOB_STATE);
         o = (JobStateType) resourceProperty.get(0);
-        o.set(state);        
+        o.set(state);
     }
 
     private void setPrinterStateIdleProcessing()
@@ -226,7 +249,8 @@
         return state.enumValue() == PrinterStateType.STOPPED;
     }
 
-    private void decrementQueueCount() {
+    private void decrementQueueCount()
+    {
         XmlBeansResourceProperty resourceProperty = (XmlBeansResourceProperty) getResourcePropertySet().get(PrinterPortPropertyQNames.QUEUED_JOB_COUNT);
         XmlInteger count = (XmlInteger) resourceProperty.get(0);
         int intCount = count.getBigIntegerValue().intValue();



---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org