Author: challngr
Date: Tue Nov 17 16:16:31 2015
New Revision: 1714825

URL: http://svn.apache.org/viewvc?rev=1714825&view=rev
Log:
UIMA-4577 Work around "A Service is a Job is an AP" thing to correctly 
categorize work.

Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java?rev=1714825&r1=1714824&r2=1714825&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-database/src/main/java/org/apache/uima/ducc/database/HistoryManagerDb.java
 Tue Nov 17 16:16:31 2015
@@ -170,16 +170,32 @@ public class HistoryManagerDb
        String methodName = "saveWork";
         Long nowP =  System.currentTimeMillis();
         String type = null;
-        if ( w instanceof IDuccWorkJob ) {
-            type = "job";
-        } else if ( w instanceof IDuccWorkReservation ) {
-            type = "reservation";
-        } else if ( w instanceof IDuccWorkService ) {
-            type = "service";
-        } else {
-               throw new IllegalArgumentException("Improper object passed to 
saveWork");
-        }
 
+        switch ( w.getDuccType() ) {
+            case Job:
+                type = "job";
+                break;
+            case Service:
+            case Pop:
+                switch ( ((IDuccWorkService)w).getServiceDeploymentType() ) 
+                    {
+                    case uima:
+                    case custom:
+                        type = "service";
+                        break;
+                    case other:
+                        type = "AP";
+                        break;
+                    }
+                break;
+            case Reservation:
+                type = "reservation";
+                break;
+            default:
+                // illegal - internal error if this happens
+                logger.error(methodName, w.getDuccId(), "Unknown job type", 
w.getDuccType(), "Cannot save to database.");
+                return;
+        }
         logger.info(methodName, w.getDuccId(), "-------- saving " + type);
 
         ByteArrayOutputStream baos = new ByteArrayOutputStream();


Reply via email to