You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2014/11/17 22:35:09 UTC
svn commit: r1640231 - in
/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport:
configuration/jd/ configuration/jd/iface/ event/jd/
Author: degenaro
Date: Mon Nov 17 21:35:09 2014
New Revision: 1640231
URL: http://svn.apache.org/r1640231
Log:
UIMA-4069 Redesign of JD toward the main goal of classpath separation for container (system) code.
JobDriverReport (incomplete).
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java (with props)
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/DriverStatusReport.java
uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/IDriverStatusReport.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java?rev=1640231&r1=1640230&r2=1640231&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverComponent.java Mon Nov 17 21:35:09 2014
@@ -19,25 +19,102 @@
package org.apache.uima.ducc.transport.configuration.jd;
+import java.util.ArrayList;
+import java.util.Properties;
+import java.util.concurrent.atomic.AtomicInteger;
+
import org.apache.camel.CamelContext;
import org.apache.uima.ducc.common.component.AbstractDuccComponent;
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper;
+import org.apache.uima.ducc.common.config.SystemPropertiesHelper.Name;
import org.apache.uima.ducc.common.utils.DuccLogger;
+import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
+import org.apache.uima.ducc.common.utils.id.DuccId;
+import org.apache.uima.ducc.container.jd.JobDriver;
+import org.apache.uima.ducc.container.jd.mh.IMessageHandler;
+import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
+import org.apache.uima.ducc.transport.event.JdStateDuccEvent;
+import org.apache.uima.ducc.transport.event.jd.IDriverStatusReport;
+import org.apache.uima.ducc.transport.event.jd.JobDriverReport;
public class JobDriverComponent extends AbstractDuccComponent
implements IJobDriverComponent {
-
+
+ private static DuccLogger logger = DuccLoggerComponents.getJdOut(JobDriverComponent.class.getName());
+ private static DuccId jobid = null;
+
private JobDriverConfiguration configuration;
- public JobDriverComponent(String componentName, CamelContext ctx,JobDriverConfiguration jdc) {
+ public JobDriverComponent(String componentName, CamelContext ctx, JobDriverConfiguration jdc) {
super(componentName,ctx);
this.configuration = jdc;
+ verifySystemProperties();
+ createInstance();
}
-
+
+ private void verifySystemProperties() {
+ String location = "verifySystemProperties";
+ Properties properties = System.getProperties();
+ ArrayList<String> missing = new ArrayList<String>();
+ for(Name name : SystemPropertiesHelper.Name.values()) {
+ String key = name.name();
+ if(properties.containsKey(key)) {
+ String value = properties.getProperty(key);
+ String text = key+"="+value;
+ logger.info(location, jobid, text);
+ }
+ else {
+ if(name.isRequired()) {
+ missing.add(name.name());
+ String text = key+" is missing.";
+ logger.error(location, jobid, text);
+ }
+ }
+ }
+ if(missing.size() > 0) {
+ throw new RuntimeException("Missing System Properties: "+missing.toString());
+ }
+ }
+
+ private void createInstance() {
+ String location = "createInstance";
+ try {
+ JobDriver.createInstance();
+ int total = JobDriver.getInstance().getCasManager().getCasManagerStats().getCrTotal();
+ logger.info(location, jobid, "total: "+total);
+ }
+ catch(Exception e) {
+ logger.error(location, jobid, e);
+ throw new RuntimeException(e);
+ }
+ }
+
+ public JobDriverConfiguration getJobDriverConfiguration() {
+ return configuration;
+ }
+
@Override
public DuccLogger getLogger() {
- // TODO Auto-generated method stub
- return null;
+ return logger;
+ }
+
+ private AtomicInteger getStateReqNo = new AtomicInteger(0);
+
+ public JdStateDuccEvent getState() {
+ String location = "getState";
+ JdStateDuccEvent state = new JdStateDuccEvent();
+ try {
+ IMessageHandler mh = JobDriver.getInstance().getMessageHandler();
+ IOperatingInfo oi = mh.handleGetOperatingInfo();
+ IDriverStatusReport driverStatusReport = new JobDriverReport(oi);
+ state.setState(driverStatusReport);
+ logger.debug(location, jobid, "reqNo: "+getStateReqNo.incrementAndGet());
+ }
+ catch(Exception e) {
+ logger.error(location, jobid, e);
+ }
+ return state;
}
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java?rev=1640231&r1=1640230&r2=1640231&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/JobDriverConfiguration.java Mon Nov 17 21:35:09 2014
@@ -24,17 +24,18 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jetty.JettyHttpComponent;
import org.apache.uima.ducc.common.config.CommonConfiguration;
+import org.apache.uima.ducc.common.utils.DuccLogger;
+import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
import org.apache.uima.ducc.common.utils.Utils;
+import org.apache.uima.ducc.common.utils.id.DuccId;
import org.apache.uima.ducc.transport.DuccTransportConfiguration;
import org.apache.uima.ducc.transport.configuration.jd.iface.IJobDriverComponent;
import org.apache.uima.ducc.transport.event.JdStateDuccEvent;
-import org.apache.uima.ducc.transport.event.delegate.DuccEventDelegateListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
-
/**
* A {@link JobDriverConfiguration} to configure JobDriver component. Depends on
* properties loaded by a main program into System properties.
@@ -43,6 +44,10 @@ import org.springframework.context.annot
@Configuration
@Import({DuccTransportConfiguration.class,CommonConfiguration.class})
public class JobDriverConfiguration {
+
+ private static DuccLogger logger = DuccLoggerComponents.getJdOut(JobDriverConfiguration.class.getName());
+ private static DuccId jobid = null;
+
// use Spring magic to autowire (instantiate and bind) CommonConfiguration to a local variable
@Autowired CommonConfiguration common;
// use Spring magic to autowire (instantiate and bind) DuccTransportConfiguration to a local variable
@@ -127,9 +132,9 @@ import org.springframework.context.annot
}
public void process(Exchange exchange) throws Exception {
// Fetch new state from Dispatched Job
-// JdStateDuccEvent sse = jdc.getState();
+ JdStateDuccEvent sse = jdc.getState();
// Add the state object to the Message
-// exchange.getIn().setBody(sse);
+ exchange.getIn().setBody(sse);
}
}
@@ -144,6 +149,7 @@ import org.springframework.context.annot
*/
@Bean
public JobDriverComponent jobDriver() throws Exception {
+ String location = "jobDriver";
JobDriverComponent jdc = new JobDriverComponent("JobDriver", common.camelContext(), this);
// Instantiate delegate listener to receive incoming messages.
JobDriverEventListener delegateListener = this.jobDriverDelegateListener(jdc);
@@ -156,6 +162,7 @@ import org.springframework.context.annot
int port = Utils.findFreePort();
String jdUniqueId = "jdApp";
jdc.getContext().addRoutes(this.routeBuilderForJpIncomingRequests(jdc.getContext(), delegateListener, port, jdUniqueId));
+ logger.debug(location, jobid, "endpoint: "+common.jdStateUpdateEndpoint+" "+"rate: "+common.jdStatePublishRate);
jdc.getContext().addRoutes(this.routeBuilderForJdStatePost(jdc, common.jdStateUpdateEndpoint, Integer.parseInt(common.jdStatePublishRate)));
return jdc;
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java?rev=1640231&r1=1640230&r2=1640231&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/configuration/jd/iface/IJobDriverComponent.java Mon Nov 17 21:35:09 2014
@@ -19,6 +19,8 @@
package org.apache.uima.ducc.transport.configuration.jd.iface;
-public interface IJobDriverComponent {
+import org.apache.uima.ducc.transport.event.JdStateDuccEvent;
+public interface IJobDriverComponent {
+ public JdStateDuccEvent getState();
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/DriverStatusReport.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/DriverStatusReport.java?rev=1640231&r1=1640230&r2=1640231&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/DriverStatusReport.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/DriverStatusReport.java Mon Nov 17 21:35:09 2014
@@ -40,9 +40,9 @@ import org.apache.uima.ducc.transport.ev
import org.apache.uima.ducc.transport.event.common.Util;
import org.apache.uima.ducc.transport.event.jd.IDriverState.DriverState;
-
-@SuppressWarnings("serial")
public class DriverStatusReport implements Serializable, IDriverStatusReport {
+
+ private static final long serialVersionUID = 100L;
private static DuccLogger duccOut = DuccLoggerComponents.getJdOut(DriverStatusReport.class.getName());
private static DuccId jobid = null;
@@ -116,6 +116,11 @@ public class DriverStatusReport implemen
setDuccId(duccId);
}
+ @Override
+ public long getVersion() {
+ return serialVersionUID;
+ }
+
/*
* DuccId
*/
@@ -792,4 +797,5 @@ public class DriverStatusReport implemen
public void setOperatingMillisMap(ConcurrentHashMap<RemoteLocation,Long> value) {
operatingMillisMap = value;
}
+
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/IDriverStatusReport.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/IDriverStatusReport.java?rev=1640231&r1=1640230&r2=1640231&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/IDriverStatusReport.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/IDriverStatusReport.java Mon Nov 17 21:35:09 2014
@@ -31,6 +31,8 @@ import org.apache.uima.ducc.transport.ev
public interface IDriverStatusReport {
+ public long getVersion();
+
public DuccId getDuccId();
public String getLogReport();
@@ -41,21 +43,37 @@ public interface IDriverStatusReport {
public int getWorkItemsRetry();
public int getWorkItemsDispatched();
public int getWorkItemsPreempted();
+
+ @Deprecated
public int getWorkItemsLost();
+ @Deprecated
public int getWorkItemPendingProcessAssignmentCount();
+ // min of finished & running
public long getWiMillisMin();
+
+ // max of finished & running
public long getWiMillisMax();
+
+ // avg of finished
public long getWiMillisAvg();
+ // min of running
public long getWiMillisOperatingLeast();
+
+ // max of finished
public long getWiMillisCompletedMost();
+ // tod most recent started work item
public long getMostRecentStart();
+ // true if CR not yet exhausted
public boolean isPending();
+
+ @Deprecated
public boolean isWorkItemPendingProcessAssignment();
+
public boolean isKillJob();
public boolean isOperating(String nodeIP, String PID);
@@ -75,7 +93,11 @@ public interface IDriverStatusReport {
public DuccProcessWorkItemsMap getDuccProcessWorkItemsMap();
- public ConcurrentHashMap<RemoteLocation, Long>getOperatingMillisMap();
+ public ConcurrentHashMap<RemoteLocation, Long> getOperatingMillisMap();
+
+ @Deprecated
public ConcurrentHashMap<Integer,DuccId> getLimboMap();
+
+ @Deprecated
public ConcurrentHashMap<String,DuccId> getCasQueuedMap();
}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java?rev=1640231&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java Mon Nov 17 21:35:09 2014
@@ -0,0 +1,387 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.uima.ducc.transport.event.jd;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.uima.ducc.common.jd.files.workitem.RemoteLocation;
+import org.apache.uima.ducc.common.utils.id.DuccId;
+import org.apache.uima.ducc.container.common.Util;
+import org.apache.uima.ducc.container.jd.mh.iface.IOperatingInfo;
+import org.apache.uima.ducc.container.jd.mh.iface.IWorkItemInfo;
+import org.apache.uima.ducc.transport.event.common.IDuccCompletionType.JobCompletionType;
+import org.apache.uima.ducc.transport.event.common.IDuccPerWorkItemStatistics;
+import org.apache.uima.ducc.transport.event.common.IDuccUimaDeploymentDescriptor;
+import org.apache.uima.ducc.transport.event.common.IRationale;
+import org.apache.uima.ducc.transport.event.jd.IDriverState.DriverState;
+
+public class JobDriverReport implements Serializable, IDriverStatusReport {
+
+ private static final long serialVersionUID = 200L;
+
+ private DuccId duccId = null;
+ private String jmxUrl = null;
+
+ private long workItemsTotal = 0;
+ private int workItemsProcessingCompleted = 0;
+ private int workItemsProcessingError = 0;
+ private int workItemsRetry = 0;
+ private int workItemsDispatched = 0;
+ private int workItemsPreempted = 0;
+
+ private long wiMillisMin = 0;
+ private long wiMillisMax = 0;
+ private long wiMillisAvg = 0;
+ private long wiMillisOperatingLeast = 0;
+ private long wiMillisCompletedMost = 0;
+
+ private long wiTodMostRecentStart = 0;
+
+ private boolean wiPending = true;
+ private boolean wiPendingProcessAssignment = false;
+
+ private boolean killJob = false;
+
+ private ArrayList<IWorkItemInfo> listActiveWorkItemInfo = null;
+
+ private ConcurrentHashMap<RemoteLocation, Long> mapProcessOperatingMillis = null;
+
+ private long max(long a, long b) {
+ long retVal = a;
+ if(b > a) {
+ retVal = b;
+ }
+ return retVal;
+ }
+
+ private long min(long a, long b) {
+ long retVal = a;
+ if(b < a) {
+ retVal = b;
+ }
+ return retVal;
+ }
+
+ public JobDriverReport(IOperatingInfo operatingInfo) {
+ //setDuccId(driverContainer.getDuccId());
+ //setJmxUrl(driverContainer.getJmxUrl());
+ setWorkItemsTotal(operatingInfo.getWorkItemCrTotal());
+ setWorkItemsProcessingCompleted(operatingInfo.getWorkItemEndSuccesses());
+ setWorkItemsProcessingError(operatingInfo.getWorkItemEndFailures());
+ setWorkItemsRetry(operatingInfo.getWorkItemUserProcessingErrorRetries());
+ setWorkItemsDispatched(operatingInfo.getWorkItemJpSends()-(operatingInfo.getWorkItemEndSuccesses()+operatingInfo.getWorkItemEndFailures()));
+ // min of finished & running
+ long fMin = operatingInfo.getWorkItemFinishedMillisMin();
+ long min = fMin;
+ long rMin = operatingInfo.getWorkItemRunningMillisMin();
+ if(rMin > 0) {
+ min = min(fMin, rMin);
+ }
+ setWiMillisMin(min);
+ // max of finished & running
+ long fMax = operatingInfo.getWorkItemFinishedMillisMax();
+ long max = fMax;
+ long rMax = operatingInfo.getWorkItemRunningMillisMax();
+ if(rMax > 0) {
+ max = max(fMax, rMax);
+ }
+ setWiMillisMax(max);
+ // avg of finished
+ long avg = operatingInfo.getWorkItemFinishedMillisAvg();
+ setWiMillisAvg(avg);
+ // min of running
+ setWiMillisOperatingLeast(rMin);
+ // max of finished
+ setWiMillisCompletedMost(fMax);
+ // most recent start TOD
+ setMostRecentStart(operatingInfo.getWorkItemTodMostRecentStart());
+ // pending means CR fetches < crTotal
+ setWiPending(operatingInfo.isWorkItemCrPending());
+ // kill job?
+ if(operatingInfo.isKillJob()) {
+ setKillJob();
+ }
+ // operating map
+ setActiveWorkItemInfo(operatingInfo.getActiveWorkItemInfo());
+ }
+
+ private void setDuccId(DuccId value) {
+ duccId = value;
+ }
+
+ private void setJmxUrl(String value) {
+ jmxUrl = value;
+ }
+
+ private void setWorkItemsTotal(long value) {
+ workItemsTotal = value;
+ }
+
+ private void setWorkItemsProcessingCompleted(int value) {
+ workItemsProcessingCompleted = value;
+ }
+
+ private void setWorkItemsProcessingError(int value) {
+ workItemsProcessingError = value;
+ }
+
+ private void setWorkItemsRetry(int value) {
+ workItemsRetry = value;
+ }
+
+ private void setWorkItemsDispatched(int value) {
+ workItemsDispatched = value;
+ }
+
+ private void setWiMillisMin(long value) {
+ wiMillisMin = value;
+ }
+
+ private void setWiMillisMax(long value) {
+ wiMillisMax = value;
+ }
+
+ private void setWiMillisAvg(long value) {
+ wiMillisAvg = value;
+ }
+
+ private void setWiMillisOperatingLeast(long value) {
+ wiMillisOperatingLeast = value;
+ }
+
+ private void setWiMillisCompletedMost(long value) {
+ wiMillisCompletedMost = value;
+ }
+
+ private void setMostRecentStart(long value) {
+ wiTodMostRecentStart = value;
+ }
+
+ private void setWiPending(boolean value) {
+ wiPending = value;
+ }
+
+ private void setKillJob() {
+ killJob = true;
+ }
+
+ private void setActiveWorkItemInfo(ArrayList<IWorkItemInfo> value) {
+ listActiveWorkItemInfo = value;
+ }
+
+ @Override
+ public long getVersion() {
+ return serialVersionUID;
+ }
+
+ @Override
+ public DuccId getDuccId() {
+ return duccId;
+ }
+
+ @Override
+ public String getLogReport() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public long getWorkItemsTotal() {
+ return workItemsTotal;
+ }
+
+ @Override
+ public int getWorkItemsProcessingCompleted() {
+ return workItemsProcessingCompleted;
+ }
+
+ @Override
+ public int getWorkItemsProcessingError() {
+ return workItemsProcessingError;
+ }
+
+ @Override
+ public int getWorkItemsRetry() {
+ return workItemsRetry;
+ }
+
+ @Override
+ public int getWorkItemsDispatched() {
+ return workItemsDispatched;
+ }
+
+ @Override
+ public int getWorkItemsPreempted() {
+ return workItemsPreempted;
+ }
+
+ @Override
+ public int getWorkItemsLost() {
+ return 0;
+ }
+
+ @Override
+ public int getWorkItemPendingProcessAssignmentCount() {
+ return 0;
+ }
+
+ @Override
+ public long getWiMillisMin() {
+ return wiMillisMin;
+ }
+
+ @Override
+ public long getWiMillisMax() {
+ return wiMillisMax;
+ }
+
+ @Override
+ public long getWiMillisAvg() {
+ return wiMillisAvg;
+ }
+
+ @Override
+ public long getWiMillisOperatingLeast() {
+ return wiMillisOperatingLeast;
+ }
+
+ @Override
+ public long getWiMillisCompletedMost() {
+ return wiMillisCompletedMost;
+ }
+
+ @Override
+ public long getMostRecentStart() {
+ return wiTodMostRecentStart;
+ }
+
+ @Override
+ public boolean isPending() {
+ return wiPending;
+ }
+
+ @Override
+ public boolean isWorkItemPendingProcessAssignment() {
+ return wiPendingProcessAssignment;
+ }
+
+ @Override
+ public boolean isKillJob() {
+ return killJob;
+ }
+
+ @Override
+ public boolean isOperating(String nodeIP, String PID) {
+ boolean retVal = false;
+ if(listActiveWorkItemInfo != null) {
+ for(IWorkItemInfo wii : listActiveWorkItemInfo) {
+ if(Util.compare(wii.getNodeAddress(), nodeIP)) {
+ if(Util.compare(""+wii.getPid(), PID)) {
+ retVal = true;
+ break;
+ }
+ }
+ }
+ }
+ return retVal;
+ }
+
+ @Override
+ public String getJdJmxUrl() {
+ return jmxUrl;
+ }
+
+ @Override
+ public IDuccUimaDeploymentDescriptor getUimaDeploymentDescriptor() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Iterator<DuccId> getKillDuccIds() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public DriverState getDriverState() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public JobCompletionType getJobCompletionType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public IRationale getJobCompletionRationale() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public IDuccPerWorkItemStatistics getPerWorkItemStatistics() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public DuccProcessWorkItemsMap getDuccProcessWorkItemsMap() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public ConcurrentHashMap<RemoteLocation, Long> getOperatingMillisMap() {
+ if(mapProcessOperatingMillis == null) {
+ mapProcessOperatingMillis = new ConcurrentHashMap<RemoteLocation, Long>();
+ if(listActiveWorkItemInfo != null) {
+ for(IWorkItemInfo wii: listActiveWorkItemInfo) {
+ String nodeIP = wii.getNodeAddress();
+ String PID = ""+wii.getPid();
+ RemoteLocation rl = new RemoteLocation(nodeIP, PID);
+ if(!mapProcessOperatingMillis.containsKey(rl)) {
+ mapProcessOperatingMillis.put(rl, new Long(0));
+ }
+ long millis = wii.getOperatingMillis() + mapProcessOperatingMillis.get(rl);
+ mapProcessOperatingMillis.put(rl, new Long(millis));
+ }
+ }
+ }
+ return mapProcessOperatingMillis;
+ }
+
+ @Override
+ public ConcurrentHashMap<Integer, DuccId> getLimboMap() {
+ ConcurrentHashMap<Integer, DuccId> map = new ConcurrentHashMap<Integer, DuccId>();
+ return map;
+ }
+
+ @Override
+ public ConcurrentHashMap<String, DuccId> getCasQueuedMap() {
+ ConcurrentHashMap<String, DuccId> map = new ConcurrentHashMap<String, DuccId>();
+ return map;
+ }
+
+}
Propchange: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/jd/JobDriverReport.java
------------------------------------------------------------------------------
svn:eol-style = native