public VariableInstanceImpl createVariableInstanceLocal(VariableImpl variable) { String variableInstanceId = workflowInstance.generateNextVariableInstanceId(); VariableInstanceImpl variableInstance = new VariableInstanceImpl(this, variable, variableInstanceId); variableInstance.configuration = configuration; variableInstance.workflowInstance = workflowInstance; variableInstance.type = variable.type; variableInstance.setValue(variable.defaultValue); variableInstance.variable = variable; if (updates!=null) { variableInstance.updates = new VariableInstanceUpdates(true); updates.isVariableInstancesChanged = true; if (parent!=null) { parent.propagateActivityInstanceChange(); } } addVariableInstance(variableInstance); return variableInstance; }
private void readVariableInstances(ScopeInstanceImpl parent, BasicDBObject dbWorkflowInstance) { List<BasicDBObject> dbVariableInstances = readList(dbWorkflowInstance, VARIABLE_INSTANCES); if (dbVariableInstances!=null && !dbVariableInstances.isEmpty()) { for (BasicDBObject dbVariableInstance: dbVariableInstances) { VariableInstance variableInstance = mongoMapper.read(dbVariableInstance, VariableInstance.class); VariableInstanceImpl variableInstanceImpl = new VariableInstanceImpl(); variableInstanceImpl.id = variableInstance.getId(); String variableId = variableInstance.getVariableId(); variableInstanceImpl.variable = findVariableByIdRecurseParents(parent.scope, variableId); if (variableInstanceImpl.variable!=null) { variableInstanceImpl.type = variableInstanceImpl.variable.type; } else { variableInstanceImpl.variable = new VariableImpl(); DataType type = variableInstance.getType(); if (type!=null) { variableInstanceImpl.type = dataTypeService.createDataType(type); } } variableInstanceImpl.value = variableInstance.getValue(); variableInstanceImpl.configuration = configuration; variableInstanceImpl.workflowInstance = parent.workflowInstance; variableInstanceImpl.parent = parent; variableInstanceImpl.workflow = parent.workflow; parent.addVariableInstance(variableInstanceImpl); } } }
private void readVariableInstances(ScopeInstanceImpl parent, BasicDBObject dbWorkflowInstance) { List<BasicDBObject> dbVariableInstances = readList(dbWorkflowInstance, VARIABLE_INSTANCES); if (dbVariableInstances!=null && !dbVariableInstances.isEmpty()) { for (BasicDBObject dbVariableInstance: dbVariableInstances) { VariableInstance variableInstance = mongoMapper.read(dbVariableInstance, VariableInstance.class); VariableInstanceImpl variableInstanceImpl = new VariableInstanceImpl(); variableInstanceImpl.id = variableInstance.getId(); String variableId = variableInstance.getVariableId(); variableInstanceImpl.variable = findVariableByIdRecurseParents(parent.scope, variableId); if (variableInstanceImpl.variable!=null) { variableInstanceImpl.type = variableInstanceImpl.variable.type; } else { variableInstanceImpl.variable = new VariableImpl(); DataType type = variableInstance.getType(); if (type!=null) { variableInstanceImpl.type = dataTypeService.createDataType(type); } } variableInstanceImpl.value = variableInstance.getValue(); variableInstanceImpl.configuration = configuration; variableInstanceImpl.workflowInstance = parent.workflowInstance; variableInstanceImpl.parent = parent; variableInstanceImpl.workflow = parent.workflow; parent.addVariableInstance(variableInstanceImpl); } } }