Java 类org.eclipse.debug.core.ILaunchConfiguration 实例源码

项目:n4js    文件:LaunchConfigurationMainTab.java   
/**
 * (non-Javadoc)
 *
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
 **/
@Override
public boolean isValid(ILaunchConfiguration launchConfig) {
    setErrorMessage(null);
    setMessage(null);
    // TODO fix LaunchConfigurationMainTab validation
    // String text = fileText.getText();
    // if (text.length() > 0) {
    // IPath path = new Path(text);
    // if (ResourcesPlugin.getWorkspace().getRoot().findMember(path) ==
    // null) {
    // setErrorMessage("Specified file does not exist");
    // return false;
    // }
    // } else {
    // setMessage("Specify an file");
    // }
    return true;
}
项目:n4js    文件:XpectRunConfiguration.java   
/**
 * Creates an {@link ILaunchConfiguration} containing the information of this instance, only available when run
 * within the Eclipse IDE. If an {@link ILaunchConfiguration} with the same name has been run before, the instance
 * from the launch manager is used. This is usually done in the {@code ILaunchShortcut}.
 *
 * @see #fromLaunchConfiguration(ILaunchConfiguration)
 */
public ILaunchConfiguration toLaunchConfiguration() throws CoreException {
    ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager()
            .getLaunchConfigurations(configurationType);
    boolean configurationHasChanged = false;
    for (ILaunchConfiguration config : configs) {
        if (configName.equals(config.getName())) {
            configurationHasChanged = hasConfigurationChanged(config);
            if (!configurationHasChanged) {
                return config;
            }
        }
    }

    IContainer container = null;
    ILaunchConfigurationWorkingCopy workingCopy = configurationType.newInstance(container, configName);

    workingCopy.setAttribute(XT_FILE_TO_RUN, xtFileToRun);
    workingCopy.setAttribute(WORKING_DIRECTORY, workingDirectory.getAbsolutePath());

    return workingCopy.doSave();
}
项目:n4js    文件:TestConfigurationConverter.java   
/**
 * Converts a {@link TestConfiguration} to an {@link ILaunchConfiguration}. Will throw a {@link WrappedException} in
 * case of error.
 *
 * @see TestConfiguration#readPersistentValues()
 */
public ILaunchConfiguration toLaunchConfiguration(ILaunchConfigurationType type, TestConfiguration testConfig) {
    try {
        final ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager()
                .getLaunchConfigurations(type);

        for (ILaunchConfiguration config : configs) {
            if (equals(testConfig, config))
                return config;
        }

        final IContainer container = null;
        final ILaunchConfigurationWorkingCopy workingCopy = type.newInstance(container, testConfig.getName());

        workingCopy.setAttributes(testConfig.readPersistentValues());

        return workingCopy.doSave();
    } catch (Exception e) {
        throw new WrappedException("could not convert N4JS TestConfiguration to Eclipse ILaunchConfiguration", e);
    }
}
项目:n4js    文件:RunConfigurationConverter.java   
/**
 * Converts an {@link ILaunchConfiguration} to a {@link RunConfiguration}. Will throw a {@link WrappedException} in
 * case of error.
 *
 * @see RunConfiguration#writePersistentValues(Map)
 */
public RunConfiguration toRunConfiguration(ILaunchConfiguration launchConfig) throws CoreException {
    try {
        final Map<String, Object> properties = launchConfig.getAttributes();
        // special treatment of name required:
        // name is already included in 'properties', but we have to make sure that the name is up-to-date
        // in case the name of the launch configuration has been changed after the launch configuration
        // was created via method #toLaunchConfiguration()
        properties.put(RunConfiguration.NAME, launchConfig.getName());
        return runnerFrontEnd.createConfiguration(properties);
    } catch (Exception e) {
        String msg = "Error occurred while trying to launch module.";
        if (null != e.getMessage()) {
            msg += "\nReason: " + e.getMessage();
        }
        throw new CoreException(new Status(ERROR, PLUGIN_ID, msg, e));
    }
}
项目:n4js    文件:RunConfigurationConverter.java   
/**
 * Converts a {@link RunConfiguration} to an {@link ILaunchConfiguration}. Will throw a {@link WrappedException} in
 * case of error.
 *
 * @see RunConfiguration#readPersistentValues()
 */
