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

项目: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 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);
    }
}
项目:neoscada    文件:LaunchShortcut.java   
private void addJvmOptions ( final ILaunchConfigurationWorkingCopy cfg, final Profile profile, final IContainer container ) throws CoreException
{
    final List<String> args = new LinkedList<> ();

    args.addAll ( profile.getJvmArguments () );

    for ( final SystemProperty p : profile.getProperty () )
    {
        addSystemProperty ( profile, args, p.getKey (), p.getValue (), p.isEval () );
    }

    for ( final Map.Entry<String, String> entry : getInitialProperties ().entrySet () )
    {
        addSystemProperty ( profile, args, entry.getKey (), entry.getValue (), false );
    }

    final IFile dataJson = container.getFile ( new Path ( "data.json" ) ); //$NON-NLS-1$
    if ( dataJson.exists () )
    {
        addJvmArg ( args, "org.eclipse.scada.ca.file.provisionJsonUrl", escapeArgValue ( dataJson.getLocation ().toFile ().toURI ().toString () ) ); //$NON-NLS-1$
    }

    cfg.setAttribute ( IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, StringHelper.join ( args, "\n" ) );
    cfg.setAttribute ( IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, StringHelper.join ( profile.getArguments (), "\n" ) );
}
项目:egradle    文件:EGradleLaunchShortCut.java   
/**
 * Creates and returns a new configuration based on the specified type.
 * 
 * @param additionalScope additional scope which can be given
 * @param type
 *            type to create a launch configuration for
 * 
 * @return launch configuration configured to launch the specified type
 */
