1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.support.editor.inspectors.jms.header;
14
15 import java.awt.BorderLayout;
16
17 import javax.swing.JComponent;
18 import javax.swing.JPanel;
19 import javax.swing.JScrollPane;
20
21 import com.eviware.soapui.impl.support.AbstractHttpRequest;
22 import com.eviware.soapui.impl.wsdl.support.jms.header.JMSHeaderContainer;
23 import com.eviware.soapui.support.components.SimpleBindingForm;
24 import com.eviware.soapui.support.editor.EditorView;
25 import com.eviware.soapui.support.editor.inspectors.AbstractXmlInspector;
26 import com.eviware.soapui.support.editor.views.xml.raw.RawXmlEditorFactory;
27 import com.eviware.soapui.support.editor.xml.XmlDocument;
28 import com.jgoodies.binding.PresentationModel;
29
30 public abstract class AbstractJMSHeaderInspector extends AbstractXmlInspector
31 {
32 private JPanel mainPanel;
33 private SimpleBindingForm form;
34 private final JMSHeaderContainer jmsContainer;
35
36 protected AbstractJMSHeaderInspector( JMSHeaderContainer jmsContainer )
37 {
38 super( "JMS Headers", "JMS header settings and properties", true, JMSHeaderInspectorFactory.INSPECTOR_ID );
39 this.jmsContainer = jmsContainer;
40 }
41
42 public JComponent getComponent()
43 {
44 if( mainPanel == null )
45 {
46 mainPanel = new JPanel( new BorderLayout() );
47 form = new SimpleBindingForm(
48 new PresentationModel<AbstractHttpRequest<?>>( jmsContainer.getJMSHeaderConfig() ) );
49 buildContent( form );
50 mainPanel.add( new JScrollPane( form.getPanel() ), BorderLayout.CENTER );
51 }
52 return mainPanel;
53 }
54
55 @Override
56 public void release()
57 {
58 super.release();
59
60 if( form != null )
61 form.getPresentationModel().release();
62 }
63
64 public abstract void buildContent( SimpleBindingForm form );
65
66 @Override
67 public boolean isEnabledFor( EditorView<XmlDocument> view )
68 {
69 return !view.getViewId().equals( RawXmlEditorFactory.VIEW_ID );
70 }
71
72 }