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.support.editor.inspectors.wsa;
14  
15  import java.awt.event.ItemEvent;
16  import java.awt.event.ItemListener;
17  import java.beans.PropertyChangeEvent;
18  import java.beans.PropertyChangeListener;
19  
20  import javax.swing.JCheckBox;
21  import javax.swing.JTextField;
22  
23  import com.eviware.soapui.config.MustUnderstandTypeConfig;
24  import com.eviware.soapui.config.WsaVersionTypeConfig;
25  import com.eviware.soapui.impl.wsdl.WsdlRequest;
26  import com.eviware.soapui.support.components.SimpleBindingForm;
27  import com.eviware.soapui.support.editor.xml.XmlInspector;
28  
29  public class WsdlRequestWsaInspector extends AbstractWsaInspector implements XmlInspector, PropertyChangeListener
30  {
31  	private final WsdlRequest request;
32  	private JCheckBox generateMessageIdCheckBox;
33  	private JCheckBox addDefaultToCheckBox;
34  	private JCheckBox addDefaultActionCheckBox;
35  	private JTextField messageIdTextField;
36  	private JTextField toTextField;
37  	private JTextField actionTextField;
38  
39  	public WsdlRequestWsaInspector( WsdlRequest request )
40  	{
41  		super( request );
42  		this.request = request;
43  	}
44  
45  	public void propertyChange( PropertyChangeEvent arg0 )
46  	{
47  	}
48  
49  	public void buildContent( SimpleBindingForm form )
50  	{
51  		form.addSpace( 5 );
52  		form.appendCheckBox( "wsaEnabled", "Enable WS-A addressing", "Enable/Disable WS-A addressing" );
53  		form.addSpace( 5 );
54  		// add mustUnderstand drop down list
55  		form.appendComboBox( "mustUnderstand", "Must understand", new String[] {
56  				MustUnderstandTypeConfig.NONE.toString(), MustUnderstandTypeConfig.TRUE.toString(),
57  				MustUnderstandTypeConfig.FALSE.toString() },
58  				"The  property for controlling use of the mustUnderstand attribute" );
59  
60  		form.appendComboBox( "version", "WS-A Version", new String[] { WsaVersionTypeConfig.X_200508.toString(),
61  				WsaVersionTypeConfig.X_200408.toString() }, "The  property for managing WS-A version" );
62  
63  		addDefaultActionCheckBox = form.appendCheckBox( "addDefaultAction", "Add default wsa:Action",
64  				"Add default wsa:Action" );
65  		actionTextField = form
66  				.appendTextField( "action", "Action",
67  						"The action related to a message, will be generated if left empty and ws-a settings 'use default action...' checked " );
68  		actionTextField.setEnabled( !addDefaultActionCheckBox.isSelected() );
69  		addDefaultActionCheckBox.addItemListener( new ItemListener()
70  		{
71  
72  			public void itemStateChanged( ItemEvent arg0 )
73  			{
74  				actionTextField.setEnabled( !addDefaultActionCheckBox.isSelected() );
75  			}
76  		} );
77  
78  		addDefaultToCheckBox = form.appendCheckBox( "addDefaultTo", "Add default wsa:To", "Add default wsa:To" );
79  		toTextField = form.appendTextField( "to", "To",
80  				"The destination endpoint reference, will be generated if left empty" );
81  		toTextField.setEnabled( !addDefaultToCheckBox.isSelected() );
82  		addDefaultToCheckBox.addItemListener( new ItemListener()
83  		{
84  
85  			public void itemStateChanged( ItemEvent arg0 )
86  			{
87  				toTextField.setEnabled( !addDefaultToCheckBox.isSelected() );
88  			}
89  		} );
90  
91  		form.appendTextField( "replyTo", "Reply to", "The reply endpoint reference, will be generated if left empty" );
92  		form.appendTextArea( "replyToRefParams", "ReplyTo Reference Parameters",
93  				"ReplyTo Reference Parameters, content will be inserted as an xml (not text)" );
94  		generateMessageIdCheckBox = form.appendCheckBox( "generateMessageId", "Generate MessageID",
95  				"Randomly generate MessageId" );
96  		messageIdTextField = form
97  				.appendTextField(
98  						"messageID",
99  						"MessageID",
100 						" The ID of a message that can be used to uniquely identify a message, will be generated if left empty and ws-a settings 'generate message id' checked " );
101 		messageIdTextField.setEnabled( !generateMessageIdCheckBox.isSelected() );
102 		generateMessageIdCheckBox.addItemListener( new ItemListener()
103 		{
104 
105 			public void itemStateChanged( ItemEvent arg0 )
106 			{
107 				messageIdTextField.setEnabled( !generateMessageIdCheckBox.isSelected() );
108 			}
109 		} );
110 		form.addSpace( 10 );
111 		form.appendTextField( "from", "From", "The source endpoint reference" );
112 		form.appendTextField( "faultTo", "Fault to", "The fault endpoint reference" );
113 		form.appendTextArea( "faultToRefParams", "FaultTo Reference Parameters",
114 				"FaultTo Reference Parameters, content will be inserted as an xml (not text)" );
115 		form.appendTextField( "relatesTo", "Relates to", "The endpoint reference request relates to" );
116 		form.appendTextField( "relationshipType", "Relationship type", "Relationship type" );
117 		form.addSpace( 5 );
118 	}
119 }