ProcessImpl.java :  » Workflow-Engines » bexee » bexee » model » process » impl » Java Open Source

Java Open Source » Workflow Engines » bexee 
bexee » bexee » model » process » impl » ProcessImpl.java
/*
 * $Id: ProcessImpl.java,v 1.12 2004/12/09 12:34:44 kowap Exp $
 *
 * Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
 * Berne University of Applied Sciences
 * School of Engineering and Information Technology
 * All rights reserved.
 */
package bexee.model.process.impl;

import bexee.core.ProcessController;
import bexee.core.ProcessInstance;
import bexee.model.BPELElementVisitor;
import bexee.model.InvalidValueException;
import bexee.model.activity.Activity;
import bexee.model.activity.CompensationHandler;
import bexee.model.elements.CorrelationSets;
import bexee.model.elements.EventHandlers;
import bexee.model.elements.FaultHandlers;
import bexee.model.elements.PartnerLinks;
import bexee.model.elements.Partners;
import bexee.model.elements.Variables;
import bexee.model.process.Process;
import bexee.util.BooleanUtils;
import bexee.util.StringUtils;

/**
 * A default implementation of a <code>Process</code>.
 * 
 * @version $Revision: 1.12 $, $Date: 2004/12/09 12:34:44 $
 * @author Patric Fornasier
 * @author Pawel Kowalski
 */
public class ProcessImpl implements Process {

    private String name;

    private String targetNamespace;

    private String queryLanguage;

    private String expressionLanguage;

    private boolean isSuppressJoinFailure;

    private boolean isInstanceCompensable;

    private boolean isAbstractProcess;

    private PartnerLinks partnerLinks;

    private Partners partners;

    private Variables variables;

    private CorrelationSets correlationSets;

    private FaultHandlers faultHandlers;

    private CompensationHandler compensationHandler;

    private EventHandlers eventHandlers;

    private Activity activity;

    //**************************************************/
    // c'tors
    //**************************************************/

    public ProcessImpl() {
        this(null, null, null, null, null, null);
    }

    /**
     * @param name2
     * @param targetNamespace2
     * @param queryLanguage2
     * @param expressionLanguage2
     * @param suppressJoinFailure2
     * @param enableInstanceCompensation
     */
    public ProcessImpl(String name, String targetNamespace,
            String queryLanguage, String expressionLanguage,
            String suppressJoinFailure, String enableInstanceCompensation) {

        this.name = name;
        this.targetNamespace = targetNamespace;
        this.queryLanguage = getValidValueOrDefault(queryLanguage,
                DEFAULT_QUERY_LANGUAGE);
        this.expressionLanguage = getValidValueOrDefault(expressionLanguage,
                DEFAULT_EXPRESSION_LANGUAGE);
        this.isSuppressJoinFailure = getValidValueOrDefault(
                suppressJoinFailure, DEFAULT_SUPPRESS_JOIN_FAILURE);
        this.isInstanceCompensable = getValidValueOrDefault(
                enableInstanceCompensation,
                DEFAULT_ENABLE_INSTANCE_COMPENSATION);
    }

    //**************************************************/
    // bexee.model.process.Process
    //**************************************************/

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setTargetNamespace(String targetNamespace) {
        this.targetNamespace = targetNamespace;
    }

    public String getTargetNamespace() {
        return targetNamespace;
    }

    public void setQueryLanguage(String queryLanguage) {
        this.queryLanguage = queryLanguage;
    }

    public String getQueryLanguage() {
        return queryLanguage;
    }

    public void setExpressionLanguage(String expressionLanguage) {
        this.expressionLanguage = expressionLanguage;
    }

    public String getExpressionLanguage() {
        return expressionLanguage;
    }

    public void setSuppressJoinFailure(boolean suppressJoinFailure) {
        this.isSuppressJoinFailure = suppressJoinFailure;
    }

    public boolean isSuppressJoinFailure() {
        return isSuppressJoinFailure;
    }

    public void setEnableInstanceCompensation(boolean isInstanceCompensable) {
        this.isInstanceCompensable = isInstanceCompensable;
    }

    public boolean isInstanceCompensable() {
        return isInstanceCompensable;
    }

    public void setAbstractProcess(boolean isAbstractProcess) {
        this.isAbstractProcess = isAbstractProcess;
    }

    public boolean isAbstractProcess() {
        return isAbstractProcess;
    }

    public void setPartnerLinks(PartnerLinks partnerLinks) {
        this.partnerLinks = partnerLinks;
    }

    public PartnerLinks getPartnerLinks() {
        return partnerLinks;
    }

    public void setPartners(Partners partners) {
        this.partners = partners;
    }

    public Partners getPartners() {
        return partners;
    }

    public void setVariables(Variables variables) {
        this.variables = variables;
    }

    public Variables getVariables() {
        return variables;
    }

    public void setCorrelationSets(CorrelationSets correlationSets) {
        this.correlationSets = correlationSets;
    }

    public CorrelationSets getCorrelationSets() {
        return correlationSets;
    }

    public void setFaultHandlers(FaultHandlers faultHandlers) {
        this.faultHandlers = faultHandlers;
    }

    public FaultHandlers getFaultHandlers() {
        return faultHandlers;
    }

    public void setCompensationHandler(CompensationHandler compensationHandler) {
        this.compensationHandler = compensationHandler;
    }

    public CompensationHandler getCompensationHandler() {
        return compensationHandler;
    }

    public void setEventHandlers(EventHandlers eventHandlers) {
        this.eventHandlers = eventHandlers;
    }

    public EventHandlers getEventHandlers() {
        return eventHandlers;
    }

    public void activity(Activity activity) {
        setActivity(activity);
    }

    public void setActivity(Activity activity) {
        this.activity = activity;
    }

    public Activity getActivity() {
        return activity;
    }

    //**************************************************/
    // bexee.model.BPELElement
    //**************************************************/

    public void accept(ProcessController controller, ProcessInstance instance)
            throws Exception {
        controller.process(this, instance);
    }

    public void accept(BPELElementVisitor elementVisitor) {
        elementVisitor.visit(this);
    }

    //**************************************************/
    // helper methods
    //**************************************************/

    private String getValidValueOrDefault(String value, String defaultValue) {
        if (StringUtils.isNullOrEmpty(value)) {
            return defaultValue;
        } else {
            return value;
        }
    }

    private boolean getValidValueOrDefault(String value, boolean defaultValue) {
        try {
            return BooleanUtils.strictYesNoToBoolean(value);
        } catch (InvalidValueException e) {
            return defaultValue;
        }
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.