protected ILaunchConfiguration createConfiguration(IResource resource, Object additionalScope) {
    ILaunchConfiguration config = null;
    ILaunchConfigurationWorkingCopy wc = null;
    try {
        String projectName = createGradleProjectName(resource);
        String proposal = createLaunchConfigurationNameProposal(projectName, resource, additionalScope);

        ILaunchConfigurationType configType = getConfigurationType();
        wc = configType.newInstance(null, getLaunchManager().generateLaunchConfigurationName(proposal));
        createCustomConfiguration(resource, additionalScope, wc, projectName);

        config = wc.doSave();
    } catch (CoreException exception) {
        MessageDialog.openError(EclipseUtil.getActiveWorkbenchShell(), "EGradle create configuration failed",
                exception.getStatus().getMessage());
    }
    return config;
}
项目:egradle    文件:EGradleLaunchConfigurationPropertiesTab.java   
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    // Convert the table's items into a Map so that this can be saved in the
    // configuration's attributes.
    TableItem[] items = propertiesTable.getTable().getItems();
    Map<String,String> map = new HashMap<>(items.length);
    for (int i = 0; i < items.length; i++) {
        PropertyVariable var = (PropertyVariable) items[i].getData();
        map.put(var.getName(), var.getValue());
    }
    if (map.size() == 0) {
        configuration.setAttribute(launchConfigurationPropertyMapAttributeName, (Map<String,String>) null);
    } else {
        configuration.setAttribute(launchConfigurationPropertyMapAttributeName, map);
    }

}
项目:ncl30-eclipse    文件:GingaVMLaunchTabConfiguration.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    super.performApply(configuration);
    configuration.setAttribute(
            "remoteWorkspace", 
            fRemoteAppDirPathText.getText());

    configuration.setAttribute(
            "hostName", 
            fHostText.getText());

    configuration.setAttribute(
            "userName", 
            fUserNameText.getText());

    configuration.setAttribute(
            "userPassword", 
            fUserPasswordText.getText());
}
项目:eclemma    文件:JavaApplicationLauncherTest.java   
@Test
public void testProjectWithSourceFolders() throws Exception {
  IPackageFragmentRoot rootSrc1 = javaProject1.createSourceFolder("src");
  IPackageFragmentRoot rootSrc2 = javaProject1.createSourceFolder("test");
  JavaProjectKit.waitForBuild();

  ILaunchConfigurationWorkingCopy configuration = getJavaApplicationType()
      .newInstance(javaProject1.project, "test.launch");
  configuration.setAttribute(
      IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "project1");

  final Collection<IPackageFragmentRoot> scope = launcher
      .getOverallScope(configuration);

  assertEquals(set(rootSrc1, rootSrc2), set(scope));
}
项目:eclemma    文件:JavaApplicationLauncherTest.java   
@Test
public void testProjectWithProjectReference() throws Exception {
  IPackageFragmentRoot rootSrc1 = javaProject1.createSourceFolder("src");
  IPackageFragmentRoot rootSrc2 = javaProject2.createSourceFolder("src");
  javaProject1.addProjectReference(javaProject2);
  JavaProjectKit.waitForBuild();

  ILaunchConfigurationWorkingCopy configuration = getJavaApplicationType()
      .newInstance(javaProject1.project, "test.launch");
  configuration.setAttribute(
      IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, "project1");

  final Collection<IPackageFragmentRoot> scope = launcher
      .getOverallScope(configuration);

  assertEquals(set(rootSrc1, rootSrc2), set(scope));
}
项目:google-cloud-eclipse    文件:PipelineLaunchConfigurationTest.java   
@Test
public void testToLaunchConfigurationWritesArgumentsToLaunchConfiguration() {
  PipelineLaunchConfiguration pipelineLaunchConfig = PipelineLaunchConfiguration.createDefault();

  PipelineRunner runner = PipelineRunner.DATAFLOW_PIPELINE_RUNNER;
  pipelineLaunchConfig.setRunner(runner);

  Map<String, String> argValues = ImmutableMap.of(
      "Spam", "foo",
      "Ham", "bar",
      "Eggs", "baz");
  pipelineLaunchConfig.setArgumentValues(argValues);

  ILaunchConfigurationWorkingCopy workingCopy = mock(ILaunchConfigurationWorkingCopy.class);
  pipelineLaunchConfig.toLaunchConfiguration(workingCopy);

  verify(workingCopy).setAttribute(
      PipelineConfigurationAttr.ALL_ARGUMENT_VALUES.toString(), argValues);
  verify(workingCopy).setAttribute(
      PipelineConfigurationAttr.RUNNER_ARGUMENT.toString(), runner.getRunnerName());
}
项目:google-cloud-eclipse    文件:FlexMavenPackagedProjectStagingDelegate.java   
@VisibleForTesting
static ILaunchConfiguration createMavenPackagingLaunchConfiguration(IProject project)
    throws CoreException {
  ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
  ILaunchConfigurationType launchConfigurationType = launchManager
      .getLaunchConfigurationType(MavenLaunchConstants.LAUNCH_CONFIGURATION_TYPE_ID);

  String launchConfigName = "CT4E App Engine flexible Maven deploy artifact packaging "
      + project.getLocation().toString().replaceAll("[^a-zA-Z0-9]", "_");

  ILaunchConfigurationWorkingCopy workingCopy = launchConfigurationType.newInstance(
      null /*container*/, launchConfigName);
  workingCopy.setAttribute(ILaunchManager.ATTR_PRIVATE, true);
  // IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND;
  workingCopy.setAttribute("org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND", true);
  workingCopy.setAttribute(MavenLaunchConstants.ATTR_POM_DIR, project.getLocation().toString());
  workingCopy.setAttribute(MavenLaunchConstants.ATTR_GOALS, "package");
  workingCopy.setAttribute(RefreshUtil.ATTR_REFRESH_SCOPE, "${project}");
  workingCopy.setAttribute(RefreshUtil.ATTR_REFRESH_RECURSIVE, true);

  IPath jreContainerPath = getJreContainerPath(project);
  workingCopy.setAttribute(
      IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, jreContainerPath.toString());

  return workingCopy;
}
项目:google-cloud-eclipse    文件:PipelineArgumentsTab.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
  PipelineRunner runner = getSelectedRunner();
  launchConfiguration.setRunner(runner);

  launchConfiguration.setUseDefaultLaunchOptions(defaultOptionsComponent.isUseDefaultOptions());

  Map<String, String> overallArgValues = new HashMap<>(launchConfiguration.getArgumentValues());
  if (!defaultOptionsComponent.isUseDefaultOptions()) {
    overallArgValues.putAll(defaultOptionsComponent.getValues());
  }
  overallArgValues.putAll(getNonDefaultOptions());
  launchConfiguration.setArgumentValues(overallArgValues);

  launchConfiguration.setUserOptionsName(userOptionsSelector.getText());

  launchConfiguration.toLaunchConfiguration(configuration);
}
项目:google-cloud-eclipse    文件:PipelineLaunchConfiguration.java   
/**
 * Stores the Dataflow Pipeline-specific options of this LaunchConfiguration inside the provided
 * {@link ILaunchConfigurationWorkingCopy}.
 */
