@Override public boolean renameWorkflow(String oldName, String newName) { boolean changed = false; for (AssignableState state : Lists.newArrayList(getAll())) { Map<String, String> newMap = Maps.newHashMap(); boolean newMapChanged = false; for (Map.Entry<String, String> entry : state.getMappings().entrySet()) { if (oldName.equals(entry.getValue())) { newMapChanged = true; newMap.put(entry.getKey(), newName); } else { newMap.put(entry.getKey(), entry.getValue()); } } if (newMapChanged) { addState(state.builder().setMappings(newMap).build()); changed = true; } } return changed; }
@Nonnull @Override public AssignableWorkflowScheme createScheme(@Nonnull AssignableWorkflowScheme workflowScheme) { notNull("wokflowScheme", workflowScheme); AssignableWorkflowSchemeStore.AssignableState.Builder builder = assignableWorkflowSchemeStore.builder(); builder.setName(workflowScheme.getName()) .setDescription(workflowScheme.getDescription()) .setMappings(workflowScheme.getMappings()); AssignableWorkflowSchemeStore.AssignableState savedState = assignableWorkflowSchemeStore.create(builder.build()); eventPublisher.publish(createSchemeCreatedEvent(getSchemeObject(savedState.getId()))); return toWorkflowScheme(savedState); }
public AssignableState addStateForScheme(AssignableWorkflowScheme scheme) { return addState(new MockAssignableWorkflowSchemeState.Builder() .setId(scheme.getId()) .setName(scheme.getName()) .setDescription(scheme.getDescription()) .setMappings(scheme.getMappings()) .build()); }