use of org.talend.core.model.properties.ProcessItem in project tdi-studio-se by Talend.
the class JobLaunchShortcutManager method renameJobLaunch.
/**
*
* cli Comment method "renameJobLaunch".
*/
public static void renameJobLaunch(IRepositoryViewObject obj, String oldLabel) {
if (obj == null) {
return;
}
Property property = obj.getProperty();
if (property == null || !(property.getItem() instanceof ProcessItem)) {
return;
}
String newLabel = property.getLabel();
if (!newLabel.equals(oldLabel)) {
Project project = ProjectManager.getInstance().getProject(property);
if (project == null) {
return;
}
final String objProjectName = project.getLabel();
final String id = property.getId();
final String version = property.getVersion();
ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
if (launchManager == null) {
return;
}
try {
for (ILaunchConfiguration configuration : launchManager.getLaunchConfigurations()) {
String jobId = configuration.getAttribute(TalendDebugUIConstants.JOB_ID, (String) null);
String jobVersion = configuration.getAttribute(TalendDebugUIConstants.JOB_VERSION, (String) null);
String projectName = configuration.getAttribute(TalendDebugUIConstants.CURRENT_PROJECT_NAME, (String) null);
// ILaunchConfigurationType type = launchManager
// .getLaunchConfigurationType(TalendDebugUIConstants.JOB_DEBUG_LAUNCH_CONFIGURATION_TYPE);
ILaunchConfigurationType type = configuration.getType();
if (type != null && TalendDebugUIConstants.JOB_DEBUG_LAUNCH_CONFIGURATION_TYPE.equals(type.getIdentifier()) && objProjectName.equals(projectName) && id.equals(jobId) && version.equals(jobVersion) && type != null) {
//$NON-NLS-1$
String displayName = newLabel + " " + jobVersion;
ILaunchConfigurationWorkingCopy workingCopy = configuration.getWorkingCopy();
workingCopy.setAttribute(TalendDebugUIConstants.JOB_NAME, newLabel);
// workingCopy.setAttribute(TalendDebugUIConstants.JOB_ID, jobId);
// update to new version
workingCopy.setAttribute(TalendDebugUIConstants.JOB_VERSION, jobVersion);
// workingCopy.setAttribute(TalendDebugUIConstants.CURRENT_PROJECT_NAME, projectName);
workingCopy.rename(displayName);
workingCopy.doSave();
break;
}
}
clearUnusedLaunchs();
} catch (CoreException e) {
// nothing to do
}
}
}
use of org.talend.core.model.properties.ProcessItem in project tdi-studio-se by Talend.
the class JobLaunchShortcutManager method removeJobLaunch.
// debug not used yet, so code is disabled
// public static void debug(ISelection selection) {
// List<LaunchShortcutExtension> launchShortcuts = DebugUIPlugin.getDefault().getLaunchConfigurationManager()
// .getLaunchShortcuts();
//
// for (LaunchShortcutExtension lse : launchShortcuts) {
// if (lse.getId().equals(TalendDebugUIConstants.TALEND_JOB_LAUNCH_SHORTCUT_ID)) {
// lse.launch(selection, ILaunchManager.DEBUG_MODE);
// return;
// }
// }
// }
//
// public static void debug(IEditorPart editor) {
// List<LaunchShortcutExtension> launchShortcuts = DebugUIPlugin.getDefault().getLaunchConfigurationManager()
// .getLaunchShortcuts();
//
// for (LaunchShortcutExtension lse : launchShortcuts) {
// if (lse.getId().equals(TalendDebugUIConstants.TALEND_JOB_LAUNCH_SHORTCUT_ID)) {
// lse.launch(editor, ILaunchManager.DEBUG_MODE);
// return;
// }
// }
// }
/**
*
* cli Comment method "removeJobLaunch".
*/
public static void removeJobLaunch(IRepositoryViewObject objToDelete) {
if (objToDelete == null) {
return;
}
Property property = objToDelete.getProperty();
if (property == null || !(property.getItem() instanceof ProcessItem)) {
return;
}
Project project = ProjectManager.getInstance().getProject(property);
if (project == null) {
return;
}
final String objProjectName = project.getLabel();
final String objId = property.getId();
// final String objName = property.getLabel();
final String objVersion = property.getVersion();
ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
if (launchManager == null) {
return;
}
try {
ILaunchConfiguration configuration = null;
for (ILaunchConfiguration config : launchManager.getLaunchConfigurations()) {
String jobId = config.getAttribute(TalendDebugUIConstants.JOB_ID, (String) null);
// String jobName = configuration.getAttribute(TalendDebugUIConstants.JOB_NAME, (String) null);
String jobVersion = config.getAttribute(TalendDebugUIConstants.JOB_VERSION, (String) null);
String projectName = config.getAttribute(TalendDebugUIConstants.CURRENT_PROJECT_NAME, (String) null);
ILaunchConfigurationType type = config.getType();
if (type != null && TalendDebugUIConstants.JOB_DEBUG_LAUNCH_CONFIGURATION_TYPE.equals(type.getIdentifier()) && objProjectName.equals(projectName) && objId.equals(jobId) && objVersion.equals(jobVersion)) {
configuration = config;
break;
}
}
if (configuration == null) {
return;
}
configuration.delete();
} catch (CoreException e) {
// nothing to do
}
}
use of org.talend.core.model.properties.ProcessItem in project tdi-studio-se by Talend.
the class JobLaunchShortcutManager method resetJobProblemList.
/**
*
* ldong Comment method "resetJobProblemList".
*/
public static void resetJobProblemList(IRepositoryViewObject obj, String oldLabel) {
if (obj == null) {
return;
}
Property property = obj.getProperty();
if (property == null || !(property.getItem() instanceof ProcessItem)) {
return;
}
String newLabel = property.getLabel();
if (!newLabel.equals(oldLabel)) {
for (Iterator<Problem> iter = Problems.getProblemList().getProblemList().iterator(); iter.hasNext(); ) {
Problem problem = iter.next();
if (problem instanceof TalendProblem) {
TalendProblem routineProblem = (TalendProblem) problem;
if (routineProblem.getJavaUnitName() != null && (routineProblem.getJavaUnitName().equals(oldLabel))) {
// TDI-24683:if rename the jobItem,need clear the problem view to avoid use the old
// problem list
iter.remove();
}
}
}
}
}
use of org.talend.core.model.properties.ProcessItem in project tdi-studio-se by Talend.
the class StandardJobStandaloneBuildProvider method createBuildExportHandler.
@Override
public IBuildExportHandler createBuildExportHandler(Map<String, Object> parameters) {
if (parameters == null || parameters.isEmpty()) {
return null;
}
final Object item = parameters.get(ITEM);
if (item == null || !(item instanceof ProcessItem)) {
return null;
}
final Object version = parameters.get(VERSION);
if (version == null) {
return null;
}
final Object contextGroup = parameters.get(CONTEXT_GROUP);
if (contextGroup == null) {
return null;
}
Object choiceOption = parameters.get(CHOICE_OPTION);
if (choiceOption == null) {
choiceOption = Collections.emptyMap();
}
if (!(choiceOption instanceof Map)) {
return null;
}
IBuildJobHandler buildHandler = new BuildJobHandler((ProcessItem) item, version.toString(), contextGroup.toString(), (Map<ExportChoice, Object>) choiceOption);
return buildHandler;
}
use of org.talend.core.model.properties.ProcessItem in project tdi-studio-se by Talend.
the class JobLaunchConfigurationDelegate method findProcessFromRepository.
/**
* DOC bqian Comment method "findProcessFromRepository".
*
* @param jobName
* @return
*/
private IProcess2 findProcessFromRepository(String jobId, String version) {
try {
ItemCacheManager.clearCache();
ProcessItem processItem = ItemCacheManager.getProcessItem(jobId, version);
if (processItem != null) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IDesignerCoreService.class)) {
IDesignerCoreService service = (IDesignerCoreService) GlobalServiceRegister.getDefault().getService(IDesignerCoreService.class);
IProcess process = service.getProcessFromItem(processItem);
if (process instanceof IProcess2) {
return (IProcess2) process;
}
}
// keep old code for now, but it should never be called.
ProcessEditorInput fileEditorInput = new ProcessEditorInput(processItem, true, true, true);
IProcess2 process = fileEditorInput.getLoadedProcess();
return process;
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
return null;
}
Aggregations