use of com.liferay.ide.kaleo.core.model.CanTransition in project liferay-ide by liferay.
the class StateNodeAddActionHandler method postDiagramNodePartAdded.
@Override
public void postDiagramNodePartAdded(NewNodeOp op, CanTransition newNodeFromWizard, CanTransition newNode) {
NewStateNodeOp newStateNodeOp = op.nearest(NewStateNodeOp.class);
NewStateNode newStateNode = newNodeFromWizard.nearest(NewStateNode.class);
State state = newNode.nearest(State.class);
if ((newStateNode != null) && (state != null)) {
state.setName(newStateNode.getName().content());
NewStateType newStateType = newStateNodeOp.getType().content();
if (newStateType.equals(NewStateType.START)) {
state.setInitial(true);
} else if (newStateType.equals(NewStateType.END)) {
state.setEnd(true);
}
String workflowStatus = newStateNodeOp.getWorkflowStatus().content(false);
if (!empty(workflowStatus)) {
Action newAction = state.getActions().insert();
newAction.setName(state.getName().content());
newAction.setScriptLanguage(KaleoModelUtil.getDefaultValue(state, KaleoCore.DEFAULT_SCRIPT_LANGUAGE_KEY, ScriptLanguageType.GROOVY));
newAction.setExecutionType(Executable.DEFAULT_EXECUTION_TYPE);
IKaleoEditorHelper editorHelper = KaleoUI.getKaleoEditorHelper(newAction.getScriptLanguage().text());
if (editorHelper != null) {
try {
File statusUpdatesFolder = new File(FileLocator.toFileURL(Platform.getBundle(editorHelper.getContributorName()).getEntry("palette/Status Updates")).getFile());
File statusSnippet = new File(statusUpdatesFolder, workflowStatus + "." + editorHelper.getFileExtension());
if (FileUtil.exists(statusSnippet)) {
newAction.setScript(FileUtil.readContents(statusSnippet, true));
}
} catch (Exception e) {
}
}
}
if (!newStateType.equals(NewStateType.END) && (newStateNodeOp.getExitTransitionName().content() != null)) {
Transition newTransition = state.getTransitions().insert();
newTransition.setTarget(newStateNodeOp.getExitTransitionName().content());
newTransition.setName(newStateNodeOp.getExitTransitionName().content());
}
}
}
use of com.liferay.ide.kaleo.core.model.CanTransition in project liferay-ide by liferay.
the class JoinNodeAddActionHandler method postDiagramNodePartAdded.
@Override
public void postDiagramNodePartAdded(NewNodeOp op, CanTransition newNodeFromWizard, CanTransition newNode) {
NewJoinNodeOp newJoinNodeOp = op.nearest(NewJoinNodeOp.class);
Join newJoin = newNode.nearest(Join.class);
WorkflowDefinition workflowDefinition = newJoin.nearest(WorkflowDefinition.class);
for (Node nodeName : newJoinNodeOp.getConnectedNodes()) {
for (WorkflowNode diagramNode : workflowDefinition.getDiagramNodes()) {
if (nodeName.getName().content() != null) {
String name = nodeName.getName().content();
if (name.equals(diagramNode.getName().content())) {
CanTransition canTransition = diagramNode.nearest(CanTransition.class);
Transition newTransition = canTransition.getTransitions().insert();
newTransition.setName(newJoin.getName().content());
newTransition.setTarget(newJoin.getName().content());
}
}
}
}
if (newJoinNodeOp.getExitTransitionName().content() != null) {
Transition newTransition = newJoin.getTransitions().insert();
newTransition.setTarget(newJoinNodeOp.getExitTransitionName().content());
newTransition.setName(newJoinNodeOp.getExitTransitionName().content());
}
}
use of com.liferay.ide.kaleo.core.model.CanTransition in project liferay-ide by liferay.
the class JoinXorNodeAddActionHandler method postDiagramNodePartAdded.
@Override
public void postDiagramNodePartAdded(NewNodeOp op, CanTransition newNodeFromWizard, CanTransition newNode) {
NewJoinXorNodeOp newJoinXorNodeOp = op.nearest(NewJoinXorNodeOp.class);
JoinXor newJoinXor = newNode.nearest(JoinXor.class);
WorkflowDefinition workflowDefinition = newJoinXor.nearest(WorkflowDefinition.class);
for (Node nodeName : newJoinXorNodeOp.getConnectedNodes()) {
for (WorkflowNode diagramNode : workflowDefinition.getDiagramNodes()) {
if (nodeName.getName().content() != null) {
String name = nodeName.getName().content();
if (name.equals(diagramNode.getName().content())) {
CanTransition canTransition = diagramNode.nearest(CanTransition.class);
Transition newTransition = canTransition.getTransitions().insert();
newTransition.setName(newJoinXor.getName().content());
newTransition.setTarget(newJoinXor.getName().content());
}
}
}
}
if (newJoinXorNodeOp.getExitTransitionName().content() != null) {
Transition newTransition = newJoinXor.getTransitions().insert();
newTransition.setTarget(newJoinXorNodeOp.getExitTransitionName().content());
newTransition.setName(newJoinXorNodeOp.getExitTransitionName().content());
}
}
Aggregations