public void toLaunchConfiguration(ILaunchConfigurationWorkingCopy configuration) {
  configuration.setAttribute(
      PipelineConfigurationAttr.RUNNER_ARGUMENT.toString(), runner.getRunnerName());
  configuration.setAttribute(
      PipelineConfigurationAttr.USE_DEFAULT_LAUNCH_OPTIONS.toString(), useDefaultLaunchOptions);
  configuration.setAttribute(
      PipelineConfigurationAttr.ALL_ARGUMENT_VALUES.toString(), argumentValues);
  configuration.setAttribute(
      PipelineConfigurationAttr.USER_OPTIONS_NAME.toString(), userOptionsName.orNull());

  try {
    setEclipseProjectName(configuration);
  } catch (CoreException e) {
    DataflowCorePlugin.logWarning("CoreException while trying to retrieve"
        + " project name from Configuration Working Copy");
  }
}
项目:uml2solidity    文件:GenerateUml2SolidityCodeConfigurationTab.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    configuration.setAttribute(GenerateUml2Solidity.MODEL_URI, modelText.getText());
    configuration.setAttribute(CONTRACT_FILE_HEADER, fileHeaderText.getText());
    configuration.setAttribute(GENERATE_MIX, btnGenerateMixConfig.getSelection());
    configuration.setAttribute(GENERATE_HTML, btnGenerateMixHtml.getSelection());
    configuration.setAttribute(GENERATE_CONTRACT_FILES, btnGenerateSolidityCode.getSelection());
    configuration.setAttribute(GENERATION_TARGET, generationDirectoryText.getText());
    configuration.setAttribute(CONTRACT_FILE_HEADER, fileHeaderText.getText());

    configuration.setAttribute(ENABLE_VERSION, btnVersionAbove.getSelection());
    configuration.setAttribute(VERSION_PRAGMA, versionText.getText());

    configuration.setAttribute(COMPILE_CONTRACTS, btnCompile.getSelection());
    configuration.setAttribute(COMPILER_PROGRAMM, compiler_text.getText());
    configuration.setAttribute(COMPILER_TARGET, compiler_out_text.getText());

    for (Entry<String, Button> e : compileOptions.entrySet()) {
        configuration.setAttribute(e.getKey(), e.getValue().getSelection());
    }

}
项目:uml2solidity    文件:GenerateJavaCodeConfigurationTab.java   
@Override
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
    IPreferenceStore store = PreferenceConstants.getPreferenceStore(null);

    configuration.setAttribute(GENERATE_JAVA_INTERFACE, store.getBoolean(GENERATE_JAVA_INTERFACE));
    configuration.setAttribute(GENERATE_JAVA_NONBLOCKING, store.getBoolean(GENERATE_JAVA_NONBLOCKING));
    configuration.setAttribute(GENERATION_JAVA_INTERFACE_TARGET, store.getString(GENERATION_JAVA_INTERFACE_TARGET));
    configuration.setAttribute(GENERATION_JAVA_INTERFACE_PACKAGE_PREFIX,
            store.getString(GENERATION_JAVA_INTERFACE_PACKAGE_PREFIX));

    configuration.setAttribute(GENERATE_JAVA_TESTS, store.getBoolean(GENERATE_JAVA_TESTS));
    configuration.setAttribute(GENERATION_JAVA_TEST_TARGET, store.getString(GENERATION_JAVA_TEST_TARGET));

    String types = store.getString(GENERATION_JAVA_2_SOLIDITY_TYPES);
    if (types != null) {
        String[] split = types.split(",");
        for (int i = 0; i < split.length; i++) {
            String t = split[i];
            configuration.setAttribute(GENERATION_JAVA_2_SOLIDITY_TYPE_PREFIX + t,
                    store.getString(GENERATION_JAVA_2_SOLIDITY_TYPE_PREFIX + t));
        }
    }
}
项目:texlipse    文件:TexLaunchConfigurationTab.java   
/**
 * Initializes the given launch configuration with
 * default values for this tab. This method
 * is called when a new launch configuration is created
 * such that the configuration can be initialized with
 * meaningful values. This method may be called before this
 * tab's control is created.
 * 
 * If the configuration parameter contains an attribute named
 * 'viewerCurrent', the tab is initialized with the default values
 * for the given viewer. The given viewer is expected to exist.
 * 
 * @param configuration launch configuration
 */
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
    try {
        String viewer = configuration.getAttribute("viewerCurrent", registry.getActiveViewer());
        registry.setActiveViewer(viewer);

        configuration.setAttribute(ViewerAttributeRegistry.VIEWER_CURRENT, viewer);
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_COMMAND, registry.getCommand());
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_ARGUMENTS, registry.getArguments());
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_DDE_VIEW_COMMAND, registry.getDDEViewCommand());
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_DDE_VIEW_SERVER, registry.getDDEViewServer());
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_DDE_VIEW_TOPIC, registry.getDDEViewTopic());
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_DDE_CLOSE_COMMAND, registry.getDDECloseCommand());
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_DDE_CLOSE_SERVER, registry.getDDECloseServer());
        configuration.setAttribute(viewer + ViewerAttributeRegistry.ATTRIBUTE_DDE_CLOSE_TOPIC, registry.getDDECloseTopic());  
    } catch (CoreException e) {
        TexlipsePlugin.log("Initializing launch configuration", e);
    }
}
项目:turnus.orcc    文件:BufferSizeOptionsTab.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    try {
        {// check if a new table must be created
            String newProject = configuration.getAttribute(CAL_PROJECT.longName(), "");
            String newXdf = configuration.getAttribute(CAL_XDF.longName(), "");
            String newConfig = configStamp(newProject, newXdf);

            config = configuration.getAttribute(LOADED_CONFIGURATION, "");

            if (!newConfig.equals(config)) {
                config = newConfig;
                configuration.setAttribute(LOADED_CONFIGURATION, config);
                loadConnections(newProject, newXdf);
                loadXdfMapping();
                viewer.setInput(connections);
            }
        }

        configuration.setAttribute(getId(), getValue());

    } catch (CoreException e) {
        e.printStackTrace();
    }

}
项目:hybris-commerce-eclipse-plugin    文件:BuildUtils.java   
/**
 * Creates an ant build configuration {@link ILaunchConfiguration}
 * 
 * @param configName
 *            name of the configuration to be created
 * @param targets
 *            ant targets to be called
 * @param buildPath
 *            path to build.xml file
 * @param projectName
 *            name of the projects
 * @return ant build configuration
 */