public ILaunchConfiguration toLaunchConfiguration(ILaunchConfigurationType type, RunConfiguration runConfig) {
    try {
        final ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager()
                .getLaunchConfigurations(type);

        for (ILaunchConfiguration config : configs) {
            if (equals(runConfig, config))
                return config;
        }

        final IContainer container = null;
        final ILaunchConfigurationWorkingCopy workingCopy = type.newInstance(container, runConfig.getName());

        workingCopy.setAttributes(runConfig.readPersistentValues());

        return workingCopy.doSave();
    } catch (Exception e) {
        throw new WrappedException("could not convert N4JS RunConfiguration to Eclipse ILaunchConfiguration", e);
    }
}
项目:n4js    文件:RunnerLaunchConfigurationMainTab.java   
private boolean checkFileToRunSupportedByRunner(ILaunchConfiguration launchConfig, IResource resource,
        @SuppressWarnings("unused") URI resourceUri) {

    // note: we know the resource is an IFile because FILE is the only type returned by #getAcceptedResourceTypes()
    final IFile fileToRun = (IFile) resource;

    final String runnerId = RunnerUiUtils.getRunnerId(launchConfig, false);
    if (runnerId == null) {
        setErrorMessage("cannot read runner ID from launch configuration");
        return false;
    }

    final Object[] args = new Object[] { runnerId };
    // FIXME IDE-1393 once RunnerFrontEnd#canRun() has property tester logic, call it here
    boolean isSupported = supportTester.test(
            fileToRun, SupportingRunnerPropertyTester.PROPERTY_IS_SUPPORTING_RUNNER, args, "");

    if (!isSupported) {
        setErrorMessage("runner cannot handle provided file to run");
        return false;
    }
    return true;
}
项目:n4js    文件:RunnerUiUtils.java   
/**
 * Read the N4JS runner ID from the given Eclipse launch configuration. Will throw exceptions if 'failFast' is
 * <code>true</code>, otherwise will return <code>null</code> in case of error.
 */
public static String getRunnerId(ILaunchConfiguration launchConfig, boolean failFast) {
    try {
        // 1) simple case: runnerId already defined in launchConfig
        final String id = launchConfig.getAttribute(RunConfiguration.RUNNER_ID, (String) null);
        if (id != null)
            return id;
        // 2) tricky case: not set yet, so have to go via the ILaunchConfigurationType or the launchConfig
        final ILaunchConfigurationType launchConfigType = launchConfig.getType();
        return getRunnerId(launchConfigType, failFast);
    } catch (CoreException e) {
        if (failFast)
            throw new WrappedException(e);
        return null;
    }
}
项目:gemoc-studio-modeldebugging    文件:AbstractDSLLaunchConfigurationDelegate.java   
/**
 * Gets the first {@link EObject instruction}.
 * 
 * @param configuration
 *            the {@link ILaunchConfiguration}
 * @return the first {@link EObject instruction}
 */
protected EObject getFirstInstruction(ILaunchConfiguration configuration) {
EObject res = null;
final ResourceSet rs = getResourceSet();

try {
    rs.getResource(URI.createPlatformResourceURI(configuration.getAttribute(RESOURCE_URI, ""),
        true), true);
    res = rs.getEObject(URI.createURI(configuration.getAttribute(FIRST_INSTRUCTION_URI, ""),
        true), true);
} catch (CoreException e) {
    Activator.getDefault().error(e);
}

return res;
}
项目:gemoc-studio-modeldebugging    文件:DSLLaunchConfigurationTab.java   
/**
 * {@inheritDoc}
 * 
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
 */
public void initializeFrom(final ILaunchConfiguration configuration) {
    super.initializeFrom(configuration);
    disableUpdate = true;

    siriusResourceURIText.setText("");

    try {
        siriusResourceURIText.setText(configuration.getAttribute(
                AbstractDSLLaunchConfigurationDelegate.RESOURCE_URI, ""));
    } catch (CoreException e) {
        Activator.getDefault().error(e);
    }

    disableUpdate = false;
}
项目:gemoc-studio-modeldebugging    文件:DSLLaunchConfigurationTab.java   
/**
 * {@inheritDoc}
 * 
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
 */
