/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.api.mapper; import static com.emc.storageos.api.mapper.DbObjectMapper.mapDataObjectFields; import static com.emc.storageos.api.mapper.DbObjectMapper.toRelatedResource; import java.net.URI; import java.util.List; import com.emc.storageos.db.client.URIUtil; import com.emc.storageos.db.client.model.Workflow; import com.emc.storageos.db.client.model.WorkflowStep; import com.emc.storageos.model.ResourceTypeEnum; import com.emc.storageos.model.workflow.WorkflowRestRep; import com.emc.storageos.model.workflow.WorkflowStepRestRep; public class WorkflowMapper { public static WorkflowRestRep map(Workflow from) { if (from == null) { return null; } WorkflowRestRep to = new WorkflowRestRep(); mapDataObjectFields(from, to); to.setOrchestrationTaskId(from.getOrchTaskId()); to.setOrchestrationControllerName(from.getOrchControllerName()); to.setOrchestrationMethod(from.getOrchMethod()); to.setCompletionMessage(from.getCompletionMessage()); to.setCompletionState(from.getCompletionState()); to.setCompleted(from.getCompleted()); return to; } public static WorkflowStepRestRep map(WorkflowStep from) { if (from == null) { return null; } WorkflowStepRestRep to = new WorkflowStepRestRep(); mapDataObjectFields(from, to); to.setControllerName(from.getControllerName()); to.setDescription(from.getDescription()); to.setSystemType(from.getSystemType()); to.setExecuteMethod(from.getExecuteMethod()); to.setMessage(from.getMessage()); to.setState(from.getState()); to.setStepGroup(from.getStepGroup()); to.setStepId(from.getStepId()); to.setWaitFor(from.getWaitFor()); to.setSystem(from.getSystemId().toString()); to.setWorkflow(toRelatedResource(ResourceTypeEnum.WORKFLOW, from.getWorkflowId())); to.setStartTime(from.getStartTime()); to.setEndTime(from.getEndTime()); return to; } public static WorkflowStepRestRep map(WorkflowStep from, List<URI> childWorkflows) { if (from == null) { return null; } WorkflowStepRestRep to = new WorkflowStepRestRep(); mapDataObjectFields(from, to); to.setControllerName(from.getControllerName()); to.setDescription(from.getDescription()); to.setSystemType(from.getSystemType()); to.setExecuteMethod(from.getExecuteMethod()); to.setMessage(from.getMessage()); to.setState(from.getState()); to.setStepGroup(from.getStepGroup()); to.setStepId(from.getStepId()); to.setWaitFor(from.getWaitFor()); if (false == from.getSystemId().equals(URIUtil.NULL_URI)) { to.setSystem(from.getSystemId().toString()); } else { to.setSystem(""); } to.setWorkflow(toRelatedResource(ResourceTypeEnum.WORKFLOW, from.getWorkflowId())); to.setStartTime(from.getStartTime()); to.setEndTime(from.getEndTime()); for (URI childWorkflow : childWorkflows) { to.getChildWorkflows().add( toRelatedResource(ResourceTypeEnum.WORKFLOW, childWorkflow)); } return to; } }