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:
042: package org.netbeans.modules.visualweb.gravy.dataconnectivity;
043:
044: import org.netbeans.jemmy.operators.*;
045: import org.netbeans.jemmy.JemmyException;
046: import org.netbeans.jellytools.Bundle;
047: import org.netbeans.jellytools.NbDialogOperator;
048:
049: /**
050: * This class implements test functionality for "Modify Data Source" dialog
051: */
052: public class ModifyDataSourceOperator extends NbDialogOperator {
053: /**
054: * Creates new instance of this class.
055: */
056: public ModifyDataSourceOperator() {
057: super (getBundleString("MODIFY_DATASOURCE"));
058: }
059:
060: private JButtonOperator _btGetSchemas;
061: private JButtonOperator _btTestConnection;
062: private JButtonOperator _btModify;
063: private JButtonOperator _btCancel;
064: private JButtonOperator _btHelp;
065: private JButtonOperator _btSelectAll;
066: private JButtonOperator _btClear;
067: private JListOperator _lstSchemas;
068: private JTextFieldOperator _txtDSName;
069: private JTextFieldOperator _txtValidationQuery;
070: private JTextFieldOperator _txtDriverClass;
071: private JTextFieldOperator _txtUser;
072: private JTextFieldOperator _txtPassword;
073: private JTextFieldOperator _txtURL;
074: private JTabbedPaneOperator _tbpMainTabPane;
075:
076: public JTabbedPaneOperator tbpMainTabPane() {
077: if (_tbpMainTabPane == null) {
078: _tbpMainTabPane = new JTabbedPaneOperator(this );
079: }
080: return _tbpMainTabPane;
081: }
082:
083: /**
084: * Initializes (if necessary) and returns an object JButtonOperator
085: * for the dialog button "Get Schemas".
086: * @return the appropriate object JButtonOperator
087: */
088: public JButtonOperator btGetSchemas() {
089: if (_btGetSchemas == null) {
090: _btGetSchemas = new JButtonOperator(this ,
091: getBundleString("GET_SCHEMAS_BTN_LABEL"));
092: }
093: return _btGetSchemas;
094: }
095:
096: /**
097: * Initializes (if necessary) and returns an object JButtonOperator
098: * for the dialog button "Test Connection".
099: * @return the appropriate object JButtonOperator
100: */
101: public JButtonOperator btTestConnection() {
102: if (_btTestConnection == null) {
103: _btTestConnection = new JButtonOperator(this ,
104: getBundleString("TEST_CONNECTION"));
105: }
106: return _btTestConnection;
107: }
108:
109: /**
110: * Initializes (if necessary) and returns an object JButtonOperator
111: * for the dialog button "Modify".
112: * @return the appropriate object JButtonOperator
113: */
114: public JButtonOperator btModify() {
115: if (_btModify == null) {
116: _btModify = new JButtonOperator(this ,
117: getBundleString("MODIFY"));
118: }
119: return _btModify;
120: }
121:
122: /**
123: * Initializes (if necessary) and returns an object JButtonOperator
124: * for the dialog button "Cancel".
125: * @return the appropriate object JButtonOperator
126: */
127: public JButtonOperator btCancel() {
128: if (_btCancel == null) {
129: _btCancel = new JButtonOperator(this ,
130: getBundleString("CANCEL"));
131: }
132: return _btCancel;
133: }
134:
135: /**
136: * Initializes (if necessary) and returns an object JButtonOperator
137: * for the dialog button "Help".
138: * @return the appropriate object JButtonOperator
139: */
140: public JButtonOperator btHelp() {
141: if (_btHelp == null) {
142: _btHelp = new JButtonOperator(this , getBundleString("HELP"));
143: }
144: return _btHelp;
145: }
146:
147: /**
148: * Initializes (if necessary) and returns an object JButtonOperator
149: * for the dialog button "Select All".
150: * @return the appropriate object JButtonOperator
151: */
152: public JButtonOperator btSelectAll() {
153: if (_btSelectAll == null) {
154: _btSelectAll = new JButtonOperator(this ,
155: getBundleString("SCHEMA_SELECT_ALL_BTN_LABEL"));
156: }
157: return _btSelectAll;
158: }
159:
160: /**
161: * Initializes (if necessary) and returns an object JButtonOperator
162: * for the dialog button "Clear".
163: * @return the appropriate object JButtonOperator
164: */
165: public JButtonOperator btClear() {
166: if (_btClear == null) {
167: _btClear = new JButtonOperator(this ,
168: getBundleString("SCHEMA_CLEAR_BTN_LABEL"));
169: }
170: return _btClear;
171: }
172:
173: /**
174: * Initializes (if necessary) and returns an object JListOperator
175: * for the dialog list "Schemas".
176: * @return the appropriate object JListOperator
177: */
178: public JListOperator lstSchemas() {
179: if (_lstSchemas == null) {
180: _lstSchemas = new JListOperator(this );
181: }
182: return _lstSchemas;
183: }
184:
185: /**
186: * Initializes (if necessary) and returns an object JTextFieldOperator
187: * for the dialog text field "Data Source Name".
188: * @return the appropriate object JTextFieldOperator
189: */
190: public JTextFieldOperator txtDSName() {
191: if (_txtDSName == null) {
192: _txtDSName = new JTextFieldOperator(this , 2);
193: }
194: return _txtDSName;
195: }
196:
197: /**
198: * Initializes (if necessary) and returns an object JTextFieldOperator
199: * for the dialog text field "Validation Query".
200: * @return the appropriate object JTextFieldOperator
201: */
202: public JTextFieldOperator txtValidationQuery() {
203: if (_txtValidationQuery == null) {
204: _txtValidationQuery = new JTextFieldOperator(this , 1);
205: }
206: return _txtValidationQuery;
207: }
208:
209: /**
210: * Initializes (if necessary) and returns an object JTextFieldOperator
211: * for the dialog text field "Driver Class".
212: * @return the appropriate object JTextFieldOperator
213: */
214: public JTextFieldOperator txtDriverClass() {
215: if (_txtDriverClass == null) {
216: _txtDriverClass = new JTextFieldOperator(this , 0);
217: }
218: return _txtDriverClass;
219: }
220:
221: /**
222: * Initializes (if necessary) and returns an object JTextFieldOperator
223: * for the dialog text field "User".
224: * @return the appropriate object JTextFieldOperator
225: */
226: public JTextFieldOperator txtUser() {
227: if (_txtUser == null) {
228: _txtUser = new JTextFieldOperator(this , 3);
229: }
230: return _txtUser;
231: }
232:
233: /**
234: * Initializes (if necessary) and returns an object JTextFieldOperator
235: * for the dialog text field "Password".
236: * @return the appropriate object JTextFieldOperator
237: */
238: public JTextFieldOperator txtPassword() {
239: if (_txtPassword == null) {
240: _txtPassword = new JTextFieldOperator(this , 4);
241: }
242: return _txtPassword;
243: }
244:
245: /**
246: * Initializes (if necessary) and returns an object JTextFieldOperator
247: * for the dialog text field "URL".
248: * @return the appropriate object JTextFieldOperator
249: */
250: public JTextFieldOperator txtURL() {
251: if (_txtURL == null) {
252: _txtURL = new JTextFieldOperator(this , 5);
253: }
254: return _txtURL;
255: }
256:
257: /**
258: * Initializes all necessary controls.
259: */
260: public void verify() {
261: btModify();
262: btCancel();
263: btHelp();
264: btGetSchemas();
265: btSelectAll();
266: btClear();
267: btTestConnection();
268: txtDSName();
269: txtDriverClass();
270: txtPassword();
271: txtURL();
272: txtUser();
273: txtValidationQuery();
274: lstSchemas();
275: }
276:
277: /**
278: * Finds in a bundle file and returns an actual text of control component.
279: * @param p_text string-key corresponding to required control component.
280: * @return actual text of control component
281: */
282: public static String getBundleString(String p_text) {
283: System.out.println("Getting bundle for " + p_text);
284: try {
285: return Bundle
286: .getStringTrimmed(
287: "org.netbeans.modules.visualweb.dataconnectivity.ui.Bundle",
288: p_text);
289: } catch (JemmyException e) {
290: }
291: return null;
292: }
293:
294: }
|