use of bpsim.PoissonDistributionType in project kie-wb-common by kiegroup.
the class SimulationAttributeSets method toElementParameters.
public static ElementParameters toElementParameters(SimulationAttributeSet simulationSet) {
ElementParameters elementParameters = bpsim.createElementParameters();
TimeParameters timeParameters = bpsim.createTimeParameters();
Parameter processingTime = bpsim.createParameter();
timeParameters.setProcessingTime(processingTime);
switch(simulationSet.getDistributionType().getValue()) {
case "normal":
NormalDistributionType ndt = bpsim.createNormalDistributionType();
ndt.setMean(simulationSet.getMean().getValue());
ndt.setStandardDeviation(simulationSet.getStandardDeviation().getValue());
processingTime.getParameterValue().add(ndt);
break;
case "uniform":
UniformDistributionType udt = bpsim.createUniformDistributionType();
udt.setMin(simulationSet.getMin().getValue());
udt.setMax(simulationSet.getMax().getValue());
processingTime.getParameterValue().add(udt);
break;
case "poisson":
PoissonDistributionType pdt = bpsim.createPoissonDistributionType();
pdt.setMean(simulationSet.getMean().getValue());
processingTime.getParameterValue().add(pdt);
break;
}
elementParameters.setTimeParameters(timeParameters);
return elementParameters;
}
use of bpsim.PoissonDistributionType in project kie-wb-common by kiegroup.
the class SimulationSets method toElementParameters.
public static ElementParameters toElementParameters(SimulationSet simulationSet) {
ElementParameters elementParameters = bpsim.createElementParameters();
TimeParameters timeParameters = bpsim.createTimeParameters();
Parameter processingTime = bpsim.createParameter();
timeParameters.setProcessingTime(processingTime);
switch(simulationSet.getDistributionType().getValue()) {
case "normal":
NormalDistributionType ndt = bpsim.createNormalDistributionType();
ndt.setMean(simulationSet.getMean().getValue());
ndt.setStandardDeviation(simulationSet.getStandardDeviation().getValue());
processingTime.getParameterValue().add(ndt);
break;
case "uniform":
UniformDistributionType udt = bpsim.createUniformDistributionType();
udt.setMin(simulationSet.getMin().getValue());
udt.setMax(simulationSet.getMax().getValue());
processingTime.getParameterValue().add(udt);
break;
case "poisson":
PoissonDistributionType pdt = bpsim.createPoissonDistributionType();
pdt.setMean(simulationSet.getMean().getValue());
processingTime.getParameterValue().add(pdt);
break;
}
elementParameters.setTimeParameters(timeParameters);
Double unitCost = simulationSet.getUnitCost().getValue();
Double quantity = simulationSet.getQuantity().getValue();
Double workingHours = simulationSet.getWorkingHours().getValue();
CostParameters costParameters = bpsim.createCostParameters();
costParameters.setUnitCost(toParameter(unitCost));
elementParameters.setCostParameters(costParameters);
ResourceParameters resourceParameters = bpsim.createResourceParameters();
resourceParameters.setQuantity(toParameter(quantity));
resourceParameters.setAvailability(toParameter(workingHours));
elementParameters.setResourceParameters(resourceParameters);
return elementParameters;
}
use of bpsim.PoissonDistributionType in project kie-wb-common by kiegroup.
the class Bpmn2JsonMarshaller method extractTimeParamsToProperties.
private void extractTimeParamsToProperties(ElementParameters eleType, Map<String, Object> properties) {
TimeParameters timeParams = eleType.getTimeParameters();
if (timeParams != null) {
Parameter processingTime = timeParams.getProcessingTime();
if (processingTime != null && processingTime.getParameterValue() != null && processingTime.getParameterValue().size() > 0) {
ParameterValue paramValue = processingTime.getParameterValue().get(0);
if (paramValue instanceof NormalDistributionType) {
NormalDistributionType ndt = (NormalDistributionType) paramValue;
properties.put(MEAN, ndt.getMean());
properties.put(STANDARDDEVIATION, ndt.getStandardDeviation());
properties.put(DISTRIBUTIONTYPE, "normal");
} else if (paramValue instanceof UniformDistributionType) {
UniformDistributionType udt = (UniformDistributionType) paramValue;
properties.put(MIN, udt.getMin());
properties.put(MAX, udt.getMax());
properties.put(DISTRIBUTIONTYPE, "uniform");
} else if (paramValue instanceof PoissonDistributionType) {
PoissonDistributionType pdt = (PoissonDistributionType) paramValue;
properties.put(MEAN, pdt.getMean());
properties.put(DISTRIBUTIONTYPE, "poisson");
}
if (timeParams.getWaitTime() != null) {
extractParamTypeToProperties(WAITTIME, timeParams.getWaitTime().getParameterValue(), properties);
}
}
}
}
Aggregations