CQWorkflowModelWrapper.java 6.57 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.granite.workflow.metadata.MetaDataMap
 *  com.adobe.granite.workflow.model.ValidationException
 *  com.adobe.granite.workflow.model.WorkflowModel
 *  com.adobe.granite.workflow.model.WorkflowNode
 *  com.adobe.granite.workflow.model.WorkflowTransition
 *  com.day.cq.workflow.metadata.MetaDataMap
 *  com.day.cq.workflow.model.ValidationException
 *  com.day.cq.workflow.model.WorkflowModel
 *  com.day.cq.workflow.model.WorkflowNode
 *  com.day.cq.workflow.model.WorkflowTransition
 */
package com.day.cq.workflow.impl.model;

import com.adobe.granite.workflow.metadata.MetaDataMap;
import com.adobe.granite.workflow.model.ValidationException;
import com.adobe.granite.workflow.model.WorkflowNode;
import com.adobe.granite.workflow.model.WorkflowTransition;
import com.day.cq.workflow.impl.metadata.CQMetaDataMap;
import com.day.cq.workflow.impl.model.CQWorkflowNodeWrapper;
import com.day.cq.workflow.impl.model.CQWorkflowTransitionWrapper;
import com.day.cq.workflow.impl.util.LegacyMetaDataWrapperImpl;
import com.day.cq.workflow.model.WorkflowModel;
import java.util.ArrayList;
import java.util.Dictionary;
import java.util.List;

public class CQWorkflowModelWrapper
implements WorkflowModel {
    private com.adobe.granite.workflow.model.WorkflowModel graniteModel;

    public CQWorkflowModelWrapper(com.adobe.granite.workflow.model.WorkflowModel graniteModel) {
        if (graniteModel == null) {
            throw new RuntimeException("Workflow Wrappers cannot be instantiated with null");
        }
        this.graniteModel = graniteModel;
    }

    public com.adobe.granite.workflow.model.WorkflowModel getGraniteModel() {
        return this.graniteModel;
    }

    public String getId() {
        return this.graniteModel.getId();
    }

    public String getTitle() {
        return this.graniteModel.getTitle();
    }

    public void setTitle(String title) {
        this.graniteModel.setTitle(title);
    }

    public String getDescription() {
        return this.graniteModel.getDescription();
    }

    public void setDescription(String description) {
        this.graniteModel.setDescription(description);
    }

    public String getVersion() {
        return this.graniteModel.getVersion();
    }

    public List<com.day.cq.workflow.model.WorkflowNode> getNodes() {
        List graniteNodes = this.graniteModel.getNodes();
        ArrayList<com.day.cq.workflow.model.WorkflowNode> nodes = new ArrayList<com.day.cq.workflow.model.WorkflowNode>(graniteNodes.size());
        for (WorkflowNode node : graniteNodes) {
            if (node == null) continue;
            nodes.add(new CQWorkflowNodeWrapper(node));
        }
        return nodes;
    }

    public com.day.cq.workflow.model.WorkflowNode createNode() {
        WorkflowNode newNode = this.graniteModel.createNode();
        return new CQWorkflowNodeWrapper(newNode);
    }

    public com.day.cq.workflow.model.WorkflowNode createNode(String title, String type, String description) {
        return new CQWorkflowNodeWrapper(this.graniteModel.createNode(title, type, description));
    }

    public void setRootNode(com.day.cq.workflow.model.WorkflowNode node) {
        if (!(node instanceof CQWorkflowNodeWrapper)) {
            throw new UnsupportedOperationException("invalid type of WorkflowNode: " + node.getClass());
        }
        this.graniteModel.setRootNode(((CQWorkflowNodeWrapper)node).getNode());
    }

    public void setEndNode(com.day.cq.workflow.model.WorkflowNode node) {
        if (!(node instanceof CQWorkflowNodeWrapper)) {
            throw new UnsupportedOperationException("invalid type of WorkflowNode: " + node.getClass());
        }
        this.graniteModel.setEndNode(((CQWorkflowNodeWrapper)node).getNode());
    }

    public com.day.cq.workflow.model.WorkflowNode getNode(String id) {
        WorkflowNode node = this.graniteModel.getNode(id);
        if (node != null) {
            return new CQWorkflowNodeWrapper(node);
        }
        return null;
    }

    public com.day.cq.workflow.model.WorkflowNode getRootNode() {
        if (this.graniteModel.getRootNode() != null) {
            return new CQWorkflowNodeWrapper(this.graniteModel.getRootNode());
        }
        return null;
    }

    public com.day.cq.workflow.model.WorkflowNode getEndNode() {
        if (this.graniteModel.getEndNode() != null) {
            return new CQWorkflowNodeWrapper(this.graniteModel.getEndNode());
        }
        return null;
    }

    public List<com.day.cq.workflow.model.WorkflowTransition> getTransitions() {
        if (this.graniteModel.getTransitions() != null) {
            ArrayList<com.day.cq.workflow.model.WorkflowTransition> transitions = new ArrayList<com.day.cq.workflow.model.WorkflowTransition>(this.graniteModel.getTransitions().size());
            for (WorkflowTransition transition : this.graniteModel.getTransitions()) {
                if (transition == null) continue;
                transitions.add(new CQWorkflowTransitionWrapper(transition));
            }
            return transitions;
        }
        return null;
    }

    public com.day.cq.workflow.model.WorkflowTransition createTransition() {
        return new CQWorkflowTransitionWrapper(this.graniteModel.createTransition());
    }

    public com.day.cq.workflow.model.WorkflowTransition createTransition(com.day.cq.workflow.model.WorkflowNode from, com.day.cq.workflow.model.WorkflowNode to, String rule) {
        WorkflowTransition transition = this.graniteModel.createTransition();
        transition.setTo(((CQWorkflowNodeWrapper)to).getNode());
        transition.setFrom(((CQWorkflowNodeWrapper)from).getNode());
        transition.setRule(rule);
        return new CQWorkflowTransitionWrapper(transition);
    }

    public void validate() throws com.day.cq.workflow.model.ValidationException {
        try {
            this.graniteModel.validate();
        }
        catch (ValidationException e) {
            com.day.cq.workflow.model.ValidationException ex = new com.day.cq.workflow.model.ValidationException(e.getMessage(), e.getCause());
            throw ex;
        }
    }

    public Dictionary<String, String> getMetaData() {
        if (this.graniteModel.getMetaDataMap() != null) {
            return new LegacyMetaDataWrapperImpl(this.graniteModel.getMetaDataMap());
        }
        return null;
    }

    public com.day.cq.workflow.metadata.MetaDataMap getMetaDataMap() {
        if (this.graniteModel.getMetaDataMap() != null) {
            CQMetaDataMap map = new CQMetaDataMap(this.graniteModel.getMetaDataMap());
            return map;
        }
        return null;
    }
}