|
Glassfish example source code file (AdminBaseDevTest.java)
The Glassfish AdminBaseDevTest.java source code
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License"). You
* may not use this file except in compliance with the License. You can
* obtain a copy of the License at
* https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
* or packager/legal/LICENSE.txt. See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license." If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above. However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/
/**
* This is the same class as the one in v2/appserv-tests/devtests/admin/cli/src/admin.
*
* Thanks Tom and Byron for the contributions.
*/
package com.sun.appserv.test;
//import com.sun.appserv.test.BaseDevTest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.SortedSet;
import java.util.TreeSet;
public abstract class AdminBaseDevTest extends BaseDevTest {
public AdminBaseDevTest() {
boolean verbose = false;
try {
verbose = Boolean.parseBoolean(System.getProperty("verbose"));
}
catch (Exception e) {}
setVerbose(verbose);
if (!verbose) {
// System.out.println("##### Non-Verbose: Only Failures Are Printed #####");
}
}
@Override
public String getTestName() {
return this.getClass().getName();
}
@Override
public boolean report(String name, boolean success) {
// bnevins june 6 2010
// crazy base class uses a Map to store these reports. If you use
// the same name > 1 time they are ignored and thrown away!!!
// I went with this outrageous kludge because (1) it is just tests
// and (2) there are tens of thousands of other files in this harness!!!
// another issue is hacking off strings after a space. Makes no sense to me!!
if (name.length() > MAX_LENGTH - 3)
name = name.substring(0, MAX_LENGTH - 3);
String name2 = name.replace(' ', '_');
if (!name2.equals(name)) {
write("Found spaces in the name. Replaced with underscore. "
+ "before: " + name + ", after: " + name2);
name = name2; // don't foul logic below!
}
int i = 0;
while (reportNames.add(name2) == false) {
name2 = name + i++;
}
if (!name2.equals(name)) {
write("Duplicate name found (" + name
+ ") and replaced with: " + name2);
}
int numpads = 60 - name2.length();
if (numpads > 0)
name2 += DASHES.substring(0, numpads);
super.report(name2, success);
if(!success && !isVerbose())
writeFailure();
return success;
}
@Override
public boolean report(String step, AsadminReturn ret) {
report(step, ret.returnValue);
return ret.returnValue;
}
void startDomain(String domainname) {
report(getTestName() + "-start-domain" + startstops++,
asadmin("start-domain", domainname));
}
void startDomain() {
report(getTestName() + "-start-def-domain" + startstops++,
asadmin("start-domain"));
}
void stopDomain(String domainname) {
report(getTestName() + "-stop-domain" + startstops++,
asadmin("stop-domain", domainname));
}
void stopDomain() {
report(getTestName() + "-stop-def-domain" + startstops++,
asadmin("stop-domain"));
}
final boolean verifyNoClusters() {
AsadminReturn ret = asadminWithOutput("list-clusters");
String s = (ret.out == null) ? "" : ret.out.trim();
System.out.println("WARNING!!!! Work-around for ISSUE 12320 !!!!!!!!");
// hack -- if there are no clusters than there is no output
return s.toLowerCase().endsWith("list-clusters");
}
final boolean verifyNoInstances() {
AsadminReturn ret = asadminWithOutput("list-instances");
String s = (ret.out == null) ? "" : ret.out.trim();
return s.toLowerCase().indexOf("nothing to list") >= 0;
}
/*
* Returns true if String b contains String a.
*/
public static boolean matchString(String a, String b) {
return b.indexOf(a) != -1;
}
public static String getURL(String urlstr) {
try {
URL u = new URL(urlstr);
URLConnection urlc = u.openConnection();
BufferedReader ir = new BufferedReader(new InputStreamReader(urlc.getInputStream(),
"ISO-8859-1"));
StringWriter ow = new StringWriter();
String line;
while ((line = ir.readLine()) != null) {
ow.write(line);
ow.write("\n");
}
ir.close();
ow.close();
return ow.getBuffer().toString();
}
catch (IOException ex) {
printf("unable to fetch URL:" + urlstr);
return "";
}
}
public static void printf(String fmt, Object... args) {
if (DEBUG) {
System.out.printf("**** DEBUG MESSAGE **** " + fmt + "\n", args);
}
}
private final SortedSet<String> reportNames = new TreeSet
Other Glassfish examples (source code examples)Here is a short list of links related to this Glassfish AdminBaseDevTest.java source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.