Search in sources :

Example 1 with ResourceParameters

use of bpsim.ResourceParameters in project kie-wb-common by kiegroup.

the class SimulationSets method of.

public static SimulationSet of(ElementParameters eleType) {
    TimeParameters timeParams = eleType.getTimeParameters();
    if (timeParams == null) {
        return new SimulationSet();
    }
    Parameter processingTime = timeParams.getProcessingTime();
    ParameterValue paramValue = processingTime.getParameterValue().get(0);
    SimulationSet simulationSet = Match.of(ParameterValue.class, SimulationSet.class).when(NormalDistributionType.class, ndt -> {
        SimulationSet sset = new SimulationSet();
        sset.getMean().setValue(ndt.getMean());
        sset.getStandardDeviation().setValue(ndt.getStandardDeviation());
        sset.getDistributionType().setValue("normal");
        return sset;
    }).when(UniformDistributionType.class, udt -> {
        SimulationSet sset = new SimulationSet();
        sset.getMin().setValue(udt.getMin());
        sset.getMax().setValue(udt.getMax());
        sset.getDistributionType().setValue("uniform");
        return sset;
    }).when(PoissonDistributionType.class, pdt -> {
        SimulationSet sset = new SimulationSet();
        sset.getMean().setValue(pdt.getMean());
        sset.getDistributionType().setValue("poisson");
        return sset;
    }).apply(paramValue).asSuccess().value();
    CostParameters costParams = eleType.getCostParameters();
    if (costParams != null) {
        simulationSet.getUnitCost().setValue(extractDouble(costParams.getUnitCost()));
    }
    ResourceParameters resourceParams = eleType.getResourceParameters();
    if (resourceParams != null) {
        Double quantity = extractDouble(resourceParams.getQuantity());
        simulationSet.getQuantity().setValue(quantity);
        Double availability = extractDouble(resourceParams.getAvailability());
        simulationSet.getWorkingHours().setValue(availability);
    }
    return simulationSet;
}
Also used : ParameterValue(bpsim.ParameterValue) Parameter(bpsim.Parameter) PoissonDistributionType(bpsim.PoissonDistributionType) SimulationSet(org.kie.workbench.common.stunner.bpmn.definition.property.simulation.SimulationSet) ResourceParameters(bpsim.ResourceParameters) Factories.bpsim(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpsim) UniformDistributionType(bpsim.UniformDistributionType) EList(org.eclipse.emf.common.util.EList) CostParameters(bpsim.CostParameters) FloatingParameterType(bpsim.FloatingParameterType) NormalDistributionType(bpsim.NormalDistributionType) Match(org.kie.workbench.common.stunner.bpmn.backend.converters.Match) ElementParameters(bpsim.ElementParameters) TimeParameters(bpsim.TimeParameters) PoissonDistributionType(bpsim.PoissonDistributionType) SimulationSet(org.kie.workbench.common.stunner.bpmn.definition.property.simulation.SimulationSet) ParameterValue(bpsim.ParameterValue) CostParameters(bpsim.CostParameters) NormalDistributionType(bpsim.NormalDistributionType) Parameter(bpsim.Parameter) TimeParameters(bpsim.TimeParameters) ResourceParameters(bpsim.ResourceParameters)

Example 2 with ResourceParameters

use of bpsim.ResourceParameters in project kie-wb-common by kiegroup.

the class Simulations method simulationSet.

