Missed adding this checkin to the previous email...
-------- Original Message --------
Subject: [glassfish~svn:47764] Now it writes the log for pwdomain in
the gf dir
Date: Tue, 28 Jun 2011 23:20:57 +0000
From: bnevins_at_java.net
Reply-To: commits_at_glassfish.java.net
To: commits_at_glassfish.java.net
Project: glassfish
Repository: svn
Revision: 47764
Author: bnevins
Date: 2011-06-28 23:20:51 UTC
Link:
Log Message:
------------
Now it writes the log for pwdomain in the gf dir
Revisions:
----------
47764
Modified Paths:
---------------
trunk/v2/appserv-tests/devtests/admin/cli/src/admin/RestartDomainTest.java
trunk/v2/appserv-tests/devtests/admin/cli/build.xml
Added Paths:
------------
trunk/v2/appserv-tests/devtests/admin/cli/src/admin/util/FileUtils.java
Diffs:
------
Index: trunk/v2/appserv-tests/devtests/admin/cli/src/admin/RestartDomainTest.java
===================================================================
--- trunk/v2/appserv-tests/devtests/admin/cli/src/admin/RestartDomainTest.java (revision 47763)
+++ trunk/v2/appserv-tests/devtests/admin/cli/src/admin/RestartDomainTest.java (revision 47764)
@@ -41,6 +41,7 @@
package admin;
import java.io.*;
+import admin.util.FileUtils;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -128,6 +129,15 @@
}
private void deletePasswordDomain(boolean errorOK) {
+ if (!errorOK) {
+ try {
+ FileUtils.copy(PW_DOMAIN_LOGFILE_FROM, PW_DOMAIN_LOGFILE_TO);
+ }
+ catch (IOException ex) {
+ report(false, "Cant-copy-pw-logfile: " + ex);
+ }
+ }
+
boolean ret = asadmin("delete-domain", PW_DOMAIN_NAME);
if (errorOK)
@@ -226,6 +236,9 @@
"--nopassword=false",
PW_DOMAIN_NAME
};
+ private static final File GF_HOME = new File(System.getProperty("S1AS_HOME"));
+ private static final File PW_DOMAIN_LOGFILE_FROM = new File(GF_HOME, "domains/" + PW_DOMAIN_NAME + "/logs/server.log");
+ private static final File PW_DOMAIN_LOGFILE_TO = new File(GF_HOME, PW_DOMAIN_NAME + ".log");
}
/*
Index: trunk/v2/appserv-tests/devtests/admin/cli/src/admin/util/FileUtils.java
===================================================================
--- trunk/v2/appserv-tests/devtests/admin/cli/src/admin/util/FileUtils.java (revision 0)
+++ trunk/v2/appserv-tests/devtests/admin/cli/src/admin/util/FileUtils.java (revision 47764)
@@ -0,0 +1,137 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2006-2011 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.
+ */
+
+/*
+ * KEDAR/MURALI has made some changes to this class
+ * so that it works with installer(LogDomains esp.).
+ */
+package admin.util;
+
+import java.io.*;
+
+
+import java.nio.channels.*;
+import java.nio.ByteBuffer;
+
+public class FileUtils {
+ /**
+ * Copies a file.
+ *
+ * @param from Name of file to copy
+ * @param to Name of new file
+ * @throws IOException if an error while copying the content
+ */
+ private static void copy(String from, String to) throws IOException {
+ //if(!StringUtils.ok(from) || !StringUtils.ok(to))
+ if (from == null || to == null)
+ throw new IllegalArgumentException("null or empty filename argument");
+
+ File fin = new File(from);
+ File fout = new File(to);
+
+ copy(fin, fout);
+ }
+
+ public static void copy(File fin, File fout) throws IOException {
+
+ InputStream inStream = new BufferedInputStream(new FileInputStream(fin));
+ FileOutputStream outStream = new FileOutputStream(fout);
+ copy(inStream, outStream, fin.length());
+ }
+
+ private static void copy(InputStream in, FileOutputStream out, long size) throws IOException {
+
+ try {
+ copyWithoutClose(in, out, size);
+ }
+ finally {
+ if (in != null)
+ in.close();
+ if (out != null)
+ out.close();
+ }
+ }
+
+ private static void copyWithoutClose(InputStream in, FileOutputStream out, long size) throws IOException {
+
+ ReadableByteChannel inChannel = Channels.newChannel(in);
+ FileChannel outChannel = out.getChannel();
+ outChannel.transferFrom(inChannel, 0, size);
+ }
+
+ private static void copy(InputStream in, OutputStream os, long size) throws IOException {
+ if (os instanceof FileOutputStream) {
+ copy(in, (FileOutputStream) os, size);
+ }
+ else {
+ ReadableByteChannel inChannel = Channels.newChannel(in);
+ WritableByteChannel outChannel = Channels.newChannel(os);
+ if (size == 0) {
+
+ ByteBuffer byteBuffer = ByteBuffer.allocate(10240);
+ int read;
+ do {
+ read = inChannel.read(byteBuffer);
+ if (read> 0) {
+ byteBuffer.limit(byteBuffer.position());
+ byteBuffer.rewind();
+ outChannel.write(byteBuffer);
+ byteBuffer.clear();
+ }
+ }
+ while (read != -1);
+ }
+ else {
+ ByteBuffer byteBuffer = ByteBuffer.allocate(Long.valueOf(size).intValue());
+ inChannel.read(byteBuffer);
+ byteBuffer.rewind();
+ outChannel.write(byteBuffer);
+ }
+ }
+ }
+ public static void main(String... args) {
+ try {
+ copy(args[0], args[1]);
+ }
+ catch (IOException ex) {
+ System.out.println("ERROR: " + ex);
+ }
+ }
+}
Index: trunk/v2/appserv-tests/devtests/admin/cli/build.xml
===================================================================
--- trunk/v2/appserv-tests/devtests/admin/cli/build.xml (revision 47763)
+++ trunk/v2/appserv-tests/devtests/admin/cli/build.xml (revision 47764)
@@ -86,7 +86,7 @@
<sequential>
<java classname="@{classname}" fork="true" classpath="${test}">
<jvmarg value="${javaprops}"/>
-<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n"/>
+<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9010"/>
<env key="APS_HOME" value="${aps_home}"/>
<env key="S1AS_HOME" value="${s1as_home}"/>
<env key="AS_LOGFILE" value="${as_logfile}"/>