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",
48  						new String[] { null, "${projectDir}", "${workspaceDir}" } );
49  				table.addProperty( "Cache Definitions", "cacheDefinitions", JPropertiesTable.BOOLEAN_OPTIONS );
50  				table.addPropertyShadow( "Project Password", "shadowPassword", true );
51  				table.addProperty( "Script Language", "defaultScriptLanguage", SoapUIScriptEngineRegistry
52  						.getAvailableEngineIds() );
53  				table.addProperty( "Hermes Config", "hermesConfig", true );
54  			}
55  		}
56  		else
57  		{
58  			table.addProperty( "File", "path" );
59  		}
60  
61  		return table;
62  	}
63  
64  	public boolean hasOverviewPanel()
65  	{
66  		return true;
67  	}
68  
69  	public boolean hasDesktopPanel()
70  	{
71  		return true;
72  	}
73  
74  	public DesktopPanel buildDesktopPanel( WsdlProject modelItem )
75  	{
76  		return new WsdlProjectDesktopPanel( modelItem );
77  	}
78  }