@Override protected MapSqlParameterSource createFullParametersMapper(Job entity) { return createIdParameterMapper(entity.getId()) .addValue("action_type", EnumUtils.nameOrNull(entity.getActionType())) .addValue("description", entity.getDescription()) .addValue("status", EnumUtils.nameOrNull(entity.getStatus())) .addValue("owner_id", entity.getOwnerId()) .addValue("engine_session_seq_id", entity.getEngineSessionSeqId()) .addValue("visible", entity.isVisible()) .addValue("start_time", entity.getStartTime()) .addValue("end_time", entity.getEndTime()) .addValue("last_update_time", entity.getLastUpdateTime()) .addValue("correlation_id", entity.getCorrelationId()) .addValue("is_external", entity.isExternal()) .addValue("is_auto_cleared", entity.isAutoCleared()); }
@Override protected org.ovirt.engine.core.common.job.Job getEntity(int index) { org.ovirt.engine.core.common.job.Job job = new org.ovirt.engine.core.common.job.Job(); job.setId(GUIDS[index]); job.setDescription(DESCRIPTIONS[index]); job.setExternal(true); job.setAutoCleared(true); job.setStartTime(new Date()); return job; }
public void setEndTime(Date endTime) { this.endTime = endTime; setLastUpdateTime(endTime); }
if (task.getCorrelationId().startsWith(WEBADMIN)) { if (!correlationTaskMap.containsKey(task.getCorrelationId())) { Job rootTask = new Job(); rootTask.setCorrelationId(task.getCorrelationId()); Map.Entry<Job, ArrayList<Job>> entry = new TaskEntry(rootTask); entry.setValue(new ArrayList<Job>()); correlationTaskMap.put(rootTask.getCorrelationId(), entry); String[] taskDescreptionArray = rootTask.getCorrelationId().replace(WEBADMIN, "").split("_"); //$NON-NLS-1$ //$NON-NLS-2$ StringBuilder taskDesc = new StringBuilder(); for (int i = 1; i < taskDescreptionArray.length; i++) { taskDesc.append(taskDescreptionArray[i]).append(" "); //$NON-NLS-1$ rootTask.setId(task.getId()); rootTask.setDescription(taskDesc.toString()); taskListWithCorrelationFilter.add(rootTask); Map.Entry<Job, ArrayList<Job>> entry = correlationTaskMap.get(task.getCorrelationId()); entry.getValue().add(task); } else { entry.getKey().setStatus(JobExecutionStatus.UNKNOWN); boolean hasFailedStatus = false; boolean hasStartedStatus = false; switch (task.getStatus()) { case STARTED: hasStartedStatus = true;
ArrayList<Job> newTaskList = new ArrayList<>(); for (Job task : taskList) { if (task.getCorrelationId().equals(guidOrCorrelationId)) { detailedTaskMap.put(guidOrCorrelationId, task); task.setStatus(JobExecutionStatus.FINISHED); for (Job job : retTasks) { Step step = new Step(); step.setId(job.getId()); step.setDescription(job.getDescription()); step.setCorrelationId(job.getCorrelationId()); step.setStartTime(job.getStartTime()); step.setEndTime(job.getEndTime()); step.setStatus(job.getStatus()); step.setSteps(job.getSteps()); if (!task.getStatus().equals(JobExecutionStatus.FINISHED) && !job.getStatus().equals(JobExecutionStatus.FINISHED)) { task.setStatus(job.getStatus()); if (task.getLastUpdateTime() == null || (task.getLastUpdateTime().before(job.getLastUpdateTime()) && !task.getLastUpdateTime() .equals(job.getLastUpdateTime()))) { task.setLastUpdateTime(job.getEndTime()); Date tempDate = task.getLastUpdateTime(); if (task.getStartTime() == null || task.getStartTime().after(job.getStartTime())) { task.setStartTime(job.getStartTime()); if (task.getEndTime() != null && (task.getEndTime() == null
@Mapping(from = Job.class, to = org.ovirt.engine.core.common.job.Job.class) public static org.ovirt.engine.core.common.job.Job map(Job job, org.ovirt.engine.core.common.job.Job entity) { org.ovirt.engine.core.common.job.Job target = entity != null ? entity : new org.ovirt.engine.core.common.job.Job(); target.setId(GuidUtils.asGuid(job.getId())); if (job.isSetDescription()) { target.setDescription(job.getDescription()); } if (job.isSetStatus()) { target.setStatus(mapJobStatus(job.getStatus())); } if (job.isSetOwner()) { target.setOwnerId(GuidUtils.asGuid(job.getOwner().getId())); } target.setStartTime(job.isSetStartTime() ? job.getStartTime().toGregorianCalendar().getTime() : new Date(Calendar.getInstance().getTimeInMillis())); target.setEndTime(job.isSetEndTime() ? job.getEndTime().toGregorianCalendar().getTime() : new Date(Calendar.getInstance().getTimeInMillis())); target.setLastUpdateTime(job.isSetLastUpdated() ? job.getLastUpdated().toGregorianCalendar().getTime() : new Date(Calendar.getInstance().getTimeInMillis())); target.setExternal(job.isSetExternal() ? job.isExternal() : true); target.setAutoCleared(job.isSetAutoCleared() ? job.isAutoCleared() : true); return target; }
@Mapping(from = org.ovirt.engine.core.common.job.Job.class, to = Job.class) public static Job map(org.ovirt.engine.core.common.job.Job entity, Job job) { Job model = job != null ? job : new Job(); model.setId(entity.getId().toString()); model.setDescription(entity.getDescription()); model.setStatus(mapJobStatus(entity.getStatus())); if (entity.getOwnerId() != null) { User user = new User(); user.setId(entity.getOwnerId().toString()); model.setOwner(user); } model.setStartTime(DateMapper.map(entity.getStartTime(), null)); if (entity.getEndTime() != null) { model.setEndTime(DateMapper.map(entity.getEndTime(), null)); } if (entity.getLastUpdateTime() != null) { model.setLastUpdated(DateMapper.map(entity.getLastUpdateTime(), null)); } model.setExternal(entity.isExternal()); model.setAutoCleared(entity.isAutoCleared()); return model; }
@Override protected Job generateNewEntity() { Job job = new Job(); job.setId(Guid.newGuid()); job.setActionType(ActionType.ActivateStorageDomain); job.setDescription(ActionType.ActivateStorageDomain.name()); job.setStatus(JobExecutionStatus.STARTED); job.setOwnerId(Guid.newGuid()); job.setVisible(true); job.setStartTime(new Date()); job.setLastUpdateTime(new Date()); job.setCorrelationId(Guid.newGuid().toString()); return job; }
public TaskWidget(Job job, String correlationId, TaskListModel taskListModel) { this.correlationId = correlationId; this.model = taskListModel; initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); jobProgressBar.setType(getProgressBarType(job.getStatus())); if (JobExecutionStatus.FINISHED.equals(job.getStatus()) || JobExecutionStatus.FAILED.equals(job.getStatus())) { markJobFinished(job); } if (JobExecutionStatus.STARTED.equals(job.getStatus())) { markJobStarted(job, correlationId); } label.getElement().setInnerSafeHtml(SafeHtmlUtils.fromString(job.getDescription())); }
private void markJobFinished(Job job) { statusIcon.addStyleName(PatternflyIconType.PF_BASE.getCssName()); jobProgressBar.setText(constants.completedTask() + ": " // $NON-NLS-1$ + DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM).format(job.getEndTime())); jobProgressBar.setPercent(100); if (JobExecutionStatus.FINISHED.equals(job.getStatus())) { statusIcon.addStyleName(PatternflyConstants.PFICON_OK); } else { statusIcon.addStyleName(PatternflyConstants.PFICON_ERROR); } }
private CreationStatus getJobIdStatus(ActionReturnValue result) { Guid jobId = result.getJobId(); if (jobId == null || jobId.equals(Guid.Empty)) { return CreationStatus.COMPLETE; } else { IdQueryParameters params = new IdQueryParameters(jobId); QueryReturnValue queryResult = runQuery(QueryType.GetJobByJobId, params); if (queryResult != null && queryResult.getSucceeded() && queryResult.getReturnValue() != null) { Job job = queryResult.getReturnValue(); return job.getStatus()==JobExecutionStatus.STARTED ? CreationStatus.IN_PROGRESS : CreationStatus.COMPLETE; } else { //not supposed to happen return CreationStatus.COMPLETE; } } }
private void markJobStarted(Job job, String correlationId) { statusIcon.addStyleName(PatternflyConstants.PF_SPINNER); statusIcon.addStyleName(PatternflyConstants.PF_SPINNER_XS); statusIcon.addStyleName(PatternflyConstants.PF_SPINNER_INLINE); jobProgress.setActive(true); jobProgress.setType(ProgressType.STRIPED); jobProgressBar.setPercent(100); jobProgressBar.setText(constants.startedTask() + ": " // $NON-NLS-1$ + DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM).format(job.getStartTime())); if (job.getSteps().isEmpty()) { model.updateSingleTask(correlationId); } else { // Updated values, add the sub tasks job.getSteps().forEach(step -> { container.add(createStep(step)); }); } }
@Test public void updateJobLastUpdateTime() throws ParseException { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date updateDate = df.parse("2012-10-01 10:00:00"); Job job = dao.get(getExistingEntityId()); Date lastUpdateTime = job.getLastUpdateTime(); dao.updateJobLastUpdateTime(getExistingEntityId(), updateDate); Job jobAfterUpdate = dao.get(getExistingEntityId()); assertTrue(!lastUpdateTime.equals(jobAfterUpdate.getLastUpdateTime()), "Compare the previous date is differ than new one"); assertEquals(updateDate, jobAfterUpdate.getLastUpdateTime(), "Compare date was persisted by reading it from database"); }
private void setJobStatusExpectations(Guid jobId, JobExecutionStatus jobStatus, QueryReturnValue monitorResult, ActionReturnValue result) { result.setJobId(jobId); if (jobId != null) { Job jobMock = mock(org.ovirt.engine.core.common.job.Job.class); when(jobMock.getStatus()).thenReturn(jobStatus); monitorResult.setReturnValue(jobMock); when(backend.runQuery(eq(QueryType.GetJobByJobId), eqParams(IdQueryParameters.class, addSession("Id"), addSession(jobId)))).thenReturn(monitorResult); enqueueInteraction(() -> verify(backend, atLeastOnce()).runQuery(eq(QueryType.GetJobByJobId), eqParams(IdQueryParameters.class, addSession("Id"), addSession(jobId)))); } }
@Override protected org.ovirt.engine.core.common.job.Job getEntity(int index) { org.ovirt.engine.core.common.job.Job job = new org.ovirt.engine.core.common.job.Job(); job.setId(GUIDS[index]); job.setDescription(DESCRIPTIONS[index]); job.setActionType(ActionType.AddExternalJob); job.setStartTime(new Date()); job.setExternal(true); job.setAutoCleared(true); return job; }
public void setStartTime(Date startTime) { this.startTime = startTime; setLastUpdateTime(startTime); }