use of org.talend.core.model.process.IProcess2 in project tdi-studio-se by Talend.
the class AbstractTalendEditor method doSave.
@Override
public void doSave(IProgressMonitor monitor) {
if (monitor == null) {
monitor = new NullProgressMonitor();
}
//$NON-NLS-1$
monitor.beginTask("begin save job...", 100);
monitor.worked(10);
savePreviewPictures();
// generate the MR infor parameter.
try {
boolean isStormServiceRegistered = GlobalServiceRegister.getDefault().isServiceRegistered(IStormProcessService.class);
boolean isMRServiceRegistered = GlobalServiceRegister.getDefault().isServiceRegistered(IMRProcessService.class);
if (isStormServiceRegistered || isMRServiceRegistered) {
IProcess2 process = getProcess();
if (process != null) {
IRepositoryViewObject repoObjectView = DesignerPlugin.getDefault().getRepositoryService().getProxyRepositoryFactory().getLastVersion(process.getId());
if (repoObjectView != null && repoObjectView.getProperty() != null) {
Item currentItem = repoObjectView.getProperty().getItem();
if (isMRServiceRegistered) {
IMRProcessService mrService = (IMRProcessService) GlobalServiceRegister.getDefault().getService(IMRProcessService.class);
if (mrService.isMapReduceItem(currentItem)) {
// We make sure that the current item is a Batch item before generating the M/R
// information parameters.
mrService.generateMRInfosParameter(process);
}
}
if (isStormServiceRegistered) {
IStormProcessService stormService = (IStormProcessService) GlobalServiceRegister.getDefault().getService(IStormProcessService.class);
if (stormService.isStormItem(currentItem)) {
// We make sure that the current item is a Streaming item before generating the Spark
// Streaming information parameters.
stormService.generateSparkStreamingInfosParameter(process);
}
}
}
}
}
} catch (PersistenceException e) {
e.printStackTrace();
}
try {
if (getEditorInput() instanceof JobEditorInput) {
boolean saved = ((JobEditorInput) getEditorInput()).saveProcess(new SubProgressMonitor(monitor, 80), null);
if (!saved) {
monitor.setCanceled(true);
throw new InterruptedException();
}
}
getCommandStack().markSaveLocation();
setDirty(false);
boolean isneedReload = false;
for (int i = 0; i < getProcess().getGraphicalNodes().size(); i++) {
Node node = (Node) getProcess().getGraphicalNodes().get(i);
if (node.isNeedloadLib()) {
isneedReload = true;
node.setNeedLoadLib(false);
}
}
if (isneedReload) {
// / See bug 4821
((ILibrariesService) GlobalServiceRegister.getDefault().getService(ILibrariesService.class)).updateModulesNeededForCurrentJob(getProcess());
}
monitor.worked(10);
} catch (Exception e) {
// e.printStackTrace();
ExceptionHandler.process(e);
monitor.setCanceled(true);
} finally {
monitor.done();
}
}
use of org.talend.core.model.process.IProcess2 in project tdi-studio-se by Talend.
the class JobletUtil method isRed.
public boolean isRed(AbstractJobletContainer jobletContainer) {
IProcess2 jobletProcess = (IProcess2) jobletContainer.getNode().getComponent().getProcess();
if (jobletProcess == null) {
return false;
}
ERepositoryStatus status = ProxyRepositoryFactory.getInstance().getStatus(jobletProcess.getProperty().getItem());
if (status == ERepositoryStatus.LOCK_BY_OTHER) {
return true;
}
IEditorPart[] editors = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getDirtyEditors();
if (editors.length <= 0) {
return false;
}
for (IEditorPart editor : editors) {
if (editor.getEditorInput() instanceof RepositoryEditorInput) {
RepositoryEditorInput editorInput = (RepositoryEditorInput) editor.getEditorInput();
String jobletId = editorInput.getId();
if (jobletId.equals(jobletProcess.getId())) {
return true;
}
}
}
return false;
}
use of org.talend.core.model.process.IProcess2 in project tdi-studio-se by Talend.
the class PropertiesTableEditorModel method refreshMR.
private void refreshMR() {
if (element instanceof Node) {
Node node = (Node) element;
if (!node.isMapReduce()) {
return;
}
if (this.elemParameter == null) {
return;
}
if (!this.elemParameter.getName().equals("MAP_ONLY") && !this.elemParameter.getName().equals(EParameterName.GROUPBYS.getName())) {
return;
}
((IProcess2) node.getProcess()).getGeneratingNodes();
((IProcess2) node.getProcess()).setMRData();
node.refreshNodeContainer();
}
}
use of org.talend.core.model.process.IProcess2 in project tdi-studio-se by Talend.
the class UpdateCheckResult method updateJobInfor.
@Override
protected void updateJobInfor() {
if (getJob() != null) {
String jobInfor = null;
if (getJob() instanceof IProcess2) {
Property property = ((IProcess2) getJob()).getProperty();
jobInfor = RepositoryUpdateManager.getUpdateJobInfor(property);
org.talend.core.model.properties.Item item = property.getItem();
if (item instanceof JobletProcessItem) {
handleJoblet(item);
} else if (GlobalServiceRegister.getDefault().isServiceRegistered(IMRProcessService.class)) {
IMRProcessService mrProcessService = (IMRProcessService) GlobalServiceRegister.getDefault().getService(IMRProcessService.class);
isMR = mrProcessService.isMapReduceItem(item);
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(IStormProcessService.class)) {
IStormProcessService streamingService = (IStormProcessService) GlobalServiceRegister.getDefault().getService(IStormProcessService.class);
isStreaming = streamingService.isStormItem(item);
}
}
if (getJob() instanceof org.talend.core.model.properties.Item) {
jobInfor = RepositoryUpdateManager.getUpdateJobInfor(((org.talend.core.model.properties.Item) getJob()).getProperty());
if (getJob() instanceof JobletProcessItem) {
handleJoblet((JobletProcessItem) getJob());
} else if (GlobalServiceRegister.getDefault().isServiceRegistered(IMRProcessService.class)) {
IMRProcessService mrProcessService = (IMRProcessService) GlobalServiceRegister.getDefault().getService(IMRProcessService.class);
isMR = mrProcessService.isMapReduceItem((org.talend.core.model.properties.Item) getJob());
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(IStormProcessService.class)) {
IStormProcessService streamingService = (IStormProcessService) GlobalServiceRegister.getDefault().getService(IStormProcessService.class);
isStreaming = streamingService.isStormItem((org.talend.core.model.properties.Item) getJob());
}
}
String others = null;
if (isFromItem()) {
// update item
others = UpdatesConstants.START;
}
if (jobInfor != null) {
this.jobInfor = jobInfor + UpdatesConstants.SPACE + UpdateManagerUtils.addBrackets(others);
return;
}
}
}
use of org.talend.core.model.process.IProcess2 in project tdi-studio-se by Talend.
the class ProcessComposite method exec.
public void exec() {
setHideconsoleLine(false);
if (getProcessContext() == null) {
return;
}
if (getProcessContext().getProcess() instanceof IProcess2) {
ReplaceNodesInProcessProvider.beforeRunJobInGUI(getProcessContext().getProcess());
}
CorePlugin.getDefault().getRunProcessService().saveJobBeforeRun(getProcessContext().getProcess());
if (processContext.isClearBeforeExec()) {
processContext.clearMessages();
}
// processContext.
// if (processContext.isWatchAllowed()) {
// processContext.switchTime();
// }
processContext.setMonitorTrace(false);
processContext.setWatchAllowed(processManager.getExecTime());
processContext.setMonitorPerf(processManager.getStat());
// processContext.setMonitorTrace(traceBtn.getSelection());
/* check and save should be execute before processContext.exec,or it will cause dirty problem,bug 16791 */
checkSaveBeforeRunSelection();
processContext.setSelectedContext(processManager.getSelectContext());
processContext.exec(processManager.getProcessShell());
processContext.cleanWorkingDirectory();
ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
ILaunch[] launches = manager.getLaunches();
manager.removeLaunches(launches);
}
Aggregations