Update of /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv15344/core/components/junit/src/org/smartfrog/services/junit/listeners Modified Files: AbstractXmlListenerComponent.java BufferingListener.java BufferingListenerComponent.java ChainListener.java ChainListenerComponent.java ConsoleListenerComponent.java HtmlTestListenerComponent.java HtmlTestListenerFactory.java OneHostHtmlListener.java OneHostXMLListener.java StatisticsTestListenerComponent.java components.sf report.css Log Message: 1. optimise imports (most of the changes) 2. move unit tests to test/unit for isolated running 3. html listener supports css as resources or inline files. Handy. Index: BufferingListener.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/BufferingListener.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** BufferingListener.java 27 Apr 2006 13:06:23 -0000 1.3 --- BufferingListener.java 14 Jun 2006 16:56:06 -0000 1.4 *************** *** 22,27 **** package org.smartfrog.services.junit.listeners; - import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.services.junit.TestListenerFactory; import java.rmi.RemoteException; --- 22,27 ---- package org.smartfrog.services.junit.listeners; import org.smartfrog.services.junit.TestListenerFactory; + import org.smartfrog.services.junit.data.TestInfo; import java.rmi.RemoteException; Index: ConsoleListenerComponent.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/ConsoleListenerComponent.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** ConsoleListenerComponent.java 12 Jun 2006 16:40:12 -0000 1.9 --- ConsoleListenerComponent.java 14 Jun 2006 16:56:06 -0000 1.10 *************** *** 20,28 **** package org.smartfrog.services.junit.listeners; - import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.TestSuite; - import org.smartfrog.services.junit.data.ThrowableTraceInfo; import org.smartfrog.services.junit.data.LogEntry; import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.sfcore.prim.PrimImpl; --- 20,28 ---- package org.smartfrog.services.junit.listeners; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.TestSuite; import org.smartfrog.services.junit.data.LogEntry; + import org.smartfrog.services.junit.data.TestInfo; + import org.smartfrog.services.junit.data.ThrowableTraceInfo; import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.sfcore.prim.PrimImpl; Index: HtmlTestListenerComponent.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/HtmlTestListenerComponent.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** HtmlTestListenerComponent.java 12 Jun 2006 16:40:12 -0000 1.4 --- HtmlTestListenerComponent.java 14 Jun 2006 16:56:07 -0000 1.5 *************** *** 21,29 **** import org.smartfrog.sfcore.common.SmartFrogException; - import java.util.Date; - import java.rmi.RemoteException; import java.io.File; import java.io.IOException; /** --- 21,31 ---- import org.smartfrog.sfcore.common.SmartFrogException; + import org.smartfrog.sfcore.utils.ComponentHelper; import java.io.File; import java.io.IOException; + import java.nio.charset.Charset; + import java.rmi.RemoteException; + import java.util.Date; /** *************** *** 37,40 **** --- 39,45 ---- private String cssURL; + private String cssResource; + private String cssData; + ComponentHelper helper; /** *************** *** 44,47 **** --- 49,53 ---- */ public HtmlTestListenerComponent() throws RemoteException { + helper=new ComponentHelper(this); } *************** *** 59,62 **** --- 65,75 ---- super.sfStart(); cssURL=sfResolve(ATTR_CSS_URL,cssURL,false); + cssResource=sfResolve(ATTR_CSS_RESOURCE,cssResource,false); + if(cssResource!=null) { + //load in the data from the class + helper.loadResourceToString(cssResource, Charset.forName("UTF-8")); + } + cssData= sfResolve(ATTR_CSS_DATA, cssData, false); + } *************** *** 84,88 **** start, preamble, ! cssURL); } --- 97,102 ---- start, preamble, ! cssURL, ! cssData); } Index: OneHostHtmlListener.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/OneHostHtmlListener.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** OneHostHtmlListener.java 12 Jun 2006 16:40:12 -0000 1.5 --- OneHostHtmlListener.java 14 Jun 2006 16:56:07 -0000 1.6 *************** *** 26,32 **** import java.io.File; import java.io.IOException; import java.util.Date; import java.util.Iterator; - import java.rmi.RemoteException; /** --- 26,32 ---- import java.io.File; import java.io.IOException; + import java.rmi.RemoteException; import java.util.Date; import java.util.Iterator; /** *************** *** 39,42 **** --- 39,44 ---- private String cssURL; + private String cssData; + private String title; *************** *** 48,56 **** Date startTime, String preamble, ! String cssURL) throws IOException { super(hostname, processname, suitename, destFile, startTime, preamble); this.title=title; this.cssURL=cssURL; } --- 50,59 ---- Date startTime, String preamble, ! String cssURL, String cssData) throws IOException { super(hostname, processname, suitename, destFile, startTime, preamble); this.title=title; this.cssURL=cssURL; + this.cssData=cssData; } *************** *** 77,81 **** enter("head"); write("title", null, title, true); ! if(cssURL!=null) { write("link", attr("rel","stylesheet") --- 80,84 ---- enter("head"); write("title", null, title, true); ! if(cssURL!=null && cssURL.length()>0) { write("link", attr("rel","stylesheet") *************** *** 84,87 **** --- 87,99 ---- null, false); + } else { + //no url, pump out the data if it is present + if(cssData!=null && cssData.length()>0) { + write("style", + attr("type", "text/css"), + cssData, + true); + } + } exit("head"); Index: AbstractXmlListenerComponent.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/AbstractXmlListenerComponent.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AbstractXmlListenerComponent.java 12 Jun 2006 16:40:12 -0000 1.2 --- AbstractXmlListenerComponent.java 14 Jun 2006 16:56:06 -0000 1.3 *************** *** 21,39 **** package org.smartfrog.services.junit.listeners; ! import org.smartfrog.sfcore.prim.PrimImpl; ! import org.smartfrog.sfcore.common.SmartFrogResolutionException; import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.sfcore.common.SmartFrogInitException; import org.smartfrog.sfcore.logging.Log; import org.smartfrog.sfcore.utils.ComponentHelper; - import org.smartfrog.services.filesystem.FileSystem; - import org.smartfrog.services.junit.TestListener; - import org.smartfrog.services.junit.TestSuite; - import java.rmi.RemoteException; - import java.util.HashMap; - import java.util.Date; import java.io.File; import java.io.IOException; /** --- 21,39 ---- package org.smartfrog.services.junit.listeners; ! import org.smartfrog.services.filesystem.FileSystem; ! import org.smartfrog.services.junit.TestListener; ! import org.smartfrog.services.junit.TestSuite; import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.sfcore.common.SmartFrogInitException; + import org.smartfrog.sfcore.common.SmartFrogResolutionException; import org.smartfrog.sfcore.logging.Log; + import org.smartfrog.sfcore.prim.PrimImpl; import org.smartfrog.sfcore.utils.ComponentHelper; import java.io.File; import java.io.IOException; + import java.rmi.RemoteException; + import java.util.Date; + import java.util.HashMap; /** Index: StatisticsTestListenerComponent.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/StatisticsTestListenerComponent.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** StatisticsTestListenerComponent.java 12 Jun 2006 16:40:12 -0000 1.7 --- StatisticsTestListenerComponent.java 14 Jun 2006 16:56:07 -0000 1.8 *************** *** 20,30 **** package org.smartfrog.services.junit.listeners; - import org.smartfrog.sfcore.prim.PrimImpl; - import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.TestSuite; - import org.smartfrog.services.junit.data.TestInfo; - import org.smartfrog.services.junit.data.Statistics; import org.smartfrog.services.junit.data.LogEntry; import java.rmi.RemoteException; --- 20,30 ---- package org.smartfrog.services.junit.listeners; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.TestSuite; import org.smartfrog.services.junit.data.LogEntry; + import org.smartfrog.services.junit.data.Statistics; + import org.smartfrog.services.junit.data.TestInfo; + import org.smartfrog.sfcore.common.SmartFrogException; + import org.smartfrog.sfcore.prim.PrimImpl; import java.rmi.RemoteException; Index: ChainListener.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/ChainListener.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ChainListener.java 12 Jun 2006 16:40:12 -0000 1.4 --- ChainListener.java 14 Jun 2006 16:56:06 -0000 1.5 *************** *** 21,35 **** import org.smartfrog.services.junit.TestListener; - import org.smartfrog.services.junit.data.TestInfo; - import org.smartfrog.services.junit.data.LogEntry; import org.smartfrog.services.junit.TestListenerFactory; import org.smartfrog.services.junit.TestSuite; import org.smartfrog.sfcore.common.SmartFrogException; import java.util.Iterator; - import java.util.ListIterator; import java.util.List; ! import java.util.ArrayList; ! import java.rmi.RemoteException; /** --- 21,35 ---- import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.TestListenerFactory; import org.smartfrog.services.junit.TestSuite; + import org.smartfrog.services.junit.data.LogEntry; + import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.sfcore.common.SmartFrogException; + import java.rmi.RemoteException; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; ! import java.util.ListIterator; /** Index: OneHostXMLListener.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/OneHostXMLListener.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** OneHostXMLListener.java 12 Jun 2006 16:40:12 -0000 1.12 --- OneHostXMLListener.java 14 Jun 2006 16:56:07 -0000 1.13 *************** *** 22,28 **** package org.smartfrog.services.junit.listeners; import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.services.junit.data.ThrowableTraceInfo; - import org.smartfrog.services.junit.data.LogEntry; import org.smartfrog.sfcore.common.SmartFrogException; --- 22,28 ---- package org.smartfrog.services.junit.listeners; + import org.smartfrog.services.junit.data.LogEntry; import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.services.junit.data.ThrowableTraceInfo; import org.smartfrog.sfcore.common.SmartFrogException; Index: BufferingListenerComponent.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/BufferingListenerComponent.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** BufferingListenerComponent.java 12 Jun 2006 16:40:12 -0000 1.9 --- BufferingListenerComponent.java 14 Jun 2006 16:56:06 -0000 1.10 *************** *** 22,35 **** package org.smartfrog.services.junit.listeners; - import org.smartfrog.services.junit.data.TestInfo; - import org.smartfrog.services.junit.data.LogEntry; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.TestSuite; import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.sfcore.prim.PrimImpl; import java.rmi.RemoteException; - import java.util.List; import java.util.ArrayList; /** --- 22,35 ---- package org.smartfrog.services.junit.listeners; import org.smartfrog.services.junit.TestListener; import org.smartfrog.services.junit.TestSuite; + import org.smartfrog.services.junit.data.LogEntry; + import org.smartfrog.services.junit.data.TestInfo; import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.sfcore.prim.PrimImpl; import java.rmi.RemoteException; import java.util.ArrayList; + import java.util.List; /** Index: report.css =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/report.css,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** report.css 9 Jun 2006 20:34:27 -0000 1.3 --- report.css 14 Jun 2006 16:56:07 -0000 1.4 *************** *** 1,2 **** --- 1,93 ---- + /** (C) Copyright 2006 Hewlett-Packard Development Company, LP + + Disclaimer of Warranty + + The Software is provided "AS IS," without a warranty of any kind. ALL + EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, + INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A + PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY + EXCLUDED. SmartFrog is not a Hewlett-Packard Product. The Software has + not undergone complete testing and may contain errors and defects. It + may not function properly and is subject to change or withdrawal at + any time. The user must assume the entire risk of using the + Software. No support or maintenance is provided with the Software by + Hewlett-Packard. Do not install the Software if you are not accustomed + to using experimental software. + + Limitation of Liability + + TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL HEWLETT-PACKARD + OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR + FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, + HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF + OR RELATED TO THE FURNISHING, PERFORMANCE, OR USE OF THE SOFTWARE, OR + THE INABILITY TO USE THE SOFTWARE, EVEN IF HEWLETT-PACKARD HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. FURTHERMORE, SINCE THE + SOFTWARE IS PROVIDED WITHOUT CHARGE, YOU AGREE THAT THERE HAS BEEN NO + BARGAIN MADE FOR ANY ASSUMPTIONS OF LIABILITY OR DAMAGES BY + HEWLETT-PACKARD FOR ANY REASON WHATSOEVER, RELATING TO THE SOFTWARE OR + ITS MEDIA, AND YOU HEREBY WAIVE ANY CLAIM IN THIS REGARD. + + */ + + @charset "UTF-8" ; + + /* + * The Apache Software License, Version 1.1 + * + * + * Copyright (c) 2000-2006 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, + * if any, must include the following acknowledgment: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowledgment may appear in the software itself, + * if and wherever such third-party acknowledgments normally appear. + * + * 4. The names "Xerces" and "Apache Software Foundation" must + * not be used to endorse or promote products derived from this + * software without prior written permission. For written + * permission, please contact ap...@ap.... + * + * 5. Products derived from this software may not be called "Apache", + * nor may "Apache" appear in their name, without prior written + * permission of the Apache Software Foundation. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation and was + * originally based on software copyright (c) 1999, International + * Business Machines, Inc., http://www.apache.org. For more + * information on the Apache Software Foundation, please see + * <http://www.apache.org/>. + */ + /** * apache ant settings Index: HtmlTestListenerFactory.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/HtmlTestListenerFactory.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** HtmlTestListenerFactory.java 9 Jun 2006 14:13:31 -0000 1.2 --- HtmlTestListenerFactory.java 14 Jun 2006 16:56:07 -0000 1.3 *************** *** 39,41 **** --- 39,43 ---- String ATTR_CSS_URL = "cssURL"; + + String ATTR_CSS_DATA = "cssData"; } Index: components.sf =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/components.sf,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** components.sf 12 Jun 2006 16:40:12 -0000 1.4 --- components.sf 14 Jun 2006 16:56:07 -0000 1.5 *************** *** 99,105 **** --- 99,121 ---- /** * URL To an optional CSS sheet + * This takes priority over cssResource or cssData */ cssURL extends OptionalString; + /** + * CSS data inline in a smartfrog file. + * This takes priority over cssResource + */ + + cssData extends OptionalString; + + /** + * resource name of optional CSS data file, this is pasted in inline + * it is also assumed to be UTF8 when read from the file, so put an @charset "UTF-8"; declaration + * at the top to make it clear that this is the fact + */ + cssResource extends OptionalString; + + } *************** *** 118,124 **** --- 134,142 ---- publishFrequency 30; pageTitle "Test Statistics"; + cssResource "/org/smartfrog/services/junit/listeners/report.css"; } + /** * This component collects statistics about tests, but discards the values. Index: ChainListenerComponent.java =================================================================== RCS file: /cvsroot/smartfrog/core/components/junit/src/org/smartfrog/services/junit/listeners/ChainListenerComponent.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ChainListenerComponent.java 12 Jun 2006 16:40:12 -0000 1.3 --- ChainListenerComponent.java 14 Jun 2006 16:56:06 -0000 1.4 *************** *** 24,36 **** import org.smartfrog.services.junit.TestSuite; import org.smartfrog.sfcore.common.SmartFrogException; - import org.smartfrog.sfcore.prim.PrimImpl; import org.smartfrog.sfcore.logging.Log; import org.smartfrog.sfcore.utils.ComponentHelper; import java.util.Iterator; - import java.util.Vector; import java.util.List; ! import java.util.ArrayList; ! import java.rmi.RemoteException; /** --- 24,36 ---- import org.smartfrog.services.junit.TestSuite; import org.smartfrog.sfcore.common.SmartFrogException; import org.smartfrog.sfcore.logging.Log; + import org.smartfrog.sfcore.prim.PrimImpl; import org.smartfrog.sfcore.utils.ComponentHelper; + import java.rmi.RemoteException; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; ! import java.util.Vector; /** |