From: <st...@us...> - 2006-11-22 16:07:06
|
Revision: 3631 http://svn.sourceforge.net/smartfrog/?rev=3631&view=rev Author: steve_l Date: 2006-11-22 08:06:58 -0800 (Wed, 22 Nov 2006) Log Message: ----------- bit more work on XML testing. DocLoadTest is failing because parsing an XML doc and turning it into a graph of prims is not implemented. Modified Paths: -------------- trunk/core/components/xml/build.xml trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/docLoad.sf trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocLoadTest.java trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocumentCreationTest.java Added Paths: ----------- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java Removed Paths: ------------- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/TestBase.java Modified: trunk/core/components/xml/build.xml =================================================================== --- trunk/core/components/xml/build.xml 2006-11-22 14:22:21 UTC (rev 3630) +++ trunk/core/components/xml/build.xml 2006-11-22 16:06:58 UTC (rev 3631) @@ -32,7 +32,7 @@ <!-- override point --> <property file="build.properties"/> <property name="is.component" value="true"/> - + <property name="javac.java.version" value="true"/> <property name="root.dir" location="../.."/> <!-- Import common stuff --> <import file="../../common.xml"/> @@ -61,7 +61,7 @@ <!-- this is the classpath for running the daemon --> - <target name="declare-run.classpath" depends="init" > + <target name="declare-run.classpath" depends="ivy-resolve" > <ivy:cachepath pathid="run.classpath" conf="daemon" /> <property name="run.classpath.value" refid="run.classpath"/> <echo level="verbose">daemon.classpath=${daemon.classpath.value}</echo> @@ -104,9 +104,8 @@ Using Javac version 1.4: the java 1.5 packages will be omitted. Do not redistribute this build. </echo> - </target> - + <target name="pre-compile" depends="common.pre-compile,javac.version" > </target> @@ -138,7 +137,7 @@ <!-- create a distro. we want both sf-junit and the test har --> <!-- ========================================================== --> - <target name="dist" depends="common.dist, jdocs" description="create a distribution"> + <target name="dist" depends="common.dist,jdocs" description="create a distribution"> <!-- <copy todir = "${dist.lib.dir}"> <fileset dir ="${lib.dir}" /> @@ -159,7 +158,7 @@ <!-- ========================================================== --> <!-- parse the file --> <!-- ========================================================== --> - <target name="parse" depends="init,dist,init-codebase" + <target name="parse" depends="init,common.dist,init-codebase" description="parse the deployment descriptor"> <property name="parse.quiet" value="true"/> <sf-parse quiet="${parse.quiet}"> @@ -193,7 +192,7 @@ <!-- ========================================================== --> <!-- set--> <!-- ========================================================== --> - <target name="init-codebase" depends="init-deploy-properties" + <target name="init-codebase" depends="init-deploy-properties,declare-classpaths" description="set up the codebase property"> <sf-tourl property="codebase"> <fileset file="${target.jar}"/> Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java 2006-11-22 14:22:21 UTC (rev 3630) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java 2006-11-22 16:06:58 UTC (rev 3631) @@ -80,7 +80,6 @@ } catch (XMLException e) { throw XmlNodeHelper.handleXmlException(e); } - } private Prim resolveRoot() throws SmartFrogResolutionException, @@ -89,7 +88,34 @@ return root; } + /** + * generate XML from the doc. This always triggers a recalculate of + * everything, then the attribute is saved. We do it this way because we + * don't know what has changed underneath. + * + * @return XML of the tree + * @throws java.rmi.RemoteException + * @throws org.smartfrog.sfcore.common.SmartFrogException + * for smartfrog problems, and for caught + * XMLExceptions + */ + public String toXML() throws RemoteException, SmartFrogException { + //special handling of the situation where there is no root. + // We have to be loading a document from a file in this situation + Prim root = sfResolve(ATTR_ROOT, (Prim) null, false); + if(root!=null) { + return super.toXML(); + } + if(getSourcefile()==null) { + throw new SmartFrogException("The XML document has no "+ATTR_ROOT + +" attribute and no "+ATTR_SOURCEFILE+" attribute, so cannot be constructed"); + } + //this is only transient until we build it + return ""; + } + + /** * get the node typecast to a document * * @return @@ -143,8 +169,8 @@ String destFilename = FileSystem.lookupAbsolutePath(this, ATTR_DESTFILE, - (String) null, null, + null, false, null); if (destFilename != null) { @@ -166,12 +192,7 @@ */ private void bindToSourceFile() throws RemoteException, SmartFrogRuntimeException { - String sourceFilename = FileSystem.lookupAbsolutePath(this, - new Reference(ATTR_SOURCEFILE), - (String) null, - null, - false, - null); + String sourceFilename = getSourcefile(); if (sourceFilename != null) { File source = new File(sourceFilename); FileUsingComponentImpl.bind(this, source); @@ -180,6 +201,15 @@ } } + private String getSourcefile() throws SmartFrogResolutionException, RemoteException { + return FileSystem.lookupAbsolutePath(this, + new Reference(ATTR_SOURCEFILE), + (String) null, + null, + false, + null); + } + /** * internal save routine * Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/docLoad.sf =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/docLoad.sf 2006-11-22 14:22:21 UTC (rev 3630) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/docLoad.sf 2006-11-22 16:06:58 UTC (rev 3631) @@ -43,22 +43,18 @@ } */ -tempFile extends TempFile { + +textFile extends TempFileWithCleanup { prefix "testxml"; suffix ".xml"; - deleteOnExit true; -} - -textFile extends TextFile { - file tempFile; + encoding "UTF-8"; text xmltext; } /** XML doc as a multiline string */ -xmltext -##<?xml value="1.0" ?> +xmltext ##<?xml value="1.0" ?> <!DOCTYPE meals> <meals > <meal name="soup" served="warm"> @@ -76,12 +72,12 @@ sfConfig extends Compound { - sfSyncTerminate true; - file extends textFile; + xmlfile extends textFile; xml extends XmlDocument { - filename LAZY PARENT:file:absolutePath; + xml ""; + filename LAZY PARENT:xmlfile; } Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocLoadTest.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocLoadTest.java 2006-11-22 14:22:21 UTC (rev 3630) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocLoadTest.java 2006-11-22 16:06:58 UTC (rev 3631) @@ -25,7 +25,7 @@ * created 01-Apr-2005 14:54:24 */ -public class DocLoadTest extends TestBase { +public class DocLoadTest extends XmlTestBase { public DocLoadTest(String name) { super(name); Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocumentCreationTest.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocumentCreationTest.java 2006-11-22 14:22:21 UTC (rev 3630) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/DocumentCreationTest.java 2006-11-22 16:06:58 UTC (rev 3631) @@ -30,7 +30,7 @@ * created 27-Jan-2005 14:02:01 */ -public class DocumentCreationTest extends TestBase { +public class DocumentCreationTest extends XmlTestBase { public DocumentCreationTest(String name) { super(name); @@ -48,7 +48,7 @@ String xml=doc.toXML(); tempfile = File.createTempFile("doc",".xml"); doc.save(tempfile.getAbsolutePath()); - Document xdom=loadXMLFile(tempfile); + Document xdom=loadXMLFile(tempfile, false); } finally { if(tempfile!=null) { tempfile.delete(); Deleted: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/TestBase.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/TestBase.java 2006-11-22 14:22:21 UTC (rev 3630) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/TestBase.java 2006-11-22 16:06:58 UTC (rev 3631) @@ -1,177 +0,0 @@ -/** (C) Copyright 2004 Hewlett-Packard Development Company, LP - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - For more information: www.smartfrog.org - - */ - - -package org.smartfrog.services.xml.test.system; - -import junit.framework.AssertionFailedError; -import nu.xom.Builder; -import nu.xom.Document; -import nu.xom.ParsingException; -import org.smartfrog.services.xml.interfaces.XmlNode; -import org.smartfrog.services.xml.utils.ParserHelper; -import org.smartfrog.sfcore.common.SmartFrogResolutionException; -import org.smartfrog.sfcore.prim.Prim; -import org.smartfrog.test.SmartFrogTestBase; -import org.xml.sax.SAXException; -import org.xml.sax.XMLReader; - -import java.io.File; -import java.io.IOException; -import java.rmi.RemoteException; - -/** - * base class for tests; currently extends the smartfrog testbase - */ -public abstract class TestBase extends SmartFrogTestBase { - - public static final String CODEBASE_PROPERTY = "org.smartfrog.codebase"; - - /** - * Well known attribute for xml under a compoint - */ - public static final String ATTR_XML = "xml"; - - /** - * Node of any deployed application - */ - private Prim application; - - protected TestBase(String name) { - super(name); - } - - /** - * location for files. - * {@value} - * - */ - public static final String FILE_BASE = "/org/smartfrog/services/xml/test/files/"; - - /** - * Sets up the fixture, for example, open a network connection. This method - * is called before a test is executed. - */ - protected void setUp() throws Exception { - super.setUp(); - assertSystemPropertySet(CODEBASE_PROPERTY); - } - - - /** - * Tears down the fixture, for example, close a network connection. This - * method is called after a test is executed. - */ - protected void tearDown() throws Exception { - super.tearDown(); - //terminate the node if it is not null. - terminateApplication(application); - } - - /** - * Deploy an XML node - * @param url - * @param appName - * @return - * @throws Throwable - */ - public XmlNode deployXmlNode(String url,String appName) throws Throwable { - Prim prim = deployApplication2(url, appName); - try { - return (XmlNode) prim; - } catch (Exception e) { - terminateApplication(prim); - throw e; - } - } - - /** - * Deploy an application. - * @param url - * @param appName - * @return - * @throws Throwable - */ - protected Prim deployApplication2(String url, String appName) - throws Throwable { - Prim prim = deployExpectingSuccess(url, appName); - application = prim; - return prim; - } - - /** - * Get the deployed application, or null - * @return application, if deployed - */ - public Prim getApplication() { - return application; - } - - /** - * Get the application (if deployed) as an XML Node (if it is one) - * @return the application or null - * @throws ClassCastException if the app doesn't implement XmlNode - */ - public XmlNode getApplicationAsNode() { - if(application==null) { - return null; - } - return (XmlNode)application; - } - - /** - * terminate a deployed app of type xmlnode. no-op if null - * @param node - * @throws RemoteException - */ - protected void terminateNode(XmlNode node) throws RemoteException { - terminateApplication((Prim)node); - } - - /** - * load an XML File - * @param file - * @return the loaded document. - * @throws SAXException - * @throws ParsingException - * @throws IOException - */ - public Document loadXMLFile(File file) throws SAXException, - ParsingException, IOException { - XMLReader xmlParser = ParserHelper.createXmlParser(true,true,false); - Builder builder = new Builder(xmlParser, true); - Document document = builder.build(file); - return document; - } - - - /** - * resolve the xmlnode name {@link #ATTR_XML} in the application - * @return - * @throws SmartFrogResolutionException - * @throws RemoteException - * @throws AssertionFailedError if the application is null - */ - protected XmlNode resolveXmlNode() throws SmartFrogResolutionException, - RemoteException { - assertNotNull(getApplication()); - return (XmlNode) getApplication().sfResolve(ATTR_XML,(Prim)null,true); - } -} Copied: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java (from rev 3626, trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/TestBase.java) =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java (rev 0) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java 2006-11-22 16:06:58 UTC (rev 3631) @@ -0,0 +1,178 @@ +/** (C) Copyright 2004 Hewlett-Packard Development Company, LP + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + For more information: www.smartfrog.org + + */ + + +package org.smartfrog.services.xml.test.system; + +import junit.framework.AssertionFailedError; +import nu.xom.Builder; +import nu.xom.Document; +import nu.xom.ParsingException; +import org.smartfrog.services.xml.interfaces.XmlNode; +import org.smartfrog.services.xml.utils.ParserHelper; +import org.smartfrog.sfcore.common.SmartFrogResolutionException; +import org.smartfrog.sfcore.prim.Prim; +import org.smartfrog.test.SmartFrogTestBase; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; + +import java.io.File; +import java.io.IOException; +import java.rmi.RemoteException; + +/** + * base class for tests; currently extends the smartfrog testbase + */ +public abstract class XmlTestBase extends SmartFrogTestBase { + + public static final String CODEBASE_PROPERTY = "org.smartfrog.codebase"; + + /** + * Well known attribute for xml under a component + */ + public static final String ATTR_XML = "xml"; + + /** + * Node of any deployed application + */ + private Prim application; + + protected XmlTestBase(String name) { + super(name); + } + + /** + * location for files. + * {@value} + * + */ + public static final String FILE_BASE = "/org/smartfrog/services/xml/test/files/"; + + /** + * Sets up the fixture, for example, open a network connection. This method + * is called before a test is executed. + */ + protected void setUp() throws Exception { + super.setUp(); + assertSystemPropertySet(CODEBASE_PROPERTY); + } + + + /** + * Tears down the fixture, for example, close a network connection. This + * method is called after a test is executed. + */ + protected void tearDown() throws Exception { + super.tearDown(); + //terminate the node if it is not null. + terminateApplication(application); + } + + /** + * Deploy an XML node + * @param url + * @param appName + * @return + * @throws Throwable + */ + public XmlNode deployXmlNode(String url,String appName) throws Throwable { + Prim prim = deployApplication2(url, appName); + try { + return (XmlNode) prim; + } catch (Exception e) { + terminateApplication(prim); + throw e; + } + } + + /** + * Deploy an application. + * @param url + * @param appName + * @return + * @throws Throwable + */ + protected Prim deployApplication2(String url, String appName) + throws Throwable { + Prim prim = deployExpectingSuccess(url, appName); + application = prim; + return prim; + } + + /** + * Get the deployed application, or null + * @return application, if deployed + */ + public Prim getApplication() { + return application; + } + + /** + * Get the application (if deployed) as an XML Node (if it is one) + * @return the application or null + * @throws ClassCastException if the app doesn't implement XmlNode + */ + public XmlNode getApplicationAsNode() { + if(application==null) { + return null; + } + return (XmlNode)application; + } + + /** + * terminate a deployed app of type xmlnode. no-op if null + * @param node + * @throws RemoteException + */ + protected void terminateNode(XmlNode node) throws RemoteException { + terminateApplication((Prim)node); + } + + /** + * load an XML File + * @param file + * @param validate + * @return the loaded document. + * @throws SAXException + * @throws ParsingException + * @throws IOException + */ + public Document loadXMLFile(File file, boolean validate) throws SAXException, + ParsingException, IOException { + XMLReader xmlParser = ParserHelper.createXmlParser(validate,true,false); + Builder builder = new Builder(xmlParser, validate); + Document document = builder.build(file); + return document; + } + + + /** + * resolve the xmlnode name {@link #ATTR_XML} in the application + * @return + * @throws SmartFrogResolutionException + * @throws RemoteException + * @throws AssertionFailedError if the application is null + */ + protected XmlNode resolveXmlNode() throws SmartFrogResolutionException, + RemoteException { + assertNotNull(getApplication()); + return (XmlNode) getApplication().sfResolve(ATTR_XML,(Prim)null,true); + } +} Property changes on: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <st...@us...> - 2006-12-11 17:12:03
|
Revision: 3709 http://svn.sourceforge.net/smartfrog/?rev=3709&view=rev Author: steve_l Date: 2006-12-11 09:11:57 -0800 (Mon, 11 Dec 2006) Log Message: ----------- Fix up all the javadocs Modified Paths: -------------- trunk/core/components/xml/build.xml trunk/core/components/xml/ivy.xml trunk/core/components/xml/src/org/smartfrog/services/xml/impl/CompoundXmlNode.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SimpleXmlNode.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlAttributeImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlCommentImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocTypeImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlElementImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNamespaceDeclarationImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNodeHelper.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlProcessingInstructionImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlTextNodeImpl.java trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/LocalNode.java trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/XmlDocument.java trunk/core/components/xml/src/org/smartfrog/services/xml/java5/NamespaceUtils.java trunk/core/components/xml/src/org/smartfrog/services/xml/java5/XomToDom3.java trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/AttributeIterator.java trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/BaseNodeIterator.java trunk/core/components/xml/src/org/smartfrog/services/xml/utils/DomToXom.java trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ParserHelper.java trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ResourceLoader.java trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XomUtils.java trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XsdUtils.java Modified: trunk/core/components/xml/build.xml =================================================================== --- trunk/core/components/xml/build.xml 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/build.xml 2006-12-11 17:11:57 UTC (rev 3709) @@ -67,19 +67,20 @@ <echo level="verbose">daemon.classpath=${daemon.classpath.value}</echo> </target> - <target name="declare-exec.classpath" depends="declare-compile.classpath" > - <path id="exec.classpath"> - <path refid="compile.classpath"/> - <pathelement location="${target.jar}"/> - </path> + <target name="declare-exec.classpath" depends="declare-compile.classpath" > + <ivy:cachepath pathid="ivy.test.classpath" conf="test" /> + <path id="exec.classpath"> + <pathelement location="${target.jar}"/> + <path refid="ivy.test.classpath"/> + </path> <property name="exec.classpath.value" refid="exec.classpath"/> <echo level="verbose">exec.classpath=${exec.classpath.value}</echo> </target> <target name="declare-tests.run.classpath" depends="declare-tests.compile.classpath" > <path id="tests.run.classpath"> - <path refid="tests.compile.classpath"/> - <pathelement location="${test.jar}"/> + <pathelement location="${test.jar}"/> + <path refid="tests.compile.classpath"/> </path> <property name="tests.run.classpath.value" refid="tests.run.classpath"/> <echo level="verbose">tests.run.classpath=${tests.run.classpath.value}</echo> Modified: trunk/core/components/xml/ivy.xml =================================================================== --- trunk/core/components/xml/ivy.xml 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/ivy.xml 2006-12-11 17:11:57 UTC (rev 3709) @@ -19,7 +19,7 @@ description="artifacts needed to compile the application"/> <conf name="daemon" visibility="private" description="the classpath needed to run smartfrog daemons"/> - <conf name="test" extends="default,parser" + <conf name="test" extends="default,parser,master" description="the classpath needed to run tests"/> <conf name="master" description="contains the artifact but no dependencies"/> <conf name="redist" description="redistributals excluding smartfrog artifacts"/> Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/CompoundXmlNode.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/CompoundXmlNode.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/CompoundXmlNode.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -68,16 +68,24 @@ /** * Get the node underneath. Will be null until the node is created. * - * @return + * @return the node */ public Node getNode() { return helper.getNode(); } + /** + * Get the parent node + * @return the node cast to a ParentNode + */ public ParentNode getParentNode() { return (ParentNode) helper.getNode(); } + /** + * Get the parent element + * @return the node cast to an Element + */ public Element getParentElement() { return (Element) helper.getNode(); } @@ -91,15 +99,6 @@ } /** - * create a node of the appropriate type. This is called during deployment; - * - * @return a new node - * @throws nu.xom.XMLException if needed - */ - public abstract Node createNode() throws RemoteException, - SmartFrogException; - - /** * generate XML from the doc. This always triggers a recalculate of * everything, then the attribute is saved. We do it this way because we * don't know what has changed underneath. @@ -150,8 +149,8 @@ /** * subclasses must implement their child processing logic here. * - * @throws SmartFrogException - * @throws RemoteException + * @throws SmartFrogException error while deploying + * @throws RemoteException In case of network/rmi error */ protected abstract void addChildren() throws SmartFrogException, RemoteException; @@ -160,7 +159,7 @@ /** * add a child to this node. * - * @param node + * @param node child node */ public void appendChild(LocalNode node) { Node xomNode = node.getNode(); @@ -175,7 +174,7 @@ /** * cast a prim to a {@link LocalNode} and add. * - * @param nodeAsPrim + * @param nodeAsPrim the node as a prim * @throws SmartFrogDeploymentException if of the wrong type */ public void appendChild(Prim nodeAsPrim) Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -40,7 +40,7 @@ /** * create a node with a document * - * @param document + * @param document document to bind to */ public SerializedXomDocument(Document document) { this.document = document; @@ -54,8 +54,8 @@ /** * write out an object * - * @param out - * @throws IOException + * @param out output stream + * @throws IOException if writing fails */ private void writeObject(java.io.ObjectOutputStream out) throws IOException { @@ -65,7 +65,7 @@ /** * read in an object * - * @param in + * @param in object to read * @throws IOException * @throws ClassNotFoundException */ @@ -77,7 +77,7 @@ /** * get the underlying document * - * @return + * @return the document */ public Document getDocument() { return document; @@ -86,7 +86,7 @@ /** * set the underlying document * - * @param document + * @param document the document */ public void setDocument(Document document) { this.document = document; Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SimpleXmlNode.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SimpleXmlNode.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SimpleXmlNode.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -53,7 +53,7 @@ /** * empty constructor * - * @throws RemoteException + * @throws RemoteException In case of network/rmi error */ public SimpleXmlNode() throws RemoteException { } @@ -61,7 +61,7 @@ /** * set the node * - * @param node + * @param node the node */ public void setNode(Node node) { helper.setNode(node); @@ -70,7 +70,7 @@ /** * set the XML * - * @param xml + * @param xml the content as xml */ public void setXml(String xml) { helper.setXml(xml); @@ -79,7 +79,7 @@ /** * Get the node underneath. Will be null until the node is created. * - * @return + * @return the node or null */ public Node getNode() { return helper.getNode(); @@ -100,8 +100,8 @@ * don't know what has changed underneath. * * @return XML of the tree - * @throws RemoteException - * @throws SmartFrogException for smartfrog problems, and for caught + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught * XMLExceptions */ public String toXML() throws RemoteException, SmartFrogException { @@ -112,8 +112,9 @@ * Validate the XML, post-generation. Default implementation checks the * <code>valid</code> attribute and fails if it is false. * - * @throws SmartFrogException - * @throws RemoteException + * @throws SmartFrogException for smartfrog problems, and for caught + * XMLExceptions + * @throws RemoteException In case of network/rmi error */ public void validate() throws SmartFrogException, RemoteException { @@ -133,6 +134,11 @@ toXML(); } + /** + * Equality test. uses XML logic to compare + * @param o other instance to compare against + * @return true if there is a match + */ public boolean equals(Object o) { if (this == o) { return true; Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlAttributeImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlAttributeImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlAttributeImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -34,6 +34,10 @@ public class XmlAttributeImpl extends SimpleXmlNode implements XmlAttribute { + /** + * + * @throws RemoteException In case of network/rmi error + */ public XmlAttributeImpl() throws RemoteException { } Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlCommentImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlCommentImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlCommentImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -31,6 +31,11 @@ * Comment class */ public class XmlCommentImpl extends SimpleXmlNode implements XmlComment { + + /** + * + * @throws RemoteException In case of network/rmi error + */ public XmlCommentImpl() throws RemoteException { } @@ -38,6 +43,9 @@ * create a node of the appropriate type. This is called during deployment; * * @return a Node of type {@link nu.xom.Comment} + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public Node createNode() throws RemoteException, SmartFrogException { String text = sfResolve(ATTR_COMMENT, "", true); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocTypeImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocTypeImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocTypeImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -32,6 +32,10 @@ */ public class XmlDocTypeImpl extends SimpleXmlNode implements XmlDocType { + /** + * + * @throws RemoteException In case of network/rmi error + */ public XmlDocTypeImpl() throws RemoteException { } @@ -39,6 +43,9 @@ * create a node of the appropriate type. This is called during deployment; * * @return a new node of type {@link DocType} + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public Node createNode() throws RemoteException, SmartFrogException { String publicID = sfResolve(ATTR_PUBLICID, (String) null, false); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -55,6 +55,9 @@ public static final String UTF8 = "UTF-8"; public static final String ERROR_WRONG_TYPE = "is not an XMLElement"; + /** + * @throws RemoteException In case of network/rmi error + */ public XmlDocumentImpl() throws RemoteException { } @@ -63,6 +66,9 @@ * * @return a new node * @throws nu.xom.XMLException if needed + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public Node createNode() throws RemoteException, SmartFrogException { Prim root = resolveRoot(); @@ -82,6 +88,12 @@ } } + /** + * Resolve the root attribute, which must be present + * @return the root atribute + * @throws SmartFrogResolutionException if there was none + * @throws RemoteException In case of network/rmi error + * */ private Prim resolveRoot() throws SmartFrogResolutionException, RemoteException { Prim root = sfResolve(ATTR_ROOT, (Prim) null, true); @@ -95,10 +107,9 @@ * don't know what has changed underneath. * * @return XML of the tree - * @throws java.rmi.RemoteException - * @throws org.smartfrog.sfcore.common.SmartFrogException - * for smartfrog problems, and for caught - * XMLExceptions + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public String toXML() throws RemoteException, SmartFrogException { //special handling of the situation where there is no root. @@ -118,7 +129,7 @@ /** * get the node typecast to a document * - * @return + * @return the document */ public Document getDocument() { return (Document) getNode(); @@ -128,8 +139,9 @@ * root is added when we create the document; this call does the others * Called during the {@link CompoundXmlNode#sfDeploy()} operation of * our superclass - * @throws SmartFrogException - * @throws RemoteException + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ protected void addChildren() throws SmartFrogException, RemoteException { @@ -158,9 +170,9 @@ * After calling the superclass (and so deploying all our children), we * generate the XML, Then save the document, if desired * - * @throws org.smartfrog.sfcore.common.SmartFrogException - * error while deploying - * @throws java.rmi.RemoteException In case of network/rmi error + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public synchronized void sfDeploy() throws SmartFrogException, RemoteException { @@ -187,8 +199,9 @@ /** * optional code to bind to a source file. * @todo Implement file loading, building up a graph of prims as we go - * @throws RemoteException - * @throws SmartFrogRuntimeException + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ private void bindToSourceFile() throws RemoteException, SmartFrogRuntimeException { @@ -201,6 +214,12 @@ } } + /** + * Get the source file attribute + * @return + * @throws SmartFrogResolutionException + * @throws RemoteException + */ private String getSourcefile() throws SmartFrogResolutionException, RemoteException { return FileSystem.lookupAbsolutePath(this, new Reference(ATTR_SOURCEFILE), @@ -213,9 +232,9 @@ /** * internal save routine * - * @param filename - * @param encoding - * @throws IOException + * @param filename file to save to + * @param encoding encoding + * @throws IOException if saving fails */ protected void saveToFile(String filename, String encoding) throws IOException { @@ -234,19 +253,19 @@ } /** - * save a document to a file + * save a document to a file as UTF8 * - * @param filename - * @throws RemoteException + * @param filename file to save to + * @throws IOException if saving fails */ - public void save(String filename) throws RemoteException, IOException { + public void save(String filename) throws IOException { save(filename, UTF8); } /** * Get the entire Xom document serialised for local manipulation. * - * @return + * @return the serialized document * @throws RemoteException */ public SerializedXomDocument getXomDocument() throws RemoteException { @@ -257,7 +276,7 @@ * set a new Xom document. After this point, the doc graph will diverge from * that of (any components) used to describe it * - * @param document + * @param document the serialized document * @throws RemoteException */ public void setXomDocument(SerializedXomDocument document) @@ -269,11 +288,11 @@ /** * save a document to a file * - * @param filename - * @param encoding - * @throws RemoteException + * @param filename file to save to + * @param encoding encoding + * @throws IOException if saving fails */ - public void save(String filename, String encoding) throws RemoteException, + public void save(String filename, String encoding) throws IOException { saveToFile(filename, encoding); } Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlElementImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlElementImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlElementImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -34,6 +34,9 @@ */ public class XmlElementImpl extends CompoundXmlNode implements XmlElement { + /** + * @throws RemoteException In case of network/rmi error + * */ public XmlElementImpl() throws RemoteException { } @@ -41,8 +44,9 @@ * create a node of the appropriate type. This is called during deployment; * * @return a new node - * @throws RemoteException - * @throws SmartFrogException + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public Node createNode() throws RemoteException, SmartFrogException { String localname = sfResolve(ATTR_LOCALNAME, (String) null, true); @@ -66,8 +70,9 @@ /** * Add our children - * @throws SmartFrogException - * @throws RemoteException + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ protected void addChildren() throws SmartFrogException, RemoteException { for (Enumeration e = sfChildren(); e.hasMoreElements();) { Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNamespaceDeclarationImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNamespaceDeclarationImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNamespaceDeclarationImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -20,9 +20,9 @@ /** * look up our namespace declaration and add it to the XML element * - * @param element - * @throws SmartFrogResolutionException - * @throws RemoteException + * @param element element to add + * @throws SmartFrogResolutionException For smartfrog problems + * @throws RemoteException In case of network/rmi error */ public void addDeclaration(Element element) throws SmartFrogResolutionException, RemoteException { Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNodeHelper.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNodeHelper.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlNodeHelper.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -118,10 +118,9 @@ * don't know what has changed underneath. * * @return XML of the tree - * @throws java.rmi.RemoteException - * @throws org.smartfrog.sfcore.common.SmartFrogException - * for smartfrog problems, and for caught - * XMLExceptions + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public String toXML() throws RemoteException, SmartFrogException { try { @@ -144,8 +143,9 @@ * Validate the XML, post-generation. Default implementation checks the * <code>valid</code> attribute and fails if it is false. * - * @throws SmartFrogException - * @throws RemoteException + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public void validate() throws SmartFrogException, RemoteException { @@ -160,7 +160,7 @@ /** * equality test compares node values * @param o - * @return + * @return true if they are equal */ public boolean equals(Object o) { if (this == o) { @@ -193,7 +193,7 @@ /** * mape from an XMLException (extending RuntimeException) into a * SmartFrogException, which can then be thrown. - * @param xmle + * @param xmle XML exception * @return an instantiated and configured SmartFrogException. */ public static SmartFrogException handleXmlException(XMLException xmle) { Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlProcessingInstructionImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlProcessingInstructionImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlProcessingInstructionImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -33,6 +33,9 @@ public class XmlProcessingInstructionImpl extends SimpleXmlNode implements XmlProcessingInstruction { + /** + * @throws RemoteException In case of network/rmi error + */ public XmlProcessingInstructionImpl() throws RemoteException { } @@ -40,7 +43,9 @@ * create a node of the appropriate type. This is called during deployment; * * @return a Node of type {@link nu.xom.ProcessingInstruction} - */ + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public Node createNode() throws RemoteException, SmartFrogException { String target = sfResolve(ATTR_TARGET, "", true); String data = sfResolve(ATTR_DATA, "", true); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlTextNodeImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlTextNodeImpl.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlTextNodeImpl.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -31,6 +31,11 @@ * Implement the text node */ public class XmlTextNodeImpl extends SimpleXmlNode implements XmlTextNode { + + /** + * + * @throws RemoteException In case of network/rmi error + * */ public XmlTextNodeImpl() throws RemoteException { } @@ -38,6 +43,9 @@ * create a node of the appropriate type. This is called during deployment; * Requires {@link #ATTR_TEXT} to be set * @return a Node of type {@link nu.xom.Text} + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ public Node createNode() throws RemoteException, SmartFrogException { String text = sfResolve(ATTR_TEXT, "", true); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/LocalNode.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/LocalNode.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/LocalNode.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -56,7 +56,9 @@ * * @return a new node * - * @throws nu.xom.XMLException if needed + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogException For smartfrog problems, and for caught + * XMLExceptions */ Node createNode() throws RemoteException, SmartFrogException; Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/XmlDocument.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/XmlDocument.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/interfaces/XmlDocument.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -70,33 +70,33 @@ /** * save a document to a file - * @param filename - * @param encoding - * @throws RemoteException + * @param filename file name + * @param encoding encoding type + * @throws IOException for IO or network problems */ - void save(String filename, String encoding) throws RemoteException,IOException ; + void save(String filename, String encoding) throws IOException ; /** * save a document to a file, utf-8 encoded * - * @param filename - * @throws RemoteException + * @param filename file name + * @throws IOException for IO or network problems */ - void save(String filename) throws RemoteException, + void save(String filename) throws IOException; /** * Get the entire Xom document serialised for local manipulation. - * @return - * @throws RemoteException + * @return the document + * @throws RemoteException In case of network/rmi error */ SerializedXomDocument getXomDocument() throws RemoteException; /** * set a new Xom document. After this point, the doc graph will diverge * from that of (any components) used to describe it - * @param document - * @throws RemoteException + * @param document document to pass in + * @throws RemoteException In case of network/rmi error */ void setXomDocument(SerializedXomDocument document) throws RemoteException; } Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/java5/NamespaceUtils.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/java5/NamespaceUtils.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/java5/NamespaceUtils.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -57,7 +57,7 @@ /** * map from, say tns:something to 'tns' * - * @param string + * @param string to extract the ns from * @return null for no namespace */ public static String extractNamespacePrefix(String string) { @@ -72,7 +72,7 @@ /** * map from, say tns:something to 'something' * - * @param string + * @param string to extract the local name from * @return everything following the : or the whole string if one is not * there */ @@ -87,8 +87,8 @@ /** * Get the qname of an element - * @param element - * @return + * @param element element to turn into a qname + * @return java 5 qualified name */ public static QName makeQName(Element element) { return new QName(element.getNamespaceURI(),element.getLocalName()); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/java5/XomToDom3.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/java5/XomToDom3.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/java5/XomToDom3.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -78,7 +78,7 @@ /** * Convert from a Xom document to a W3C Dom Document - * @param xom + * @param xom xom document * @return the Dom equivalent * @throws RuntimeException for dom instantiation problems */ @@ -88,7 +88,4 @@ return DOMConverter.convert(xom,domImpl); } - public static void createXerces() { - - } } Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/AttributeIterator.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/AttributeIterator.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/AttributeIterator.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -76,7 +76,7 @@ /** * Return a new iterator over the element - * @return + * @return a new iterator over the element */ public Iterator<Attribute> iterator() { return new AttributeIterator(element); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/BaseNodeIterator.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/BaseNodeIterator.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/java5/iterators/BaseNodeIterator.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -86,7 +86,7 @@ /** * iterator operator returns a new iterator over us. * - * @return + * @return the iterator */ public Iterator<E> iterator() { return new BaseNodeIterator<E>(parent); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/utils/DomToXom.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/utils/DomToXom.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/utils/DomToXom.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -47,6 +47,12 @@ this.builder = builder; } + /** + * convert a DOM to a byte array + * @param dom dom to serialize + * @return the byte array equivalent + * @throws ParsingException + */ public byte[] convertToBytes(org.w3c.dom.Document dom) throws ParsingException { Document xom = DOMConverter.convert(dom); ByteArrayOutputStream out = new ByteArrayOutputStream(); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ParserHelper.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ParserHelper.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ParserHelper.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -66,19 +66,27 @@ return xerces; } - public static void setFeatures(XMLReader xerces, + /** + * Set a featurel on the parser + * @param parser parser + * @param secureLoading whether secure loading should be supported + * @param validate whether validation is needed + * @param disableDoctypes whether doc types are allowed + */ + public static void setFeatures(XMLReader parser, boolean secureLoading, - boolean validate, boolean disableDoctypes) { + boolean validate, + boolean disableDoctypes) { /* setFeature(xerces, FEATURE_SECURE_PROCESSING, secureLoading);*/ if(validate) { - enableXmlSchema(xerces); + enableXmlSchema(parser); } - setFeature(xerces, + setFeature(parser, FEATURE_SAX_NAMESPACES, true); - setFeature(xerces, + setFeature(parser, FEATURE_SAX_VALIDATION, validate); /* setFeature(xerces, @@ -94,32 +102,32 @@ /** * turn XSD support on - * @param xerces + * @param parser parser */ - public static void enableXmlSchema(XMLReader xerces) { - setFeature(xerces, + public static void enableXmlSchema(XMLReader parser) { + setFeature(parser, FEATURE_XERCES_XSD, true); - setFeature(xerces, + setFeature(parser, FEATURE_XERCES_XSD_FULLCHECKING, true); } /** - * create Xerces. look first for xerces, then for the sun version + * create a parser. look first for xerces, then for the sun version * - * @return a copy of Xerces - * @throws SAXException if neither implementation coudl be loaded + * @return a copy of Xerces or other parsser + * @throws SAXException if no implementation could be loaded */ public static XMLReader createBaseXercesInstance() throws SAXException { - XMLReader xerces = null; + XMLReader parser = null; try { - xerces = XMLReaderFactory.createXMLReader(PARSER_XERCES); + parser = XMLReaderFactory.createXMLReader(PARSER_XERCES); } catch (SAXException e) { log.debug("Failed to find Xerces", e); - xerces = XMLReaderFactory.createXMLReader(PARSER_JAVA_15); + parser = XMLReaderFactory.createXMLReader(PARSER_JAVA_15); } - return xerces; + return parser; } /** @@ -144,7 +152,7 @@ /** * use the JAXP APIs to locate and bind to a parser * - * @return + * @return a DOM runtime * @throws ParserConfigurationException */ public static DOMImplementation loadDomImplementation() Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ResourceLoader.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ResourceLoader.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/utils/ResourceLoader.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -59,7 +59,7 @@ /** * load with a given codebase; goes through the smartfrog loader. * - * @param sfCodebase + * @param sfCodebase the codebase */ public ResourceLoader(String sfCodebase) { this.codebase = sfCodebase; @@ -70,9 +70,10 @@ * get the sfcodebase from a component. This is used to trigger sfcodebase * operation. * - * @param owner - * @throws SmartFrogResolutionException - * @throws RemoteException + * @param owner owner class + * @throws RemoteException In case of network/rmi error + * @throws SmartFrogResolutionException For smartfrog problems, and for caught + * XMLExceptions */ public ResourceLoader(Prim owner) throws SmartFrogResolutionException, RemoteException { @@ -97,11 +98,22 @@ return in; } + /** + * Load a resource through the loader + * @param resourceName name of the resource + * @return the input stream or null + */ private InputStream loadResourceThroughClassloader(String resourceName) { InputStream in = loader.getResourceAsStream(resourceName); return in; } + /** + * Assert that a resource is loaded + * @param in input stream (may be null) + * @param resourcename the name of the resource (For the error) + * @throws IOException if the file was not found + */ private void assertResourceLoaded(InputStream in, String resourcename) throws IOException { if ( in == null ) { @@ -112,8 +124,8 @@ /** * load a resource. * - * @param resourceName - * @return + * @param resourceName name of the resource + * @return the open stream * @throws IOException if a resource is missing */ public InputStream loadResource(String resourceName) throws IOException { @@ -130,8 +142,8 @@ /** * load a resource into a string. * - * @param resourceName - * @return + * @param resourceName name of the resource + * @return the resource loaded as a string * @throws IOException if a resource is missing */ public String loadResourceAsString(String resourceName) throws IOException { Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -197,7 +197,7 @@ /** * extract any filename from this file. * - * @param systemId + * @param systemId the system ID/URL * @return the filename */ String getFilenameFromSystemID(String systemId) { @@ -209,7 +209,7 @@ /** * strip off everything after the last forward / - * @param systemId + * @param systemId the system ID/URL * @return what is left at the end, or null if there is no / or nothing after it */ private String extractLastPathElement(String systemId) { Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XomUtils.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XomUtils.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XomUtils.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -43,8 +43,8 @@ /** * turn a qname into an element of the same name * - * @param qname - * @return + * @param qname quanlified name of the elemment + * @return an element of the qname */ public static Element element(QName qname) { Element element = new Element(qname.getLocalPart(), @@ -56,9 +56,9 @@ /** * Save Xom to a buffer - * @param document - * @return - * @throws java.io.IOException + * @param document document to save + * @return the document serialized to a byte array + * @throws java.io.IOException in very unlikely circumstaances */ public static byte[] xomToBuffer(Document document) throws IOException { ByteArrayOutputStream out=new ByteArrayOutputStream(); @@ -73,7 +73,7 @@ * detatch the root element from the doc, so it * can be used elsewhere. The doc is left with a dummy element * to avoid it being malformed. - * @param document + * @param document the document to detach from * @return element that was the root */ public static Element detachRootElement(Document document) { @@ -86,8 +86,8 @@ * Use the sun.misc codec to base-64 encode something. * This ties us to Sun java, but removes a dependency on commons.codec * or Xerces internal operations. - * @param payload - * @return + * @param payload the data to encode + * @return a base 64 encoded file */ public static String base64Encode(byte[] payload) { sun.misc.BASE64Encoder encoder=new BASE64Encoder(); @@ -97,15 +97,21 @@ /** * Save a document to a buffer then base-64 encode it to a string - * @param document + * @param document the document to encode * @return the encoded string. - * @throws IOException + * @throws IOException if serialization went horribly wrong */ public static String base64Encode(Document document) throws IOException { byte[] buffer=xomToBuffer(document); return base64Encode(buffer); } + /** + * Decode base 64 conent to a byte array + * @param encoded the encodec content + * @return the decoded buffer + * @throws IOException if something went wrong decoding the string + */ public static byte[] base64Decode(String encoded) throws IOException { sun.misc.BASE64Decoder decoder=new BASE64Decoder(); return decoder.decodeBuffer(encoded); Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XsdUtils.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XsdUtils.java 2006-12-11 13:43:24 UTC (rev 3708) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XsdUtils.java 2006-12-11 17:11:57 UTC (rev 3709) @@ -25,7 +25,10 @@ */ public final class XsdUtils { + + /** XSD constant {@value} */ public static final String TRUE = "true"; + /** XSD constant {@value} */ public static final String FALSE = "false"; private XsdUtils() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <st...@us...> - 2007-04-30 13:53:38
|
Revision: 4110 http://svn.sourceforge.net/smartfrog/?rev=4110&view=rev Author: steve_l Date: 2007-04-30 06:53:35 -0700 (Mon, 30 Apr 2007) Log Message: ----------- tweaking build to work properly, though a bit of test cleanup is still required Modified Paths: -------------- trunk/core/components/xml/build.xml trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/testInvalidXML.sf trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlParserTest.java trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java Added Paths: ----------- trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/deploy.sf Modified: trunk/core/components/xml/build.xml =================================================================== --- trunk/core/components/xml/build.xml 2007-04-30 13:51:02 UTC (rev 4109) +++ trunk/core/components/xml/build.xml 2007-04-30 13:53:35 UTC (rev 4110) @@ -41,9 +41,10 @@ <!-- ========================================================== --> <target name="init" depends="init-standard-output-dirs,use-smartfrog-tasks,use-smartfrog-testharness"> - <property name="deploy.sf" value="files/success.sf"/> + <property name="deploy.sf" value="org/smartfrog/services/xml/test/files/deploy.sf"/> + <!-- <property name="default.ini" location="test/files/default.ini"/> - <property name="default.sf" location="test/files/default.sf"/> + <property name="default.sf" location="test/files/default.sf"/>--> <echo message="==================================================================="/> <echo message="= ${ant.project.name}"/> </target> @@ -96,32 +97,11 @@ <copy-useful-files src="${src.dir}" dest="${build.classes.dir}"/> </target> + <!-- ========================================================== --> - <!-- create a distro. - we want both sf-junit and the test har --> - <!-- ========================================================== --> - <target name="dist" depends="common.dist,jdocs" description="create a distribution"> -<!-- - <copy todir = "${dist.lib.dir}"> - <fileset dir ="${lib.dir}" /> - </copy> ---> - <copy todir = "${dist.doc.dir}"> - <fileset dir ="${doc.dir}" /> - </copy> - <copy todir = "${dist.src.dir}"> - <fileset dir ="${src.dir}"> - <include name="**/examples/**"/> - </fileset> - </copy> - <copy tofile="${dist.dir}/build.xml" file="releaseBuild.xml"/> - <copy tofile="${dist.dir}/build.example.properties" file="build.example.properties"/> - </target> - - <!-- ========================================================== --> <!-- parse the file --> <!-- ========================================================== --> - <target name="parse" depends="init,common.dist,init-codebase" + <target name="parse" depends="init-codebase,package-tests" description="parse the deployment descriptor"> <property name="parse.quiet" value="true"/> <sf-parse quiet="${parse.quiet}"> @@ -155,12 +135,10 @@ <!-- ========================================================== --> <!-- set--> <!-- ========================================================== --> - <target name="init-codebase" depends="init-deploy-properties,declare-classpaths" + <target name="init-codebase" depends="init-deploy-properties,declare-classpaths,package-tests" description="set up the codebase property"> <sf-tourl property="codebase"> - <fileset file="${target.jar}"/> - <fileset file="${test.jar}"/> - <path refid="compile.classpath"/> + <path refid="tests.run.classpath"/> </sf-tourl> <echo> deploying to ${deploy.host} @@ -199,7 +177,7 @@ <!-- ========================================================== --> <!-- system tests --> <!-- ========================================================== --> - <target name="system-tests" depends="parse,dist,compile-tests,init-codebase" + <target name="system-tests" depends="parse,dist,package-tests" description="run system tests" if="system.tests.enabled"> <parallel> @@ -253,10 +231,4 @@ <antcall target="stop-daemon-if-started"/> </target> - <target name="unzip" depends="dist"> - <property name="target.exploded" location="${build.dir}/exploded" /> - <unzip src="${target.jar}" dest="${target.exploded}"/> - </target> - - <target name="all" depends="dist,unzip,test,published" /> </project> Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java 2007-04-30 13:51:02 UTC (rev 4109) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/XmlDocumentImpl.java 2007-04-30 13:53:35 UTC (rev 4110) @@ -209,7 +209,7 @@ if (sourceFilename != null) { File source = new File(sourceFilename); FileUsingComponentImpl.bind(this, source); - throw new SmartFrogDeploymentException(ERROR_UNSUPPORTED_FEATURE, + throw new SmartFrogDeploymentException(ERROR_UNSUPPORTED_FEATURE+": binding to source files", this); } } @@ -241,9 +241,9 @@ File file = new File(filename); FileOutputStream fileout; fileout = new FileOutputStream(file); - OutputStream out; - out = new BufferedOutputStream(fileout); + OutputStream out=null; try { + out = new BufferedOutputStream(fileout); Serializer serializer = new Serializer(out, encoding); serializer.write(getDocument()); } finally { Added: trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/deploy.sf =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/deploy.sf (rev 0) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/deploy.sf 2007-04-30 13:53:35 UTC (rev 4110) @@ -0,0 +1,21 @@ +/** (C) Copyright 2007 Hewlett-Packard Development Company, LP + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +For more information: www.smartfrog.org + +*/ +#include "/org/smartfrog/services/xml/test/files/testDocument.sf" + Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/testInvalidXML.sf =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/testInvalidXML.sf 2007-04-30 13:51:02 UTC (rev 4109) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/files/testInvalidXML.sf 2007-04-30 13:53:35 UTC (rev 4110) @@ -36,4 +36,32 @@ this file tests that we dont load an invalid XML document */ -sfConfig extends XmlNode( \ No newline at end of file + +rootDoc extends XmlDocument { + + root extends XmlElement { + localname "root"; + + a1 extends XmlAttribute { + localname "attr1"; + value PARENT:localname; + } + a2 extends XmlAttribute { + namespace "urn:isbn:0-201-61981-0"; + localname "s:soup"; + value "warm"; + } + /* + textElement extends XmlText { + text "this is a nested text element"; + }*/ + + text "inline text"; + } + + root2 extends root; + +} + + +sfConfig extends rootDoc ; \ No newline at end of file Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlParserTest.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlParserTest.java 2007-04-30 13:51:02 UTC (rev 4109) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlParserTest.java 2007-04-30 13:53:35 UTC (rev 4110) @@ -28,6 +28,7 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; +import java.util.logging.Logger; /** * Test some aspects of XMLL created 27-Jan-2005 14:05:29 @@ -35,6 +36,8 @@ public class XmlParserTest extends TestCase { + private Logger logger= Logger.getLogger(this.getClass().getName()); + public XmlParserTest(String s) { super(s); } @@ -68,7 +71,7 @@ assertNotNull("Sax parser factory", factory); SAXParser parser = factory.newSAXParser(); assertNotNull("Sax parser ", parser); - System.out.println("Sax 1 Parser=" + parser.getClass().getName()); + logger.info("Sax 1 Parser=" + parser.getClass().getName()); } public void testDomExists() throws ParserConfigurationException { Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java 2007-04-30 13:51:02 UTC (rev 4109) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java 2007-04-30 13:53:35 UTC (rev 4110) @@ -138,7 +138,7 @@ /** * terminate a deployed app of type xmlnode. no-op if null - * @param node + * @param node node to terminate * @throws RemoteException */ protected void terminateNode(XmlNode node) throws RemoteException { @@ -147,8 +147,8 @@ /** * load an XML File - * @param file - * @param validate + * @param file file to load + * @param validate flag to ask for a validating parser * @return the loaded document. * @throws SAXException * @throws ParsingException @@ -165,7 +165,7 @@ /** * resolve the xmlnode name {@link #ATTR_XML} in the application - * @return + * @return the resolved node * @throws SmartFrogResolutionException * @throws RemoteException * @throws AssertionFailedError if the application is null This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <st...@us...> - 2007-11-15 15:26:25
|
Revision: 5497 http://smartfrog.svn.sourceforge.net/smartfrog/?rev=5497&view=rev Author: steve_l Date: 2007-11-15 07:25:51 -0800 (Thu, 15 Nov 2007) Log Message: ----------- SFOS-552 review XML componet source+build Modified Paths: -------------- trunk/core/components/xml/build.xml trunk/core/components/xml/ivy.xml trunk/core/components/xml/project-template.pom trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java Modified: trunk/core/components/xml/build.xml =================================================================== --- trunk/core/components/xml/build.xml 2007-11-15 14:20:19 UTC (rev 5496) +++ trunk/core/components/xml/build.xml 2007-11-15 15:25:51 UTC (rev 5497) @@ -34,35 +34,11 @@ <property name="is.component" value="true"/> <property name="ivy.enabled" value="true"/> <property name="system.tests" value="true"/> - <condition property="javac.version" value="1.5"> - <available classname="java.lang.Readable"/> - </condition> - <property name="javac.version" value="1.4"/> - <condition property="javac.is.1.4" > - <equals arg1="${javac.version}" arg2="1.4" /> - </condition> - <property name="javac.java.version" value="${javac.version}"/> - <condition property="system.tests.enabled"> - <and> - <istrue value="${system.tests.enabled}"/> - <isset property="java1.5+"/> - </and> - </condition> + <echo message="==================================================================="/> + <echo message="= ${ant.project.name}"/> <!-- Import common stuff --> <import file="../../common.xml"/> - - <!-- ========================================================== --> - <!-- ========================================================== --> - <target name="init" - depends="init-standard-output-dirs,use-smartfrog-tasks,use-smartfrog-testharness"> - <property name="deploy.sf" value="org/smartfrog/services/xml/test/files/deploy.sf"/> - <!-- - <property name="default.ini" location="test/files/default.ini"/> - <property name="default.sf" location="test/files/default.sf"/>--> - <echo message="==================================================================="/> - <echo message="= ${ant.project.name}"/> - </target> <target name="check-versions" depends="init"> @@ -71,22 +47,14 @@ <!-- work out our java version by introspection, fall back to 1.4 if 1.5 is not found --> </target> - <target name="javac.version" depends="check-versions" if="javac.is.1.4"> - <echo level="warning"> - Using Javac version 1.4: the java 1.5 packages will be omitted. - Do not redistribute this build. - </echo> - </target> - - <target name="define-java15-patternsets" depends="check-versions"> + <target name="define-patternsets" depends="check-versions"> <patternset id="source.patternset"> <include name="**/*.java"/> <exclude name="**/NuxBinaryCodec.java" unless="nux.found"/> - <exclude name="**/java5/**/*.java" unless="java1.5+"/> </patternset> </target> - <target name="ready-to-compile" depends="pre-compile,javac.version,define-java15-patternsets"/> + <target name="ready-to-compile" depends="pre-compile,define-patternsets"/> <!-- ========================================================== --> <!-- this is an override @@ -101,8 +69,6 @@ <sf-javac classpathref="compile.classpath" srcdir="${src.dir}" - source="${javac.version}" - target="${javac.version}" destdir="${build.classes.dir}" > <patternset refid="source.patternset" /> @@ -127,7 +93,6 @@ <sf-javadoc destdir="${dist.jdocs.dir}" classpathref="compile.classpath" - source="${javac.version}" > <fileset dir="${src.dir}"> <patternset refid="source.patternset" /> Modified: trunk/core/components/xml/ivy.xml =================================================================== --- trunk/core/components/xml/ivy.xml 2007-11-15 14:20:19 UTC (rev 5496) +++ trunk/core/components/xml/ivy.xml 2007-11-15 15:25:51 UTC (rev 5497) @@ -4,7 +4,10 @@ <info organisation="org.smartfrog" module="sf-xml"> <license name="LGPL"/> <ivyauthor name="Hewlett-Packard" url="http://www.smartfrog.org"/> - <description>XML support by way of Xom</description> + <description>XML support by way of Xom. + This package also includes Xerces and Xalan, for a rounded core XML package. + We don't (yet) include JAXB, though this is an option. + </description> </info> <!-- FIXME: Ivy 1.4.1 buildlist bug <configurations defaultconfmapping="default"> @@ -23,10 +26,11 @@ description="the classpath needed to run tests"/> <conf name="master" description="contains the artifact but no dependencies"/> <conf name="redist" description="redistributals excluding smartfrog artifacts" - extends="parser"/> + extends="parser,xslt"/> <conf name="runtime" description="runtime but not the artifact" extends="redist"/> - <conf name="parser" description="Xerces xml parser for Java1.4"/> + <conf name="parser" description="Xerces XML parser"/> + <conf name="xslt" description="XSLT support"/> <conf name="documentation" description="all documentation artifacts"/> </configurations> @@ -36,6 +40,7 @@ <artifact name="sf-xml-javadocs" conf="documentation" ext="zip"/> <artifact name="sf-xml-documentation" conf="documentation" ext="zip"/> </publications> + <dependencies> <dependency org="org.smartfrog" name="smartfrog" @@ -65,11 +70,16 @@ name="xom" rev="${xom.version}" conf="compile,redist->master"/> - <!-- here jaxen is included, but none of its dependencies--> - <!-- Since Xom1.1, Jaxen is built in to Xom--> -<!-- <dependency org="jaxen" - name="jaxen" - rev="${jaxen.version}" - conf="compile,redist->master"/>--> + <!--xalan is added in here, for efficient XML operations. + The version built in to Java 5 is very memory hungry + --> + <dependency org="xalan" + name="xalan" + rev="${xalan.version}" + conf="compile,xslt->master"/> + <dependency org="jdom" + name="jdom" + rev="${jdom.version}" + conf="compile,redist->master"/> </dependencies> </ivy-module> \ No newline at end of file Modified: trunk/core/components/xml/project-template.pom =================================================================== --- trunk/core/components/xml/project-template.pom 2007-11-15 14:20:19 UTC (rev 5496) +++ trunk/core/components/xml/project-template.pom 2007-11-15 15:25:51 UTC (rev 5497) @@ -18,11 +18,10 @@ <artifactId>sfServices</artifactId> <version>${smartfrog.version}</version> </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging-api</artifactId> - <version>${commons-logging.version}</version> + <groupId>org.smartfrog</groupId> + <artifactId>sf-loggingservices</artifactId> + <version>${smartfrog.version}</version> </dependency> <dependency> <groupId>xerces</groupId> @@ -35,6 +34,16 @@ <version>${xerces.version}</version> </dependency> <dependency> + <groupId>xalan</groupId> + <artifactId>xalan</artifactId> + <version>${xalan.version}</version> + </dependency> + <dependency> + <groupId>jdom</groupId> + <artifactId>jdom</artifactId> + <version>${jdom.version}</version> + </dependency> + <dependency> <groupId>xom</groupId> <artifactId>xom</artifactId> <version>${xom.version}</version> Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java 2007-11-15 14:20:19 UTC (rev 5496) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/utils/XmlCatalogResolver.java 2007-11-15 15:25:51 UTC (rev 5497) @@ -45,7 +45,7 @@ /** * map table */ - protected HashMap mappings; + protected HashMap<String,String> mappings; public XmlCatalogResolver(ResourceLoader loader) { setLoader(loader); @@ -61,11 +61,11 @@ this.loader = loader; } - public HashMap getMappings() { + public HashMap<String, String> getMappings() { return mappings; } - protected void setMappings(HashMap mappings) { + protected void setMappings(HashMap<String, String> mappings) { this.mappings = mappings; } @@ -73,7 +73,7 @@ * reset the resolution table */ public void resetMap() { - setMappings(new HashMap()); + setMappings(new HashMap<String, String>()); } /** @@ -102,11 +102,11 @@ /** * look up a mapping * - * @param uri + * @param uri uri to resolve * @return whatever is registered */ public String lookup(String uri) { - return (String) mappings.get(uri); + return mappings.get(uri); } /** @@ -118,7 +118,7 @@ * encountered. * @return A Source object, or null if the href cannot be resolved, and the * processor should try to resolve the URI itself. - * @throws javax.xml.transform.TransformerException if an error occurs when trying to resolve + * @throws TransformerException if an error occurs when trying to resolve * the URI. */ public Source resolve(String href, String base) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <st...@us...> - 2007-12-11 12:52:47
|
Revision: 5681 http://smartfrog.svn.sourceforge.net/smartfrog/?rev=5681&view=rev Author: steve_l Date: 2007-12-11 04:52:45 -0800 (Tue, 11 Dec 2007) Log Message: ----------- SFOS-579 review the various warnings the IDE is giving about xml components Modified Paths: -------------- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java 2007-12-11 12:52:09 UTC (rev 5680) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/impl/SerializedXomDocument.java 2007-12-11 12:52:45 UTC (rev 5681) @@ -26,7 +26,9 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.io.ObjectStreamException; import java.io.Serializable; +import nu.xom.Element; /** * switchable codec @@ -75,6 +77,11 @@ IOException, ClassNotFoundException { document = codec.readObject(in); } + + private void readObjectNoData() + throws ObjectStreamException { + document=new Document(new Element("root")); + } /** * get the underlying document Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java 2007-12-11 12:52:09 UTC (rev 5680) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java 2007-12-11 12:52:45 UTC (rev 5681) @@ -21,7 +21,6 @@ package org.smartfrog.services.xml.test.system; -import junit.framework.AssertionFailedError; import nu.xom.Builder; import nu.xom.Document; import nu.xom.ParsingException; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <st...@us...> - 2008-03-10 17:19:53
|
Revision: 6141 http://smartfrog.svn.sourceforge.net/smartfrog/?rev=6141&view=rev Author: steve_l Date: 2008-03-10 10:19:51 -0700 (Mon, 10 Mar 2008) Log Message: ----------- SFOS-725 Add component to turn CSV data into XML as part of a workflow Modified Paths: -------------- trunk/core/components/xml/ivy.xml trunk/core/components/xml/src/org/smartfrog/services/xml/io/TuplesToXom.java trunk/core/components/xml/src/org/smartfrog/services/xml/io/components.sf trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java Added Paths: ----------- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/TuplesToXomTest.java trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/components.sf trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testCSVtoXom.sf trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testNamespaceXom.sf trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testTrimmedXom.sf Modified: trunk/core/components/xml/ivy.xml =================================================================== --- trunk/core/components/xml/ivy.xml 2008-03-10 17:18:51 UTC (rev 6140) +++ trunk/core/components/xml/ivy.xml 2008-03-10 17:19:51 UTC (rev 6141) @@ -57,6 +57,11 @@ changing="true" rev="latest.integration" conf="test->default"/> + <dependency org="org.smartfrog" + name="sf-csvfiles" + changing="true" + rev="latest.integration" + conf="test->default"/> <dependency org="xerces" name="xercesImpl" rev="${xerces.version}" Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/io/TuplesToXom.java =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/io/TuplesToXom.java 2008-03-10 17:18:51 UTC (rev 6140) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/io/TuplesToXom.java 2008-03-10 17:19:51 UTC (rev 6141) @@ -34,9 +34,7 @@ import java.util.Vector; /** - * Create a Xom document from a file - * <p/> - * Created: 09-Mar-2008 + * Create a Xom document from a file <p/> Created: 09-Mar-2008 */ public class TuplesToXom extends AbstractXomFileWriter implements FileIntf { @@ -51,17 +49,19 @@ private boolean skipEmptyFields; public static final String ATTR_SKIP_EMPTY_FIELDS = "skipEmptyFields"; public static final String ATTR_SOURCE = "source"; + public static final String ATTR_TRIM = "trim"; private TupleReader reader; + private boolean trim; public TuplesToXom() throws RemoteException { } /** - * Can be called to start components. Subclasses should override to provide - * functionality Do not block in this call, but spawn off any main loops! + * Can be called to start components. Subclasses should override to provide functionality Do not block in this call, + * but spawn off any main loops! * * @throws SmartFrogException failure while starting - * @throws RemoteException In case of network/rmi error + * @throws RemoteException In case of network/rmi error */ public synchronized void sfStart() throws SmartFrogException, RemoteException { super.sfStart(); @@ -73,12 +73,14 @@ this, new Reference(ATTR_FIELD_NAMES) , true); - skipEmptyFields = sfResolve(ATTR_SKIP_EMPTY_FIELDS,false,true); + skipEmptyFields = sfResolve(ATTR_SKIP_EMPTY_FIELDS, false, true); + trim = sfResolve(ATTR_TRIM, false, true); Element rootelt = new Element(root, namespaceURI); Document doc = new Document(rootelt); document = new SerializedXomDocument(doc); TupleDataSource source = (TupleDataSource) sfResolve(ATTR_SOURCE, (Prim) null, true); reader = new TupleReader(source); + reader.start(); } Document getDocument() { @@ -101,27 +103,30 @@ * * @param line line to process * @throws SmartFrogException SmartFrog problems - * @throws RemoteException network problems + * @throws RemoteException network problems */ @Override protected void processOneLine(String[] line) throws SmartFrogException, RemoteException { - Element element=new Element(elementName, namespaceURI); + Element element = new Element(elementName, namespaceURI); try { - for(int i=0;i<line.length;i++) { - String field=line[i]; - String name= fieldNames.get(i); - if(field.length()==0 && skipEmptyFields) { + for (int i = 0; i < line.length; i++) { + String field = line[i]; + if (trim) { + field = field.trim(); + } + String name = fieldNames.get(i); + if (field.length() == 0 && skipEmptyFields) { continue; } - Element fieldElement=new Element(name, namespaceURI); + Element fieldElement = new Element(name, namespaceURI); fieldElement.appendChild(field); element.appendChild(fieldElement); } getRootNode().appendChild(element); } catch (ArrayIndexOutOfBoundsException e) { sfLog().debug(e); - throw new SmartFrogException("Line "+ getCurrentLine()+" is wider than the" - + ATTR_FIELD_NAMES+" list", + throw new SmartFrogException("Line " + getCurrentLine() + " is wider than the" + + ATTR_FIELD_NAMES + " list", TuplesToXom.this); } } @@ -130,10 +135,13 @@ * our work is done, let's write it out * * @throws SmartFrogException SmartFrog problems - * @throws RemoteException network problems + * @throws RemoteException network problems */ @Override protected void onFinished() throws SmartFrogException, RemoteException { + if (sfLog().isInfoEnabled()) { + sfLog().info("Writing to " + getFile()); + } writeDocumentToFile(getDocument()); } } Modified: trunk/core/components/xml/src/org/smartfrog/services/xml/io/components.sf =================================================================== --- trunk/core/components/xml/src/org/smartfrog/services/xml/io/components.sf 2008-03-10 17:18:51 UTC (rev 6140) +++ trunk/core/components/xml/src/org/smartfrog/services/xml/io/components.sf 2008-03-10 17:19:51 UTC (rev 6141) @@ -18,7 +18,7 @@ */ - #include "/org/smartfrog/services/filesystem/components.sf" +#include "/org/smartfrog/services/filesystem/components.sf" AbstractXomFileWriter extends WorkflowPrim { @@ -33,12 +33,11 @@ source TBD; namespaceURI ""; skipEmptyFields false; + trim false; //root element name //if you want namespaces, include the prefix. e.g. foo:root root "root"; element "element"; //list of the names of the elements of each entry in the tuple fieldNames []; - - } \ No newline at end of file Modified: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java 2008-03-10 17:18:51 UTC (rev 6140) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/XmlTestBase.java 2008-03-10 17:19:51 UTC (rev 6141) @@ -28,7 +28,7 @@ import org.smartfrog.services.xml.utils.ParserHelper; import org.smartfrog.sfcore.common.SmartFrogResolutionException; import org.smartfrog.sfcore.prim.Prim; -import org.smartfrog.test.SmartFrogTestBase; +import org.smartfrog.test.DeployingTestBase; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; @@ -39,7 +39,7 @@ /** * base class for tests; currently extends the smartfrog testbase */ -public abstract class XmlTestBase extends SmartFrogTestBase { +public abstract class XmlTestBase extends DeployingTestBase { public static final String CODEBASE_PROPERTY = "org.smartfrog.codebase"; @@ -48,25 +48,17 @@ */ public static final String ATTR_XML = "xml"; - /** - * Node of any deployed application - */ - private Prim application; - protected XmlTestBase(String name) { super(name); } /** - * location for files. - * {@value} - * + * location for files. {@value} */ public static final String FILE_BASE = "/org/smartfrog/services/xml/test/files/"; /** - * Sets up the fixture, for example, open a network connection. This method - * is called before a test is executed. + * Sets up the fixture, for example, open a network connection. This method is called before a test is executed. */ protected void setUp() throws Exception { super.setUp(); @@ -75,23 +67,14 @@ /** - * Tears down the fixture, for example, close a network connection. This - * method is called after a test is executed. - */ - protected void tearDown() throws Exception { - super.tearDown(); - //terminate the node if it is not null. - terminateApplication(application); - } - - /** * Deploy an XML node + * * @param url * @param appName * @return * @throws Throwable */ - public XmlNode deployXmlNode(String url,String appName) throws Throwable { + public XmlNode deployXmlNode(String url, String appName) throws Throwable { Prim prim = deployApplication2(url, appName); try { return (XmlNode) prim; @@ -103,6 +86,7 @@ /** * Deploy an application. + * * @param url * @param appName * @return @@ -110,43 +94,36 @@ */ protected Prim deployApplication2(String url, String appName) throws Throwable { - Prim prim = deployExpectingSuccess(url, appName); - application = prim; - return prim; + return application = deployExpectingSuccess(url, appName); } /** - * Get the deployed application, or null - * @return application, if deployed - */ - public Prim getApplication() { - return application; - } - - /** * Get the application (if deployed) as an XML Node (if it is one) + * * @return the application or null * @throws ClassCastException if the app doesn't implement XmlNode */ public XmlNode getApplicationAsNode() { - if(application==null) { + if (application == null) { return null; } - return (XmlNode)application; + return (XmlNode) application; } /** * terminate a deployed app of type xmlnode. no-op if null + * * @param node node to terminate * @throws RemoteException */ protected void terminateNode(XmlNode node) throws RemoteException { - terminateApplication((Prim)node); + terminateApplication((Prim) node); } /** * load an XML File - * @param file file to load + * + * @param file file to load * @param validate flag to ask for a validating parser * @return the loaded document. * @throws SAXException @@ -155,7 +132,7 @@ */ public Document loadXMLFile(File file, boolean validate) throws SAXException, ParsingException, IOException { - XMLReader xmlParser = ParserHelper.createXmlParser(validate,true,false); + XMLReader xmlParser = ParserHelper.createXmlParser(validate, true, false); Builder builder = new Builder(xmlParser, validate); Document document = builder.build(file); return document; @@ -164,14 +141,15 @@ /** * resolve the xmlnode name {@link #ATTR_XML} in the application + * * @return the resolved node * @throws SmartFrogResolutionException * @throws RemoteException - * @throws AssertionFailedError if the application is null + * @throws AssertionFailedError if the application is null */ protected XmlNode resolveXmlNode() throws SmartFrogResolutionException, RemoteException { assertNotNull(getApplication()); - return (XmlNode) getApplication().sfResolve(ATTR_XML,(Prim)null,true); + return (XmlNode) getApplication().sfResolve(ATTR_XML, (Prim) null, true); } } Added: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/TuplesToXomTest.java =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/TuplesToXomTest.java (rev 0) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/TuplesToXomTest.java 2008-03-10 17:19:51 UTC (rev 6141) @@ -0,0 +1,52 @@ +/* (C) Copyright 2008 Hewlett-Packard Development Company, LP + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +For more information: www.smartfrog.org + +*/ +package org.smartfrog.services.xml.test.system.io; + +import org.smartfrog.test.DeployingTestBase; + +/** + * + * Created 10-Mar-2008 16:52:14 + * + */ + +public class TuplesToXomTest extends DeployingTestBase { + + public static final String PACKAGE="/org/smartfrog/services/xml/test/system/io/"; + + public TuplesToXomTest(String name) { + super(name); + } + + public void testCSVtoXom() throws Throwable { + expectSuccessfulTestRun(PACKAGE, "testCSVtoXom"); + + } + public void testNamespaceXom() throws Throwable { + expectSuccessfulTestRun(PACKAGE, "testNamespaceXom"); + } + + public void testTrimmedXom() throws Throwable { + expectSuccessfulTestRun(PACKAGE, "testTrimmedXom"); + } + + + +} Added: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/components.sf =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/components.sf (rev 0) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/components.sf 2008-03-10 17:19:51 UTC (rev 6141) @@ -0,0 +1,91 @@ +/* (C) Copyright 2008 Hewlett-Packard Development Company, LP + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +For more information: www.smartfrog.org + +*/ +#include "/org/smartfrog/services/assertions/components.sf" +#include "/org/smartfrog/services/xml/io/components.sf" +#include "/org/smartfrog/services/filesystem/csvfiles/components.sf" + + + +SourceCSVFile extends TempFileWithCleanup { + text ##"h1","h2","h3","h4" +"l1e1","",",","e4 " +" l2e1 ","l2 e2","l2'e3,","l2;e4" +this,line,"has, less",spaces +#; +} + + +CSVTest extends ExpectDeploy { + description "test that uses a CSV file"; + + action extends Compound { + + sourceFile SourceCSVFile; + + destFile extends TempFile { + suffix ".xml"; + } + + //the reader + reader extends CSVFileToRead { + filename LAZY sourceFile; + } + + + } + + tests extends Sequence { + + + } +} + +testCSVtoXom extends CSVTest { + tests extends Sequence { + xom extends TuplesToXom { + source LAZY action:reader; + filename LAZY action:destFile; + fieldNames ["name","address","email","tel"]; + indent 2; + maxLength 100; + root "contacts"; + element "address"; + sfShouldTerminate true; + } + + xomMustExist extends FileMustExist { + filename LAZY action:destFile; + sfShouldTerminate true; + } + + } + +} + + +testNamespaceXom extends testCSVtoXom { + tests:xom:namespaceURI "http://example.org"; + root "ex:contacts"; +} + + +testTrimmedXom extends testNamespaceXom { + tests:xom:trim true; +} \ No newline at end of file Added: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testCSVtoXom.sf =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testCSVtoXom.sf (rev 0) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testCSVtoXom.sf 2008-03-10 17:19:51 UTC (rev 6141) @@ -0,0 +1,24 @@ +/* (C) Copyright 2008 Hewlett-Packard Development Company, LP + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +For more information: www.smartfrog.org + +*/ +#include "/org/smartfrog/services/xml/test/system/io/components.sf" + +sfConfig extends testCSVtoXom { + +} Added: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testNamespaceXom.sf =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testNamespaceXom.sf (rev 0) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testNamespaceXom.sf 2008-03-10 17:19:51 UTC (rev 6141) @@ -0,0 +1,24 @@ +/* (C) Copyright 2008 Hewlett-Packard Development Company, LP + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +For more information: www.smartfrog.org + +*/ +#include "/org/smartfrog/services/xml/test/system/io/components.sf" + +sfConfig extends testNamespaceXom { + +} Added: trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testTrimmedXom.sf =================================================================== --- trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testTrimmedXom.sf (rev 0) +++ trunk/core/components/xml/test/org/smartfrog/services/xml/test/system/io/testTrimmedXom.sf 2008-03-10 17:19:51 UTC (rev 6141) @@ -0,0 +1,24 @@ +/* (C) Copyright 2008 Hewlett-Packard Development Company, LP + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +For more information: www.smartfrog.org + +*/ +#include "/org/smartfrog/services/xml/test/system/io/components.sf" + +sfConfig extends testTrimmedXom { + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |