View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2010 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.impl.wsdl.panels.project;
14  
15  import javax.swing.JPanel;
16  
17  import com.eviware.soapui.impl.EmptyPanelBuilder;
18  import com.eviware.soapui.impl.wsdl.WsdlProject;
19  import com.eviware.soapui.support.components.JPropertiesTable;
20  import com.eviware.soapui.support.scripting.SoapUIScriptEngineRegistry;
21  import com.eviware.soapui.ui.desktop.DesktopPanel;
22  
23  /***
24   * PanelBuilder for WsdlProject. Only builds an overview panel.
25   * 
26   * @author Ole.Matzura
27   */
28  
29  public class WsdlProjectPanelBuilder extends EmptyPanelBuilder<WsdlProject>
30  {
31  	public WsdlProjectPanelBuilder()
32  	{
33  	}
34  
35  	public JPanel buildOverviewPanel( WsdlProject project )
36  	{
37  		JPropertiesTable<WsdlProject> table = new JPropertiesTable<WsdlProject>( "Project Properties", project );
38  
39  		if( project.isOpen() )
40  		{
41  			table.addProperty( "Name", "name", true );
42  			table.addProperty( "Description", "description", true );
43  			table.addProperty( "File", "path" );
44  
45  			if( !project.isDisabled() )
46  			{
47  				table.addProperty( "Resource Root", "resourceRoot", new String[] { null, "${projectDir}" } );
48  				table.addProperty( "Cache Definitions", "cacheDefinitions", JPropertiesTable.BOOLEAN_OPTIONS );
49  				table.addPropertyShadow( "Project Password", "shadowPassword", true );
50  				table.addProperty( "Script Language", "defaultScriptLanguage", SoapUIScriptEngineRegistry
51  						.getAvailableEngineIds() );
52  				table.addProperty("Hermes Config","hermesConfig" ,true);
53  			}
54  		}
55  		else
56  		{
57  			table.addProperty( "File", "path" );
58  		}
59  
60  		return table;
61  	}
62  
63  	public boolean hasOverviewPanel()
64  	{
65  		return true;
66  	}
67  
68  	public boolean hasDesktopPanel()
69  	{
70  		return true;
71  	}
72  
73  	public DesktopPanel buildDesktopPanel( WsdlProject modelItem )
74  	{
75  		return new WsdlProjectDesktopPanel( modelItem );
76  	}
77  }