use of org.eclipse.debug.core.ILaunchConfigurationType in project generator by mybatis.
the class GeneratorLaunchShortcut method createConfiguration.
private ILaunchConfiguration createConfiguration(IFile file) throws CoreException {
ILaunchConfigurationType configType = getLaunchConfigurationType();
String variableExpression = VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", //$NON-NLS-1$
file.getFullPath().toPortableString());
//$NON-NLS-1$
String namePrefix = String.format("%s-%s", file.getProject().getName(), file.getName());
ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, getLaunchManager().generateLaunchConfigurationName(namePrefix));
wc.setAttribute(GeneratorLaunchConstants.ATTR_CONFIGURATION_FILE_NAME, variableExpression);
wc.setMappedResources(new IResource[] { file.getProject() });
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, getJavaProjectNameFromResource(file));
ILaunchConfiguration config = wc.doSave();
return config;
}
use of org.eclipse.debug.core.ILaunchConfigurationType in project generator by mybatis.
the class GeneratorLaunchShortcut method findOrCreateLaunchConfiguration.
private ILaunchConfiguration findOrCreateLaunchConfiguration(IFile file) throws CoreException {
ILaunchConfigurationType ctype = getLaunchConfigurationType();
ILaunchConfiguration[] configs = getLaunchManager().getLaunchConfigurations(ctype);
List<ILaunchConfiguration> candidateConfigs = new ArrayList<ILaunchConfiguration>(configs.length);
for (ILaunchConfiguration config : configs) {
String configFile = config.getAttribute(GeneratorLaunchConstants.ATTR_CONFIGURATION_FILE_NAME, (String) null);
try {
configFile = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(configFile);
} catch (CoreException e) {
continue;
}
Path path = new Path(configFile);
if (path.equals(file.getLocation())) {
candidateConfigs.add(config);
}
}
ILaunchConfiguration config;
if (candidateConfigs.size() > 1) {
config = chooseConfiguration(candidateConfigs);
} else if (candidateConfigs.size() == 1) {
config = candidateConfigs.get(0);
} else {
config = createConfiguration(file);
}
return config;
}
use of org.eclipse.debug.core.ILaunchConfigurationType 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.eclipse.debug.core.ILaunchConfigurationType 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.eclipse.debug.core.ILaunchConfigurationType in project tdi-studio-se by Talend.
the class JavaProcessor method saveLaunchConfiguration.
/*
* (non-Javadoc)
*
* @see org.talend.designer.runprocess.IProcessor#saveLaunchConfiguration()
*/
@Override
public Object saveLaunchConfiguration() throws CoreException {
/*
* When launch debug progress, just share all libraries between farther job and child jobs
*/
// computeLibrariesPath(this.getProcess().getNeededLibraries(true));
ILaunchConfiguration config = null;
ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
String projectName = this.getCodeProject().getName();
ILaunchConfigurationType type = launchManager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION);
if (type != null) {
ILaunchConfigurationWorkingCopy wc = type.newInstance(null, launchManager.generateUniqueLaunchConfigurationNameFrom(this.getCodePath().lastSegment()));
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName);
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, this.getMainClass());
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_STOP_IN_MAIN, true);
wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, CTX_ARG + context.getName());
config = wc.doSave();
}
return config;
}
Aggregations