protected Date calculateDueDate(CommandContext commandContext, int waitTimeInSeconds, Date oldDate) { Calendar newDateCal = new GregorianCalendar(); if (oldDate != null) { newDateCal.setTime(oldDate); } else { newDateCal.setTime(commandContext.getProcessEngineConfiguration().getClock().getCurrentTime()); } newDateCal.add(Calendar.SECOND, waitTimeInSeconds); return newDateCal.getTime(); }
public static String prepareRepeat(String dueDate) { if (dueDate.startsWith("R") && dueDate.split("/").length == 2) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); return dueDate.replace("/", "/" + sdf.format(Context.getProcessEngineConfiguration().getClock().getCurrentTime()) + "/"); } return dueDate; }
public void markEnded(String deleteReason) { if (this.endTime == null) { this.deleteReason = deleteReason; this.endTime = Context.getProcessEngineConfiguration().getClock().getCurrentTime(); this.durationInMillis = endTime.getTime() - startTime.getTime(); } }
@Override public void updateProcessInstanceLockTime(String processInstanceId) { Date expirationTime = getClock().getCurrentTime(); int lockMillis = getAsyncExecutor().getAsyncJobLockTimeInMillis(); GregorianCalendar lockCal = new GregorianCalendar(); lockCal.setTime(expirationTime); lockCal.add(Calendar.MILLISECOND, lockMillis); Date lockDate = lockCal.getTime(); executionDataManager.updateProcessInstanceLockTime(processInstanceId, lockDate, expirationTime); }
public Date getNow() { return Context.getProcessEngineConfiguration().getClock().getCurrentTime(); }
protected EventLoggerEventHandler instantiateEventHandler(ActivitiEvent event, Class<? extends EventLoggerEventHandler> eventHandlerClass) { try { EventLoggerEventHandler eventHandler = eventHandlerClass.newInstance(); eventHandler.setTimeStamp(clock.getCurrentTime()); eventHandler.setEvent(event); eventHandler.setObjectMapper(objectMapper); return eventHandler; } catch (Exception e) { logger.warn("Could not instantiate " + eventHandlerClass + ", this is most likely a programmatic error"); } return null; }
public Date getNow() { return Context.getProcessEngineConfiguration().getClock().getCurrentTime(); }
public EventSubscriptionEntityImpl() { this.created = Context.getProcessEngineConfiguration().getClock().getCurrentTime(); }
protected void lockJob(CommandContext commandContext, JobEntity job, int lockTimeInMillis) { GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTime(commandContext.getProcessEngineConfiguration().getClock().getCurrentTime()); gregorianCalendar.add(Calendar.MILLISECOND, lockTimeInMillis); job.setLockOwner(asyncExecutor.getLockOwner()); job.setLockExpirationTime(gregorianCalendar.getTime()); } }
protected void lockJob(CommandContext commandContext, TimerJobEntity job, int lockTimeInMillis) { // This will trigger an optimistic locking exception when two concurrent executors // try to lock, as the revision will not match. GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTime(commandContext.getProcessEngineConfiguration().getClock().getCurrentTime()); gregorianCalendar.add(Calendar.MILLISECOND, lockTimeInMillis); job.setLockOwner(asyncExecutor.getLockOwner()); job.setLockExpirationTime(gregorianCalendar.getTime()); } }
public Date resolveDuedate(String duedate) { Date resolvedDuedate = Context.getProcessEngineConfiguration().getClock().getCurrentTime(); String[] tokens = duedate.split(" and "); for (String token : tokens) { resolvedDuedate = addSingleUnitQuantity(resolvedDuedate, token); } return resolvedDuedate; }
@Override public void insert(ModelEntity model) { ((ModelEntity) model).setCreateTime(getClock().getCurrentTime()); ((ModelEntity) model).setLastUpdateTime(getClock().getCurrentTime()); super.insert(model); }
@Override public void updateModel(ModelEntity updatedModel) { updatedModel.setLastUpdateTime(getClock().getCurrentTime()); update(updatedModel); }
@Override public TaskEntity create() { TaskEntity taskEntity = super.create(); taskEntity.setCreateTime(getClock().getCurrentTime()); return taskEntity; }
@Override @SuppressWarnings("unchecked") public List<TimerJobEntity> findTimerJobsToExecute(Page page) { Date now = getClock().getCurrentTime(); return getDbSqlSession().selectList("selectTimerJobsToExecute", now, page); }
@Override @SuppressWarnings("unchecked") public List<JobEntity> findExpiredJobs(Page page) { Date now = getClock().getCurrentTime(); return getDbSqlSession().selectList("selectExpiredJobs", now, page); }
protected JobEntity internalCreateLockedAsyncJob(ExecutionEntity execution, boolean exclusive) { JobEntity asyncJob = processEngineConfiguration.getJobEntityManager().create(); fillDefaultAsyncJobInfo(asyncJob, execution, exclusive); GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTime(processEngineConfiguration.getClock().getCurrentTime()); gregorianCalendar.add(Calendar.MILLISECOND, getAsyncExecutor().getAsyncJobLockTimeInMillis()); asyncJob.setLockExpirationTime(gregorianCalendar.getTime()); asyncJob.setLockOwner(getAsyncExecutor().getLockOwner()); return asyncJob; }
protected JobEntity createExecutableJobFromOtherJob(AbstractJobEntity job) { JobEntity executableJob = processEngineConfiguration.getJobEntityManager().create(); copyJobInfo(executableJob, job); if (isAsyncExecutorActive()) { GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTime(processEngineConfiguration.getClock().getCurrentTime()); gregorianCalendar.add(Calendar.MILLISECOND, getAsyncExecutor().getTimerLockTimeInMillis()); executableJob.setLockExpirationTime(gregorianCalendar.getTime()); executableJob.setLockOwner(getAsyncExecutor().getLockOwner()); } return executableJob; }
protected void inheritCommonProperties(ExecutionEntity parentExecutionEntity, ExecutionEntity childExecution) { // Inherits the 'count' feature from the parent. // If the parent was not 'counting', we can't make the child 'counting' again. if (parentExecutionEntity instanceof CountingExecutionEntity) { CountingExecutionEntity countingParentExecutionEntity = (CountingExecutionEntity) parentExecutionEntity; ((CountingExecutionEntity) childExecution).setCountEnabled(countingParentExecutionEntity.isCountEnabled()); } childExecution.setRootProcessInstanceId(parentExecutionEntity.getRootProcessInstanceId()); childExecution.setActive(true); childExecution.setStartTime(processEngineConfiguration.getClock().getCurrentTime()); if (parentExecutionEntity.getTenantId() != null) { childExecution.setTenantId(parentExecutionEntity.getTenantId()); } }
@Override public void copyVariableValue(HistoricVariableInstanceEntity historicVariableInstance, VariableInstanceEntity variableInstance) { historicVariableInstance.setTextValue(variableInstance.getTextValue()); historicVariableInstance.setTextValue2(variableInstance.getTextValue2()); historicVariableInstance.setDoubleValue(variableInstance.getDoubleValue()); historicVariableInstance.setLongValue(variableInstance.getLongValue()); historicVariableInstance.setVariableType(variableInstance.getType()); if (variableInstance.getByteArrayRef() != null) { historicVariableInstance.setBytes(variableInstance.getBytes()); } historicVariableInstance.setLastUpdatedTime(getClock().getCurrentTime()); }