Author: degenaro
Date: Tue Jun 10 09:29:27 2014
New Revision: 1601579

URL: http://svn.apache.org/r1601579
Log:
UIMA-3873 DUCC Web Server (WS) should not show sub-seconds for job duration and 
projection

Modified:
    
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
    
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/FormatHelper.java

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java?rev=1601579&r1=1601578&r2=1601579&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccAbstractHandler.java
 Tue Jun 10 09:29:27 2014
@@ -58,6 +58,7 @@ import org.apache.uima.ducc.ws.registry.
 import org.apache.uima.ducc.ws.registry.ServicesRegistry;
 import org.apache.uima.ducc.ws.server.DuccCookies.DateStyle;
 import org.apache.uima.ducc.ws.utils.FormatHelper;
+import org.apache.uima.ducc.ws.utils.FormatHelper.Precision;
 import org.apache.uima.ducc.ws.utils.HandlersHelper;
 import org.eclipse.jetty.server.handler.AbstractHandler;
 
@@ -204,14 +205,14 @@ public abstract class DuccAbstractHandle
                return sb.toString();
        }
        
-       public String getDuration(DuccId jobId, String millisV2, String 
millisV1) {
+       public String getDuration(DuccId jobId, String millisV2, String 
millisV1, Precision precision) {
                String methodName = "getDuration";
                String retVal = "";
                try {
                        long d2 = Long.parseLong(millisV2);
                        long d1 = Long.parseLong(millisV1);
                        long diff = d2 - d1;
-                       retVal = FormatHelper.duration(diff);
+                       retVal = FormatHelper.duration(diff, precision);
                }
                catch(Exception e) {
                        duccLogger.trace(methodName, null, "no worries", e);
@@ -606,14 +607,14 @@ public abstract class DuccAbstractHandle
                return retVal;
        }
        
-       public String getDuration(HttpServletRequest request, IDuccWork dw) {
+       public String getDuration(HttpServletRequest request, IDuccWork dw, 
Precision precision) {
                String methodName = "getDuration";
                String retVal = "";
                try {
                        String v2 = dw.getStandardInfo().getDateOfCompletion();
                        String v1 = dw.getStandardInfo().getDateOfSubmission();
                        duccLogger.trace(methodName, null, "v2:"+v2+" v1:"+v1);
-                       retVal = getDuration(dw.getDuccId(),v2,v1);
+                       retVal = getDuration(dw.getDuccId(),v2,v1,precision);
                }
                catch(Exception e) {
                        duccLogger.trace(methodName, null, "no worries", e);
@@ -624,14 +625,14 @@ public abstract class DuccAbstractHandle
                return retVal;
        }
        
-       public String getDuration(HttpServletRequest request, IDuccWork dw, 
long now) {
+       public String getDuration(HttpServletRequest request, IDuccWork dw, 
long now, Precision precision) {
                String methodName = "getDuration";
                String retVal = "";
                try {
                        String v2 = ""+now;
                        String v1 = dw.getStandardInfo().getDateOfSubmission();
                        duccLogger.trace(methodName, null, "v2:"+v2+" v1:"+v1);
-                       retVal = getDuration(dw.getDuccId(),v2,v1);
+                       retVal = getDuration(dw.getDuccId(),v2,v1,precision);
                }
                catch(Exception e) {
                        duccLogger.trace(methodName, null, "no worries", e);
@@ -642,7 +643,7 @@ public abstract class DuccAbstractHandle
                return retVal;
        }
        
-       public String getProjection(HttpServletRequest request, IDuccWorkJob 
job) {
+       public String getProjection(HttpServletRequest request, IDuccWorkJob 
job, Precision precision) {
                String methodName = "getProjection";
                String retVal = "";
                try {
@@ -670,7 +671,7 @@ public abstract class DuccAbstractHandle
                                                if(projectedTime > 0) {
                                                        long millis = 
Math.round(projectedTime);
                                                        if(millis > 1000) {
-                                                               String 
projection = FormatHelper.duration(millis);
+                                                               String 
projection = FormatHelper.duration(millis,precision);
                                                                String health = 
"class=\"health_yellow\"";
                                                                String title = 
"title=\"Time (ddd:hh:mm:ss) until projected completion\"";
                                                                retVal = 
"+"+"<span "+health+" "+title+"><i>"+projection+"</i></span>";
@@ -680,7 +681,7 @@ public abstract class DuccAbstractHandle
                                                else {
                                                        long millis = 
Math.round(0-projectedTime);
                                                        if(millis > 1000) {
-                                                               String 
projection = FormatHelper.duration(millis);
+                                                               String 
projection = FormatHelper.duration(millis,precision);
                                                                String health = 
"class=\"health_purple\"";
                                                                String title = 
"title=\"Time (ddd:hh:mm:ss) past-due projected completion\"";
                                                                retVal = 
"-"+"<span "+health+" "+title+"><i>"+projection+"</i></span>";
@@ -707,7 +708,7 @@ public abstract class DuccAbstractHandle
                return avgMillis;
        }
        
-       public String decorateDuration(HttpServletRequest request, IDuccWorkJob 
job, String duration) {
+       public String decorateDuration(HttpServletRequest request, IDuccWorkJob 
job, String duration, Precision precision) {
                String location = "decorateDuration";
                String retVal = duration;
                DuccId duccId = job.getDuccId();
@@ -724,7 +725,7 @@ public abstract class DuccAbstractHandle
                                if(title.length() > 0) {
                                        title.append("; ");
                                }
-                               title.append("Time (ddd:hh:mm:ss) elapsed for 
job, average processing time per work 
item="+FormatHelper.duration(iAvgMillisPerWorkItem));
+                               title.append("Time (ddd:hh:mm:ss) elapsed for 
job, average processing time per work 
item="+FormatHelper.duration(iAvgMillisPerWorkItem,precision));
                        }
                        String cVal = getCompletion(request,job);
                        if(cVal != null) {

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java?rev=1601579&r1=1601578&r2=1601579&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandler.java
 Tue Jun 10 09:29:27 2014
@@ -99,6 +99,7 @@ import org.apache.uima.ducc.ws.registry.
 import org.apache.uima.ducc.ws.registry.ServicesRegistry;
 import org.apache.uima.ducc.ws.registry.ServicesRegistryMapPayload;
 import org.apache.uima.ducc.ws.utils.FormatHelper;
+import org.apache.uima.ducc.ws.utils.FormatHelper.Precision;
 import org.apache.uima.ducc.ws.utils.HandlersHelper;
 import org.apache.uima.ducc.ws.utils.LinuxSignals;
 import org.apache.uima.ducc.ws.utils.LinuxSignals.Signal;
@@ -573,7 +574,7 @@ public class DuccHandler extends DuccAbs
                                                long now = 
System.currentTimeMillis();
                                                String tS = t.getStart(""+now);
                                                String tE = t.getEnd(""+now);
-                                               initTime = 
getDuration(jobid,tE,tS);
+                                               initTime = 
getDuration(jobid,tE,tS,Precision.Whole);
                                                if(t.isEstimated()) {
                                                        isp0 = "<span 
title=\"estimated\" class=\"health_green\">";
                                                }
@@ -610,7 +611,7 @@ public class DuccHandler extends DuccAbs
                                                                        
IUimaPipelineAEComponent upc = upcIterator.next();
                                                                        String 
iName = upc.getAeName();
                                                                        String 
iState = upc.getAeState().toString();
-                                                                       String 
iTime = FormatHelper.duration(upc.getInitializationTime());
+                                                                       String 
iTime = FormatHelper.duration(upc.getInitializationTime(),Precision.Whole);
                                                                        
loadme.append("<tr>");
                                                                        
loadme.append("<td>"+iName);
                                                                        
loadme.append("<td>"+iState);
@@ -670,7 +671,7 @@ public class DuccHandler extends DuccAbs
                                        long now = System.currentTimeMillis();
                                        String tS = t.getStart(""+now);
                                        String tE = t.getEnd(""+now);
-                                       runTime = getDuration(jobid,tE,tS);
+                                       runTime = 
getDuration(jobid,tE,tS,Precision.Whole);
                                        if(t.isEstimated()) {
                                                rsp0 = "<span 
title=\"estimated\" class=\"health_green\">";
                                        }
@@ -1484,7 +1485,7 @@ public class DuccHandler extends DuccAbs
                                        // Total
                                        sb.append("<td align=\"right\">");
                                        ltime = (long)time_total;
-                                       sb.append(FormatHelper.duration(ltime));
+                                       
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                        // % of Total
                                        sb.append("<td align=\"right\">");
                                        sb.append(formatter.format(100));
@@ -1502,7 +1503,7 @@ public class DuccHandler extends DuccAbs
                                        catch(Exception e) {
                                                ltime = 
(long)workItemStateReader.getMin();
                                        }
-                                       sb.append(FormatHelper.duration(ltime));
+                                       
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                        sb.append("</span>");
                                        // Min
                                        sb.append("<td align=\"right\">");
@@ -1513,7 +1514,7 @@ public class DuccHandler extends DuccAbs
                                        catch(Exception e) {
                                                ltime = 
(long)workItemStateReader.getMin();
                                        }
-                                       sb.append(FormatHelper.duration(ltime));
+                                       
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                        sb.append("</span>");
                                        // Max
                                        sb.append("<td align=\"right\">");
@@ -1524,7 +1525,7 @@ public class DuccHandler extends DuccAbs
                                        catch(Exception e) {
                                                ltime = 
(long)workItemStateReader.getMin();
                                        }
-                                       sb.append(FormatHelper.duration(ltime));
+                                       
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                        sb.append("</span>");
                                    // pass 2
                                    for (int i = 0; i < numstats; ++i) {
@@ -1536,7 +1537,7 @@ public class DuccHandler extends DuccAbs
                                                sb.append("<td 
align=\"right\">");
                                                time = 
uimaStats.get(i).getAnalysisTime();
                                                ltime = (long)time;
-                                               
sb.append(FormatHelper.duration(ltime));
+                                               
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                                // % of Total
                                                sb.append("<td 
align=\"right\">");
                                                double dtime = 
(time/time_total)*100;
@@ -1545,17 +1546,17 @@ public class DuccHandler extends DuccAbs
                                                sb.append("<td 
align=\"right\">");
                                                time = time/casCount;
                                                ltime = (long)time;
-                                               
sb.append(FormatHelper.duration(ltime));
+                                               
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                                // Min
                                                sb.append("<td 
align=\"right\">");
                                                time = 
uimaStats.get(i).getAnalysisMinTime();
                                                ltime = (long)time;
-                                               
sb.append(FormatHelper.duration(ltime));
+                                               
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                                // Max
                                                sb.append("<td 
align=\"right\">");
                                                time = 
uimaStats.get(i).getAnalysisMaxTime();
                                                ltime = (long)time;
-                                               
sb.append(FormatHelper.duration(ltime));
+                                               
sb.append(FormatHelper.duration(ltime,Precision.Tenths));
                                        }
                                        sb.append("</table>");
                            }
@@ -3431,7 +3432,7 @@ public class DuccHandler extends DuccAbs
                                                        
IUimaPipelineAEComponent upc = upcIterator.next();
                                                        String iName = 
upc.getAeName();
                                                        String iState = 
upc.getAeState().toString();
-                                                       String iTime = 
FormatHelper.duration(upc.getInitializationTime());
+                                                       String iTime = 
FormatHelper.duration(upc.getInitializationTime(),Precision.Whole);
                                                        sb.append("<tr>");
                                                        sb.append("<td>"+iName);
                                                        
sb.append("<td>"+iState);

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java?rev=1601579&r1=1601578&r2=1601579&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
 Tue Jun 10 09:29:27 2014
@@ -78,6 +78,7 @@ import org.apache.uima.ducc.ws.registry.
 import org.apache.uima.ducc.ws.registry.ServicesRegistryMapPayload;
 import org.apache.uima.ducc.ws.types.NodeId;
 import org.apache.uima.ducc.ws.types.UserId;
+import org.apache.uima.ducc.ws.utils.FormatHelper.Precision;
 import org.eclipse.jetty.server.Request;
 
 public class DuccHandlerClassic extends DuccAbstractHandler {
@@ -127,19 +128,19 @@ public class DuccHandlerClassic extends 
                // Duration
                sb.append("<td valign=\"bottom\" align=\"right\">");
                if(job.isCompleted()) {
-                       String duration = getDuration(request,job);
-                       String decoratedDuration = 
decorateDuration(request,job, duration);
+                       String duration = getDuration(request,job, 
Precision.Whole);
+                       String decoratedDuration = 
decorateDuration(request,job,duration,Precision.Whole);
                        sb.append("<span>");
                        sb.append(decoratedDuration);
                        sb.append("</span>");
                }
                else {
-                       String duration = getDuration(request,job,now);
-                       String decoratedDuration = 
decorateDuration(request,job, duration);
+                       String duration = 
getDuration(request,job,now,Precision.Whole);
+                       String decoratedDuration = 
decorateDuration(request,job,duration,Precision.Whole);
                        sb.append("<span class=\"health_green\""+">");
                        sb.append(decoratedDuration);
                        sb.append("</span>");
-                       String projection = getProjection(request,job);
+                       String projection = 
getProjection(request,job,Precision.Whole);
                        sb.append(projection);
                }
                sb.append("</td>");
@@ -502,14 +503,14 @@ public class DuccHandlerClassic extends 
                        switch(reservation.getReservationState()) {
                        case Completed:
                                sb.append("<span>");
-                               duration = getDuration(request,reservation);
+                               duration = 
getDuration(request,reservation,Precision.Whole);
                                decoratedDuration = 
decorateDuration(request,reservation, duration);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
                                break;
                        default:
                                sb.append("<span class=\"health_green\""+">");
-                               duration = getDuration(request,reservation,now);
+                               duration = 
getDuration(request,reservation,now,Precision.Whole);
                                decoratedDuration = 
decorateDuration(request,reservation, duration);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
@@ -521,15 +522,15 @@ public class DuccHandlerClassic extends 
                        switch(job.getJobState()) {
                        case Completed:
                                sb.append("<span>");
-                               String duration = getDuration(request,job);
-                               String decoratedDuration = 
decorateDuration(request,job, duration);
+                               String duration = 
getDuration(request,job,Precision.Whole);
+                               String decoratedDuration = 
decorateDuration(request,job,duration,Precision.Whole);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
                                break;
                        default:
                                sb.append("<span class=\"health_green\""+">");
-                               duration = getDuration(request,job,now);
-                               decoratedDuration = 
decorateDuration(request,job, duration);
+                               duration = 
getDuration(request,job,now,Precision.Whole);
+                               decoratedDuration = 
decorateDuration(request,job,duration,Precision.Whole);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
                                break;

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java?rev=1601579&r1=1601578&r2=1601579&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
 Tue Jun 10 09:29:27 2014
@@ -84,6 +84,7 @@ import org.apache.uima.ducc.ws.registry.
 import org.apache.uima.ducc.ws.registry.ServicesRegistry;
 import org.apache.uima.ducc.ws.types.NodeId;
 import org.apache.uima.ducc.ws.types.UserId;
+import org.apache.uima.ducc.ws.utils.FormatHelper.Precision;
 import org.eclipse.jetty.server.Request;
 
 import com.google.gson.Gson;
@@ -148,19 +149,19 @@ public class DuccHandlerJsonFormat exten
                // Duration
                sb = new StringBuffer();
                if(job.isCompleted()) {
-                       String duration = getDuration(request,job);
-                       String decoratedDuration = 
decorateDuration(request,job, duration);
+                       String duration = 
getDuration(request,job,Precision.Whole);
+                       String decoratedDuration = 
decorateDuration(request,job, duration,Precision.Whole);
                        sb.append("<span>");
                        sb.append(decoratedDuration);
                        sb.append("</span>");
                }
                else {
-                       String duration = getDuration(request,job,now);
-                       String decoratedDuration = 
decorateDuration(request,job, duration);
+                       String duration = 
getDuration(request,job,now,Precision.Whole);
+                       String decoratedDuration = 
decorateDuration(request,job,duration,Precision.Whole);
                        sb.append("<span class=\"health_green\""+">");
                        sb.append(decoratedDuration);
                        sb.append("</span>");
-                       String projection = getProjection(request,job);
+                       String projection = 
getProjection(request,job,Precision.Whole);
                        sb.append(projection);
                }
                row.add(new JsonPrimitive(sb.toString()));
@@ -590,15 +591,15 @@ public class DuccHandlerJsonFormat exten
                        switch(reservation.getReservationState()) {
                        case Completed:
                                sb.append("<span>");
-                               String duration = 
getDuration(request,reservation);
-                               String decoratedDuration = 
decorateDuration(request,reservation, duration);
+                               String duration = 
getDuration(request,reservation,Precision.Whole);
+                               String decoratedDuration = 
decorateDuration(request,reservation,duration);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
                                break;
                        default:
                                sb.append("<span class=\"health_green\""+">");
-                               duration = getDuration(request,reservation,now);
-                               decoratedDuration = 
decorateDuration(request,reservation, duration);
+                               duration = 
getDuration(request,reservation,now,Precision.Whole);
+                               decoratedDuration = 
decorateDuration(request,reservation,duration);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
                                break;
@@ -609,15 +610,15 @@ public class DuccHandlerJsonFormat exten
                        switch(job.getJobState()) {
                        case Completed:
                                sb.append("<span>");
-                               String duration = getDuration(request,job);
-                               String decoratedDuration = 
decorateDuration(request,job, duration);
+                               String duration = 
getDuration(request,job,Precision.Whole);
+                               String decoratedDuration = 
decorateDuration(request,job,duration,Precision.Whole);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
                                break;
                        default:
                                sb.append("<span class=\"health_green\""+">");
-                               duration = getDuration(request,job,now);
-                               decoratedDuration = 
decorateDuration(request,job, duration);
+                               duration = 
getDuration(request,job,now,Precision.Whole);
+                               decoratedDuration = 
decorateDuration(request,job,duration,Precision.Whole);
                                sb.append(decoratedDuration);
                                sb.append("</span>");
                                break;

Modified: 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/FormatHelper.java
URL: 
http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/FormatHelper.java?rev=1601579&r1=1601578&r2=1601579&view=diff
==============================================================================
--- 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/FormatHelper.java
 (original)
+++ 
uima/sandbox/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/utils/FormatHelper.java
 Tue Jun 10 09:29:27 2014
@@ -23,13 +23,15 @@ import java.text.DecimalFormat;
 
 public class FormatHelper {
        
+       public enum Precision { Whole, Tenths };
+       
        private static DecimalFormat df = new DecimalFormat("#.0");
        
        static {
                df.setRoundingMode(RoundingMode.DOWN);
        }
        
-       public static String duration(final long millis) {
+       public static String duration(final long millis, Precision precision) {
                long seconds = millis / 1000;
                long dd =   seconds / 86400;
                long hh =  (seconds % 86400) / 3600;
@@ -45,9 +47,16 @@ public class FormatHelper {
                                }
                        }
                }
-               double subseconds = (millis%1000.0)/1000;
-               String frac = df.format(subseconds);
-               text = text+frac;
+               switch(precision) {
+               case Tenths:
+                       double subseconds = (millis%1000.0)/1000;
+                       String frac = df.format(subseconds);
+                       text = text+frac;
+                       break;
+               case Whole:
+               default:
+                       break;
+               }
                return text;
        }
 }


Reply via email to