use of org.talend.designer.core.ui.editor.process.Process in project tdi-studio-se by Talend.
the class NoteEditPolicy method createDeleteCommand.
@Override
protected Command createDeleteCommand(GroupRequest request) {
Object parent = getHost().getParent().getModel();
if (!(parent instanceof Process)) {
return null;
}
Note note = (Note) getHost().getModel();
if (note.isReadOnly()) {
return null;
}
List<Note> noteList = new ArrayList<Note>();
for (int i = 0; i < request.getEditParts().size(); i++) {
if (request.getEditParts().get(i) instanceof NoteEditPart) {
noteList.add(((Note) ((NoteEditPart) request.getEditParts().get(i)).getModel()));
}
}
DeleteNoteCommand deleteCommand = new DeleteNoteCommand((Process) parent, noteList);
return deleteCommand;
}
use of org.talend.designer.core.ui.editor.process.Process in project tdi-studio-se by Talend.
the class FocusOnJobAction method run.
/*
* @see Action#run
*/
public void run() {
Shell parent = fViewPart.getSite().getShell();
RepositoryReviewDialog dialog = new RepositoryReviewDialog(parent, ERepositoryObjectType.PROCESS, null);
if (dialog.open() == RepositoryReviewDialog.OK) {
Item item = dialog.getResult().getObject().getProperty().getItem();
if (item instanceof ProcessItem) {
// Process loadedProcess = new Process(((ProcessItem) item).getProperty());
// loadedProcess.loadXmlFile();
IDesignerCoreService designerCoreService = CorePlugin.getDefault().getDesignerCoreService();
Process loadedProcess = (Process) designerCoreService.getProcessFromProcessItem((ProcessItem) item);
fViewPart.setInputProcess(loadedProcess);
}
}
}
use of org.talend.designer.core.ui.editor.process.Process in project tdi-studio-se by Talend.
the class UpdateJobletNodeCommand method createParameters.
private Map<String, Object> createParameters(Node node, IComponent newComponent) {
Map<String, Object> parameters = new HashMap<String, Object>();
if (node.getComponent().getComponentType() != EComponentType.JOBLET) {
if (node.getExternalData() != null) {
parameters.put(INode.RELOAD_PARAMETER_EXTERNAL_BYTES_DATA, node.getExternalData());
}
parameters.put(INode.RELOAD_PARAMETER_METADATA_LIST, node.getMetadataList());
}
// set some parameter from joblet
if (PluginChecker.isJobLetPluginLoaded()) {
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(IJobletProviderService.class);
if (service != null) {
service.updateParametersFromJoblet(node, newComponent);
}
}
parameters.put(INode.RELOAD_PARAMETER_ELEMENT_PARAMETERS, node.getElementParameters());
List<? extends INodeConnector> listConnectors = node.getListConnector();
List<? extends INodeConnector> newConnectors = newComponent.createConnectors(new Node(newComponent, (Process) node.getProcess()));
for (INodeConnector connector : newConnectors) {
for (INodeConnector oldConnector : listConnectors) {
if (connector.getName().equals(oldConnector.getName())) {
connector.setCurLinkNbInput(oldConnector.getCurLinkNbInput());
connector.setCurLinkNbOutput(oldConnector.getCurLinkNbOutput());
}
}
}
parameters.put(INode.RELOAD_PARAMETER_CONNECTORS, newConnectors);
return parameters;
}
use of org.talend.designer.core.ui.editor.process.Process in project tdi-studio-se by Talend.
the class DebugProcessTosComposite method debug.
@Override
public void debug() {
if (manager.getClearBeforeExec()) {
processContext.clearMessages();
}
setHideconsoleLine(false);
if ((processContext.getProcess()) instanceof org.talend.designer.core.ui.editor.process.Process) {
((org.talend.designer.core.ui.editor.process.Process) processContext.getProcess()).checkDifferenceWithRepository();
}
// final IPreferenceStore preferenceStore = DebugUIPlugin.getDefault().getPreferenceStore();
final IPreferenceStore preferenceStore = DebugUITools.getPreferenceStore();
final boolean oldValueConsoleOnOut = preferenceStore.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT);
final boolean oldValueConsoleOnErr = preferenceStore.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR);
preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, false);
preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, false);
// java debug to collect when tos
int num = RunProcessPlugin.getDefault().getPreferenceStore().getInt(RunProcessTokenCollector.TOS_COUNT_DEBUG_RUNS.getPrefKey());
RunProcessPlugin.getDefault().getPreferenceStore().setValue(RunProcessTokenCollector.TOS_COUNT_DEBUG_RUNS.getPrefKey(), num + 1);
checkSaveBeforeRunSelection();
if (contextComposite.promptConfirmLauch()) {
setRunnable(false);
final IContext context = contextComposite.getSelectedContext();
IRunnableWithProgress worker = new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) {
IProcessor processor = ProcessorUtilities.getProcessor(processContext.getProcess(), processContext.getProcess().getProperty(), context);
//$NON-NLS-1$
monitor.beginTask("Launching debugger", IProgressMonitor.UNKNOWN);
try {
// use this function to generate childrens also.
ProcessorUtilities.generateCode(processContext.getProcess(), context, false, false, true, monitor);
ILaunchConfiguration config = ((Processor) processor).getDebugConfiguration(processContext.getStatisticsPort(), processContext.getTracesPort(), null);
// code is correct before launching
if (!JobErrorsChecker.hasErrors(DebugProcessTosComposite.this.getShell())) {
if (config != null) {
// PlatformUI.getWorkbench().
// getActiveWorkbenchWindow
// ().addPerspectiveListener(new
// DebugInNewWindowListener());
DebugUITools.launch(config, ILaunchManager.DEBUG_MODE);
} else {
//$NON-NLS-1$
MessageDialog.openInformation(//$NON-NLS-1$
getShell(), //$NON-NLS-1$
Messages.getString("ProcessDebugDialog.debugBtn"), //$NON-NLS-1$
Messages.getString("ProcessDebugDialog.errortext"));
}
}
} catch (ProcessorException e) {
IStatus status = new Status(IStatus.ERROR, RunProcessPlugin.PLUGIN_ID, IStatus.OK, "Debug launch failed.", //$NON-NLS-1$
e);
RunProcessPlugin.getDefault().getLog().log(status);
//$NON-NLS-1$ //$NON-NLS-2$
MessageDialog.openError(getShell(), Messages.getString("ProcessDebugDialog.debugBtn"), "");
} finally {
monitor.done();
}
}
};
IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
try {
progressService.runInUI(PlatformUI.getWorkbench().getProgressService(), worker, ResourcesPlugin.getWorkspace().getRoot());
} catch (InvocationTargetException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
} catch (InterruptedException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
debugMode = true;
try {
Thread thread = new Thread() {
@Override
public void run() {
while (debugMode) {
final IProcess process = DebugUITools.getCurrentProcess();
if (process != null && process.isTerminated()) {
Display dis = Display.getCurrent();
if (dis == null) {
dis = Display.getDefault();
}
dis.asyncExec(new Runnable() {
@Override
public void run() {
setRunnable(true);
if (!killBtn.isDisposed() && killBtn != null) {
killBtn.setEnabled(false);
}
preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, oldValueConsoleOnOut);
preferenceStore.setValue(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, oldValueConsoleOnErr);
if (isAddedStreamListener) {
process.getStreamsProxy().getOutputStreamMonitor().removeListener(streamListener);
isAddedStreamListener = false;
if (processContext.isRunning()) {
//$NON-NLS-1$
final String endingPattern = Messages.getString("ProcessComposite.endPattern");
MessageFormat mf = new MessageFormat(endingPattern);
String byeMsg;
try {
byeMsg = //$NON-NLS-1$
"\n" + mf.format(new Object[] { processContext.getProcess().getName(), new Date(), new Integer(process.getExitValue()) });
processContext.addDebugResultToConsole(new ProcessMessage(MsgType.CORE_OUT, byeMsg));
} catch (DebugException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
processContext.setRunning(false);
}
}
debugMode = false;
}
});
} else {
if (process != null) {
// (one at leat) process
// still running
Display dis = Display.getCurrent();
if (dis == null) {
dis = Display.getDefault();
}
dis.asyncExec(new Runnable() {
@Override
public void run() {
setRunnable(false);
if (!killBtn.isDisposed() && killBtn != null) {
killBtn.setEnabled(true);
}
processContext.setRunning(true);
processContext.setDebugProcess(process);
if (!isAddedStreamListener) {
process.getStreamsProxy().getOutputStreamMonitor().addListener(streamListener);
// if (clearBeforeExec.getSelection()) {
// processContext.clearMessages();
// }
// if (watchBtn.getSelection()) {
// processContext.switchTime();
// }
ClearPerformanceAction clearPerfAction = new ClearPerformanceAction();
clearPerfAction.setProcess(processContext.getProcess());
clearPerfAction.run();
ClearTraceAction clearTraceAction = new ClearTraceAction();
clearTraceAction.setProcess(processContext.getProcess());
clearTraceAction.run();
isAddedStreamListener = true;
//$NON-NLS-1$
final String startingPattern = Messages.getString("ProcessComposite.startPattern");
MessageFormat mf = new MessageFormat(startingPattern);
String welcomeMsg = mf.format(new Object[] { processContext.getProcess().getName(), new Date() });
processContext.addDebugResultToConsole(new ProcessMessage(MsgType.CORE_OUT, //$NON-NLS-1$
welcomeMsg + "\r\n"));
}
}
});
} else {
// no process running
Display dis = Display.getCurrent();
if (dis == null) {
dis = Display.getDefault();
}
dis.asyncExec(new Runnable() {
@Override
public void run() {
setRunnable(true);
if (!killBtn.isDisposed() && killBtn != null) {
killBtn.setEnabled(false);
}
}
});
}
}
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
}
};
thread.start();
} catch (Exception e) {
ExceptionHandler.process(e);
processContext.addErrorMessage(e);
kill();
}
}
use of org.talend.designer.core.ui.editor.process.Process in project tdi-studio-se by Talend.
the class DebugProcessTosComposite method getTRunjobList.
private List<Node> getTRunjobList(org.talend.core.model.process.IProcess process) {
List<Node> trunjobList = new ArrayList<Node>();
if (!(process instanceof Process)) {
return trunjobList;
}
List<INode> nodeList = (List<INode>) ((Process) process).getGraphicalNodes();
for (INode node : nodeList) {
if (node.getComponent().getName().equals("tRunJob")) {
if (node instanceof Node) {
trunjobList.add((Node) node);
}
}
}
return trunjobList;
}
Aggregations