public static SimulationSet simulationSet(ElementParameters eleType) {
    SimulationSet simulationSet = new SimulationSet();
    TimeParameters timeParams = eleType.getTimeParameters();
    if (timeParams == null) {
        return simulationSet;
    }
    Parameter processingTime = timeParams.getProcessingTime();
    ParameterValue paramValue = processingTime.getParameterValue().get(0);
    VoidMatch.of(ParameterValue.class).when(NormalDistributionType.class, ndt -> {
        simulationSet.getMean().setValue(ndt.getMean());
        simulationSet.getStandardDeviation().setValue(ndt.getStandardDeviation());
        simulationSet.getDistributionType().setValue("normal");
    }).when(UniformDistributionType.class, udt -> {
        simulationSet.getMin().setValue(udt.getMin());
        simulationSet.getMax().setValue(udt.getMax());
        simulationSet.getDistributionType().setValue("uniform");
    }).when(PoissonDistributionType.class, pdt -> {
        simulationSet.getMean().setValue(pdt.getMean());
        simulationSet.getDistributionType().setValue("poisson");
    }).apply(paramValue).asSuccess().value();
    CostParameters costParams = eleType.getCostParameters();
    if (costParams != null) {
        simulationSet.getUnitCost().setValue(extractDouble(costParams.getUnitCost()));
    }
    // controlParams(eleType, simulationSet);
    ResourceParameters resourceParams = eleType.getResourceParameters();
    if (resourceParams != null) {
        Double quantity = extractDouble(resourceParams.getQuantity());
        simulationSet.getQuantity().setValue(quantity);
        Double availability = extractDouble(resourceParams.getAvailability());
        simulationSet.getWorkingHours().setValue(availability);
    }
    return simulationSet;
}
Also used : VoidMatch(org.kie.workbench.common.stunner.bpmn.backend.converters.VoidMatch) ParameterValue(bpsim.ParameterValue) Parameter(bpsim.Parameter) PoissonDistributionType(bpsim.PoissonDistributionType) SimulationSet(org.kie.workbench.common.stunner.bpmn.definition.property.simulation.SimulationSet) ResourceParameters(bpsim.ResourceParameters) UniformDistributionType(bpsim.UniformDistributionType) EList(org.eclipse.emf.common.util.EList) CostParameters(bpsim.CostParameters) FloatingParameterType(bpsim.FloatingParameterType) NormalDistributionType(bpsim.NormalDistributionType) Match(org.kie.workbench.common.stunner.bpmn.backend.converters.Match) ElementParameters(bpsim.ElementParameters) TimeParameters(bpsim.TimeParameters) SimulationAttributeSet(org.kie.workbench.common.stunner.bpmn.definition.property.simulation.SimulationAttributeSet) PoissonDistributionType(bpsim.PoissonDistributionType) SimulationSet(org.kie.workbench.common.stunner.bpmn.definition.property.simulation.SimulationSet) ParameterValue(bpsim.ParameterValue) CostParameters(bpsim.CostParameters) NormalDistributionType(bpsim.NormalDistributionType) Parameter(bpsim.Parameter) TimeParameters(bpsim.TimeParameters) ResourceParameters(bpsim.ResourceParameters)

Example 3 with ResourceParameters

use of bpsim.ResourceParameters in project kie-wb-common by kiegroup.

the class Bpmn2JsonUnmarshaller method applyUserTaskProperties.

