@Override public ProcessInstanceReference loadReference(Long id) { ProcessInstance record = objectManager.loadResource(ProcessInstance.class, id); if (record == null || record.getEndTime() != null) { return null; } ProcessInstanceReference ref = new ProcessInstanceReference(); ref.setName(record.getProcessName()); ref.setPriority(record.getPriority() == null ? 0 : record.getPriority()); ref.setProcessId(record.getId()); if (record.getData().containsKey(ObjectMetaDataManager.SYSTEM_FIELD)) { ref.setSystem(Boolean.valueOf(record.getData().get(ObjectMetaDataManager.SYSTEM_FIELD).toString())); } return ref; }
@Override public Object perform(String name, Object obj, ApiRequest request) { ProcessInstance pi = objectManager.loadResource(ProcessInstance.class, request.getId()); if (pi == null) { return null; } pi.setRunAfter(null); pi.setExecutionCount(0L); objectManager.persist(pi); Event event = EventVO.newEvent(EngineEvents.PROCESS_EXECUTE).withResourceId(pi.getId().toString()); eventService.publish(event); return pi; }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.ProcessInstance from) { setId(from.getId()); setStartTime(from.getStartTime()); setEndTime(from.getEndTime()); setData(from.getData()); setPriority(from.getPriority()); setProcessName(from.getProcessName()); setResourceType(from.getResourceType()); setResourceId(from.getResourceId()); setResult(from.getResult()); setExitReason(from.getExitReason()); setPhase(from.getPhase()); setStartProcessServerId(from.getStartProcessServerId()); setRunningProcessServerId(from.getRunningProcessServerId()); setExecutionCount(from.getExecutionCount()); setRunAfter(from.getRunAfter()); setAccountId(from.getAccountId()); }
@Override public ProcessRecord getRecord(Long id) { io.cattle.platform.core.model.ProcessInstance record = create().selectFrom(PROCESS_INSTANCE).where(PROCESS_INSTANCE.ID.eq(id)).fetchOne(); if (record == null) { return null; } ProcessRecord result = new ProcessRecord(); result.setId(record.getId()); result.setStartTime(toTimestamp(record.getStartTime())); result.setEndTime(toTimestamp(record.getEndTime())); result.setProcessLog(new ProcessLog()); result.setResult(EnumUtils.getEnum(ProcessResult.class, record.getResult())); result.setExitReason(EnumUtils.getEnum(ExitReason.class, record.getExitReason())); result.setPhase(EnumUtils.getEnum(ProcessPhase.class, record.getPhase())); result.setStartProcessServerId(record.getStartProcessServerId()); result.setRunningProcessServerId(record.getRunningProcessServerId()); result.setExecutionCount(record.getExecutionCount()); result.setRunAfter(record.getRunAfter()); result.setAccountId(record.getAccountId()); result.setPriority(record.getPriority()); result.setResourceType(record.getResourceType()); result.setResourceId(record.getResourceId()); result.setProcessName(record.getProcessName()); result.setData(new HashMap<String, Object>(record.getData())); return result; }