View Javadoc

    1   /*
    2    *  soapUI, copyright (C) 2004-2007 eviware.com
    3    *
    4    *  soapUI is free software; you can redistribute it and/or modify it under the
    5    *  terms of version 2.1 of the GNU Lesser General Public License as published by
    6    *  the Free Software Foundation.
    7    *
    8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
    9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    10   *  See the GNU Lesser General Public License for more details at gnu.org.
    11   */
    12
    13  package com.eviware.soapui.actions;
    14
    15  import java.util.ArrayList;
    16
    17  import com.eviware.soapui.model.settings.Settings;
    18  import com.eviware.soapui.settings.ToolsSettings;
    19  import com.eviware.soapui.support.components.DirectoryFormComponent;
    20  import com.eviware.soapui.support.components.SimpleForm;
    21  import com.eviware.soapui.support.types.StringToStringMap;
    22
    23  /***
    24   * Preferences class for ToolsSettings
    25   *
    26   * @author ole.matzura
    27   */
    28
    29  public class ToolsPrefs implements Prefs
    30  {
    31     public static final String AXIS_1_X = "Axis 1.X";
    32     public static final String WSCOMPILE = "JAX-RPC WSCompile";
    33     public static final String WSIMPORT = "JAX-WS WSImport";
    34     public static final String AXIS_2 = "Axis 2";
    35     public static final String WSTOOLS = "JBossWS wstools";
    36     public static final String JAVAC = "JDK 1.5 javac";
    37     public static final String DOTNET = ".NET 2.0 wsdl.exe";
    38     public static final String XFIRE = "XFire 1.X";
    39     public static final String CXF = "CXF 2.X";
    40     public static final String GSOAP = "GSoap";
    41     public static final String ANT = "ANT 1.6+";
    42     public static final String XMLBEANS = "XmlBeans 2.X";
    43     public static final String JAXB = "JAXB xjc";
    44     public static final String TCPMON = "Apache TcpMon";
    45     public static final String WSA = "Oracle wsa.jar";
    46     public static final String LIBRARIES = "Script libraries";
    47
    48     private static final String[][] TOOLS = {
    49        { WSTOOLS, ToolsSettings.JBOSSWS_WSTOOLS_LOCATION },
    50        { AXIS_1_X, ToolsSettings.AXIS_1_X_LOCATION },
    51        { AXIS_2, ToolsSettings.AXIS_2_LOCATION },
    52        { WSCOMPILE, ToolsSettings.JWSDP_WSCOMPILE_LOCATION },
    53        { WSIMPORT, ToolsSettings.JWSDP_WSIMPORT_LOCATION },
    54        { JAVAC, ToolsSettings.JAVAC_LOCATION },
    55        { DOTNET, ToolsSettings.DOTNET_WSDL_LOCATION },
    56        { CXF, ToolsSettings.CXF_LOCATION },
    57        { XFIRE, ToolsSettings.XFIRE_LOCATION },
    58        { GSOAP, ToolsSettings.GSOAP_LOCATION },
    59        { ANT, ToolsSettings.ANT_LOCATION },
    60        { XMLBEANS, ToolsSettings.XMLBEANS_LOCATION },
    61        { JAXB, ToolsSettings.JAXB_LOCATION },
    62        { TCPMON, ToolsSettings.TCPMON_LOCATION },
    63        { WSA, ToolsSettings.ORACLE_WSA_LOCATION },
    64     };
    65
    66  	private SimpleForm toolsForm;
    67  	private final String title;
    68
    69     public ToolsPrefs( String title )
    70     {
    71  		this.title = title;
    72     }
    73
    74     public String getTitle()
    75  	{
    76  		return title;
    77  	}
    78
    79     /***
    80      * Get the tools to be displayed in the Eclipse plugin.
    81      * @return
    82      */
    83     public String[][] getEclipseTools()
    84     {
    85        // Return all tools except .NET related and tools that are part of Eclipse.
    86        ArrayList<String[]> list = new ArrayList<String[]>();
    87        for(String[] s : TOOLS)
    88        {
    89           String tool = s[0];
    90
    91           // Filter out .NET related tools.
    92           if(tool != ToolsPrefs.DOTNET && tool != ToolsPrefs.GSOAP &&
    93
    94              // Filter out tools that are part of Eclipse.
    95              tool != ToolsPrefs.JAVAC && tool != ToolsPrefs.ANT)
    96           {
    97              list.add(s);
    98           }
    99        }
    100       return list.toArray(new String[list.size()][]);
    101    }
    102
    103 	public SimpleForm getForm()
    104 	{
    105 		if( toolsForm == null )
    106 		{
    107 			toolsForm = new SimpleForm();
    108 			toolsForm.addSpace( 5 );
    109 			toolsForm.append( ToolsPrefs.WSTOOLS, new DirectoryFormComponent( "location of JBossWS wstools" ));
    110 			toolsForm.append( ToolsPrefs.WSCOMPILE, new DirectoryFormComponent( "location of JWSDP wscompile" ));
    111 			toolsForm.append( ToolsPrefs.WSIMPORT, new DirectoryFormComponent( "location of JAX-WS wsimport" ));
    112 			toolsForm.append( ToolsPrefs.AXIS_1_X, new DirectoryFormComponent( "location of Axis 1.X" ));
    113 			toolsForm.append( ToolsPrefs.AXIS_2, new DirectoryFormComponent( "location of Axis 2" ));
    114 			toolsForm.append( ToolsPrefs.DOTNET, new DirectoryFormComponent( "location of .NET 2.0 wsdl.exe" ));
    115 			toolsForm.append( ToolsPrefs.XFIRE, new DirectoryFormComponent( "location of XFire 1.X" ));
    116 			toolsForm.append( ToolsPrefs.CXF, new DirectoryFormComponent( "location of Apache CXF 2.x" ));
    117 			toolsForm.append( ToolsPrefs.ANT, new DirectoryFormComponent( "location of Apache ANT 1.6.5 or later" ));
    118 			toolsForm.append( ToolsPrefs.GSOAP, new DirectoryFormComponent( "location of GSoap 2.X" ));
    119 			toolsForm.append( ToolsPrefs.JAXB, new DirectoryFormComponent( "location of JAXB xjc" ));
    120 			toolsForm.append( ToolsPrefs.XMLBEANS, new DirectoryFormComponent( "location of XMLBeans 2.X" ));
    121 			toolsForm.append( ToolsPrefs.JAVAC, new DirectoryFormComponent( "location of JDK 1.5 javac" ));
    122 			toolsForm.append( ToolsPrefs.TCPMON, new DirectoryFormComponent( "location of TcpMon directory" ));
    123 			toolsForm.append( ToolsPrefs.WSA, new DirectoryFormComponent( "location of Orace wsa.jar" ));
    124 			toolsForm.addSpace( 5 );
    125 		}
    126
    127 		return toolsForm;
    128 	}
    129
    130 	public void getFormValues(Settings settings)
    131 	{
    132 		StringToStringMap values = new StringToStringMap();
    133 		toolsForm.getValues( values );
    134 		storeValues(values, settings);
    135 	}
    136
    137 	public void storeValues(StringToStringMap values, Settings settings)
    138 	{
    139 		for(int i = 0; i < TOOLS.length; i++)
    140 	   {
    141 	      settings.setString( TOOLS[i][1], values.get( TOOLS[i][0] ));
    142 	   }
    143 	}
    144
    145 	public void setFormValues(Settings settings)
    146 	{
    147 		getForm().setValues( getValues(settings) );
    148 	}
    149
    150 	public StringToStringMap getValues(Settings settings)
    151 	{
    152 		StringToStringMap toolsValues = new StringToStringMap();
    153 	   for(int i = 0; i < TOOLS.length; i++)
    154 	   {
    155 	      toolsValues.put( TOOLS[i][0], settings.getString( TOOLS[i][1], "" ));
    156 	   }
    157 	   return toolsValues;
    158 	}
    159 }