private static ILaunchConfiguration createAntBuildConfig(String configName, String targets, String buildPath,
        String projectName) throws CoreException {
    ILaunchConfiguration launchCfg;
    ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager()
            .getLaunchConfigurationType("org.eclipse.ant.AntLaunchConfigurationType");
    ILaunchConfigurationWorkingCopy config = null;
    config = type.newInstance(null, configName);
    config.setAttribute("org.eclipse.ui.externaltools.ATTR_ANT_TARGETS", targets);
    config.setAttribute("org.eclipse.ui.externaltools.ATTR_CAPTURE_OUTPUT", true);
    config.setAttribute("org.eclipse.ui.externaltools.ATTR_LOCATION", buildPath);
    config.setAttribute("org.eclipse.ui.externaltools.ATTR_SHOW_CONSOLE", true);
    config.setAttribute("org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES", Collections.<String, String>emptyMap());
    config.setAttribute("org.eclipse.ant.ui.DEFAULT_VM_INSTALL", true);
    config.setAttribute("org.eclipse.jdt.launching.MAIN_TYPE",
            "org.eclipse.ant.internal.launching.remote.InternalAntRunner");
    config.setAttribute("org.eclipse.jdt.launching.PROJECT_ATTR", projectName);
    config.setAttribute("org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER",
            "org.eclipse.ant.ui.AntClasspathProvider");
    config.setAttribute("process_factory_id", "org.eclipse.ant.ui.remoteAntProcessFactory");
    if (configName.equals(PLATFORM_BUILD_CONFIG) || configName.equals(PLATFORM_CLEAN_BUILD_CONFIG)) {
        config.setAttribute("org.eclipse.debug.core.ATTR_REFRESH_SCOPE", "${workspace}");
    }
    launchCfg = config.doSave();
    return launchCfg;
}
项目:angular-eclipse    文件:MainTab.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    super.performApply(configuration);
    String command = commandsCommbo.getText().trim();
    if (command.length() == 0) {
        configuration.setAttribute(AngularCLILaunchConstants.OPERATION, (String) null);
    } else {
        configuration.setAttribute(AngularCLILaunchConstants.OPERATION, command);
    }
    String arguments = this.argumentsField.getText().trim();
    if (arguments.length() == 0) {
        configuration.setAttribute(AngularCLILaunchConstants.OPERATION_PARAMETERS, (String) null);
    } else {
        configuration.setAttribute(AngularCLILaunchConstants.OPERATION_PARAMETERS, arguments);
    }
}
项目:EclipsePlugins    文件:JavaLaunchShortcut.java   
private ILaunchConfigurationWorkingCopy getRemoteDebugConfig(IProject activeProj) throws CoreException {
    ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
    ILaunchConfigurationType type = manager.getLaunchConfigurationType(IJavaLaunchConfigurationConstants.ID_REMOTE_JAVA_APPLICATION);
    ILaunchConfigurationWorkingCopy config = type.newInstance(null, "Debug "+activeProj.getName());
    config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, activeProj.getName());
    config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_ALLOW_TERMINATE, true);
    config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_CONNECTOR, IJavaLaunchConfigurationConstants.ID_SOCKET_ATTACH_VM_CONNECTOR);
    IVMConnector connector = JavaRuntime.getVMConnector(IJavaLaunchConfigurationConstants.ID_SOCKET_ATTACH_VM_CONNECTOR);
    Map<String, Argument> def = connector.getDefaultArguments();
    Map<String, String> argMap = new HashMap<String, String>(def.size());
    argMap.put("hostname", getHostname(activeProj));
    argMap.put("port", "8348");
    WPILibJavaPlugin.logInfo(argMap.toString());
    config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, argMap);
    return config;
}
项目:EclipsePlugins    文件:JavaLaunchShortcut.java   
private void startDebugConfig(final ILaunchConfigurationWorkingCopy config) 
        throws CoreException, InterruptedException {
    int remainingAttempts = DEBUG_ATTACH_ATTEMPTS;

    // Retry until success or rethrow of exception on failure
    while (true) {
        try {
            WPILibJavaPlugin.logInfo("Attemping to attach debugger...");
            config.launch(ILaunchManager.DEBUG_MODE, null);
            WPILibJavaPlugin.logInfo("Debugger attached.");
            break;
        } catch (CoreException e) {
            if (--remainingAttempts > 0) {
                String errorMsg = MessageFormat.format("Unable to attach debugger. "
                        + "{0} attempts remain - waiting {1} second(s) before retrying...", 
                        remainingAttempts, DEBUG_ATTACH_RETRY_DELAY_SEC);
                WPILibJavaPlugin.logError(errorMsg, null);
                Thread.sleep(DEBUG_ATTACH_RETRY_DELAY_SEC * 1000);
            } else {
                throw e;
            }
        }
    }
}
项目:n4js    文件:LaunchConfigurationMainTab.java   
/**
 * (non-Javadoc)
 *
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 **/
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    String file = fileText.getText().trim();
    if (file.length() == 0) {
        file = null;
    }
    configuration.setAttribute(XpectRunConfiguration.XT_FILE_TO_RUN, file);
}
项目:n4js    文件:AbstractLaunchConfigurationMainTab.java   
/**
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 */
@Override
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
    // FIXME IDE-1393 move to subclass?
    configuration.setAttribute(RunConfiguration.RUNNER_ID, RunnerUiUtils.getRunnerId(configuration, true));
    configuration.setAttribute(RunConfiguration.IMPLEMENTATION_ID, (String) null);
}
项目:n4js    文件:AbstractLaunchConfigurationMainTab.java   
/**
 * From the UI widgets to the configuration.
 *
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 */
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    final String wsRelativePath = txtResource.getText();
    final URI uri = wsRelativePath.trim().length() > 0 ? URI.createPlatformResourceURI(wsRelativePath, true) : null;
    final String uriStr = uri != null ? uri.toString() : null;
    configuration.setAttribute(getResourceRunConfigKey(), uriStr);

    final String implementationId = txtImplementationId.getText();
    final String actualImplId = implementationId.trim().length() > 0 ? implementationId.trim() : null;
    configuration.setAttribute(RunConfiguration.IMPLEMENTATION_ID, actualImplId);
}
项目:gemoc-studio-modeldebugging    文件:LaunchConfigurationMainTab.java   
@Override
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
    configuration.setAttribute(RunConfiguration.LAUNCH_DELAY, 1000);
    configuration.setAttribute(RunConfiguration.LAUNCH_MODEL_ENTRY_POINT, "");
    configuration.setAttribute(RunConfiguration.LAUNCH_METHOD_ENTRY_POINT, "");
    configuration.setAttribute(RunConfiguration.LAUNCH_SELECTED_LANGUAGE, "");
}
项目:gemoc-studio-modeldebugging    文件:LaunchConfigurationMainTab.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
    configuration.setAttribute(
            AbstractDSLLaunchConfigurationDelegate.RESOURCE_URI,
            this._modelLocationText.getText());
    configuration.setAttribute(
            AbstractDSLLaunchConfigurationDelegateSiriusUI.SIRIUS_RESOURCE_URI,
            this._siriusRepresentationLocationText.getText());
    configuration.setAttribute(RunConfiguration.LAUNCH_DELAY,
            Integer.parseInt(_delayText.getText()));
    configuration.setAttribute(RunConfiguration.LAUNCH_SELECTED_LANGUAGE,
            _languageCombo.getText());
    configuration.setAttribute(RunConfiguration.LAUNCH_MELANGE_QUERY,
            _melangeQueryText.getText());
    configuration.setAttribute(RunConfiguration.LAUNCH_MODEL_ENTRY_POINT,
            _entryPointModelElementText.getText());
    configuration.setAttribute(RunConfiguration.LAUNCH_METHOD_ENTRY_POINT,
            _entryPointMethodText.getText());
    configuration.setAttribute(RunConfiguration.LAUNCH_INITIALIZATION_METHOD,
            _modelInitializationMethodText.getText());
    configuration.setAttribute(RunConfiguration.LAUNCH_INITIALIZATION_ARGUMENTS,
            _modelInitializationArgumentsText.getText());
    configuration.setAttribute(RunConfiguration.LAUNCH_BREAK_START,
            _animationFirstBreak.getSelection());
    // DebugModelID for sequential engine
    configuration.setAttribute(RunConfiguration.DEBUG_MODEL_ID, Activator.DEBUG_MODEL_ID);
}
项目:gemoc-studio-modeldebugging    文件:AbstractDSLLaunchConfigurationDelegateUI.java   
/**
 * Creates a {@link ILaunchConfiguration}. If the <code>firstInstruction</code> is <code>null</code> the
 * launch configuration dialog is opened.
 * 
 * @param file
 *            the selected model {@link IFile}
 * @param firstInstruction
 *            the first {@link EObject instruction} or <code>null</code> for interactive selection
 * @param mode
 *            the {@link ILaunchConfiguration#getModes() mode}
 * @return an array of possible {@link ILaunchConfiguration}, can be empty but not <code>null</code>
 * @throws CoreException
 *             if {@link ILaunchConfiguration} initialization fails of models can't be loaded
 */
