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(new PresentationModel<AbstractHttpRequest<?>>(jmsContainer.getJMSHeaderConfig()));
48 buildContent(form);
49 mainPanel.add(new JScrollPane(form.getPanel()), BorderLayout.CENTER);
50 }
51 return mainPanel;
52 }
53
54 public abstract void buildContent(SimpleBindingForm form);
55
56 @Override
57 public boolean isEnabledFor(EditorView<XmlDocument> view)
58 {
59 return !view.getViewId().equals(RawXmlEditorFactory.VIEW_ID);
60 }
61
62 }