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:
007: The contents of this file are subject to the terms of either the GNU
008: General Public License Version 2 only ("GPL") or the Common
009: Development and Distribution License("CDDL") (collectively, the
010: "License"). You may not use this file except in compliance with the
011: License. You can obtain a copy of the License at
012: http://www.netbeans.org/cddl-gplv2.html
013: or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
014: specific language governing permissions and limitations under the
015: License. When distributing the software, include this License Header
016: Notice in each file and include the License file at
017: nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
018: particular file as subject to the "Classpath" exception as provided
019: by Sun in the GPL Version 2 section of the License file that
020: accompanied this code. If applicable, add the following below the
021: License Header, with the fields enclosed by brackets [] replaced by
022: your own identifying information:
023: "Portions Copyrighted [year] [name of copyright owner]"
024:
025: Contributor(s):
026:
027: The Original Software is NetBeans. The Initial Developer of the Original
028: Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
029: Microsystems, Inc. All Rights Reserved.
030:
031: If you wish your version of this file to be governed by only the CDDL
032: or only the GPL Version 2, indicate your decision by adding
033: "[Contributor] elects to include this software in this distribution
034: under the [CDDL or GPL Version 2] license." If you do not indicate a
035: single choice of license, a recipient has the option to distribute
036: your version of this file under either the CDDL, the GPL Version 2 or
037: to extend the choice of license to its licensees as provided above.
038: However, if you add GPL Version 2 code and therefore, elected the GPL
039: Version 2 license, then the option applies only if the new code is
040: made subject to such option by the copyright holder.
041: */
042: package org.netbeans.test.dataprovider.common;
043:
044: import java.awt.event.*;
045: import java.util.*;
046: import java.awt.event.*;
047: import java.awt.*;
048: import javax.swing.*;
049: import javax.swing.tree.*;
050: import org.netbeans.jemmy.*;
051: import org.netbeans.jemmy.operators.*;
052: import org.netbeans.jellytools.actions.*;
053: import org.netbeans.modules.visualweb.gravy.*;
054: import org.netbeans.modules.visualweb.gravy.plugins.*;
055: import org.netbeans.modules.visualweb.gravy.designer.*;
056: import org.netbeans.modules.visualweb.gravy.dataconnectivity.*;
057: import org.netbeans.modules.visualweb.gravy.model.deployment.*;
058:
059: public class AppServerTests implements Constants {
060: public String checkAppServer() {
061: String errMsg = null, serverType = TestPropertiesHandler
062: .getServerProperty("Application_Server_Type"), serverName = TestPropertiesHandler
063: .getServerProperty("Application_Server_Name");
064: Utils.putFocusOnWindowServices();
065: TreePath appServerPath = Utils.findServicesTreeNode(
066: SERVICES_TREE_NODE_SERVERS + "|" + serverName, false);
067: if (appServerPath == null) {
068: DeploymentTargetDescriptor deploymentTargetDescriptor = new DeploymentTargetDescriptor();
069: errMsg = Utils
070: .setDeploymentTargetProperties(deploymentTargetDescriptor);
071: if (errMsg == null) {
072: ServerNavigatorOperator
073: .addDeploymentTarget(deploymentTargetDescriptor);
074: Utils.logMsg("+++ Application Server [" + serverName
075: + "(" + serverType + ")] is added");
076: }
077: } else {
078: Utils.logMsg("+++ Application Server [" + serverName + "("
079: + serverType + ")] is found");
080: }
081: startAppServer(serverName);
082: return errMsg;
083: }
084:
085: private void startAppServer(String serverName) {
086: Utils.callPopupMenuOnServicesTreeNode(
087: SERVICES_TREE_NODE_SERVERS + "|" + serverName,
088: POPUP_MENU_ITEM_REFRESH);
089: Utils.putFocusOnWindowServices();
090: JPopupMenuOperator popupMenuOp = Utils
091: .invokePopupMenuOnTreeNode(
092: new ServerNavigatorOperator().getTree(),
093: SERVICES_TREE_NODE_SERVERS + "|" + serverName);
094:
095: JMenuItem menuItemStart = TestUtils.findPopupMenuItemByLabel(
096: popupMenuOp, POPUP_MENU_ITEM_START, false, false);
097: Utils.logMsg("+++ Popup menu item [" + POPUP_MENU_ITEM_START
098: + "] for application Server [" + serverName + "] is "
099: + (menuItemStart.isEnabled() ? "enabled" : "disabled"));
100:
101: JMenuItem menuItemStop = TestUtils.findPopupMenuItemByLabel(
102: popupMenuOp, POPUP_MENU_ITEM_STOP, false, false);
103: Utils.logMsg("+++ Popup menu item [" + POPUP_MENU_ITEM_STOP
104: + "] for application Server [" + serverName + "] is "
105: + (menuItemStop.isEnabled() ? "enabled" : "disabled"));
106:
107: if (menuItemStart.isEnabled()) {
108: new JMenuItemOperator(menuItemStart).pushNoBlock();
109: Utils.logMsg("+++ Application Server [" + serverName
110: + "] is starting...");
111: } else {
112: Utils.logMsg("+++ Probably application Server ["
113: + serverName + "] was already started");
114: popupMenuOp.pushKey(KeyEvent.VK_ESCAPE);
115: }
116: Util.wait(500);
117: new QueueTool().waitEmpty();
118: }
119: }
|