protected ILaunchConfiguration[] createLaunchConfiguration(final IResource file,
        EObject firstInstruction, final String mode) throws CoreException {
    final ILaunchConfiguration[] res;

    ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
    ILaunchConfigurationType type = manager.getLaunchConfigurationType(getLaunchConfigurationTypeID());

    ILaunchConfigurationWorkingCopy configuration = type.newInstance(null, file.getName());
    configuration.setMappedResources(new IResource[] {file, });
    configuration.setAttribute(AbstractDSLLaunchConfigurationDelegate.RESOURCE_URI, file.getFullPath()
            .toString());
    if (firstInstruction == null) {
        // open configuration for further editing
        final ILaunchGroup group = DebugUITools.getLaunchGroup(configuration, mode);
        if (group != null) {
            configuration.doSave();
            DebugUITools.openLaunchConfigurationDialog(PlatformUI.getWorkbench()
                    .getActiveWorkbenchWindow().getShell(), configuration, group.getIdentifier(), null);
        }
        res = new ILaunchConfiguration[] {};
    } else {
        configuration.setAttribute(AbstractDSLLaunchConfigurationDelegate.FIRST_INSTRUCTION_URI,
                EcoreUtil.getURI(firstInstruction).toString());
        // save and return new configuration
        configuration.doSave();
        res = new ILaunchConfiguration[] {configuration, };
    }
    return res;
}
项目:gemoc-studio-modeldebugging    文件:DSLLaunchConfigurationTab.java   
/**
 * {@inheritDoc}
 * 
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
 */
