A massive organize imports and formatting of the sources using default Eclipse code...
[phpeclipse.git] / net.sourceforge.phpeclipse.externaltools / src / net / sourceforge / phpdt / externaltools / internal / registry / ExternalToolMigration.java
index 3ca3b59..babbcc6 100644 (file)
@@ -1,13 +1,13 @@
 package net.sourceforge.phpdt.externaltools.internal.registry;
 
 /**********************************************************************
-Copyright (c) 2002 IBM Corp. and others. All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-�
-Contributors:
-**********************************************************************/
+ Copyright (c) 2002 IBM Corp. and others. All rights reserved.
+ This file is made available under the terms of the Common Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/cpl-v10.html
+ �
+ Contributors:
+ **********************************************************************/
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -34,70 +34,107 @@ import org.eclipse.ui.WorkbenchException;
 import org.eclipse.ui.XMLMemento;
 
 /**
- * Responsible reading an old external tool format and creating
- * and migrating it to create a new external tool.
+ * Responsible reading an old external tool format and creating and migrating it
+ * to create a new external tool.
  */
 public final class ExternalToolMigration {
        private static final String SEPERATOR = ";"; //$NON-NLS-1$      
+
        private static final String STATE_FILE_NAME_OLD = "oldexternaltools.xml"; //$NON-NLS-1$
+
        private static final String STATE_FILE_NAME = "externaltools.xml"; //$NON-NLS-1$
+
        private static final String TAG_EXTERNALTOOLS = "externaltools"; //$NON-NLS-1$
+
        private static final String TAG_TOOL = "tool"; //$NON-NLS-1$
+
        private static final String TAG_ENTRY = "entry"; //$NON-NLS-1$
-       //private static final String TAG_KEY = "key"; //$NON-NLS-1$
+
+       // private static final String TAG_KEY = "key"; //$NON-NLS-1$
        private static final String TAG_VALUE = "value"; //$NON-NLS-1$
 
        /*
         * Ant tags
         */
-       //public static final String RUN_TARGETS_ATTRIBUTE = IExternalToolConstants.TOOL_TYPE_ANT_BUILD + ".runTargets"; //$NON-NLS-1$;
-
+       // public static final String RUN_TARGETS_ATTRIBUTE =
+       // IExternalToolConstants.TOOL_TYPE_ANT_BUILD + ".runTargets";
+       // //$NON-NLS-1$;
        /*
         * 2.0 External Tool Tags
         */
        private static final String TAG_TOOL_TYPE = "!{tool_type}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_NAME = "!{tool_name}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_LOCATION = "!{tool_loc}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_ARGUMENTS = "!{tool_args}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_DIRECTORY = "!{tool_dir}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_REFRESH = "!{tool_refresh}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_SHOW_LOG = "!{tool_show_log}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_BUILD_TYPES = "!{tool_build_types}"; //$NON-NLS-1$
+
        private static final String TAG_TOOL_BLOCK = "!{tool_block}"; //$NON-NLS-1$
 
        // Known kind of tools
        private static final String TOOL_TYPE_PROGRAM = "net.sourceforge.phpdt.externaltools.type.program"; //$NON-NLS-1$
-       //private static final String TOOL_TYPE_ANT = "org.eclipse.ui.externaltools.type.ant"; //$NON-NLS-1$
+
+       // private static final String TOOL_TYPE_ANT =
+       // "org.eclipse.ui.externaltools.type.ant"; //$NON-NLS-1$
 
        /*
         * 2.1 External Tool Keys
         */
        private static final String TAG_EXTERNAL_TOOL = "externalTool"; //$NON-NLS-1$
+
        private static final String TAG_TYPE = "type"; //$NON-NLS-1$
+
        private static final String TAG_NAME = "name"; //$NON-NLS-1$
+
        private static final String TAG_LOCATION = "location"; //$NON-NLS-1$
+
        private static final String TAG_WORK_DIR = "workDirectory"; //$NON-NLS-1$
+
        private static final String TAG_CAPTURE_OUTPUT = "captureOutput"; //$NON-NLS-1$
+
        private static final String TAG_SHOW_CONSOLE = "showConsole"; //$NON-NLS-1$
+
        private static final String TAG_RUN_BKGRND = "runInBackground"; //$NON-NLS-1$
+
        private static final String TAG_OPEN_PERSP = "openPerspective"; //$NON-NLS-1$
+
        private static final String TAG_PROMPT_ARGS = "promptForArguments"; //$NON-NLS-1$
+
        private static final String TAG_SHOW_MENU = "showInMenu"; //$NON-NLS-1$
+
        private static final String TAG_SAVE_DIRTY = "saveDirtyEditors"; //$NON-NLS-1$
+
        private static final String TAG_ARGS = "arguments"; //$NON-NLS-1$
+
        private static final String TAG_REFRESH_SCOPE = "refreshScope"; //$NON-NLS-1$
+
        private static final String TAG_REFRESH_RECURSIVE = "refreshRecursive"; //$NON-NLS-1$
+
        private static final String TAG_RUN_BUILD_KINDS = "runForBuildKinds"; //$NON-NLS-1$
+
        private static final String TAG_EXTRA_ATTR = "extraAttribute"; //$NON-NLS-1$
+
        private static final String TAG_KEY = "key"; //$NON-NLS-1$
+
        private static final String TAG_VERSION = "version"; //$NON-NLS-1$
 
        private static final String BUILD_TYPE_SEPARATOR = ","; //$NON-NLS-1$
+
        private static final String EXTRA_ATTR_SEPARATOR = "="; //$NON-NLS-1$
 
        private static final String VERSION_21 = "2.1"; //$NON-NLS-1$;
 
        private static final String TRUE = "true"; //$NON-NLS-1$
+
        private static final String FALSE = "false"; //$NON-NLS-1$
 
        /**
@@ -108,11 +145,10 @@ public final class ExternalToolMigration {
        }
 
        /**
-        * Loads the external tools from storage and
-        * adds them to the registry.
+        * Loads the external tools from storage and adds them to the registry.
         */
-       /*package*/
-       // This method is not called. It is left here in case 
+       /* package */
+       // This method is not called. It is left here in case
        // we decide to do tool migration in the future
        private static void readInOldTools() {
                readIn20Tools();
@@ -159,35 +195,44 @@ public final class ExternalToolMigration {
                } catch (FileNotFoundException e) {
                        // Silently ignore this...
                } catch (IOException e) {
-                       ExternalToolsPlugin.getDefault().log("File I/O error with reading old external tools.", e); 
+                       ExternalToolsPlugin.getDefault().log(
+                                       "File I/O error with reading old external tools.", e);
                        migrationSuccessful = false;
                } catch (WorkbenchException e) {
-                 ExternalToolsPlugin.getDefault().getLog().log(e.getStatus());
-                       System.err.println("Error reading old external tools. See .log file for more details"); 
+                       ExternalToolsPlugin.getDefault().getLog().log(e.getStatus());
+                       System.err
+                                       .println("Error reading old external tools. See .log file for more details");
                        migrationSuccessful = false;
                } finally {
                        if (reader != null) {
                                try {
                                        reader.close();
                                } catch (IOException e) {
-                                       ExternalToolsPlugin.getDefault().log("Unable to close external tool old state reader.", e); 
+                                       ExternalToolsPlugin.getDefault().log(
+                                                       "Unable to close external tool old state reader.",
+                                                       e);
                                }
                        }
                }
 
                if (migrationSuccessful) {
                        if (!file.renameTo(path.append(STATE_FILE_NAME_OLD).toFile())) {
-                               ExternalToolsPlugin.getDefault().log("Unable to rename old external tool state file. Please rename externaltools.xml to oldexternaltools.xml manually.", null); 
-                               System.err.println("Unable to rename old external tool state file. Please rename externaltools.xml to oldexternaltools.xml manually."); 
+                               ExternalToolsPlugin
+                                               .getDefault()
+                                               .log(
+                                                               "Unable to rename old external tool state file. Please rename externaltools.xml to oldexternaltools.xml manually.",
+                                                               null);
+                               System.err
+                                               .println("Unable to rename old external tool state file. Please rename externaltools.xml to oldexternaltools.xml manually.");
                        }
                }
        }
 
        /**
-        * Returns a  launch configuration working copy from the argument map or
-        * <code>null</code> if the given map cannot be interpreted as a 2.0 or 2.1
-        * branch external tool. The returned working copy will be unsaved and its
-        * location will be set to the metadata area.
+        * Returns a launch configuration working copy from the argument map or
+        * <code>null</code> if the given map cannot be interpreted as a 2.0 or
+        * 2.1 branch external tool. The returned working copy will be unsaved and
+        * its location will be set to the metadata area.
         */
        public static ILaunchConfigurationWorkingCopy configFromArgumentMap(Map args) {
                String version = (String) args.get(TAG_VERSION);
@@ -197,43 +242,56 @@ public final class ExternalToolMigration {
                return configFrom20ArgumentMap(args);
        }
 
-       public static ILaunchConfigurationWorkingCopy configFrom21ArgumentMap(Map commandArgs) {
+       public static ILaunchConfigurationWorkingCopy configFrom21ArgumentMap(
+                       Map commandArgs) {
                String name = (String) commandArgs.get(TAG_NAME);
                String type = (String) commandArgs.get(TAG_TYPE);
-               
+
                ILaunchConfigurationWorkingCopy config = newConfig(type, name);
                if (config == null) {
                        return null;
                }
-               
-               config.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String) commandArgs.get(TAG_LOCATION));
-               config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) commandArgs.get(TAG_WORK_DIR));
-               config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals((String) commandArgs.get(TAG_CAPTURE_OUTPUT)));
-               config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals((String) commandArgs.get(TAG_SHOW_CONSOLE)));
-               config.setAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, TRUE.equals((String) commandArgs.get(TAG_RUN_BKGRND)));
-               config.setAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS, TRUE.equals((String) commandArgs.get(TAG_PROMPT_ARGS)));
-               config.setAttribute(IExternalToolConstants.ATTR_REFRESH_SCOPE, (String) commandArgs.get(TAG_REFRESH_SCOPE));
-               config.setAttribute(IExternalToolConstants.ATTR_REFRESH_RECURSIVE, TRUE.equals((String) commandArgs.get(TAG_REFRESH_RECURSIVE)));
-
-               config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, (String) commandArgs.get(TAG_RUN_BUILD_KINDS));
-               
+
+               config.setAttribute(IExternalToolConstants.ATTR_LOCATION,
+                               (String) commandArgs.get(TAG_LOCATION));
+               config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY,
+                               (String) commandArgs.get(TAG_WORK_DIR));
+               config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE
+                               .equals((String) commandArgs.get(TAG_CAPTURE_OUTPUT)));
+               config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE
+                               .equals((String) commandArgs.get(TAG_SHOW_CONSOLE)));
+               config.setAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, TRUE
+                               .equals((String) commandArgs.get(TAG_RUN_BKGRND)));
+               config.setAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS,
+                               TRUE.equals((String) commandArgs.get(TAG_PROMPT_ARGS)));
+               config.setAttribute(IExternalToolConstants.ATTR_REFRESH_SCOPE,
+                               (String) commandArgs.get(TAG_REFRESH_SCOPE));
+               config.setAttribute(IExternalToolConstants.ATTR_REFRESH_RECURSIVE, TRUE
+                               .equals((String) commandArgs.get(TAG_REFRESH_RECURSIVE)));
+
+               config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS,
+                               (String) commandArgs.get(TAG_RUN_BUILD_KINDS));
+
                String args = (String) commandArgs.get(TAG_ARGS);
                if (args != null) {
-                       config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, args);
+                       config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS,
+                                       args);
                }
 
                String extraAttributes = (String) commandArgs.get(TAG_EXTRA_ATTR);
                if (extraAttributes != null) {
-                       StringTokenizer tokenizer = new StringTokenizer(extraAttributes, EXTRA_ATTR_SEPARATOR);
+                       StringTokenizer tokenizer = new StringTokenizer(extraAttributes,
+                                       EXTRA_ATTR_SEPARATOR);
                        while (tokenizer.hasMoreTokens()) {
                                String key = tokenizer.nextToken();
                                if (!tokenizer.hasMoreTokens())
                                        break;
                                String value = tokenizer.nextToken();
-//                             if (key.equals(RUN_TARGETS_ATTRIBUTE)) {
-//                                     // 2.1 implementation only defined 1 "extra attribute"
-//                                     config.setAttribute(IExternalToolConstants.ATTR_ANT_TARGETS, value);
-//                             }
+                               // if (key.equals(RUN_TARGETS_ATTRIBUTE)) {
+                               // // 2.1 implementation only defined 1 "extra attribute"
+                               // config.setAttribute(IExternalToolConstants.ATTR_ANT_TARGETS,
+                               // value);
+                               // }
                        }
                }
                return config;
