KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jmeter > protocol > ftp > config > gui > FtpConfigGui


1 // $Header: /home/cvs/jakarta-jmeter/src/protocol/ftp/org/apache/jmeter/protocol/ftp/config/gui/FtpConfigGui.java,v 1.11 2004/03/05 01:37:28 sebb Exp $
2
/*
3  * Copyright 2001-2004 The Apache Software Foundation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17 */

18
19 package org.apache.jmeter.protocol.ftp.config.gui;
20 import java.awt.BorderLayout JavaDoc;
21
22 import javax.swing.JLabel JavaDoc;
23 import javax.swing.JPanel JavaDoc;
24 import javax.swing.JTextField JavaDoc;
25
26 import org.apache.jmeter.config.ConfigTestElement;
27 import org.apache.jmeter.config.gui.AbstractConfigGui;
28 import org.apache.jmeter.gui.util.VerticalPanel;
29 import org.apache.jmeter.protocol.ftp.sampler.FTPSampler;
30 import org.apache.jmeter.testelement.TestElement;
31 import org.apache.jmeter.util.JMeterUtils;
32
33 /**
34  * @version $Revision: 1.11 $ last updated $Date: 2004/03/05 01:37:28 $
35  */

36 public class FtpConfigGui extends AbstractConfigGui
37 {
38     private final static String JavaDoc SERVER = "server";
39     private final static String JavaDoc FILENAME = "filename";
40
41     private JTextField JavaDoc server;
42     private JTextField JavaDoc filename;
43
44     private boolean displayName = true;
45
46     public FtpConfigGui()
47     {
48         this(true);
49     }
50
51     public FtpConfigGui(boolean displayName)
52     {
53         this.displayName = displayName;
54         init();
55     }
56
57     public String JavaDoc getLabelResource()
58     {
59         return "ftp_sample_title";
60     }
61
62     public void configure(TestElement element)
63     {
64         super.configure(element);
65         server.setText(element.getPropertyAsString(FTPSampler.SERVER));
66         filename.setText(element.getPropertyAsString(FTPSampler.FILENAME));
67     }
68
69     public TestElement createTestElement()
70     {
71         ConfigTestElement element = new ConfigTestElement();
72         modifyTestElement(element);
73         return element;
74     }
75
76     /**
77      * Modifies a given TestElement to mirror the data in the gui components.
78      * @see org.apache.jmeter.gui.JMeterGUIComponent#modifyTestElement(TestElement)
79      */

80     public void modifyTestElement(TestElement element)
81     {
82         configureTestElement(element);
83         element.setProperty(FTPSampler.SERVER, server.getText());
84         element.setProperty(FTPSampler.FILENAME, filename.getText());
85     }
86
87     private JPanel JavaDoc createServerPanel()
88     {
89         JLabel JavaDoc label = new JLabel JavaDoc(JMeterUtils.getResString("server"));
90
91         server = new JTextField JavaDoc(10);
92         server.setName(SERVER);
93         label.setLabelFor(server);
94
95         JPanel JavaDoc serverPanel = new JPanel JavaDoc(new BorderLayout JavaDoc(5, 0));
96         serverPanel.add(label, BorderLayout.WEST);
97         serverPanel.add(server, BorderLayout.CENTER);
98         return serverPanel;
99     }
100
101     private JPanel JavaDoc createFilenamePanel()
102     {
103         JLabel JavaDoc label = new JLabel JavaDoc(JMeterUtils.getResString("file_to_retrieve"));
104
105         filename = new JTextField JavaDoc(10);
106         filename.setName(FILENAME);
107         label.setLabelFor(filename);
108
109         JPanel JavaDoc filenamePanel = new JPanel JavaDoc(new BorderLayout JavaDoc(5, 0));
110         filenamePanel.add(label, BorderLayout.WEST);
111         filenamePanel.add(filename, BorderLayout.CENTER);
112         return filenamePanel;
113     }
114
115     private void init()
116     {
117         setLayout(new BorderLayout JavaDoc(0, 5));
118
119         if (displayName)
120         {
121             setBorder(makeBorder());
122             add(makeTitlePanel(), BorderLayout.NORTH);
123         }
124
125         // MAIN PANEL
126
VerticalPanel mainPanel = new VerticalPanel();
127
128         // LOOP
129
mainPanel.add(createServerPanel());
130         mainPanel.add(createFilenamePanel());
131
132         add(mainPanel, BorderLayout.CENTER);
133     }
134 }
135
Popular Tags