use of org.wso2.carbon.bpel.stub.mgt.types.LimitedInstanceInfoType in project carbon-business-process by wso2.
the class InstanceManagementServiceSkeleton method createLimitedInstanceInfoObject.
private LimitedInstanceInfoType createLimitedInstanceInfoObject(ProcessInstanceDAO instanceDAO) throws InstanceManagementException {
LimitedInstanceInfoType instanceInfo = new LimitedInstanceInfoType();
instanceInfo.setIid(Long.toString(instanceDAO.getInstanceId()));
instanceInfo.setPid(instanceDAO.getProcess().getProcessId().toString());
instanceInfo.setStatus(odeInstanceStatusToManagementAPIStatus(instanceDAO.getState()));
instanceInfo.setDateLastActive(toCalendar(instanceDAO.getLastActiveTime()));
instanceInfo.setDateStarted(toCalendar(instanceDAO.getCreateTime()));
return instanceInfo;
}
use of org.wso2.carbon.bpel.stub.mgt.types.LimitedInstanceInfoType in project carbon-business-process by wso2.
the class Instance method getInstanceInfoFromInstanceId.
@Override
public String[] getInstanceInfoFromInstanceId() {
StringBuffer buffer = new StringBuffer();
PaginatedInstanceList paginatedInstanceList;
String[] instanceInfoArray = null;
int arrayCount = 0;
try {
paginatedInstanceList = getPaginatedInstanceList(" ", "-last-active", 200, 0);
LimitedInstanceInfoType[] instanceArray = paginatedInstanceList.getInstance();
instanceInfoArray = new String[instanceArray.length];
for (LimitedInstanceInfoType instance : instanceArray) {
buffer.append("Instance id=" + instance.getIid());
buffer.append(" ");
buffer.append("Process id=" + instance.getPid());
buffer.append(" ");
buffer.append("Status =" + instance.getStatus());
buffer.append(" ");
buffer.append("Started Date=" + instance.getDateStarted().get(5));
buffer.append("-" + instance.getDateStarted().get(2));
buffer.append("-" + instance.getDateStarted().get(1));
buffer.append(" ");
buffer.append(instance.getDateStarted().get(11));
buffer.append(":" + instance.getDateStarted().get(12));
buffer.append(":" + instance.getDateStarted().get(13));
buffer.append(" ");
buffer.append("Date Last Activate=" + instance.getDateLastActive().get(5));
buffer.append("-" + instance.getDateLastActive().get(2));
buffer.append("-" + instance.getDateLastActive().get(1));
buffer.append(" ");
buffer.append(instance.getDateLastActive().get(11));
buffer.append(":" + instance.getDateLastActive().get(12));
buffer.append(":" + instance.getDateLastActive().get(13));
buffer.append(" ");
instanceInfoArray[arrayCount] = buffer.toString();
arrayCount++;
buffer.delete(0, buffer.length());
}
} catch (InstanceManagementException e) {
String errMsg = "failed to get instance information from instance id";
log.error(errMsg, e);
}
return instanceInfoArray;
}
use of org.wso2.carbon.bpel.stub.mgt.types.LimitedInstanceInfoType in project carbon-business-process by wso2.
the class BpelUIUtil method createLongRunningInstanceJSONString.
public static String createLongRunningInstanceJSONString(PaginatedInstanceList longRunningInstances) {
// LinkedHashMap is introduced instead of JSONObject, in-order to keep the order of the instances
LinkedHashMap<String, JSONObject> longRunning = new LinkedHashMap<String, JSONObject>();
if (longRunningInstances.isInstanceSpecified()) {
for (LimitedInstanceInfoType instance : longRunningInstances.getInstance()) {
JSONObject instanceJson = new JSONObject();
long instanceLifetimeTillLastActive = (instance.getDateLastActive().getTime().getTime() - instance.getDateStarted().getTime().getTime());
long instanceLifetimeFromLastActiveToNow = (new Date().getTime() - instance.getDateLastActive().getTime().getTime());
instanceJson.put(BPELUIConstant.INSTANCE_LIFETIME_TILL_LASTACTIVE, instanceLifetimeTillLastActive);
instanceJson.put(BPELUIConstant.INSTANCE_LIFETIME_FROM_LASTACTIVE_TO_NOW, instanceLifetimeFromLastActiveToNow);
longRunning.put(instance.getIid(), instanceJson);
}
}
return JSONObject.toJSONString(longRunning);
}
use of org.wso2.carbon.bpel.stub.mgt.types.LimitedInstanceInfoType in project carbon-business-process by wso2.
the class InstanceManagementServiceSkeleton method getLongRunningInstances.
/**
* Get long running instances with duration
*
* @param limit The maximum number of instances to be fetched
* @return Long running instances
* @throws InstanceManagementException When an error occurs
*/
public LimitedInstanceInfoType[] getLongRunningInstances(int limit) throws InstanceManagementException {
final List<LimitedInstanceInfoType> longRunningInstances = new ArrayList<LimitedInstanceInfoType>();
Integer tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
TenantProcessStoreImpl tenantProcessStore = (TenantProcessStoreImpl) bpelServer.getMultiTenantProcessStore().getTenantsProcessStore(tenantId);
if (tenantProcessStore.getProcessConfigMap().size() <= 0) {
return longRunningInstances.toArray(new LimitedInstanceInfoType[longRunningInstances.size()]);
}
String filter = "status=ACTIVE";
if (!filter.contains(" pid=")) {
filter = filter + getTenantsProcessList(tenantProcessStore.getProcessConfigMap().keySet());
}
if (log.isDebugEnabled()) {
log.debug("Instance Filter:" + filter);
}
String orderBy = "started";
final InstanceFilter instanceFilter = new InstanceFilter(filter, orderBy, limit);
try {
BpelDatabase bpelDb = bpelServer.getODEBPELServer().getBpelDb();
bpelDb.exec(new BpelDatabase.Callable<Object>() {
public Object run(BpelDAOConnection conn) throws InstanceManagementException {
Collection<ProcessInstanceDAO> instances = conn.instanceQuery(instanceFilter);
for (ProcessInstanceDAO piDAO : instances) {
longRunningInstances.add(createLimitedInstanceInfoObject(piDAO));
}
return null;
}
});
} catch (Exception e) {
String errMsg = "Error querying instances from database. Instance Filter:" + instanceFilter.toString();
log.error(errMsg, e);
throw new InstanceManagementException(errMsg, e);
}
return longRunningInstances.toArray(new LimitedInstanceInfoType[longRunningInstances.size()]);
}
use of org.wso2.carbon.bpel.stub.mgt.types.LimitedInstanceInfoType in project carbon-business-process by wso2.
the class Instance method createLimitedInstanceInfoObject.
private LimitedInstanceInfoType createLimitedInstanceInfoObject(ProcessInstanceDAO instanceDAO) throws InstanceManagementException {
LimitedInstanceInfoType instanceInfo = new LimitedInstanceInfoType();
instanceInfo.setIid(Long.toString(instanceDAO.getInstanceId()));
instanceInfo.setPid(instanceDAO.getProcess().getProcessId().toString());
instanceInfo.setStatus(odeInstanceStatusToManagementAPIStatus(instanceDAO.getState()));
instanceInfo.setDateLastActive(toCalendar(instanceDAO.getLastActiveTime()));
instanceInfo.setDateStarted(toCalendar(instanceDAO.getCreateTime()));
return instanceInfo;
}
Aggregations