package org.ant4eclipse.lib.pde.model.launcher; /** * @author nils * */ public class SelectedLaunchConfigurationBundleParser { /** * Parses a String with a selected bundle (i.e. <code>com.springsource.javassist*3.3.0.ga@11:default</code>) * * @param bundleInfo * @return */ public SelectedLaunchConfigurationBundle parseLaunchConfigurationBundleInfo(String bundleInfo) { final int i = bundleInfo.indexOf('@'); if (i == -1) { // not sure if this will ever happen return new SelectedLaunchConfigurationBundle(bundleInfo, null, "default", "default"); } String version = null; String bundleSymbolicName = null; String startLevel = "default"; String autoStart = "default"; // Parse the name and (optionally) the version final String nameAndVersion = bundleInfo.substring(0, i); int j = nameAndVersion.indexOf('*'); if (j == -1) { bundleSymbolicName = nameAndVersion; } else { bundleSymbolicName = nameAndVersion.substring(0, j); version = nameAndVersion.substring(j + 1); } // Parse startLevel and autoStart parameter if (i < bundleInfo.length() - 1) { final String startLevelAndAutoStart = bundleInfo.substring(i + 1); int k = startLevelAndAutoStart.indexOf(':'); if (k == -1) { startLevel = startLevelAndAutoStart; } else { startLevel = startLevelAndAutoStart.substring(0, k); autoStart = startLevelAndAutoStart.substring(k + 1); } } // Return the a SelectedLaunchConfigurationBundle with the parsed information return new SelectedLaunchConfigurationBundle(bundleSymbolicName, version, startLevel, autoStart); } }