public void performApply(final ILaunchConfigurationWorkingCopy configuration) {
    configuration.setAttribute(AbstractDSLLaunchConfigurationDelegate.RESOURCE_URI, resourceURIText
            .getText());
    configuration.setAttribute(AbstractDSLLaunchConfigurationDelegate.FIRST_INSTRUCTION_URI,
            firstInstructionURIText.getText());
}
项目:gemoc-studio-modeldebugging    文件:AbstractSequentialGemocLauncher.java   
@Override
protected final ILaunchConfiguration[] createLaunchConfiguration(IResource file, EObject firstInstruction, String mode)
        throws CoreException {
    ILaunchConfiguration[] launchConfigs = super.createLaunchConfiguration(file, firstInstruction, mode);

    if (launchConfigs.length == 1) {
        // open configuration for further editing
        if (launchConfigs[0] instanceof ILaunchConfigurationWorkingCopy) {
            ILaunchConfigurationWorkingCopy configuration = (ILaunchConfigurationWorkingCopy) launchConfigs[0];

            String selectedLanguage = configuration.getAttribute(RunConfiguration.LAUNCH_SELECTED_LANGUAGE, "");
            if (selectedLanguage.equals("")) {

                // TODO try to infer possible language and other attribute
                // from project content and environment
                setDefaultsLaunchConfiguration(configuration);

                final ILaunchGroup group = DebugUITools.getLaunchGroup(configuration, mode);
                if (group != null) {
                    ILaunchConfiguration savedLaunchConfig = configuration.doSave();
                    // open configuration for user validation and inputs
                    DebugUITools.openLaunchConfigurationDialogOnGroup(PlatformUI.getWorkbench()
                            .getActiveWorkbenchWindow().getShell(), new StructuredSelection(savedLaunchConfig),
                            group.getIdentifier(), null);
                    // DebugUITools.openLaunchConfigurationDialog(PlatformUI.getWorkbench()
                    // .getActiveWorkbenchWindow().getShell(),
                    // savedLaunchConfig, group.getIdentifier(), null);
                }
            }
        }
    }
    return launchConfigs;

}
项目:neoscada    文件:LaunchShortcut.java   
protected ILaunchConfiguration createConfiguration ( final IResource resource ) throws Exception
{
    final ResourceSet rs = new ResourceSetImpl ();
    final Resource r = rs.createResource ( URI.createURI ( resource.getLocationURI ().toURL ().toString () ) );
    r.load ( null );
    final Profile profile = (Profile)EcoreUtil.getObjectByType ( r.getContents (), ProfilePackage.Literals.PROFILE );
    if ( profile == null )
    {
        return null;
    }

    String name = profile.getName ();
    if ( name == null || name.isEmpty () )
    {
        name = String.format ( "Application profile: %s", resource.getFullPath () ); //$NON-NLS-1$
    }

    final ILaunchConfigurationWorkingCopy cfg = getConfigurationType ().newInstance ( resource.getParent (), name );

    final Map<String, String> envs = new HashMap<> ();
    envs.put ( "SCADA_PROFILE", String.format ( "${project_loc:/%s}/%s", resource.getProject ().getName (), resource.getProjectRelativePath () ) ); //$NON-NLS-1$ //$NON-NLS-2$
    cfg.setAttribute ( ATTR_ENV_VARS, envs );

    cfg.setAttribute ( IPDELauncherConstants.INCLUDE_OPTIONAL, false );
    cfg.setAttribute ( IPDELauncherConstants.AUTOMATIC_ADD, false );
    cfg.setAttribute ( IPDELauncherConstants.AUTOMATIC_VALIDATE, true );
    cfg.setAttribute ( IPDELauncherConstants.DEFAULT_AUTO_START, false );
    cfg.setAttribute ( IPDELauncherConstants.CONFIG_USE_DEFAULT_AREA, false );
    cfg.setAttribute ( IPDELauncherConstants.CONFIG_LOCATION, getConfigurationArea ( profile ) );

    addAllBundels ( cfg, profile );
    addJvmOptions ( cfg, profile, resource.getParent () );

    cfg.setAttribute ( IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, "-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}  -consoleLog -console" ); //$NON-NLS-1$

    return cfg.doSave ();
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy config) {
    config.setAttribute(CONFIG_PROJECT, fProjText.getText());
    config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, fProjText.getText());
    try {
        setModels(config);
    } catch (CoreException e) {
        ResourceManager.logException(e);
    }
    config.setAttribute(GW4E_LAUNCH_CONFIGURATION_BUTTON_ID_OMIT_EMPTY_EDGE_DESCRIPTION, this.fOmitEmptyEdgeElementsButton.getSelection() + "");
    config.setAttribute(CONFIG_LAUNCH_STARTNODE, this.fStartNodeText.getText() + "");
    config.setAttribute(CONFIG_LAUNCH_REMOVE_BLOCKED_ELEMENT_CONFIGURATION,
            this.fRemoveBlockedElementsButton.getSelection() + "");
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
private void setModels(ILaunchConfigurationWorkingCopy config) throws CoreException {
StringBuffer sb = new StringBuffer();
// Main 
if (fModelText.getText() == null || fModelText.getText().trim().length() == 0) {
    sb.append("").append(";");
} else {
    sb.append((fModelText.getText().trim())).append(";");
}
sb.append("1").append(";");
IStructuredSelection selection = (IStructuredSelection) comboViewer.getSelection();
if (selection == null || selection.getFirstElement() == null) {
    sb.append("?").append(";");
} else {
    sb.append(((BuildPolicy) selection.getFirstElement()).getPathGenerator()).append(";");
}
// Others
ModelData[] others = mpg.getModel();
for (int i = 0; i < others.length; i++) {
    sb.append(others[i].getFullPath()).append(";");
    if (others[i].isSelected()) {
        sb.append("1").append(";");
    } else {
        sb.append("0").append(";");
    }
    sb.append(others[i].getSelectedPolicy()).append(";");
}
config.setAttribute(CONFIG_GRAPH_MODEL_PATHS, sb.toString());
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
@Override
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
    config.setAttribute(CONFIG_PROJECT, "");
    config.setAttribute(CONFIG_GRAPH_MODEL_PATHS, "");
    config.setAttribute(CONFIG_UNVISITED_ELEMENT, "false");
    config.setAttribute(GW4E_LAUNCH_CONFIGURATION_BUTTON_ID_OMIT_EMPTY_EDGE_DESCRIPTION, "false");
    config.setAttribute(CONFIG_LAUNCH_STARTNODE, "");
    config.setAttribute(CONFIG_LAUNCH_REMOVE_BLOCKED_ELEMENT_CONFIGURATION, "true");
}
项目:gw4e.project    文件:GW4ELaunchShortcut.java   
private void launch(Object[] elements, String mode) {
    try {
        IJavaElement[] ijes = null;
        List<IJavaElement> jes =  new ArrayList<IJavaElement>();
        for (int i = 0; i < elements.length; i++) {
            Object selected= elements[i];
            if (selected instanceof IJavaElement) {
                IJavaElement element= (IJavaElement) selected;
                switch (element.getElementType()) {
                    case IJavaElement.COMPILATION_UNIT:
                        jes.add(element);
                        break;
                }
            }

        }
        ijes = new IJavaElement[jes.size()];
        jes.toArray(ijes);
        ILaunchConfigurationWorkingCopy wc = buildLaunchConfiguration(ijes);
        if (wc==null) return;
        ILaunchConfiguration config= findExistingORCreateLaunchConfiguration(wc, mode);
        DebugUITools.launch(config, mode);
    } catch (Exception e) {
        ResourceManager.logException(e);
        MessageDialog dialog = new MessageDialog(Display.getCurrent().getActiveShell(), "GW4E Launcher", (Image)null, "Unable to launch. See error in Error view.", MessageDialog.ERROR, new String[] { "Close" }, 0);
        dialog.open();
    }
}
项目:gw4e.project    文件:GW4ELaunchShortcut.java   
private ILaunchConfiguration findExistingORCreateLaunchConfiguration(ILaunchConfigurationWorkingCopy temp, String mode) throws InterruptedException, CoreException {
    List candidateConfigs= findExistingLaunchConfigurations(temp);
    int candidateCount= candidateConfigs.size();
    if (candidateCount > 0) {
        return (ILaunchConfiguration) candidateConfigs.get(0);
    }
    return temp.doSave();
}
项目:gw4e.project    文件:GW4ELaunchShortcut.java   
protected ILaunchConfigurationWorkingCopy buildLaunchConfiguration(IJavaElement[]  elements) throws CoreException {
    IJavaElement mainElement = null;
    for (int i = 0; i < elements.length; i++) {
        IJavaElement element = elements [i];
        if (JDTManager.hasStartableGraphWalkerAnnotation(element)) {
            mainElement = element;
            break;
        }
    }

    if (mainElement==null) {
       MessageDialog dialog = new MessageDialog(Display.getCurrent().getActiveShell(), "GW4E Launcher", (Image)null, MessageUtil.getString("nostartvalueinannotation"), MessageDialog.ERROR, new String[] { "Close" }, 0);
       dialog.open();
       return null;
    }

    ILaunchConfigurationType configType= DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(GW4ELAUNCHCONFIGURATIONTYPE);
    ILaunchConfigurationWorkingCopy wc= configType.newInstance(null, DebugPlugin.getDefault().getLaunchManager().generateLaunchConfigurationName(mainElement.getElementName()));
    wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, elements[0].getJavaProject().getElementName());

    String mainElementName = elementToJavaClassName (mainElement);
    StringBuffer sb = new StringBuffer (mainElementName).append(";");
    String[] classnames = elementToJavaClassName(elements);
    for (int i = 0; i < classnames.length; i++) {
        if (classnames[i].equals(mainElementName)) continue;
        sb.append(classnames[i]).append(";");
    }
    wc.setAttribute(LaunchingConstant.CONFIG_TEST_CLASSES,sb.toString());
    return wc;
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
@Override
public void performApply(ILaunchConfigurationWorkingCopy config) {
    config.setAttribute(CONFIG_PROJECT, fProjText.getText());
    config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, fProjText.getText());
    try {
        setModels(config);
    } catch (CoreException e) {
        ResourceManager.logException(e);
    }
    config.setAttribute(CONFIG_UNVISITED_ELEMENT, this.fPrintUnvisitedButton.getSelection() + "");
    config.setAttribute(CONFIG_VERBOSE, this.fVerbosedButton.getSelection() + "");
    config.setAttribute(CONFIG_LAUNCH_STARTNODE, this.fStartNodeText.getText() + "");
    config.setAttribute(CONFIG_LAUNCH_REMOVE_BLOCKED_ELEMENT_CONFIGURATION,
            this.fRemoveBlockedElementsButton.getSelection() + "");
}
项目:gw4e.project    文件:GW4ELaunchConfigurationTab.java   
private void setModels(ILaunchConfigurationWorkingCopy config) throws CoreException {
StringBuffer sb = new StringBuffer();
// Main 
if (fModelText.getText() == null || fModelText.getText().trim().length() == 0) {
    sb.append("").append(";");
} else {
    sb.append((fModelText.getText().trim())).append(";");
}
sb.append("1").append(";");
IStructuredSelection selection = (IStructuredSelection) comboViewer.getSelection();
if (selection == null || selection.getFirstElement() == null) {
    sb.append("?").append(";");
} else {
    sb.append(((BuildPolicy) selection.getFirstElement()).getPathGenerator()).append(";");
}
// Others
ModelData[] others = mpg.getModel();
for (int i = 0; i < others.length; i++) {
    sb.append(others[i].getFullPath()).append(";");
    if (others[i].isSelected()) {
        sb.append("1").append(";");
    } else {
        sb.append("0").append(";");
    }
    sb.append(others[i].getSelectedPolicy()).append(";");
}
config.setAttribute(CONFIG_GRAPH_MODEL_PATHS, sb.toString());
}