001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041: package org.netbeans.modules.visualweb.gravy.dataconnectivity;
042:
043: import org.netbeans.jellytools.NbDialogOperator;
044: import org.netbeans.jellytools.Bundle;
045: import org.netbeans.jemmy.JemmyException;
046: import org.netbeans.jemmy.operators.JButtonOperator;
047: import org.netbeans.jemmy.operators.JListOperator;
048: import org.netbeans.jemmy.operators.JTextFieldOperator;
049: import org.netbeans.jemmy.operators.JComboBoxOperator;
050:
051: /**
052: * This class implements test functionality for "Edit Server Types" dialog
053: */
054: public class EditServerTypesOperator extends NbDialogOperator {
055: /**
056: * Creates new instance of this class.
057: */
058: public EditServerTypesOperator() {
059: super (getBundleString("New JDBC Driver"));
060: }
061:
062: private JButtonOperator _btAdd;
063: private JButtonOperator _btRemove;
064: private JButtonOperator _btNew;
065: private JButtonOperator _btDelete;
066: private JButtonOperator _btFind;
067: private JListOperator _lstServerTypes;
068: private JListOperator _lstJars;
069: private JTextFieldOperator _txtName;
070: private JTextFieldOperator _txtTemplate;
071: private JComboBoxOperator _cboDriver;
072:
073: /**
074: * Initializes (if necessary) and returns an object JButtonOperator
075: * for the dialog button "Add".
076: * @return the appropriate object JButtonOperator
077: */
078: public JButtonOperator btAdd() {
079: if (_btAdd == null) {
080: _btAdd = new JButtonOperator(this ,
081: getBundleString("Add..."));
082: }
083: return _btAdd;
084: }
085:
086: /**
087: * Initializes (if necessary) and returns an object JButtonOperator
088: * for the dialog button "Remove".
089: * @return the appropriate object JButtonOperator
090: */
091: public JButtonOperator btRemove() {
092: if (_btRemove == null) {
093: _btRemove = new JButtonOperator(this ,
094: getBundleString("Remove"));
095: }
096: return _btRemove;
097: }
098:
099: /**
100: * Initializes (if necessary) and returns an object JButtonOperator
101: * for the dialog button "New".
102: * @return the appropriate object JButtonOperator
103: */
104: public JButtonOperator btNew() {
105: if (_btNew == null) {
106: _btNew = new JButtonOperator(this ,
107: getBundleString("Add..."));
108: }
109: return _btNew;
110: }
111:
112: /**
113: * Initializes (if necessary) and returns an object JButtonOperator
114: * for the dialog button "Delete".
115: * @return the appropriate object JButtonOperator
116: */
117: public JButtonOperator btDelete() {
118: if (_btDelete == null) {
119: _btDelete = new JButtonOperator(this ,
120: getBundleString("LBL_REMOVE_DRIVER"));
121: }
122: return _btDelete;
123: }
124:
125: /**
126: * Initializes (if necessary) and returns an object JButtonOperator
127: * for the dialog button "Find".
128: * @return the appropriate object JButtonOperator
129: */
130: public JButtonOperator btFind() {
131: if (_btFind == null) {
132: _btFind = new JButtonOperator(this , getBundleString("Find"));
133: }
134: return _btFind;
135: }
136:
137: /**
138: * Initializes (if necessary) and returns an object JTextFieldOperator
139: * for the dialog text field "Name".
140: * @return the appropriate object JTextFieldOperator
141: */
142: public JTextFieldOperator txtName() {
143: if (_txtName == null) {
144: _txtName = new JTextFieldOperator(this , 0);
145: }
146: return _txtName;
147: }
148:
149: /**
150: * Initializes (if necessary) and returns an object JTextFieldOperator
151: * for the dialog text field "Template".
152: * @return the appropriate object JTextFieldOperator
153: */
154: public JTextFieldOperator txtTemplate() {
155: if (_txtTemplate == null) {
156: _txtTemplate = new JTextFieldOperator(this , 1);
157: }
158: return _txtTemplate;
159: }
160:
161: /**
162: * Initializes (if necessary) and returns an object JComboBoxOperator
163: * for the dialog drop-down list "Driver".
164: * @return the appropriate object JComboBoxOperator
165: */
166: public JComboBoxOperator cboDriver() {
167: if (_cboDriver == null) {
168: _cboDriver = new JComboBoxOperator(this );
169: }
170: return _cboDriver;
171: }
172:
173: /**
174: * Initializes (if necessary) and returns an object JListOperator
175: * for the dialog list "Server Types".
176: * @return the appropriate object JListOperator
177: */
178: public JListOperator lstServerTypes() {
179: if (_lstServerTypes == null) {
180: _lstServerTypes = new JListOperator(this , 0);
181: }
182: return _lstServerTypes;
183: }
184:
185: /**
186: * Initializes (if necessary) and returns an object JListOperator
187: * for the dialog list "Jars".
188: * @return the appropriate object JListOperator
189: */
190: public JListOperator lstJars() {
191: if (_lstJars == null) {
192: _lstJars = new JListOperator(this , 1);
193: }
194: return _lstJars;
195: }
196:
197: /**
198: * Initializes all necessary controls.
199: */
200: public void verify() {
201: btAdd();
202: btRemove();
203: btNew();
204: // btDelete();
205: btFind();
206: // btClose();
207: // btHelp();
208: txtName();
209: txtTemplate();
210: cboDriver();
211: // lstServerTypes();
212: // lstJars();
213: btOK();
214: btCancel();
215: }
216:
217: /**
218: * Finds in a bundle file and returns an actual text of control component.
219: * @param p_text string-key corresponding to required control component.
220: * @return actual text of control component
221: */
222: public static String getBundleString(String p_text) {
223: System.out.println("Getting bundle for " + p_text);
224: /* try {
225: return Bundle.getStringTrimmed("org.netbeans.modules.visualweb.dataconnectivity.actions.Bundle", p_text);
226: } catch (JemmyException e) {}
227: try {
228: return Bundle.getStringTrimmed("org.netbeans.modules.visualweb.dataconnectivity.ui.Bundle", p_text);
229: } catch (JemmyException e) {}
230: */
231: return p_text;
232: }
233:
234: }
|