protected void applyUserTaskProperties(UserTask task, Map<String, String> properties) {
    setLastUserTaskID(task);
    if (properties.get("actors") != null && properties.get("actors").length() > 0) {
        String[] allActors = properties.get("actors").split(",\\s*");
        for (String actor : allActors) {
            PotentialOwner po = Bpmn2Factory.eINSTANCE.createPotentialOwner();
            ResourceAssignmentExpression rae = Bpmn2Factory.eINSTANCE.createResourceAssignmentExpression();
            FormalExpression fe = Bpmn2Factory.eINSTANCE.createFormalExpression();
            fe.setBody(actor);
            rae.setExpression(fe);
            po.setResourceAssignmentExpression(rae);
            task.getResources().add(po);
        }
    }
    if (properties.get("script_language") != null && properties.get("script_language").length() > 0) {
        String scriptLanguage = getScriptLanguageFormat(properties);
        ExtendedMetaData metadata = ExtendedMetaData.INSTANCE;
        EAttributeImpl scriptLanguageElement = (EAttributeImpl) metadata.demandFeature("http://www.jboss.org/drools", "scriptFormat", false, false);
        SimpleFeatureMapEntry extensionEntry = new SimpleFeatureMapEntry(scriptLanguageElement, scriptLanguage);
        task.getAnyAttribute().add(extensionEntry);
    }
    if (properties.get("groupid") != null && properties.get("groupid").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundGroupIdInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("GroupId")) {
                foundGroupIdInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundGroupIdInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "GroupId" + "InputX");
            d.setName("GroupId");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundGroupIdAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundGroupIdAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(wrapInCDATABlock(properties.get("groupid")));
            }
        }
        if (!foundGroupIdAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression groupFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            groupFromExpression.setBody(wrapInCDATABlock(properties.get("groupid")));
            FormalExpression groupToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            groupToExpression.setBody(foundInput.getId());
            a.setFrom(groupFromExpression);
            a.setTo(groupToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    // default to true if not set
    String skippableStr = (properties.get("skippable") == null ? "true" : properties.get("skippable"));
    if (skippableStr.length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundSkippableInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("Skippable")) {
                foundSkippableInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundSkippableInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "Skippable" + "InputX");
            d.setName("Skippable");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundSkippableAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundSkippableAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(skippableStr);
            }
        }
        if (!foundSkippableAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression skippableFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            skippableFromExpression.setBody(skippableStr);
            FormalExpression skippableToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            skippableToExpression.setBody(foundInput.getId());
            a.setFrom(skippableFromExpression);
            a.setTo(skippableToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    if (properties.get("subject") != null && properties.get("subject").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundCommentInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("Comment")) {
                foundCommentInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundCommentInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "Comment" + "InputX");
            d.setName("Comment");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundCommentAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundCommentAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(wrapInCDATABlock(properties.get("subject")));
            }
        }
        if (!foundCommentAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression commentFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            commentFromExpression.setBody(wrapInCDATABlock(properties.get("subject")));
            FormalExpression commentToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            commentToExpression.setBody(foundInput.getId());
            a.setFrom(commentFromExpression);
            a.setTo(commentToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    if (properties.get("description") != null && properties.get("description").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundDescriptionInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("Description")) {
                foundDescriptionInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundDescriptionInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "Description" + "InputX");
            d.setName("Description");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundDescriptionAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundDescriptionAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(wrapInCDATABlock(properties.get("description")));
            }
        }
        if (!foundDescriptionAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression descriptionFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            descriptionFromExpression.setBody(wrapInCDATABlock(properties.get("description")));
            FormalExpression descriptionToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            descriptionToExpression.setBody(foundInput.getId());
            a.setFrom(descriptionFromExpression);
            a.setTo(descriptionToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    if (properties.get("priority") != null && properties.get("priority").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundPriorityInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("Priority")) {
                foundPriorityInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundPriorityInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "Priority" + "InputX");
            d.setName("Priority");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundPriorityAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundPriorityAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(properties.get("priority"));
            }
        }
        if (!foundPriorityAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression priorityFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            priorityFromExpression.setBody(properties.get("priority"));
            FormalExpression priorityToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            priorityToExpression.setBody(foundInput.getId());
            a.setFrom(priorityFromExpression);
            a.setTo(priorityToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    if (properties.get("content") != null && properties.get("content").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            OutputSet outSet = Bpmn2Factory.eINSTANCE.createOutputSet();
            iospec.getOutputSets().add(outSet);
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundContentInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("Content")) {
                foundContentInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundContentInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "Content" + "InputX");
            d.setName("Content");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundContentAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundContentAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(wrapInCDATABlock(properties.get("content")));
            }
        }
        if (!foundContentAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression contentFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            contentFromExpression.setBody(wrapInCDATABlock(properties.get("content")));
            FormalExpression contentToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            contentToExpression.setBody(foundInput.getId());
            a.setFrom(contentFromExpression);
            a.setTo(contentToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    if (properties.get("locale") != null && properties.get("locale").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundLocaleInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("Locale")) {
                foundLocaleInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundLocaleInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "Locale" + "InputX");
            d.setName("Locale");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundLocaleAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundLocaleAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(wrapInCDATABlock(properties.get("locale")));
            }
        }
        if (!foundLocaleAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression localeFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            localeFromExpression.setBody(wrapInCDATABlock(properties.get("locale")));
            FormalExpression localeToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            localeToExpression.setBody(foundInput.getId());
            a.setFrom(localeFromExpression);
            a.setTo(localeToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    if (properties.get("createdby") != null && properties.get("createdby").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundCreatedByInput = false;
        DataInput foundInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("CreatedBy")) {
                foundCreatedByInput = true;
                foundInput = din;
                break;
            }
        }
        if (!foundCreatedByInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "CreatedBy" + "InputX");
            d.setName("CreatedBy");
            task.getIoSpecification().getDataInputs().add(d);
            foundInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundCreatedByAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundInput.getId())) {
                foundCreatedByAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(wrapInCDATABlock(properties.get("createdby")));
            }
        }
        if (!foundCreatedByAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression createdByFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            createdByFromExpression.setBody(wrapInCDATABlock(properties.get("createdby")));
            FormalExpression createdByToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            createdByToExpression.setBody(foundInput.getId());
            a.setFrom(createdByFromExpression);
            a.setTo(createdByToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    // reassignments
    if (properties.get("reassignment") != null && properties.get("reassignment").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundNotCompletedReassignmentsInput = false;
        boolean foundNotStartedReassignmentsInput = false;
        DataInput foundNotCompletedDataInput = null;
        DataInput foundNotStartedDataInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("NotCompletedReassign")) {
                foundNotCompletedReassignmentsInput = true;
                foundNotCompletedDataInput = din;
            }
            if (din.getName().equals("NotStartedReassign")) {
                foundNotStartedReassignmentsInput = true;
                foundNotStartedDataInput = din;
            }
        }
        if (!foundNotCompletedReassignmentsInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "NotCompletedReassign" + "InputX");
            d.setName("NotCompletedReassign");
            task.getIoSpecification().getDataInputs().add(d);
            foundNotCompletedDataInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        if (!foundNotStartedReassignmentsInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "NotStartedReassign" + "InputX");
            d.setName("NotStartedReassign");
            task.getIoSpecification().getDataInputs().add(d);
            foundNotStartedDataInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundNotCompletedReassignmentAssociation = false;
        boolean foundNotStartedReassignmentAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundNotCompletedDataInput.getId())) {
                foundNotCompletedReassignmentAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(getReassignmentsAndNotificationsForType(properties.get("reassignment"), "not-completed"));
            }
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundNotStartedDataInput.getId())) {
                foundNotStartedReassignmentAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(getReassignmentsAndNotificationsForType(properties.get("reassignment"), "not-started"));
            }
        }
        if (!foundNotCompletedReassignmentAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundNotCompletedDataInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression notCompletedFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notCompletedFromExpression.setBody(getReassignmentsAndNotificationsForType(properties.get("reassignment"), "not-completed"));
            FormalExpression notCompletedToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notCompletedToExpression.setBody(foundNotCompletedDataInput.getId());
            a.setFrom(notCompletedFromExpression);
            a.setTo(notCompletedToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
        if (!foundNotStartedReassignmentAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundNotStartedDataInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression notStartedFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notStartedFromExpression.setBody(getReassignmentsAndNotificationsForType(properties.get("reassignment"), "not-started"));
            FormalExpression notStartedToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notStartedToExpression.setBody(foundNotStartedDataInput.getId());
            a.setFrom(notStartedFromExpression);
            a.setTo(notStartedToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    // start notifications
    if (properties.get("notifications") != null && properties.get("notifications").length() > 0) {
        if (task.getIoSpecification() == null) {
            InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification();
            task.setIoSpecification(iospec);
        }
        List<DataInput> dataInputs = task.getIoSpecification().getDataInputs();
        boolean foundNotCompletedNotificationsInput = false;
        boolean foundNotStartedNotificationsInput = false;
        DataInput foundNotCompletedDataInput = null;
        DataInput foundNotStartedDataInput = null;
        for (DataInput din : dataInputs) {
            if (din.getName().equals("NotCompletedNotify")) {
                foundNotCompletedNotificationsInput = true;
                foundNotCompletedDataInput = din;
            }
            if (din.getName().equals("NotStartedNotify")) {
                foundNotStartedNotificationsInput = true;
                foundNotStartedDataInput = din;
            }
        }
        if (!foundNotCompletedNotificationsInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "NotCompletedNotify" + "InputX");
            d.setName("NotCompletedNotify");
            task.getIoSpecification().getDataInputs().add(d);
            foundNotCompletedDataInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        if (!foundNotStartedNotificationsInput) {
            DataInput d = Bpmn2Factory.eINSTANCE.createDataInput();
            d.setId(task.getId() + "_" + "NotStartedNotify" + "InputX");
            d.setName("NotStartedNotify");
            task.getIoSpecification().getDataInputs().add(d);
            foundNotStartedDataInput = d;
            if (task.getIoSpecification().getInputSets() == null || task.getIoSpecification().getInputSets().size() < 1) {
                InputSet inset = Bpmn2Factory.eINSTANCE.createInputSet();
                task.getIoSpecification().getInputSets().add(inset);
            }
            task.getIoSpecification().getInputSets().get(0).getDataInputRefs().add(d);
        }
        boolean foundNotCompletedNotificationAssociation = false;
        boolean foundNotStartedNotificationAssociation = false;
        List<DataInputAssociation> inputAssociations = task.getDataInputAssociations();
        for (DataInputAssociation da : inputAssociations) {
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundNotCompletedDataInput.getId())) {
                foundNotCompletedNotificationAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(getReassignmentsAndNotificationsForType(properties.get("notifications"), "not-completed"));
            }
            if (da.getTargetRef() != null && da.getTargetRef().getId().equals(foundNotStartedDataInput.getId())) {
                foundNotStartedNotificationAssociation = true;
                ((FormalExpression) da.getAssignment().get(0).getFrom()).setBody(getReassignmentsAndNotificationsForType(properties.get("notifications"), "not-started"));
            }
        }
        if (!foundNotCompletedNotificationAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundNotCompletedDataInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression notCompletedFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notCompletedFromExpression.setBody(getReassignmentsAndNotificationsForType(properties.get("notifications"), "not-completed"));
            FormalExpression notCompletedToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notCompletedToExpression.setBody(foundNotCompletedDataInput.getId());
            a.setFrom(notCompletedFromExpression);
            a.setTo(notCompletedToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
        if (!foundNotStartedNotificationAssociation) {
            DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation();
            dia.setTargetRef(foundNotStartedDataInput);
            Assignment a = Bpmn2Factory.eINSTANCE.createAssignment();
            FormalExpression notStartedFromExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notStartedFromExpression.setBody(getReassignmentsAndNotificationsForType(properties.get("notifications"), "not-started"));
            FormalExpression notStartedToExpression = Bpmn2Factory.eINSTANCE.createFormalExpression();
            notStartedToExpression.setBody(foundNotStartedDataInput.getId());
            a.setFrom(notStartedFromExpression);
            a.setTo(notStartedToExpression);
            dia.getAssignment().add(a);
            task.getDataInputAssociations().add(dia);
        }
    }
    // revisit data assignments
    if (task.getDataInputAssociations() != null) {
        List<DataInputAssociation> dataInputAssociations = task.getDataInputAssociations();
        List<DataInputAssociation> incompleteAssociations = new ArrayList<DataInputAssociation>();
        for (DataInputAssociation dia : dataInputAssociations) {
            DataInput targetInput = (DataInput) dia.getTargetRef();
            if (targetInput != null && targetInput.getName() != null) {
                if (targetInput.getName().equals("GroupId") && (properties.get("groupid") == null || properties.get("groupid").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("Skippable") && (skippableStr == null || skippableStr.length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("Comment") && (properties.get("subject") == null || properties.get("subject").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("Description") && (properties.get("description") == null || properties.get("description").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("Priority") && (properties.get("priority") == null || properties.get("priority").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("Content") && (properties.get("content") == null || properties.get("content").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("Locale") && (properties.get("locale") == null || properties.get("locale").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("CreatedBy") && (properties.get("createdby") == null || properties.get("createdby").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("NotCompletedReassign") && (properties.get("reassignment") == null || properties.get("reassignment").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("NotStartedReassign") && (properties.get("reassignment") == null || properties.get("reassignment").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("NotCompletedNotify") && (properties.get("notifications") == null || properties.get("notifications").length() == 0)) {
                    incompleteAssociations.add(dia);
                } else if (targetInput.getName().equalsIgnoreCase("NotStartedNotify") && (properties.get("notifications") == null || properties.get("notifications").length() == 0)) {
                    incompleteAssociations.add(dia);
                }
            }
        }
        for (DataInputAssociation tr : incompleteAssociations) {
            if (task.getDataInputAssociations() != null) {
                task.getDataInputAssociations().remove(tr);
            }
        }
    }
    List<DataInput> toRemoveDataInputs = new ArrayList<DataInput>();
    if (task.getIoSpecification() != null && task.getIoSpecification().getDataInputs() != null) {
        List<DataInput> taskDataInputs = task.getIoSpecification().getDataInputs();
        for (DataInput din : taskDataInputs) {
            if (din.getName().equals("GroupId") && (properties.get("groupid") == null || properties.get("groupid").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("Skippable") && (skippableStr == null || skippableStr.length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("Comment") && (properties.get("subject") == null || properties.get("subject").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("Description") && (properties.get("description") == null || properties.get("description").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("Priority") && (properties.get("priority") == null || properties.get("priority").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("Content") && (properties.get("content") == null || properties.get("content").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("Locale") && (properties.get("locale") == null || properties.get("locale").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("CreatedBy") && (properties.get("createdby") == null || properties.get("createdby").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("NotCompletedReassign") && (properties.get("reassignment") == null || properties.get("reassignment").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("NotStartedReassign") && (properties.get("reassignment") == null || properties.get("reassignment").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("NotCompletedNotify") && (properties.get("notifications") == null || properties.get("notifications").length() == 0)) {
                toRemoveDataInputs.add(din);
            } else if (din.getName().equalsIgnoreCase("NotStartedNotify") && (properties.get("notifications") == null || properties.get("notifications").length() == 0)) {
                toRemoveDataInputs.add(din);
            }
        }
    }
    for (DataInput trdin : toRemoveDataInputs) {
        if (task.getIoSpecification() != null && task.getIoSpecification().getDataInputs() != null) {
            if (task.getIoSpecification().getInputSets().size() > 0) {
                task.getIoSpecification().getInputSets().get(0).getDataInputRefs().remove(trdin);
            }
        }
        task.getIoSpecification().getDataInputs().remove(trdin);
    }
    // simulation properties
    ResourceParameters resourceParameters = BpsimFactory.eINSTANCE.createResourceParameters();
    if (properties.get("quantity") != null && properties.get("quantity").length() > 0) {
        Parameter quantityParam = BpsimFactory.eINSTANCE.createParameter();
        FloatingParameterType quantityValueParam = BpsimFactory.eINSTANCE.createFloatingParameterType();
        DecimalFormat twoDForm = new DecimalFormat("#.##");
        quantityValueParam.setValue(Double.valueOf(twoDForm.format(Double.valueOf(properties.get("quantity")))));
        quantityParam.getParameterValue().add(quantityValueParam);
        resourceParameters.setQuantity(quantityParam);
    }
    if (properties.get("workinghours") != null && properties.get("workinghours").length() > 0) {
        Parameter workingHoursParam = BpsimFactory.eINSTANCE.createParameter();
        FloatingParameterType workingHoursValueParam = BpsimFactory.eINSTANCE.createFloatingParameterType();
        DecimalFormat twoDForm = new DecimalFormat("#.##");
        workingHoursValueParam.setValue(Double.valueOf(twoDForm.format(Double.valueOf(properties.get("workinghours")))));
        workingHoursParam.getParameterValue().add(workingHoursValueParam);
        resourceParameters.setAvailability(workingHoursParam);
    }
    if (_simulationElementParameters.containsKey(task.getId())) {
        _simulationElementParameters.get(task.getId()).add(resourceParameters);
    } else {
        List<EObject> values = new ArrayList<EObject>();
        values.add(resourceParameters);
        _simulationElementParameters.put(task.getId(), values);
    }
}
Also used : OutputSet(org.eclipse.bpmn2.OutputSet) ResourceAssignmentExpression(org.eclipse.bpmn2.ResourceAssignmentExpression) InputOutputSpecification(org.eclipse.bpmn2.InputOutputSpecification) DecimalFormat(java.text.DecimalFormat) PotentialOwner(org.eclipse.bpmn2.PotentialOwner) ArrayList(java.util.ArrayList) FormalExpression(org.eclipse.bpmn2.FormalExpression) ResourceParameters(bpsim.ResourceParameters) FloatingParameterType(bpsim.FloatingParameterType) DataInput(org.eclipse.bpmn2.DataInput) InputSet(org.eclipse.bpmn2.InputSet) Assignment(org.eclipse.bpmn2.Assignment) EAttributeImpl(org.eclipse.emf.ecore.impl.EAttributeImpl) EObject(org.eclipse.emf.ecore.EObject) Parameter(bpsim.Parameter) SimpleFeatureMapEntry(org.eclipse.emf.ecore.impl.EStructuralFeatureImpl.SimpleFeatureMapEntry) ExtendedMetaData(org.eclipse.emf.ecore.util.ExtendedMetaData) DataInputAssociation(org.eclipse.bpmn2.DataInputAssociation)

Example 4 with ResourceParameters

use of bpsim.ResourceParameters in project jbpm by kiegroup.

the class ElementParametersImpl method basicSetResourceParameters.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public NotificationChain basicSetResourceParameters(ResourceParameters newResourceParameters, NotificationChain msgs) {
    ResourceParameters oldResourceParameters = resourceParameters;
    resourceParameters = newResourceParameters;
    if (eNotificationRequired()) {
        ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BpsimPackage.ELEMENT_PARAMETERS__RESOURCE_PARAMETERS, oldResourceParameters, newResourceParameters);
        if (msgs == null)
            msgs = notification;
        else
            msgs.add(notification);
    }
    return msgs;
}
Also used : ENotificationImpl(org.eclipse.emf.ecore.impl.ENotificationImpl) ResourceParameters(bpsim.ResourceParameters)

Example 5 with ResourceParameters

use of bpsim.ResourceParameters in project kie-wb-common by kiegroup.

the class Bpmn2JsonUnmarshaller method addSimulation.

public void addSimulation(Definitions def) {
    Relationship relationship = Bpmn2Factory.eINSTANCE.createRelationship();
    relationship.getSources().add(def);
    relationship.getTargets().add(def);
    relationship.setType(defaultRelationshipType);
    BPSimDataType simDataType = BpsimFactory.eINSTANCE.createBPSimDataType();
    // currently support single scenario
    Scenario defaultScenario = BpsimFactory.eINSTANCE.createScenario();
    // single scenario suppoert
    defaultScenario.setId("default");
    // single scenario support
    defaultScenario.setName("Simulationscenario");
    defaultScenario.setScenarioParameters(_simulationScenarioParameters);
    if (_simulationElementParameters.size() > 0) {
        Iterator<String> iter = _simulationElementParameters.keySet().iterator();
        while (iter.hasNext()) {
            String key = iter.next();
            ElementParameters etype = BpsimFactory.eINSTANCE.createElementParameters();
            etype.setElementRef(key);
            List<EObject> params = _simulationElementParameters.get(key);
            for (EObject np : params) {
                if (np instanceof ControlParameters) {
                    etype.setControlParameters((ControlParameters) np);
                } else if (np instanceof CostParameters) {
                    etype.setCostParameters((CostParameters) np);
                } else if (np instanceof PriorityParameters) {
                    etype.setPriorityParameters((PriorityParameters) np);
                } else if (np instanceof ResourceParameters) {
                    etype.setResourceParameters((ResourceParameters) np);
                } else if (np instanceof TimeParameters) {
                    etype.setTimeParameters((TimeParameters) np);
                }
            }
            defaultScenario.getElementParameters().add(etype);
        }
    }
    simDataType.getScenario().add(defaultScenario);
    ExtensionAttributeValue extensionElement = Bpmn2Factory.eINSTANCE.createExtensionAttributeValue();
    relationship.getExtensionValues().add(extensionElement);
    FeatureMap.Entry extensionElementEntry = new SimpleFeatureMapEntry((Internal) BpsimPackage.Literals.DOCUMENT_ROOT__BP_SIM_DATA, simDataType);
    relationship.getExtensionValues().get(0).getValue().add(extensionElementEntry);
    def.getRelationships().add(relationship);
}
Also used : CostParameters(bpsim.CostParameters) ElementParameters(bpsim.ElementParameters) ExtensionAttributeValue(org.eclipse.bpmn2.ExtensionAttributeValue) ResourceParameters(bpsim.ResourceParameters) Scenario(bpsim.Scenario) FeatureMap(org.eclipse.emf.ecore.util.FeatureMap) Relationship(org.eclipse.bpmn2.Relationship) EObject(org.eclipse.emf.ecore.EObject) ControlParameters(bpsim.ControlParameters) SimpleFeatureMapEntry(org.eclipse.emf.ecore.impl.EStructuralFeatureImpl.SimpleFeatureMapEntry) PriorityParameters(bpsim.PriorityParameters) BPSimDataType(bpsim.BPSimDataType) TimeParameters(bpsim.TimeParameters)

Aggregations

ResourceParameters (bpsim.ResourceParameters)6 CostParameters (bpsim.CostParameters)4 ElementParameters (bpsim.ElementParameters)4 Parameter (bpsim.Parameter)4 TimeParameters (bpsim.TimeParameters)4 FloatingParameterType (bpsim.FloatingParameterType)3 NormalDistributionType (bpsim.NormalDistributionType)3 PoissonDistributionType (bpsim.PoissonDistributionType)3 UniformDistributionType (bpsim.UniformDistributionType)3 ParameterValue (bpsim.ParameterValue)2 EList (org.eclipse.emf.common.util.EList)2 EObject (org.eclipse.emf.ecore.EObject)2 SimpleFeatureMapEntry (org.eclipse.emf.ecore.impl.EStructuralFeatureImpl.SimpleFeatureMapEntry)2 Match (org.kie.workbench.common.stunner.bpmn.backend.converters.Match)2 SimulationSet (org.kie.workbench.common.stunner.bpmn.definition.property.simulation.SimulationSet)2 BPSimDataType (bpsim.BPSimDataType)1 ControlParameters (bpsim.ControlParameters)1 PriorityParameters (bpsim.PriorityParameters)1 Scenario (bpsim.Scenario)1 DecimalFormat (java.text.DecimalFormat)1