View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2009 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  			}
53  		}
54  		else
55  		{
56  			table.addProperty( "File", "path" );
57  		}
58  
59  		return table;
60  	}
61  
62  	public boolean hasOverviewPanel()
63  	{
64  		return true;
65  	}
66  
67  	public boolean hasDesktopPanel()
68  	{
69  		return true;
70  	}
71  
72  	public DesktopPanel buildDesktopPanel( WsdlProject modelItem )
73  	{
74  		return new WsdlProjectDesktopPanel( modelItem );
75  	}
76  }