@@ -242,16 +300,17 @@ public final class ExternalToolMigration {
        /**
         * Creates an external tool from the map.
         */
-       public static ILaunchConfigurationWorkingCopy configFrom20ArgumentMap(Map args) {
+       public static ILaunchConfigurationWorkingCopy configFrom20ArgumentMap(
+                       Map args) {
                // Update the type...
                String type = (String) args.get(TAG_TOOL_TYPE);
-//             if (TOOL_TYPE_ANT.equals(type))
-//                     type = IExternalToolConstants.TOOL_TYPE_ANT_BUILD;
-//             else
-                       type = IExternalToolConstants.TOOL_TYPE_PROGRAM;
+               // if (TOOL_TYPE_ANT.equals(type))
+               // type = IExternalToolConstants.TOOL_TYPE_ANT_BUILD;
+               // else
+               type = IExternalToolConstants.TOOL_TYPE_PROGRAM;
 
                String name = (String) args.get(TAG_TOOL_NAME);
-               
+
                ILaunchConfigurationWorkingCopy config = newConfig(type, name);
                if (config == null) {
                        return null;
@@ -260,9 +319,12 @@ public final class ExternalToolMigration {
                // Update the location...
                String location = (String) args.get(TAG_TOOL_LOCATION);
                if (location != null) {
-                       ToolUtil.VariableDefinition varDef = ToolUtil.extractVariableTag(location, 0);
+                       ToolUtil.VariableDefinition varDef = ToolUtil.extractVariableTag(
+                                       location, 0);
                        if (IExternalToolConstants.VAR_WORKSPACE_LOC.equals(varDef.name)) {
-                               location = ToolUtil.buildVariableTag(IExternalToolConstants.VAR_RESOURCE_LOC, varDef.argument);
+                               location = ToolUtil.buildVariableTag(
+                                               IExternalToolConstants.VAR_RESOURCE_LOC,
+                                               varDef.argument);
                        }
                        config.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
                }
@@ -270,11 +332,13 @@ public final class ExternalToolMigration {
                // Update the refresh scope...
                String refresh = (String) args.get(TAG_TOOL_REFRESH);
                if (refresh != null) {
-                       ToolUtil.VariableDefinition varDef = ToolUtil.extractVariableTag(refresh, 0);
+                       ToolUtil.VariableDefinition varDef = ToolUtil.extractVariableTag(
+                                       refresh, 0);
                        if ("none".equals(varDef.name)) { //$NON-NLS-1$
                                refresh = null;
                        }
-                       config.setAttribute(IExternalToolConstants.ATTR_REFRESH_SCOPE, refresh);
+                       config.setAttribute(IExternalToolConstants.ATTR_REFRESH_SCOPE,
+                                       refresh);
                }
 
                // Update the arguments
@@ -284,7 +348,8 @@ public final class ExternalToolMigration {
                        int start = 0;
                        ArrayList targets = new ArrayList();
                        StringBuffer buffer = new StringBuffer();
-                       ToolUtil.VariableDefinition varDef = ToolUtil.extractVariableTag(arguments, start);
+                       ToolUtil.VariableDefinition varDef = ToolUtil.extractVariableTag(
+                                       arguments, start);
                        while (varDef.end != -1) {
                                if ("ant_target".equals(varDef.name) && varDef.argument != null) { //$NON-NLS-1$
                                        targets.add(varDef.argument);
@@ -309,16 +374,23 @@ public final class ExternalToolMigration {
                        targetNames = buffer.toString();
                }
                if (targetNames != null && targetNames.length() > 0) {
-                       config.setAttribute(IExternalToolConstants.ATTR_ANT_TARGETS, targetNames);
+                       config.setAttribute(IExternalToolConstants.ATTR_ANT_TARGETS,
+                                       targetNames);
                }
 
                // Collect the rest of the information
-               config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals((String) args.get(TAG_TOOL_SHOW_LOG)));
-               config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals((String) args.get(TAG_TOOL_SHOW_LOG)));
-               config.setAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, FALSE.equals((String) args.get(TAG_TOOL_BLOCK)));
-               config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, (String) args.get(TAG_TOOL_BUILD_TYPES));
-               config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-               config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) args.get(TAG_TOOL_DIRECTORY));
+               config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE
+                               .equals((String) args.get(TAG_TOOL_SHOW_LOG)));
+               config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE
+                               .equals((String) args.get(TAG_TOOL_SHOW_LOG)));
+               config.setAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND,
+                               FALSE.equals((String) args.get(TAG_TOOL_BLOCK)));
+               config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS,
+                               (String) args.get(TAG_TOOL_BUILD_TYPES));
+               config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS,
+                               arguments);
+               config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY,
+                               (String) args.get(TAG_TOOL_DIRECTORY));
                return config;
        }
 
