/**
* Copyright (C) 2015 Orange
* Licensed 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 com.francetelecom.clara.cloud.paas.activation.v1;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.francetelecom.clara.cloud.commons.tasks.TaskStatus;
/**
* TaskStatus used by ActivationTaskHandlerCallback
*/
public class TaskStatusActivitiTask extends TaskStatus {
private static final long serialVersionUID = 7474496403761240203L;
private static Logger logger = LoggerFactory.getLogger(TaskStatusActivitiTask.class.getName());
private ActivationTask activationTask = null;
private String executionId = null;
private TaskStatus status = null;
public TaskStatusActivitiTask() {
super();
}
public TaskStatusActivitiTask(long taskId) {
super(taskId);
}
public TaskStatusActivitiTask(TaskStatusActivitiTask status) {
// Copy
super(status);
this.activationTask = status.getActivationTask();
this.executionId = status.executionId;
if (status.getStatus() != null) {
setStatus(new TaskStatus(status.getStatus()));
}
else {
this.status = null;
}
}
public static void displayTaskStatus(TaskStatusActivitiTask status) {
if (status.getActivationTask() != null) {
logger.debug("ActivationTask: "
+ status.getActivationTask().getActivationStep() + ", "
+ status.getActivationTask().getActivitiTaskId() + ", "
+ status.getActivationTask().getEntityId() + ", "
+ status.getActivationTask().getEntityClass().getName() + ")");
}
displayTaskStatus(status, 0);
}
public String getExecutionId() {
return executionId;
}
public void setExecutionId(String executionId) {
this.executionId = executionId;
}
public ActivationTask getActivationTask() {
return activationTask;
}
public void setActivationTask(ActivationTask activationTask) {
this.activationTask = activationTask;
}
public TaskStatus getStatus() {
return status;
}
/**
* Set task status and copy status info to 'this' status
* @param status Status of the task being executed
*/
public void setStatus(TaskStatus status) {
this.status = status;
setTitle(status.getTitle());
setSubtitle(status.getSubtitle());
setStartTime(status.getStartTime());
setEndTime(status.getEndTime());
setSuggestedTimeout(status.getSuggestedTimeout());
setPercent(status.getPercent());
setMaxPercent(status.getMaxPercent());
setErrorMessage(status.getErrorMessage());
setTaskStatus(status.getTaskStatus());
}
}