View Javadoc

1   /*
2    * $Id: ActivityInformation.java 1419 2010-11-01 14:12:17Z hoheisel $
3    *
4    * Copyright (c) 2005-2006, The K-Wf Grid Consortium
5    * Fraunhofer Institute for Computer Architecture and Software Technology
6    * See http://www.kwfgrid.eu and http://www.first.fraunhofer.de for more details.
7    */
8   
9   package net.kwfgrid.gwes.servlet;
10  
11  import java.text.SimpleDateFormat;
12  import java.util.Locale;
13  import java.util.Date;
14  
15  /**
16   * @author Andreas Hoheisel
17   *         (<a href="http://www.andreas-hoheisel.de">www.andreas-hoheisel.de</a>)
18   * @version $Id: ActivityInformation.java 1419 2010-11-01 14:12:17Z hoheisel $
19   */
20  public class ActivityInformation {
21  
22      private static final SimpleDateFormat dateFormat = new SimpleDateFormat("MMM dd HH:mm:ss", Locale.ENGLISH);
23  
24      public String gwesBaseUrlExternal;
25  
26  //        ID=hoheisel_2addc790-416a-11de-97f3-9cdc141524de_0000000025
27  //        status=ACTIVE
28  //        activityClass=de.fraunhofer.first.gwes.plugin.gt4activity.wsgram.wsgramactivity.GRAMActivity
29  //        operationName=software:makeload100
30  //        resourceName=hardware:quadro.first.fhrg.fraunhofer.de
31  //        timeoutActive=7200000
32  //        timeoutRunning=86400000
33  //        birthdayMs=1242403824742
34  //        durationUndefinedMs=1
35  //        durationInitiatedMs=1
36  //        durationRunningMs=1886
37  //        durationActiveMs=0
38  //        durationSuspendedMs=0
39  //        durationTotalMs=0
40  //        endTimeMs=0
41  
42      public String activityID;
43      public String activityState;
44      public String activityClass;
45      public String operationName;
46      public String resourceName;
47      public Long timeoutActive;
48      public Long timeoutRunning;
49      public Long activityBirthday;
50      public Long activityEndtime;
51  
52      public ActivityInformation(String gwesBaseUrlExternal, String activityID, String activityState, String activityClass, String operationName, String resourceName, Long timeoutActive, Long timeoutRunning, Long activityBirthday, Long activityEndtime) {
53          this.gwesBaseUrlExternal = gwesBaseUrlExternal;
54          this.activityID = activityID.substring(activityID.length()-10);
55          this.activityState = activityState;
56          this.activityClass = activityClass;
57          this.operationName = operationName;
58          this.resourceName = resourceName;
59          this.timeoutActive = timeoutActive;
60          this.timeoutRunning = timeoutRunning;
61          this.activityBirthday = activityBirthday;
62          this.activityEndtime = activityEndtime;
63      }
64  
65      public ActivityInformation(String gwesBaseUrlExternal, String[] state) {
66          this(
67                  gwesBaseUrlExternal,
68                  state[0].substring(state[0].indexOf("=") + 1), //ID
69                  state[1].substring(state[1].indexOf("=") + 1), //status
70                  state[2].substring(state[2].indexOf("=") + 1), //activityClass
71                  state[3].substring(state[3].indexOf("=") + 1), //operationName
72                  state[4].substring(state[4].indexOf("=") + 1), //resourceName
73                  Long.parseLong(state[5].substring(state[5].indexOf("=") + 1)), //timeoutActive
74                  Long.parseLong(state[6].substring(state[6].indexOf("=") + 1)), //timeoutRunning
75                  Long.parseLong(state[7].substring(state[7].indexOf("=") + 1)), //activityBirthday
76                  Long.parseLong(state[14].substring(state[14].indexOf("=") + 1)) //activityBirthday
77          );
78      }
79  
80      public String getTimeoutActiveAsString() {
81          return dateFormat.format(new Date(timeoutActive));
82      }
83  
84      public String getTimeoutRunningAsString() {
85          return dateFormat.format(new Date(timeoutRunning));
86      }
87  
88      public String getActivityBirthdayAsString() {
89          return dateFormat.format(new Date(activityBirthday));
90      }
91  
92      public String getActivityEndtimeAsString() {
93          return (activityEndtime > 0) ? dateFormat.format(new Date(activityEndtime)) : "--";
94      }
95  
96      public boolean isInitiated() {
97          return (activityState.equals("INITIATED"));
98      }
99  
100     public boolean isRunning() {
101         return (activityState.equals("RUNNING"));
102     }
103 
104     public boolean isSuspended() {
105         return (activityState.equals("SUSPENDED"));
106     }
107 
108     public boolean isActive() {
109         return (activityState.equals("ACTIVE"));
110     }
111 
112     public boolean isTerminated() {
113         return (activityState.equals("TERMINATED"));
114     }
115 
116     public boolean isCompleted() {
117         return (activityState.equals("COMPLETED"));
118     }
119 
120     public boolean isTerminatedOrCompleted() {
121         return (activityState.equals("TERMINATED") || activityState.equals("COMPLETED"));
122     }
123 
124     public boolean isActiveOrRunning() {
125         return (activityState.equals("ACTIVE") || activityState.equals("RUNNING"));
126     }
127 
128 }