public void initializeFrom(final ILaunchConfiguration configuration) {
    disableUpdate = true;

    resourceURIText.setText("");
    firstInstructionURIText.setText("");

    try {
        resourceURIText.setText(configuration.getAttribute(
                AbstractDSLLaunchConfigurationDelegate.RESOURCE_URI, ""));
        firstInstructionURIText.setText(configuration.getAttribute(
                AbstractDSLLaunchConfigurationDelegate.FIRST_INSTRUCTION_URI, ""));
    } catch (CoreException e) {
        Activator.getDefault().error(e);
    }

    disableUpdate = false;
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
@Override
public void initializeFrom(ILaunchConfiguration config) {
    try {
        mpg.initialize(getModels(config));
        fProjText.setText(config.getAttribute(CONFIG_PROJECT, ""));
        fModelText.setText(getMainModel(config));
        fOmitEmptyEdgeElementsButton.setSelection(Boolean.parseBoolean(config.getAttribute(GW4E_LAUNCH_CONFIGURATION_BUTTON_ID_OMIT_EMPTY_EDGE_DESCRIPTION, "false")));
        fStartNodeText.setText(config.getAttribute(CONFIG_LAUNCH_STARTNODE, ""));
        fRemoveBlockedElementsButton.setSelection(
                new Boolean(config.getAttribute(CONFIG_LAUNCH_REMOVE_BLOCKED_ELEMENT_CONFIGURATION, "true")));

        BuildPolicy bp = getMainPathGenerators(config);
        if (bp!=null) {
            comboViewer.setSelection(new StructuredSelection (bp), true); 
        }
    } catch (CoreException e) {
        ResourceManager.logException(e);
    }
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
private ModelData[] getModels(ILaunchConfiguration config) throws CoreException {
    List<ModelData> temp = new ArrayList<ModelData>();
    String paths = config.getAttribute(CONFIG_GRAPH_MODEL_PATHS, "");

    if (paths == null || paths.trim().length() == 0)
        return new ModelData[0];
    StringTokenizer st = new StringTokenizer(paths, ";");
    st.nextToken(); // the main model path
    st.nextToken(); // main model : Always "1"
    st.nextToken(); // the main path generator
    while (st.hasMoreTokens()) {
        String path = st.nextToken();
        IFile file = (IFile) ResourceManager
                .getResource(new Path(path).toString());
        if (file==null) continue;
        ModelData data = new ModelData(file);
        boolean selected = st.nextToken().equalsIgnoreCase("1");
        String pathGenerator = st.nextToken();
        data.setSelected(selected);
        data.setSelectedPolicy(pathGenerator);
        temp.add(data);
    }
    ModelData[] ret = new ModelData[temp.size()];
    temp.toArray(ret);
    return ret;
}
项目:gw4e.project    文件:GW4ELaunchConfigurationDelegate.java   
private ModelData[] getModels(ILaunchConfiguration config) throws CoreException {
    List<ModelData> temp = new ArrayList<ModelData>();
    String paths = config.getAttribute(CONFIG_GRAPH_MODEL_PATHS, "");

    if (paths == null || paths.trim().length() == 0)
        return new ModelData[0];
    StringTokenizer st = new StringTokenizer(paths, ";");
    st.nextToken(); // the main model path
    st.nextToken(); // main model : Always "1"
    st.nextToken(); // the main path generator
    while (st.hasMoreTokens()) {
        String path = st.nextToken();
        IFile file = (IFile) ResourceManager
                .getResource(new Path(path).toString());
        if (file==null) continue;
        ModelData data = new ModelData(file);
        boolean selected = st.nextToken().equalsIgnoreCase("1");
        String pathGenerator = st.nextToken();
        data.setSelected(selected);
        data.setSelectedPolicy(pathGenerator);
        if (selected) temp.add(data);
    }
    ModelData[] ret = new ModelData[temp.size()];
    temp.toArray(ret);
    return ret;
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
@Override
public void initializeFrom(ILaunchConfiguration config) {
    try {
        mpg.initialize(getModels(config));
        fProjText.setText(config.getAttribute(CONFIG_PROJECT, ""));
        fModelText.setText(getMainModel(config));
        fPrintUnvisitedButton
                .setSelection(Boolean.parseBoolean(config.getAttribute(CONFIG_UNVISITED_ELEMENT, "false")));
        fVerbosedButton.setSelection(Boolean.parseBoolean(config.getAttribute(CONFIG_VERBOSE, "false")));
        fStartNodeText.setText(config.getAttribute(CONFIG_LAUNCH_STARTNODE, ""));
        fRemoveBlockedElementsButton.setSelection(
                new Boolean(config.getAttribute(CONFIG_LAUNCH_REMOVE_BLOCKED_ELEMENT_CONFIGURATION, "true")));
        BuildPolicy bp = getMainPathGenerators(config);
        if (bp!=null) {
            comboViewer.setSelection(new StructuredSelection (bp), true); 
        }
    } catch (CoreException e) {
        ResourceManager.logException(e);
    }
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
private ModelData[] getModels(ILaunchConfiguration config) throws CoreException {
    List<ModelData> temp = new ArrayList<ModelData>();
    String paths = config.getAttribute(CONFIG_GRAPH_MODEL_PATHS, "");

    if (paths == null || paths.trim().length() == 0)
        return new ModelData[0];
    StringTokenizer st = new StringTokenizer(paths, ";");
    st.nextToken(); // the main model path
    st.nextToken(); // main model : Always "1"
    st.nextToken(); // the main path generator
    while (st.hasMoreTokens()) {
        String path = st.nextToken();
        IFile file = (IFile) ResourceManager
                .getResource(new Path(path).toString());
        if (file==null) continue;
        ModelData data = new ModelData(file);
        boolean selected = st.nextToken().equalsIgnoreCase("1");
        String pathGenerator = st.nextToken();
        data.setSelected(selected);
        data.setSelectedPolicy(pathGenerator);
        temp.add(data);
    }
    ModelData[] ret = new ModelData[temp.size()];
    temp.toArray(ret);
    return ret;
}
项目:gw4e.project    文件:GW4EProject.java   
public static void cleanWorkspace() throws CoreException {
    IProject[] projects = getRoot().getProjects();
    deleteProjects(projects);
    IProject[] otherProjects = getRoot().getProjects(IContainer.INCLUDE_HIDDEN);
    deleteProjects(otherProjects);

    ILaunchConfigurationType configType = DebugPlugin.getDefault().getLaunchManager()
            .getLaunchConfigurationType(GW4ELaunchShortcut.GW4ELAUNCHCONFIGURATIONTYPE);
    ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager()
            .getLaunchConfigurations(configType);
    for (int i = 0; i < configs.length; i++) {
        ILaunchConfiguration config = configs[i];
        config.delete();
    }

}
项目:lcdsl    文件:LcDslLaunchObject.java   
private ILaunchConfiguration findConfig() {
    if (cachedGenerated != null) {
        return cachedGenerated;
    }
    try {
        for (ILaunchConfiguration config : DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations(getType())) {
            if (config.getName().equals(generator.fullName(cfg))) {
                cachedGenerated = config;
                break;
            }
        }
    } catch (CoreException e) {
        LcDslInternalHelper.log(IStatus.WARNING, "cannot lookup launch configuration", e);
    }
    return cachedGenerated;
}
项目:lcdsl    文件:LcDslHelper.java   
private void launch(LaunchConfig config, String mode, boolean build, boolean wait, File log, boolean removeAfterLaunch) {
    ILaunchConfiguration c = generate(config);
    if (c == null) {
        throw new RuntimeException("Cannot generate " + config.getName());
    }

    try {
        try {
            if (StandaloneLaunchConfigExecutor.launchProcess(c, mode, build, wait, log) != 0) {
                throw new RuntimeException("Failed to run " + config.getName());
            }
        } finally {
            if (removeAfterLaunch) {
                c.delete();
            }
        }
    } catch (CoreException e) {
        throw new RuntimeException("Internal error when running " + config.getName(), e);
    }
}
项目:com.onpositive.prefeditor    文件:FolderSelectionDialog.java   
private void addLaunchCfg() {
    try {
        ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
        ILaunchConfigurationType type = manager
                .getLaunchConfigurationType("org.eclipse.pde.ui.RuntimeWorkbench");
        ILaunchConfiguration[] lcs = manager.getLaunchConfigurations(type);
        List<ILaunchConfiguration> configList = Arrays.asList(lcs);
        List<String> configs = configList.stream().map(config -> config.getName()).collect(Collectors.toList());
        ComboDialog dialog = new ComboDialog(getShell(), true);
        dialog.setTitle("Choose launch config");
        dialog.setInfoText("Choose Eclipse launch conguration to edit it's configuration settings");
        dialog.setAllowedValues(configs);
        if (dialog.open() == OK) {
            String selectedName = dialog.getValue();
            ILaunchConfiguration selectedConfig = configList.stream().filter(config -> selectedName.equals(config.getName())).findFirst().get();
            String configLocation = getConfigLocation(selectedConfig);
            valueAdded(new File(configLocation, ".settings").getAbsolutePath());
            buttonPressed(IDialogConstants.OK_ID);
        }
    } catch (CoreException e) {
        PrefEditorPlugin.log(e);
    }
}
项目:angular-eclipse    文件:AngularCLILaunchHelper.java   
private static ILaunchConfiguration chooseLaunchConfiguration(String workingDir, String operation) {
    try {
        ILaunchConfigurationType ngLaunchConfigurationType = DebugPlugin.getDefault().getLaunchManager()
                .getLaunchConfigurationType(AngularCLILaunchConstants.LAUNCH_CONFIGURATION_ID);
        ILaunchConfiguration[] ngConfigurations = DebugPlugin.getDefault().getLaunchManager()
                .getLaunchConfigurations(ngLaunchConfigurationType);
        for (ILaunchConfiguration conf : ngConfigurations) {
            if (workingDir.equals(conf.getAttribute(AngularCLILaunchConstants.WORKING_DIR, (String) null))
                    && operation.equals(conf.getAttribute(AngularCLILaunchConstants.OPERATION, (String) null))) {
                return conf;
            }
        }
    } catch (CoreException e) {
        TypeScriptCorePlugin.logError(e, e.getMessage());
    }
    return null;
}
项目:turnus.orcc    文件:OrccDynamicInterpreterLaunchShortcut.java   
private ILaunchConfiguration[] getConfigurations(IFile file) {
    ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
    ILaunchConfigurationType type = manager.getLaunchConfigurationType(LAUNCH_CONFIG_TYPE_DYNAMIC_INTERPRETER_ANALYSIS);
    try {
        // configurations that match the given resource
        List<ILaunchConfiguration> configs = new ArrayList<ILaunchConfiguration>();

        // candidates
        ILaunchConfiguration[] candidates = manager.getLaunchConfigurations(type);
        String name = FileUtils.getRelativePath(file);
        for (ILaunchConfiguration config : candidates) {
            String fileName = config.getAttribute(CAL_XDF.longName(), "");
            if (fileName.equals(name)) {
                configs.add(config);
            }
        }

        return configs.toArray(new ILaunchConfiguration[] {});
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}
项目:egradle    文件:EGradleLaunchConfigurationPropertiesTab.java   
public Object[] getElements(Object inputElement) {
    PropertyVariable[] elements = new PropertyVariable[0];
    ILaunchConfiguration config = (ILaunchConfiguration) inputElement;
    Map<String, String> m;
    try {
        m = config.getAttribute(launchConfigurationPropertyMapAttributeName, (Map<String, String>) null);
    } catch (CoreException e) {
        IDEUtil.logError("Error reading configuration", e); 
        return elements;
    }
    if (m != null && !m.isEmpty()) {
        elements = new PropertyVariable[m.size()];
        String[] varNames = new String[m.size()];
        m.keySet().toArray(varNames);
        for (int i = 0; i < m.size(); i++) {
            elements[i] = new PropertyVariable(varNames[i], (String) m.get(varNames[i]));
        }
    }
    return elements;
}
项目:turnus.orcc    文件:OrccNumaExecutionLaunchShortcut.java   
private void chooseAndLaunch(IFile file, ILaunchConfiguration[] configs, String mode) {
    ILaunchConfiguration config = null;
    if (configs.length == 0) {
        config = createConfiguration(file);
    } else if (configs.length == 1) {
        config = configs[0];
    } else {
        config = chooseConfiguration(configs);
    }

    if (config != null) {
        Shell shell = getShell();
        DebugUITools.openLaunchConfigurationDialogOnGroup(shell, new StructuredSelection(config),
                IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
    }
}
项目:eclemma    文件:SessionManagerTest.java   
@Test
public void testMergeSession2() throws Exception {
  ILaunchConfiguration launch = new DummyLaunchConfiguration();
  ICoverageSession s0 = new DummySession(launch);
  ICoverageSession s1 = new DummySession(launch);
  manager.addSession(s0, false, null);
  manager.addSession(s1, false, null);
  listener.clear();

  final ICoverageSession m0 = manager.mergeSessions(Arrays.asList(s0, s1),
      "Merged", new NullProgressMonitor());

  assertEquals("Merged", m0.getDescription());
  assertSame(launch, m0.getLaunchConfiguration());
  assertEquals(Arrays.asList(m0), manager.getSessions());
  assertEquals(m0, manager.getActiveSession());
  reflistener.sessionAdded(m0);
  reflistener.sessionActivated(m0);
  reflistener.sessionRemoved(s0);
  reflistener.sessionRemoved(s1);
  assertEquals(reflistener, listener);
}
项目:turnus.orcc    文件:OrccCodeAnalysisLaunchShortcut.java   
private void chooseAndLaunch(IFile file, ILaunchConfiguration[] configs, String mode) {
    ILaunchConfiguration config = null;
    if (configs.length == 0) {
        config = createConfiguration(file);
    } else if (configs.length == 1) {
        config = configs[0];
    } else {
        config = chooseConfiguration(configs);
    }

    if (config != null) {
        Shell shell = getShell();
        DebugUITools.openLaunchConfigurationDialogOnGroup(shell, new StructuredSelection(config),
                IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
    }
}
项目:turnus.orcc    文件:OrccDynamicExecutionLaunchShortcut.java   
private ILaunchConfiguration[] getConfigurations(IFile file) {
    ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
    ILaunchConfigurationType type = manager
            .getLaunchConfigurationType(LAUNCH_CONFIG_TYPE_DYNAMIC_EXECUTION_ANALYSIS);
    try {
        // configurations that match the given resource
        List<ILaunchConfiguration> configs = new ArrayList<ILaunchConfiguration>();

        // candidates
        ILaunchConfiguration[] candidates = manager.getLaunchConfigurations(type);
        String name = FileUtils.getRelativePath(file);
        for (ILaunchConfiguration config : candidates) {
            String fileName = config.getAttribute(CAL_XDF.longName(), "");
            if (fileName.equals(name)) {
                configs.add(config);
            }
        }

        return configs.toArray(new ILaunchConfiguration[] {});
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}
项目:eclemma    文件:DumpExecutionDataTest.java   
@BeforeClass
public static void setup() throws Exception {
    openCoverageView();

    JavaProjectKit project = new JavaProjectKit();
    project.enableJava5();
    final IPackageFragmentRoot root = project.createSourceFolder();
    final IPackageFragment fragment = project.createPackage(root, "example");
    project.createCompilationUnit(fragment, "Example.java",
            "package example; class Example { public static void main(String[] args) throws Exception { Thread.sleep(30000); } }");

    JavaProjectKit.waitForBuild();

    ILaunchConfiguration launchConfiguration = project.createLaunchConfiguration("example.Example");

    launch1 = launchConfiguration.launch(CoverageTools.LAUNCH_MODE, null);
    launch2 = launchConfiguration.launch(CoverageTools.LAUNCH_MODE, null);
}
项目:tlaplus    文件:Model.java   
private void renameLaunch(final Spec newSpec, String newModelName) {
    try {
        // create the model with the new name
        final ILaunchConfigurationWorkingCopy copy = this.launchConfig
                .copy(newSpec.getName() + SPEC_MODEL_DELIM + newModelName);
        copy.setAttribute(SPEC_NAME, newSpec.getName());
        copy.setAttribute(ModelHelper.MODEL_NAME, newModelName);
        copy.setContainer(newSpec.getProject());
        final ILaunchConfiguration renamed = copy.doSave();

        // delete the old model
        this.launchConfig.delete();
        this.launchConfig = renamed;
    } catch (CoreException e) {
        TLCActivator.logError("Error renaming model.", e);
    }
}
项目:tlaplus    文件:TLCModelFactory.java   
/**
 * @see Model#getByName(String)
 */
public static Model getByName(final String fullQualifiedModelName) {
    Assert.isNotNull(fullQualifiedModelName);
    Assert.isLegal(!fullQualifiedModelName.contains(Model.SPEC_MODEL_DELIM), "Not a full-qualified model name.");

       final ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
       final ILaunchConfigurationType launchConfigurationType = launchManager
               .getLaunchConfigurationType(TLCModelLaunchDelegate.LAUNCH_CONFIGURATION_TYPE);

    try {
        final ILaunchConfiguration[] launchConfigurations = launchManager.getLaunchConfigurations(launchConfigurationType);
        for (int i = 0; i < launchConfigurations.length; i++) {
            // Can do equals here because of full qualified name.
            final ILaunchConfiguration launchConfiguration = launchConfigurations[i];
            if (fullQualifiedModelName.equals(launchConfiguration.getName())) {
                return launchConfiguration.getAdapter(Model.class);
            }
        }
    } catch (CoreException shouldNeverHappen) {
        shouldNeverHappen.printStackTrace();
    }

    return null;
}
项目:turnus.orcc    文件:TabuSearchPerformanceEstimationLaunchShortcut.java   
private void chooseAndLaunch(IFile file, ILaunchConfiguration[] configs, String mode) {
    ILaunchConfiguration config = null;
    if (configs.length == 0) {
        config = createConfiguration(file);
    } else if (configs.length == 1) {
        config = configs[0];
    } else {
        config = chooseConfiguration(configs);
    }

    if (config != null) {
        Shell shell = getShell();
        DebugUITools.openLaunchConfigurationDialogOnGroup(shell, new StructuredSelection(config),
                IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
    }
}
项目:tlaplus    文件:ModelHelperTest.java   
public void testPrettyPrintConstants2() throws CoreException {
final List<String> values = new ArrayList<String>();
values.add("X;;X;1;0");
values.add("Y;;{a1, b1};1;0");
values.add("Z;;{s1, s2};1;1");
values.add("W;;1;0;0");
values.add("V;;V;1;0");
values.add("U;;42;0;0");
final ILaunchConfiguration config = new DummyLaunchConfig(
        IModelConfigurationConstants.MODEL_PARAMETER_CONSTANTS, values);

final String constants = ModelHelper.prettyPrintConstants(config, "\n");
    final String[] split = constants.split("\n");
    assertEquals(5, split.length);
    assertEquals("U <- 42", split[0]);
    assertEquals("W <- 1", split[1]);
    assertEquals("Y <- {a1, b1}", split[2]);
    assertEquals("Z <- s{s1, s2}", split[3]);
    assertEquals("Model values: V, X", split[4]);
  }
项目:google-cloud-eclipse    文件:DataflowPipelineLaunchDelegateTest.java   
private ILaunchConfiguration mockILaunchConfiguration() throws CoreException {
  ILaunchConfiguration configuration = mock(ILaunchConfiguration.class);
  String configurationName = "testConfiguration";
  when(configuration.getName()).thenReturn(configurationName);

  PipelineRunner runner = PipelineRunner.BLOCKING_DATAFLOW_PIPELINE_RUNNER;
  when(configuration.getAttribute(eq(PipelineConfigurationAttr.RUNNER_ARGUMENT.toString()),
      anyString())).thenReturn(runner.getRunnerName());

  String projectName = "Test-project,Name";
  when(configuration.getAttribute(eq(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME),
      anyString())).thenReturn(projectName);
  when(workspaceRoot.getProject(projectName)).thenReturn(project);
  when(project.exists()).thenReturn(true);

  return configuration;
}
项目:google-cloud-eclipse    文件:PipelineLaunchConfigurationTest.java   
@Test
public void testFromLaunchConfigurationCopiesArgumentsFromLaunchConfiguration()
    throws CoreException {
  ILaunchConfiguration launchConfiguration = mock(ILaunchConfiguration.class);
  Map<String, String> requiredArgumentValues = ImmutableMap.of(
      "Spam", "foo",
      "Ham", "bar",
      "Eggs", "baz");
  when(launchConfiguration.getAttribute(
      eq(PipelineConfigurationAttr.ALL_ARGUMENT_VALUES.toString()), 
      Matchers.anyMapOf(String.class, String.class)))
      .thenReturn(requiredArgumentValues);

  PipelineRunner runner = PipelineRunner.DATAFLOW_PIPELINE_RUNNER;
  when(launchConfiguration.getAttribute(eq(PipelineConfigurationAttr.RUNNER_ARGUMENT.toString()),
      anyString())).thenReturn(runner.getRunnerName());

  PipelineLaunchConfiguration pipelineLaunchConfig =
      PipelineLaunchConfiguration.fromLaunchConfiguration(launchConfiguration);

  assertEquals(requiredArgumentValues, pipelineLaunchConfig.getArgumentValues());
  assertEquals(runner, pipelineLaunchConfig.getRunner());
}
项目:turnus.orcc    文件:OrccDynamicExecutionLaunchShortcut.java   
private void chooseAndLaunch(IFile file, ILaunchConfiguration[] configs, String mode) {
    ILaunchConfiguration config = null;
    if (configs.length == 0) {
        config = createConfiguration(file);
    } else if (configs.length == 1) {
        config = configs[0];
    } else {
        config = chooseConfiguration(configs);
    }

    if (config != null) {
        Shell shell = getShell();
        DebugUITools.openLaunchConfigurationDialogOnGroup(shell, new StructuredSelection(config),
                IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
    }
}
项目:google-cloud-eclipse    文件:FlexMavenPackagedProjectStagingDelegate.java   
@Override
protected IPath getDeployArtifact(IPath safeWorkingDirectory, IProgressMonitor monitor)
    throws CoreException {
  SubMonitor subMonitor = SubMonitor.convert(monitor, 100);

  try {
    ILaunchConfiguration config = createMavenPackagingLaunchConfiguration(project);
    ILaunch launch = config.launch("run", subMonitor.newChild(10));
    if (!waitUntilLaunchTerminates(launch, subMonitor.newChild(90))) {
      throw new OperationCanceledException();
    }
    return getFinalArtifactPath(project);
  } catch (InterruptedException ex) {
    throw new OperationCanceledException();
  }
}
项目:turnus    文件:ILaunchWidget.java   
/**
 * Initialize the widget from the given configuration
 * 
 * @param configuration
 * @throws CoreException
 */
public static void initializeFrom(ILaunchWidget<?> widget, ILaunchConfiguration configuration) throws CoreException {
    String id = widget.getId();
    if(configuration.hasAttribute(id)){
        String value = configuration.getAttribute(id, "");
        widget.setRawValue(value);
    }else{
        widget.reset();
    }

    // FIXME
    /*
    if (!value.isEmpty()) {
        widget.setRawValue(value);
    } else {
        widget.reset();
    }*/
}
项目:tlaplus    文件:TLCModelFactory.java   
@SuppressWarnings("unchecked")
public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) {
    if (!Model.class.equals(adapterType)) {
        return null;
    }
    if (adaptableObject instanceof ILaunchConfiguration) {
        final ILaunchConfiguration launchConfiguration = (ILaunchConfiguration) adaptableObject;
        // The ILC instances change all the time due to working copies being
        // created dynamically upon save. Thus, map the various ILC's to one
        // model by using the canonical IFile that all ILC instances are
        // technically represented by.
        final IFile key = launchConfiguration.getFile();
        Assert.isNotNull(key);
        if (!launch2model.containsKey(key)) {
            launch2model.put(key, new Model(launchConfiguration));
        }
        return (T) launch2model.get(key);
    }
    return null;
}
项目:tlaplus    文件:TLCModelLaunchDelegate.java   
/**
 * Returns whether a launch should proceed. This method is called first
 * in the launch sequence providing an opportunity for this launch delegate
 * to abort the launch.
 * 
 * <br>2. method called on launch
 * @return whether the launch should proceed
 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
 */
public boolean preLaunchCheck(ILaunchConfiguration config, String mode, IProgressMonitor monitor)
        throws CoreException
{

    // check the config existence
    if (!config.exists())
    {
        return false;
    }

    try
    {
        monitor.beginTask("Reading model parameters", 1);
    } finally
    {
        // finish the monitor
        monitor.done();
    }

    return true;
}
项目:google-cloud-eclipse    文件:LocalAppEngineStandardLaunchShortcut.java   
/**
 * Find any applicable launch configurations.
 */
private ILaunchConfiguration[] getLaunchConfigurations(IModule[] modules) {
  // First check if there's a server with exactly these modules
  Collection<IServer> servers = launcher.findExistingServers(modules, /* exact */ true, null);
  if (servers.isEmpty()) {
    // otherwise check if there's a server with at least these modules
    servers = launcher.findExistingServers(modules, /* exact */ false, null);
  }
  Collection<ILaunchConfiguration> launchConfigs = new ArrayList<>();
  for (IServer server : servers) {
    // Could filter out running servers, but then more servers are created
    try {
      ILaunchConfiguration launchConfig = server.getLaunchConfiguration(false, null);
      if (launchConfig != null) {
        launchConfigs.add(launchConfig);
      }
    } catch (CoreException ex) {
      /* ignore */
    }
  }
  return launchConfigs.toArray(new ILaunchConfiguration[launchConfigs.size()]);
}