@@ -326,17 +398,20 @@ public final class ExternalToolMigration {
         * Returns a new working copy with the given external tool name and external
         * tool type or <code>null</code> if no config could be created.
         */
-       private static ILaunchConfigurationWorkingCopy newConfig(String type, String name) {
+       private static ILaunchConfigurationWorkingCopy newConfig(String type,
+                       String name) {
                if (type == null || name == null) {
                        return null;
                }
                ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
                ILaunchConfigurationType configType;
-//             if (IExternalToolConstants.TOOL_TYPE_ANT_BUILD.equals(type)) {
-//                     configType = manager.getLaunchConfigurationType(IExternalToolConstants.ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE);
-//             } else 
+               // if (IExternalToolConstants.TOOL_TYPE_ANT_BUILD.equals(type)) {
+               // configType =
+               // manager.getLaunchConfigurationType(IExternalToolConstants.ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE);
+               // } else
                if (IExternalToolConstants.TOOL_TYPE_PROGRAM.equals(type)) {
-                       configType = manager.getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE);
+                       configType = manager
+                                       .getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE);
                } else {
                        return null;
                }
@@ -346,17 +421,17 @@ public final class ExternalToolMigration {
                        return null;
                }
        }
-       
+
        /**
         * Returns the tool name extracted from the given command argument map.
         * Extraction is attempted using 2.0 and 2.1 external tool formats.
         */
        public static String getNameFromCommandArgs(Map commandArgs) {
-               String name= (String) commandArgs.get(TAG_NAME);
+               String name = (String) commandArgs.get(TAG_NAME);
                if (name == null) {
-                       name= (String) commandArgs.get(TAG_TOOL_NAME);
+                       name = (String) commandArgs.get(TAG_TOOL_NAME);
                }
                return name;
        }
-       
+
 }