From nopushneva at pub.open-bio.org Mon Nov 1 14:16:32 2004 From: nopushneva at pub.open-bio.org (Nina Opushneva) Date: Mon Nov 1 13:45:49 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411011916.iA1JGWsC017573@pub.open-bio.org> nopushneva Mon Nov 1 14:16:28 EST 2004 Update of /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib In directory pub.open-bio.org:/tmp/cvs-serv17507 Added Files: activation.jar commons-logging.jar icu4j.jar jakarta-oro-2.0.5.jar jdom.jar jena.jar junit.jar log4j-1.2.4.jar mail.jar rdf-api-2001-01-19.jar xercesImpl.jar xml-apis.jar Log Message: The temporary restore moby-live/Agents/MOBY-S/RDFAgent/lib activation.jar,1.2,1.3 commons-logging.jar,1.2,1.3 icu4j.jar,1.2,1.3 jakarta-oro-2.0.5.jar,1.2,1.3 jdom.jar,1.2,1.3 jena.jar,1.2,1.3 junit.jar,1.2,1.3 log4j-1.2.4.jar,NONE,1.1 mail.jar,1.2,1.3 rdf-api-2001-01-19.jar,1.2,1.3 xercesImpl.jar,1.2,1.3 xml-apis.jar,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 Binary files /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar 2004/10/19 00:10:04 1.2 and /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar 2004/11/01 19:16:26 1.3 differ rcsdiff: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar: diff failed =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/commons-logging.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/icu4j.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jakarta-oro-2.0.5.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 Binary files /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar 2004/10/19 00:10:05 1.2 and /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar 2004/11/01 19:16:26 1.3 differ rcsdiff: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar: diff failed =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jena.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/junit.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/mail.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/rdf-api-2001-01-19.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/xercesImpl.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/xml-apis.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 From nopushneva at pub.open-bio.org Mon Nov 1 14:21:42 2004 From: nopushneva at pub.open-bio.org (Nina Opushneva) Date: Mon Nov 1 13:50:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411011921.iA1JLgjh017640@pub.open-bio.org> nopushneva Mon Nov 1 14:21:42 EST 2004 Update of /home/repository/moby/moby-live/Java In directory pub.open-bio.org:/tmp/cvs-serv17614 Modified Files: build.xml Log Message: add target for building RDFagent files moby-live/Java build.xml,1.8,1.9 =================================================================== RCS file: /home/repository/moby/moby-live/Java/build.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Java/build.xml 2004/10/18 14:35:05 1.8 +++ /home/repository/moby/moby-live/Java/build.xml 2004/11/01 19:21:42 1.9 @@ -31,7 +31,7 @@ - + @@ -42,6 +42,7 @@ + @@ -65,7 +66,8 @@ - + + @@ -104,6 +106,8 @@ + + @@ -176,6 +180,7 @@ + @@ -193,7 +198,7 @@ - + @@ -212,6 +217,7 @@ + @@ -388,6 +394,28 @@ + + + + + + + + + + + + + + + + + + + + + @@ -431,8 +459,53 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From gss at pub.open-bio.org Thu Nov 4 17:21:20 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:50:18 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042221.iA4MLKue031258@pub.open-bio.org> gss Thu Nov 4 17:21:20 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv31225/src/org/smoby/graph/tools Modified Files: MOBYProviderXMLGenerator.java MOBYProviderVisitor.java MOBYProviderTraverser.java Added Files: MOBYProviderVisitorAdapter.java Log Message: Experimental package moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools MOBYProviderVisitorAdapter.java,NONE,1.1 MOBYProviderXMLGenerator.java,1.1,1.2 MOBYProviderVisitor.java,1.1,1.2 MOBYProviderTraverser.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java 2004/11/04 22:21:19 1.2 @@ -1,6 +1,7 @@ package org.smoby.graph.tools; import org.smoby.graph.*; + import java.io.*; public class MOBYProviderXMLGenerator implements MOBYProviderVisitor @@ -45,11 +46,11 @@ } public boolean visitGraphBegin(MOBYGraph graph) { - return start("graph", null, false); + return start("moby-graph", null, false); } public void visitGraphEnd(MOBYGraph graph) { - end("graph"); + end("moby-graph"); } public boolean visitHasMappingBegin(MOBYGraphNode graphNode) { @@ -159,4 +160,18 @@ { currentIndent -= 4; } + + public boolean visitSubjectPropValStmtsBegin(MOBYCollection stmts) throws MOBYProviderTraversalException { + return false; + } + + public void visitSubjectPropValStmtsEnd(MOBYCollection stmts) throws MOBYProviderTraversalException { + } + + public boolean visitSubjectPropValStmtBegin(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException { + return false; + } + + public void visitSubjectPropValStmtEnd(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException { + } } =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java 2004/11/04 22:21:19 1.2 @@ -8,41 +8,48 @@ // public boolean visitProviderBegin(MOBYProvider provider) throws MOBYProviderTraversalException; - public void visitProviderEnd(MOBYProvider provider); + public void visitProviderEnd(MOBYProvider provider) + throws MOBYProviderTraversalException; // Visitation of the collection of things the provider operates on // public boolean visitOperatesOnBegin(MOBYCollection subgraphs) throws MOBYProviderTraversalException; - public void visitOperatesOnEnd(MOBYCollection subgraphs); + public void visitOperatesOnEnd(MOBYCollection subgraphs) + throws MOBYProviderTraversalException; // Visitation of an operatesOn subgraph // public boolean visitGraphBegin(MOBYGraph graph) throws MOBYProviderTraversalException; - public void visitGraphEnd(MOBYGraph graph); + public void visitGraphEnd(MOBYGraph graph) + throws MOBYProviderTraversalException; // Visitation of a hasMapping // public boolean visitHasMappingBegin(MOBYGraphNode graphNode) throws MOBYProviderTraversalException; - public void visitHasMappingEnd(MOBYGraphNode graphNode); + public void visitHasMappingEnd(MOBYGraphNode graphNode) + throws MOBYProviderTraversalException; // Visitation of a subject // public boolean visitSubjectBegin(MOBYSubject subject) throws MOBYProviderTraversalException; - public void visitSubjectEnd(MOBYSubject subject); + public void visitSubjectEnd(MOBYSubject subject) + throws MOBYProviderTraversalException; // Visitation of a set of property value statements // - public boolean visitPropValStmtsBegin(MOBYCollection stmts) + public boolean visitSubjectPropValStmtsBegin(MOBYCollection stmts) + throws MOBYProviderTraversalException; + public void visitSubjectPropValStmtsEnd(MOBYCollection stmts) throws MOBYProviderTraversalException; - public void visitPropValStmtsEnd(MOBYCollection stmts); // Visitation of a given property value statement // - public boolean visitPropValStmtBegin(MOBYPropertyValueStatement stmt) + public boolean visitSubjectPropValStmtBegin(MOBYPropertyValueStatement stmt) + throws MOBYProviderTraversalException; + public void visitSubjectPropValStmtEnd(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException; - public void visitPropValStmtEnd(MOBYPropertyValueStatement stmt); } =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java 2004/11/04 22:21:19 1.2 @@ -7,6 +7,13 @@ public class MOBYProviderTraverser { + public void traverse(MOBYProvider provider, MOBYProviderVisitor visitor) + { + try { + traverse(provider, visitor, false); + } catch (MOBYProviderTraversalException e) {} + } + /** * Traverse the given provider, visiting its components with the * given visitor. @@ -16,7 +23,9 @@ * @return whether or not the visitor said to stop before the * entire provider graph was traversed */ - private void traverse(MOBYProvider provider, MOBYProviderVisitor visitor) + public void traverse(MOBYProvider provider, MOBYProviderVisitor visitor, + boolean rethrowExceptions) + throws MOBYProviderTraversalException { try { @@ -54,7 +63,12 @@ } // Visitors indicate that traversal should stop by throwing // provider traversal exceptions. - catch (MOBYProviderTraversalException e) {} + catch (MOBYProviderTraversalException e) + { + if (rethrowExceptions) { + throw e; + } + } } /** @@ -96,7 +110,7 @@ if (keepGoing) { MOBYCollection coll = subject.getPropertyValueStatements(); - keepGoing = visitor.visitPropValStmtsBegin(coll); + keepGoing = visitor.visitSubjectPropValStmtsBegin(coll); if (keepGoing) { Iterator it = subject.getPropertyValueStatements().iterator(); @@ -104,12 +118,12 @@ { MOBYPropertyValueStatement stmt = (MOBYPropertyValueStatement) it.next(); - if (visitor.visitPropValStmtBegin(stmt)) { - visitor.visitPropValStmtEnd(stmt); + if (visitor.visitSubjectPropValStmtBegin(stmt)) { + visitor.visitSubjectPropValStmtEnd(stmt); } } } - visitor.visitPropValStmtsEnd(coll); + visitor.visitSubjectPropValStmtsEnd(coll); } if (keepGoing) @@ -140,15 +154,15 @@ return keepGoing; } - public static void main(String[] args) throws Exception - { - File f = new File("get-individuals.n3"); - Parser parser = Parser.forN3File(f); - MOBYProvider provider = parser.parseProvider(); - - MOBYProviderTraverser traverser = new MOBYProviderTraverser(); - MOBYProviderXMLGenerator printer = new MOBYProviderXMLGenerator(); - - traverser.traverse(provider, printer); - } +// public static void main(String[] args) throws Exception +// { +// File f = new File("get-individuals.n3"); +// Parser parser = Parser.forN3File(f); +// MOBYProvider provider = parser.parseProvider(); +// +// MOBYProviderTraverser traverser = new MOBYProviderTraverser(); +// MOBYProviderXMLGenerator printer = new MOBYProviderXMLGenerator(); +// +// traverser.traverse(provider, printer); +// } } From gss at pub.open-bio.org Thu Nov 4 17:22:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:51:24 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042222.iA4MMT1F031299@pub.open-bio.org> gss Thu Nov 4 17:22:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv31274/src/org/smoby/http Modified Files: HTTPRequest.java Log Message: Misc fixes moby-live/S-MOBY/ref-impl/core/src/org/smoby/http HTTPRequest.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java 2004/05/24 22:05:35 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java 2004/11/04 22:22:29 1.2 @@ -16,18 +16,21 @@ public class HTTPRequest { /** - * Constant meaning to use HTTP GET as the method for communicating - * with the registration server. + * Constant meaning to use HTTP GET as the method */ public final static int HTTP_GET = 0; /** - * Constant meaning to use HTTP POST as the method for communicating - * with the registration server. + * Constant meaning to use HTTP POST as the method */ public final static int HTTP_POST = 1; /** + * Constant meaning to use HTTP HEAD as the method + */ + public final static int HTTP_HEAD = 2; + + /** * The URL of the server to be contacted */ private String serverURL = null; @@ -63,6 +66,11 @@ return new HTTPRequest(serverURL, HTTP_POST); } + public static HTTPRequest newHeadRequest(String uri) + { + return new HTTPRequest(uri, HTTP_HEAD); + } + public void addParameter(String paramName, String paramValue) { params.add(new NameValuePair(paramName, paramValue)); @@ -97,20 +105,27 @@ { HttpMethod methodObject = null; - if (method == HTTP_GET) { - methodObject = new GetMethod(getURLString()); - } - else if (method == HTTP_POST) - { - methodObject = new PostMethod(getURLString()); - NameValuePair[] paramArray = new NameValuePair[params.size()]; - Iterator it = params.iterator(); - for (int i = 0; i < paramArray.length; i++) - { - paramArray[i] = (NameValuePair) it.next(); - } - ((PostMethod) methodObject).setRequestBody(paramArray); - } + switch (method) + { + case HTTP_GET : + methodObject = new GetMethod(getURLString()); + break; + + case HTTP_POST : + methodObject = new PostMethod(getURLString()); + NameValuePair[] paramArray = new NameValuePair[params.size()]; + Iterator it = params.iterator(); + for (int i = 0; i < paramArray.length; i++) + { + paramArray[i] = (NameValuePair) it.next(); + } + ((PostMethod) methodObject).setRequestBody(paramArray); + break; + + case HTTP_HEAD : + methodObject = new HeadMethod(getURLString()); + break; + } // Add request headers to the method // @@ -136,8 +151,8 @@ try { methodObject.getResponseBodyAsString(); - } catch (IOException e) { - throw new HTTPException("Couldn't get response body", e); + } catch (Throwable t) { + throw new HTTPException("Couldn't get response body", t); } methodObject.releaseConnection(); From gss at pub.open-bio.org Thu Nov 4 17:23:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:52:06 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042223.iA4MNAFp031337@pub.open-bio.org> gss Thu Nov 4 17:23:10 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser In directory pub.open-bio.org:/tmp/cvs-serv31312/src/org/smoby/parser Modified Files: Parser.java Log Message: Misc moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser Parser.java,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java 2004/07/29 23:35:09 1.7 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java 2004/11/04 22:23:10 1.8 @@ -34,6 +34,12 @@ * plus all statements that are reachable from it. */ private List subModels = new ArrayList(); + + /** + * A map relating a property's URI to an Inference model derived from + * its base model + */ + private Map cachedPropertyModels = new HashMap(); /** * Create and return a parser for parsing an N3 file @@ -426,13 +432,20 @@ */ private InfModel getPropertyModel(Property p) { - Model model = ModelRetriever.retrieveModel(p.getURI()); + InfModel cachedModel = (InfModel) + cachedPropertyModels.get(p.getURI()); - if (model == null) { - return null; - } else { - return ModelFactory.createRDFSModel(model); + if (cachedModel == null) + { + Model model = ModelRetriever.retrieveModel(p.getURI()); + + if (model != null) + { + cachedModel = ModelFactory.createRDFSModel(model); + cachedPropertyModels.put(p.getURI(), cachedModel); + } } + return cachedModel; } /** From gss at pub.open-bio.org Thu Nov 4 17:23:34 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:52:30 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042223.iA4MNYSr031375@pub.open-bio.org> gss Thu Nov 4 17:23:33 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv31350/src/org/smoby/servlet Modified Files: AbstractMobyServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet AbstractMobyServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java 2004/05/24 22:05:34 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java 2004/11/04 22:23:33 1.2 @@ -100,10 +100,11 @@ try { - // Read the invocation graph from the "graph" parameter - // and parse it into a MOBYGraph object + // Read the invocation graph from the MOBY.GRAPH_PARAMETER_NAME + // parameter and parse it into a MOBYGraph object // - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Parser parser = Parser.forString( graphString, Parser.LANGUAGE_RDF_XML); MOBYProvider provider = parser.parseProvider(); From gss at pub.open-bio.org Thu Nov 4 17:25:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:54:24 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042225.iA4MPUr5031418@pub.open-bio.org> gss Thu Nov 4 17:25:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv31393/src/org/smoby/vocabulary Modified Files: MOBY.java Log Message: Added properties for inputURI and outputURI moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary MOBY.java,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java 2004/07/19 21:22:09 1.6 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java 2004/11/04 22:25:30 1.7 @@ -7,6 +7,14 @@ { public final static String IF_MODIFIED_HEADER = "If-Modified-Since"; public final static String LAST_MODIFIED_HEADER = "Last-Modified"; + + /** + * When doing an HTTP POST to a Semantic MOBY provider (i.e. + * engaging the provider), the graph that the provider is to + * operate on is stored in a parameter with this name, whose + * value is a serialized RDF/XML graph. + */ + public final static String GRAPH_PARAMETER_NAME = "graph"; public static String getURI() { @@ -31,6 +39,8 @@ public static final Property name = property(getURI(), "name"); public static final Property oneLineDescription = property(getURI(), "oneLineDescription"); public static final Property aboutURI = property(getURI(), "aboutURI"); + public static final Property inputURI = property(getURI(), "inputURI"); + public static final Property outputURI = property(getURI(), "outputURI"); public static final Property operatesOn = property(getURI(), "operatesOn"); public static final Property hasMapping = property(getURI(), "hasMapping"); public static final Property mapsTo = property(getURI(), "mapsTo"); From gss at pub.open-bio.org Thu Nov 4 17:26:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:55:43 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042226.iA4MQmeQ031460@pub.open-bio.org> gss Thu Nov 4 17:26:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp In directory pub.open-bio.org:/tmp/cvs-serv31436/WebRoot/jsp Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:26:49 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:55:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042226.iA4MQnG3031494@pub.open-bio.org> gss Thu Nov 4 17:26:49 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp In directory pub.open-bio.org:/tmp/cvs-serv31473/WebRoot/jsp Added Files: display.jsp display-redirector.jsp Log Message: Utility JSPs moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp display.jsp,NONE,1.1 display-redirector.jsp,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:27:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:56:37 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042227.iA4MRgnl031548@pub.open-bio.org> gss Thu Nov 4 17:27:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv31523/WebRoot Modified Files: index.html Log Message: Added text to enter * for all providers moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot index.html,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/07/21 22:35:25 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/04 22:27:42 1.4 @@ -24,7 +24,11 @@
Type any terms into the boxes above and press Search
-(for example type 'hello' (without quotes) into the Provider box) +(for example type 'hello' (without quotes) into the Provider field, +
+or to see all providers, type just an asterisk (*) into the +
+Provider field and leave the other fields blank)

@@ -54,6 +58,7 @@
+ From gss at pub.open-bio.org Thu Nov 4 17:28:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:56:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MS2bq031582@pub.open-bio.org> gss Thu Nov 4 17:28:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello In directory pub.open-bio.org:/tmp/cvs-serv31553/WebRoot/examples/hello Modified Files: hello-world.n3 hello-world.rdf Log Message: Added inputURI and outputURI moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello hello-world.n3,1.2,1.3 hello-world.rdf,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3 2004/11/04 22:28:02 1.3 @@ -10,6 +10,7 @@ a moby:Provider, exterms:GreetingProvider ; moby:name "Semantic MOBY Hello World provider" ; moby:oneLineDescription "Simple example of a Semantic MOBY provider" ; + moby:outputURI "http://www.semanticmoby.org/examples/display-hello-world-results" ; moby:operatesOn [ a moby:Graph ; moby:hasMapping [ =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf 2004/11/04 22:28:02 1.3 @@ -8,21 +8,22 @@ xmlns:moby="http://www.semanticmoby.org/ontologies/core/" > + http://www.semanticmoby.org/examples/display-hello-world-results Simple example of a Semantic MOBY provider Semantic MOBY Hello World provider - - - - - + + + + + - + \ No newline at end of file From gss at pub.open-bio.org Thu Nov 4 17:28:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:57:39 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSjS8031611@pub.open-bio.org> gss Thu Nov 4 17:28:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv31587/src/org/smoby/ref/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:28:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:57:40 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSjM1031629@pub.open-bio.org> gss Thu Nov 4 17:28:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv31587/src/org/smoby/ref/vocabulary/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:28:47 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:57:43 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSluQ031666@pub.open-bio.org> gss Thu Nov 4 17:28:47 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv31645/src/org/smoby/ref/vocabulary/example Added Files: Hello.java Log Message: Vocabulary for Hello World provider moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example Hello.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:30:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:59:41 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUjj7031721@pub.open-bio.org> gss Thu Nov 4 17:30:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv31697/WebRoot/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:30:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:59:42 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUjsh031739@pub.open-bio.org> gss Thu Nov 4 17:30:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images In directory pub.open-bio.org:/tmp/cvs-serv31697/WebRoot/meeting/images Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:30:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:59:45 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUmEG031799@pub.open-bio.org> gss Thu Nov 4 17:30:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images In directory pub.open-bio.org:/tmp/cvs-serv31763/WebRoot/meeting/images Added Files: moby.png ncgr.png Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images moby.png,NONE,1.1 ncgr.png,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:30:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 16:59:45 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUmLN031784@pub.open-bio.org> gss Thu Nov 4 17:30:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv31763/WebRoot/meeting Added Files: index.html missing-fields.jsp registration-form.html registration-confirmation.jsp lodging.html shuttles.html Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting index.html,NONE,1.1 missing-fields.jsp,NONE,1.1 registration-form.html,NONE,1.1 registration-confirmation.jsp,NONE,1.1 lodging.html,NONE,1.1 shuttles.html,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:31:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:00:32 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042231.iA4MVa0L031864@pub.open-bio.org> gss Thu Nov 4 17:31:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org In directory pub.open-bio.org:/tmp/cvs-serv31831 Modified Files: .project .mymetadata .classpath Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org .project,1.1,1.2 .mymetadata,1.2,1.3 .classpath,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project 2004/11/04 22:31:36 1.2 @@ -35,6 +35,16 @@ + + com.ibm.etools.validation.validationbuilder + + + + + com.ibm.sse.model.structuredbuilder + + + com.genuitec.eclipse.ast.deploy.core.deploymentnature =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata 2004/07/21 22:00:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata 2004/11/04 22:31:36 1.3 @@ -1,8 +1,13 @@ - - - - + + + + + =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/04 22:31:36 1.2 @@ -3,20 +3,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + From gss at pub.open-bio.org Thu Nov 4 17:32:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:01:04 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MW52U031902@pub.open-bio.org> gss Thu Nov 4 17:32:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv31877/WebRoot/WEB-INF Modified Files: web.xml Log Message: Added misc. servlets moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF web.xml,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml 2004/11/04 22:32:05 1.3 @@ -10,6 +10,13 @@ + DiscoveryServlet + find-providers + Discovery servlet + org.smoby.ref.servlets.DiscoveryServlet + + + KeywordSearchServlet keyword-search Keyword search servlet @@ -24,11 +31,25 @@ + ResultsDisplayServlet + display-results + Results display servlet + org.smoby.ref.servlets.ResultsDisplayServlet + + + HelloWorldServlet hello-world Hello World simple application org.smoby.ref.servlets.example.HelloWorldServlet + + + HelloWorldDisplayServlet + hello-world-display + Servlet to display results of invocation of hello-world application + org.smoby.ref.servlets.example.HelloWorldDisplayServlet + GraphConversionServlet @@ -58,6 +79,13 @@ org.smoby.ref.servlets.dev.MOBYGraphValidationServlet + + MeetingRegistrationServlet + Meeting Registration Servlet + Respond to registration form submission + org.smoby.meeting.MeetingRegistrationServlet + + @@ -71,16 +99,31 @@ + DiscoveryServlet + /find-providers + + + ProviderEngagementServlet /engage-provider + ResultsDisplayServlet + /display-results + + + HelloWorldServlet /examples/hello-world + HelloWorldDisplayServlet + /examples/display-hello-world-results + + + GraphConversionServlet /dev/convert-graph @@ -100,4 +143,9 @@ /dev/validate-canonical-graph + + MeetingRegistrationServlet + /meeting/register + + From gss at pub.open-bio.org Thu Nov 4 17:32:20 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:01:16 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MWKrg031931@pub.open-bio.org> gss Thu Nov 4 17:32:20 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv31907/src/org/smoby/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:32:22 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:01:18 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MWM04031965@pub.open-bio.org> gss Thu Nov 4 17:32:21 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv31944/src/org/smoby/meeting Added Files: MeetingRegistrationServlet.java Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting MeetingRegistrationServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:33:03 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:02:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MX3FB032003@pub.open-bio.org> gss Thu Nov 4 17:33:03 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv31978/src/org/smoby/ref/servlets Modified Files: BaseServlet.java Log Message: Added doc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets BaseServlet.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java 2004/07/21 22:01:19 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java 2004/11/04 22:33:03 1.3 @@ -1,17 +1,16 @@ package org.smoby.ref.servlets; import java.io.*; -import java.util.Hashtable; - +import java.util.*; import javax.servlet.*; import javax.servlet.http.*; - import org.smoby.ref.tools.*; import org.smoby.servlet.*; import org.apache.log4j.*; /** - * A common base class for MOBY servlets + * A common base class for servlets that are part of the + * Semantic MOBY site itself. */ public abstract class BaseServlet extends HttpServlet { @@ -50,12 +49,22 @@ } } - protected void startHTML(HttpServletResponse response, PrintStream out) + /** + * Write a standard batch of HTML, including the Semantic + * MOBY logo. + * @param response the servlet response object + * @param title the title to use for the browser page + * @param out print stream to which HTML should be written + */ + protected void startHTML(HttpServletResponse response, + String title, PrintStream out) { response.setContentType("text/html"); out.println(""); out.println(""); - out.println("Semantic MOBY search results"); + out.print(""); + out.print(title); + out.println(""); out.println(""); out.println("
"); out.println("

"); @@ -71,7 +80,11 @@ out.println(""); } - protected void finishHTML(HttpServletResponse response, PrintStream out) + /** + * Write a closing batch of HTML to match what was written by + * the startHTML() method + */ + protected void finishHTML(PrintStream out) { out.println(""); out.println(""); From gss at pub.open-bio.org Thu Nov 4 17:33:26 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:02:43 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MXQ2d032051@pub.open-bio.org> gss Thu Nov 4 17:33:26 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32026/src/org/smoby/ref/servlets Modified Files: DiscoveryServlet.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets DiscoveryServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java 2004/11/04 22:33:26 1.2 @@ -1,9 +1,9 @@ package org.smoby.ref.servlets; +import org.smoby.ref.tools.*; import org.smoby.servlet.*; import org.smoby.graph.*; import org.smoby.parser.*; -import org.smoby.ref.tools.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.rdql.*; import java.io.*; From gss at pub.open-bio.org Thu Nov 4 17:33:50 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:02:53 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MXoP7032089@pub.open-bio.org> gss Thu Nov 4 17:33:50 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32064/src/org/smoby/ref/servlets Modified Files: KeywordSearchServlet.java Log Message: Added doc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets KeywordSearchServlet.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java 2004/07/21 22:35:25 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java 2004/11/04 22:33:50 1.4 @@ -6,9 +6,29 @@ import javax.servlet.http.*; import org.smoby.graph.*; import org.smoby.ref.tools.*; +import org.smoby.vocabulary.MOBY; +/** + * This servlet class is used to search the Semantic MOBY metadata + * repository for providers that match keywords. It produces a page + * of search results, including a result count and information about + * each matching provider. + *

+ * In the process of registration of a Semantic MOBY provider, nodes + * in the provider description graph, which represent the provider, + * subjects, and objects (i.e. they are subjects of statements whose + * predicate is rdf:type, and whose object is moby:Provider, + * moby:Subject, and moby:Object, respectively) are examined for + * other statements with rdf:type as their predicate, but with other + * non-MOBY classes as their objects. For each of non-MOBY classes, + * an attempt is made to retrieve the class definition. If the + * definition is a valid MOBY graph + */ public class KeywordSearchServlet extends BaseServlet { + /** + * Perform a search based on keywords. + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -18,7 +38,7 @@ List accepts = getKeywords("accepts", request); List returns = getKeywords("returns", request); - startHTML(response, out); + startHTML(response, "Semantic MOBY keyword search results", out); if ((provider.isEmpty()) && (accepts.isEmpty()) && (returns.isEmpty())) { showResultCount(-1, out); @@ -37,29 +57,41 @@ showProvider(p, out); } } - finishHTML(response, out); + finishHTML(out); } + /** + * Return a list of keywords for the given parameter name (i.e. + * "provider", "accepts", or "returns") + */ private List getKeywords(String paramName, HttpServletRequest request) { List keywords = new ArrayList(); + // If the parameter is not defined or is blank, + // then return an empty list + // String value = request.getParameter(paramName); if (value == null) return keywords; - value = value.trim(); - if (value.length() == 0) return keywords; + // Use a stream tokenizer to parse the keywords. Make sure the + // tokenizer doesn't strip out the wildcard character ('*') + // StreamTokenizer st = new StreamTokenizer(new StringReader(value)); st.wordChars('*', '*'); - st.wordChars('%', '%'); + try { while (st.nextToken() != StreamTokenizer.TT_EOF) { if (st.sval != null) { + // The keywords will be used as part of an SQL "LIKE" + // query, which uses '%' as a wildcard instead of the + // more conventional '*', so replace '%' with '*' + // String val = st.sval.toLowerCase().trim().replace('*', '%'); keywords.add(val); } @@ -69,18 +101,34 @@ return keywords; } + /** + * Show the count of providers that match the keyword search + * criteria. + */ private void showResultCount(int count, PrintStream out) { out.println(""); out.println(""); out.println(" + NEXT PACKAGENEXT PACKAGENEXTNEXT
"); - if (count < 0) { + if (count < 0) + { + // A negative count indicates that no keywords were given. + // out.println("No keywords were entered, so no search was performed."); - } else if (count < 1) { + } + else if (count == 0) + { + // Indicate that no matching providers were found, and + // give the user feedback as to why this might be expected. + // out.println("No matching providers were found. Note that"); out.println("very few providers have yet been defined."); - } else { + } + else + { + // Show how many providers were found + // out.println(count + " matching provider" + (count > 1 ? "s" : "") + " found"); } @@ -90,6 +138,9 @@ out.println("
"); } + /** + * Show a provider that matches the keyword search criteria. + */ private void showProvider(MOBYProvider provider, PrintStream out) { String uri = provider.getResource().getURI(); @@ -97,11 +148,18 @@ String description = provider.getOneLineDescription(); String moreInfo = provider.getMoreInfoURI(); + // Display a link to the Semantic MOBY engage-provider service + // out.println(""); out.print(""); + + // If the provider has a name (MOBY.name property), then + // display that for the text of the above link; otherwise, + // use the URI of the provider. + // if ((name != null) && (name.trim().length() > 0)) { out.println(name); } else { @@ -109,13 +167,21 @@ } out.print(""); out.println(""); + + // Provide a link to the provider description graph itself, and + // use the RDF logo as a picture for the link + // out.print(""); - out.print("\"Definition\""); + out.print("\"View"); out.print(""); out.println("
"); + // If the provider has a description (MOBY.oneLineDescription + // property), then display it here; otherwise, indicate that + // the provider has no description. + // if ((description != null) && (description.trim().length() > 0)) { out.println(description); } else { @@ -123,6 +189,10 @@ } out.println("
"); + // If a URI was provided for finding more information + // (MOBY.aboutURI property), then display a link to + // that URI. + // if ((moreInfo != null) && (moreInfo.trim().length() > 0)) { out.println("For more information see " + moreInfo + ""); @@ -130,6 +200,9 @@ out.println("
"); } + /** + * Handle POST requests the same way as GET requests + */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { From gss at pub.open-bio.org Thu Nov 4 17:34:16 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:03:18 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYGF0032127@pub.open-bio.org> gss Thu Nov 4 17:34:16 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32102/src/org/smoby/ref/servlets Modified Files: ProviderEngagementServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ProviderEngagementServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java 2004/07/21 22:01:19 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java 2004/11/04 22:34:16 1.2 @@ -1,23 +1,25 @@ package org.smoby.ref.servlets; import java.io.*; - import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.ParamReader; -import org.smoby.servlet.ParameterException; +import org.smoby.ref.tools.*; +import org.smoby.servlet.*; public class ProviderEngagementServlet extends BaseServlet { - public void doGet(HttpServletRequest request, HttpServletResponse response) + /** + * When engaged through a GET... + */ + public void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { - - String providerURL = null; + String providerURI = null; try { - providerURL = ParamReader.getParameter("provider-url", request); + providerURI = ParamReader.getParameter("provider-url", request); } catch (ParameterException e) { @@ -29,10 +31,11 @@ PrintStream out = new PrintStream(response.getOutputStream()); response.setContentType("text/html"); - startHTML(response, out); - out.println("Sorry, the invocation interface is still"); - out.println("under development. Please check back soon."); - finishHTML(response, out); + startHTML(response, "Semantic MOBY provider invocation", out); + InvocationBroker broker = + new InvocationBroker(this, request, response, out); + broker.invokeURI(providerURI); + finishHTML(out); } public void doPost(HttpServletRequest request, HttpServletResponse response) From gss at pub.open-bio.org Thu Nov 4 17:34:32 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:03:28 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYWfa032167@pub.open-bio.org> gss Thu Nov 4 17:34:32 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32142/src/org/smoby/ref/servlets Modified Files: ProviderInvestigationServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ProviderInvestigationServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java 2004/11/04 22:34:32 1.2 @@ -5,17 +5,19 @@ import javax.servlet.*; import javax.servlet.http.*; import org.apache.commons.logging.*; -import org.smoby.ref.tools.db.*; import org.smoby.graph.*; import org.smoby.ref.tools.*; +import org.smoby.ref.tools.db.*; import org.smoby.servlet.*; /** - * This servlet class is used to request that S-MOBY investigate a URL for the - * possibility of its having a provider description graph. It responds to both - * GET and POST requests, and expects a "provider-url" parameter to be sent. - * The only feedback given is that if the provider-url is missing, the response - * status is set to 406 NOT ACCEPTABLE; otherwise, the status is set to 200 OK. + * This servlet class is used to request that S-MOBY investigate + * a URL for the possibility of its having a provider description + * graph. It responds to both GET and POST requests, and expects a + * "provider-url" parameter to be sent. The only feedback given is + * that if the provider-url is missing, the response status is set + * to 406 NOT ACCEPTABLE; otherwise, the status is set to 200 OK, + * and a generic thank you message is returned. */ public class ProviderInvestigationServlet extends BaseServlet { @@ -24,15 +26,17 @@ /** * Respond to an HTTP GET message */ - public void doGet(HttpServletRequest request, HttpServletResponse response) + public void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { try { - // Get the provider-url parameter, and call the static investigate() - // method on the ProviderInvestigator class to do the actual - // investigation of the URL. No response is explicitly returned (a - // 200 OK status is automatically returned). + // Get the provider-url parameter, and call the static + // investigate() method on the ProviderInvestigator class + // to do the actual investigation of the URL. No response + // is explicitly returned (a 200 OK status is automatically + // returned). // String providerURL = ParamReader.getParameter("provider-url", request); URIInvestigator.investigate(providerURL); @@ -43,28 +47,35 @@ // The provider URL is missing // syncLog.error("GET without provider-url parameter"); - response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE, e.getMessage()); + response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE, + e.getMessage()); } } /** * Handle an HTTP POST message in the same way an HTTP GET is handled. */ - public void doPost(HttpServletRequest request, HttpServletResponse response) + public void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } - private void acknowledgeSuggestion(String url, HttpServletResponse response) + /** + * Provide a generic "thank you for your suggestion" response, + * regardless of the outcome of the investigation. + */ + private void acknowledgeSuggestion(String url, + HttpServletResponse response) throws IOException { response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - out.println(""); + PrintStream out = new PrintStream(response.getOutputStream()); + startHTML(response, "Thanks for the suggestion", out); out.println("Thank you.

Your suggestion to look at "); out.println("" + url + ""); out.println(" has been noted."); - out.println(""); + finishHTML(out); } } \ No newline at end of file From gss at pub.open-bio.org Thu Nov 4 17:34:52 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:03:48 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYqQG032201@pub.open-bio.org> gss Thu Nov 4 17:34:51 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32180/src/org/smoby/ref/servlets Added Files: ResultsDisplayServlet.java Log Message: Servlet for displaying results moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ResultsDisplayServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:35:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:04:31 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042235.iA4MZaAs032241@pub.open-bio.org> gss Thu Nov 4 17:35:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32216/src/org/smoby/ref/servlets/dev Modified Files: GraphConversionServlet.java Log Message: Use symbolic GRAPH_PARAMETER_NAME moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev GraphConversionServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java 2004/11/04 22:35:36 1.2 @@ -3,6 +3,7 @@ import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.ParamReader; import org.smoby.servlet.ParameterException; +import org.smoby.vocabulary.MOBY; import com.hp.hpl.jena.rdf.model.*; @@ -19,7 +20,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); String inputFormat = ParamReader.getParameter( "input-format", request, false, From gss at pub.open-bio.org Thu Nov 4 17:36:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:05:11 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MaFFn032299@pub.open-bio.org> gss Thu Nov 4 17:36:15 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32270/src/org/smoby/ref/servlets/dev Modified Files: MOBYGraphValidationServlet.java OWLValidationServlet.java Log Message: Use symbolic GRAPH_PARAMETER_NAME moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev MOBYGraphValidationServlet.java,1.1,1.2 OWLValidationServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java 2004/11/04 22:36:15 1.2 @@ -3,6 +3,7 @@ import org.smoby.parser.Parser; import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.*; +import org.smoby.vocabulary.MOBY; import org.smoby.graph.*; import com.hp.hpl.jena.rdf.model.*; @@ -21,7 +22,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Model baseModel = ModelFactory.createDefaultModel(); StringReader reader = new StringReader(graphString); baseModel.read(reader, null); =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java 2004/11/04 22:36:15 1.2 @@ -3,6 +3,7 @@ import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.ParamReader; import org.smoby.servlet.ParameterException; +import org.smoby.vocabulary.MOBY; import com.hp.hpl.jena.ontology.*; import com.hp.hpl.jena.ontology.tidy.*; @@ -23,7 +24,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Model baseModel = ModelFactory.createDefaultModel(); StringReader reader = new StringReader(graphString); baseModel.read(reader, null); From gss at pub.open-bio.org Thu Nov 4 17:36:27 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:05:25 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MaR3J032329@pub.open-bio.org> gss Thu Nov 4 17:36:27 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32304/src/org/smoby/ref/servlets/dev Modified Files: ProviderListServlet.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev ProviderListServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java 2004/11/04 22:36:27 1.2 @@ -1,8 +1,8 @@ package org.smoby.ref.servlets.dev; -import org.smoby.vocabulary.*; import org.smoby.ref.servlets.*; import org.smoby.ref.tools.db.*; +import org.smoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.vocabulary.*; import java.io.*; From gss at pub.open-bio.org Thu Nov 4 17:36:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:05:49 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MakQm032363@pub.open-bio.org> gss Thu Nov 4 17:36:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv32342/src/org/smoby/ref/servlets/example Added Files: HelloWorldDisplayServlet.java Log Message: Servlet for displaying results moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example HelloWorldDisplayServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:37:18 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:06:14 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042237.iA4MbI8g032398@pub.open-bio.org> gss Thu Nov 4 17:37:18 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32377/src/org/smoby/ref/tools Added Files: InvocationBroker.java Log Message: Helper class for invoking providers moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools InvocationBroker.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:37:54 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:06:56 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042237.iA4MbsdS032436@pub.open-bio.org> gss Thu Nov 4 17:37:54 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32411/src/org/smoby/ref/tools Modified Files: KeywordQuery.java Log Message: Misc fixes moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools KeywordQuery.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java 2004/07/21 22:01:19 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java 2004/11/04 22:37:54 1.2 @@ -79,14 +79,30 @@ private String buildQueryString() { - StringBuffer sb = new StringBuffer(); - - addSelectClause(sb); - addFromClause(sb); - addJoinClauses(sb); - addCompareClauses(sb); - - return sb.toString(); + if (isAllProvidersQuery()) + { + return "SELECT DISTINCT provider_uri FROM moby_keyword"; + } + else + { + StringBuffer sb = new StringBuffer(); + + addSelectClause(sb); + addFromClause(sb); + addJoinClauses(sb); + addCompareClauses(sb); + + return sb.toString(); + } + } + + private boolean isAllProvidersQuery() + { + return + (subjectKeywords.isEmpty()) && + (objectKeywords.isEmpty()) && + (providerKeywords.size() == 1) && + (providerKeywords.get(0).toString().equals("%")); } private void addSelectClause(StringBuffer sb) @@ -136,7 +152,6 @@ private void addCompareClauses(StringBuffer sb) { - List prev = null; int index = 0; @@ -181,7 +196,7 @@ sb.append("applies_to = '"); sb.append(appliesTo); sb.append("') and "); - + if (list.size() > 1) sb.append("("); @@ -203,18 +218,4 @@ sb.append(")"); } - -// public static void main(String[] args) -// { -// String[] pArray = new String[] { "p1", "p2" }; -// String[] sArray = new String[] { "s1", "s2" }; -// String[] oArray = new String[] { "o1", "o2", "o3" }; -// -// KeywordQuery q = new KeywordQuery( -// Arrays.asList(pArray), -// Arrays.asList(sArray), -// Arrays.asList(oArray)); -// -// System.out.println(q.buildQueryString()); -// } } From gss at pub.open-bio.org Thu Nov 4 17:38:14 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 4 17:07:18 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042238.iA4McEhK032478@pub.open-bio.org> gss Thu Nov 4 17:38:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32453/src/org/smoby/ref/tools Modified Files: URIInvestigator.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools URIInvestigator.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java 2004/07/21 22:01:19 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java 2004/11/04 22:38:14 1.3 @@ -4,10 +4,10 @@ import java.io.*; import javax.servlet.http.*; +import org.smoby.ref.tools.db.*; import org.smoby.tools.*; import org.smoby.http.*; import org.smoby.parser.*; -import org.smoby.ref.tools.db.*; import org.smoby.graph.*; import org.smoby.vocabulary.*; import org.apache.commons.httpclient.util.*; From senger at pub.open-bio.org Thu Nov 4 19:49:20 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Thu Nov 4 19:18:20 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411050049.iA50nKD4000401@pub.open-bio.org> senger Thu Nov 4 19:49:20 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util In directory pub.open-bio.org:/tmp/cvs-serv382/src/main/org/biomoby/registry/rdfagent/util Modified Files: Constants.java Log Message: fixed missing exception moby-live/Java/src/main/org/biomoby/registry/rdfagent/util Constants.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2004/10/28 17:55:43 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2004/11/05 00:49:20 1.2 @@ -112,6 +112,9 @@ catch (JDOMException e) { Log.severe(e.getMessage()); } + catch (IOException e) { + Log.severe(e.getMessage()); + } } From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri Nov 12 18:00:34 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VrG012133@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Services/org/biomoby/service Modified Files: EchoImpl.java Log Message: command-line client is able now to call services easier moby-live/Java/src/Services/org/biomoby/service EchoImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java 2003/11/08 00:36:18 1.1 +++ /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java 2004/11/12 23:02:31 1.2 @@ -10,21 +10,23 @@ implements Echo { public String echoString (String message) { - StringBuffer buf = new StringBuffer(); + return message; - buf.append ("\n"); - buf.append (" \n"); - buf.append (" \n"); - buf.append (" \n"); - buf.append (" "); - buf.append ("FIXED TEXT"); - buf.append (" \n"); - buf.append (" \n"); +// StringBuffer buf = new StringBuffer(); - buf.append (" \n"); - buf.append (" \n"); +// buf.append ("\n"); +// buf.append (" \n"); +// buf.append (" \n"); +// buf.append (" \n"); +// buf.append (" "); +// buf.append ("FIXED TEXT"); +// buf.append (" \n"); +// buf.append (" \n"); - return new String (buf); +// buf.append (" \n"); +// buf.append (" \n"); + +// return new String (buf); } } From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri Nov 12 18:01:04 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VGk012072@pub.open-bio.org> senger Fri Nov 12 18:02:30 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv12053/docs Modified Files: ChangeLog Log Message: command-line client is able now to call services easier moby-live/Java/docs ChangeLog,1.23,1.24 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/10/18 14:49:30 1.23 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/12 23:02:30 1.24 @@ -1,3 +1,8 @@ +2004-11-12 Martin Senger + + * Added -scall for calling services (instead of a Moby Central) + into the command-line client MobyCmdLineClient + 2004-10-18 Martin Senger * Added general SOAP utilities in package embl.ebi.soap (the From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri Nov 12 18:01:08 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VgP012114@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Clients/help Modified Files: MobyCmdLineClient_usage.txt Log Message: command-line client is able now to call services easier moby-live/Java/src/Clients/help MobyCmdLineClient_usage.txt,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2004/09/22 21:11:17 1.5 +++ /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2004/11/12 23:02:31 1.6 @@ -1,6 +1,9 @@ Usage: - java MobyCmdLineClient -h[elp] - java MobyCmdLineClient [] + run-cmdline-client -h[elp] + run-cmdline-client [] +or + run-any-client MobyCmdLineClient -h[elp] + run-any-client MobyCmdLineClient [] where specify what Moby registry to connect to: @@ -175,3 +178,26 @@ is used as an input parameter to the called mathod -debug ... print debug messages + + And yet another rest: + + -scall + call a service (!, not a Moby Central) given by + with the input XML data given by ; if the + is a name of an existing file, the contents of this file + is used instead; an example of a service and its input: + + service name: getMIPSFastaProteinSequence + input XML: + + + + + + + + + + + + format of : service-name[,service-authority] From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri Nov 12 18:04:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VPO012095@pub.open-bio.org> senger Fri Nov 12 18:02:30 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Clients Modified Files: MobyCmdLineClient.java MobyGraphs.java Log Message: command-line client is able now to call services easier moby-live/Java/src/Clients MobyCmdLineClient.java,1.6,1.7 MobyGraphs.java,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2004/09/23 10:20:29 1.6 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2004/11/12 23:02:30 1.7 @@ -521,7 +521,7 @@ } // - // call a raw method (for debugging) + // call a raw method (for debugging, mostly) // params = null; if ((params = cmd.getParam ("-call", 2)) != null ) { @@ -539,6 +539,47 @@ } } + // + // call a service instead of a Moby Central + // + params = null; + if ((params = cmd.getParam ("-scall", 2)) != null ) { + if (params[0] != null && params[1] != null) { + + // find URL of the wanted service + decorationLn ("Looking for service '" + params[0] + "':"); + String serviceName = null; + int pos = params[0].indexOf (","); + MobyService[] services; + if (pos == -1) { + serviceName = params[0]; + services = worker.findService (new MobyService (params[0])); + } else if (pos == params[0].length() - 1) { + serviceName = params[0].substring (0, pos); + services = worker.findService (new MobyService (serviceName)); + } else { + serviceName = params[0].substring (0, pos); + MobyService pattern = new MobyService (serviceName); + pattern.setAuthority (params[0].substring (pos+1)); + services = worker.findService (pattern); + } + if (services != null && services.length > 0) { + String serviceURL = services[0].getURL(); + if (! serviceURL.equals ("")) { + + // call the service + decorationLn ("Calling service '" + serviceName + "' with the input from '" + params[1] + "':"); + if (new File (params[1]).exists()) + params[1] = FileUtils.getFile (params[1]); + decorationLn (params[1]); + decorationLn ("---------------"); + Central serviceWorker = new CentralImpl (serviceURL, "http://biomoby.org/"); + System.out.println (serviceWorker.call (serviceName, params[1])); + } + } + } + } + } catch (PendingCurationException e) { System.err.println ("===ERROR==="); System.err.println ("Pending Curation"); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/10/18 14:35:05 1.5 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:02:30 1.6 @@ -173,6 +173,9 @@ DataServiceEdge[] startingEdges = ServiceConnections.findStartingEdges (sourceData, dataTypes, services); DataServiceEdge[] endingEdges = ServiceConnections.findEndingEdges (targetData, dataTypes, services); + System.out.println ("SE: " + startingEdges.length); + System.out.println ("EE: " + endingEdges.length); + // this creates *all* pathes, but some of them have cycles and inside branches separatePaths = FilterServices.dataPaths (startingEdges, edges, endingEdges); if (separatePaths.length == 0) { @@ -180,10 +183,16 @@ pathEnds[0] + "' and '" + pathEnds[1] + "'"); System.exit(1); } + System.out.println ("SP: " + separatePaths.length); + allPaths = FilterServices.joinPaths (separatePaths); + System.out.println ("AP: " + allPaths.length); + // this separate paths to straight paths (no cycles, no branches) separatePaths = FilterServices.straightDataPaths (startingEdges, allPaths, endingEdges); + + System.out.println ("SP2: " + separatePaths.length); } // create a graph (in whatever format) From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri Nov 12 18:04:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VcU012154@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv12053/src/main/org/biomoby/client Modified Files: FilterServices.java Log Message: command-line client is able now to call services easier moby-live/Java/src/main/org/biomoby/client FilterServices.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/10/18 14:35:06 1.2 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:02:31 1.3 @@ -305,7 +305,7 @@ /************************************************************************* * Find all paths (using available 'edges') that start by any of - * the 'startringEdges' and finish by any of the 'endingEdges'. + * the 'startingEdges' and finish by any of the 'endingEdges'. * Each path always has one start and one end and it has no * cycles and no branches.

* @@ -342,6 +342,9 @@ // find all (no-cycle-containing) paths (recursively) Vector allPaths = new Vector(); + for (int i = 0; i < startingEdges.length; i++) { + System.out.println ("SE: " + startingEdges[i].toString()); + } findAllPaths (startingEdges, allEdges, new Hashtable(), allPaths); ServicesEdge[][] result = new ServicesEdge [allPaths.size()][]; allPaths.copyInto (result); @@ -351,13 +354,22 @@ /************************************************************************* * Does the real job, recursivelly... *************************************************************************/ + static int Count = 0; static void findAllPaths (ServicesEdge[] startingEdges, ServicesEdge[] allEdges, Hashtable soFarIncluded, // key: target service name Vector foundPaths) { // elements of type ServicesEdge[] + Count++; +// for (int i = 0; i < Count; i++) System.out.print (" "); +// System.out.println (soFarIncluded.size()); + for (int i = 0; i < startingEdges.length; i++) { +// if (Count == 1) System.out.println ("i: " + i); + for (int c = 0; c < Count; c++) System.out.print (" "); + System.out.println ("i: " + i + " (of " + startingEdges.length + ")"); + // is this the final edge (ending in a target data type)? if ( (startingEdges[i] instanceof DataServiceEdge) && ((DataServiceEdge)startingEdges[i]).isEndingEdge() ) { @@ -394,6 +406,10 @@ ServicesEdge[] contEdges = new ServicesEdge [v.size()]; v.copyInto (contEdges); +// for (int c = 0; c < Count; c++) System.out.print (" "); +// System.out.print ("(Count: " + Count + ") "); +// System.out.println ("contEdges: " + contEdges.length); + // ...call itself recursively findAllPaths (contEdges, allEdges, soFarIncluded, foundPaths); @@ -402,6 +418,7 @@ // 'soFarIncluded' soFarIncluded.remove (toServiceName); } + Count--; } } From senger at pub.open-bio.org Fri Nov 12 18:07:08 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri Nov 12 18:05:29 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122307.iACN78di012223@pub.open-bio.org> senger Fri Nov 12 18:07:08 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv12204/src/main/org/biomoby/client Modified Files: FilterServices.java Log Message: moby-live/Java/src/main/org/biomoby/client FilterServices.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:02:31 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:07:08 1.4 @@ -305,7 +305,7 @@ /************************************************************************* * Find all paths (using available 'edges') that start by any of - * the 'startingEdges' and finish by any of the 'endingEdges'. + * the 'startringEdges' and finish by any of the 'endingEdges'. * Each path always has one start and one end and it has no * cycles and no branches.

* @@ -342,9 +342,6 @@ // find all (no-cycle-containing) paths (recursively) Vector allPaths = new Vector(); - for (int i = 0; i < startingEdges.length; i++) { - System.out.println ("SE: " + startingEdges[i].toString()); - } findAllPaths (startingEdges, allEdges, new Hashtable(), allPaths); ServicesEdge[][] result = new ServicesEdge [allPaths.size()][]; allPaths.copyInto (result); @@ -354,22 +351,13 @@ /************************************************************************* * Does the real job, recursivelly... *************************************************************************/ - static int Count = 0; static void findAllPaths (ServicesEdge[] startingEdges, ServicesEdge[] allEdges, Hashtable soFarIncluded, // key: target service name Vector foundPaths) { // elements of type ServicesEdge[] - Count++; -// for (int i = 0; i < Count; i++) System.out.print (" "); -// System.out.println (soFarIncluded.size()); - for (int i = 0; i < startingEdges.length; i++) { -// if (Count == 1) System.out.println ("i: " + i); - for (int c = 0; c < Count; c++) System.out.print (" "); - System.out.println ("i: " + i + " (of " + startingEdges.length + ")"); - // is this the final edge (ending in a target data type)? if ( (startingEdges[i] instanceof DataServiceEdge) && ((DataServiceEdge)startingEdges[i]).isEndingEdge() ) { @@ -406,10 +394,6 @@ ServicesEdge[] contEdges = new ServicesEdge [v.size()]; v.copyInto (contEdges); -// for (int c = 0; c < Count; c++) System.out.print (" "); -// System.out.print ("(Count: " + Count + ") "); -// System.out.println ("contEdges: " + contEdges.length); - // ...call itself recursively findAllPaths (contEdges, allEdges, soFarIncluded, foundPaths); @@ -418,7 +402,6 @@ // 'soFarIncluded' soFarIncluded.remove (toServiceName); } - Count--; } } From senger at pub.open-bio.org Fri Nov 12 18:09:02 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri Nov 12 18:07:48 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122309.iACN92Ol012270@pub.open-bio.org> senger Fri Nov 12 18:09:02 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv12251/src/Clients Modified Files: MobyGraphs.java Log Message: moby-live/Java/src/Clients MobyGraphs.java,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:02:30 1.6 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:09:02 1.7 @@ -173,9 +173,6 @@ DataServiceEdge[] startingEdges = ServiceConnections.findStartingEdges (sourceData, dataTypes, services); DataServiceEdge[] endingEdges = ServiceConnections.findEndingEdges (targetData, dataTypes, services); - System.out.println ("SE: " + startingEdges.length); - System.out.println ("EE: " + endingEdges.length); - // this creates *all* pathes, but some of them have cycles and inside branches separatePaths = FilterServices.dataPaths (startingEdges, edges, endingEdges); if (separatePaths.length == 0) { @@ -183,16 +180,10 @@ pathEnds[0] + "' and '" + pathEnds[1] + "'"); System.exit(1); } - System.out.println ("SP: " + separatePaths.length); - allPaths = FilterServices.joinPaths (separatePaths); - System.out.println ("AP: " + allPaths.length); - // this separate paths to straight paths (no cycles, no branches) separatePaths = FilterServices.straightDataPaths (startingEdges, allPaths, endingEdges); - - System.out.println ("SP2: " + separatePaths.length); } // create a graph (in whatever format) From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:10:41 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCo1n027576@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv27557/docs Modified Files: ChangeLog Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/docs ChangeLog,1.24,1.25 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/12 23:02:30 1.24 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:12:50 1.25 @@ -1,3 +1,8 @@ +2004-11-14 Martin Senger + + * Added CacheRegistryClient for storing data types and service + instances in a local file system. + 2004-11-12 Martin Senger * Added -scall for calling services (instead of a Moby Central) From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:10:44 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCoPZ027606@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv27557/src/Clients/help Added Files: CacheRegistryClient_usage.txt Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/Clients/help CacheRegistryClient_usage.txt,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:10:45 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCovJ027643@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv27557/src/main/org/biomoby/client Modified Files: CentralDigestCachedImpl.java Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/main/org/biomoby/client CentralDigestCachedImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2004/10/18 14:35:06 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2004/11/14 16:12:50 1.2 @@ -81,12 +81,14 @@ File cache = createCacheDir (cacheDir, getRegistryEndpoint()); messageLn ("Using cache directory: " + cache); dataTypesCache = createSubCacheDir (cache, "dataTypes"); + long dataTypesCacheAge = (isCacheEmpty (dataTypesCache) ? -1 : dataTypesCache.lastModified()); servicesCache = createSubCacheDir (cache, "services"); - if (cacheAge <= 0) { - // cache was not created now, it existed; so find its age - cacheAge = Math.min (dataTypesCache.lastModified(), - servicesCache.lastModified()); - } + long servicesCacheAge = (isCacheEmpty (servicesCache) ? -1 : servicesCache.lastModified()); + + if (dataTypesCacheAge > -1 && servicesCacheAge > -1) + cacheAge = Math.min (dataTypesCacheAge, servicesCacheAge); + else + cacheAge = Math.max (dataTypesCacheAge, servicesCacheAge); } } @@ -262,13 +264,7 @@ protected boolean isCacheEmpty (File cache) throws MobyException { String[] list = cache.list(); - if (list == null) { - // try to re-create the cache (as empty, of course, but - // ready to be used if somebody wants to fill it again) - initCache(); - return true; - } - return (list.length == 0); + return ( list == null || list.length == 0 ); } protected void fillDataTypesCache() @@ -282,6 +278,8 @@ String xml = getDataTypeAsXML (name); store (dataTypesCache, name, xml); } + if (cacheAge <= 0) + cacheAge = dataTypesCache.lastModified(); } catch (Exception e) { throw new MobyException (formatException (e)); @@ -300,6 +298,9 @@ String xml = getServicesAsXML (new MobyService (name), null, true, true); store (servicesCache, name, xml); } + if (cacheAge <= 0) + cacheAge = servicesCache.lastModified(); + } catch (Exception e) { throw new MobyException (formatException (e)); } @@ -312,8 +313,10 @@ return super.getDataTypes(); synchronized (dataTypesCache) { Vector v = new Vector(); - if (isCacheEmpty (dataTypesCache)) + if (isCacheEmpty (dataTypesCache)) { + initCache(); fillDataTypesCache(); + } File[] list = dataTypesCache.listFiles(); if (list == null) throw new MobyException ("Surprisingly, '" + dataTypesCache.getAbsolutePath() + "' is not a directory. Strange..."); @@ -337,8 +340,10 @@ return super.getServices(); synchronized (servicesCache) { Vector v = new Vector(); - if (isCacheEmpty (servicesCache)) + if (isCacheEmpty (servicesCache)) { + initCache(); fillServicesCache(); + } File[] list = servicesCache.listFiles(); if (list == null) throw new MobyException ("Surprisingly, '" + servicesCache.getAbsolutePath() + "' is not a directory. Strange..."); @@ -376,6 +381,8 @@ * Return age of the current (whole) cache in millis from the * beginning of the Epoch; or -1 if cache is empty, or the age is * unknown. + * + * The cache age is taken as the oldest (but filled) cache part. **************************************************************************/ public long getCacheAge() { return cacheAge; From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:10:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCoMV027621@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/config In directory pub.open-bio.org:/tmp/cvs-serv27557/src/config Added Files: run-cache-client run-cache-client.bat Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/config run-cache-client,NONE,1.1 run-cache-client.bat,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:10:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCo5U027590@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv27557/src/Clients Added Files: CacheRegistryClient.java Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/Clients CacheRegistryClient.java,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:41:37 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhnBa027863@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv27844/docs Modified Files: ChangeLog Log Message: added client for cummulative entries moby-live/Java/docs ChangeLog,1.25,1.26 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:12:50 1.25 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:43:49 1.26 @@ -1,7 +1,10 @@ 2004-11-14 Martin Senger + * Added MobyDigestClient for retrieving cummulative (digested) + entries from registries + * Added CacheRegistryClient for storing data types and service - instances in a local file system. + instances in a local file system 2004-11-12 Martin Senger From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:41:38 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhn5l027894@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv27844/src/Clients/help Added Files: MobyDigest_usage.txt Log Message: added client for cummulative entries moby-live/Java/src/Clients/help MobyDigest_usage.txt,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:41:39 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhn7P027910@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/config In directory pub.open-bio.org:/tmp/cvs-serv27844/src/config Added Files: run-digest-client run-digest-client.bat Log Message: added client for cummulative entries moby-live/Java/src/config run-digest-client,NONE,1.1 run-digest-client.bat,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 11:41:40 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhnQL027878@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv27844/src/Clients Added Files: MobyDigestClient.java Log Message: added client for cummulative entries moby-live/Java/src/Clients MobyDigestClient.java,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 12:33:58 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 12:31:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141733.iAEHXwJk028111@pub.open-bio.org> senger Sun Nov 14 12:33:58 EST 2004 Update of /home/repository/moby/moby-live/Java/docs/images In directory pub.open-bio.org:/tmp/cvs-serv28077/docs/images Added Files: whale.gif Log Message: moby-live/Java/docs/images whale.gif,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 12:33:58 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun Nov 14 12:31:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141733.iAEHXwTF028096@pub.open-bio.org> senger Sun Nov 14 12:33:57 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv28077/docs Modified Files: index.html Log Message: moby-live/Java/docs index.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Java/docs/index.html 2003/09/25 10:49:09 1.4 +++ /home/repository/moby/moby-live/Java/docs/index.html 2004/11/14 17:33:57 1.5 @@ -1,5 +1,6 @@ BioMoby in Java + @@ -86,7 +87,7 @@

Martin Senger
-Last modified: Thu Sep 25 11:44:42 2003 +Last modified: Sun Nov 14 17:29:05 2004
From kawas at pub.open-bio.org Wed Nov 17 12:11:39 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Wed Nov 17 12:09:47 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411171711.iAHHBdUf009446@pub.open-bio.org> kawas Wed Nov 17 12:11:38 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool In directory pub.open-bio.org:/tmp/cvs-serv9409/org/biomoby/client/gui/objectCreationTool Modified Files: ButtonActions.java PanelFactory.java FieldFocusListeners.java ObjectCreationTool.java Log Message: changed some colors, etc. This is my last change to this tool before I overhaul the gui. Eddie moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool ButtonActions.java,1.1,1.2 PanelFactory.java,1.1,1.2 FieldFocusListeners.java,1.1,1.2 ObjectCreationTool.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java 2004/11/17 17:11:38 1.2 @@ -290,7 +290,7 @@ name = tool.getSelectedNode(); str = JOptionPane.showInputDialog( - null, + tool, "what is " + name + "'s Article Name?", "Article Name", JOptionPane.INFORMATION_MESSAGE); @@ -304,7 +304,7 @@ name = tool.getSelectedNode(); str = JOptionPane.showInputDialog( - null, + tool, "what is " + name + "'s Article Name?", "Article Name", JOptionPane.INFORMATION_MESSAGE); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java 2004/11/17 17:11:38 1.2 @@ -43,7 +43,7 @@ private TreePath path; private JPanel addPanel; private int INIT = 0; - private static final Color panelColor = new Color(159, 180, 55); + private static final Color panelColor = new Color(182, 221, 141); private String image_path = ""; =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java 2004/11/17 17:11:38 1.2 @@ -62,7 +62,7 @@ } } if (!set) - if (uriFocusCount++ % 1 == 0) // ensure that the window doesnt appear twice + if ((uriFocusCount+=2) % 2 == 0) // ensure that the window doesnt appear twice { JOptionPane.showMessageDialog( tool, @@ -76,7 +76,7 @@ } else if (command.equals("email")) { String str = tool.getPanelFactory().getEmailField().getText(); boolean set = REGEXP.isValidEmailAddress(str); - if (!set && emailFocusCount++ % 1 == 0) // ensure that the window doesnt appear twice + if (!set && (emailFocusCount+=2) % 2 == 0) // ensure that the window doesnt appear twice JOptionPane.showMessageDialog(tool, "Email address in invalid.", "Error", JOptionPane.ERROR_MESSAGE); else tool.getMobyxml().getRegistration().setEmailContact(str); @@ -89,7 +89,7 @@ boolean set = false; try { if (!tool.getMobyxml().renameRoot(str)) - if (nameFocusCount++ % 1 == 0) { + if ((nameFocusCount+=2) % 2 == 0) { JOptionPane.showMessageDialog(tool, "Name is in invalid.", "Error", JOptionPane.ERROR_MESSAGE); } } catch (Exception ex) { =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java 2004/11/17 17:11:38 1.2 @@ -4,6 +4,7 @@ */ package org.biomoby.client.gui.objectCreationTool; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; @@ -18,7 +19,6 @@ import javax.swing.JTabbedPane; import javax.swing.UIManager; import javax.swing.tree.TreePath; - import org.biomoby.client.gui.util.TreeLoaderThread; /** @@ -77,7 +77,8 @@ // set up the layout getContentPane().setLayout(new BorderLayout()); getContentPane().add(pane, BorderLayout.CENTER); // used a tabbedpane so that i could swap panels - pane.setOpaque(false); + pane.setOpaque(true); + pane.setBackground(new Color(182,221,141)); fieldListeners = new FieldFocusListeners(this); fieldKeyListeners = new FieldKeyListener(this); From kawas at pub.open-bio.org Wed Nov 17 12:15:26 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Wed Nov 17 12:17:04 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411171715.iAHHFQ7j009542@pub.open-bio.org> kawas Wed Nov 17 12:15:26 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool In directory pub.open-bio.org:/tmp/cvs-serv9513/org/biomoby/client/gui/serviceInstanceCreationTool Modified Files: ServiceCreationTool.java ServiceInstancePanelFactory.java Log Message: changed some colors, etc. Eddie moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool ServiceCreationTool.java,1.1,1.2 ServiceInstancePanelFactory.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java 2004/09/27 21:29:15 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java 2004/11/17 17:15:26 1.2 @@ -8,6 +8,7 @@ import java.awt.Color; import java.awt.Component; import java.awt.Dimension; +import java.awt.Font; import javax.swing.JApplet; import javax.swing.JFrame; @@ -35,7 +36,7 @@ /* private member variables */ private ServiceInstancePanelFactory pf = null; private JTabbedPane pane = new JTabbedPane(); - private final Color color = new Color(145, 206, 0); + private final Color color = new Color(182, 221, 141); private final Color toolBarColor = new Color(00, 102, 51); private Service service = null; private String fieldValidationErrorMsg = ""; @@ -81,6 +82,8 @@ getContentPane().add(pane, BorderLayout.CENTER); // used a tabbedpane so that i could swap panels pane.setOpaque(true); + pane.setBackground(color); + pane.setFont(new Font("Dialog", Font.BOLD, 16)); JPanel empty = pf.createEmptyPanel(); empty.setBackground(toolBarColor); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java 2004/09/27 21:29:15 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java 2004/11/17 17:15:26 1.2 @@ -55,7 +55,7 @@ private ServiceActionListener bal; private ServiceFocusListener tfl; private boolean RADIO_SELECTED = false; - private final Color color = new Color(145, 206, 0); + private final Color color = new Color(182, 221, 141); private final Color toolBarColor = new Color(00, 102, 51); private ServiceTypeTree tree = null; private MobyTree mobyTree = null; @@ -163,14 +163,14 @@ // create a greeting and some instructions JLabel greet = new JLabel(); - String greetTxt = "

Moby Service Builder

" - + "" + String greetTxt = "

Moby Service Builder

" + + "" + "This interactive tool will allow you to create
" + "a new Moby Service. To begin, fill in the
" + "following information regarding your new service." + "
" + ""; greet.setText(greetTxt); - pan.add(greet, BorderLayout.NORTH); + pan.add(greet, BorderLayout.PAGE_START); // create the fields for use <- associate with the fields private member // variable in the serviceCreationTool From gss at pub.open-bio.org Thu Nov 18 18:33:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:30:34 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6LB016415@pub.open-bio.org> gss Thu Nov 18 18:33:06 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph/impl/class-use Removed Files: MOBYProviderSetImpl.html MOBYMappingElementImpl.html MOBYNonPositiveIntegerConstraintImpl.html MOBYDocumentImpl.html MOBYNonNegativeIntegerConstraintImpl.html MOBYDateConstraintImpl.html MOBYObjectFactory.html MOBYProviderImpl.html MOBYDescriptorImpl.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use MOBYProviderSetImpl.html,1.1,NONE MOBYMappingElementImpl.html,1.1,NONE MOBYNonPositiveIntegerConstraintImpl.html,1.1,NONE MOBYDocumentImpl.html,1.1,NONE MOBYNonNegativeIntegerConstraintImpl.html,1.1,NONE MOBYDateConstraintImpl.html,1.1,NONE MOBYObjectFactory.html,1.1,NONE MOBYProviderImpl.html,1.1,NONE MOBYDescriptorImpl.html,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYProviderSetImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYMappingElementImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYNonPositiveIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDocumentImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYNonNegativeIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDateConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYObjectFactory.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYProviderImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDescriptorImpl.html,v: No such file or directory From gss at pub.open-bio.org Thu Nov 18 18:33:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:30:51 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6Aw016438@pub.open-bio.org> gss Thu Nov 18 18:33:06 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/vocabulary/class-use Modified Files: MOBY.html VocabularyDescription.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use MOBY.html,1.1,1.2 VocabularyDescription.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html 2004/11/18 23:33:06 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.vocabulary.MOBY =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html 2004/11/18 23:33:06 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.vocabulary.VocabularyDescription From gss at pub.open-bio.org Thu Nov 18 18:33:07 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:30:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX7ba016578@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph/impl Removed Files: MOBYDescriptorImpl.html MOBYNonPositiveIntegerConstraintImpl.html MOBYDocumentImpl.html MOBYMappingElementImpl.html MOBYDateConstraintImpl.html package-tree.html MOBYObjectFactory.html package-frame.html package-summary.html package-use.html MOBYProviderImpl.html MOBYNonNegativeIntegerConstraintImpl.html MOBYProviderSetImpl.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl MOBYDescriptorImpl.html,1.1,NONE MOBYNonPositiveIntegerConstraintImpl.html,1.1,NONE MOBYDocumentImpl.html,1.1,NONE MOBYMappingElementImpl.html,1.1,NONE MOBYDateConstraintImpl.html,1.1,NONE package-tree.html,1.1,NONE MOBYObjectFactory.html,1.1,NONE package-frame.html,1.1,NONE package-summary.html,1.1,NONE package-use.html,1.1,NONE MOBYProviderImpl.html,1.1,NONE MOBYNonNegativeIntegerConstraintImpl.html,1.1,NONE MOBYProviderSetImpl.html,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDescriptorImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYNonPositiveIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDocumentImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYMappingElementImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDateConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-tree.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYObjectFactory.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-frame.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-summary.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-use.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYProviderImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYNonNegativeIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYProviderSetImpl.html,v: No such file or directory From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:32:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9aB016934@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/tools/class-use Modified Files: Util.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use Util.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.tools.Util From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:32:49 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9Zo016977@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/test Modified Files: package-tree.html package-frame.html Test.html package-summary.html ParserTest.html package-use.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test package-tree.html,1.1,1.2 package-frame.html,1.1,1.2 Test.html,1.1,1.2 package-summary.html,1.1,1.2 ParserTest.html,1.1,1.2 package-use.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test Class Hierarchy =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + ParserTest =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.parser.test From gss at pub.open-bio.org Thu Nov 18 18:33:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:32:55 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX7IS016609@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/servlet/class-use Modified Files: AbstractMobyServlet.html ParameterException.html ParamReader.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use AbstractMobyServlet.html,1.1,1.2 ParameterException.html,1.1,1.2 ParamReader.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.AbstractMobyServlet =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.ParameterException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.ParamReader From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:32:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9F4016913@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/servlet Modified Files: package-use.html package-summary.html package-tree.html package-frame.html ParameterException.html AbstractMobyServlet.html ParamReader.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet package-use.html,1.1,1.2 package-summary.html,1.1,1.2 package-tree.html,1.1,1.2 package-frame.html,1.1,1.2 ParameterException.html,1.1,1.2 AbstractMobyServlet.html,1.1,1.2 ParamReader.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.servlet =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.servlet @@ -51,7 +51,7 @@
=================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html 2004/11/18 23:33:08 1.2 @@ -2,7 +2,7 @@ - + org.smoby.tools @@ -50,7 +50,7 @@ PREV PACKAGE  + PREV PACKAGE   NEXT PACKAGE FRAMES   @@ -83,6 +83,10 @@ Class Summary +ModelRetriever +  + + Util This abstract class contains a miscellaneous set of useful static methods @@ -120,7 +124,7 @@ PREV PACKAGE  + PREV PACKAGE   NEXT PACKAGE FRAMES   From gss at pub.open-bio.org Thu Nov 18 18:33:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:34:55 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX8HQ016654@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/http Modified Files: package-use.html HTTPResponse.html HTTPRequest.html package-frame.html HTTPException.html package-summary.html package-tree.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http package-use.html,1.1,1.2 HTTPResponse.html,1.1,1.2 HTTPRequest.html,1.1,1.2 package-frame.html,1.1,1.2 HTTPException.html,1.1,1.2 package-summary.html,1.1,1.2 package-tree.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.http =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + HTTPResponse =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + HTTPRequest @@ -120,8 +120,15 @@ HTTP_GET
-          Constant meaning to use HTTP GET as the method for communicating - with the registration server. +          Constant meaning to use HTTP GET as the method + + + +static int +HTTP_HEAD + +
+          Constant meaning to use HTTP HEAD as the method @@ -129,8 +136,7 @@ HTTP_POST
-          Constant meaning to use HTTP POST as the method for communicating - with the registration server. +          Constant meaning to use HTTP POST as the method   @@ -174,6 +180,14 @@ static HTTPRequest +newHeadRequest(java.lang.String uri) + +
+            + + + +static HTTPRequest newPostRequest(java.lang.String serverURL)
@@ -215,8 +229,7 @@
 public static final int HTTP_GET
-
Constant meaning to use HTTP GET as the method for communicating - with the registration server. +
Constant meaning to use HTTP GET as the method

See Also:
Constant Field Values
@@ -228,12 +241,23 @@
 public static final int HTTP_POST
-
Constant meaning to use HTTP POST as the method for communicating - with the registration server. +
Constant meaning to use HTTP POST as the method

See Also:
Constant Field Values
+
+ +

+HTTP_HEAD

+
+public static final int HTTP_HEAD
+
+
Constant meaning to use HTTP HEAD as the method +

+

+
See Also:
Constant Field Values
+
@@ -270,6 +294,17 @@

+

+newHeadRequest

+
+public static HTTPRequest newHeadRequest(java.lang.String uri)
+
+
+
+
+
+
+

addParameter


===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html	2004/07/15 20:27:14	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html	2004/11/18 23:33:07	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 org.smoby.http
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html	2004/07/15 20:27:14	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html	2004/11/18 23:33:07	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 HTTPException
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html	2004/07/15 20:27:14	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html	2004/11/18 23:33:07	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 org.smoby.http
 
@@ -50,7 +50,7 @@
 
 
 PREV PACKAGE 
+ PREV PACKAGE 
  NEXT PACKAGE
 
   FRAMES   
@@ -142,7 +142,7 @@
 
 
 PREV PACKAGE 
+ PREV PACKAGE 
  NEXT PACKAGE
 
   FRAMES   

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html	2004/07/15 20:27:14	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html	2004/11/18 23:33:07	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 org.smoby.http Class Hierarchy
 
@@ -49,7 +49,7 @@
 
 
 PREV 
+ PREV 
  NEXT
 
   FRAMES   
@@ -122,7 +122,7 @@
 
 
 PREV 
+ PREV 
  NEXT
 
   FRAMES   

From gss at pub.open-bio.org  Thu Nov 18 18:33:08 2004
From: gss at pub.open-bio.org (Gary Schlitz)
Date: Thu Nov 18 18:34:56 2004
Subject: [MOBY-guts] biomoby commit
Message-ID: <200411182333.iAINX8fs016705@pub.open-bio.org>


gss
Thu Nov 18 18:33:08 EST 2004
Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser
In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser

Modified Files:
	package-frame.html package-summary.html 
	NonCanonicalException.html package-use.html 
	UnparsableGraphException.html package-tree.html Parser.html 
Log Message:
Generated JavaDoc

moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser package-frame.html,1.1,1.2 package-summary.html,1.1,1.2 NonCanonicalException.html,1.1,1.2 package-use.html,1.1,1.2 UnparsableGraphException.html,1.1,1.2 package-tree.html,1.1,1.2 Parser.html,1.1,1.2
===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html	2004/07/15 20:27:16	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html	2004/11/18 23:33:08	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 org.smoby.parser
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html	2004/07/15 20:27:16	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html	2004/11/18 23:33:08	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 org.smoby.parser
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html	2004/07/15 20:27:16	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html	2004/11/18 23:33:08	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 NonCanonicalException
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html	2004/07/15 20:27:16	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html	2004/11/18 23:33:08	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 Uses of Package org.smoby.parser
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html	2004/07/15 20:27:16	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html	2004/11/18 23:33:08	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 UnparsableGraphException
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html	2004/07/15 20:27:16	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html	2004/11/18 23:33:08	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 org.smoby.parser Class Hierarchy
 

===================================================================
RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html	2004/07/15 20:27:16	1.1
+++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html	2004/11/18 23:33:08	1.2
@@ -2,7 +2,7 @@
 
 
 
-
+
 
 Parser
 
@@ -192,7 +192,7 @@
 
 
 
- MOBYProvider
+ MOBYProvider
 parseProvider()
 
 
@@ -200,7 +200,7 @@ - MOBYProvider + MOBYProvider
parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
@@ -208,7 +208,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection
parseProviders()
@@ -368,7 +368,7 @@

parseProvider

-public MOBYProvider parseProvider()
+public MOBYProvider parseProvider()
Parse a provider from the model. If the model contains multiple providers, only one will be returned (at random). If @@ -385,7 +385,7 @@

parseProviders

-public MOBYUnorderedCollection parseProviders()
+public MOBYUnorderedCollection parseProviders()
Parse and return an unordered collection of providers

@@ -398,7 +398,7 @@

parseProvider

-public MOBYProvider parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
+public MOBYProvider parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
Parse a provider starting from the given resource (i.e. a resource that is the subject of an rdf:type statement with object of moby:Provider) From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:34:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9UV016864@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/vocabulary Modified Files: package-use.html VocabularyDescription.html package-tree.html package-summary.html MOBY.html package-frame.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary package-use.html,1.1,1.2 VocabularyDescription.html,1.1,1.2 package-tree.html,1.1,1.2 package-summary.html,1.1,1.2 MOBY.html,1.1,1.2 package-frame.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.vocabulary =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + VocabularyDescription =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary Class Hierarchy =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + MOBY @@ -127,6 +127,14 @@ +static java.lang.String +GRAPH_PARAMETER_NAME + +
+          When doing an HTTP POST to a Semantic MOBY provider (i.e. + + + static com.hp.hpl.jena.rdf.model.Property hasMapping @@ -143,6 +151,22 @@ +static com.hp.hpl.jena.rdf.model.Property +inputURI + +
+            + + + +static com.hp.hpl.jena.rdf.model.Property +keyword + +
+            + + + static java.lang.String LAST_MODIFIED_HEADER @@ -200,6 +224,14 @@ static com.hp.hpl.jena.rdf.model.Property +outputURI + +
+            + + + +static com.hp.hpl.jena.rdf.model.Property Property
@@ -314,6 +346,21 @@

+

+GRAPH_PARAMETER_NAME

+
+public static final java.lang.String GRAPH_PARAMETER_NAME
+
+
When doing an HTTP POST to a Semantic MOBY provider (i.e. + engaging the provider), the graph that the provider is to + operate on is stored in a parameter with this name, whose + value is a serialized RDF/XML graph. +

+

+
See Also:
Constant Field Values
+
+
+

Provider

@@ -384,6 +431,26 @@
 

+

+inputURI

+
+public static final com.hp.hpl.jena.rdf.model.Property inputURI
+
+
+
+
+
+ +

+outputURI

+
+public static final com.hp.hpl.jena.rdf.model.Property outputURI
+
+
+
+
+
+

operatesOn

@@ -432,6 +499,16 @@
 
+
+ +

+keyword

+
+public static final com.hp.hpl.jena.rdf.model.Property keyword
+
+
+
+
=================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:35:01 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9FM017006@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/class-use Modified Files: UnparsableGraphException.html NonCanonicalException.html Parser.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use UnparsableGraphException.html,1.1,1.2 NonCanonicalException.html,1.1,1.2 Parser.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.UnparsableGraphException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.NonCanonicalException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.Parser From gss at pub.open-bio.org Thu Nov 18 18:33:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:35:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINXAVF017034@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/http/class-use Modified Files: HTTPRequest.html HTTPException.html HTTPResponse.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use HTTPRequest.html,1.1,1.2 HTTPException.html,1.1,1.2 HTTPResponse.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPRequest @@ -119,6 +119,14 @@
            + + +static HTTPRequest +HTTPRequest.newHeadRequest(java.lang.String uri) + +
+            +  

=================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPResponse From gss at pub.open-bio.org Thu Nov 18 18:33:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Nov 18 18:35:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINXA26017061@pub.open-bio.org> gss Thu Nov 18 18:33:10 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/test/class-use Modified Files: ParserTest.html Test.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use ParserTest.html,1.1,1.2 Test.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html 2004/11/18 23:33:10 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.test.ParserTest =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html 2004/11/18 23:33:10 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.test.Test From gss at pub.open-bio.org Fri Nov 19 12:11:39 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:09:17 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191711.iAJHBdQ7020079@pub.open-bio.org> gss Fri Nov 19 12:11:39 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20054/src/org/sgd/vocabulary Modified Files: SGD.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary SGD.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java 2004/06/17 17:38:59 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java 2004/11/19 17:11:39 1.4 @@ -1,6 +1,6 @@ package org.sgd.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:11:51 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:09:31 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191711.iAJHBpnd020109@pub.open-bio.org> gss Fri Nov 19 12:11:51 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20084/src/org/pubs/vocabulary Modified Files: Pubs.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary Pubs.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java 2004/06/17 17:39:00 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java 2004/11/19 17:11:51 1.5 @@ -1,6 +1,6 @@ package org.pubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:12:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:09:33 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC1l8020158@pub.open-bio.org> gss Fri Nov 19 12:12:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20114/src/com/megapubs/vocabulary Modified Files: MegaPubs.java Log Message: moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary MegaPubs.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java 2004/06/17 17:38:59 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java 2004/11/19 17:12:01 1.5 @@ -1,6 +1,6 @@ package com.megapubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:12:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:09:48 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC1Ci020139@pub.open-bio.org> gss Fri Nov 19 12:12:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets In directory pub.open-bio.org:/tmp/cvs-serv20114/src/com/megapubs/servlets Modified Files: CitationSearchServlet.java Log Message: moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets CitationSearchServlet.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java 2004/05/19 18:26:48 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java 2004/11/19 17:12:01 1.5 @@ -4,8 +4,8 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.*; -import org.smoby.graph.*; +import org.semanticmoby.servlet.*; +import org.semanticmoby.graph.*; /** * This class is a concrete subclass of AbstractMobyServlet that illustrates From gss at pub.open-bio.org Fri Nov 19 12:12:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:09:50 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC850020191@pub.open-bio.org> gss Fri Nov 19 12:12:08 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20166/src/org/go/vocabulary Modified Files: Go.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary Go.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java 2004/06/17 17:38:59 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java 2004/11/19 17:12:08 1.4 @@ -1,6 +1,6 @@ package org.go.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:12:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:09:51 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHCFSu020221@pub.open-bio.org> gss Fri Nov 19 12:12:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets In directory pub.open-bio.org:/tmp/cvs-serv20196/src/com/acmepubs/servlets Modified Files: CitationSearchServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets CitationSearchServlet.java,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java 2004/07/29 23:44:37 1.12 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java 2004/11/19 17:12:14 1.13 @@ -4,9 +4,9 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.*; -import org.smoby.graph.*; -import org.smoby.vocabulary.*; +import org.semanticmoby.servlet.*; +import org.semanticmoby.graph.*; +import org.semanticmoby.vocabulary.*; import com.acmepubs.vocabulary.*; /** From gss at pub.open-bio.org Fri Nov 19 12:12:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:09:51 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHCFQ8020240@pub.open-bio.org> gss Fri Nov 19 12:12:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20196/src/com/acmepubs/vocabulary Modified Files: AcmePubs.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary AcmePubs.java,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java 2004/06/17 17:38:59 1.5 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java 2004/11/19 17:12:14 1.6 @@ -1,6 +1,6 @@ package com.acmepubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:16:35 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:14:06 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191716.iAJHGZ55020374@pub.open-bio.org> gss Fri Nov 19 12:16:35 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org In directory pub.open-bio.org:/tmp/cvs-serv20350/brebiou.cshl.org Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:14:25 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH0Qk020411@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse In directory pub.open-bio.org:/tmp/cvs-serv20387/.myeclipse Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:14:54 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH0vM020429@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings In directory pub.open-bio.org:/tmp/cvs-serv20387/.settings Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:18:37 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1LZ020612@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage In directory pub.open-bio.org:/tmp/cvs-serv20387/queries/engage Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:18:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5gE020783@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org In directory pub.open-bio.org:/tmp/cvs-serv20747 Added Files: build.xml .project .classpath .mymetadata kanani.sql Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org build.xml,NONE,1.1 .project,NONE,1.1 .classpath,NONE,1.1 .mymetadata,NONE,1.1 kanani.sql,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:18:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5JK020768@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot Added Files: get-individuals.html index.html get-individuals.rdf get-individuals.n3 Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot get-individuals.html,NONE,1.1 index.html,NONE,1.1 get-individuals.rdf,NONE,1.1 get-individuals.n3,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:18:59 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1wW020632@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src In directory pub.open-bio.org:/tmp/cvs-serv20387/src Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1CD020466@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/META-INF Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:01 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5Zs020799@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/ontologies Added Files: individualName.n3 individualName index.html Panel panelName.n3 Panel.n3 panelName Individual.n3 Individual Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies individualName.n3,NONE,1.1 individualName,NONE,1.1 index.html,NONE,1.1 Panel,NONE,1.1 panelName.n3,NONE,1.1 Panel.n3,NONE,1.1 panelName,NONE,1.1 Individual.n3,NONE,1.1 Individual,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1sb020548@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/images Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5F2020868@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/META-INF Added Files: MANIFEST.MF Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF MANIFEST.MF,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:05 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH191020569@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/ontologies Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:05 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5FO020833@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/WEB-INF Added Files: web.xml Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF web.xml,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:06 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH6t5020920@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings In directory pub.open-bio.org:/tmp/cvs-serv20747/.settings Added Files: org.eclipse.core.resources.prefs Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings org.eclipse.core.resources.prefs,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:19:08 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH15R020447@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:34:44 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Oj020485@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:34:45 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Dn020506@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF/classes Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:34:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1jn020527@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF/lib Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:34:48 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Xc020587@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries In directory pub.open-bio.org:/tmp/cvs-serv20387/queries Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:34:49 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2Jg020655@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:34:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2XY020674@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:34:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2fr020695@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl/servlets Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:35:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2MV020719@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:35:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5KO020814@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets In directory pub.open-bio.org:/tmp/cvs-serv20747/src/org/cshl/servlets Added Files: GetIndividualsWrapperServlet.java GetIndividualsServlet.java Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets GetIndividualsWrapperServlet.java,NONE,1.1 GetIndividualsServlet.java,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:35:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5jC020850@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage In directory pub.open-bio.org:/tmp/cvs-serv20747/queries/engage Added Files: example.rdf example.n3 Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage example.rdf,NONE,1.1 example.n3,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:35:04 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH56j020886@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20747/src/org/cshl/vocabulary Added Files: CSHL.java Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary CSHL.java,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri Nov 19 12:35:05 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH65I020905@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/images Added Files: cshl-logo.jpg Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images cshl-logo.jpg,NONE,1.1 From gordonp at pub.open-bio.org Mon Nov 22 12:22:23 2004 From: gordonp at pub.open-bio.org (Paul Gordon) Date: Mon Nov 22 12:19:22 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411221722.iAMHMN91008721@pub.open-bio.org> gordonp Mon Nov 22 12:22:22 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv8696/client Modified Files: CentralImpl.java Log Message: Just got rid of deprecation warnings caused by StringBufferInputStream. Replaced with ByteArrayInputStream (based on locale-dependent String.getBytes()) moby-live/Java/src/main/org/biomoby/client CentralImpl.java,1.17,1.18 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2004/10/18 14:35:06 1.17 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2004/11/22 17:22:22 1.18 @@ -203,7 +203,7 @@ // parse returned XML Document document = null; try { - document=docBuilder.parse(new StringBufferInputStream(xml)); + document=docBuilder.parse(new ByteArrayInputStream(xml.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -432,7 +432,7 @@ Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(xml)); + document = docBuilder.parse(new ByteArrayInputStream(xml.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -628,7 +628,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -668,7 +668,7 @@ // parse returned XML Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -710,7 +710,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result));} + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("serviceType"); @@ -758,7 +758,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -816,7 +816,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -893,7 +893,7 @@ // parse returned XML Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream (xmlSource)); + document = docBuilder.parse(new ByteArrayInputStream (xmlSource.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -1002,7 +1002,7 @@ // parse returned XML Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} Element service = document.getDocumentElement(); @@ -1378,7 +1378,7 @@ // parse returned XML Vector v = new Vector(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); @@ -1436,7 +1436,7 @@ // parse returned XML Map results = new HashMap(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); @@ -1493,7 +1493,7 @@ // parse returned XML Vector v = new Vector(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); From kawas at pub.open-bio.org Mon Nov 22 12:48:45 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Mon Nov 22 12:45:42 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411221748.iAMHmjgQ008806@pub.open-bio.org> kawas Mon Nov 22 12:48:45 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util In directory pub.open-bio.org:/tmp/cvs-serv8780/org/biomoby/client/gui/util Modified Files: REGEXP.java Log Message: URI typo. Eddie moby-live/Java/src/main/org/biomoby/client/gui/util REGEXP.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java 2004/09/27 21:26:54 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java 2004/11/22 17:48:45 1.4 @@ -21,7 +21,7 @@ private final static String URI = //"(^(http:\\/\\/www\\.|HTTP:\\/\\/www\\.|www\\.|http:\\/\\/|HTTP:\\/\\/)?[\\w]+\\.[\\w].*\\w$)"; //"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"; // as per rfc 2396 appendix a. - "^([\\w]+\\.[\\w]+(\\.[\\w]+)*)$"; + "^([\\w]+\\.[\\w]+(\\.[\\w]+)+)$"; private final static String URL = "(^(http:\\/\\/www\\.|HTTP:\\/\\/www\\.|http:\\/\\/|HTTP:\\/\\/)[\\w]+\\.[\\w].*(\\/\\w+(\\.{1}\\w+)*)$)"; From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:40 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaqW009799@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:43 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaLM009762@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:44 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwai4009780@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:37 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:45 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwbjr009922@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwa9L009859@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:48 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaPV009841@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets/dev Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:37 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:53 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwb2Z009944@pub.open-bio.org> gss Mon Nov 22 17:58:37 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/vocabulary/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:54 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaZP009818@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:55 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwa6B009881@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:56 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaUD009902@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/tools/db Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweEq010074@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/tools Added Files: ProviderRemover.java KeywordQuery.java URIInvestigator.java MissingPropertyException.java DiscoveryQuery.java KeywordList.java InvocationBroker.java MOBYProperties.java KeywordFinder.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools ProviderRemover.java,NONE,1.1 KeywordQuery.java,NONE,1.1 URIInvestigator.java,NONE,1.1 MissingPropertyException.java,NONE,1.1 DiscoveryQuery.java,NONE,1.1 KeywordList.java,NONE,1.1 InvocationBroker.java,NONE,1.1 MOBYProperties.java,NONE,1.1 KeywordFinder.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:55:59 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweM5010027@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets Removed Files: DiscoveryServlet.java KeywordSearchServlet.java ProviderEngagementServlet.java BaseServlet.java ResultsDisplayServlet.java ProviderInvestigationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets DiscoveryServlet.java,1.2,NONE KeywordSearchServlet.java,1.4,NONE ProviderEngagementServlet.java,1.2,NONE BaseServlet.java,1.3,NONE ResultsDisplayServlet.java,1.1,NONE ProviderInvestigationServlet.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/DiscoveryServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/KeywordSearchServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ProviderEngagementServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/BaseServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ResultsDisplayServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ProviderInvestigationServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:01 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweWR009990@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets/dev Removed Files: RepositoryPrintServlet.java OWLValidationServlet.java MOBYGraphValidationServlet.java ProviderListServlet.java GraphConversionServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev RepositoryPrintServlet.java,1.1,NONE OWLValidationServlet.java,1.2,NONE MOBYGraphValidationServlet.java,1.2,NONE ProviderListServlet.java,1.2,NONE GraphConversionServlet.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/RepositoryPrintServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/OWLValidationServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/MOBYGraphValidationServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/ProviderListServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/GraphConversionServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweBZ010107@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets/example Removed Files: HelloWorldDisplayServlet.java HelloWorldServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example HelloWorldDisplayServlet.java,1.1,NONE HelloWorldServlet.java,1.3,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example/RCS/HelloWorldDisplayServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example/RCS/HelloWorldServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweCf010005@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets/dev Added Files: RepositoryPrintServlet.java ProviderListServlet.java GraphConversionServlet.java OWLValidationServlet.java MOBYGraphValidationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev RepositoryPrintServlet.java,NONE,1.1 ProviderListServlet.java,NONE,1.1 GraphConversionServlet.java,NONE,1.1 OWLValidationServlet.java,NONE,1.1 MOBYGraphValidationServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:05 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwflo010219@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/meeting Added Files: MeetingRegistrationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting MeetingRegistrationServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:06 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwf5O010164@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/tools/db Removed Files: StorageManager.java StorageException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db StorageManager.java,1.3,NONE StorageException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db/RCS/StorageManager.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db/RCS/StorageException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:08 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwecY010126@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/vocabulary/example Added Files: Hello.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example Hello.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:09 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwewW010090@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets/example Added Files: HelloWorldDisplayServlet.java HelloWorldServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example HelloWorldDisplayServlet.java,NONE,1.1 HelloWorldServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:11 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfIR010144@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets Added Files: ProviderInvestigationServlet.java DiscoveryServlet.java ResultsDisplayServlet.java KeywordSearchServlet.java BaseServlet.java ProviderEngagementServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets ProviderInvestigationServlet.java,NONE,1.1 DiscoveryServlet.java,NONE,1.1 ResultsDisplayServlet.java,NONE,1.1 KeywordSearchServlet.java,NONE,1.1 BaseServlet.java,NONE,1.1 ProviderEngagementServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:13 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweg7010057@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/tools Removed Files: InvocationBroker.java KeywordList.java URIInvestigator.java ProviderRemover.java KeywordFinder.java MOBYProperties.java DiscoveryQuery.java MissingPropertyException.java KeywordQuery.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools InvocationBroker.java,1.1,NONE KeywordList.java,1.1,NONE URIInvestigator.java,1.3,NONE ProviderRemover.java,1.1,NONE KeywordFinder.java,1.2,NONE MOBYProperties.java,1.1,NONE DiscoveryQuery.java,1.2,NONE MissingPropertyException.java,1.1,NONE KeywordQuery.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/InvocationBroker.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordList.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/URIInvestigator.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/ProviderRemover.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordFinder.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/MOBYProperties.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/DiscoveryQuery.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/MissingPropertyException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordQuery.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:14 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfSl010201@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/tools/db Added Files: StorageManager.java StorageException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db StorageManager.java,NONE,1.1 StorageException.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:16 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfkM010235@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/meeting Removed Files: MeetingRegistrationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting MeetingRegistrationServlet.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/MeetingRegistrationServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 17:56:18 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfep010183@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/vocabulary/example Removed Files: Hello.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example Hello.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/Hello.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:14:55 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuZX010518@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/http Removed Files: HTTPResponse.java HTTPRequest.java HTTPException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/http HTTPResponse.java,1.1,NONE HTTPRequest.java,1.2,NONE HTTPException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPResponse.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPRequest.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:14:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hu2i010500@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/servlet Removed Files: AbstractMobyServlet.java ParamReader.java ParameterException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet AbstractMobyServlet.java,1.2,NONE ParamReader.java,1.1,NONE ParameterException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/AbstractMobyServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/ParamReader.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/ParameterException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:14:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuKg010577@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/vocabulary Removed Files: MOBY.java VocabularyDescription.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary MOBY.java,1.7,NONE VocabularyDescription.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/RCS/MOBY.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/RCS/VocabularyDescription.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:14:59 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HtFX010480@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/graph/tools Removed Files: MOBYProviderXMLGenerator.java MOBYProviderTraversalException.java MOBYProviderTraverser.java MOBYProviderVisitor.java MOBYProviderVisitorAdapter.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools MOBYProviderXMLGenerator.java,1.2,NONE MOBYProviderTraversalException.java,1.1,NONE MOBYProviderTraverser.java,1.2,NONE MOBYProviderVisitor.java,1.2,NONE MOBYProviderVisitorAdapter.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderXMLGenerator.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderTraversalException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderTraverser.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderVisitor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderVisitorAdapter.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuLw010556@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/tools Removed Files: Util.java ModelRetriever.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools Util.java,1.2,NONE ModelRetriever.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools/RCS/Util.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools/RCS/ModelRetriever.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hui6010536@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/parser/test Removed Files: ParserTest.java Test.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test ParserTest.java,1.1,NONE Test.java,1.3,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test/RCS/ParserTest.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test/RCS/Test.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:03 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HtH3010460@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/graph Removed Files: MOBYIntegerConstraint.java MOBYDocument.java MOBYLiteral.java MOBYResource.java MOBYFixedCollection.java MOBYResizableCollection.java MOBYNonNegativeIntegerConstraint.java MOBYPropertyValueStatement.java MOBYPropertyValue.java MOBYOntology.java MOBYMappingElement.java MOBYDescriptor.java MOBYCollection.java MOBYUnorderedCollection.java MOBYGraphNode.java MOBYObject.java MOBYSubject.java MOBYNumericConstraint.java MOBYNonPositiveIntegerConstraint.java MOBYDateConstraint.java MOBYGraphVisitor.java MOBYSingleElement.java MOBYPropertyValueConstraint.java MOBYEnumeration.java MOBYProvider.java MOBYProviderSet.java MOBYOrderedCollection.java MOBYGraph.java MOBYPropertyValueException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph MOBYIntegerConstraint.java,1.1,NONE MOBYDocument.java,1.2,NONE MOBYLiteral.java,1.2,NONE MOBYResource.java,1.2,NONE MOBYFixedCollection.java,1.2,NONE MOBYResizableCollection.java,1.2,NONE MOBYNonNegativeIntegerConstraint.java,1.1,NONE MOBYPropertyValueStatement.java,1.2,NONE MOBYPropertyValue.java,1.2,NONE MOBYOntology.java,1.2,NONE MOBYMappingElement.java,1.2,NONE MOBYDescriptor.java,1.3,NONE MOBYCollection.java,1.2,NONE MOBYUnorderedCollection.java,1.2,NONE MOBYGraphNode.java,1.2,NONE MOBYObject.java,1.2,NONE MOBYSubject.java,1.2,NONE MOBYNumericConstraint.java,1.1,NONE MOBYNonPositiveIntegerConstraint.java,1.1,NONE MOBYDateConstraint.java,1.1,NONE MOBYGraphVisitor.java,1.1,NONE MOBYSingleElement.java,1.2,NONE MOBYPropertyValueConstraint.java,1.2,NONE MOBYEnumeration.java,1.2,NONE MOBYProvider.java,1.2,NONE MOBYProviderSet.java,1.2,NONE MOBYOrderedCollection.java,1.2,NONE MOBYGraph.java,1.2,NONE MOBYPropertyValueException.! java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDocument.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYLiteral.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYResource.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYFixedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYResizableCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNonNegativeIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueStatement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValue.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYOntology.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYMappingElement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDescriptor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYUnorderedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraphNode.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYObject.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYSubject.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNumericConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNonPositiveIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDateConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraphVisitor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYSingleElement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYEnumeration.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYProvider.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYProviderSet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYOrderedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraph.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:06 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hufd010599@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/parser Removed Files: Parser.java NonCanonicalException.java UnparsableGraphException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser Parser.java,1.8,NONE NonCanonicalException.java,1.1,NONE UnparsableGraphException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/Parser.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/NonCanonicalException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/UnparsableGraphException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:36 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgKf010635@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:37 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Igwb010653@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/graph Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:41 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ig62010691@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/http Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:43 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgLU010672@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:44 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgSa010733@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/servlet Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:45 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ig4r010756@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:47 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Igrx010777@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:48 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgUt010712@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/parser Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:52 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ikhc010899@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/http Added Files: package.html HTTPRequest.java HTTPResponse.java HTTPException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http package.html,NONE,1.1 HTTPRequest.java,NONE,1.1 HTTPResponse.java,NONE,1.1 HTTPException.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:54 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ikfb010832@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/graph Added Files: MOBYProviderSet.java MOBYSubject.java MOBYOntology.java MOBYResizableCollection.java MOBYNonPositiveIntegerConstraint.java MOBYDateConstraint.java MOBYFixedCollection.java MOBYProvider.java MOBYNumericConstraint.java MOBYObject.java MOBYLiteral.java MOBYPropertyValueException.java MOBYResource.java MOBYUnorderedCollection.java MOBYGraphVisitor.java MOBYCollection.java MOBYPropertyValueConstraint.java MOBYDescriptor.java MOBYDocument.java MOBYGraphNode.java MOBYOrderedCollection.java MOBYEnumeration.java MOBYPropertyValue.java MOBYSingleElement.java MOBYIntegerConstraint.java package.html MOBYNonNegativeIntegerConstraint.java MOBYPropertyValueStatement.java MOBYGraph.java MOBYMappingElement.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph MOBYProviderSet.java,NONE,1.1 MOBYSubject.java,NONE,1.1 MOBYOntology.java,NONE,1.1 MOBYResizableCollection.java,NONE,1.1 MOBYNonPositiveIntegerConstraint.java,NONE,1.1 MOBYDateConstraint.java,NONE,1.1 MOBYFixedCollection.java,NONE,1.1 MOBYProvider.java,NONE,1.1 MOBYNumericConstraint.java,NONE,1.1 MOBYObject.java,NONE,1.1 MOBYLiteral.java,NONE,1.1 MOBYPropertyValueException.java,NONE,1.1 MOBYResource.java,NONE,1.1 MOBYUnorderedCollection.java,NONE,1.1 MOBYGraphVisitor.java,NONE,1.1 MOBYCollection.java,NONE,1.1 MOBYPropertyValueConstraint.java,NONE,1.1 MOBYDescriptor.java,NONE,1.1 MOBYDocument.java,NONE,1.1 MOBYGraphNode.java,NONE,1.1 MOBYOrderedCollection.java,NONE,1.1 MOBYEnumeration.java,NONE,1.1 MOBYPropertyValue.java,NONE,1.1 MOBYSingleElement.java,NONE,1.1 MOBYIntegerConstraint.java,NONE,1.1 package.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.java,NONE,1.1 MOBYPropertyValueStatement.java,NONE,1.1 MOBYGraph.java! ,NONE,1.1 MOBYMappingElement.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:56 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IklA010883@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/parser Added Files: UnparsableGraphException.java Parser.java package.html NonCanonicalException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser UnparsableGraphException.java,NONE,1.1 Parser.java,NONE,1.1 package.html,NONE,1.1 NonCanonicalException.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ik2b010847@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/tools Added Files: Util.java ModelRetriever.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools Util.java,NONE,1.1 ModelRetriever.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:15:59 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IkJp010816@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/graph/tools Added Files: package.html MOBYProviderTraverser.java MOBYProviderVisitor.java MOBYProviderVisitorAdapter.java MOBYProviderTraversalException.java MOBYProviderXMLGenerator.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools package.html,NONE,1.1 MOBYProviderTraverser.java,NONE,1.1 MOBYProviderVisitor.java,NONE,1.1 MOBYProviderVisitorAdapter.java,NONE,1.1 MOBYProviderTraversalException.java,NONE,1.1 MOBYProviderXMLGenerator.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ik4Y010916@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/vocabulary Added Files: MOBY.java VocabularyDescription.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary MOBY.java,NONE,1.1 VocabularyDescription.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IkRr010865@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/servlet Added Files: AbstractMobyServlet.java ParameterException.java ParamReader.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet AbstractMobyServlet.java,NONE,1.1 ParameterException.java,NONE,1.1 ParamReader.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:35 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSQq011030@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:37 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSf4011110@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:42 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTY5011195@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:43 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JT1X011173@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/servlet Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:45 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUQC011342@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSYq011008@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:49 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSaM010990@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:51 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSrv010971@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:52 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSuX010953@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:56 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTaV011213@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:57 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSeU011071@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/http/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:16:59 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSo1011089@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:01 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSw1011131@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:16 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTV4011274@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:17 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTs8011296@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:19 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUWq011314@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:21 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JU92011403@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:23 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTtl011151@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:25 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JU2T011384@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:26 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTgc011232@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:28 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JS0Y011050@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/http Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:31 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTwG011254@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:32 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUUT011362@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/graph/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:36 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K1gb011957@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org In directory pub.open-bio.org:/tmp/cvs-serv11428 Modified Files: .classpath Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org .classpath,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/04 22:31:36 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/23 00:20:01 1.3 @@ -11,6 +11,7 @@ + @@ -19,6 +20,5 @@ - From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:41 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Ut012070@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/test/class-use Added Files: Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:17:46 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JuiK011506@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/test Added Files: package-use.html package-frame.html package-tree.html package-summary.html Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test package-use.html,NONE,1.1 package-frame.html,NONE,1.1 package-tree.html,NONE,1.1 package-summary.html,NONE,1.1 Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:04 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jw6l011813@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/tools/class-use Added Files: MOBYProviderXMLGenerator.html MOBYProviderVisitorAdapter.html MOBYProviderTraverser.html MOBYProviderTraversalException.html MOBYProviderVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 MOBYProviderVisitor.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:05 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jt1I011459@pub.open-bio.org> gss Mon Nov 22 19:19:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph Added Files: MOBYOntology.html MOBYUnorderedCollection.html MOBYIntegerConstraint.html MOBYPropertyValue.html MOBYObject.html MOBYPropertyValueException.html MOBYNonPositiveIntegerConstraint.html package-frame.html MOBYProvider.html MOBYNonNegativeIntegerConstraint.html package-tree.html MOBYNumericConstraint.html MOBYCollection.html MOBYResizableCollection.html MOBYPropertyValueStatement.html MOBYGraphVisitor.html MOBYDateConstraint.html MOBYEnumeration.html MOBYProviderSet.html MOBYResource.html MOBYSingleElement.html MOBYDescriptor.html package-summary.html MOBYGraph.html MOBYPropertyValueConstraint.html package-use.html MOBYDocument.html MOBYLiteral.html MOBYMappingElement.html MOBYOrderedCollection.html MOBYGraphNode.html MOBYFixedCollection.html MOBYSubject.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph MOBYOntology.html,NONE,1.1 MOBYUnorderedCollection.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 MOBYPropertyValue.html,NONE,1.1 MOBYObject.html,NONE,1.1 MOBYPropertyValueException.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 package-frame.html,NONE,1.1 MOBYProvider.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYNumericConstraint.html,NONE,1.1 MOBYCollection.html,NONE,1.1 MOBYResizableCollection.html,NONE,1.1 MOBYPropertyValueStatement.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYEnumeration.html,NONE,1.1 MOBYProviderSet.html,NONE,1.1 MOBYResource.html,NONE,1.1 MOBYSingleElement.html,NONE,1.1 MOBYDescriptor.html,NONE,1.1 package-summary.html,NONE,1.1 MOBYGraph.html,NONE,1.1 MOBYPropertyValueConstraint.html,NONE,1.1 package-use.html,NONE,1.1 MOBYDocument.html,NONE,1.1 MOBYLiteral.html! ,NONE,1.1 MOBYMappingElement.html,NONE,1.1 MOBYOrderedCollection.html,NONE,1.1 MOBYGraphNode.html,NONE,1.1 MOBYFixedCollection.html,NONE,1.1 MOBYSubject.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:07 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Juqh011490@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/tools Added Files: MOBYProviderVisitor.html package-frame.html MOBYProviderVisitorAdapter.html MOBYProviderTraverser.html package-use.html MOBYProviderXMLGenerator.html package-summary.html package-tree.html MOBYProviderTraversalException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools MOBYProviderVisitor.html,NONE,1.1 package-frame.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 package-use.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:09 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K11J011996@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use Added Files: AbstractMobyServlet.html ParameterException.html ParamReader.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use AbstractMobyServlet.html,NONE,1.1 ParameterException.html,NONE,1.1 ParamReader.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:10 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JxTO011885@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/vocabulary Added Files: MOBY.html package-use.html VocabularyDescription.html package-tree.html package-frame.html package-summary.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary MOBY.html,NONE,1.1 package-use.html,NONE,1.1 VocabularyDescription.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 package-summary.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:12 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JxCi011916@pub.open-bio.org> gss Mon Nov 22 19:19:59 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/tools Added Files: ModelRetriever.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools ModelRetriever.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:14 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K0Zs011931@pub.open-bio.org> gss Mon Nov 22 19:20:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/tools/class-use Added Files: ModelRetriever.html Util.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use ModelRetriever.html,NONE,1.1 Util.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:15 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jwb6011847@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/test Added Files: package-use.html Test.html package-summary.html package-tree.html package-frame.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test package-use.html,NONE,1.1 Test.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:17 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K1Yt011973@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/http Added Files: HTTPResponse.html HTTPRequest.html HTTPException.html package-tree.html package-frame.html package-use.html package-summary.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http HTTPResponse.html,NONE,1.1 HTTPRequest.html,NONE,1.1 HTTPException.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 package-use.html,NONE,1.1 package-summary.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:19 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwCJ011831@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/test Added Files: package-use.html Test.html package-summary.html package-frame.html ParserTest.html package-tree.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test package-use.html,NONE,1.1 Test.html,NONE,1.1 package-summary.html,NONE,1.1 package-frame.html,NONE,1.1 ParserTest.html,NONE,1.1 package-tree.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:20 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Juwu011526@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/class-use Added Files: MOBYNonPositiveIntegerConstraint.html MOBYNumericConstraint.html MOBYDateConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYGraphVisitor.html MOBYIntegerConstraint.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/class-use MOBYNonPositiveIntegerConstraint.html,NONE,1.1 MOBYNumericConstraint.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:23 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jv9M011732@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/class-use Added Files: MOBYIntegerConstraint.html MOBYLiteral.html MOBYResizableCollection.html MOBYPropertyValueStatement.html MOBYOntology.html MOBYResource.html MOBYDateConstraint.html MOBYMappingElement.html MOBYSingleElement.html MOBYProviderSet.html MOBYObject.html MOBYProvider.html MOBYPropertyValueException.html MOBYEnumeration.html MOBYGraphNode.html MOBYGraphVisitor.html MOBYDocument.html MOBYOrderedCollection.html MOBYFixedCollection.html MOBYCollection.html MOBYDescriptor.html MOBYPropertyValueConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYUnorderedCollection.html MOBYSubject.html MOBYGraph.html MOBYPropertyValue.html MOBYNumericConstraint.html MOBYNonPositiveIntegerConstraint.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use MOBYIntegerConstraint.html,NONE,1.1 MOBYLiteral.html,NONE,1.1 MOBYResizableCollection.html,NONE,1.1 MOBYPropertyValueStatement.html,NONE,1.1 MOBYOntology.html,NONE,1.1 MOBYResource.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYMappingElement.html,NONE,1.1 MOBYSingleElement.html,NONE,1.1 MOBYProviderSet.html,NONE,1.1 MOBYObject.html,NONE,1.1 MOBYProvider.html,NONE,1.1 MOBYPropertyValueException.html,NONE,1.1 MOBYEnumeration.html,NONE,1.1 MOBYGraphNode.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYDocument.html,NONE,1.1 MOBYOrderedCollection.html,NONE,1.1 MOBYFixedCollection.html,NONE,1.1 MOBYCollection.html,NONE,1.1 MOBYDescriptor.html,NONE,1.1 MOBYPropertyValueConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYUnorderedCollection.html,NONE,1.1 MOBYSubject.html,NONE,1.1 MOBYGraph.html,NONE,1.1 MOBYPropertyValue.html,NONE,1.1 MOBYNumericConstr! aint.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:33 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JvUT011631@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/index-files Modified Files: index-8.html index-9.html index-12.html index-16.html index-2.html index-13.html index-6.html index-14.html index-15.html index-11.html index-10.html index-5.html index-3.html index-1.html index-4.html index-7.html Added Files: index-18.html index-17.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files index-18.html,NONE,1.1 index-17.html,NONE,1.1 index-8.html,1.2,1.3 index-9.html,1.2,1.3 index-12.html,1.2,1.3 index-16.html,1.2,1.3 index-2.html,1.2,1.3 index-13.html,1.2,1.3 index-6.html,1.2,1.3 index-14.html,1.2,1.3 index-15.html,1.2,1.3 index-11.html,1.2,1.3 index-10.html,1.2,1.3 index-5.html,1.2,1.3 index-3.html,1.2,1.3 index-1.html,1.2,1.3 index-4.html,1.2,1.3 index-7.html,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + K-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + L-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + O-Index @@ -85,7 +85,9 @@ Static variable in class org.semanticmoby.vocabulary.MOBY

 
org.semanticmoby.graph - package org.semanticmoby.graph
Contains classes for manipulating the Semantic MOBY canonical graph -structure, which is potentially embedded in a larger graph structure.
org.semanticmoby.graph.tools - package org.semanticmoby.graph.tools
Utility classes that work with the org.semanticmoby.graph classes.
org.semanticmoby.http - package org.semanticmoby.http
 
org.semanticmoby.parser - package org.semanticmoby.parser
 
org.semanticmoby.parser.test - package org.semanticmoby.parser.test
 
org.semanticmoby.servlet - package org.semanticmoby.servlet
 
org.semanticmoby.test - package org.semanticmoby.test
&nbs! p;
org.semanticmoby.tools - package org.semanticmoby.tools
 
org.semanticmoby.vocabulary - package org.semanticmoby.vocabulary
 
outputURI - +structure, which is potentially embedded in a larger graph structure.
org.semanticmoby.graph.tools - package org.semanticmoby.graph.tools
Utility classes that work with the org.semanticmoby.graph classes.
org.semanticmoby.http - package org.semanticmoby.http
Classes that facilitate making HTTP requests.
org.semanticmoby.parser - package org.semanticmoby.parser
Classes for parsing a Jena2 graph into a canonical graph structure +represented by classes in the org.semanticmoby.graph package.
org.semanticmoby.servlet - package org.semanticmoby.servlet
Classes to facilitate building Semantic MOBY services using Java servlets.
org.semanticmoby.tools - package org.semanticmoby.tools
Utility classes that are useful when building providers.
org.semanticmoby.vocabulary - package org.semanticmoby.vocabulary
A package containing constant classes with predefined constant +objects for RDF classes and properties.
outputURI - Static variable in class org.semanticmoby.vocabulary.MOBY
  =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + T-Index @@ -75,33 +75,6 @@

T

-
Test - class org.semanticmoby.parser.test.Test.
 
Test() - -Constructor for class org.semanticmoby.parser.test.Test -
  -
Test - class org.semanticmoby.test.Test.
 
Test() - -Constructor for class org.semanticmoby.test.Test -
  -
testMinimalParsableFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
  -
testMultipleProviders() - -Method in class org.semanticmoby.parser.test.ParserTest -
  -
testNonExistentFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
Test that trying to parse from a non-existent file correctly throws - an UnparsableGraphException -
testNullFileName() - -Method in class org.semanticmoby.parser.test.ParserTest -
Test that trying to parse from a non-existent file correctly throws - an UnparsableGraphException -
testSingleProvider() - -Method in class org.semanticmoby.parser.test.ParserTest -
  -
testUnparsableFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
Test that trying to parse from an unparsable file correctly - throws an UnparsableGraphException
toString() - Method in class org.semanticmoby.graph.MOBYPropertyValueStatement
  =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + D-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + P-Index @@ -87,9 +87,6 @@ objects that implement interfaces from the org.semanticmoby.graph package.
Parser(Model) - Constructor for class org.semanticmoby.parser.Parser
Create an instance for parsing the given model. -
ParserTest - class org.semanticmoby.parser.test.ParserTest.
 
ParserTest(String, String) - -Constructor for class org.semanticmoby.parser.test.ParserTest -
Create a test case with the given name and file name
Property - Static variable in class org.semanticmoby.vocabulary.MOBY
  =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + H-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + R-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + S-Index @@ -101,9 +101,6 @@
size() - Method in class org.semanticmoby.graph.MOBYProviderSet
Return the size of the set -
suite() - -Static method in class org.semanticmoby.parser.test.ParserTest -
 

=================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + N-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + M-Index @@ -199,13 +199,7 @@ which the order of the elements is not defined.
MOBYUnorderedCollection(Resource, List, Model) - Constructor for class org.semanticmoby.graph.MOBYUnorderedCollection
  -
ModelRetriever - class org.semanticmoby.tools.ModelRetriever.
 
main(String[]) - -Static method in class org.semanticmoby.parser.test.Test -
  -
main(String[]) - -Static method in class org.semanticmoby.test.Test -
  -
mapsTo - +
ModelRetriever - class org.semanticmoby.tools.ModelRetriever.
 
mapsTo - Static variable in class org.semanticmoby.vocabulary.MOBY
  =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + G-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + E-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + A-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + F-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + I-Index From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:36 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Ju3A011543@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser Added Files: package-use.html UnparsableGraphException.html package-tree.html package-summary.html NonCanonicalException.html Parser.html package-frame.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser package-use.html,NONE,1.1 UnparsableGraphException.html,NONE,1.1 package-tree.html,NONE,1.1 package-summary.html,NONE,1.1 NonCanonicalException.html,NONE,1.1 Parser.html,NONE,1.1 package-frame.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:38 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JuH0011474@pub.open-bio.org> gss Mon Nov 22 19:19:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/tools Added Files: package-summary.html package-frame.html ModelRetriever.html Util.html package-use.html package-tree.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools package-summary.html,NONE,1.1 package-frame.html,NONE,1.1 ModelRetriever.html,NONE,1.1 Util.html,NONE,1.1 package-use.html,NONE,1.1 package-tree.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:42 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jvkq011747@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use Added Files: MOBYProviderVisitor.html MOBYProviderTraverser.html MOBYProviderVisitorAdapter.html MOBYProviderXMLGenerator.html MOBYProviderTraversalException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use MOBYProviderVisitor.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:44 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K21t012052@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use Added Files: ParserTest.html Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use ParserTest.html,NONE,1.1 Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:47 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JvC6011646@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph Added Files: MOBYNumericConstraint.html MOBYIntegerConstraint.html MOBYNonPositiveIntegerConstraint.html MOBYDateConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYGraphVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph MOBYNumericConstraint.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:50 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2ha012037@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/http/class-use Added Files: HTTPRequest.html HTTPResponse.html HTTPException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use HTTPRequest.html,NONE,1.1 HTTPResponse.html,NONE,1.1 HTTPException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:52 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jxsm011900@pub.open-bio.org> gss Mon Nov 22 19:19:59 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use Added Files: VocabularyDescription.html MOBY.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use VocabularyDescription.html,NONE,1.1 MOBY.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:54 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2u8012134@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot Modified Files: index.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot index.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/04 22:27:42 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/23 00:20:02 1.5 @@ -1,71 +1,120 @@ + Semantic MOBY +
-

-Semantic -MOBY -

+

Semantic MOBY

+
+
+ + +
+ + + + +
+ MOBY Autumn 2004 Meeting +
+ November 20-21 — Santa Fe, New Mexico +
+ Register Now! +
+
+

- +
+
+ +
- - - - - - - - + + + + + + + + + + + + + + +
ProviderSubjectObject
ProviderSubjectObject
+
+
+ +
Type any terms into the boxes above and +press Search
+(for example type 'hello' (without quotes) into the Provider field,
+or to see all providers, type just an asterisk (*) into the
+Provider field and leave the other fields blank)

-
-Type any terms into the boxes above and press Search -
-(for example type 'hello' (without quotes) into the Provider field, -
-or to see all providers, type just an asterisk (*) into the -
-Provider field and leave the other fields blank) -

- +
+
+ +

+About Semantic MOBY   Help on Searching

-About Semantic MOBY   -Help on Searching -


- - - - - - - - - - - -
- - CSHL - - NCGR - - NSF
- CSHL - NCGR - NSF

- + +

+
+
+ From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:56 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jw9a011762@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/tools Added Files: MOBYProviderTraversalException.html package-frame.html package-use.html MOBYProviderTraverser.html package-summary.html package-tree.html MOBYProviderVisitorAdapter.html MOBYProviderXMLGenerator.html MOBYProviderVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools MOBYProviderTraversalException.html,NONE,1.1 package-frame.html,NONE,1.1 package-use.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderVisitor.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:18:58 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwvO011865@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/servlet Added Files: package-frame.html package-use.html ParamReader.html package-summary.html ParameterException.html package-tree.html AbstractMobyServlet.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet package-frame.html,NONE,1.1 package-use.html,NONE,1.1 ParamReader.html,NONE,1.1 package-summary.html,NONE,1.1 ParameterException.html,NONE,1.1 package-tree.html,NONE,1.1 AbstractMobyServlet.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:19:00 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Zt012019@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/class-use Added Files: NonCanonicalException.html Parser.html UnparsableGraphException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use NonCanonicalException.html,NONE,1.1 Parser.html,NONE,1.1 UnparsableGraphException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:19:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwoF011798@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/meeting Modified Files: index.html lodging.html registration-form.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting index.html,1.1,1.2 lodging.html,1.1,1.2 registration-form.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html 2004/11/23 00:19:57 1.2 @@ -1,56 +1,57 @@ - -MOBY Autumn 2004 Meeting + + MOBY Autumn 2004 Meeting - + - - - - - - - + style="width: 100%; background-color: rgb(239, 201, 144); text-align: left;" + border="1" cellpadding="0" cellspacing="0"> + + + + + + +

-
-
-
- MOBY logo
-
-

MOBY Autumn 2004 Meeting

-
-

November - 20-21* (Sat-Sun)

- -
-

Santa - Fe, New Mexico USA

-
* Mark Wilkinson will - give a talk on MOBY Services at NCGR on
- Friday, November 19 at 4:00 - PM MST, so consider coming a day early.
- All conference participants are welcome!
-
-
-

-
-
-
-     NCGR logo    -
-

+
+
+
+ MOBY logo
+
+

MOBY Autumn 2004 Meeting

+

November +20-21* (Sat-Sun)

+ +

Santa +Fe, New Mexico USA

+

Register Now!

+
* Mark Wilkinson will +give a talk on MOBY Services at NCGR on
+ Friday, November 19 at +4:00 PM MST, so consider coming a day early.
+All conference participants are welcome!
+
+
+

+
+
+
+    NCGR logo   
+

Audience

@@ -66,19 +67,190 @@ provides a good overview of the city and its attractions.

Agenda

-The agenda has not yet been set, but please post suggestions to either -of the MOBY mailing lists ( +The agenda is as follows; however, feel free to post suggestions for +additions to either of the MOBY mailing lists ( moby-l for general discussions, moby-dev -for developers) and check back here for updates. We will start no later -than 9:00 a.m. on Saturday, and finish no later than 3:00 p.m. on Sunday -in order to allow those participants wishing to leave on Sunday to reach -the airport for early evening flights. +for developers) and check back here for updates. +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  
+
Saturday, +November 20

+
8:00 +am   Van/car picks up participants at Hotel Santa Fe and Garrett's +Desert Inn

+
8:30 +am   
+
Bagels and coffee

+
9:00 +am   
+
Semantic MOBY (Damian Gessler)

+
10:00 +am   
+
Taverna (Martin Senger)

+
10:45 +am   
+
Break

+
11:00 +am   
+
MOBY Services (Mark Wilkinson)

+
12:00 +pm   
+
Lunch provided

+
1:00 +pm   
+
Virtual Plant Network (Bill Beavis, discussion leader)

+
2:00 +pm   
+
Conceptual ways to merge S-MOBY, MOBY-S, and MyGrid in a +real-world application (joined by Phil Lord via telecon; Manchester is +seven hours ahead of Santa Fe)

+
3:00 pm  
+
Break
+

+
6:00 +pm   
+
Dinner

+

+

+

+
Sunday, +November 21, 2004
+

+
8:30 +am    Van/car picks up participants at Hotel Santa Fe and Garrett's +Desert Inn

+
9:00 +am   
+
Bagels and coffee

+
9:30 +am   
+
Technical challenges to merging S-MOBY, MOBY-S, and MyGrid

+
10:45 pm  
+
Break
+

+
12:00 pm   
+
Lunch

+
1:00 pm   
+
Next steps
+

+
3:00 pm   
+
End of meeting
+

Meals

-A contentinental breakfast and lunch will be provided on Saturday and -Sunday as part of the registration fee; please contact Gary Schiltz +A contentinental breakfast (bagels, coffee, tea) and lunch (sandwiches) +will be provided on Saturday and Sunday as part of the registration +fee; +please contact Gary Schiltz <gss@ncgr.org> with any special food requirements you may have. We will self organize for dinners and social events at the end of the meeting days. @@ -87,8 +259,8 @@ The Hotel Santa Fe has been chosen as the de facto conference hotel to facilitate informal -discussions and socializing after the meeting. However, as a popular -tourist destination, Santa Fe has a wide range of +discussions and socializing after the meeting on Saturday evening. +However, as a popular tourist destination, Santa Fe has a wide range of acommodations from hostels to inexpensive hotels to luxury hotels. Since the conference date is well past the summer tourist season and before ski @@ -105,7 +277,8 @@ ABQ ), located slightly over one hour from Santa Fe. Several shuttle services -offer inexpensive transportation between the Sunport and major hotels in +offer inexpensive transportation between the Sunport and major hotels +in Santa Fe.

Local Transportation

@@ -118,7 +291,10 @@

Registration

Please fill out the following registration form -in advance of the conference date. +in advance of the conference date. Registration cost for the meeting is +$50 US, which covers continental breakfast and lunch on Saturday and +Sunday, and transportation between your hotel and NCGR. We will accept +cash or check made payable to NCGR.

Questions

Please contact Gary Schiltz =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html 2004/11/23 00:19:57 1.2 @@ -1,12 +1,16 @@ + + Santa Fe Acommodations - -

Accommodations

+

Accommodations

+


The Hotel Santa Fe has been chosen as the de facto conference hotel to facilitate informal @@ -16,68 +20,113 @@ date is well past the summer tourist season and before ski season, a quick glance at online travel sites confirms that prices are at their lowest of the year during the conference.

+

The following hotels, except the Residence Inn, are within walking distance of the Santa Fe Plaza (famous downtown area). Less conveniently -located hotels and motels are considerably less expensive.
-

- + +
- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + - - - - + + + + + + + - - - - + + + + + +
  Hotel  Single - Rate *  PhoneWeb Site
  Hotel Santa - Fe   $99  - 800-727-5531 www.hotelsantafe.com
  Garrett's Desert Inn   $79  800-888-2145   Hotel  Single Rate + 1  PhoneWeb Site
  Hotel Santa Fe +

   $124

+
  800-727-5531 www.hotelsantafe.com/home.html 2
  Garrett's Desert Inn +

   $94

+
  800-888-2145 www.garrettsdesertinn.com
  Hotel Loretto   $159  800-727-5531   Hotel Loretto +

   $159

+
  800-727-5531 www.hotelloretto.com
  Eldorado Hotel   $159  800-955-4455   Eldorado Hotel +

   $209

+
  800-955-4455 www.eldoradohotel.com
  Residence Inn Santa Fe   $129  505-988-7300   Residence Inn Santa Fe +

   $109

+
  505-988-7300 marriott.com/property/propertyPage.mi?
  marshaCode=SAFNM
-
-* These rates are approximate, and should be used for information only -as they are subject to change by the respective hotels. Prices are the -least expensive price per night, in US dollars, listed on the hotel's -web site for one person for the conference dates. -
-
-
-
+

Notes:

+
    +
  1. These rates are approximate, and should be used for information + only as they are subject to change by the respective hotels. Prices are + the least expensive price per night, in US dollars, listed on the + hotel's web site for one person for the conference dates.
    +
    +
  2. +
  3. From the Hotel Santa Fe web site, click on "RATES & + RESERVATIONS" link on the left side of the page. In the new + browser window that opens, select arrival and departure dates and click + the "Check Availability" button. Under "Rate Type - Hot Internet + Rates," the "Hotel Santa Fe-Traditional King" rate seems to be the + least expensive ($124/night the last I checked), although the rate has + changed several times since I started checking. + +
    +
  4. +
+ =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html 2004/11/23 00:19:57 1.2 @@ -1,32 +1,40 @@ + MOBY Meeting Registration Form - - - - @@ -43,46 +51,69 @@ * Indicates a Required field

-
Note: There will be a -small fee to cover meeting expenses, which we
-will collect at the time of the meeting; details to follow shortly.
-
-
+
Note: There is a fee of $50 +US per person to cover meeting expenses, which we
+will collect at the time of the meeting. This covers continental +breakfast and lunch
+
on Saturday and Sunday, +plus transportation between your hotel and NCGR.
+
 
+
We will accept cash or +checks made payable to NCGR.
+
+ + -
MOBY logo
-

Registration + +

+

Registration Form

-

MOBY + +

MOBY Autumn 2004 Meeting

-

November 20-21 - (Sat-Sun), 2004

-

Santa Fe, New Mexico USA

+ +

November + 20-21 (Sat-Sun), 2004

+ +

Santa Fe, New Mexico USA

      NCGR logo   
- + + + - + + + - + + + - + + + - + + + - + +
Name *
Institution *
Email address *
Work phone
Cell phone
Hotel where you will be staying
in Santa Fe (if known)

- + +

From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:19:04 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2p0012108@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/test/class-use Added Files: Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon Nov 22 19:19:06 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Yr012087@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/tools/class-use Added Files: ModelRetriever.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use ModelRetriever.html,NONE,1.1 From kawas at pub.open-bio.org Tue Nov 30 10:15:58 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Tue Nov 30 10:12:02 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411301515.iAUFFwgf018653@pub.open-bio.org> kawas Tue Nov 30 10:15:57 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv18632 Added Files: MobyXMLConstants.pm Log Message: The all important file that I forgot to add!?! Includes constants, etc moby-live/Perl/MOBY MobyXMLConstants.pm,NONE,1.1 From kawas at pub.open-bio.org Thu Nov 18 12:38:44 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Thu Dec 9 09:39:40 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411181741.iAIHfGVX013940@pub.open-bio.org> kawas Thu Nov 18 12:41:15 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv13854 Modified Files: Central.pm CommonSubs.pm Config.pm CrossReference.pm OntologyServer.pm authority.pm central_db_connection.pm collection_input.pm collection_output.pm dbConfig.pm mysql.pm secondary_input.pm service_instance.pm service_type.pm simple_input.pm simple_output.pm Log Message: Converted XML:DOM -> XML::LibXML and applicable module calls Eddie moby-live/Perl/MOBY Central.pm,1.141,1.142 CommonSubs.pm,1.53,1.54 Config.pm,1.5,1.6 CrossReference.pm,1.2,1.3 OntologyServer.pm,1.45,1.46 authority.pm,1.1,1.2 central_db_connection.pm,1.5,1.6 collection_input.pm,1.2,1.3 collection_output.pm,1.2,1.3 dbConfig.pm,1.3,1.4 mysql.pm,1.1,1.2 secondary_input.pm,1.1,1.2 service_instance.pm,1.8,1.9 service_type.pm,1.1,1.2 simple_input.pm,1.4,1.5 simple_output.pm,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.141 retrieving revision 1.142 diff -u -r1.141 -r1.142 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/09/16 22:21:01 1.141 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/11/18 17:41:14 1.142 @@ -10,7 +10,7 @@ use strict; use Carp; use vars qw($AUTOLOAD $WSDL_TEMPLATE); -use XML::DOM; +use XML::LibXML; use MOBY::OntologyServer; use MOBY::service_type; use MOBY::authority; @@ -30,10 +30,14 @@ use RDF::Core::Model::Serializer; use RDF::Core::Storage::Memory; use RDF::Core::Constants qw(:xml :rdf :rdfs); - +use MOBY::MobyXMLConstants; my $debug = 0; -if ($debug){open (OUT, ">/tmp/CentralRegistryLogOut.txt") || die "cant open logfile\n";print OUT "created logfile\n";close OUT;} +if ( $debug ) { + open( OUT, ">/tmp/CentralRegistryLogOut.txt" ) || die "cant open logfile\n"; + print OUT "created logfile\n"; + close OUT; +} =head1 SYNOPSIS @@ -86,7 +90,6 @@ =cut - =head1 CONFIGURATION This depends on a config file to get its database connection information. At a minimum @@ -130,7 +133,6 @@ =cut - =head1 Registration XML Object This is sent back to you for all registration and @@ -155,22 +157,20 @@ =cut - sub Registration { - my ( $details) = @_; - my $id = $details->{id}; - my $success = $details->{success}; - my $message = $details->{message}; - my $RDF = ""; - $RDF = $details->{RDF}; - - -# return " -# $id -# $success -# -# -# "; + my ( $details ) = @_; + my $id = $details->{id}; + my $success = $details->{success}; + my $message = $details->{message}; + my $RDF = ""; + $RDF = $details->{RDF}; + + # return " + # $id + # $success + # + # + # "; return " $id $success @@ -178,9 +178,12 @@ $RDF "; } - =cut + + + + =head1 METHODS @@ -192,14 +195,12 @@ =cut - sub new { - my ($caller, %args) = @_; + my ( $caller, %args ) = @_; print STDERR "\nuse of MOBY::Central->new is deprecated\n"; return 0; } - =head2 registerObjectClass The registerObjectClass call is: @@ -253,137 +254,185 @@ =cut - sub registerObjectClass { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message); - my $OntologyServer = &_getOntologyServer(ontology => 'object'); - my $RelOntologyServer = &_getOntologyServer(ontology => 'relationship'); - - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $desc, $relationships, $email, $auth, $clobber) = &_registerObjectPayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nemail $email\nauth $auth\nclobber $clobber\n\n"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - if ($term =~ /FAILED/){return &_error("Malformed XML;","");} - return &_error("Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; - return &_error("Object name may not contain spaces or other characters invalid in a URN","") if $term =~ /\s\"\&\<\>\[\]\^\`\{\|\}\~/; - if ($term =~ m"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?"){ # matches a URI - return &_error("Object name may not be an URN or URI","") if $1; - } - - my $ISAs; - # validate that the final ontology will be valid by testing against existing relationships and such - while (my ($reltype, $obj) = each %{$relationships}){ - my ($success, $message, $URI) = $RelOntologyServer->relationshipExists(term => $reltype, ontology => 'object'); # success = 1 if it does - $success==0 && return &_error($message, $URI ); - foreach (@{$obj}){ - ++$ISAs if ($URI =~ /isa$/i); - my ($objectType, $articleName) = @{$_}; - my ($success, $message, $URI) = $OntologyServer->objectExists(term => $objectType); # success = 1 if it does - $success==0 && return &_error($message, $URI ); - } - } - return &_error("Object must have exactly one ISA parent in the MOBY Object ontology") unless $ISAs == 1; - - $clobber = defined($clobber)?$clobber:0; - $clobber = 0 unless ($clobber eq 0 || $clobber eq 1 || $clobber eq 2); # safety! - my ($exists, $exists_message, $URI) = $OntologyServer->objectExists(term => $term); # success = 1 if it does - (($exists==1 && !$clobber) && return &_error("Object $term already exists", $URI)); - - $clobber = 0 unless ($exists); # it makes no sense to clobber something that doesnt' exist - if ($exists){ - if ($clobber == 1){ - my ($success, $message) = $OntologyServer->deprecateObject(term => $term); - $success==0 && return &_error($message, $URI); - } elsif ($clobber == 2) { - my ($success, $message) = $OntologyServer->deleteObject(term => $term); - $success==0 && return &_error($message, $URI); - } - } - - ($success, $message, $URI) = $OntologyServer->createObject( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - + my ( $pkg, $payload ) = @_; + my ( $success, $message ); + my $OntologyServer = &_getOntologyServer( ontology => 'object' ); + my $RelOntologyServer = &_getOntologyServer( ontology => 'relationship' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $desc, $relationships, $email, $auth, $clobber ) = + &_registerObjectPayload( $payload ); + $debug + && &_LOG( +"\n\nterm $term\ndesc $desc\nemail $email\nauth $auth\nclobber $clobber\n\n" ); + + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + if ( $term =~ /FAILED/ ) { return &_error( "Malformed XML;", "" ); } + return &_error( +"Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; + return &_error( +"Object name may not contain spaces or other characters invalid in a URN", + "" + ) + if $term =~ /\s\"\&\<\>\[\]\^\`\{\|\}\~/; + if ( $term =~ m"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?" ) + { # matches a URI + return &_error( "Object name may not be an URN or URI", "" ) if $1; + } + my $ISAs; + +# validate that the final ontology will be valid by testing against existing relationships and such + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + my ( $success, $message, $URI ) = + $RelOntologyServer->relationshipExists( term => $reltype, + ontology => 'object' ); # success = 1 if it does + $success == 0 && return &_error( $message, $URI ); + foreach ( @{$obj} ) { + ++$ISAs if ( $URI =~ /isa$/i ); + my ( $objectType, $articleName ) = @{$_}; + my ( $success, $message, $URI ) = + $OntologyServer->objectExists( term => $objectType ) + ; # success = 1 if it does + $success == 0 && return &_error( $message, $URI ); + } + } + return &_error( + "Object must have exactly one ISA parent in the MOBY Object ontology" ) + unless $ISAs == 1; + $clobber = defined( $clobber ) ? $clobber : 0; + $clobber = 0 + unless ( $clobber eq 0 || $clobber eq 1 || $clobber eq 2 ); # safety! + my ( $exists, $exists_message, $URI ) = + $OntologyServer->objectExists( term => $term ); # success = 1 if it does + ( ( $exists == 1 && !$clobber ) + && return &_error( "Object $term already exists", $URI ) ); + $clobber = 0 + unless ( $exists ) + ; # it makes no sense to clobber something that doesnt' exist + if ( $exists ) { + + if ( $clobber == 1 ) { + my ( $success, $message ) = + $OntologyServer->deprecateObject( term => $term ); + $success == 0 && return &_error( $message, $URI ); + } elsif ( $clobber == 2 ) { + my ( $success, $message ) = + $OntologyServer->deleteObject( term => $term ); + $success == 0 && return &_error( $message, $URI ); + } + } + ( $success, $message, $URI ) = $OntologyServer->createObject( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); my @failures; - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - foreach (@{$obj}){ - my ($objectType, $articleName) = @{$_}; - my ($success, $message) = $OntologyServer->addObjectRelationship( - subject_node => $term, - relationship => $reltype, - object_node => $objectType, - articleName => $articleName, - authority => $auth, - contact_email => $email); - $success==0 && push @failures, $objectType; - } - } - } - - if (scalar(@failures)){ - my ($success, $message, $deleteURI) = $OntologyServer->deleteObject(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error("object failed ISA and/or HASA connections, + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + foreach ( @{$obj} ) { + my ( $objectType, $articleName ) = @{$_}; + my ( $success, $message ) = + $OntologyServer->addObjectRelationship( + subject_node => $term, + relationship => $reltype, + object_node => $objectType, + articleName => $articleName, + authority => $auth, + contact_email => $email + ); + $success == 0 && push @failures, $objectType; + } + } + } + if ( scalar( @failures ) ) { + my ( $success, $message, $deleteURI ) = + $OntologyServer->deleteObject( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( + "object failed ISA and/or HASA connections, and subsequently failed deletion. This is a critical error, - and may indicate corruption of the MOBY Central registry.", $deleteURI); - return &_error("object failed to register due to failure during registration of ISA/HASA relationships".(join ",", (@failures))."\n", ""); + and may indicate corruption of the MOBY Central registry.", $deleteURI + ); + return &_error( +"object failed to register due to failure during registration of ISA/HASA relationships" + . ( join ",", ( @failures ) ) . "\n", + "" + ); } - return &_success("Object $term registered successfully.", $URI); + return &_success( "Object $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerObjectPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerObjectClass'); - - my $term = &_nodeTextContent($Object, "objectType"); - my $desc = &_nodeTextContent($Object, "Description"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my $clobber = &_nodeTextContent($Object, "Clobber"); + my ( $payload ) = @_; #EDDIE - assuming that payload is a string + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->documentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerObjectClass' ); + my $term = &_nodeTextContent( $Object, "objectType" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my $clobber = &_nodeTextContent( $Object, "Clobber" ); + #my @ISA = &_nodeArrayContent($Object, "ISA"); #my @HASA = &_nodeArrayExtraContent($Object, "HASA","articleName"); - my %att_value; my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my $article = $_->getAttributeNode('articleName'); # may or may not have a name - if ($article){$article = $article->getValue()} - - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, [$_->toString, $article]; + my %att_value; + my %relationships; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size; + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my $article = + $_->getAttributeNode( 'articleName' ) + ; # may or may not have a name + if ( $article ) { $article = $article->getValue() } + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, + [ $_->toString, $article ]; } } } - return ($term, $desc, \%relationships, $email,$authURI, $clobber); - + return ( $term, $desc, \%relationships, $email, $authURI, $clobber ); } - - =head2 deregisterObjectClass =over 3 @@ -413,51 +462,72 @@ =cut - sub deregisterObjectClass { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'object'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($class) = &_deregisterObjectPayload($payload); - $debug && &_LOG("deregister object type $class\n"); - return &_error("Must include class of object to deregister","") unless ($class); - - my ($success, $message, $existingURI) = $OntologyServer->objectExists(term => $class); - return &_error("Object class $class does not exist","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'object' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $class ) = &_deregisterObjectPayload( $payload ); + $debug && &_LOG( "deregister object type $class\n" ); + return &_error( "Must include class of object to deregister", "" ) + unless ( $class ); + my ( $success, $message, $existingURI ) = + $OntologyServer->objectExists( term => $class ); + return &_error( "Object class $class does not exist", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new()->dbh; - my ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join simple_input where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join simple_output where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join collection_input natural join simple_input where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join collection_output natural join simple_output where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - my ($success2, $message2, $URI) = $OntologyServer->deleteObject(term => $class); - $success2==0 && return &_error($message2, $URI); - return &_success($message2, $URI); - + my ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join simple_input where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join simple_output where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join collection_input natural join simple_input where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join collection_output natural join simple_output where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + my ( $success2, $message2, $URI ) = + $OntologyServer->deleteObject( term => $class ); + $success2 == 0 && return &_error( $message2, $URI ); + return &_success( $message2, $URI ); } +#Eddie - converted sub _deregisterObjectPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterObjectClass'); - - return &_nodeTextContent($Object, "objectType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'deregisterObjectClass' ); + return &_nodeTextContent( $Object, "objectType" ); } - =head2 registerServiceType =over 3 @@ -499,127 +569,167 @@ =cut - sub registerServiceType { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message, $URI); - my $OntologyServer = &_getOntologyServer(ontology => 'service'); - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $desc, $relationships, $email, $auth) = &_registerServiceTypePayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nrel $relationships\nemail $email\nauth $auth"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - if ($term =~ /FAILED/){ return &_error("Malformed XML\n $term","");} - return &_error("Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; + my ( $pkg, $payload ) = @_; + my ( $success, $message, $URI ); + my $OntologyServer = &_getOntologyServer( ontology => 'service' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $desc, $relationships, $email, $auth ) = + &_registerServiceTypePayload( $payload ); + $debug + && &_LOG( +"\n\nterm $term\ndesc $desc\nrel $relationships\nemail $email\nauth $auth" ); + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + + if ( $term =~ /FAILED/ ) { + return &_error( "Malformed XML\n $term", "" ); + } + return &_error( +"Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid - - my ($exists, $exists_message, $existingURI) = $OntologyServer->serviceExists(term => $term); # success = 1 if it does - (($exists==1) && return &_error("Service type $term already exists", $existingURI)); - + my ( $exists, $exists_message, $existingURI ) = + $OntologyServer->serviceExists( term => $term ); # success = 1 if it does + ( ( $exists == 1 ) + && return &_error( "Service type $term already exists", $existingURI ) + ); # is the relationship valid? - my $OSrel = MOBY::OntologyServer->new(ontology => 'relationship'); - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - my ($success, $desc, $URI) = $OSrel->relationshipExists(term => $reltype, ontology => 'service'); - (!$success) && return &_error("Relationship type $reltype does not exist in the relationship ontology",""); + my $OSrel = MOBY::OntologyServer->new( ontology => 'relationship' ); + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + my ( $success, $desc, $URI ) = $OSrel->relationshipExists( + term => $reltype, + ontology => 'service' ); + ( !$success ) && return &_error( +"Relationship type $reltype does not exist in the relationship ontology", + "" + ); } } # are the predicate service types valid? - my $OSsrv = MOBY::OntologyServer->new(ontology => 'service'); - if (keys %{$relationships}){ - while (my ($srvtype, $svcs) = each %{$relationships}){ - foreach my $svc(@{$svcs}){ - my ($success, $desc,$URI) = $OSsrv->serviceExists(term => $svc); - (!$success) && return &_error("Service type $srvtype does not exist in the service ontology",""); + my $OSsrv = MOBY::OntologyServer->new( ontology => 'service' ); + if ( keys %{$relationships} ) { + while ( my ( $srvtype, $svcs ) = each %{$relationships} ) { + foreach my $svc ( @{$svcs} ) { + my ( $success, $desc, $URI ) = + $OSsrv->serviceExists( term => $svc ); + ( !$success ) && return &_error( +"Service type $srvtype does not exist in the service ontology", + "" + ); } } } # hunky dorey. Now register! - - ($success, $message, $URI) = $OntologyServer->createServiceType( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - + ( $success, $message, $URI ) = $OntologyServer->createServiceType( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); my @failures; - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - foreach my $serviceType(@{$obj}){ - my ($success, $message) = $OntologyServer->addServiceRelationship( - subject_node => $term, - relationship => $reltype, - object_node => $serviceType, - authority => $auth, - contact_email => $email); - $success==0 && push @failures, $serviceType; - } - } - } - if (scalar(@failures)){ - my ($success, $message, $deleteURI) = $OntologyServer->deleteServiceType(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error("Service registration failed ISA connections, + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + foreach my $serviceType ( @{$obj} ) { + my ( $success, $message ) = + $OntologyServer->addServiceRelationship( + subject_node => $term, + relationship => $reltype, + object_node => $serviceType, + authority => $auth, + contact_email => $email + ); + $success == 0 && push @failures, $serviceType; + } + } + } + if ( scalar( @failures ) ) { + my ( $success, $message, $deleteURI ) = + $OntologyServer->deleteServiceType( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( + "Service registration failed ISA connections, and subsequently failed deletion. This is a critical error, - and may indicate corruption of the MOBY Central registry", $deleteURI); - return &_error("Service failed to register due to failure during registration of relationships".(join ",", (@failures))."\n", ""); + and may indicate corruption of the MOBY Central registry", $deleteURI + ); + return &_error( +"Service failed to register due to failure during registration of relationships" + . ( join ",", ( @failures ) ) . "\n", + "" + ); } - - return &_success("Service type $term registered successfully.", $URI); - + return &_success( "Service type $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerServiceTypePayload { - my ($payload) = @_; - $debug && &_LOG("_registerServiceTypePayload payload=$payload\n"); - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); + my ( $payload ) = @_; + $debug && &_LOG( "_registerServiceTypePayload payload=$payload\n" ); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerServiceType'); - - my $type = &_nodeTextContent($Object, "serviceType"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my $auth = &_nodeTextContent($Object, "authURI"); - my $desc = &_nodeTextContent($Object, "Description"); - + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerServiceType' ); + my $type = &_nodeTextContent( $Object, "serviceType" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my $auth = &_nodeTextContent( $Object, "authURI" ); + my $desc = &_nodeTextContent( $Object, "Description" ); my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, $_->toString; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, $_->toString; } } } - - $debug && &_LOG("got $type, $desc, \%relationships, $email, $auth from registerServiceTypePayload\n"); - return ($type, $desc, \%relationships, $email, $auth); - + $debug + && &_LOG( +"got $type, $desc, \%relationships, $email, $auth from registerServiceTypePayload\n" + ); + return ( $type, $desc, \%relationships, $email, $auth ); } - - - =head2 deregisterServiceType =over 3 @@ -645,44 +755,46 @@ =cut - sub deregisterServiceType { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'service'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($term) = &_deregisterServiceTypePayload($payload); - $debug && &_LOG("deregister serviceType accession $term\n"); - return &_error("Must include an accession number to deregister a serviceType","") unless ($term); - - my ($success, $message, $existingURI) = $OntologyServer->serviceExists(term => $term); # hopefully this situation will never happen! - return &_error("Service Type $term does not exist in the ontology","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'service' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $term ) = &_deregisterServiceTypePayload( $payload ); + $debug && &_LOG( "deregister serviceType accession $term\n" ); + return &_error( + "Must include an accession number to deregister a serviceType", + "" ) + unless ( $term ); + my ( $success, $message, $existingURI ) = + $OntologyServer->serviceExists( term => $term ) + ; # hopefully this situation will never happen! + return &_error( "Service Type $term does not exist in the ontology", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new()->dbh; - my ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance where service_type_uri = ?}, undef, $existingURI); - return &_error("A registered service depends on this service type","") if ($id); - - my ($success2, $message2, $deleteURI) = $OntologyServer->deleteServiceType(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error($message2, $deleteURI); - return &_success("Service type $term deleted.", $deleteURI); + my ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance where service_type_uri = ?}, + undef, $existingURI + ); + return &_error( "A registered service depends on this service type", "" ) + if ( $id ); + my ( $success2, $message2, $deleteURI ) = + $OntologyServer->deleteServiceType( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( $message2, $deleteURI ); + return &_success( "Service type $term deleted.", $deleteURI ); } - +#Eddie - converted sub _deregisterServiceTypePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterServiceType'); - - return &_nodeTextContent($Object, "serviceType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; #Eddie- unsure + return undef unless ( $obj eq 'deregisterServiceType' ); + return &_nodeTextContent( $Object, "serviceType" ); } - - - =head2 registerNamespace =over 3 @@ -715,57 +827,65 @@ =cut - - sub registerNamespace { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message); - my $OntologyServer = &_getOntologyServer(ontology => 'namespace'); - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $auth, $desc, $email) = &_registerNamespacePayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nemail $email\nauth $auth"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - return &_error("Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; - - my ($exists, $exists_message, $URI) = $OntologyServer->namespaceExists(term => $term); # success = 1 if it does - (($exists==1) && return &_error("Namespace $term already exists", $URI)); - - ($success, $message, $URI) = $OntologyServer->createNamespace( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - - return &_success("Namespace type $term registered successfully.", $URI); - + my ( $pkg, $payload ) = @_; + my ( $success, $message ); + my $OntologyServer = &_getOntologyServer( ontology => 'namespace' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $auth, $desc, $email ) = &_registerNamespacePayload( $payload ); + $debug && &_LOG( "\n\nterm $term\ndesc $desc\nemail $email\nauth $auth" ); + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + return &_error( +"Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; + my ( $exists, $exists_message, $URI ) = + $OntologyServer->namespaceExists( term => $term ) + ; # success = 1 if it does + ( ( $exists == 1 ) + && return &_error( "Namespace $term already exists", $URI ) ); + ( $success, $message, $URI ) = $OntologyServer->createNamespace( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); + return &_success( "Namespace type $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerNamespacePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerNamespace'); - - my $type = &_nodeTextContent($Object, "namespaceType"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $desc = &_nodeTextContent($Object, "Description"); - my $contact = &_nodeTextContent($Object, "contactEmail"); - - return ($type, $authURI, $desc, $contact); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerNamespace' ); + my $type = &_nodeTextContent( $Object, "namespaceType" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $contact = &_nodeTextContent( $Object, "contactEmail" ); + return ( $type, $authURI, $desc, $contact ); } - =head2 deregisterNamespace =over @@ -792,81 +912,101 @@ =cut - sub deregisterNamespace { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'namespace'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($term) = &_deregisterNamespacePayload($payload); - $debug && &_LOG("deregister namespaceType accession $term\n"); - return &_error("Must include a Namespace type to deregister.","") unless ($term); - - my ($success, $message, $existingURI) = $OntologyServer->namespaceExists(term => $term); - return &_error("Namespace Type $term does not exist","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'namespace' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $term ) = &_deregisterNamespacePayload( $payload ); + $debug && &_LOG( "deregister namespaceType accession $term\n" ); + return &_error( "Must include a Namespace type to deregister.", "" ) + unless ( $term ); + my ( $success, $message, $existingURI ) = + $OntologyServer->namespaceExists( term => $term ); + return &_error( "Namespace Type $term does not exist", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new->dbh; - - my $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_input where INSTR(namespace_type_uris,'$existingURI')"); + my $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_input where INSTR(namespace_type_uris,'$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_output where INSTR(namespace_type_uris,'$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_output where INSTR(namespace_type_uris,'$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_input natural join simple_input where INSTR(namespace_type_uris, '$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_input natural join simple_input where INSTR(namespace_type_uris, '$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_output natural join simple_output where INSTR(namespace_type_uris, '$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_output natural join simple_output where INSTR(namespace_type_uris, '$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); - } - } - - my ($success2, $message2, $URI) = $OntologyServer->deleteNamespace( - term => $term); - $success2==0 && return &_error($message2, $URI); - - return &_success("Namespace type $term deregistered successfully.", $URI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); + } + } + my ( $success2, $message2, $URI ) = + $OntologyServer->deleteNamespace( term => $term ); + $success2 == 0 && return &_error( $message2, $URI ); + return &_success( "Namespace type $term deregistered successfully.", $URI ); } +#Eddie - converted sub _deregisterNamespacePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterNamespace'); - - return &_nodeTextContent($Object, "namespaceType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'deregisterNamespace' ); + return &_nodeTextContent( $Object, "namespaceType" ); } - =head2 registerService =over 3 @@ -1063,7 +1203,7 @@ =cut - + # inputXML (FOR CGI GET SERVICES): # # cgi @@ -1085,316 +1225,414 @@ # human readable description of your service]]> # # - -sub registerService { - my ($pkg, $payload) = @_; - my ($serviceName, $serviceType, $AuthURI, $contactEmail, $URL, $authoritativeService, $desc, $Category, $INPUTS, $OUTPUTS, $SECONDARY, $signatureURL) = &_registerServicePayload($payload); - $authoritativeService = defined($authoritativeService)?1:0; +sub registerService { + my ( $pkg, $payload ) = @_; + my ( + $serviceName, $serviceType, $AuthURI, + $contactEmail, $URL, $authoritativeService, + $desc, $Category, $INPUTS, + $OUTPUTS, $SECONDARY, $signatureURL + ) + = &_registerServicePayload( $payload ); + $authoritativeService = defined( $authoritativeService ) ? 1 : 0; my $error; - $error .="missing serviceName \n" unless defined $serviceName; - $error .="missing serviceType \n" unless defined $serviceType; -# $error .="missing signatureURL \n" unless defined $signatureURL; - $error .="missing authURI \n" unless defined $AuthURI; - $error .="missing contactEmail \n" unless defined $contactEmail; - return &_error("Malformed authURI - must not have an http:// prefix","") if $AuthURI =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $AuthURI =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $contactEmail =~ /\S\@\S+\.\S+/; - $error .="missing URL \n" unless defined $URL; - $error .="missing description \n" unless defined $desc; - $error .="missing Category \n" unless defined $Category; - - return &_error("malformed payload $error\n\n","") if ($error); - return &_error("Category may take the (case sensitive) values 'moby', 'cgi', 'soap'\n","") unless ( - ($Category eq "wsdl") -# || ($Category eq "cgi") - || ($Category eq "moby") - ); - $debug && &_LOG("Entering switch with $Category method\n"); + $error .= "missing serviceName \n" unless defined $serviceName; + $error .= "missing serviceType \n" unless defined $serviceType; - return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless (($Category eq "moby") || ($Category eq "wsdl")); - my @IN = @{$INPUTS}; - my @OUT = @{$OUTPUTS}; + # $error .="missing signatureURL \n" unless defined $signatureURL; + $error .= "missing authURI \n" unless defined $AuthURI; + $error .= "missing contactEmail \n" unless defined $contactEmail; + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $AuthURI =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $AuthURI =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $contactEmail =~ /\S\@\S+\.\S+/; + $error .= "missing URL \n" unless defined $URL; + $error .= "missing description \n" unless defined $desc; + $error .= "missing Category \n" unless defined $Category; + return &_error( "malformed payload $error\n\n", "" ) if ( $error ); + return &_error( + "Category may take the (case sensitive) values 'moby', 'cgi', 'soap'\n", + "" + ) + unless ( + ( $Category eq "wsdl" ) + + # || ($Category eq "cgi") + || ( $Category eq "moby" ) + ); + $debug && &_LOG( "Entering switch with $Category method\n" ); + return &_error( +"Service categories other than 'moby' and 'wsdl' are not yet implemented", + "" + ) + unless ( ( $Category eq "moby" ) || ( $Category eq "wsdl" ) ); + my @IN = @{$INPUTS}; + my @OUT = @{$OUTPUTS}; my @SECS = @{$SECONDARY}; - - return &_error("must include at least one input and/or one output object type","") unless (scalar @IN || scalar @OUT); + return &_error( + "must include at least one input and/or one output object type", + "" ) + unless ( scalar @IN || scalar @OUT ); my %objects_to_be_validated; - foreach (@IN, @OUT){ - foreach my $objectName(&_extractObjectTypes($_)){ + foreach ( @IN, @OUT ) { + + foreach my $objectName ( &_extractObjectTypes( $_ ) ) { $objects_to_be_validated{$objectName} = 1; } } - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - - foreach (keys %objects_to_be_validated){ - my ($valid, $message, $URI) = $OS->objectExists(term => $_); - return &_error("$message","$URI") unless ($valid || (($_ =~ /urn:lsid/i) && !($_ =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-moby LSID - } - - $debug && &_LOG("\n\n\aall objects okay - either valid MOBY objects, or LSID's\n"); + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + foreach ( keys %objects_to_be_validated ) { + my ( $valid, $message, $URI ) = $OS->objectExists( term => $_ ); + return &_error( "$message", "$URI" ) + unless ( $valid + || ( ( $_ =~ /urn:lsid/i ) && !( $_ =~ /urn:lsid:biomoby.org/i ) ) + ); # either valid, or a non-moby LSID + } + $debug + && &_LOG( + "\n\n\aall objects okay - either valid MOBY objects, or LSID's\n" ); + $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my ( $valid, $message, $URI ) = $OS->serviceExists( term => $serviceType ); - $OS = MOBY::OntologyServer->new(ontology => 'service'); - my ($valid, $message, $URI) = $OS->serviceExists(term => $serviceType); #print STDERR "\n\nChecking $URI\n\n"; - return &_error("$message","$URI") unless ($valid || (($serviceType =~ /urn:lsid/i) && !($serviceType =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-MOBY LSID - #print STDERR "\n\nChecking $URI OK!!\n\n"; - # right, registration should be successful now! - + return &_error( "$message", "$URI" ) + unless ( + $valid + || ( ( $serviceType =~ /urn:lsid/i ) + && !( $serviceType =~ /urn:lsid:biomoby.org/i ) ) + ); # either valid, or a non-MOBY LSID + #print STDERR "\n\nChecking $URI OK!!\n\n"; + # right, registration should be successful now! my $SVC = MOBY::service_instance->new( - category => $Category, - servicename => $serviceName, - service_type => $serviceType, - authority_uri => $AuthURI, - url => $URL, - contact_email => $contactEmail, - authoritative => $authoritativeService, - description => $desc, - signatureURL => $signatureURL, - ); - - return &_error("Service registration failed for unknown reasons","") if (!defined $SVC); - return &_error("Service with this authority/servicename already exists","") if ($SVC == -1); - - $debug && &_LOG("new service instance created\n"); - - foreach my $IN(@IN){ - my ($success,$msg) = &_registerArticles($SVC, "input", $IN, undef); - return &_error("Registration Failed During INPUT Article Registration: $msg","") unless ($success==1); - } - foreach my $OUT(@OUT){ - my ($success,$msg) = &_registerArticles($SVC, "output", $OUT, undef); - return &_error("Registration Failed During OUTPUT Article Registration: $msg","") unless ($success==1); - } - foreach my $SEC(@SECS){ - my ($success,$msg) = &_registerArticles($SVC, "secondary", $SEC, undef); - return &_error("Registration Failed During SECONDARY Article Registration: $msg","") unless ($success==1); - } - - # we're going to do a findService here to find the service that we just created - # and use the resulting XML to create a MOBY::Client::ServiceInstance object - # that we can then use to retrieve the RDF for that service signature. - # this is roundabout, I agree, but it is the most re-usable way to go at - # the moment. - - my ($si, $reg) = &findService(''," + category => $Category, + servicename => $serviceName, + service_type => $serviceType, + authority_uri => $AuthURI, + url => $URL, + contact_email => $contactEmail, + authoritative => $authoritativeService, + description => $desc, + signatureURL => $signatureURL, + ); + return &_error( "Service registration failed for unknown reasons", "" ) + if ( !defined $SVC ); + return &_error( "Service with this authority/servicename already exists", + "" ) + if ( $SVC == -1 ); + $debug && &_LOG( "new service instance created\n" ); + + foreach my $IN ( @IN ) { + my ( $success, $msg ) = &_registerArticles( $SVC, "input", $IN, undef ); + return &_error( + "Registration Failed During INPUT Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + foreach my $OUT ( @OUT ) { + my ( $success, $msg ) = + &_registerArticles( $SVC, "output", $OUT, undef ); + return &_error( + "Registration Failed During OUTPUT Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + foreach my $SEC ( @SECS ) { + my ( $success, $msg ) = + &_registerArticles( $SVC, "secondary", $SEC, undef ); + return &_error( + "Registration Failed During SECONDARY Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + + # we're going to do a findService here to find the service that we just created + # and use the resulting XML to create a MOBY::Client::ServiceInstance object + # that we can then use to retrieve the RDF for that service signature. + # this is roundabout, I agree, but it is the most re-usable way to go at + # the moment. + my ( $si, $reg ) = &findService( + '', " $AuthURI; $serviceName; - "); - unless ($si){ - $SVC->DELETE_THYSELF; - return &_error("Registration Failed - newly registered service could not be discovered",""); - } - use MOBY::Client::Central; - my $services = MOBY::Client::Central::_parseServices('', '', $si); - my $service_instance = shift @{$services}; - my $storage = new RDF::Core::Storage::Memory; - my $model = new RDF::Core::Model (Storage => $storage); - my $RDF_MODEL = MOBY::RDF::ServiceInstanceRDF->new(model => $model, service_instance => $service_instance); - my $RDF_XML = $RDF_MODEL->serialize; - return &_success("Registration successful", $SVC->service_instance_id, $RDF_XML); + " + ); + unless ( $si ) { + $SVC->DELETE_THYSELF; + return &_error( +"Registration Failed - newly registered service could not be discovered", + "" + ); + } + use MOBY::Client::Central; + my $services = MOBY::Client::Central::_parseServices( '', '', $si ); + my $service_instance = shift @{$services}; + my $storage = new RDF::Core::Storage::Memory; + my $model = new RDF::Core::Model( Storage => $storage ); + my $RDF_MODEL = MOBY::RDF::ServiceInstanceRDF->new( + model => $model, + service_instance => $service_instance ); + my $RDF_XML = $RDF_MODEL->serialize; + return &_success( "Registration successful", + $SVC->service_instance_id, $RDF_XML ); } +#Eddie - Converted sub _registerArticles { - my ($SVC, $inout, $node,$collid) = @_; # node is a node of the XML dom representing an article to be registered - my $dbh = $SVC->dbh; - return (-1,'Bad node') unless $node->getNodeType == ELEMENT_NODE; - - # this is a Simple, Collection, or Parameter object - my $simp_coll = $node->getTagName; - $debug && &_LOG("TAGNAME in $inout _registerArticle is $simp_coll"); - - my $article = $node->getAttributeNode("articleName"); # may or may not have a name - if ($article){$article = $article->getValue()} - $debug && &_LOG("ARTICLENAME in _registerArticle is $article"); - - my ($object_type, @namespaces); - - if ($simp_coll eq "Collection"){ - $debug && &_LOG("Collection!\n"); - my $collection_id; - if ($inout eq 'input'){ - $collection_id = $SVC->add_collection_input(article_name => $article); - } elsif ($inout eq 'output') { - $collection_id = $SVC->add_collection_output(article_name => $article); - } else { - $SVC->DELETE_THYSELF; return (-1,"found article that was neither input nor output"); - } - - # the following SQl belongs in the service_instance object, but screw it, I'm running out of time! - #$dbh->do("insert into collection_$inout (service_instance_id, article_name) values (?,?)", undef, ($SVC->service_instance_id, $article)); - #my $collection_id=$dbh->{mysql_insertid}; - - my $Simples = $node->getElementsByTagName('Simple'); - my $length = $Simples->getLength; - unless ($length > 0){return (-1, "Your collection must be a collection of one or more Simple types");} - for (my $x=0; $x<$length; ++$x){ - my ($success, $message) = &_registerArticles($SVC, $inout, $Simples->item($x),$collection_id); - unless ($success == 1){return (-1, $message);} + my ( $SVC, $inout, $node, $collid ) = @_ + ; # node is a node of the XML dom representing an article to be registered + my $dbh = $SVC->dbh; + return ( -1, 'Bad node' ) unless $node->nodeType == ELEMENT_NODE; + + # this is a Simple, Collection, or Parameter object + my $simp_coll = $node->nodeName; + $debug && &_LOG( "TAGNAME in $inout _registerArticle is $simp_coll" ); + my $article = + $node->getAttributeNode( "articleName" ); # may or may not have a name + if ( $article ) { $article = $article->getValue() } + $debug && &_LOG( "ARTICLENAME in _registerArticle is $article" ); + my ( $object_type, @namespaces ); + if ( $simp_coll eq "Collection" ) { + $debug && &_LOG( "Collection!\n" ); + my $collection_id; + if ( $inout eq 'input' ) { + $collection_id = + $SVC->add_collection_input( article_name => $article ); + } elsif ( $inout eq 'output' ) { + $collection_id = + $SVC->add_collection_output( article_name => $article ); + } else { + $SVC->DELETE_THYSELF; + return ( -1, "found article that was neither input nor output" ); + } + +# the following SQl belongs in the service_instance object, but screw it, I'm running out of time! +#$dbh->do("insert into collection_$inout (service_instance_id, article_name) values (?,?)", undef, ($SVC->service_instance_id, $article)); +#my $collection_id=$dbh->{mysql_insertid}; + my $Simples = $node->getElementsByTagName( 'Simple' ); + my $length = $Simples->size(); + unless ( $length > 0 ) { + return ( + -1, +"Your collection must be a collection of one or more Simple types" + ); + } + for ( my $x = 1 ; $x <= $length ; ++$x ) { + my ( $success, $message ) = + &_registerArticles( $SVC, $inout, $Simples->get_node( $x ), + $collection_id ); + unless ( $success == 1 ) { return ( -1, $message ); } } - } elsif ($simp_coll eq "Simple") { - my $article = $node->getAttributeNode("articleName"); + } elsif ( $simp_coll eq "Simple" ) { + my $article = $node->getAttributeNode( "articleName" ); $article = $article->getValue() if $article; # get object type and its URI from the ontoogy server - my $types = $node->getElementsByTagName('objectType'); - my $OE = MOBY::OntologyServer->new(ontology => "object"); - foreach ($types->item(0)->getChildNodes) { # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($object_type = $_->toString); - } - my ($success, $message, $typeURI) = $OE->objectExists(term => $object_type); - if ((!($success) && ($object_type =~ /urn:lsid:biomoby.org/i)) || (!($success) && !($object_type =~ /urn:lsid/i))) { # if the object doesn't exist, and it isn't an LSID - $SVC->DELETE_THYSELF; return (-1,"object: $object_type does not exist, and is not an LSID"); - } # kill it all unless this was successful! - + my $types = $node->getElementsByTagName( 'objectType' ); + my $OE = MOBY::OntologyServer->new( ontology => "object" ); + foreach ( $types->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $object_type = $_->toString ); + } + my ( $success, $message, $typeURI ) = + $OE->objectExists( term => $object_type ); + if ( ( !( $success ) && ( $object_type =~ /urn:lsid:biomoby.org/i ) ) + || ( !( $success ) && !( $object_type =~ /urn:lsid/i ) ) ) + { # if the object doesn't exist, and it isn't an LSID + $SVC->DELETE_THYSELF; + return ( -1, + "object: $object_type does not exist, and is not an LSID" + ); + } # kill it all unless this was successful! my $namespace_string; - my $namespaces = $node->getElementsByTagName('Namespace'); - my $num_ns = $namespaces->getLength; - $OE = MOBY::OntologyServer->new(ontology => "namespace"); - for (my $n = 0; $n<$num_ns;++$n) { - foreach my $name ($namespaces->item($n)->getChildNodes) { - if ($name->getNodeType == TEXT_NODE) { + my $namespaces = $node->getElementsByTagName( 'Namespace' ); + my $num_ns = $namespaces->size(); + $OE = MOBY::OntologyServer->new( ontology => "namespace" ); + for ( my $n = 1 ; $n <= $num_ns ; ++$n ) { + foreach my $name ( $namespaces->get_node( $n )->childNodes ) { + if ( $name->nodeType == TEXT_NODE ) { my $term = $name->toString; - my ($success, $message, $URI) = $OE->namespaceExists(term => $term); - if ((!($success) && ($term =~ /urn:lsid:biomoby.org/i)) || (!($success) && !($term =~ /urn:lsid/i))) { # if the object doesn't exist, and it isn't an LSID + my ( $success, $message, $URI ) = + $OE->namespaceExists( term => $term ); + if ( + ( + !( $success ) && ( $term =~ /urn:lsid:biomoby.org/i ) + ) + || ( !( $success ) && !( $term =~ /urn:lsid/i ) ) + ) + { # if the object doesn't exist, and it isn't an LSID $SVC->DELETE_THYSELF; - return (-1,"namespace: $term doesn't exist and is not an LSID"); + return ( + -1, + "namespace: $term doesn't exist and is not an LSID" + ); } - $namespace_string .=$URI.","; + $namespace_string .= $URI . ","; } } } - chop($namespace_string); # remove trailing comma + chop( $namespace_string ); # remove trailing comma my $dbh = $SVC->dbh; my $service_instance_id; - unless ($collid) { # this SIMPLE is either alone, or is part of a COLLECTION ($collid > 0) - # therefore we want either its service instance ID, or its Collection ID. + unless ( $collid ) + { # this SIMPLE is either alone, or is part of a COLLECTION ($collid > 0) + # therefore we want either its service instance ID, or its Collection ID. $service_instance_id = $SVC->service_instance_id; - } # one or the other, but not both - - if ($inout eq 'input'){ - my $sinput = $SVC->add_simple_input( - object_type_uri => $typeURI, - namespace_type_uris => $namespace_string, - article_name => $article, - collection_input_id => $collid, - ); - unless ($sinput){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of input object $typeURI. Unknown reasons."); - } - - } elsif ($inout eq 'output'){ - my $soutput = $SVC->add_simple_output( - object_type_uri => $typeURI, - namespace_type_uris => $namespace_string, - article_name => $article, - collection_output_id => $collid, - ); - unless ($soutput){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of output object $typeURI. Unknown reasons."); - } - } - - } elsif ($simp_coll eq "Parameter"){ - my $parameter = $node; - my $article = $parameter->getAttributeNode("articleName"); - $article = $article->getValue() if $article; - my ($datatype, $def, $max, $min, @enums); - my $types = $parameter->getElementsByTagName('datatype'); - if ($types->item(0)){ - foreach ($types->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($datatype = $_->toString); - } - } - my $defs = $parameter->getElementsByTagName('default'); - if ($defs->item(0)){ - foreach ($defs->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($def = $_->toString); - } - } - my $maxs = $parameter->getElementsByTagName('max'); - if ($maxs->item(0)){ - foreach ($maxs->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($max = $_->toString); - } - } - my $mins = $parameter->getElementsByTagName('min'); - if ($mins->item(0)){ - foreach ($mins->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($min = $_->toString); - } - } - my $enums = $parameter->getElementsByTagName('enum'); - my $numenums = $enums->getLength; - for (my $n=0;$n<$numenums;++$n){ - foreach ($enums->item($n)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && (push @enums, $_->toString); - } - } - my $enum_string = join "",(map {$_.","} @enums); - chop $enum_string; # get rid of trailing comma - my $sec = $SVC->add_secondary_input( - default_value => $def, - maximum_value => $max, - minimum_value => $min, - enum_value => $enum_string, - datatype => $datatype, - article_name => $article, - ); - unless ($sec){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of parameter $article. Must be of type Integer, String, DateTime, or Float."); - } + } # one or the other, but not both + if ( $inout eq 'input' ) { + my $sinput = $SVC->add_simple_input( + object_type_uri => $typeURI, + namespace_type_uris => $namespace_string, + article_name => $article, + collection_input_id => $collid, + ); + unless ( $sinput ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of input object $typeURI. Unknown reasons." + ); + } + } elsif ( $inout eq 'output' ) { + my $soutput = $SVC->add_simple_output( + object_type_uri => $typeURI, + namespace_type_uris => $namespace_string, + article_name => $article, + collection_output_id => $collid, + ); + unless ( $soutput ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of output object $typeURI. Unknown reasons." + ); + } + } + } elsif ( $simp_coll eq "Parameter" ) { + my $parameter = $node; + my $article = $parameter->getAttributeNode( "articleName" ); + $article = $article->getValue() if $article; + my ( $datatype, $def, $max, $min, @enums ); + my $types = $parameter->getElementsByTagName( 'datatype' ); + if ( $types->get_node( 1 ) ) { + foreach ( $types->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) + && ( $datatype = $_->toString ); + } + } + my $defs = $parameter->getElementsByTagName( 'default' ); + if ( $defs->get_node( 1 ) ) { + foreach ( $defs->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $def = $_->toString ); + } + } + my $maxs = $parameter->getElementsByTagName( 'max' ); + if ( $maxs->get_node( 1 ) ) { + foreach ( $maxs->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $max = $_->toString ); + } + } + my $mins = $parameter->getElementsByTagName( 'min' ); + if ( $mins->get_node( 1 ) ) { + foreach ( $mins->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $min = $_->toString ); + } + } + my $enums = $parameter->getElementsByTagName( 'enum' ); + my $numenums = $enums->size(); + for ( my $n = 1 ; $n <= $numenums ; ++$n ) { + foreach ( $enums->get_node( $n )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) + && ( push @enums, $_->toString ); + } + } + my $enum_string = join "", ( map { $_ . "," } @enums ); + chop $enum_string; # get rid of trailing comma + my $sec = $SVC->add_secondary_input( + default_value => $def, + maximum_value => $max, + minimum_value => $min, + enum_value => $enum_string, + datatype => $datatype, + article_name => $article, + ); + unless ( $sec ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of parameter $article. Must be of type Integer, String, DateTime, or Float." + ); + } } return 1; } - +#Eddie - converted sub _registerServicePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerService'); - - my $serviceName = &_nodeTextContent($Object, "serviceName"); - my $Category = &_nodeTextContent($Object, "Category"); - my $serviceType = &_nodeTextContent($Object, "serviceType"); - my $AuthURI = &_nodeTextContent($Object, "authURI"); - my $contactEmail = &_nodeTextContent($Object, "contactEmail"); - my $authoritativeService = &_nodeTextContent($Object, "authoritativeService"); - my $URL = &_nodeTextContent($Object, "URL"); - my $signatureURL = &_nodeTextContent($Object, "signatureURL"); - my $desc = &_nodeTextContent($Object, "Description"); - my $INPUTS = &_nodeRawContent($Object, "Input"); # returns array ref - my $OUTPUTS = &_nodeRawContent($Object, "Output"); # returns array ref - my $SECONDARIES = &_nodeRawContent($Object, "secondaryArticles"); # returns array ref - - return ($serviceName, $serviceType, $AuthURI, $contactEmail, $URL, $authoritativeService, $desc, $Category, $INPUTS, $OUTPUTS, $SECONDARIES, $signatureURL); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerService' ); + my $serviceName = &_nodeTextContent( $Object, "serviceName" ); + my $Category = &_nodeTextContent( $Object, "Category" ); + my $serviceType = &_nodeTextContent( $Object, "serviceType" ); + my $AuthURI = &_nodeTextContent( $Object, "authURI" ); + my $contactEmail = &_nodeTextContent( $Object, "contactEmail" ); + my $authoritativeService = + &_nodeTextContent( $Object, "authoritativeService" ); + my $URL = &_nodeTextContent( $Object, "URL" ); + my $signatureURL = &_nodeTextContent( $Object, "signatureURL" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $INPUTS = &_nodeRawContent( $Object, "Input" ); # returns array ref + my $OUTPUTS = &_nodeRawContent( $Object, "Output" ); # returns array ref + my $SECONDARIES = + &_nodeRawContent( $Object, "secondaryArticles" ); # returns array ref + return ( + $serviceName, $serviceType, $AuthURI, + $contactEmail, $URL, $authoritativeService, + $desc, $Category, $INPUTS, + $OUTPUTS, $SECONDARIES, $signatureURL + ); } +#Eddie - converted sub _extractObjectTypes { - my ($DOM) = @_; # DOM is either a or a article - $debug && &_LOG("\n\n\nExtracting object types from \n$DOM \n\n"); - unless (ref($DOM) =~ /^XML/){ - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($DOM); + my ( $DOM ) = @_; # DOM is either a or a article + $debug && &_LOG( "\n\n\nExtracting object types from \n$DOM \n\n" ); + unless ( ref( $DOM ) =~ /^XML/ ) { + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $DOM ); $DOM = $doc->getDocumentElement(); } - my $x = $DOM->getElementsByTagName("objectType"); + my $x = $DOM->getElementsByTagName( "objectType" ); my @objectnames; - my $l = $x->getLength; # might be a Collection object with multiple simples... - for (my $n=0; $n < $l; ++$n){ - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; + my $l = $x->size(); # might be a Collection object with multiple simples... + for ( my $n = 1 ; $n <= $l ; ++$n ) { + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + $debug + && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ) + ; #hopefully uses MobyXMLConstants.pm + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; push @objectnames, $name; } } - return (@objectnames); + return ( @objectnames ); } - =head2 registerServiceWSDL Title : NOT YET IMPLEMENTED @@ -1403,13 +1641,11 @@ =cut - sub registerServiceWSDL { - my ( $pkg, $serviceType, $wsdl) = @_; - return &_error("not yet implemented", ""); + my ( $pkg, $serviceType, $wsdl ) = @_; + return &_error( "not yet implemented", "" ); } - =head2 deregisterService Title : deregisterService @@ -1427,40 +1663,51 @@ =cut - - sub deregisterService { - my ($pkg, $payload) = @_; - $debug && &_LOG("\nstarting deregistration\n"); - my ($authURI, $serviceName) = &_deregisterServicePayload($payload); - return &_error("must provide an authority and a service name\n", "") unless ($authURI && $serviceName); - - - return &_error("The service specified by authority=$authURI servicename=$serviceName does not exist in the registry", "") unless (MOBY::service_instance->new(servicename => $serviceName, authority_uri => $authURI, test => 1)); - my $SERVICE = MOBY::service_instance->new(servicename => $serviceName, authority_uri => $authURI); - if ($SERVICE->signatureURL){ - return &_error("it is illegal to deregister a service that has a signatureURL. Such services must be deregistered by deleting the RDF at the location identified by the signatureURL",""); - } - - my $result = $SERVICE->DELETE_THYSELF; - if ($result){ - return &_success("Service Deregistered Successfully",""); + my ( $pkg, $payload ) = @_; + $debug && &_LOG( "\nstarting deregistration\n" ); + my ( $authURI, $serviceName ) = &_deregisterServicePayload( $payload ); + return &_error( "must provide an authority and a service name\n", "" ) + unless ( $authURI && $serviceName ); + return &_error( +"The service specified by authority=$authURI servicename=$serviceName does not exist in the registry", + "" + ) + unless ( + MOBY::service_instance->new( + servicename => $serviceName, + authority_uri => $authURI, + test => 1 + ) + ); + my $SERVICE = MOBY::service_instance->new( servicename => $serviceName, + authority_uri => $authURI ); + if ( $SERVICE->signatureURL ) { + return &_error( +"it is illegal to deregister a service that has a signatureURL. Such services must be deregistered by deleting the RDF at the location identified by the signatureURL", + "" + ); + } + my $result = $SERVICE->DELETE_THYSELF; + if ( $result ) { + return &_success( "Service Deregistered Successfully", "" ); } else { - return &_error("Service deletion failed for unknown reasons",""); + return &_error( "Service deletion failed for unknown reasons", "" ); } } +#Eddie - converted sub _deregisterServicePayload { - my ($payload) = @_; - $debug && &_LOG("deregisterService payload: ",($payload),"\n"); - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); + my ( $payload ) = @_; + $debug && &_LOG( "deregisterService payload: ", ( $payload ), "\n" ); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterService'); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $name = &_nodeTextContent($Object, "serviceName"); - return ($authURI, $name); + my $obj = $Object->nodeName; #Eddie - unsure + return undef unless ( $obj eq 'deregisterService' ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $name = &_nodeTextContent( $Object, "serviceName" ); + return ( $authURI, $name ); } =head2 findService @@ -1567,11 +1814,11 @@ =cut sub findService { - my ($pkg, $payload) = @_; - $debug && &_LOG("\nLOOKING FOR SERVICES\n"); - my %findme = &_findServicePayload($payload); - - $debug && &_LOG ("'serviceType' => $findme{serviceType}, + my ( $pkg, $payload ) = @_; + $debug && &_LOG( "\nLOOKING FOR SERVICES\n" ); + my %findme = &_findServicePayload( $payload ); + $debug && &_LOG( + "'serviceType' => $findme{serviceType}, 'authURI' => $findme{AuthURI}, 'servicename' => $findme{servicename}, 'expandObjects' => $findme{expandObjects}, @@ -1579,281 +1826,393 @@ 'authoritative' => $findme{authoritative}, 'category' => $findme{Category}, 'keywords' => $findme{keywords}, - "); - + " + ); my %valid_service_ids; - my $criterion_count=0; - # we want to avoid joins, since they slow things down, so... - # the logic is that we keep a hash of valid id's - # and the number of times they are discovered - # we also count the number of criterion - # we only want the service_id's that appear as many times as the criterion we have - # since they will have matched every criterion. + my $criterion_count = 0; + +# we want to avoid joins, since they slow things down, so... +# the logic is that we keep a hash of valid id's +# and the number of times they are discovered +# we also count the number of criterion +# we only want the service_id's that appear as many times as the criterion we have +# since they will have matched every criterion. my $dbh = MOBY::central_db_connection->new()->dbh; - if ($findme{authoritative}){ + if ( $findme{authoritative} ) { ++$criterion_count; - $debug && _LOG("authoritative added; criterion count is now $criterion_count\n"); - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where authoritative=?}, undef, $findme{authoritative}); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "authoritative added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where authoritative=?}, + undef, $findme{authoritative} + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{serviceType}){ # must have something more than empty content - my $OS = MOBY::OntologyServer->new(ontology => 'service'); + if ( $findme{serviceType} ) { # must have something more than empty content + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); $findme{serviceType} =~ s/^moby\://; - my ($exists, $message, $URI) = $OS->serviceExists(term =>$findme{serviceType}); - unless ($exists){ - return &_serviceListResponse($dbh,undef); + my ( $exists, $message, $URI ) = + $OS->serviceExists( term => $findme{serviceType} ); + unless ( $exists ) { + return &_serviceListResponse( $dbh, undef ); } ++$criterion_count; - $debug && _LOG("serviceType added; criterion count is now $criterion_count\n"); - + $debug + && _LOG( + "serviceType added; criterion count is now $criterion_count\n" ); my $children_string = "'$URI',"; - if ($findme{'expandServices'}){ - $debug && _LOG("Expanding Services\n"); - my $OS = MOBY::OntologyServer->new(ontology => 'service'); - my %relationships = %{$OS->traverseDAG($URI, "leaves")}; - my (@children) = @{$relationships{'urn:lsid:biomoby.org:servicerelation:isa'}}; - $children_string .= (join ',', map {"\'$_\'"} @children); + if ( $findme{'expandServices'} ) { + $debug && _LOG( "Expanding Services\n" ); + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my %relationships = %{ $OS->traverseDAG( $URI, "leaves" ) }; + my ( @children ) = + @{ $relationships{'urn:lsid:biomoby.org:servicerelation:isa'} }; + $children_string .= ( join ',', map { "\'$_\'" } @children ); } $children_string =~ s/\,$//; - my $ids = $dbh->selectall_arrayref("select service_instance_id from service_instance where service_type_uri in ($children_string)"); - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + my $ids = + $dbh->selectall_arrayref( +"select service_instance_id from service_instance where service_type_uri in ($children_string)" + ); + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{authURI}){ + if ( $findme{authURI} ) { ++$criterion_count; - $debug && _LOG("authURI added; criterion count is now $criterion_count\n"); - - my ($id) = $dbh->selectrow_array(q{select authority_id from authority where authority_uri = ? or authority_common_name = ?},undef,($findme{authURI}, $findme{authURI})); - unless ($id){ - return &_serviceListResponse($dbh,undef); - } - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where authority_id=?}, undef, $id); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( "authURI added; criterion count is now $criterion_count\n" ); + my ( $id ) = $dbh->selectrow_array( +q{select authority_id from authority where authority_uri = ? or authority_common_name = ?}, + undef, + ( $findme{authURI}, $findme{authURI} ) + ); + unless ( $id ) { + return &_serviceListResponse( $dbh, undef ); + } + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where authority_id=?}, + undef, $id + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{servicename}){ + if ( $findme{servicename} ) { ++$criterion_count; - $debug && _LOG("servicename added; criterion count is now $criterion_count\n"); - - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where servicename=?}, undef, $findme{servicename}); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "servicename added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where servicename=?}, + undef, $findme{servicename} + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } $findme{category} = 'moby' unless $findme{category}; - if ($findme{category}){ + if ( $findme{category} ) { ++$criterion_count; - $debug && _LOG("category added; criterion count is now $criterion_count\n"); - - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where category=?}, undef, lc($findme{category})); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "category added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where category=?}, + undef, + lc( $findme{category} ) + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{keywords} && (scalar @{$findme{keywords}})){ + if ( $findme{keywords} && ( scalar @{ $findme{keywords} } ) ) { ++$criterion_count; - $debug && _LOG("Keywords added; criterion count is now $criterion_count\n"); + $debug + && _LOG( + "Keywords added; criterion count is now $criterion_count\n" ); my $searchstring; - foreach my $kw(@{$findme{keywords}}){ - $debug && &_LOG("KEYWORD $kw\n"); + foreach my $kw ( @{ $findme{keywords} } ) { + $debug && &_LOG( "KEYWORD $kw\n" ); $kw =~ s/\*//g; - $kw = $dbh->quote("%$kw%"); + $kw = $dbh->quote( "%$kw%" ); $searchstring .= " OR description like $kw "; } - $searchstring =~ s/OR//; # just the first one - $debug && &_LOG("search $searchstring\n"); - - my $ids = $dbh->selectall_arrayref("select service_instance_id from service_instance where $searchstring"); - unless (scalar @{$ids}){ - $debug && &_LOG("found no ids @{$ids}!\nselect service_instance_id from service_instance where $searchstring\n"); - return &_serviceListResponse($dbh, undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $searchstring =~ s/OR//; # just the first one + $debug && &_LOG( "search $searchstring\n" ); + my $ids = + $dbh->selectall_arrayref( +"select service_instance_id from service_instance where $searchstring" ); + unless ( scalar @{$ids} ) { + $debug + && &_LOG( "found no ids @{$ids}!\nselect service_instance_id from service_instance where $searchstring\n" + ); + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{inputObjects} && (scalar @{$findme{inputObjects}})){ + if ( $findme{inputObjects} && ( scalar @{ $findme{inputObjects} } ) ) { ++$criterion_count; - $debug && _LOG("inputObject added; criterion count is now $criterion_count\n"); - my $obj = (shift @{$findme{inputObjects}}); + $debug + && _LOG( + "inputObject added; criterion count is now $criterion_count\n" ); + my $obj = ( shift @{ $findme{inputObjects} } ); my @si_ids; - @si_ids = &_searchForServicesWithArticle($dbh, "input", $obj, $findme{'expandObjects'}, '') if defined $obj; - $debug && _LOG("Initial Search For Services with INPUT Article found @si_ids\n"); + @si_ids = + &_searchForServicesWithArticle( $dbh, "input", $obj, + $findme{'expandObjects'}, '' ) + if defined $obj; + $debug + && _LOG( + "Initial Search For Services with INPUT Article found @si_ids\n" ); my %instances; + # we need to do a join, without doing a join... - if (scalar @si_ids){ - map {$instances{$_}=1} @si_ids; # get an id of the good services from the first object - while (my $obj = shift(@{$findme{inputObjects}})){ # iterate through the rest of the objects + if ( scalar @si_ids ) { + map { $instances{$_} = 1 } + @si_ids; # get an id of the good services from the first object + while ( my $obj = shift( @{ $findme{inputObjects} } ) ) + { # iterate through the rest of the objects next unless $obj; - $debug && _LOG("FIRST: ", $dbh, "input", $obj, $findme{'expandObjects'}, ''); - my @new_ids = &_searchForServicesWithArticle($dbh, "input", $obj, $findme{'expandObjects'}, ''); # get their service ids - $debug && _LOG("Subsequent Search For Services with INPUT Article found @new_ids\n"); - my @good_ids;my %good_ids; - foreach my $id(@new_ids){ # check the new id set against the set we know is already valid + $debug + && _LOG( "FIRST: ", $dbh, "input", $obj, + $findme{'expandObjects'}, '' ); + my @new_ids = + &_searchForServicesWithArticle( $dbh, "input", $obj, + $findme{'expandObjects'}, '' ); # get their service ids + $debug + && _LOG( "Subsequent Search For Services with INPUT Article found @new_ids\n" + ); + my @good_ids; + my %good_ids; + foreach my $id ( @new_ids ) + { # check the new id set against the set we know is already valid next unless defined $id; - if ($instances{$id}){push @good_ids, $id} # if they are in common, then that id is still good + if ( $instances{$id} ) { + push @good_ids, $id; + } # if they are in common, then that id is still good } - map {$good_ids{$_}=1} @good_ids; # make a hash of the new good id's - %instances = %good_ids; # and replace the original list with this more limited one + map { $good_ids{$_} = 1 } + @good_ids; # make a hash of the new good id's + %instances = %good_ids + ; # and replace the original list with this more limited one } } - # now %instances contains only valid ID numbers - $debug && _LOG("Final results incremented of search for INPUT: ".(join ',',(keys %instances))."\n"); - foreach (keys %instances){ - $debug && &_LOG("found id $_\n"); + # now %instances contains only valid ID numbers + $debug + && _LOG( "Final results incremented of search for INPUT: " + . ( join ',', ( keys %instances ) ) + . "\n" ); + foreach ( keys %instances ) { + $debug && &_LOG( "found id $_\n" ); ++$valid_service_ids{$_}; } } - if ($findme{outputObjects} && (scalar @{$findme{outputObjects}})){ + if ( $findme{outputObjects} && ( scalar @{ $findme{outputObjects} } ) ) { ++$criterion_count; - $debug && _LOG("outputObject added; criterion count is now $criterion_count\n"); - my $obj = (shift @{$findme{outputObjects}}); + $debug + && _LOG( + "outputObject added; criterion count is now $criterion_count\n" ); + my $obj = ( shift @{ $findme{outputObjects} } ); my @si_ids; - @si_ids = &_searchForServicesWithArticle($dbh, "output", $obj, '') if defined $obj; - $debug && _LOG("Initial Search For Services with OUTPUT Article found @si_ids\n"); + @si_ids = &_searchForServicesWithArticle( $dbh, "output", $obj, '' ) + if defined $obj; + $debug + && _LOG( + "Initial Search For Services with OUTPUT Article found @si_ids\n" ); my %instances; + # we need to do a join, without doing a join... - if (scalar @si_ids){ - map {$instances{$_}=1} @si_ids; # get an id of the good services from the first object - while (my $obj = shift(@{$findme{outputObjects}})){ # iterate through the rest of the objects + if ( scalar @si_ids ) { + map { $instances{$_} = 1 } + @si_ids; # get an id of the good services from the first object + while ( my $obj = shift( @{ $findme{outputObjects} } ) ) + { # iterate through the rest of the objects next unless $obj; - my @new_ids = &_searchForServicesWithArticle($dbh, "output", $obj,''); # get their service ids - $debug && _LOG("Subsequent Search For Services with OUTPUT Article found @new_ids\n"); - my @good_ids;my %good_ids; - foreach my $id(@new_ids){ # check the new id set against the set we know is already valid + my @new_ids = + &_searchForServicesWithArticle( $dbh, "output", $obj, '' ) + ; # get their service ids + $debug + && _LOG( "Subsequent Search For Services with OUTPUT Article found @new_ids\n" + ); + my @good_ids; + my %good_ids; + foreach my $id ( @new_ids ) + { # check the new id set against the set we know is already valid next unless defined $id; - if ($instances{$id}){push @good_ids, $id} # if they are in common, then that id is still good + if ( $instances{$id} ) { + push @good_ids, $id; + } # if they are in common, then that id is still good } - map {$good_ids{$_}=1} @good_ids; # make a hash of the new good id's - %instances = %good_ids; # and replace the original list with this more limited one + map { $good_ids{$_} = 1 } + @good_ids; # make a hash of the new good id's + %instances = %good_ids + ; # and replace the original list with this more limited one } } + # now %instances contains only valid ID numbers - $debug && _LOG("Final results incremented of search for OUTPUT: ".(join ',',(keys %instances))."\n"); - foreach (keys %instances){ - $debug && &_LOG("found id $_\n"); + $debug + && _LOG( "Final results incremented of search for OUTPUT: " + . ( join ',', ( keys %instances ) ) + . "\n" ); + foreach ( keys %instances ) { + $debug && &_LOG( "found id $_\n" ); ++$valid_service_ids{$_}; } } my @final; - while (my ($id, $freq) = each %valid_service_ids){ - $debug && _LOG("TALLY IS ID: $id FREQ:$freq\n CRITERION COUNT $criterion_count\n"); - next unless $freq == $criterion_count; # has to have matched every criterion + while ( my ( $id, $freq ) = each %valid_service_ids ) { + $debug + && _LOG( "TALLY IS ID: $id FREQ:$freq\n CRITERION COUNT $criterion_count\n" + ); + next + unless $freq == + $criterion_count; # has to have matched every criterion push @final, $id; } - return &_serviceListResponse($dbh, @final); - + return &_serviceListResponse( $dbh, @final ); } +#Eddie - converted sub _searchForServicesWithArticle { - my ($dbh, $inout, $node, $expand, $coll) = @_; - - return () unless $node->getNodeType == ELEMENT_NODE; # this will erase all current successful service instances! - $debug && _LOG("searchServWthArticle ",$dbh, $inout, $node, $expand, $coll); - # this element node may be a Simple or a Collection object - my $simp_coll = $node->getTagName; - $debug && &_LOG("TAGNAME in _searchForArticle is $simp_coll"); - + my ( $dbh, $inout, $node, $expand, $coll ) = @_; + return () + unless $node->nodeType == + ELEMENT_NODE; # this will erase all current successful service instances! + $debug + && _LOG( "searchServWthArticle ", $dbh, $inout, $node, $expand, $coll ); + + # this element node may be a Simple or a Collection object + my $simp_coll = $node->nodeName; + $debug && &_LOG( "TAGNAME in _searchForArticle is $simp_coll" ); my @valid_ids; - if ($simp_coll eq "Collection"){ - @valid_ids = &_searchForCollection($dbh, $node, $expand, $inout); - } elsif ($simp_coll eq "Simple") { - @valid_ids = &_searchForSimple($dbh,$node, $expand, $inout); - } - return @valid_ids; + if ( $simp_coll eq "Collection" ) { + @valid_ids = &_searchForCollection( $dbh, $node, $expand, $inout ); + } elsif ( $simp_coll eq "Simple" ) { + @valid_ids = &_searchForSimple( $dbh, $node, $expand, $inout ); + } + return @valid_ids; } + sub _searchForSimple { + # returns list of service_instance ID's # that match this simple - my ($dbh,$node, $expand, $inout) = @_; - $debug && _LOG($dbh,$node, $expand, $inout); - my ($objectURI, $namespaceURIs) = &_extractObjectTypesAndNamespaces($node); # (objectType, [ns1, ns2, ns3]) - unless ($objectURI){return ()}; + my ( $dbh, $node, $expand, $inout ) = @_; + $debug && _LOG( $dbh, $node, $expand, $inout ); + my ( $objectURI, $namespaceURIs ) = + &_extractObjectTypesAndNamespaces( $node ) + ; # (objectType, [ns1, ns2, ns3]) + unless ( $objectURI ) { return () } my $ancestor_string = "'$objectURI',"; - if ($expand){ - $debug && _LOG("Expanding Objects\n"); - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my %relationships = %{$OS->traverseDAG($objectURI, "root")}; - my (@ancestors) = @{$relationships{'urn:lsid:biomoby.org:objectrelation:isa'}}; - $ancestor_string .= (join ',', map {"\'$_\'"} @ancestors); + if ( $expand ) { + $debug && _LOG( "Expanding Objects\n" ); + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my %relationships = %{ $OS->traverseDAG( $objectURI, "root" ) }; + my ( @ancestors ) = + @{ $relationships{'urn:lsid:biomoby.org:objectrelation:isa'} }; + $ancestor_string .= ( join ',', map { "\'$_\'" } @ancestors ); } $ancestor_string =~ s/\,$//; - - my $query = "select service_instance_id, namespace_type_uris from simple_$inout where object_type_uri in ($ancestor_string) and service_instance_id IS NOT NULL ";# if service_instance_id is null then it must be a collection input. - + my $query = +"select service_instance_id, namespace_type_uris from simple_$inout where object_type_uri in ($ancestor_string) and service_instance_id IS NOT NULL " + ; # if service_instance_id is null then it must be a collection input. my $nsquery; - foreach my $ns(@{$namespaceURIs}){ # namespaces are already URI's - $nsquery .=" OR INSTR(namespace_type_uris, '$ns') "; + foreach my $ns ( @{$namespaceURIs} ) { # namespaces are already URI's + $nsquery .= " OR INSTR(namespace_type_uris, '$ns') "; } - if ($nsquery){ - $nsquery =~ s/OR//; # just the first + if ( $nsquery ) { + $nsquery =~ s/OR//; # just the first $nsquery .= " OR namespace_type_uris IS NULL"; - $query .=" AND ($nsquery) "; + $query .= " AND ($nsquery) "; } - $debug && _LOG("\nQUERY $query\n"); - + $debug && _LOG( "\nQUERY $query\n" ); my @valid_services; - - my $sth = $dbh->prepare($query); + my $sth = $dbh->prepare( $query ); $sth->execute; - while (my ($id, $nss) = $sth->fetchrow_array){ # get the service instance ID and the namespaces that matched - if ($nss && scalar @{$namespaceURIs}){ # if this service cares about namespaces at all, - # and if namespaces were specified in the query, - # then validate the discovered service against this list - my @ns = split ",", $nss; # because of the database structure we have to re-test for *identity*, not just like%% similarity - my %nshash = map {($_, 1)} @ns,@{$namespaceURIs}; #we're going to test identity by building a hash of namespaces as keys - if (scalar(keys %nshash) < scalar(@ns)+scalar(@{$namespaceURIs})){ # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical - push @valid_services, $id; # and therefore it really is a match, and is valid + while ( my ( $id, $nss ) = $sth->fetchrow_array ) + { # get the service instance ID and the namespaces that matched + if ( $nss && scalar @{$namespaceURIs} ) + { # if this service cares about namespaces at all, + # and if namespaces were specified in the query, + # then validate the discovered service against this list + my @ns = split ",", $nss + ; # because of the database structure we have to re-test for *identity*, not just like%% similarity + my %nshash = map { ( $_, 1 ) } @ns, @{ $namespaceURIs + }; #we're going to test identity by building a hash of namespaces as keys + if ( + scalar( keys %nshash ) < + scalar( @ns ) + scalar( @{$namespaceURIs} ) ) + { # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical + push @valid_services, + $id; # and therefore it really is a match, and is valid } - } else { # if no namespace was specified, then all of them are valid - push @valid_services, $id + } else { # if no namespace was specified, then all of them are valid + push @valid_services, $id; } } - $debug && _LOG("Resulting IDs were ".(join ',', @valid_services)."\n"); - return @valid_services; + $debug + && _LOG( "Resulting IDs were " . ( join ',', @valid_services ) . "\n" ); + return @valid_services; } +#Eddie - converted sub _searchForCollection { - my ($dbh, $node, $expand, $inout)= @_; # $node in this case is a Collection object + my ( $dbh, $node, $expand, $inout ) = + @_; # $node in this case is a Collection object my $query; + # luckily, we can return a redundant list of service id's and # this will be cleaned up in the caller - - my @validservices; - foreach my $simple($node->getChildNodes()){ - next unless ($simple->getNodeType == ELEMENT_NODE); - next unless ($simple->getTagName =~ /simple/i); - my ($objectURI, $namespaceURIs) = &_extractObjectTypesAndNamespaces($simple); - + my @validservices; + foreach my $simple ( $node->childNodes() ) { + next unless ( $simple->nodeType == ELEMENT_NODE ); + next unless ( $simple->nodeName =~ /simple/i ); + my ( $objectURI, $namespaceURIs ) = + &_extractObjectTypesAndNamespaces( $simple ); $query = "select c.service_instance_id, s.namespace_type_uris @@ -1864,119 +2223,134 @@ s.collection_${inout}_id IS NOT NULL AND s.collection_${inout}_id = c.collection_${inout}_id AND object_type_uri = '$objectURI' "; - my $nsquery; - foreach my $ns(@{$namespaceURIs}){ # namespaces are already URI's - $nsquery .=" OR INSTR(namespace_type_uris, '$ns') "; + foreach my $ns ( @{$namespaceURIs} ) { # namespaces are already URI's + $nsquery .= " OR INSTR(namespace_type_uris, '$ns') "; } - if ($nsquery){ - $nsquery =~ s/^\sOR//; # just the first + if ( $nsquery ) { + $nsquery =~ s/^\sOR//; # just the first $nsquery .= " OR namespace_type_uris IS NULL"; - $query .= " AND ($nsquery) "; # add the AND clause - } - - $debug && &_LOG("QUERY: $query"); - my $sth = $dbh->prepare($query); + $query .= " AND ($nsquery) "; # add the AND clause + } + $debug && &_LOG( "QUERY: $query" ); + my $sth = $dbh->prepare( $query ); $sth->execute; - while (my ($id, $nss) = $sth->fetchrow_array){ # get the service instance ID and the namespaces that matched - if ($nss && scalar @{$namespaceURIs}){ # if this service cares about namespaces at all, - # and if namespaces were specified in the query, - # then validate the discovered service against this list - my @ns = split ",", $nss; # because of the database structure we have to re-test for *identity*, not just like%% similarity - my %nshash = map {($_, 1)} @ns,@{$namespaceURIs}; #we're going to test identity by building a hash of namespaces as keys - if (scalar(keys %nshash) < scalar(@ns)+scalar(@{$namespaceURIs})){ # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical - push @validservices, $id; # and therefore it really is a match, and is valid + while ( my ( $id, $nss ) = $sth->fetchrow_array ) + { # get the service instance ID and the namespaces that matched + if ( $nss && scalar @{$namespaceURIs} ) + { # if this service cares about namespaces at all, + # and if namespaces were specified in the query, + # then validate the discovered service against this list + my @ns = split ",", $nss + ; # because of the database structure we have to re-test for *identity*, not just like%% similarity + my %nshash = map { ( $_, 1 ) } @ns, @{ $namespaceURIs + }; #we're going to test identity by building a hash of namespaces as keys + if ( + scalar( keys %nshash ) < + scalar( @ns ) + scalar( @{$namespaceURIs} ) ) + { # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical + push @validservices, + $id; # and therefore it really is a match, and is valid } - } else { # if no namespace was specified, then all of them are valid - push @validservices, $id + } else { # if no namespace was specified, then all of them are valid + push @validservices, $id; } } - } + } return @validservices; } +#Eddie - converted sub _findServicePayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'findService'); - - my $serviceType = &_nodeTextContent($Object, "serviceType"); - $serviceType && ($serviceType =~ s/\s+//g); - my $servicename = &_nodeTextContent($Object, "serviceName"); - $servicename && ($servicename =~ s/\s+//g); - my $authoritative = &_nodeTextContent($Object, "authoritative"); - $authoritative && ($authoritative =~ s/\s+//g); - my $Category = &_nodeTextContent($Object, "Category"); - $Category && ($Category =~ s/\s+//g); - my $AuthURI = &_nodeTextContent($Object, "authURI"); - $AuthURI && ($AuthURI =~ s/\s+//g); - my $expandObjects = &_nodeTextContent($Object, "expandObjects"); - $expandObjects && ($expandObjects =~ s/\s+//g); - my $expandServices = &_nodeTextContent($Object, "expandServices"); - $expandServices && ($expandServices =~ s/\s+//g); - my @kw = &_nodeArrayContent($Object, "keywords"); - my $INPUTS = &_nodeRawContent($Object, "Input"); # returns array ref - my $OUTPUTS = &_nodeRawContent($Object, "Output"); # returns array ref - - return ('serviceType' => $serviceType, - 'authURI' => $AuthURI, - 'servicename' => $servicename, - 'expandObjects' => $expandObjects, - 'expandServices' => $expandServices, - 'authoritative' => $authoritative, - 'Category' => $Category, - 'inputObjects' => $INPUTS, - 'outputObjects' => $OUTPUTS, - 'keywords' => \@kw); - + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'findService' ); + my $serviceType = &_nodeTextContent( $Object, "serviceType" ); + $serviceType && ( $serviceType =~ s/\s+//g ); + my $servicename = &_nodeTextContent( $Object, "serviceName" ); + $servicename && ( $servicename =~ s/\s+//g ); + my $authoritative = &_nodeTextContent( $Object, "authoritative" ); + $authoritative && ( $authoritative =~ s/\s+//g ); + my $Category = &_nodeTextContent( $Object, "Category" ); + $Category && ( $Category =~ s/\s+//g ); + my $AuthURI = &_nodeTextContent( $Object, "authURI" ); + $AuthURI && ( $AuthURI =~ s/\s+//g ); + my $expandObjects = &_nodeTextContent( $Object, "expandObjects" ); + $expandObjects && ( $expandObjects =~ s/\s+//g ); + my $expandServices = &_nodeTextContent( $Object, "expandServices" ); + $expandServices && ( $expandServices =~ s/\s+//g ); + my @kw = &_nodeArrayContent( $Object, "keywords" ); + my $INPUTS = &_nodeRawContent( $Object, "Input" ); # returns array ref + my $OUTPUTS = &_nodeRawContent( $Object, "Output" ); # returns array ref + return ( + 'serviceType' => $serviceType, + 'authURI' => $AuthURI, + 'servicename' => $servicename, + 'expandObjects' => $expandObjects, + 'expandServices' => $expandServices, + 'authoritative' => $authoritative, + 'Category' => $Category, + 'inputObjects' => $INPUTS, + 'outputObjects' => $OUTPUTS, + 'keywords' => \@kw + ); } +#Eddie - converted sub _extractObjectTypesAndNamespaces { - # takes a SINGLE simple article and return regular list ($objectURI, [nsURI1, nsURI2, nsURI3]) - my ($DOM) = @_; - $debug && &_LOG("\n\n_extractObjectTypesAndNamespaces\nExtracting object types from \n$DOM \n\n"); - unless (ref($DOM) =~ /^XML/){ - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($DOM); + +# takes a SINGLE simple article and return regular list ($objectURI, [nsURI1, nsURI2, nsURI3]) + my ( $DOM ) = @_; + $debug + && &_LOG( +"\n\n_extractObjectTypesAndNamespaces\nExtracting object types from \n$DOM \n\n" + ); + unless ( ref( $DOM ) =~ /^XML/ ) { + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $DOM ); $DOM = $doc->getDocumentElement(); } - my $x = $DOM->getElementsByTagName("objectType"); + my $x = $DOM->getElementsByTagName( "objectType" ); my $objectname; - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; $objectname = $name; } - $objectname =~ s/^moby\://; # damn XML DOM can't deal with namespaces... so get rid of it if it exists, though this is going to limit us to only MOBY objects again :-( - my $OS= MOBY::OntologyServer->new(ontology => 'object'); - my ($exists, $message, $objectURI) = $OS->objectExists(term => $objectname); - return (undef, []) unless $objectURI; - - my $ns = $DOM->getElementsByTagName("Namespace"); + $objectname =~ s/^moby\:// + ; # damn XML DOM can't deal with namespaces... so get rid of it if it exists, though this is going to limit us to only MOBY objects again :-( + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my ( $exists, $message, $objectURI ) = + $OS->objectExists( term => $objectname ); + return ( undef, [] ) unless $objectURI; + my $ns = $DOM->getElementsByTagName( "Namespace" ); my @namespaces; - my $nonamespaces = $ns->getLength; - $OS= MOBY::OntologyServer->new(ontology => 'namespace'); - for (my $n=0; $n<$nonamespaces; ++$n){ - my @child = $ns->item($n)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; - my ($success, $message, $URI) = $OS->namespaceExists(term => $name); - $URI?(push @namespaces, $URI):(push @namespaces, "__MOBY__INVALID__NAMESPACE__"); + my $nonamespaces = $ns->size(); + $OS = MOBY::OntologyServer->new( ontology => 'namespace' ); + + for ( my $n = 1 ; $n <= $nonamespaces ; ++$n ) { + my @child = $ns->get_node( $n )->childNodes; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; + my ( $success, $message, $URI ) = + $OS->namespaceExists( term => $name ); + $URI + ? ( push @namespaces, $URI ) + : ( push @namespaces, "__MOBY__INVALID__NAMESPACE__" ); } } - return ($objectURI, \@namespaces); + return ( $objectURI, \@namespaces ); } - - =head2 retrieveService Title : retrieveService @@ -1998,67 +2372,67 @@ =cut -sub retrieveService { - my ($pkg, $payload) = @_; - # the payload here is actually the full XML from the findService call above... - #return "NOT YET IMPLEMENTED"; - my ($AuthURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML) = &_retrieveServicePayload($payload); - unless ($AuthURI && $serviceName){return ""} - my $SI = MOBY::service_instance->new(authority_uri => $AuthURI, servicename => $serviceName); +sub retrieveService { + my ( $pkg, $payload ) = @_; + + # the payload here is actually the full XML from the findService call above... + #return "NOT YET IMPLEMENTED"; + my ( $AuthURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML ) = + &_retrieveServicePayload( $payload ); + unless ( $AuthURI && $serviceName ) { return "" } + my $SI = MOBY::service_instance->new( authority_uri => $AuthURI, + servicename => $serviceName ); my $wsdls; - return "" unless ($SI); - - if ($SI->category eq 'moby'){ - my $wsdl = &_getServiceWSDL($SI, $InputXML, $OutputXML, $SecondaryXML); - if ($wsdl){ - $wsdls .= "\n"; - } - #$debug && &_LOG("WSDL_________________$wsdls\n____________________"); - return $wsdls; + return "" unless ( $SI ); + if ( $SI->category eq 'moby' ) { + my $wsdl = + &_getServiceWSDL( $SI, $InputXML, $OutputXML, $SecondaryXML ); + if ( $wsdl ) { + $wsdls .= "\n"; + } + + #$debug && &_LOG("WSDL_________________$wsdls\n____________________"); + return $wsdls; } } - - +#Eddie - converted sub _retrieveServicePayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $x = $doc->getElementsByTagName("Service"); - my $authURI = ""; + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "Service" ); + my $authURI = ""; my $serviceName = ""; - my $l = $x->getLength; # might be a Collection object with multiple simples... - for (my $n=0; $n < $l; ++$n){ - $authURI= $x->item($n)->getAttributeNode("authURI"); # may or may not have a name - if ($authURI){$authURI = $authURI->getValue()} - $serviceName = $x->item($n)->getAttributeNode("serviceName"); # may or may not have a name - if ($serviceName){$serviceName = $serviceName->getValue()} - } - - my $INPUT = $doc->getElementsByTagName("Input"); - my $InputXML = ""; - if ($INPUT->item(0)){ - $InputXML = $INPUT->item(0)->toString; + my $l = $x->size(); # might be a Collection object with multiple simples... + for ( my $n = 1 ; $n <= $l ; ++$n ) { + $authURI = + $x->get_node( $n )->getAttributeNode( "authURI" ) + ; # may or may not have a name + if ( $authURI ) { $authURI = $authURI->getValue() } + $serviceName = + $x->get_node( $n )->getAttributeNode( "serviceName" ) + ; # may or may not have a name + if ( $serviceName ) { $serviceName = $serviceName->getValue() } + } + my $INPUT = $doc->getElementsByTagName( "Input" ); + my $InputXML = ""; + if ( $INPUT->get_node( 1 ) ) { + $InputXML = $INPUT->get_node( 1 )->toString; + } + my $OUTPUT = $doc->getElementsByTagName( "Output" ); + my $OutputXML = ""; + if ( $OUTPUT->get_node( 1 ) ) { + $OutputXML = $OUTPUT->get_node( 1 )->toString; + } + my $SECONDARY = $doc->getElementsByTagName( "Output" ); + my $SecondaryXML = ""; + if ( $SECONDARY->get_node( 1 ) ) { + $SecondaryXML = $SECONDARY->get_Node( 1 )->toString; } - - my $OUTPUT = $doc->getElementsByTagName("Output"); - my $OutputXML = ""; - if ($OUTPUT->item(0)){ - $OutputXML = $OUTPUT->item(0)->toString; - } - - my $SECONDARY = $doc->getElementsByTagName("Output"); - my $SecondaryXML = ""; - if ($SECONDARY->item(0)){ - $SecondaryXML = $SECONDARY->item(0)->toString; - } - - return ($authURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML); - + return ( $authURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML ); } - =head2 retrieveServiceProviders Title : retrieveServiceProviders @@ -2075,18 +2449,17 @@ =cut - sub retrieveServiceProviders { - my ($pkg) = @_; + my ( $pkg ) = @_; my $dbh = MOBY::central_db_connection->new()->dbh; - my $sth = $dbh->prepare("select distinct authority_uri from authority"); + my $sth = $dbh->prepare( "select distinct authority_uri from authority" ); $sth->execute; my $providers = "\n"; - while (my ($prov) = $sth->fetchrow_array){ + while ( my ( $prov ) = $sth->fetchrow_array ) { $providers .= "\n"; } $providers .= "\n"; - return $providers; + return $providers; } =head2 retrieveServiceNames @@ -2106,22 +2479,22 @@ =cut - sub retrieveServiceNames { - my ($pkg) = shift; - - my $dbh = MOBY::central_db_connection->new()->dbh; - my $sth = $dbh->prepare("select authority_uri, servicename from authority as a, service_instance as s where s.authority_id = a.authority_id"); + my ( $pkg ) = shift; + my $dbh = MOBY::central_db_connection->new()->dbh; + my $sth = + $dbh->prepare( +"select authority_uri, servicename from authority as a, service_instance as s where s.authority_id = a.authority_id" + ); $sth->execute; my $names = "\n"; - while (my ($auth, $name) = $sth->fetchrow_array){ + while ( my ( $auth, $name ) = $sth->fetchrow_array ) { $names .= "\n"; } $names .= "\n"; - return $names; + return $names; } - =head2 retrieveServiceTypes Title : retrieveServiceTypes @@ -2140,22 +2513,19 @@ =cut - - sub retrieveServiceTypes { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'service'); - my %types = %{$OS->retrieveAllServiceTypes()}; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my %types = %{ $OS->retrieveAllServiceTypes() }; my $types = "\n"; - while (my ($serv, $desc) = each %types){ - $types .= "\n\n\n"; + while ( my ( $serv, $desc ) = each %types ) { + $types .= +"\n\n\n"; } $types .= "\n"; - return $types; + return $types; } - - =head2 retrieveRelationshipTypes Title : retrieveRelationshipTypes @@ -2176,29 +2546,25 @@ =cut - - +#Eddie - converted sub retrieveRelationshipTypes { - my ($pkg, $payload) = @_; - - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $ontology = &_nodeTextContent($doc, "Ontology"); - my $OS = MOBY::OntologyServer->new(ontology => 'relationship'); - my %types = %{$OS->getRelationshipTypes(ontology => $ontology)}; - my $types = "\n"; - while (my ($name, $authdesc) = each %types){ + my ( $pkg, $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $ontology = &_nodeTextContent( $doc, "Ontology" ); + my $OS = MOBY::OntologyServer->new( ontology => 'relationship' ); + my %types = %{ $OS->getRelationshipTypes( ontology => $ontology ) }; + my $types = "\n"; + while ( my ( $name, $authdesc ) = each %types ) { my $auth = $authdesc->[0]; my $desc = $authdesc->[1]; - $types .= "\n\n\n"; + $types .= +"\n\n\n"; } $types .= "\n"; - return $types; + return $types; } - - - =head2 retrieveObjectNames Title : retrieveObjectNames @@ -2217,21 +2583,19 @@ =cut - sub retrieveObjectNames { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my %types = %{$OS->retrieveAllObjectTypes()}; - my $obj = "\n"; - while (my ($name, $desc) = each %types){ - $obj .= "\n\n\n"; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my %types = %{ $OS->retrieveAllObjectTypes() }; + my $obj = "\n"; + while ( my ( $name, $desc ) = each %types ) { + $obj .= +"\n\n\n"; } $obj .= "\n"; - return $obj; + return $obj; } - - =head2 retrieveObjectDefinition Title : retrieveObjectDefinition @@ -2262,37 +2626,41 @@ =cut +#Eddie - converted sub retrieveObjectDefinition { - my ($pkg, $payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $term = &_nodeTextContent($doc, "objectType"); + my ( $pkg, $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $term = &_nodeTextContent( $doc, "objectType" ); return "" unless $term; - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my $def = $OS->retrieveObject(node => $term); # will return undef if this term does not exist, and does not look like an LSID + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my $def = + $OS->retrieveObject( node => $term ) + ; # will return undef if this term does not exist, and does not look like an LSID return "" unless $def; - my %def = %{$OS->retrieveObject(node => $term)}; + my %def = %{ $OS->retrieveObject( node => $term ) }; my $response; $response = " $def{objectType} $def{authURI} $def{contactEmail}\n"; - my %relationships = %{$def{Relationships}}; - while (my ($rel, $objdefs) = each %relationships){ + my %relationships = %{ $def{Relationships} }; + + while ( my ( $rel, $objdefs ) = each %relationships ) { $response .= "\n"; - foreach my $def(@{$objdefs}){ - my ($lsid, $articlename) = @{$def}; - $articlename="" unless defined $articlename; - $response .="$lsid\n"; + foreach my $def ( @{$objdefs} ) { + my ( $lsid, $articlename ) = @{$def}; + $articlename = "" unless defined $articlename; + $response .= + "$lsid\n"; } - $response .="\n"; + $response .= "\n"; } - $response .="\n"; + $response .= "\n"; return $response; } - =head2 retrieveNamespaces Title : retrieveNamespaces @@ -2311,20 +2679,19 @@ =cut - sub retrieveNamespaces { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'namespace'); - my %types = %{$OS->retrieveAllNamespaceTypes()}; - my $ns = "\n"; - while (my ($namespace, $desc) = each %types){ - $ns .= "\n\n\n"; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'namespace' ); + my %types = %{ $OS->retrieveAllNamespaceTypes() }; + my $ns = "\n"; + while ( my ( $namespace, $desc ) = each %types ) { + $ns .= +"\n\n\n"; } - $ns .=""; - return $ns; + $ns .= ""; + return $ns; } - =head2 retrieveObject NOT YET IMPLEMENTED @@ -2350,30 +2717,26 @@ =cut - sub retrieveObject { - my ($pkg, $payload) = @_; - my $response = "\n"; - $response .="\n"; - $response .= "\n"; - return $response; + my ( $pkg, $payload ) = @_; + my $response = "\n"; + $response .= "\n"; + $response .= "\n"; + return $response; } - +#Eddie - converted sub _retrieveObjectPayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'retrieveObject'); - my $type = &_nodeTextContent($Object, "objectType"); - return ($type); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'retrieveObject' ); + my $type = &_nodeTextContent( $Object, "objectType" ); + return ( $type ); } - - =head2 Relationships Title : Relationships @@ -2429,71 +2792,75 @@ =cut - sub Relationships { - my ($pkg, $payload) = @_; + my ( $pkg, $payload ) = @_; my $ontology; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - - my $x = $doc->getElementsByTagName("relationshipType"); - my $l = $x->getLength; - - my $exp = $doc->getElementsByTagName("expandRelationship"); - my $expl = $exp->getLength; - - my $expand_relationship = &_nodeTextContent($doc, 'expandRelationship'); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "relationshipType" ); + my $l = $x->size(); + my $exp = $doc->getElementsByTagName( "expandRelationship" ); + my $expl = $exp->size(); + my $expand_relationship = &_nodeTextContent( $doc, 'expandRelationship' ); $expand_relationship =~ s/\s//g; - $expand_relationship ||=0; - + $expand_relationship ||= 0; my %reltypes; - for (my $n=0; $n < $l; ++$n){ - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless ($_->getNodeType == TEXT_NODE); - my $name .= $_->toString; $name =~ s/\s//g; + + for ( my $n = 1 ; $n <= $l ; ++$n ) { + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless ( $_->nodeType == TEXT_NODE ); + my $name .= $_->toString; + $name =~ s/\s//g; $reltypes{$name} = 1; } } - - my $term = &_nodeTextContent($doc, "objectType"); - $ontology = "object" if $term; # pick up the ontology "object" that we used here if we got an object term - $term ||= &_nodeTextContent($doc, "serviceType"); # if we didn't get anything using objectType try serviceType - return undef unless $term; # and bail out if we didn't succeed - - $ontology ||="service"; # if we have now succeeded and haven't already taken the ontology then it must be the service ontology - &_LOG("Ontology was $ontology; Term was $term\n"); - my $OS = MOBY::OntologyServer->new(ontology => $ontology); - my %rels = %{$OS->Relationships(term => $term, expand => $expand_relationship)}; # %rels = $rels{relationship} = [lsid, lsid,lsid] - - my $response="\n"; - my $OSrel = MOBY::OntologyServer->new(ontology => 'relationship'); - foreach (keys %reltypes){ # for each of our desired types - my $rellsid = $OSrel->getRelationshipURI($ontology, $_); # get the LSID - delete $reltypes{$_}; # remove the non-LSID version from the hash + my $term = &_nodeTextContent( $doc, "objectType" ); + $ontology = "object" + if $term + ; # pick up the ontology "object" that we used here if we got an object term + $term ||= + &_nodeTextContent( $doc, "serviceType" ) + ; # if we didn't get anything using objectType try serviceType + return undef unless $term; # and bail out if we didn't succeed + $ontology ||= "service" + ; # if we have now succeeded and haven't already taken the ontology then it must be the service ontology + &_LOG( "Ontology was $ontology; Term was $term\n" ); + my $OS = MOBY::OntologyServer->new( ontology => $ontology ); + my %rels = + %{ $OS->Relationships( term => $term, expand => $expand_relationship ) + }; # %rels = $rels{relationship} = [lsid, lsid,lsid] + my $response = "\n"; + my $OSrel = MOBY::OntologyServer->new( ontology => 'relationship' ); + + foreach ( keys %reltypes ) { # for each of our desired types + my $rellsid = + $OSrel->getRelationshipURI( $ontology, $_ ); # get the LSID + delete $reltypes{$_}; # remove the non-LSID version from the hash $reltypes{$rellsid} = 1; # set the LSID as valid } + # now for each of the relationship types that we were returned - foreach (keys %rels){ - my $rellsid = $OSrel->getRelationshipURI($ontology, $_); + foreach ( keys %rels ) { + my $rellsid = $OSrel->getRelationshipURI( $ontology, $_ ); next unless $rellsid; - if (keys %reltypes){ - next unless $reltypes{$rellsid}; # next unless it is one ofthe relationship types we requested + if ( keys %reltypes ) { + next + unless $reltypes{ $rellsid + }; # next unless it is one ofthe relationship types we requested } my $lsids = $rels{$rellsid}; next unless $lsids->[0]; - $response .="\n"; - foreach my $lsid(@{$lsids}){ - $response .="<${ontology}Type>$lsid\n"; + $response .= "\n"; + foreach my $lsid ( @{$lsids} ) { + $response .= "<${ontology}Type>$lsid\n"; } $response .= "\n"; } - $response .="\n"; + $response .= "\n"; return $response; } - - =head2 DUMP_MySQL Title : DUMP_MySQL @@ -2504,58 +2871,60 @@ =cut - sub DUMP_MySQL { - my ($pkg) = @_; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobycentral |") || die "can't open mobycentral for dumping"; + my ( $pkg ) = @_; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobycentral |" ) + || die "can't open mobycentral for dumping"; my @response; - while (){ + while ( ) { push @response, $_; } - my $mobycentral = (join "", @response); - + my $mobycentral = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyobject |") || die "can't open mobyobject for dumping"; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyobject |" ) + || die "can't open mobyobject for dumping"; @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyobject = (join "", @response); - + my $mobyobject = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyservice |") || die "can't open mobyservice for dumping"; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyservice |" ) + || die "can't open mobyservice for dumping"; @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyservice = (join "", @response); - + my $mobyservice = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobynamespace |"); + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobynamespace |" ); @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobynamespace = (join "", @response); + my $mobynamespace = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyrelationship |"); + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyrelationship |" ); @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyrelationship = (join "", @response); + my $mobyrelationship = ( join "", @response ); close IN; - return [$mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship]; + return [ + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ]; } - -*DUMP = \&DUMP_MySQL; # alias it for backward compatibility -*DUMP = \&DUMP_MySQL; # alias it for backward compatibility +*DUMP = \&DUMP_MySQL; # alias it for backward compatibility +*DUMP = \&DUMP_MySQL; # alias it for backward compatibility sub _flatten { + # from a given term, traverse the ontology # and flatten it into a list of parent terms - my ($dbh,$type,$term, $seen) = @_; - my $sth = $dbh->prepare(" + my ( $dbh, $type, $term, $seen ) = @_; + my $sth = $dbh->prepare( " select OE1.term from @@ -2567,30 +2936,31 @@ and ontologyentry1_id = OE1.id and relationship_type_id = $type and OE2.term = ?" - ); - $sth->execute($term); - while (my ($term) = $sth->fetchrow_array){ + ); + $sth->execute( $term ); + while ( my ( $term ) = $sth->fetchrow_array ) { next if ${$seen}{$term}; - &_flatten($dbh, $type, $term, $seen); + &_flatten( $dbh, $type, $term, $seen ); ${$seen}{$term} = 1; } - -} +} +#Eddie - Converted sub _ISAPayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'ISA'); - my $type = &_nodeTextContent($Object, "objectType"); - return ($type); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'ISA' ); + my $type = &_nodeTextContent( $Object, "objectType" ); + return ( $type ); } +=cut + + -=cut =head1 Internal Object Methods @@ -2598,7 +2968,6 @@ =cut - =head2 _getValidServices Title : _getValidServices @@ -2609,35 +2978,39 @@ =cut - sub _getValidServices { - my ( $dbh, $sth_hash, $query, $max_return) = @_; + my ( $dbh, $sth_hash, $query, $max_return ) = @_; my %sth = %{$sth_hash}; - $debug && &_LOG("QUERY: \n$query\n\n"); - my $this_query = $dbh->prepare($query); + $debug && &_LOG( "QUERY: \n$query\n\n" ); + my $this_query = $dbh->prepare( $query ); $this_query->execute; my $response; my %seen; - $response = "\n"; - while (my ($serviceName, $objectOUT, $AuthURI,$desc, $type, $cat) =$this_query->fetchrow_array()){ - $debug && &_LOG("$serviceName, $objectOUT, $AuthURI,$desc, $type, $cat\n"); - next if $seen{"$AuthURI"."||"."$serviceName"}; # non-redundant list please - $seen{"$AuthURI"."||"."$serviceName"} = 1; - $response .="\n"; - $response .="$cat\n"; - $response .="$type\n"; - $response .="$objectOUT\n"; - $response .= "\n"; - $response .= "\n"; - - if ($max_return){--$max_return;last unless $max_return} + $response = "\n"; + + while ( my ( $serviceName, $objectOUT, $AuthURI, $desc, $type, $cat ) = + $this_query->fetchrow_array() ) + { + $debug + && &_LOG( "$serviceName, $objectOUT, $AuthURI,$desc, $type, $cat\n" ); + next + if $seen{ "$AuthURI" . "||" + . "$serviceName" }; # non-redundant list please + $seen{ "$AuthURI" . "||" . "$serviceName" } = 1; + $response .= + "\n"; + $response .= "$cat\n"; + $response .= "$type\n"; + $response .= "$objectOUT\n"; + $response .= "\n"; + $response .= "\n"; + if ( $max_return ) { --$max_return; last unless $max_return } } - $response .= "\n"; - $debug && &_LOG("\nFINAL RESPONSE IS \n$response\n\n"); + $response .= "\n"; + $debug && &_LOG( "\nFINAL RESPONSE IS \n$response\n\n" ); return $response; } - =head2 _getServiceWSDL Title : _getServiceWSDL @@ -2648,60 +3021,63 @@ =cut - sub _getServiceWSDL { - my ($SI, $InputXML, $OutputXML, $SecondaryXML) = @_; - # the lines below causes no end of grief. It is now in a variable. - #open (WSDL, "./MOBY/Central_WSDL_SandR.wsdl") || die "can't open WSDL file for search and replace\n"; - #my $wsdl = join "", (); - my $wsdl = $WSDL_TEMPLATE; - $wsdl =~ s/^\n//gs; + my ( $SI, $InputXML, $OutputXML, $SecondaryXML ) = @_; + +# the lines below causes no end of grief. It is now in a variable. +#open (WSDL, "./MOBY/Central_WSDL_SandR.wsdl") || die "can't open WSDL file for search and replace\n"; +#my $wsdl = join "", (); + my $wsdl = $WSDL_TEMPLATE; + $wsdl =~ s/^\n//gs; + #close WSDL; # do substitutions - my $serviceName = $SI->servicename; - my $AuthURI = $SI->authority_uri; - my $desc = $SI->description; - my $URL = $SI->url; - my $IN = "NOT_YET_DEFINED_INPUTS"; - my $OUT = "NOT_YET_DEFINED_OUTPUTS"; - - my $INxsd = &_getInputXSD($InputXML, $SecondaryXML); - my $OUTxsd = &_getOutputXSD($OutputXML); - - $INxsd ||= ""; - $OUTxsd ||=""; - - $wsdl =~ s/MOBY__SERVICE__NAME__/$serviceName/g; # replace all of the goofy portbindingpottype crap - $wsdl =~ s/\<\!\-\-\s*MOBY__SERVICE__DESCRIPTION\s*\-\-\>/Authority: $AuthURI - $desc/g; # add a sensible description - $wsdl =~ s/MOBY__SERVICE__URL/$URL/g; # the URL to the service - #if (scalar @in){my ($IN, $INxsd) = @{shift @in}}; - #if (scalar @out){my ($OUT, $OUTxsd) = @{shift @out}}; - $wsdl =~ s/MOBY__INPUT__OBJECT__NAME/$IN/g; # SINGLE input object (for now) - $wsdl =~ s/MOBY__OUTPUT__OBJECT__NAME/$OUT/g; # SINGLE output object (for now) - $wsdl =~ s/\<\!\-\-\s*MOBY__INPUT__OBJECT__XSD\s*\-\-\>/$INxsd/g; # XSD stright from the database - $wsdl =~ s/\<\!\-\-\s*MOBY__OUTPUT__OBJECT__XSD\s*\-\-\>/$OUTxsd/g; # XSD straight from the database - $wsdl =~ s/MOBY__SERVICE__NAME/$serviceName/g; # finally replace the actual subroutine call + my $AuthURI = $SI->authority_uri; + my $desc = $SI->description; + my $URL = $SI->url; + my $IN = "NOT_YET_DEFINED_INPUTS"; + my $OUT = "NOT_YET_DEFINED_OUTPUTS"; + my $INxsd = &_getInputXSD( $InputXML, $SecondaryXML ); + my $OUTxsd = &_getOutputXSD( $OutputXML ); + $INxsd ||= ""; + $OUTxsd ||= ""; + $wsdl =~ s/MOBY__SERVICE__NAME__/$serviceName/g + ; # replace all of the goofy portbindingpottype crap + $wsdl =~ +s/\<\!\-\-\s*MOBY__SERVICE__DESCRIPTION\s*\-\-\>/Authority: $AuthURI - $desc/g + ; # add a sensible description + $wsdl =~ s/MOBY__SERVICE__URL/$URL/g; # the URL to the service + #if (scalar @in){my ($IN, $INxsd) = @{shift @in}}; + #if (scalar @out){my ($OUT, $OUTxsd) = @{shift @out}}; + $wsdl =~ s/MOBY__INPUT__OBJECT__NAME/$IN/g; # SINGLE input object (for now) + $wsdl =~ + s/MOBY__OUTPUT__OBJECT__NAME/$OUT/g; # SINGLE output object (for now) + $wsdl =~ s/\<\!\-\-\s*MOBY__INPUT__OBJECT__XSD\s*\-\-\>/$INxsd/g + ; # XSD stright from the database + $wsdl =~ s/\<\!\-\-\s*MOBY__OUTPUT__OBJECT__XSD\s*\-\-\>/$OUTxsd/g + ; # XSD straight from the database + $wsdl =~ s/MOBY__SERVICE__NAME/$serviceName/g + ; # finally replace the actual subroutine call return $wsdl; } - sub _getCGIService { - my ( $dbh, $sth_hash, $id, $serviceName, $AuthURI,$URL, $desc, $category) = @_; + my ( $dbh, $sth_hash, $id, $serviceName, $AuthURI, $URL, $desc, $category ) + = @_; my %sth = %{$sth_hash}; - # "Select OE.term, O.xsd, SP.type - # from Object as O, OntologyEntry as OE, ServiceParameter as SP, Service as S - # where O.ontologyentry_id = OE.id - # AND SP.ontologyentry_id = OE.id - # and SP.service_id = ? - - my $sth = $dbh->prepare($sth{get_server_parameters}); - $sth->execute($id); - my ($Object, $sprintf, $in) = $sth->fetchrow_array(); + + # "Select OE.term, O.xsd, SP.type + # from Object as O, OntologyEntry as OE, ServiceParameter as SP, Service as S + # where O.ontologyentry_id = OE.id + # AND SP.ontologyentry_id = OE.id + # and SP.service_id = ? + my $sth = $dbh->prepare( $sth{get_server_parameters} ); + $sth->execute( $id ); + my ( $Object, $sprintf, $in ) = $sth->fetchrow_array(); return ""; } - =head2 _traverseServiceDAG Title : _traverseServiceDAG @@ -2713,35 +3089,41 @@ =cut - sub _traverseServiceDAG { - my ( $dbh, $serviceType, $sth_hash) = @_; + my ( $dbh, $serviceType, $sth_hash ) = @_; my %sth = %{$sth_hash}; my %ServiceIDs; - my $sth = $dbh->prepare($sth{get_service_type_id}); - $sth->execute($serviceType); - my ($root_id) = $sth->fetchrow_array; + my $sth = $dbh->prepare( $sth{get_service_type_id} ); + $sth->execute( $serviceType ); + my ( $root_id ) = $sth->fetchrow_array; return undef unless $root_id; - - # we have to do a traversal of the DAG here to get all child nodes... - # this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... - $ServiceIDs{$root_id} = "untested"; # mark the one in-hand as untested - while (grep /untested/, (values %ServiceIDs)){ # now, while there are untested services in our list... - foreach my $service(keys %ServiceIDs){ # start parsing through the list - next if ($ServiceIDs{$service} eq "tested"); # if it has been tested already then move on - my $sth = $dbh->prepare($sth{get_service_hierarchy_list}); - $sth->execute($service); # execute the query for child nodes - $ServiceIDs{$service} = "tested"; # mark it as tested - while (my $new = $sth->fetchrow_array){ # now get each of the child nodes - next if (defined $ServiceIDs{$new}); # if we have already heard about it then move on - $ServiceIDs{$new} = "untested"; #otherwise mark it as untested, and start all over again + +# we have to do a traversal of the DAG here to get all child nodes... +# this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... + $ServiceIDs{$root_id} = "untested"; # mark the one in-hand as untested + while ( grep /untested/, ( values %ServiceIDs ) ) + { # now, while there are untested services in our list... + foreach my $service ( keys %ServiceIDs ) + { # start parsing through the list + next + if ( $ServiceIDs{$service} eq "tested" ) + ; # if it has been tested already then move on + my $sth = $dbh->prepare( $sth{get_service_hierarchy_list} ); + $sth->execute( $service ); # execute the query for child nodes + $ServiceIDs{$service} = "tested"; # mark it as tested + while ( my $new = $sth->fetchrow_array ) + { # now get each of the child nodes + next + if ( defined $ServiceIDs{$new} ) + ; # if we have already heard about it then move on + $ServiceIDs{$new} = "untested" + ; #otherwise mark it as untested, and start all over again } } } return keys %ServiceIDs; } - =head2 _traverseObjectDAG Title : _traverseObjectDAG @@ -2753,270 +3135,339 @@ =cut - - sub _traverseObjectDAG { - my ( $dbh, $objectType, $sth_hash, $dir) = @_; + my ( $dbh, $objectType, $sth_hash, $dir ) = @_; my %sth = %{$sth_hash}; my %ObjectIDs; - my $sth = $dbh->prepare($sth{get_object_type_id}); - $sth->execute($objectType); - my ($root_id) = $sth->fetchrow_array; + my $sth = $dbh->prepare( $sth{get_object_type_id} ); + $sth->execute( $objectType ); + my ( $root_id ) = $sth->fetchrow_array; return undef unless $root_id; - - if ($dir eq "p"){ - $debug && &_LOG("getting parents"); - $sth = $dbh->prepare($sth{get_object_parent_list}); - } - else { - $debug && &_LOG("getting children"); - $sth = $dbh->prepare($sth{get_object_child_list}); - } - - # we have to do a traversal of the DAG here to get all child nodes... - # this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... - $ObjectIDs{$root_id} = "untested"; # mark the one in-hand as untested - - while (grep /untested/, (values %ObjectIDs)){ # now, while there are untested services in our list... - foreach my $object(keys %ObjectIDs){ # start parsing through the list - next if ($ObjectIDs{$object} eq "tested"); # if it has been tested already then move on - $sth->execute($object); # execute the query for child nodes - $ObjectIDs{$object} = "tested"; # mark it as tested - while (my $new = $sth->fetchrow_array){ # now get each of the child nodes - next if (defined $ObjectIDs{$new}); # if we have already heard about it then move on - $ObjectIDs{$new} = "untested"; #otherwise mark it as untested, and start all over again + if ( $dir eq "p" ) { + $debug && &_LOG( "getting parents" ); + $sth = $dbh->prepare( $sth{get_object_parent_list} ); + } else { + $debug && &_LOG( "getting children" ); + $sth = $dbh->prepare( $sth{get_object_child_list} ); + } + +# we have to do a traversal of the DAG here to get all child nodes... +# this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... + $ObjectIDs{$root_id} = "untested"; # mark the one in-hand as untested + while ( grep /untested/, ( values %ObjectIDs ) ) + { # now, while there are untested services in our list... + foreach my $object ( keys %ObjectIDs ) + { # start parsing through the list + next + if ( $ObjectIDs{$object} eq "tested" ) + ; # if it has been tested already then move on + $sth->execute( $object ); # execute the query for child nodes + $ObjectIDs{$object} = "tested"; # mark it as tested + while ( my $new = $sth->fetchrow_array ) + { # now get each of the child nodes + next + if ( defined $ObjectIDs{$new} ) + ; # if we have already heard about it then move on + $ObjectIDs{$new} = "untested" + ; #otherwise mark it as untested, and start all over again } } } return keys %ObjectIDs; } +#Eddie - converted sub _nodeTextContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeTextContent received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my $x = $DOM->getElementsByTagName($node); - return undef unless $x->item(0); - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - $debug && &_LOG($_->getNodeTypeName, "\t", $_->toString,"\n"); - #next unless $_->getNodeType == TEXT_NODE; - $content .= $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeTextContent received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my $x = $DOM->getElementsByTagName( $node ); + return undef unless $x->get_node( 1 ); + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + $debug + && &_LOG( $_->nodeType, "\t", $_->toString, "\n" ); + + #next unless $_->nodeType == TEXT_NODE; + $content .= $_->toString; + } + return $content; } +#Eddie - converted sub _nodeRawContent { + # will get raw child nodes of $node from the given $DOM - my ($DOM, $nodename) = @_; - my @content; - $debug && &_LOG("_nodeRawContent received DOM: ", $DOM->toString,"\nsearching for node $nodename\n"); - my $x = $DOM->getElementsByTagName($nodename); - my $node = $x->item(0); + my ( $DOM, $nodename ) = @_; + my @content; + $debug && &_LOG( "_nodeRawContent received DOM: ", + $DOM->toString, "\nsearching for node $nodename\n" ); + my $x = $DOM->getElementsByTagName( $nodename ); + my $node = $x->get_node( 1 ); return [] unless $node; - foreach my $child($node->getChildNodes){ - next unless $child->getNodeType == ELEMENT_NODE; + foreach my $child ( $node->childNodes ) { + next unless $child->nodeType == ELEMENT_NODE; push @content, $child; } - return \@content; + return \@content; } +#Eddie - converted sub _nodeArrayContent { + # will get array content of all child $node from given $DOM # regardless of depth! # e.g. the following XML: # # first # second - # + # #will return the list "first", "second" - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeArrayContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my @result; - my $x = $DOM->getElementsByTagName($node); - return @result unless $x->item(0); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - next unless (length($_->toString) > 0); - push @result, $_->toString; - } - } - $debug && _LOG("_nodeArrayContent resulted in @result\n"); - return @result; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeArrayContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my @result; + my $x = $DOM->getElementsByTagName( $node ); + return @result unless $x->get_node( 1 ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + next unless ( length( $_->toString ) > 0 ); + push @result, $_->toString; + } + } + $debug && _LOG( "_nodeArrayContent resulted in @result\n" ); + return @result; } +#Eddie - converted sub _nodeArrayExtraContent { + # will get array content of all child $node from given $DOM # regardless of depth! # e.g. the following XML: # # first # second - # + # #will return the list # ['first',{'articleName' => 'thisone'}], # ['second',{'articleName' => 'otherone'},... - - my ($DOM, $node,@attrs) = @_; - $debug && &_LOG("_nodeArrayExtraContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); + my ( $DOM, $node, @attrs ) = @_; + $debug && &_LOG( "_nodeArrayExtraContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); my @result; my %att_value; - my $x = $DOM->getElementsByTagName($node); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - foreach my $attr(@attrs){ - $debug && &_LOG("_nodeArrayExtraContext received DOM: ", $DOM->toString,"\nsearching for attributre $attr\n"); - my $article = $_->getAttributeNode($attr); # may or may not have a name - if ($article){$article = $article->getValue()} + my $x = $DOM->getElementsByTagName( $node ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + foreach my $attr ( @attrs ) { + $debug && &_LOG( "_nodeArrayExtraContext received DOM: ", + $DOM->toString, "\nsearching for attributre $attr\n" ); + my $article = + $_->getAttributeNode( $attr ); # may or may not have a name + if ( $article ) { $article = $article->getValue() } $att_value{$attr} = $article; } - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @result, [$_->toString,\%att_value]; - } - } - $debug && &_LOG(@result); - return @result; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @result, [ $_->toString, \%att_value ]; + } + } + $debug && &_LOG( @result ); + return @result; } sub _serviceListResponse { - - my ($dbh, @ids) = @_; - - my $output=""; - my $sth = $dbh->prepare(q{ + my ( $dbh, @ids ) = @_; + my $output = ""; + my $sth = $dbh->prepare( + q{ select category, url, servicename, service_type_uri, authority_id, description, authoritative, contact_email, signatureURL from service_instance where - service_instance_id = ?}); - my $sth_simple_in = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id=? and collection_input_id IS NULL"); - my $sth_simple_out = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id=? and collection_output_id IS NULL"); - my $sth_collection_ins = $dbh->prepare("select collection_input_id, article_name from collection_input where service_instance_id=?"); - my $sth_collection_outs = $dbh->prepare("select collection_output_id, article_name from collection_output where service_instance_id=?"); - my $sth_collection_in = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id IS NULL and collection_input_id =?"); - my $sth_collection_out = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id IS NULL and collection_output_id =?"); - my $sth_secondary_in = $dbh->prepare("select default_value, maximum_value, minimum_value, enum_value, datatype, article_name from secondary_input where service_instance_id=?"); - - - my $OSobj = MOBY::OntologyServer->new(ontology => 'object'); - my $OSns = MOBY::OntologyServer->new(ontology => 'namespace'); - my $OSserv = MOBY::OntologyServer->new(ontology => 'service'); - - foreach (@ids){ - $sth->execute($_); - my ($category, $url, $servicename, $service_type_uri, $authority_id, $desc, $authoritative, $email, $signatureURL) = $sth->fetchrow_array; - #print "\n\nAFTER EXECUTE $category, $servicename, $service_type_uri, $authority_id, $desc, $authoritative\n\n"; - $signatureURL ||=""; - next unless ($servicename && $authority_id); - my $service_type = $OSserv->getServiceCommonName($service_type_uri); - my ($authURI) = $dbh->selectrow_array(q{select authority_uri from authority where authority_id=?},undef,$authority_id); - $output .= "\t\n"; + service_instance_id = ?} + ); + my $sth_simple_in = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id=? and collection_input_id IS NULL" + ); + my $sth_simple_out = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id=? and collection_output_id IS NULL" + ); + my $sth_collection_ins = + $dbh->prepare( +"select collection_input_id, article_name from collection_input where service_instance_id=?" + ); + my $sth_collection_outs = + $dbh->prepare( +"select collection_output_id, article_name from collection_output where service_instance_id=?" + ); + my $sth_collection_in = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id IS NULL and collection_input_id =?" + ); + my $sth_collection_out = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id IS NULL and collection_output_id =?" + ); + my $sth_secondary_in = + $dbh->prepare( +"select default_value, maximum_value, minimum_value, enum_value, datatype, article_name from secondary_input where service_instance_id=?" + ); + my $OSobj = MOBY::OntologyServer->new( ontology => 'object' ); + my $OSns = MOBY::OntologyServer->new( ontology => 'namespace' ); + my $OSserv = MOBY::OntologyServer->new( ontology => 'service' ); + + foreach ( @ids ) { + $sth->execute( $_ ); + my ( + $category, $url, $servicename, + $service_type_uri, $authority_id, $desc, + $authoritative, $email, $signatureURL + ) + = $sth->fetchrow_array; + +#print "\n\nAFTER EXECUTE $category, $servicename, $service_type_uri, $authority_id, $desc, $authoritative\n\n"; + $signatureURL ||= ""; + next unless ( $servicename && $authority_id ); + my $service_type = $OSserv->getServiceCommonName( $service_type_uri ); + my ( $authURI ) = + $dbh->selectrow_array( + q{select authority_uri from authority where authority_id=?}, + undef, $authority_id ); + $output .= + "\t\n"; $output .= "\t$service_type\n"; $output .= "\t$authoritative\n"; $output .= "\t$category\n"; $output .= "\t\n$desc\n\t\n"; $output .= "\t$email\n"; - $output .= "\t$signatureURL\n"; - $output .= "\t$url\n"; - $output .="\t\n"; - $sth_simple_in->execute($_); - while (my ($objURI, $nsURI, $article) = $sth_simple_in->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $output .= "\t$signatureURL\n"; + $output .= "\t$url\n"; + $output .= "\t\n"; + $sth_simple_in->execute( $_ ); + + while ( my ( $objURI, $nsURI, $article ) = + $sth_simple_in->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\n"; - $output .="\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t$NSname\n" if $NSname; - } - $output .="\t\t\n"; - } - $sth_collection_ins->execute($_); - while (my ($collid, $articlename) = $sth_collection_ins->fetchrow_array){ - $output .="\t\t\n"; - $sth_collection_in->execute($collid); - while (my ($objURI, $nsURI, $article) = $sth_collection_in->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $article ||= ""; + $output .= "\t\t\n"; + $output .= "\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t$NSname\n" if $NSname; + } + $output .= "\t\t\n"; + } + $sth_collection_ins->execute( $_ ); + while ( my ( $collid, $articlename ) = + $sth_collection_ins->fetchrow_array ) + { + $output .= "\t\t\n"; + $sth_collection_in->execute( $collid ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_collection_in->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\t\n"; - $output .="\t\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t\t$NSname\n" if $NSname; + $article ||= ""; + $output .= "\t\t\t\n"; + $output .= "\t\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t\t$NSname\n" + if $NSname; } - $output .="\t\t\t\n"; + $output .= "\t\t\t\n"; } - $output .="\t\t\n"; - } - - $output .="\t\n"; - - $output .="\t\n"; - $sth_simple_out->execute($_); - while (my ($objURI, $nsURI, $article) = $sth_simple_out->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $output .= "\t\t\n"; + } + $output .= "\t\n"; + $output .= "\t\n"; + $sth_simple_out->execute( $_ ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_simple_out->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\n"; - $output .="\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t$NSname\n" if $NSname; - } - $output .="\t\t\n"; - } - $sth_collection_outs->execute($_); - while (my ($collid, $articlename) = $sth_collection_outs->fetchrow_array){ - $output .="\t\t\n"; - $sth_collection_out->execute($collid); - while (my ($objURI, $nsURI, $article) = $sth_collection_out->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $article ||= ""; + $output .= "\t\t\n"; + $output .= "\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t$NSname\n" if $NSname; + } + $output .= "\t\t\n"; + } + $sth_collection_outs->execute( $_ ); + while ( my ( $collid, $articlename ) = + $sth_collection_outs->fetchrow_array ) + { + $output .= "\t\t\n"; + $sth_collection_out->execute( $collid ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_collection_out->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\t\n"; - $output .="\t\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t\t$NSname\n" if $NSname; + $article ||= ""; + $output .= "\t\t\t\n"; + $output .= "\t\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t\t$NSname\n" + if $NSname; } - $output .="\t\t\t\n"; + $output .= "\t\t\t\n"; } - $output .="\t\t\n"; - } - $output .="\t\n"; - - $output .="\t\n"; - $sth_secondary_in->execute($_); - while (my ($default_value, $maximum_value, $minimum_value, $enum_value, $datatype, $article_name) = $sth_secondary_in->fetchrow_array()){ - $article_name ||=""; - $datatype ||=""; - $default_value ||=""; - $maximum_value ||=""; - $minimum_value ||=""; + $output .= "\t\t\n"; + } + $output .= "\t\n"; + $output .= "\t\n"; + $sth_secondary_in->execute( $_ ); + while ( + my ( + $default_value, $maximum_value, $minimum_value, + $enum_value, $datatype, $article_name + ) + = $sth_secondary_in->fetchrow_array() + ) + { + $article_name ||= ""; + $datatype ||= ""; + $default_value ||= ""; + $maximum_value ||= ""; + $minimum_value ||= ""; $output .= "\t\t\t\n"; $output .= "\t\t\t\t$datatype\n"; - $output .="\t\t\t\t$default_value\n"; - $output .="\t\t\t\t$maximum_value\n"; - $output .="\t\t\t\t$minimum_value\n"; + $output .= "\t\t\t\t$default_value\n"; + $output .= "\t\t\t\t$maximum_value\n"; + $output .= "\t\t\t\t$minimum_value\n"; my @enums = split ",", $enum_value; - if (scalar(@enums)){ - foreach my $enum(@enums){ + + if ( scalar( @enums ) ) { + foreach my $enum ( @enums ) { $output .= "\t\t\t\t$enum\n"; } } else { @@ -3024,64 +3475,63 @@ } $output .= "\t\t\t\n"; } - $output .="\t\t\n"; + $output .= "\t\t\n"; $output .= "\t\n"; } return "\n$output\n\n"; - } - sub _error { - my ($message, $id) = @_; - my $reg = &Registration({ - success => 0, - message => "$message", - id => "$id", - }); + my ( $message, $id ) = @_; + my $reg = &Registration( + { + success => 0, + message => "$message", + id => "$id", + } + ); return $reg; } sub _success { - my ($message, $id, $RDF) = @_; - my $reg = &Registration({ - success => 1, - message => "$message", - id => "$id", - RDF => $RDF, - }); + my ( $message, $id, $RDF ) = @_; + my $reg = &Registration( + { + success => 1, + message => "$message", + id => "$id", + RDF => $RDF, + } + ); return $reg; } -sub _getOntologyServer { # may want to make this more complex - my (%args) = @_; - my $OS = MOBY::OntologyServer->new(%args); +sub _getOntologyServer { # may want to make this more complex + my ( %args ) = @_; + my $OS = MOBY::OntologyServer->new( %args ); return $OS; } - - -sub DESTROY {} - +sub DESTROY { } sub _LOG { + #return unless $debug; #print join "\n", @_; #print "\n---\n"; #return; - open LOG, ">>/tmp/CentralRegistryLogOut.txt" or die "can't open logfile $!\n"; + open LOG, ">>/tmp/CentralRegistryLogOut.txt" + or die "can't open logfile $!\n"; print LOG join "\n", @_; print LOG "\n---\n"; close LOG; } + # # # -------------------------------------------------------------------------------------------------------- # ## ## - - - $WSDL_TEMPLATE = < 1; -use constant SIMPLE => 2; -use constant SECONDARY => 3; -use constant PARAMETER => 3; # be friendly in case they use this instead -use constant BE_NICE => 1; -use constant BE_STRICT => 0; - -our @ISA = qw(Exporter); -our @EXPORT = qw(COLLECTION SIMPLE SECONDARY PARAMETER BE_NICE BE_STRICT); +use constant SIMPLE => 2; +use constant SECONDARY => 3; +use constant PARAMETER => 3; # be friendly in case they use this instead +use constant BE_NICE => 1; +use constant BE_STRICT => 0; +our @ISA = qw(Exporter); +our @EXPORT = qw(COLLECTION SIMPLE SECONDARY PARAMETER BE_NICE BE_STRICT); our @EXPORT_OK = qw( - getSimpleArticleIDs - getSimpleArticleNamespaceURI - simpleResponse - responseHeader - responseFooter - getInputArticles - getInputs - getInputID - getArticles - getCollectedSimples - getNodeContentWithArticle - extractRawContent - collectionResponse - validateNamespaces - validateThisNamespace - isSimpleArticle - isCollectionArticle - isSecondaryArticle - extractResponseArticles - getResponseArticles - getCrossReferences - genericServiceInputParser - genericServiceInputParserAsObject - complexServiceInputParser - whichDeepestParentObject - getServiceNotes - COLLECTION - SIMPLE - SECONDARY - PARAMETER - BE_NICE - BE_STRICT - ); -our %EXPORT_TAGS =(all => [qw( - getSimpleArticleIDs - getSimpleArticleNamespaceURI - simpleResponse - responseHeader - responseFooter - getInputArticles - getInputs - getInputID - getArticles - getCollectedSimples - getNodeContentWithArticle - extractRawContent - collectionResponse - validateNamespaces - validateThisNamespace - isSimpleArticle - isCollectionArticle - isSecondaryArticle - extractResponseArticles - getResponseArticles - getCrossReferences - genericServiceInputParser - genericServiceInputParserAsObject - complexServiceInputParser - whichDeepestParentObject - getServiceNotes - COLLECTION - SIMPLE - SECONDARY - PARAMETER - BE_NICE - BE_STRICT - )]); - - + getSimpleArticleIDs + getSimpleArticleNamespaceURI + simpleResponse + responseHeader + responseFooter + getInputArticles + getInputs + getInputID + getArticles + getCollectedSimples + getNodeContentWithArticle + extractRawContent + collectionResponse + validateNamespaces + validateThisNamespace + isSimpleArticle + isCollectionArticle + isSecondaryArticle + extractResponseArticles + getResponseArticles + getCrossReferences + genericServiceInputParser + genericServiceInputParserAsObject + complexServiceInputParser + whichDeepestParentObject + getServiceNotes + COLLECTION + SIMPLE + SECONDARY + PARAMETER + BE_NICE + BE_STRICT +); +our %EXPORT_TAGS = ( + all => [ + qw( + getSimpleArticleIDs + getSimpleArticleNamespaceURI + simpleResponse + responseHeader + responseFooter + getInputArticles + getInputs + getInputID + getArticles + getCollectedSimples + getNodeContentWithArticle + extractRawContent + collectionResponse + validateNamespaces + validateThisNamespace + isSimpleArticle + isCollectionArticle + isSecondaryArticle + extractResponseArticles + getResponseArticles + getCrossReferences + genericServiceInputParser + genericServiceInputParserAsObject + complexServiceInputParser + whichDeepestParentObject + getServiceNotes + COLLECTION + SIMPLE + SECONDARY + PARAMETER + BE_NICE + BE_STRICT + ) + ] +); =head2 genericServiceInputParser @@ -302,33 +299,33 @@ =cut - sub genericServiceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticles($query); # get the Simple/Collection/Secondary articles making up this query ... or ... or ... - foreach my $input(@input_articles){ # input is a listref - my ($articleName, $article) = @{$input}; # get the named article - if (isCollectionArticle($article)){ - my @simples = getCollectedSimples($article); - push @inputs, [COLLECTION,$queryID, \@simples]; - } elsif (isSimpleArticle($article)){ - push @inputs, [SIMPLE,$queryID,$article]; - } elsif (isSecondaryArticle($article)){ # should never happen in a generic service parser! - push @inputs, [SECONDARY,$queryID,$article]; - } - } - } - return @inputs; + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticles( $query ) + ; # get the Simple/Collection/Secondary articles making up this query ... or ... or ... + foreach my $input ( @input_articles ) { # input is a listref + my ( $articleName, $article ) = @{$input}; # get the named article + if ( isCollectionArticle( $article ) ) { + my @simples = getCollectedSimples( $article ); + push @inputs, [ COLLECTION, $queryID, \@simples ]; + } elsif ( isSimpleArticle( $article ) ) { + push @inputs, [ SIMPLE, $queryID, $article ]; + } elsif ( isSecondaryArticle( $article ) ) + { # should never happen in a generic service parser! + push @inputs, [ SECONDARY, $queryID, $article ]; + } + } + } + return @inputs; } - - - =head2 serviceInputParser name : DO NOT USE!! @@ -345,32 +342,33 @@ =cut - sub serviceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... # mark, this doesn't work for complex services. We need to allow more than one input per invocation - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticlesAsObjects($query); # get the Simple/Collection articles making up this query ... or ... or ...isCollection){ - my @simples = getCollectedSimples($article->XML); - push @inputs, [COLLECTION,$queryID, \@simples]; - } elsif ($article->isSimple){ - push @inputs, [SIMPLE,$queryID,$article]; - } elsif ($article->isSecondary){ - push @inputs, [SECONDARY,$queryID,$article]; - } - } - } - return @inputs; + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticlesAsObjects( $query ) + ; # get the Simple/Collection articles making up this query ... or ... or ...isCollection ) { + my @simples = getCollectedSimples( $article->XML ); + push @inputs, [ COLLECTION, $queryID, \@simples ]; + } elsif ( $article->isSimple ) { + push @inputs, [ SIMPLE, $queryID, $article ]; + } elsif ( $article->isSecondary ) { + push @inputs, [ SECONDARY, $queryID, $article ]; + } + } + } + return @inputs; } - =head2 complexServiceInputParser name : complexServiceInputParser @@ -439,32 +437,34 @@ =cut - sub complexServiceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - my %input_parameters; # $input_parameters{$queryID} = [ - - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticles($query); # get the Simple/Collection/Secondary articles making up this query ... or ... or ... - foreach my $input(@input_articles){ # input is a listref - my ($articleName, $article) = @{$input}; # get the named article - if (isCollectionArticle($article)){ - my @simples = getCollectedSimples($article); - push @{$input_parameters{$queryID}}, [COLLECTION, \@simples]; - } elsif (isSimpleArticle($article)){ - push @{$input_parameters{$queryID}}, [SIMPLE, $article]; - } elsif (isSecondaryArticle($article)){ - push @{$input_parameters{$queryID}}, [SECONDARY, $article]; - } - } - } - return \%input_parameters; + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... + my %input_parameters; # $input_parameters{$queryID} = [ + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticles( $query ) + ; # get the Simple/Collection/Secondary articles making up this query ... or ... or ... + foreach my $input ( @input_articles ) { # input is a listref + my ( $articleName, $article ) = @{$input}; # get the named article + if ( isCollectionArticle( $article ) ) { + my @simples = getCollectedSimples( $article ); + push @{ $input_parameters{$queryID} }, + [ COLLECTION, \@simples ]; + } elsif ( isSimpleArticle( $article ) ) { + push @{ $input_parameters{$queryID} }, [ SIMPLE, $article ]; + } elsif ( isSecondaryArticle( $article ) ) { + push @{ $input_parameters{$queryID} }, [ SECONDARY, $article ]; + } + } + } + return \%input_parameters; } - =head2 getArticles name : getArticles @@ -506,37 +506,39 @@ =cut - sub getArticles { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless (($moby->getTagName =~ /queryInput/) || ($moby->getTagName =~ /queryResponse/) || ($moby->getTagName =~ /mobyData/)); - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/ || $child->getTagName =~ /Collection/ || $child->getTagName =~ /Parameter/); - my $articleName = $child->getAttribute('articleName'); - $articleName ||= $child->getAttribute('moby:articleName'); - push @articles, [$articleName, $child]; # push the named child DOM elements (which are or , ) - } - return @articles; # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef + unless ( ( $moby->nodeName =~ /queryInput/ ) + || ( $moby->nodeName =~ /queryResponse/ ) + || ( $moby->nodeName =~ /mobyData/ ) ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next + unless ( $child->nodeName =~ /Simple/ + || $child->nodeName =~ /Collection/ + || $child->nodeName =~ /Parameter/ ); + my $articleName = $child->getAttribute( 'articleName' ); + $articleName ||= $child->getAttribute( 'moby:articleName' ); + push @articles, [ $articleName, $child ] + ; # push the named child DOM elements (which are or , ) + } + return @articles; # return them. } - - - ################################################# - ################################## - ################################## - # COMMON SUBROUTINES for Clients and Services - ################################## - ################################## +################################## +################################## +# COMMON SUBROUTINES for Clients and Services +################################## +################################## ################################################# =head2 getSimpleArticleIDs @@ -560,60 +562,74 @@ =cut - +#Eddie - converted sub getSimpleArticleIDs { - my ($desired_namespace, $input_nodes) = @_; - if ($desired_namespace && !($input_nodes)){ # if called with ONE argument, then these are the input nodes! - $input_nodes = $desired_namespace; - $desired_namespace = undef; + my ( $desired_namespace, $input_nodes ) = @_; + if ( $desired_namespace && !( $input_nodes ) ) + { # if called with ONE argument, then these are the input nodes! + $input_nodes = $desired_namespace; + $desired_namespace = undef; } - $input_nodes = [$input_nodes] unless ref($input_nodes) =~ /ARRAY/; # be flexible! + $input_nodes = [$input_nodes] + unless ref( $input_nodes ) =~ /ARRAY/; # be flexible! return undef unless scalar @{$input_nodes}; - my @input_nodes = @{$input_nodes}; - my $OS = MOBY::Client::OntologyServer->new; - my ($s, $m); - if ($desired_namespace){ - ($s, $m, $desired_namespace) = $OS->namespaceExists(term => $desired_namespace); # returns (success, message, lsid) - unless ($s){ # bail if not successful - print STDERR "MOBY::CommonSubs WARNING ** the namespace $desired_namespace does not exist in the MOBY ontology, and is not a valid LSID\n"; - return undef; - } - } + my $OS = MOBY::Client::OntologyServer->new; + my ( $s, $m ); + if ( $desired_namespace ) { + ( $s, $m, $desired_namespace ) = + $OS->namespaceExists( term => $desired_namespace ) + ; # returns (success, message, lsid) + unless ( $s ) { # bail if not successful + print STDERR +"MOBY::CommonSubs WARNING ** the namespace $desired_namespace does not exist in the MOBY ontology, and is not a valid LSID\n"; + return undef; + } + } + my @ids; + foreach my $in ( @input_nodes ) { + next unless $in; - my @ids; - foreach my $in(@input_nodes){ - next unless $in; #$in = "" - next unless $in->getNodeName =~ /simple/i; # only allow simples - my @simples = $in->getChildNodes; - foreach (@simples){ # $_ = - next unless $_->getNodeType == ELEMENT_NODE; - if ($desired_namespace){ - my $ns = $_->getAttributeNode('namespace'); # get the namespace DOM node - $ns = $_->getAttributeNode('moby:namespace') unless ($ns); # perhaps it is namespaced... - unless ($ns){ # if we don't get it at all, then move on to the next input - push @ids, undef; # but push an undef onto teh stack in order - next; - } - $ns = $ns->getValue; # if we have a namespace, then get its value - ($s, $m, $ns) = $OS->namespaceExists(term => $ns); - - unless ($ns eq $desired_namespace){ # we are registering as working in a particular namespace, so check this - push @ids, undef; # and push undef onto the stack if it isn't - next; - } + next unless $in->nodeName =~ /simple/i; # only allow simples + my @simples = $in->childNodes; + foreach ( @simples ) { # $_ = + next unless $_->nodeType == ELEMENT_NODE; + if ( $desired_namespace ) { + my $ns = + $_->getAttributeNode( 'namespace' ) + ; # get the namespace DOM node + $ns = $_->getAttributeNode( 'moby:namespace' ) + unless ( $ns ); # perhaps it is namespaced... + unless ( $ns ) + { # if we don't get it at all, then move on to the next input + push @ids, + undef; # but push an undef onto teh stack in order + next; + } + $ns = + $ns->getValue; # if we have a namespace, then get its value + ( $s, $m, $ns ) = $OS->namespaceExists( term => $ns ); + unless ( $ns eq $desired_namespace ) + { # we are registering as working in a particular namespace, so check this + push @ids, + undef; # and push undef onto the stack if it isn't + next; + } } + # Now do the same thing for ID's - my $id = $_->getAttributeNode('id'); - $id = $_->getAttributeNode('moby:id') unless ($id); - unless ($id){ + my $id = $_->getAttributeNode( 'id' ); + $id = $_->getAttributeNode( 'moby:id' ) unless ( $id ); + unless ( $id ) { push @ids, undef; next; } $id = $id->getValue; - unless (defined $id){ # it has to have a hope in hell of retrieving something... - push @ids, undef; # otherwise push undef onto the stack if it isn't + unless ( defined $id ) + { # it has to have a hope in hell of retrieving something... + push @ids, + undef; # otherwise push undef onto the stack if it isn't next; } push @ids, $id; @@ -622,7 +638,6 @@ return @ids; } - =head2 getSimpleArticleNamespaceURI name : getSimpleArticleNamespaceURI @@ -636,32 +651,35 @@ =cut - +#Eddie - converted sub getSimpleArticleNamespaceURI { - # pass me a input node and I will give you the lsid of the namespace of that input object - - my ($input_node) = @_; +# pass me a input node and I will give you the lsid of the namespace of that input object + my ( $input_node ) = @_; return undef unless $input_node; my $OS = MOBY::Client::OntologyServer->new; - + #$input_node = "" - my @simples = $input_node->getChildNodes; - foreach (@simples){ # $_ = # should be just one, so I will return at will from this routine - next unless $_->getNodeType == ELEMENT_NODE; - my $ns = $_->getAttributeNode('namespace'); # get the namespace DOM node - $ns = $_->getAttributeNode('moby:namespace') unless ($ns); # perhaps it is namespaced... - unless ($ns){ # if we don't get it at all, then move on to the next input - return undef + my @simples = $input_node->childNodes; + foreach ( @simples ) + { # $_ = # should be just one, so I will return at will from this routine + next unless $_->nodeType == ELEMENT_NODE; + my $ns = + $_->getAttributeNode( 'namespace' ); # get the namespace DOM node + $ns = $_->getAttributeNode( 'moby:namespace' ) + unless ( $ns ); # perhaps it is namespaced... + unless ( $ns ) + { # if we don't get it at all, then move on to the next input + return undef; } - my ($s, $m, $lsid) = $OS->namespaceExists(term => $ns->getValue); # if we have a namespace, then get its value + my ( $s, $m, $lsid ) = + $OS->namespaceExists( term => $ns->getValue ) + ; # if we have a namespace, then get its value return undef unless $s; - return $lsid + return $lsid; } } - - =head2 simpleResponse name : simpleResponse @@ -678,47 +696,49 @@ =cut - sub simpleResponse { - my ($data, $articleName, $qID) = @_; # articleName optional - $qID = &_getQueryID($qID) if ref($qID) =~ /XML::DOM/; # in case they send the DOM instead of the ID - - $data ||=''; # initialize to avoid uninit value errors - $qID ||=""; - $articleName ||=""; - if ($articleName) { - return " + my ( $data, $articleName, $qID ) = @_; # articleName optional + $qID = &_getQueryID( $qID ) + if ref( $qID ) =~ + /XML::DOM/; # in case they send the DOM instead of the ID + $data ||= ''; # initialize to avoid uninit value errors + $qID ||= ""; + $articleName ||= ""; + if ( $articleName ) { + return " $data "; - } elsif($data) { - return " + } elsif ( $data ) { + return " $data "; - } else { - return " + } else { + return " "; } } +#Eddie - converted sub _getQueryID { - my ($query) = @_; - unless (ref($query) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($query); - $query = $doc->getDocumentElement(); - } - return '' unless ($query->getTagName =~/queryInput/ || $query->getTagName =~/mobyData/); - my $id = $query->getAttribute('queryID'); - $id ||= $query->getAttribute('moby:queryID'); - return $id; + my ( $query ) = @_; + unless ( ref( $query ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $query ); + $query = $doc->getDocumentElement(); + } + return '' + unless ( $query->nodeName =~ /queryInput/ + || $query->nodeName =~ /mobyData/ ); #Eddie - unsure + my $id = $query->getAttribute( 'queryID' ); + $id ||= $query->getAttribute( 'moby:queryID' ); + return $id; } - =head2 collectionResponse name : collectionResponse @@ -735,45 +755,43 @@ =cut - sub collectionResponse { - my ($data, $articleName, $qID) = @_; # articleName optional - my $content = ""; - $data ||=[]; - $qID ||= ''; - unless ((ref($data) =~ /array/i) && $data->[0]){ # we're expecting an arrayref as input data,and it must not be empty - return ""; - } - - foreach (@{$data}){ - if($_) { - $content .= " + my ( $data, $articleName, $qID ) = @_; # articleName optional + my $content = ""; + $data ||= []; + $qID ||= ''; + unless ( ( ref( $data ) =~ /array/i ) && $data->[0] ) + { # we're expecting an arrayref as input data,and it must not be empty + return ""; + } + foreach ( @{$data} ) { + if ( $_ ) { + $content .= " $_ "; - } else { - $content .= " + } else { + $content .= " "; - } - } - if ($articleName) { - return " + } + } + if ( $articleName ) { + return " $content "; - } else { - return " + } else { + return " $content "; - } + } } - =head2 responseHeader name : responseHeader @@ -795,23 +813,22 @@ =cut - sub responseHeader { - use HTML::Entities (); - my ($auth, $notes) = &_rearrange([qw[AUTHORITY NOTE]], @_); - $auth ||="not_provided"; - $notes ||=""; - my $xml = "". - "". - ""; - if ($notes){ - my $encodednotes = HTML::Entities::encode($notes); - $xml .="$encodednotes"; - } - return $xml; + use HTML::Entities (); + my ( $auth, $notes ) = &_rearrange( [qw[AUTHORITY NOTE]], @_ ); + $auth ||= "not_provided"; + $notes ||= ""; + my $xml = + "" + . "" + . ""; + if ( $notes ) { + my $encodednotes = HTML::Entities::encode( $notes ); + $xml .= "$encodednotes"; + } + return $xml; } - =head2 responseFooter name : responseFooter @@ -825,13 +842,10 @@ =cut - sub responseFooter { - return ""; + return ""; } - - =head2 getInputs name : getInputs @@ -845,28 +859,29 @@ =cut - +#Eddie - converted sub getInputs { - - my ($XML) = @_; - my $moby; - unless (ref($XML) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $moby = $doc->getDocumentElement(); - } - my @queries; - - foreach my $querytag('queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData'){ - my $x = $moby->getElementsByTagName($querytag); # get the mobyData block - for (0..$x->getLength-1){ # there may be more than one mobyData per message - push @queries, $x->item($_); - } - } - return @queries; # return them in the order that they were discovered. + my ( $XML ) = @_; + my $moby; + unless ( ref( $XML ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $moby = $doc->getDocumentElement(); + } + my @queries; + foreach my $querytag ( 'queryInput', 'moby:queryInput', 'mobyData', + 'moby:mobyData' ) + { + my $x = + $moby->getElementsByTagName( $querytag ); # get the mobyData block + for ( 1 .. $x->size() ) + { # there may be more than one mobyData per message + push @queries, $x->get_node( $_ ); + } + } + return @queries; # return them in the order that they were discovered. } - =head2 getInputID name : getInputID @@ -881,23 +896,21 @@ =cut - sub getInputID { - my ($XML) = @_; - unless (ref($XML) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $XML = $doc->getDocumentElement(); - } - return '' unless (($XML->getTagName =~ /queryInput/) || ($XML->getTagName =~ /mobyData/)); - my $qid = $XML->getAttribute('queryID'); - $qid ||= $XML->getAttribute('moby:queryID'); - - return defined($qid)?$qid:''; + my ( $XML ) = @_; + unless ( ref( $XML ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $XML = $doc->getDocumentElement(); + } + return '' + unless ( ( $XML->nodeName =~ /queryInput/ ) + || ( $XML->nodeName =~ /mobyData/ ) ); + my $qid = $XML->getAttribute( 'queryID' ); + $qid ||= $XML->getAttribute( 'moby:queryID' ); + return defined( $qid ) ? $qid : ''; } - - =head2 getArticlesAsObjects name : DO NOT USE!! @@ -910,37 +923,42 @@ =cut - +#Eddie - converted sub getArticlesAsObjects { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless (($moby->getTagName =~ /queryInput/) || ($moby->getTagName =~ /queryResponse/) || ($moby->getTagName =~ /mobyData/)); - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/ || $child->getTagName =~ /Collection/ || $child->getTagName =~ /Parameter/); - my $object; - if ($child->getTagName =~ /Simple/){ - $object = MOBY::Client::SimpleArticle->new(XML_DOM => $child); - } elsif ($child->getTagName =~ /Collection/){ - $object = MOBY::Client::CollectionArticle->new(XML_DOM => $child); - } elsif ($child->getTagName =~ /Parameter/){ - $object = MOBY::Client::SecondaryArticle->new(XML_DOM => $child); - } - next unless $object; - push @articles, $object; # take the child elements, which are or - } - return @articles; # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef + unless ( ( $moby->nodeName =~ /queryInput/ ) + || ( $moby->nodeName =~ /queryResponse/ ) + || ( $moby->nodeName =~ /mobyData/ ) ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next + unless ( $child->nodeName =~ /Simple/ + || $child->nodeName =~ /Collection/ + || $child->nodeName =~ /Parameter/ ); + my $object; + if ( $child->nodeName =~ /Simple/ ) { + $object = MOBY::Client::SimpleArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName =~ /Collection/ ) { + $object = MOBY::Client::CollectionArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName =~ /Parameter/ ) { + $object = MOBY::Client::SecondaryArticle->new( XML_DOM => $child ); + } + next unless $object; + push @articles, $object + ; # take the child elements, which are or + } + return @articles; # return them. } - =head2 getCollectedSimples name : getCollectedSimples @@ -951,29 +969,26 @@ =cut - sub getCollectedSimples { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless ($moby->getTagName =~ /Collection/); - - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/); - push @articles, $child; # take the child elements, which are or - } - return (@articles); # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef unless ( $moby->nodeName =~ /Collection/ ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next unless ( $child->nodeName =~ /Simple/ ); + push @articles, $child + ; # take the child elements, which are or + } + return ( @articles ); # return them. } - =head2 getInputArticles name : getInputArticles @@ -1006,36 +1021,34 @@ =cut - +#Eddie - converted sub getInputArticles { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - my $x; - foreach ('queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData'){ - $x = $moby->getElementsByTagName($_); # get the mobyData block - last if $x->item(0); - } - return undef unless $x->item(0); # in case there was no match at all - - my @queries; - for (0..$x->getLength-1){ # there may be more than one mobyData per message + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + my $x; + foreach ( 'queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData' ) { + $x = $moby->getElementsByTagName( $_ ); # get the mobyData block + last if $x->get_node( 1 ); + } + return undef unless $x->get_node( 1 ); # in case there was no match at all + my @queries; + for ( 1 .. $x->size() ) { # there may be more than one mobyData per message my @this_query; - foreach my $child($x->item($_)->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - push @this_query, $child; # take the child elements, which are or - } - push @queries, \@this_query; + foreach my $child ( $x->get_node( $_ )->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + push @this_query, $child + ; # take the child elements, which are or + } + push @queries, \@this_query; } - return @queries; # return them in the order that they were discovered. + return @queries; # return them in the order that they were discovered. } - =head2 isSimpleArticle name : isSimpleArticle @@ -1046,18 +1059,19 @@ =cut +#Eddie - converted sub isSimpleArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Simple/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse_string( $DOM ); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Simple/ ); + return 0; } =head2 isCollectionArticle @@ -1070,21 +1084,21 @@ =cut +#Eddie - converted sub isCollectionArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Collection/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse_string( $DOM ); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Collection/ ); + return 0; } - =head2 isSecondaryArticle name : isSecondaryArticle @@ -1095,21 +1109,21 @@ =cut +#Eddie - converted sub isSecondaryArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Parameter/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse( _string $DOM); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Parameter/ ); + return 0; } - =head2 extractRawContent name : extractRawContent @@ -1121,20 +1135,17 @@ =cut - sub extractRawContent { - my ($article) = @_; - return "" unless $article; - return "" unless ref($article) =~ /XML::DOM/; - my $response; - foreach ($article->getChildNodes){ - $response .= $_->toString; - } - return $response; - + my ( $article ) = @_; + return "" unless $article; + return "" unless ref( $article ) =~ /XML::DOM/; + my $response; + foreach ( $article->childNodes ) { + $response .= $_->toString; + } + return $response; } - =head2 getNodeContentWithArticle name : getNodeContentWithArticle @@ -1219,62 +1230,73 @@ =cut -sub getNodeContentWithArticle{ - # give me a DOM, a TagName, an articleName and I will return you the content - # of that node **as a string** (beware if there are additional XML tags in there!) - # this is meant for MOBYesque PRIMITIVES - things like: - # TAGCTGATCGAGCTGATGCTGA - # call _getNodeContentsWithAttribute($DOM_NODE, "String", "SequenceString") - # and I will return "TACGATGCTAGCTAGCGATCGG" - # Caveat Emptor - I will NOT chop off leading and trailing whitespace or - # carriage returns, as these might be meaningful! - my ($node, $element, $articleName) = @_; - my @contents; - return () unless ref($node)=~/XML::DOM/; - return () unless $element; - return () unless $articleName; - my $nodes = $node->getElementsByTagName($element); - unless ($nodes->item(0)){ - $nodes = $node->getElementsByTagName("moby:$element"); - } +#Eddie - converted +sub getNodeContentWithArticle { - for (0..$nodes->getLength-1){ - my $child = $nodes->item($_); - if ( - (($child->getAttribute("articleName")) && (($child->getAttribute("articleName") eq $articleName))) - || (($child->getAttribute("moby:articleName")) && (($child->getAttribute("moby:articleName") eq $articleName)))){ - # now we have a valid child, get the content... stringified... regardless of what it is - - if (isSecondaryArticle($child)){ - my $resp; - my $valuenodes = $child->getElementsByTagName('Value'); - unless ($valuenodes->item(0)){ - $valuenodes = $child->getElementsByTagName("moby:Value"); - } - for (0..$valuenodes->getLength-1){ - my $valuenode = $valuenodes->item($_); - foreach my $amount ($valuenode->getChildNodes){ - next unless $amount->getNodeType == TEXT_NODE; - $resp .= $amount->toString; - } - } - push @contents, $resp; - - } else { - my $resp; - foreach ($child->getChildNodes){ - next unless $_->getNodeType == TEXT_NODE; - $resp .= $_->toString; - } - push @contents, $resp; - } - } +# give me a DOM, a TagName, an articleName and I will return you the content +# of that node **as a string** (beware if there are additional XML tags in there!) +# this is meant for MOBYesque PRIMITIVES - things like: +# TAGCTGATCGAGCTGATGCTGA +# call _getNodeContentsWithAttribute($DOM_NODE, "String", "SequenceString") +# and I will return "TACGATGCTAGCTAGCGATCGG" +# Caveat Emptor - I will NOT chop off leading and trailing whitespace or +# carriage returns, as these might be meaningful! + my ( $node, $element, $articleName ) = @_; + my @contents; + return () unless ref( $node ) =~ /XML::DOM/; + return () unless $element; + return () unless $articleName; + my $nodes = $node->getElementsByTagName( $element ); + unless ( $nodes->get_node( 1 ) ) { + $nodes = $node->getElementsByTagName( "moby:$element" ); + } + for ( 1 .. $nodes->size() ) { + my $child = $nodes->get_node( $_ ); + if ( + ( + ( $child->getAttribute( "articleName" ) ) + && ( ( $child->getAttribute( "articleName" ) eq $articleName ) ) + ) + || ( + ( $child->getAttribute( "moby:articleName" ) ) + && ( + ( + $child->getAttribute( "moby:articleName" ) eq + $articleName + ) + ) + ) + ) + { + +# now we have a valid child, get the content... stringified... regardless of what it is + if ( isSecondaryArticle( $child ) ) { + my $resp; + my $valuenodes = $child->getElementsByTagName( 'Value' ); + unless ( $valuenodes->get_node( 1 ) ) { + $valuenodes = $child->getElementsByTagName( "moby:Value" ); + } + for ( 1 .. $valuenodes->size() ) { + my $valuenode = $valuenodes->get_node( $_ ); + foreach my $amount ( $valuenode->childNodes ) { + next unless $amount->nodeType == TEXT_NODE; + $resp .= $amount->toString; + } + } + push @contents, $resp; + } else { + my $resp; + foreach ( $child->childNodes ) { + next unless $_->nodeType == TEXT_NODE; + $resp .= $_->toString; + } + push @contents, $resp; + } + } } return @contents; } - - =head2 validateNamespaces name : validateNamespaces @@ -1287,22 +1309,19 @@ =cut - sub validateNamespaces { - # give me a list of namespaces and I will return the LSID's in order - # I return undef in that list position if the namespace is invalid - my (@namespaces) = @_; - my $OS = MOBY::Client::OntologyServer->new; - my @lsids; - foreach (@namespaces){ - my ($s, $m, $LSID) = $OS->namespaceExists(term => $_); - push @lsids, $s?$LSID:undef; - } - return @lsids; -} - - + # give me a list of namespaces and I will return the LSID's in order + # I return undef in that list position if the namespace is invalid + my ( @namespaces ) = @_; + my $OS = MOBY::Client::OntologyServer->new; + my @lsids; + foreach ( @namespaces ) { + my ( $s, $m, $LSID ) = $OS->namespaceExists( term => $_ ); + push @lsids, $s ? $LSID : undef; + } + return @lsids; +} =head2 validateThisNamespace @@ -1315,19 +1334,21 @@ =cut - sub validateThisNamespace { - my ($ns, @namespaces) = @_; - return 1 unless scalar @namespaces; # if you don't give me a list, I assume everything is valid... - if (ref($namespaces[1]) =~ /ARRAY/){@namespaces = @{$namespaces[1]}} # if you send me an arrayref I should be kind... DWIM! - foreach (@namespaces){ - next unless $_; - return 1 if $ns eq $_; - } - return 0; + my ( $ns, @namespaces ) = @_; + return 1 + unless scalar @namespaces + ; # if you don't give me a list, I assume everything is valid... + if ( ref( $namespaces[1] ) =~ /ARRAY/ ) { + @namespaces = @{ $namespaces[1] }; + } # if you send me an arrayref I should be kind... DWIM! + foreach ( @namespaces ) { + next unless $_; + return 1 if $ns eq $_; + } + return 0; } - =head2 getResponseArticles (a.k.a. extractResponseArticles) name : getResponseArticles @@ -1343,56 +1364,63 @@ *getResponseArticles = \&extractResponseArticles; *getResponseArticles = \&extractResponseArticles; +#Eddie - converted sub extractResponseArticles { - my ($result) = @_; - return ([], []) unless $result; - my $moby; - unless (ref($result) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($result); - $moby = $doc->getDocumentElement(); - } else { - $moby = $result->getDocumentElement(); - } - my @objects; - my @collections; - my @Xrefs; - my $success = 0; - foreach my $which ('moby:queryResponse', 'queryResponse', 'mobyData', 'moby:mobyData'){ - my $responses = $moby->getElementsByTagName($which); - next unless $responses; - foreach my $n(0..($responses->getLength - 1)){ - my $resp = $responses->item($n); - foreach my $response_component($resp->getChildNodes){ - next unless $response_component->getNodeType == ELEMENT_NODE; - if (($response_component->getTagName eq "Simple") || ($response_component->getTagName eq "moby:Simple")){ - foreach my $Object($response_component->getChildNodes) { - next unless $Object->getNodeType == ELEMENT_NODE; - $success = 1; - push @objects,$Object; - } - } elsif (($response_component->getTagName eq "Collection") || ($response_component->getTagName eq "moby:Collection")){ - my @objects; - foreach my $simple($response_component->getChildNodes){ - next unless $simple->getNodeType == ELEMENT_NODE; - next unless (($simple->getTagName eq "Simple") || ($simple->getTagName eq "moby:Simple")); - foreach my $Object($simple->getChildNodes) { - next unless $Object->getNodeType == ELEMENT_NODE; - $success = 1; - push @objects,$Object; - } - } - push @collections, \@objects; #I'm not using collections yet, so we just use Simples. - } - } - } - } - return (\@collections, \@objects); + my ( $result ) = @_; + return ( [], [] ) unless $result; + my $moby; + unless ( ref( $result ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $result ); + $moby = $doc->getDocumentElement(); + } else { + $moby = $result->getDocumentElement(); + } + my @objects; + my @collections; + my @Xrefs; + my $success = 0; + foreach my $which ( 'moby:queryResponse', 'queryResponse', 'mobyData', + 'moby:mobyData' ) + { + my $responses = $moby->getElementsByTagName( $which ); + next unless $responses; + foreach my $n ( 1 .. ( $responses->size() ) ) { + my $resp = $responses->get_node( $n ); + foreach my $response_component ( $resp->childNodes ) { + next unless $response_component->nodeType == ELEMENT_NODE; + if ( ( $response_component->nodeName eq "Simple" ) + || ( $response_component->nodeName eq "moby:Simple" ) ) + { + foreach my $Object ( $response_component->childNodes ) { + next unless $Object->nodeType == ELEMENT_NODE; + $success = 1; + push @objects, $Object; + } + } elsif ( ( $response_component->nodeName eq "Collection" ) + || ( $response_component->nodeName eq "moby:Collection" ) ) + { + my @objects; + foreach my $simple ( $response_component->childNodes ) { + next unless $simple->nodeType == ELEMENT_NODE; + next + unless ( ( $simple->nodeName eq "Simple" ) + || ( $simple->nodeName eq "moby:Simple" ) ); + foreach my $Object ( $simple->childNodes ) { + next unless $Object->nodeType == ELEMENT_NODE; + $success = 1; + push @objects, $Object; + } + } + push @collections, \@objects + ; #I'm not using collections yet, so we just use Simples. + } + } + } + } + return ( \@collections, \@objects ); } - - - =head2 getServiceNotes name : getServiceNotes @@ -1403,37 +1431,38 @@ =cut - +#Eddie - converted sub getServiceNotes { - my ($result) = @_; - return ("") unless $result; - my $moby; - unless (ref($result) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($result); - $moby = $doc->getDocumentElement(); - } else { - $moby = $result->getDocumentElement(); - } - my @objects; - my @collections; - my @Xrefs; - my $success = 0; - my $responses = $moby->getElementsByTagName('moby:serviceNotes'); - $responses ||= $moby->getElementsByTagName('serviceNotes'); - my $content; - foreach my $n(0..($responses->getLength - 1)){ - my $resp = $responses->item($n); - foreach my $response_component($resp->getChildNodes){ -# $content .= $response_component->toString; - $content .= $response_component->getNodeValue if ($response_component->getNodeType == TEXT_NODE); - } - } - return ($content); + my ( $result ) = @_; + return ( "" ) unless $result; + my $moby; + unless ( ref( $result ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $result ); + $moby = $doc->getDocumentElement(); + } else { + $moby = $result->getDocumentElement(); + } + my @objects; + my @collections; + my @Xrefs; + my $success = 0; + my $responses = $moby->getElementsByTagName( 'moby:serviceNotes' ); + $responses ||= $moby->getElementsByTagName( 'serviceNotes' ); + my $content; + + foreach my $n ( 1 .. ( $responses->size() ) ) { + my $resp = $responses->get_node( $n ); + foreach my $response_component ( $resp->childNodes ) { + + # $content .= $response_component->toString; + $content .= $response_component->getNodeValue + if ( $response_component->nodeType == TEXT_NODE ); + } + } + return ( $content ); } - - =head2 getCrossReferences name : getCrossReferences @@ -1460,43 +1489,44 @@ =cut - +#Eddie - converted sub getCrossReferences { - - my ($XML) = @_; - unless (ref($XML) =~ /XML::DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $XML = $doc->getDocumentElement(); - } - my @xrefs; my @XREFS; - my @simples; - return @XREFS if ($XML->getTagName =~/Collection/); - if ($XML->getTagName =~/Simple/){ - foreach my $child ($XML->getChildNodes){ - next unless $child->getNodeType == ELEMENT_NODE; - $XML = $child; - last; # enforce proper MOBY message structure - } - } - foreach ($XML->getChildNodes){ - next unless $_->getNodeType == ELEMENT_NODE; - next unless $_->getTagName =~/CrossReference/; - foreach my $xref($_->getChildNodes){ - next unless $xref->getNodeType == ELEMENT_NODE; - next unless ($xref->getTagName =~/Xref/ || $xref->getTagName =~ /Object/); - push @xrefs, $xref; - } - } - foreach (@xrefs){ - my $x = &_makeXrefType($_) if $_->getTagName =~/Xref/; - $x = &_makeObjectType($_) if $_->getTagName =~ /Object/; - push @XREFS, $x if $x; - } + my ( $XML ) = @_; + unless ( ref( $XML ) =~ /XML::DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $XML = $doc->getDocumentElement(); + } + my @xrefs; + my @XREFS; + my @simples; + return @XREFS if ( $XML->nodeName =~ /Collection/ ); + if ( $XML->nodeName =~ /Simple/ ) { + foreach my $child ( $XML->childNodes ) { + next unless $child->nodeType == ELEMENT_NODE; + $XML = $child; + last; # enforce proper MOBY message structure + } + } + foreach ( $XML->childNodes ) { + next unless $_->nodeType == ELEMENT_NODE; + next unless $_->nodeName =~ /CrossReference/; + foreach my $xref ( $_->childNodes ) { + next unless $xref->nodeType == ELEMENT_NODE; + next + unless ( $xref->nodeName =~ /Xref/ + || $xref->nodeName =~ /Object/ ); + push @xrefs, $xref; + } + } + foreach ( @xrefs ) { + my $x = &_makeXrefType( $_ ) if $_->nodeName =~ /Xref/; + $x = &_makeObjectType( $_ ) if $_->nodeName =~ /Object/; + push @XREFS, $x if $x; + } return @XREFS; } - =head2 whichDeepestParentObject name : whichDeepestParentObject @@ -1515,76 +1545,87 @@ =cut - sub whichDeepestParentObject { - use MOBY::Client::OntologyServer; - my ($CENTRAL, $queryTerm, $termlist) = @_; - return (undef,undef) unless ($CENTRAL && $queryTerm && $termlist && (ref($termlist) =~ /ARRAY/)); - my %nodeLSIDs; - my $queryLSID = $CENTRAL->ObjLSID($queryTerm); - foreach (@$termlist){ # get list of known LSIDs - my $lsid = $CENTRAL->ObjLSID($_); - return ($_, $lsid) if ($lsid eq $queryLSID); # of course, if we find it in the list, then return it right away! - $nodeLSIDs{$lsid}=$_; - } - return (undef, undef) unless keys(%nodeLSIDs); - my $isa = $CENTRAL->ISA($queryTerm, 'Object'); # set the complete parentage in the cache if it isn't already - return (undef, undef) unless $isa; # this should return true or we are in BIIIG trouble! - my @ISAlsids = $CENTRAL->ISA_CACHE($queryTerm); # returns **LSIDs** in order, so we can shift our way back to root - while (my $thislsid = shift @ISAlsids){ # @isas are lsid's - return ($nodeLSIDs{$thislsid},$thislsid) if $nodeLSIDs{$thislsid}; - } - return (undef, undef); + use MOBY::Client::OntologyServer; + my ( $CENTRAL, $queryTerm, $termlist ) = @_; + return ( undef, undef ) + unless ( $CENTRAL + && $queryTerm + && $termlist + && ( ref( $termlist ) =~ /ARRAY/ ) ); + my %nodeLSIDs; + my $queryLSID = $CENTRAL->ObjLSID( $queryTerm ); + foreach ( @$termlist ) { # get list of known LSIDs + my $lsid = $CENTRAL->ObjLSID( $_ ); + return ( $_, $lsid ) + if ( $lsid eq $queryLSID ) + ; # of course, if we find it in the list, then return it right away! + $nodeLSIDs{$lsid} = $_; + } + return ( undef, undef ) unless keys( %nodeLSIDs ); + my $isa = + $CENTRAL->ISA( $queryTerm, 'Object' ) + ; # set the complete parentage in the cache if it isn't already + return ( undef, undef ) + unless $isa; # this should return true or we are in BIIIG trouble! + my @ISAlsids = + $CENTRAL->ISA_CACHE( $queryTerm ) + ; # returns **LSIDs** in order, so we can shift our way back to root + while ( my $thislsid = shift @ISAlsids ) { # @isas are lsid's + return ( $nodeLSIDs{$thislsid}, $thislsid ) if $nodeLSIDs{$thislsid}; + } + return ( undef, undef ); } +#Eddie - converted sub _makeXrefType { - my ($xref) = @_; - my $ns = $xref->getAttributeNode('namespace'); - $ns = $xref->getAttributeNode('moby:namespace') unless $ns; - return undef unless $ns; - my $id = $xref->getAttributeNode('id'); - $id = $xref->getAttributeNode('moby:id') unless $id; - return undef unless $id; - my $xr = $xref->getAttributeNode('xref_type'); - $xr = $xref->getAttributeNode('moby:xref_type') unless $xr; - return undef unless $xr; - my $ec = $xref->getAttributeNode('evidence_code'); - $ec = $xref->getAttributeNode('moby:evidence_code') unless $ec; - return undef unless $ec; - my $au = $xref->getAttributeNode('authURI'); - $au = $xref->getAttributeNode('moby:authURI') unless $au; - return undef unless $au; - my $sn = $xref->getAttributeNode('serviceName'); - $sn = $xref->getAttributeNode('moby:serviceName') unless $sn; - return undef unless $sn; - my $XREF = MOBY::CrossReference->new( - type => "xref", - namespace => $ns->getValue, - id => $id->getValue, - authURI => $au->getValue, - serviceName => $sn->getValue, - evidence_code => $ec->getValue, - xref_type => $xr->getValue - ); - return $XREF; + my ( $xref ) = @_; + my $ns = $xref->getAttributeNode( 'namespace' ); + $ns = $xref->getAttributeNode( 'moby:namespace' ) unless $ns; + return undef unless $ns; + my $id = $xref->getAttributeNode( 'id' ); + $id = $xref->getAttributeNode( 'moby:id' ) unless $id; + return undef unless $id; + my $xr = $xref->getAttributeNode( 'xref_type' ); + $xr = $xref->getAttributeNode( 'moby:xref_type' ) unless $xr; + return undef unless $xr; + my $ec = $xref->getAttributeNode( 'evidence_code' ); + $ec = $xref->getAttributeNode( 'moby:evidence_code' ) unless $ec; + return undef unless $ec; + my $au = $xref->getAttributeNode( 'authURI' ); + $au = $xref->getAttributeNode( 'moby:authURI' ) unless $au; + return undef unless $au; + my $sn = $xref->getAttributeNode( 'serviceName' ); + $sn = $xref->getAttributeNode( 'moby:serviceName' ) unless $sn; + return undef unless $sn; + my $XREF = MOBY::CrossReference->new( + type => "xref", + namespace => $ns->getValue, + id => $id->getValue, + authURI => $au->getValue, + serviceName => $sn->getValue, + evidence_code => $ec->getValue, + xref_type => $xr->getValue + ); + return $XREF; } +#Eddie - converted sub _makeObjectType { - my ($xref) = @_; - my $ns = $xref->getAttributeNode('namespace'); - $ns = $xref->getAttributeNode('moby:namespace') unless $ns; - return undef unless $ns; - my $id = $xref->getAttributeNode('id'); - $id = $xref->getAttributeNode('moby:id') unless $ns; - return undef unless $id; - my $XREF = MOBY::CrossReference->new( - type => "object", - namespace => $ns->getValue, - id => $id->getValue, - ); + my ( $xref ) = @_; + my $ns = $xref->getAttributeNode( 'namespace' ); + $ns = $xref->getAttributeNode( 'moby:namespace' ) unless $ns; + return undef unless $ns; + my $id = $xref->getAttributeNode( 'id' ); + $id = $xref->getAttributeNode( 'moby:id' ) unless $ns; + return undef unless $id; + my $XREF = MOBY::CrossReference->new( + type => "object", + namespace => $ns->getValue, + id => $id->getValue, + ); } - # _rearrange stolen from BioPerl's Bio::RootI.pm # because it is just so useful! @@ -1653,18 +1694,17 @@ =cut - sub _rearrange { -# my $dummy = shift; - my $order = shift; - return @_ unless (substr($_[0]||'',0,1) eq '-'); - push @_,undef unless $#_ %2; - my %param; - while( @_ ) { - (my $key = shift) =~ tr/a-z\055/A-Z/d; #deletes all dashes! - $param{$key} = shift; - } - map { $_ = uc($_) } @$order; # for bug #1343, but is there perf hit here? - return @param{@$order}; + # my $dummy = shift; + my $order = shift; + return @_ unless ( substr( $_[0] || '', 0, 1 ) eq '-' ); + push @_, undef unless $#_ % 2; + my %param; + while ( @_ ) { + ( my $key = shift ) =~ tr/a-z\055/A-Z/d; #deletes all dashes! + $param{$key} = shift; + } + map { $_ = uc( $_ ) } @$order; # for bug #1343, but is there perf hit here? + return @param{@$order}; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Config.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/Config.pm 2004/08/24 20:43:33 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/Config.pm 2004/11/18 17:41:14 1.6 @@ -2,168 +2,152 @@ BEGIN { } - - use strict; use Carp; use MOBY::dbConfig; use vars qw($AUTOLOAD); use Text::Shellwords; -use vars '$VERSION','@ISA','@EXPORT','$CONFIG'; - -@ISA = qw(Exporter); +use vars '$VERSION', '@ISA', '@EXPORT', '$CONFIG'; +@ISA = qw(Exporter); @EXPORT = ('$CONFIG'); - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - mobycentral => [undef, 'read/write'], - mobyobject => [undef, 'read/write'], - mobynamespace=> [undef, 'read/write'], - mobyservice => [undef, 'read/write'], - mobyrelationship => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + mobycentral => [ undef, 'read/write' ], + mobyobject => [ undef, 'read/write' ], + mobynamespace => [ undef, 'read/write' ], + mobyservice => [ undef, 'read/write' ], + mobyrelationship => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } # the expected sectionons (listed above) will have their dbCOnfig objects available # as methods. The unexpected sections will have their dbConfig objects available # by $dbConfig = $CONFIG->{section_title} - sub new { - my ($caller, %args) = @_; - -#print STDERR "creating MOBY::Config\n"; + my ( $caller, %args ) = @_; + + #print STDERR "creating MOBY::Config\n"; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $file = $ENV{MOBY_CENTRAL_CONFIG}; + ( -e $file ) || die "MOBY Configuration file $file doesn't exist $!\n"; + chomp $file; + if ( ( -e $file ) && ( !( -d $file ) ) ) { + open IN, + $file + || die + "can't open MOBY Configuration file $file for unknown reasons$!\n"; + } + my @sections = split /(\[\s*\S+\s*\][^\[]*)/s, join "", ; - my $self = bless {}, $class; + #print STDERR "split into @sections\n"; + foreach my $section (@sections) { - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - my $file = $ENV{MOBY_CENTRAL_CONFIG}; - (-e $file) || die "MOBY Configuration file $file doesn't exist $!\n"; - - chomp $file; - if ((-e $file) && (!(-d $file))){ - open IN, $file || die "can't open MOBY Configuration file $file for unknown reasons$!\n"; - } - my @sections = split /(\[\s*\S+\s*\][^\[]*)/s, join "", ; -#print STDERR "split into @sections\n"; - foreach my $section (@sections){ -#print STDERR "calling MOBY::dbConfig\n"; - my $dbConfig = MOBY::dbConfig->new(section => $section); # this is an object full of strings, no actual connections. It represents the information in the config file + #print STDERR "calling MOBY::dbConfig\n"; + my $dbConfig = + MOBY::dbConfig->new( section => $section ) + ; # this is an object full of strings, no actual connections. It represents the information in the config file next unless $dbConfig; my $dbname = $dbConfig->section_title; next unless $dbname; + #print STDERR "setting the COnfig dbConfig for the title $dbname with object $dbConfig\n\n"; $self->{$dbname} = $dbConfig; } - $CONFIG = $self; - return $self; - + return $self; } sub getDataAdaptor { - my ($self, %args) = @_; - + my ( $self, %args ) = @_; my $source = $args{datasource}; $source ||= $args{source}; - $source ||="mobycentral"; - - if ($self->{"${source}Adaptor"}){return $self->{"${source}Adaptor"}}; # read from cache - - my $username = $self->$source->{username}; # $self->$source returns a MOBY::dbConfig object - my $password = $self->$source->{password}; - my $port = $self->$source->{port}; - my $dbname = $self->$source->{dbname}; - my $url = $self->$source->{url}; - my $adaptor = $self->$source->{adaptor}; - + $source ||= "mobycentral"; + if ( $self->{"${source}Adaptor"} ) { return $self->{"${source}Adaptor"} } + ; # read from cache + my $username = + $self->$source + ->{username}; # $self->$source returns a MOBY::dbConfig object + my $password = $self->$source->{password}; + my $port = $self->$source->{port}; + my $dbname = $self->$source->{dbname}; + my $url = $self->$source->{url}; + my $adaptor = $self->$source->{adaptor}; eval "require $adaptor"; return undef if $@; - - my $ADAPTOR = $adaptor->new( # by default, this is queryapi::mysql - username => $username, - password => $password, - port => $port, - dbname => $dbname, - url => $url, - ); - if ($ADAPTOR){ - $self->{"${source}Adaptor"} = $ADAPTOR; # cache it + my $ADAPTOR = $adaptor->new( # by default, this is queryapi::mysql + username => $username, + password => $password, + port => $port, + dbname => $dbname, + url => $url, + ); + if ($ADAPTOR) { + $self->{"${source}Adaptor"} = $ADAPTOR; # cache it return $ADAPTOR; } else { - return undef + return undef; } - } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm 2003/10/25 22:21:29 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm 2004/11/18 17:41:14 1.3 @@ -1,13 +1,10 @@ package MOBY::CrossReference; #$Id$ - use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::CrossReference - a small object describing a MOBY Simple input/output article @@ -54,7 +51,6 @@ =cut - =head2 type Title : type @@ -86,8 +82,6 @@ =cut - - =head2 authURI Title : authURI @@ -98,7 +92,6 @@ =cut - =head2 serviceName Title : serviceName @@ -109,7 +102,6 @@ =cut - =head2 evidence_code Title : evidence_code @@ -120,7 +112,6 @@ =cut - =head2 xref_type Title : xref_type @@ -131,7 +122,6 @@ =cut - =head2 Object Title : Object @@ -141,107 +131,100 @@ =cut - { - sub type { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_type}; - $self->{_type} = $type; - return $old; - } - return $self->{_type}; - } - - sub namespace { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_namespace}; - $self->{_namespace} = $type; - return $old; - } - return $self->{_namespace}; - - } - - sub id { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_id}; - $self->{_id}=$type; - return $old; - } - return $self->{_id}; - - } - - sub authURI { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_authURI}; - $self->{_authURI}= $type; - return $old; - } - return $self->{_authURI}; - - } - - sub serviceName { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_serviceName}; - $self->{_serviceName}=$type; - return $old; - } - return $self->{_serviceName}; - - } - - sub evidence_code { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_evidenceCode}; - $self->{_evidenceCode}=$type; - return $old; - } - return $self->{_evidenceCode}; - } - - sub xref_type { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_xref_type}; - $self->{_xref_type}=$type; - return $old; - } - return $self->{_xref_type}; - } + + sub type { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_type}; + $self->{_type} = $type; + return $old; + } + return $self->{_type}; + } + + sub namespace { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_namespace}; + $self->{_namespace} = $type; + return $old; + } + return $self->{_namespace}; + } + + sub id { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_id}; + $self->{_id} = $type; + return $old; + } + return $self->{_id}; + } + + sub authURI { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_authURI}; + $self->{_authURI} = $type; + return $old; + } + return $self->{_authURI}; + } + + sub serviceName { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_serviceName}; + $self->{_serviceName} = $type; + return $old; + } + return $self->{_serviceName}; + } + + sub evidence_code { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_evidenceCode}; + $self->{_evidenceCode} = $type; + return $old; + } + return $self->{_evidenceCode}; + } + + sub xref_type { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_xref_type}; + $self->{_xref_type} = $type; + return $old; + } + return $self->{_xref_type}; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - while (my ($key, $value) = each %args){ - $self->$key($value); - } - return undef unless ($self->type && $self->namespace && $self->id); - return $self; - + my $self = bless {}, $class; + while ( my ( $key, $value ) = each %args ) { + $self->$key($value); + } + return undef unless ( $self->type && $self->namespace && $self->id ); + return $self; } sub Object { - my ($self) = @_; - return "" unless ($self->namespace && $self->id); - return ""; + my ($self) = @_; + return "" unless ( $self->namespace && $self->id ); + return ""; } - - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm 2004/06/24 22:32:38 1.45 +++ /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm 2004/11/18 17:41:14 1.46 @@ -1,10 +1,8 @@ #$Id$ - # this module needs to talk to the 'real' ontology # server as well as the MOBY Central database # in order to ensure that they are both in sync - =head1 NAME MOBY::OntologyServer - A way for MOBY Central to query the @@ -12,7 +10,6 @@ =cut - =head1 SYNOPSIS use MOBY::OntologyServer; @@ -65,112 +62,115 @@ =cut - - package MOBY::OntologyServer; - use strict; use Carp; use vars qw($AUTOLOAD); use DBI; use DBD::mysql; use MOBY::Config; - my $debug = 0; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - ontology => [undef, 'read/write'], - database => [undef, 'read/write'], - host => [undef, 'read/write'], - username=> [undef, 'read/write'], - password=> [undef, 'read/write'], - port => [undef, 'read/write'], - dbh => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + ontology => [ undef, 'read/write' ], + database => [ undef, 'read/write' ], + host => [ undef, 'read/write' ], + username => [ undef, 'read/write' ], + password => [ undef, 'read/write' ], + port => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + $self->ontology eq 'object' && $self->database('mobyobject'); + $self->ontology eq 'namespace' && $self->database('mobynamespace'); + $self->ontology eq 'service' && $self->database('mobyservice'); + $self->ontology eq 'relationship' && $self->database('mobyrelationship'); - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - $self->ontology eq 'object' && $self->database('mobyobject'); - $self->ontology eq 'namespace' && $self->database('mobynamespace'); - $self->ontology eq 'service' && $self->database('mobyservice'); - $self->ontology eq 'relationship' && $self->database('mobyrelationship'); + #print STDERR "\n\nCONFIG object is $CONFIG\n\n"; + $CONFIG ||= MOBY::Config->new; -#print STDERR "\n\nCONFIG object is $CONFIG\n\n"; - $CONFIG ||=MOBY::Config->new; #print STDERR "got username ",($CONFIG->{mobycentral}->{username})," for mobycentral\n"; - $self->username($CONFIG->{$self->database}->{username}) unless $self->username; - $self->password($CONFIG->{$self->database}->{password}) unless $self->password; - $self->port($CONFIG->{$self->database}->{port}) unless $self->port; - $self->host($CONFIG->{$self->database}->{url}) unless $self->host; - - my $host = $self->host?$self->host:$ENV{MOBY_CENTRAL_URL}; chomp $host; - my $username = $self->username?$self->username:$ENV{MOBY_CENTRAL_DBUSER}; chomp $username; - my $password = $self->password?$self->password:$ENV{MOBY_CENTRAL_DBPASS}; chomp $password if $password; $password =~ s/\s//g if $password; - my $port = $self->port?$self->port:$ENV{MOBY_CENTRAL_DBPORT}; chomp $port; - - my ($dsn) = "DBI:mysql:".($CONFIG->{$self->database}->{dbname}).":".($host).":".($port); - -#print STDERR "\n\nDSN was $dsn\n\n"; - - my $dbh; + $self->username( $CONFIG->{ $self->database }->{username} ) + unless $self->username; + $self->password( $CONFIG->{ $self->database }->{password} ) + unless $self->password; + $self->port( $CONFIG->{ $self->database }->{port} ) unless $self->port; + $self->host( $CONFIG->{ $self->database }->{url} ) unless $self->host; + my $host = $self->host ? $self->host : $ENV{MOBY_CENTRAL_URL}; + chomp $host; + my $username = + $self->username ? $self->username : $ENV{MOBY_CENTRAL_DBUSER}; + chomp $username; + my $password = + $self->password ? $self->password : $ENV{MOBY_CENTRAL_DBPASS}; + chomp $password if $password; + $password =~ s/\s//g if $password; + my $port = $self->port ? $self->port : $ENV{MOBY_CENTRAL_DBPORT}; + chomp $port; + my ($dsn) = + "DBI:mysql:" + . ( $CONFIG->{ $self->database }->{dbname} ) . ":" + . ($host) . ":" + . ($port); + + #print STDERR "\n\nDSN was $dsn\n\n"; + my $dbh; + # $debug && &_LOG("connecting to db with params ",$self->database, $self->username, $self->password,"\n"); - if (defined $password){ - $dbh = DBI->connect($dsn, $username, $password, {RaiseError => 1}) or die "can't connect to database"; - } else { - $dbh = DBI->connect($dsn, $username, undef, {RaiseError => 1}) or die "can't connect to database"; - } -# $debug && &_LOG("CONNECTED!\n"); - if ($dbh){ - $self->dbh($dbh); - return $self; - } else { - return undef - } + if ( defined $password ) { + $dbh = DBI->connect( $dsn, $username, $password, { RaiseError => 1 } ) + or die "can't connect to database"; + } else { + $dbh = DBI->connect( $dsn, $username, undef, { RaiseError => 1 } ) + or die "can't connect to database"; + } + + # $debug && &_LOG("CONNECTED!\n"); + if ($dbh) { + $self->dbh($dbh); + return $self; + } else { + return undef; + } } =head2 objectExists @@ -181,133 +181,164 @@ newLSID will return (0, $desc, $lsid) =cut +sub objectExists { + my ( $self, %args ) = @_; + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $sth; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); -sub objectExists{ - my ($self, %args) = @_; - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $sth; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objecttype/)){ # return (1, "external ontology", $term); # } - - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_type = ?"); - } - $sth->execute($term); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ # if it is in there, then it has been discovered regardless of being foreign or not - return (1,$desc,$lsid); - } elsif (_isForeignLSID($term)){ # if not in our ontology, but is a foreign LSID, then pass it back verbatim - return (0, "LSID $term does not exist in the biomoby.org Object Class system\n", $term); + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_type = ?" + ); + } + $sth->execute($term); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) + { # if it is in there, then it has been discovered regardless of being foreign or not + return ( 1, $desc, $lsid ); + } elsif ( _isForeignLSID($term) ) + { # if not in our ontology, but is a foreign LSID, then pass it back verbatim + return ( + 0, +"LSID $term does not exist in the biomoby.org Object Class system\n", + $term + ); } else { # under all other circumstances (i.e. not a term, or a non-existent biomoby LSID) then fail - return (0, "Object type $term does not exist in the biomoby.org Object Class system\n", ''); + return ( + 0, +"Object type $term does not exist in the biomoby.org Object Class system\n", + '' + ); } } - sub _isMOBYLSID { my ($lsid) = @_; return 1 if $lsid =~ /^urn\:lsid\:biomoby.org/; - return 0 + return 0; } - sub _isForeignLSID { my ($lsid) = @_; return 0 if $lsid =~ /^urn\:lsid\:biomoby.org/; - return 1 + return 1; } - =head2 createObject =cut - sub createObject { - my ($self, %args) = @_; - #node => $term, - #desc => $desc, - #authURI => $auth, - #contact => $email - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - return (0, "requires a object type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; + my ( $self, %args ) = @_; + + #node => $term, + #desc => $desc, + #authURI => $auth, + #contact => $email + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + return ( 0, "requires a object type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objectclass/)){ # if it is an LSID, but not a MOBY LSID, than barf # return (0, "can't create a term in a non-MOBY ontology!", $term); # } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } my $sth; - if ($args{'node'} =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_type = ?"); - } - $sth->execute($term); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ # if it is in there, then the object exists - return (0,"This term already exists: $lsid",$lsid); + if ( $args{'node'} =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_type = ?" + ); } - - - $args{description} =~ s/^\s+(.*?)\s+$/$1/s; - $args{node} =~ s/^\s+(.*?)\s+$/$1/s; - $args{contact_email} =~ s/^\s+(.*?)\s+$/$1/s; - $args{authority} =~ s/^\s+(.*?)\s+$/$1/s; - $self->dbh->do(q{insert into object (object_type, object_lsid, description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Object creation failed for unknown reasons",''); - } - return (1, "Object creation succeeded",$LSID); - + $sth->execute($term); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) { # if it is in there, then the object exists + return ( 0, "This term already exists: $lsid", $lsid ); + } + $args{description} =~ s/^\s+(.*?)\s+$/$1/s; + $args{node} =~ s/^\s+(.*?)\s+$/$1/s; + $args{contact_email} =~ s/^\s+(.*?)\s+$/$1/s; + $args{authority} =~ s/^\s+(.*?)\s+$/$1/s; + $self->dbh->do( +q{insert into object (object_type, object_lsid, description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Object creation failed for unknown reasons", '' ); + } + return ( 1, "Object creation succeeded", $LSID ); } - =head2 retrieveObject =cut - sub retrieveObject { - my ($self, %args) = @_; + my ( $self, %args ) = @_; my $term = $args{'node'}; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - return (0, "requires a object type node as an argument",'') unless ($args{'node'}); - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->getObjectURI($term); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - my ($id, $type, $lsid, $desc, $auth, $contact)= $self->dbh->selectrow_array(q{select object_id, object_type, object_lsid, description, authority,contact_email from object where object_lsid = ?}, undef, $LSID); - unless ($id){return (0, "Object doesn't exist in ontology", "")} - # my $OS = MOBY::OntologyServer->new(ontology => "relationship"); - my $sth = $self->dbh->prepare(q{select relationship_type, object_lsid, object2_articlename from object_term2term, object where object1_id = ? and object2_id = object_id}); - $sth->execute($id); - my %rel; - while (my ($relationship_type, $objectlsid, $article) = $sth->fetchrow_array){ - push @{$rel{$relationship_type}}, [$objectlsid, $article]; - } - return {objectType => $lsid, - description => $desc, - contactEmail => $contact, - authURI => $auth, - Relationships => \%rel}; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + return ( 0, "requires a object type node as an argument", '' ) + unless ( $args{'node'} ); + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->getObjectURI($term); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + my ( $id, $type, $lsid, $desc, $auth, $contact ) = + $self->dbh->selectrow_array( +q{select object_id, object_type, object_lsid, description, authority,contact_email from object where object_lsid = ?}, + undef, $LSID + ); + unless ($id) { return ( 0, "Object doesn't exist in ontology", "" ) } + + # my $OS = MOBY::OntologyServer->new(ontology => "relationship"); + my $sth = + $self->dbh->prepare( +q{select relationship_type, object_lsid, object2_articlename from object_term2term, object where object1_id = ? and object2_id = object_id} + ); + $sth->execute($id); + my %rel; + while ( my ( $relationship_type, $objectlsid, $article ) = + $sth->fetchrow_array ) + { + push @{ $rel{$relationship_type} }, [ $objectlsid, $article ]; + } + return { + objectType => $lsid, + description => $desc, + contactEmail => $contact, + authURI => $auth, + Relationships => \%rel + }; } =head2 deprecateObject @@ -315,35 +346,45 @@ =cut sub deprecateObject { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY",'') unless ($self->ontology eq 'object'); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY", '' ) unless ( $self->ontology eq 'object' ); + my $term = $args{term}; - my $term = $args{term}; # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objectclass/)){ # return (0, "can't delete from external ontology", $term); # } - - my $LSID; - unless ($term =~ /urn\:lsid/){$LSID = $self->getObjectURI($term)} else {$LSID=$term} - return (0, q{Object type $term cannot be resolved to an LSID},"") unless $LSID; - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$LSID); - # object1_id ISA object2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from object_term2term where object2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Object type $term has object dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from object where object_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Object Class table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from object_term2term where object1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Object term2term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Object $term Deleted",$lsid); + my $LSID; + unless ( $term =~ /urn\:lsid/ ) { $LSID = $self->getObjectURI($term) } else { $LSID = $term } + return ( 0, q{Object type $term cannot be resolved to an LSID}, "" ) + unless $LSID; + my ( $id, $lsid ) = + $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $LSID ); + + # object1_id ISA object2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from object_term2term where object2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, + qq{Object type $term has object dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from object where object_id = ?}, undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from Object Class table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from object_term2term where object1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( 0, + "Delete from Object term2term table failed: $self->dbh->errstr", + $lsid ); + } + return ( 1, "Object $term Deleted", $lsid ); } =head2 deleteObject @@ -351,129 +392,193 @@ =cut sub deleteObject { - my $self = shift; - $self->deprecateObject(@_); + my $self = shift; + $self->deprecateObject(@_); } =head2 relationshipExists =cut -sub relationshipExists{ - # term => $term - # ontology => $ontology - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'relationship'); - - my $term = lc($args{term}); - $term =~ s/^moby://; # if the term is namespaced, then remove that - - my $ont = $args{ontology}; - return (0, "requires both term and ontology arguments\n",'') unless (defined($term) && defined($ont)); - my $sth; - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_lsid = ? and ontology=?"); - } else { - $sth = $self->dbh->prepare("select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_type = ? and ontology=?"); - } - $sth->execute($term, $ont); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ - return (1,$desc,$lsid); - } else { - return (0, "Relationship Type $term does not exist in the biomoby.org Relationship Type system\n",''); - } +sub relationshipExists { + + # term => $term + # ontology => $ontology + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'relationship' ); + my $term = lc( $args{term} ); + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ont = $args{ontology}; + return ( 0, "requires both term and ontology arguments\n", '' ) + unless ( defined($term) && defined($ont) ); + my $sth; + + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_lsid = ? and ontology=?" + ); + } else { + $sth = + $self->dbh->prepare( +"select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_type = ? and ontology=?" + ); + } + $sth->execute( $term, $ont ); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Relationship Type $term does not exist in the biomoby.org Relationship Type system\n", + '' + ); + } } =head2 addObjectRelationship =cut -sub addObjectRelationship{ -# adds a relationship -#subject_node => $term, -#relationship => $reltype, -#object_node => $objectType, -#articleName => $articleName, -#authority => $auth, -#contact_email => $email - my ($self, %args) = @_; - - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - - my ($subj_id, $subj_lsid, $obj_id, $obj_lsid); - if ($args{subject_node} =~ /^urn:lsid/){ - ($subj_id, $subj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$args{subject_node}); +sub addObjectRelationship { + + # adds a relationship + #subject_node => $term, + #relationship => $reltype, + #object_node => $objectType, + #articleName => $articleName, + #authority => $auth, + #contact_email => $email + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + my ( $subj_id, $subj_lsid, $obj_id, $obj_lsid ); + if ( $args{subject_node} =~ /^urn:lsid/ ) { + ( $subj_id, $subj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $args{subject_node} + ); } else { - ($subj_id, $subj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_type = ?},undef,$args{subject_node}); + ( $subj_id, $subj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_type = ?}, + undef, $args{subject_node} + ); } - return (0, qq{Object type $args{subject_node} does not exist in the ontology},'') unless defined $subj_id; - - if ($args{object_node} =~ /^urn:lsid/){ - ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$args{object_node}); + return ( 0, + qq{Object type $args{subject_node} does not exist in the ontology}, + '' ) + unless defined $subj_id; + if ( $args{object_node} =~ /^urn:lsid/ ) { + ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $args{object_node} + ); } else { - ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_type = ?},undef,$args{object_node}); + ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_type = ?}, + undef, $args{object_node} + ); + } + return ( 0, + qq{Object type $args{object_node} does not exist in the ontology}, + '' ) + unless defined $obj_id; + my (@isa) = + $self->dbh->selectrow_array( + q{select * from object_term2term where object2_id = ?}, + undef, $subj_id ); + if ( scalar @isa ) { + return ( + 0, +qq{Object type $args{subject_node} has existing object dependencies in the ontology. It cannot be changed.}, + $subj_lsid + ); + } + my $OE = MOBY::OntologyServer->new( ontology => 'relationship' ); + my ( $success, $desc, $rel_lsid ) = $OE->relationshipExists( + term => $args{relationship}, + ontology => 'object' ); + ($success) + || return ( 0, + qq{Relationship $args{relationship} does not exist in the ontology}, + '' ); + $self->dbh->do( +q{insert into object_term2term (relationship_type, object1_id, object2_id, object2_articlename) values (?,?,?,?)}, + undef, + ( $rel_lsid, $subj_id, $obj_id, $args{articleName} ) + ); + if ( $self->dbh->{mysql_insertid} ) { + return ( 1, "Object relationsihp created successfully", '' ); + } else { + return ( 0, "Object relationship creation failed for unknown reasons", + '' ); } - return (0, qq{Object type $args{object_node} does not exist in the ontology},'') unless defined $obj_id; - - - my (@isa) = $self->dbh->selectrow_array(q{select * from object_term2term where object2_id = ?},undef, $subj_id); - if (scalar @isa){return (0, qq{Object type $args{subject_node} has existing object dependencies in the ontology. It cannot be changed.},$subj_lsid);} - - - my $OE = MOBY::OntologyServer->new(ontology => 'relationship'); - my ($success, $desc, $rel_lsid) = $OE->relationshipExists(term => $args{relationship}, ontology => 'object'); - ($success) || return (0, qq{Relationship $args{relationship} does not exist in the ontology},''); - - $self->dbh->do( - q{insert into object_term2term (relationship_type, object1_id, object2_id, object2_articlename) values (?,?,?,?)}, - undef, - ($rel_lsid,$subj_id,$obj_id,$args{articleName})); - if ($self->dbh->{mysql_insertid}){ - return (1,"Object relationsihp created successfully",''); - } else { - return (0, "Object relationship creation failed for unknown reasons",''); - } } =head2 addServiceRelationship =cut +sub addServiceRelationship { -sub addServiceRelationship{ -# adds an ISA relationship -# fail if another object is in relation to this objevt - #subject_node => $term, - #relationship => $relationship, - #predicate_node => $pred - #authority => $auth, - #contact_email => $email); - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my ($sbj_id, $sbj_lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_type = ?},undef,$args{subject_node}); - return (0, qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed},$sbj_lsid) unless defined $sbj_id; - - my (@isa) = $self->dbh->selectrow_array(q{select * from service_term2term where service2_id = ?},undef, $sbj_id); - if (scalar @isa){ - return (0, qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed},$sbj_lsid); - } - - my ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_type = ?},undef,$args{object_node}); # get ID of the related service - defined $obj_id || return (0, qq{Service $args{object_node} does not exist in the service ontology},''); - - my $OE = MOBY::OntologyServer->new(ontology => 'relationship'); - my ($success, $desc, $rel_lsid) = $OE->relationshipExists(term => $args{relationship}, ontology => 'service'); - ($success) || return (0, qq{Relationship $args{relationship} does not exist in the ontology},''); - - $self->dbh->do(q{insert into service_term2term (relationship_type, service1_id, service2_id) values (?,?,?)}, - undef, - ($rel_lsid,$sbj_id,$obj_id)); - if ($self->dbh->{mysql_insertid}){ - return (1,"Service relationship created successfully",''); - } else { - return (0, "Service relationship creation failed for unknown reasons",''); - } + # adds an ISA relationship + # fail if another object is in relation to this objevt + #subject_node => $term, + #relationship => $relationship, + #predicate_node => $pred + #authority => $auth, + #contact_email => $email); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my ( $sbj_id, $sbj_lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_type = ?}, + undef, $args{subject_node} + ); + return ( + 0, +qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed}, + $sbj_lsid + ) + unless defined $sbj_id; + my (@isa) = + $self->dbh->selectrow_array( + q{select * from service_term2term where service2_id = ?}, + undef, $sbj_id ); + if ( scalar @isa ) { + return ( + 0, +qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed}, + $sbj_lsid + ); + } + my ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_type = ?}, + undef, $args{object_node} + ); # get ID of the related service + defined $obj_id + || return ( 0, + qq{Service $args{object_node} does not exist in the service ontology}, + '' ); + my $OE = MOBY::OntologyServer->new( ontology => 'relationship' ); + my ( $success, $desc, $rel_lsid ) = $OE->relationshipExists( + term => $args{relationship}, + ontology => 'service' ); + ($success) + || return ( 0, + qq{Relationship $args{relationship} does not exist in the ontology}, + '' ); + $self->dbh->do( +q{insert into service_term2term (relationship_type, service1_id, service2_id) values (?,?,?)}, + undef, + ( $rel_lsid, $sbj_id, $obj_id ) + ); + if ( $self->dbh->{mysql_insertid} ) { + return ( 1, "Service relationship created successfully", '' ); + } else { + return ( 0, "Service relationship creation failed for unknown reasons", + '' ); + } } =head2 serviceExists @@ -481,29 +586,38 @@ =cut sub serviceExists { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ - return (1, "external ontology", $term); - } - - my $sth; - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select service_id, service_type, service_lsid, description, authority, contact_email from service where service_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select service_id, service_type, service_lsid, description, authority, contact_email from service where service_type = ?"); - } - - $sth->execute($term); - my ($id, $type, $lsid, $desc, $auth, $email) = $sth->fetchrow_array; - if ($id){ - return (1,$desc,$lsid); - } else { - return (0, "Service Type $term does not exist in the biomoby.org Service Type ontology\n",''); - } + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { + return ( 1, "external ontology", $term ); + } + my $sth; + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select service_id, service_type, service_lsid, description, authority, contact_email from service where service_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select service_id, service_type, service_lsid, description, authority, contact_email from service where service_type = ?" + ); + } + $sth->execute($term); + my ( $id, $type, $lsid, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($id) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Service Type $term does not exist in the biomoby.org Service Type ontology\n", + '' + ); + } } =head2 createServiceType @@ -511,203 +625,257 @@ =cut sub createServiceType { - my ($self, %args) = @_; - #node => $term, - #descrioption => $desc, - #authority => $auth, - #contact_email => $email); - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - return (0, "requires a object type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ # if it is an LSID, but not a MOBY LSID, than barf - return (0, "can't create a term in a non-MOBY ontology!", $term); - } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - - $self->dbh->do(q{insert into service (service_type, service_lsid, description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Service creation failed for unknown reasons",''); - } - return (1, "Service creation succeeded",$LSID); + my ( $self, %args ) = @_; + #node => $term, + #descrioption => $desc, + #authority => $auth, + #contact_email => $email); + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + return ( 0, "requires a object type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { # if it is an LSID, but not a MOBY LSID, than barf + return ( 0, "can't create a term in a non-MOBY ontology!", $term ); + } + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + $self->dbh->do( +q{insert into service (service_type, service_lsid, description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Service creation failed for unknown reasons", '' ); + } + return ( 1, "Service creation succeeded", $LSID ); } =head2 deleteServiceType =cut - sub deleteServiceType { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my $term = $args{term}; - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ - return (0, "can't delete from external ontology", $term); - } - - my $LSID; - unless ($term =~ /^urn:lsid:biomoby.org:servicetype/){$LSID = $self->getServiceURI($term)} else {$LSID=$term} - return (0, q{Service type $term cannot be resolved to an LSID in the MOBY ontologies},"") unless $LSID; - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_lsid = ?}, undef, $LSID); - - if (!defined $id){ - return (0, q{Service type $term does not exist in the ontology},$lsid); - } - # service1_id ISA service2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from service_term2term where service2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Service type $term has dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from service where service_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Service Type table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from service_term2term where service1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Service Type Term2Term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Service Type $term Deleted",$lsid); -} + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my $term = $args{term}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { + return ( 0, "can't delete from external ontology", $term ); + } + my $LSID; + unless ( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) { + $LSID = $self->getServiceURI($term); + } else { + $LSID = $term; + } + return ( + 0, +q{Service type $term cannot be resolved to an LSID in the MOBY ontologies}, + "" + ) + unless $LSID; + my ( $id, $lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_lsid = ?}, + undef, $LSID + ); + if ( !defined $id ) { + return ( 0, q{Service type $term does not exist in the ontology}, + $lsid ); + } + # service1_id ISA service2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from service_term2term where service2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, qq{Service type $term has dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from service where service_id = ?}, undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from Service Type table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from service_term2term where service1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( + 0, +"Delete from Service Type Term2Term table failed: $self->dbh->errstr", + $lsid + ); + } + return ( 1, "Service Type $term Deleted", $lsid ); +} =head2 namespaceExists =cut - sub namespaceExists { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - - my $sth; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ - return (1, "external ontology", $term); - } - - if ($term =~ /^urn:lsid:biomoby.org:namespacetype/){ - $sth = $self->dbh->prepare("select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_type = ?"); - } - $sth->execute($term); - my ($id, $type, $lsid,$desc, $auth, $email) = $sth->fetchrow_array; - if ($id){ - return (1,$desc,$lsid); - } else { - return (0, "Namespace Type $term does not exist in the biomoby.org Namespace Type ontology\n",''); - } + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $sth; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { + return ( 1, "external ontology", $term ); + } + if ( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) { + $sth = + $self->dbh->prepare( +"select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_type = ?" + ); + } + $sth->execute($term); + my ( $id, $type, $lsid, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($id) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Namespace Type $term does not exist in the biomoby.org Namespace Type ontology\n", + '' + ); + } } =head2 createNamespace =cut - sub createNamespace { - my ($self, %args) = @_; - #node => $term, - #descrioption => $desc, - #authority => $auth, - #contact_email => $email); - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - return (0, "requires a namespace type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ # if it is an LSID, but not a MOBY LSID, than barf - return (0, "can't create a term in a non-MOBY ontology!", $term); - } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - - $self->dbh->do(q{insert into namespace (namespace_type, namespace_lsid,description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Namespace creation failed for unknown reasons",''); - } - return (1, "Namespace creation succeeded",$LSID); + my ( $self, %args ) = @_; + + #node => $term, + #descrioption => $desc, + #authority => $auth, + #contact_email => $email); + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + return ( 0, "requires a namespace type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { # if it is an LSID, but not a MOBY LSID, than barf + return ( 0, "can't create a term in a non-MOBY ontology!", $term ); + } + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + $self->dbh->do( +q{insert into namespace (namespace_type, namespace_lsid,description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Namespace creation failed for unknown reasons", '' ); + } + return ( 1, "Namespace creation succeeded", $LSID ); } =head2 deleteNamespace =cut - sub deleteNamespace { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - my $term = $args{term}; - my $LSID; - unless ($term =~ /urn\:lsid/){$LSID = $self->getNamespaceURI($term)} else {$LSID=$term} - return (0, q{Namespace type $term cannot be resolved to an LSID},"") unless $LSID; - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ - return (0, "cannot delete a term from an external ontology", $term); - } - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select namespace_id, namespace_lsid from namespace where namespace_lsid = ?},undef,$LSID); - unless ($id){return (0, q{Namespace type $term does not exist in the ontology},$lsid)} - - # service1_id ISA service2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from namespace_term2term where namespace2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Namespace type $term has dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from namespace where namespace_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from namespace table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from namespace_term2term where namespace1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from namespace term2term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Namespace Type $term Deleted",$lsid); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + my $term = $args{term}; + my $LSID; + unless ( $term =~ /urn\:lsid/ ) { $LSID = $self->getNamespaceURI($term) } else { $LSID = $term } + return ( 0, q{Namespace type $term cannot be resolved to an LSID}, "" ) + unless $LSID; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { + return ( 0, "cannot delete a term from an external ontology", $term ); + } + my ( $id, $lsid ) = $self->dbh->selectrow_array( +q{select namespace_id, namespace_lsid from namespace where namespace_lsid = ?}, + undef, $LSID + ); + unless ($id) { + return ( 0, q{Namespace type $term does not exist in the ontology}, + $lsid ); + } + + # service1_id ISA service2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from namespace_term2term where namespace2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, qq{Namespace type $term has dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from namespace where namespace_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from namespace table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from namespace_term2term where namespace1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( + 0, + "Delete from namespace term2term table failed: $self->dbh->errstr", + $lsid + ); + } + return ( 1, "Namespace Type $term Deleted", $lsid ); } =head2 retrieveAllServiceTypes =cut - sub retrieveAllServiceTypes { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select service_type, description from service}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select service_type, description from service}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } =head2 retrieveAllNamespaceTypes @@ -715,14 +883,16 @@ =cut sub retrieveAllNamespaceTypes { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select namespace_type, description from namespace}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select namespace_type, description from namespace}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } =head2 retrieveAllObjectClasses @@ -730,16 +900,17 @@ =cut sub retrieveAllObjectClasses { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select object_type, description from object}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select object_type, description from object}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } - *retrieveAllObjectTypes = \&retrieveAllObjectClasses; *retrieveAllObjectTypes = \&retrieveAllObjectClasses; @@ -748,10 +919,13 @@ =cut sub getObjectCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select object_type from object where object_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select object_type from object where object_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getNamespaceCommonName @@ -759,22 +933,27 @@ =cut sub getNamespaceCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select namespace_type from namespace where namespace_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select namespace_type from namespace where namespace_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getServiceCommonName =cut - sub getServiceCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select service_type from service where service_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select service_type from service where service_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getServiceURI @@ -782,10 +961,13 @@ =cut sub getServiceURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select service_lsid from service where service_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select service_lsid from service where service_type = ?}, + undef, $term ); + return $id; } =head2 getObjectURI @@ -793,10 +975,13 @@ =cut sub getObjectURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select object_lsid from object where object_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select object_lsid from object where object_type = ?}, + undef, $term ); + return $id; } =head2 getNamespaceURI @@ -804,22 +989,27 @@ =cut sub getNamespaceURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select namespace_lsid from namespace where namespace_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select namespace_lsid from namespace where namespace_type = ?}, + undef, $term ); + return $id; } - =head2 getNamespaceURI =cut sub getRelationshipURI { - my ($self, $ontology, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select relationship_lsid from relationship where relationship_type = ? and ontology = ?},undef,$term, $ontology); - return $id; + my ( $self, $ontology, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = $self->dbh->selectrow_array( +q{select relationship_lsid from relationship where relationship_type = ? and ontology = ?}, + undef, $term, $ontology + ); + return $id; } =head2 getRelationshipTypes @@ -827,16 +1017,18 @@ =cut sub getRelationshipTypes { - my ($self, %args) = @_; - my $ontology = $args{'ontology'}; - my $OS = MOBY::OntologyServer->new(ontology => "relationship"); - - my $defs = $OS->dbh->selectall_arrayref(q{select relationship_lsid, relationship_type, authority, description from relationship where ontology = ?}, undef, $ontology); - my %result; - foreach (@{$defs}){ - $result{$_->[0]} = [$_->[1], $_->[2], $_->[3]]; - } - return \%result; + my ( $self, %args ) = @_; + my $ontology = $args{'ontology'}; + my $OS = MOBY::OntologyServer->new( ontology => "relationship" ); + my $defs = $OS->dbh->selectall_arrayref( +q{select relationship_lsid, relationship_type, authority, description from relationship where ontology = ?}, + undef, $ontology + ); + my %result; + foreach ( @{$defs} ) { + $result{ $_->[0] } = [ $_->[1], $_->[2], $_->[3] ]; + } + return \%result; } =head2 Relationships @@ -844,44 +1036,56 @@ =cut sub Relationships { - # this entire subroutine assumes that there is NOT multiple parenting!! - my ($self, %args) = @_; - my $ontology = $args{ontology}?$args{ontology}:$self->ontology; - my $term = $args{term}; - my $relationship = $args{relationship}; - my $direction = $args{direction}?$args{direction}:'root'; - my $expand = $args{expand}?1:0; - - return unless ($ontology && $term && (($ontology eq 'service') || ($ontology eq 'object'))); - # convert $term into an LSID if it isn't already - if ($ontology eq 'service'){ - $term = $self->getServiceURI($term); - } elsif ($ontology eq 'object'){ - $term = $self->getObjectURI($term); - } - my %results; - while (($term ne 'urn:lsid:biomoby.org:objectclass:Object') && ($term ne 'urn:lsid:biomoby.org:servicetype:Service')){ - my $defs = $self->_doRelationshipsQuery($ontology, $term, $relationship, $direction); - my $lsid; my $rel; - foreach (@{$defs}){ - $lsid = $_->[0]; - $rel = $_->[1]; - $debug && _LOG("\t\tADDING RELATIONSHIP $_ : $lsid to $rel\n"); - push @{$results{$rel}}, $lsid; - } - last unless ($expand); - last unless ($direction eq "root"); # if we aren't going to root, then be careful or we'll loop infnitely - $term = $lsid; # this entire subroutine assumes that there is NOT multiple parenting... - } - return \%results; #results(relationship} = [lsid1, lsid2, lsid3] + + # this entire subroutine assumes that there is NOT multiple parenting!! + my ( $self, %args ) = @_; + my $ontology = $args{ontology} ? $args{ontology} : $self->ontology; + my $term = $args{term}; + my $relationship = $args{relationship}; + my $direction = $args{direction} ? $args{direction} : 'root'; + my $expand = $args{expand} ? 1 : 0; + return + unless ( $ontology + && $term + && ( ( $ontology eq 'service' ) || ( $ontology eq 'object' ) ) ); + + # convert $term into an LSID if it isn't already + if ( $ontology eq 'service' ) { + $term = $self->getServiceURI($term); + } elsif ( $ontology eq 'object' ) { + $term = $self->getObjectURI($term); + } + my %results; + while ( ( $term ne 'urn:lsid:biomoby.org:objectclass:Object' ) + && ( $term ne 'urn:lsid:biomoby.org:servicetype:Service' ) ) + { + my $defs = $self->_doRelationshipsQuery( $ontology, $term, + $relationship, $direction ); + my $lsid; + my $rel; + foreach ( @{$defs} ) { + $lsid = $_->[0]; + $rel = $_->[1]; + $debug + && _LOG("\t\tADDING RELATIONSHIP $_ : $lsid to $rel\n"); + push @{ $results{$rel} }, $lsid; + } + last unless ($expand); + last + unless ( $direction eq "root" ) + ; # if we aren't going to root, then be careful or we'll loop infnitely + $term = $lsid + ; # this entire subroutine assumes that there is NOT multiple parenting... + } + return \%results; #results(relationship} = [lsid1, lsid2, lsid3] } sub _doRelationshipsQuery { - my ($self, $ontology, $term, $relationship, $direction) = @_; - my $defs; - if ($direction eq 'root'){ - unless (defined $relationship){ - $defs = $self->dbh->selectall_arrayref(" + my ( $self, $ontology, $term, $relationship, $direction ) = @_; + my $defs; + if ( $direction eq 'root' ) { + unless ( defined $relationship ) { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -889,9 +1093,9 @@ where s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s1.${ontology}_lsid = ?", undef, $term); # ") - } else { - $defs = $self->dbh->selectall_arrayref(" + s1.${ontology}_lsid = ?", undef, $term ); # ") + } else { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -900,11 +1104,11 @@ relationship_type = ? and s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s1.${ontology}_lsid = ?", undef, $relationship, $term); # ") - } - } else { - unless (defined $relationship){ - $defs = $self->dbh->selectall_arrayref(" + s1.${ontology}_lsid = ?", undef, $relationship, $term ); # ") + } + } else { + unless ( defined $relationship ) { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -912,9 +1116,9 @@ where s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s2.${ontology}_lsid = ?", undef, $term); # ") - } else { - $defs = $self->dbh->selectall_arrayref(" + s2.${ontology}_lsid = ?", undef, $term ); # ") + } else { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -923,10 +1127,10 @@ relationship_type = ? and s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s2.${ontology}_lsid = ?", undef, $relationship, $term); # ") - } - } - return $defs; + s2.${ontology}_lsid = ?", undef, $relationship, $term ); # ") + } + } + return $defs; } =head2 setURI @@ -934,82 +1138,102 @@ =cut sub setURI { - my ($self, $id) = @_; - my $URI; - # $id = lc($id); - if ($self->ontology eq 'object'){ - $URI = "urn:lsid:biomoby.org:objectclass:$id" - } elsif ($self->ontology eq 'namespace'){ - $URI = "urn:lsid:biomoby.org:namespacetype:$id" - } elsif ($self->ontology eq 'service'){ - $URI = "urn:lsid:biomoby.org:servicetype:$id" - } elsif ($self->ontology eq 'relationship'){ - $URI = "urn:lsid:biomoby.org:relationshiptype:$id" - } else { - $URI = 0 - } - return $URI; -} + my ( $self, $id ) = @_; + my $URI; + # $id = lc($id); + if ( $self->ontology eq 'object' ) { + $URI = "urn:lsid:biomoby.org:objectclass:$id"; + } elsif ( $self->ontology eq 'namespace' ) { + $URI = "urn:lsid:biomoby.org:namespacetype:$id"; + } elsif ( $self->ontology eq 'service' ) { + $URI = "urn:lsid:biomoby.org:servicetype:$id"; + } elsif ( $self->ontology eq 'relationship' ) { + $URI = "urn:lsid:biomoby.org:relationshiptype:$id"; + } else { + $URI = 0; + } + return $URI; +} =head2 traverseDAG =cut sub traverseDAG { - my ($self, $term, $direction) = @_; - my $ontology = $self->ontology; - return {} unless $ontology; - return {} unless $term; - $direction="root" unless ($direction); - return {} unless (($direction eq 'root') || ($direction eq 'leaves')); - if ($ontology eq 'service'){ - $term = $self->getServiceURI($term); - } elsif ($ontology eq 'object'){ - $term = $self->getObjectURI($term); - } - return {} unless $term =~ /^urn\:lsid/; # now its a URI - - my $relhash = $self->getRelationshipTypes(ontology => $ontology); # get teh types of relationships for the object/service ontology - return {} unless $relhash; - my @rels = keys %{$relhash}; #@rels is the list of relationship types for that ontology - my %relationships; - foreach my $relationship (@rels){ - my %IDS; - my $OS = MOBY::OntologyServer->new(ontology => 'relationship'); - my $reluri = $OS->getRelationshipURI($ontology, $relationship); # get the URI for that relationship type if it ins't already a URI - $IDS{$term} = "untestedroot"; # mark the one in-hand as being untested - while (grep /untested/, (values %IDS)){ # now, while there are untested services in our list... - foreach my $termthingy(keys %IDS){ # start parsing through the current list (hash keys) - $debug && _LOG("testing $relationship of $termthingy\n"); - next if ($IDS{$termthingy} eq "tested"); # if it has been tested already then move on - my $lsids = $self->Relationships(term => $termthingy, relationship => $relationship, direction => $direction); # get the related terms for this type; this should return a single hash value - if ($IDS{$termthingy} =~ /root/){ # here is where we remove self - delete $IDS{$termthingy}; - $debug && _LOG("deleting $termthingy\n"); - } else { - $debug && _LOG("marking $termthingy as TESTED\n"); - $IDS{$termthingy} = "tested"; # mark the current one as now being "done" - } - #${$lsids}{relationshiptype}=[lsid, lsid, lsid]; - foreach my $lsid(@{$lsids->{$relationship}}){ # go through the related terms - $debug && _LOG("found $lsid as relationship"); - next if (defined $IDS{$lsid}); # if we have already seen that term, skip it - $debug && _LOG("setting $lsid as untested\n"); - $IDS{$lsid} = "untested" # otherwise add it to the list and loop again. - } - } - } - my @IDS = keys %IDS; - $relationships{$relationship} = \@IDS; # and associate them all with the current relationship type - } - return \%relationships; + my ( $self, $term, $direction ) = @_; + my $ontology = $self->ontology; + return {} unless $ontology; + return {} unless $term; + $direction = "root" unless ($direction); + return {} unless ( ( $direction eq 'root' ) || ( $direction eq 'leaves' ) ); + if ( $ontology eq 'service' ) { + $term = $self->getServiceURI($term); + } elsif ( $ontology eq 'object' ) { + $term = $self->getObjectURI($term); + } + return {} unless $term =~ /^urn\:lsid/; # now its a URI + my $relhash = + $self->getRelationshipTypes( ontology => $ontology ) + ; # get teh types of relationships for the object/service ontology + return {} unless $relhash; + my @rels = keys + %{$relhash}; #@rels is the list of relationship types for that ontology + my %relationships; + foreach my $relationship (@rels) { + my %IDS; + my $OS = MOBY::OntologyServer->new( ontology => 'relationship' ); + my $reluri = + $OS->getRelationshipURI( $ontology, $relationship ) + ; # get the URI for that relationship type if it ins't already a URI + $IDS{$term} = "untestedroot"; # mark the one in-hand as being untested + while ( grep /untested/, ( values %IDS ) ) + { # now, while there are untested services in our list... + foreach my $termthingy ( keys %IDS ) + { # start parsing through the current list (hash keys) + $debug && _LOG("testing $relationship of $termthingy\n"); + next + if ( $IDS{$termthingy} eq "tested" ) + ; # if it has been tested already then move on + my $lsids = $self->Relationships( + term => $termthingy, + relationship => $relationship, + direction => $direction + ) + ; # get the related terms for this type; this should return a single hash value + if ( $IDS{$termthingy} =~ /root/ ) + { # here is where we remove self + delete $IDS{$termthingy}; + $debug && _LOG("deleting $termthingy\n"); + } else { + $debug && _LOG("marking $termthingy as TESTED\n"); + $IDS{$termthingy} = + "tested"; # mark the current one as now being "done" + } + + #${$lsids}{relationshiptype}=[lsid, lsid, lsid]; + foreach my $lsid ( @{ $lsids->{$relationship} } ) + { # go through the related terms + $debug && _LOG("found $lsid as relationship"); + next + if ( defined $IDS{$lsid} ) + ; # if we have already seen that term, skip it + $debug && _LOG("setting $lsid as untested\n"); + $IDS{$lsid} = + "untested" # otherwise add it to the list and loop again. + } + } + } + my @IDS = keys %IDS; + $relationships{$relationship} = + \@IDS; # and associate them all with the current relationship type + } + return \%relationships; } - - sub _LOG { return unless $debug; + #print join "\n", @_; #print "\n---\n"; #return; @@ -1018,37 +1242,31 @@ print LOG "\n---\n"; close LOG; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/authority.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/authority.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/authority.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::authority; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::authority - a lightweight connection to the @@ -37,104 +34,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - authority_id => [undef, 'read/write'], - authority_common_name => [undef, 'read/write'], - authority_uri => [undef, 'read/write'], - contact_email => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - #_____________________________________________________________ - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + authority_id => [ undef, 'read/write' ], + authority_common_name => [ undef, 'read/write' ], + authority_uri => [ undef, 'read/write' ], + contact_email => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - my $dbh = $self->dbh; - my ($authority_id, $common, $uri, $contact) = $dbh->selectrow_array(q{select authority_id, authority_common_name,authority_uri,contact_email from authority where authority_uri = ?},undef,$self->authority_uri); - unless ($authority_id){ - $dbh->do(q{insert into authority (authority_common_name, authority_uri, contact_email) values (?,?,?)}, undef,($self->authority_common_name, $self->authority_uri, $self->contact_email)); - $self->authority_id($dbh->{mysql_insertid}); - } else { - $self->authority_id($authority_id); - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $dbh = $self->dbh; + my ( $authority_id, $common, $uri, $contact ) = $dbh->selectrow_array( +q{select authority_id, authority_common_name,authority_uri,contact_email from authority where authority_uri = ?}, + undef, $self->authority_uri + ); + unless ($authority_id) { + $dbh->do( +q{insert into authority (authority_common_name, authority_uri, contact_email) values (?,?,?)}, + undef, + ( + $self->authority_common_name, $self->authority_uri, + $self->contact_email + ) + ); + $self->authority_id( $dbh->{mysql_insertid} ); + } else { + $self->authority_id($authority_id); + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm 2004/06/24 22:32:38 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm 2004/11/18 17:41:14 1.6 @@ -1,7 +1,6 @@ package MOBY::central_db_connection; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); use MOBY::Config; @@ -37,121 +36,105 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - db_connect_object => ["MOBY::mysql", 'read/write'], - datasource => ['mobycentral', 'read/write'], - #username => ["mobycentral", 'read/write'], - #password => ["mobycentral", 'read/write'], - #dbname => ["mobycentral", 'read/write'], - #host => ["localhost", 'read/write'], - #port => [3306, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub db_connect_object { - my ($self, $attr) = @_; - $self->{db_connect_object} = $attr if defined $attr; - return $self->{db_connect_object} - } - - sub dbh { - my ($self, $attr) = @_; - $self->{dbh} = $attr if defined $attr; - return $self->{dbh} - } -} + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + db_connect_object => [ "MOBY::mysql", 'read/write' ], + datasource => [ 'mobycentral', 'read/write' ], + + #username => ["mobycentral", 'read/write'], + #password => ["mobycentral", 'read/write'], + #dbname => ["mobycentral", 'read/write'], + #host => ["localhost", 'read/write'], + #port => [3306, 'read/write'], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub db_connect_object { + my ( $self, $attr ) = @_; + $self->{db_connect_object} = $attr if defined $attr; + return $self->{db_connect_object}; + } + + sub dbh { + my ( $self, $attr ) = @_; + $self->{dbh} = $attr if defined $attr; + return $self->{dbh}; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + $CONFIG ||= MOBY::Config->new; - $CONFIG ||= MOBY::Config->new; - # getting the dbh is bad bad bad!!! - my $dbh = $CONFIG->getDataAdaptor(datasource => 'mobycentral')->dbh; - - $self->dbh($dbh); + my $dbh = $CONFIG->getDataAdaptor( datasource => 'mobycentral' )->dbh; + $self->dbh($dbh); return $self; - } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm 2004/06/24 22:32:38 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm 2004/11/18 17:41:14 1.3 @@ -1,12 +1,9 @@ package MOBY::collection_input; use strict; use Carp; -use XML::DOM; use MOBY::Config; - use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::collection_input - a lightweight connection to the @@ -38,114 +35,95 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - collection_input_id => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + collection_input_id => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->collection_input_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_collection_input( - service_instance => $self->service_instance_id, - article_name => $self->article_name, - ); - - return $id; + service_instance => $self->service_instance_id, + article_name => $self->article_name, ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm 2004/06/24 22:32:38 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm 2004/11/18 17:41:14 1.3 @@ -1,14 +1,10 @@ #!/usr/bin/perl -w - package MOBY::collection_output; use strict; use Carp; -use XML::DOM; use MOBY::Config; - use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::collection_output - a lightweight connection to the @@ -38,115 +34,95 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - collection_output_id => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + collection_output_id => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->collection_output_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_collection_output( - service_instance => $self->service_instance_id, - article_name => $self->article_name, - ); - - return $id; + service_instance => $self->service_instance_id, + article_name => $self->article_name, ); + return $id; } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm 2004/07/09 00:21:53 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm 2004/11/18 17:41:14 1.4 @@ -1,149 +1,135 @@ package MOBY::dbConfig; - use strict; use Carp; use vars qw($AUTOLOAD); use Text::Shellwords; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - section_title => [undef, 'read/write'], - username => [undef, 'read/write'], - password => [undef, 'read/write'], - dbname => [undef, 'read/write'], - port => [undef, 'read/write'], - proxy => [undef, 'read/write'], - adaptor => ["MOBY::Adaptor::moby::queryapi::mysql", 'read/write'], - url => [undef, 'read/write'], - section => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + section_title => [ undef, 'read/write' ], + username => [ undef, 'read/write' ], + password => [ undef, 'read/write' ], + dbname => [ undef, 'read/write' ], + port => [ undef, 'read/write' ], + proxy => [ undef, 'read/write' ], + adaptor => [ "MOBY::Adaptor::moby::queryapi::mysql", 'read/write' ], + url => [ undef, 'read/write' ], + section => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } - sub database_title { - my ($self, $val) = @_; + sub database_title { + my ( $self, $val ) = @_; $self->section_title($val) if $val; return $self->section_title; - } - + } } # this object will contain the full hash of what is in the config file, even if # the key/value pairs are not expected. Only the expected key/value pairs will be available as # methods, however (i.e. those in the _standard_keys hash above) - sub new { - my ($caller, %args) = @_; + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $key; - my $key; #eval {$key = $self->_readSections($self->section);}; - $key = $self->_readSections($self->section); - #if ($@){die "MOBY Configuration file is misconfigured: dbConfig line 71\n";} -#print STDERR "I received the key $key\n"; - return undef unless $key; - return undef unless $key =~ /\S/; -#print STDERR "returning the dbConfig object for database title $key\n"; - $self->section_title($key); - - return $self; + $key = $self->_readSections( $self->section ); + #if ($@){die "MOBY Configuration file is misconfigured: dbConfig line 71\n";} + #print STDERR "I received the key $key\n"; + return undef unless $key; + return undef unless $key =~ /\S/; + + #print STDERR "returning the dbConfig object for database title $key\n"; + $self->section_title($key); + return $self; } sub _readSections { - my ($self, $section) = @_; + my ( $self, $section ) = @_; my $key; - my @lines = split "\n", $section; - while (my $l = shift @lines){ - chomp $l; - next unless $l; - next if $l=~/\s*\#/; # ignore comments - next unless $l =~ /\S/; # ignore pure whitespace; -#print STDERR "reading line $l\n"; - if ($l=~/\[(\w+)\]/){ - $key = $1; - while (my $l2 = shift @lines){ - chomp $l2; - last unless ($l2 =~ /\S/); - my @terms = shellwords($l2); - last unless (scalar @terms > 2); - $self->{$terms[0]} = $terms[2]; - } - } - } -#print STDERR "returning key $key with terms ",(keys %{$self->{$key}})," \n"; - return $key; # will be undef if this was not a valid section -} - + my @lines = split "\n", $section; + while ( my $l = shift @lines ) { + chomp $l; + next unless $l; + next if $l =~ /\s*\#/; # ignore comments + next unless $l =~ /\S/; # ignore pure whitespace; + + #print STDERR "reading line $l\n"; + if ( $l =~ /\[(\w+)\]/ ) { + $key = $1; + while ( my $l2 = shift @lines ) { + chomp $l2; + last unless ( $l2 =~ /\S/ ); + my @terms = shellwords($l2); + last unless ( scalar @terms > 2 ); + $self->{ $terms[0] } = $terms[2]; + } + } + } -sub DESTROY {} + #print STDERR "returning key $key with terms ",(keys %{$self->{$key}})," \n"; + return $key; # will be undef if this was not a valid section +} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/mysql.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/mysql.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/mysql.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::mysql; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::mysql - makes a MYSQL database connection. @@ -39,92 +36,77 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + (); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, $dbname, $username, $password, $host, $port) = @_; -my $debug = 0; + my ( $caller, $dbname, $username, $password, $host, $port ) = @_; + my $debug = 0; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - + my $self = bless {}, $class; my ($dsn) = "DBI:mysql:$dbname:$host:$port"; - - - $debug && &_LOG("connecting to db with params $dbname, $username, $password\n"); - my $dbh = DBI->connect($dsn, $username, $password, {RaiseError => 1}) or die "can't connect to database"; + $debug + && &_LOG("connecting to db with params $dbname, $username, $password\n"); + my $dbh = DBI->connect( $dsn, $username, $password, { RaiseError => 1 } ) + or die "can't connect to database"; $debug && &_LOG("CONNECTED!\n"); $self->databasehandle($dbh); return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm 2004/06/16 01:15:30 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::secondary_input; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::secondary_input - a lightweight connection to the @@ -36,140 +33,122 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - secondary_input_id => [undef, 'read/write'], - default_value => [undef, 'read/write'], - maximum_value => [undef, 'read/write'], - minimum_value => [undef, 'read/write'], - enum_value => [undef, 'read/write'], - datatype => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + secondary_input_id => [ undef, 'read/write' ], + default_value => [ undef, 'read/write' ], + maximum_value => [ undef, 'read/write' ], + minimum_value => [ undef, 'read/write' ], + enum_value => [ undef, 'read/write' ], + datatype => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub _dbh { - my ($self) = @_; - - my $central_connect = MOBY::central_db_connection->new(); - $self->dbh($central_connect->dbh); + my ($self) = @_; + my $central_connect = MOBY::central_db_connection->new(); + $self->dbh( $central_connect->dbh ); return $central_connect->dbh; - } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $datatype = $self->datatype; - unless (($datatype =~ /Integer/) || ($datatype =~ /Float/) || ($datatype =~ /String/) || ($datatype =~ /DateTime/)){ - return undef + unless ( ( $datatype =~ /Integer/ ) + || ( $datatype =~ /Float/ ) + || ( $datatype =~ /String/ ) + || ( $datatype =~ /DateTime/ ) ) + { + return undef; } - my $id = $self->WRITE; $self->secondary_input_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; my $dbh = $self->_dbh; - $dbh->do(q{insert into secondary_input (default_value,maximum_value,minimum_value,enum_value,datatype,article_name,service_instance_id) values (?,?,?,?,?,?,?)}, - undef, - ($self->default_value, - $self->maximum_value, - $self->minimum_value, - $self->enum_value, - $self->datatype, - $self->article_name, - $self->service_instance_id, - ) - ); - my $id=$dbh->{mysql_insertid}; - return $id; + $dbh->do( +q{insert into secondary_input (default_value,maximum_value,minimum_value,enum_value,datatype,article_name,service_instance_id) values (?,?,?,?,?,?,?)}, + undef, + ( + $self->default_value, $self->maximum_value, + $self->minimum_value, $self->enum_value, + $self->datatype, $self->article_name, + $self->service_instance_id, + ) + ); + my $id = $dbh->{mysql_insertid}; + return $id; } - sub AUTOLOAD { - - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm 2004/07/30 00:40:09 1.8 +++ /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm 2004/11/18 17:41:14 1.9 @@ -1,9 +1,7 @@ package MOBY::service_instance; - use SOAP::Lite; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); use MOBY::central_db_connection; use MOBY::OntologyServer; @@ -49,405 +47,420 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service_instance_id => [undef, 'read/write'], - category => [undef, 'read/write'], - servicename => [undef, 'read/write'], - _authority => [undef, 'read/write'], # the authority object - service_type => [undef, 'read/write'], - service_type_uri => [undef, 'read/write'], - authority => [undef, 'read/write'], - authority_uri => [undef, 'read/write'], - signatureURL => [undef, 'read/write'], - url => [undef, 'read/write'], - inputs => [undef, 'read/write'], - outputs => [undef, 'read/write'], - secondaries => [undef, 'read/write'], - contact_email => [undef, 'read/write'], - authoritative => [0, 'read/write'], - description => [undef, 'read/write'], - registry => ['MOBY_Central', 'read/write'], - test => [0, 'read/write'], # toggles create or test_existence behaviour - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub service_name { # give them a break if they chose service_name or servicename as the parameter - my ($self, $val) = @_; - if (defined $val){ - if (defined $self->{servicename}){ - return undef # you are not allowed to change it once it has been set! - } else { - $self->{servicename} = $val; - } - } - return $self->{servicename} - } - - sub category { - my ($self, $val) = @_; - if ((defined $val) && $self->category){return undef} - (defined $val) && ($self->{category} = $val); - return $self->{category} - } - sub service_type { - my ($self, $val) = @_; - if (defined $val && $self->service_type){return undef} - (defined $val) && ($self->{service_type} = $val); - return $self->{service_type} - } - sub url{ - my ($self, $val) = @_; - if (defined $val && $self->url){return undef} - (defined $val) && ($self->{url} = $val); - return $self->{url} - } - sub signatureURL{ - my ($self, $val) = @_; - if (defined $val && $self->signatureURL){return undef} - (defined $val) && ($self->{signatureURL} = $val); - return $self->{signatureURL} - } - sub contact_email { - my ($self, $val) = @_; - if (defined $val && $self->contact_email){return undef} - (defined $val) && ($self->{contact_email} = $val); - return $self->{contact_email} - } - sub description { - my ($self, $val) = @_; - if (defined $val && $self->description){return undef} - (defined $val) && ($self->{description} = $val); - return $self->{description} - } - + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service_instance_id => [ undef, 'read/write' ], + category => [ undef, 'read/write' ], + servicename => [ undef, 'read/write' ], + _authority => [ undef, 'read/write' ], # the authority object + service_type => [ undef, 'read/write' ], + service_type_uri => [ undef, 'read/write' ], + authority => [ undef, 'read/write' ], + authority_uri => [ undef, 'read/write' ], + signatureURL => [ undef, 'read/write' ], + url => [ undef, 'read/write' ], + inputs => [ undef, 'read/write' ], + outputs => [ undef, 'read/write' ], + secondaries => [ undef, 'read/write' ], + contact_email => [ undef, 'read/write' ], + authoritative => [ 0, 'read/write' ], + description => [ undef, 'read/write' ], + registry => [ 'MOBY_Central', 'read/write' ], + test => [ 0, 'read/write' ] + , # toggles create or test_existence behaviour + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub service_name + { # give them a break if they chose service_name or servicename as the parameter + my ( $self, $val ) = @_; + if ( defined $val ) { + if ( defined $self->{servicename} ) { + return + undef # you are not allowed to change it once it has been set! + } else { + $self->{servicename} = $val; + } + } + return $self->{servicename}; + } + + sub category { + my ( $self, $val ) = @_; + if ( ( defined $val ) && $self->category ) { return undef } + ( defined $val ) && ( $self->{category} = $val ); + return $self->{category}; + } + + sub service_type { + my ( $self, $val ) = @_; + if ( defined $val && $self->service_type ) { return undef } + ( defined $val ) && ( $self->{service_type} = $val ); + return $self->{service_type}; + } + + sub url { + my ( $self, $val ) = @_; + if ( defined $val && $self->url ) { return undef } + ( defined $val ) && ( $self->{url} = $val ); + return $self->{url}; + } + + sub signatureURL { + my ( $self, $val ) = @_; + if ( defined $val && $self->signatureURL ) { return undef } + ( defined $val ) && ( $self->{signatureURL} = $val ); + return $self->{signatureURL}; + } + + sub contact_email { + my ( $self, $val ) = @_; + if ( defined $val && $self->contact_email ) { return undef } + ( defined $val ) && ( $self->{contact_email} = $val ); + return $self->{contact_email}; + } + + sub description { + my ( $self, $val ) = @_; + if ( defined $val && $self->description ) { return undef } + ( defined $val ) && ( $self->{description} = $val ); + return $self->{description}; + } + sub dbh { - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral')->dbh; + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = + $CONFIG->getDataAdaptor( datasource => 'mobycentral' )->dbh; } + sub adaptor { - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); } } #sub _dbh { # my ($self) = @_; -# +# # my $central_connect = MOBY::central_db_connection->new(); # $self->dbh($central_connect->dbh); #} - sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my ($self) = bless {}, $class; + my ($self) = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } -# category => $Category, -# servicename => $serviceName, -# service_type => $serviceType, -# authority_uri => $AuthURI, -# url => $URL, -# contact_email => $contactEmail, -# authoritative => $authoritativeService, -# description => $desc, -# - return undef unless $self->authority_uri; - return undef unless $self->servicename; - - #$self->_dbh(); - #return undef unless $self->dbh; - #my $dbh = $self->dbh; - - if ($self->test){ return $self->service_instance_exists} - - $self->authority($self->_get_authority()); # this might not be necessary - it simply converts auth_uri to auth_id and v.v.? - # it actually is necessary for the moment. We need to put the logic of determining - # service id into the mysql.pm module!! - - if ($self->service_type){ - my $OE = MOBY::OntologyServer->new(ontology => 'service'); - my ($success, $message, $servicetypeURI) = $OE->serviceExists(term => $self->service_type); - unless (($success || (($self->service_type =~ /urn:lsid/i) && !($self->service_type =~ /urn:lsid:biomoby.org/i)))){return undef} - ($self->service_type =~ /urn:lsid/)?$self->service_type_uri($self->service_type):$self->service_type_uri($servicetypeURI); - } - - my $existing_service = $self->adaptor->query_service_instance (servicename => $self->servicename, authURI => $self->authority_uri); - - - - if (($existing_service) # if it exists, you are not allowed to have passed anything other than service name and authorityURI - && ((defined $self->category) - || (defined $self->service_type) - || (defined $self->url) - || (defined $self->contact_email) - || (defined $self->description))){ - return -1; # no no no, not alowed to do that! I will not give you an object - } elsif ($existing_service){ # if service exists, then instantiate it from the database retrieval we just did - $self->service_instance_id($existing_service->{'serviceid'}); - $self->category($existing_service->{'category'}); - $self->service_type($existing_service->{'servicetype'}); - $self->url($existing_service->{'url'}); - $self->contact_email($existing_service->{'email'}); - $self->description($existing_service->{'desc'}); - $self->authority($existing_service->{'authURI'}); - $self->signatureURL($existing_service->{'signatureURL'}); - - $self->{__exists__} = 1; # this service already existed - } elsif (!($existing_service) # if it doesn't exist - && (defined $self->category) # and you have given me things I need to create it - && (defined $self->service_type) - && (defined $self->url) - && (defined $self->contact_email) - && (defined $self->description)) - { # then create it de novo if we have enough information + # category => $Category, + # servicename => $serviceName, + # service_type => $serviceType, + # authority_uri => $AuthURI, + # url => $URL, + # contact_email => $contactEmail, + # authoritative => $authoritativeService, + # description => $desc, + # + return undef unless $self->authority_uri; + return undef unless $self->servicename; + + #$self->_dbh(); + #return undef unless $self->dbh; + #my $dbh = $self->dbh; + if ( $self->test ) { return $self->service_instance_exists } + $self->authority( $self->_get_authority() ) + ; # this might not be necessary - it simply converts auth_uri to auth_id and v.v.? + # it actually is necessary for the moment. We need to put the logic of determining + # service id into the mysql.pm module!! + if ( $self->service_type ) { + my $OE = MOBY::OntologyServer->new( ontology => 'service' ); + my ( $success, $message, $servicetypeURI ) = + $OE->serviceExists( term => $self->service_type ); + unless ( + ( + $success + || ( ( $self->service_type =~ /urn:lsid/i ) + && !( $self->service_type =~ /urn:lsid:biomoby.org/i ) ) + ) + ) + { + return undef; + } + ( $self->service_type =~ /urn:lsid/ ) + ? $self->service_type_uri( $self->service_type ) + : $self->service_type_uri($servicetypeURI); + } + my $existing_service = $self->adaptor->query_service_instance( + servicename => $self->servicename, + authURI => $self->authority_uri ); + if ( + ($existing_service + ) # if it exists, you are not allowed to have passed anything other than service name and authorityURI + && ( ( defined $self->category ) + || ( defined $self->service_type ) + || ( defined $self->url ) + || ( defined $self->contact_email ) + || ( defined $self->description ) ) + ) + { + return + -1; # no no no, not alowed to do that! I will not give you an object + } elsif ($existing_service) + { # if service exists, then instantiate it from the database retrieval we just did + $self->service_instance_id( $existing_service->{'serviceid'} ); + $self->category( $existing_service->{'category'} ); + $self->service_type( $existing_service->{'servicetype'} ); + $self->url( $existing_service->{'url'} ); + $self->contact_email( $existing_service->{'email'} ); + $self->description( $existing_service->{'desc'} ); + $self->authority( $existing_service->{'authURI'} ); + $self->signatureURL( $existing_service->{'signatureURL'} ); + $self->{__exists__} = 1; # this service already existed + } elsif ( + !($existing_service) # if it doesn't exist + && ( + defined $self->category + ) # and you have given me things I need to create it + && ( defined $self->service_type ) + && ( defined $self->url ) + && ( defined $self->contact_email ) + && ( defined $self->description ) + ) + { # then create it de novo if we have enough information my $id = $self->adaptor->insert_service_instance( - category => $self->category, - servicename => $self->servicename, - service_type_uri => $self->service_type_uri, - authority_id => $self->authority_id, - url => $self->url, - contact_email => $self->contact_email, - authoritative => $self->authoritative, - description => $self->description, - signatureURL => $self->signatureURL, - ); - - $self->service_instance_id($id); - $self->{__exists__} = 1; # this service now exists - } else { # if it doesn't exist, and you havne't given me anyting I need to create it, then bail out - return undef; - } - return $self; - + category => $self->category, + servicename => $self->servicename, + service_type_uri => $self->service_type_uri, + authority_id => $self->authority_id, + url => $self->url, + contact_email => $self->contact_email, + authoritative => $self->authoritative, + description => $self->description, + signatureURL => $self->signatureURL, + ); + $self->service_instance_id($id); + $self->{__exists__} = 1; # this service now exists + } else { # if it doesn't exist, and you havne't given me anyting I need to create it, then bail out + return undef; + } + return $self; } sub DELETE_THYSELF { - my ($self) = @_; - my $dbh = $self->dbh; - unless ($self->{__exists__}){ - return undef - } - $CONFIG ||=MOBY::Config->new; - - $dbh->do(q{delete from service_instance where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from simple_input where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from simple_output where service_instance_id = ?},undef,$self->service_instance_id); - my $sth = $dbh->prepare(q{select collection_input_id from collection_input where service_instance_id = ?}); - $sth->execute($self->service_instance_id); - while (my ($id) = $sth->fetchrow_array){ - $dbh->do(q{delete from simple_input where collection_input_id = ?},undef,$id); - } - $sth = $dbh->prepare(q{select collection_output_id from collection_output where service_instance_id = ?}); - $sth->execute($self->service_instance_id); - while (my ($id) = $sth->fetchrow_array){ - $dbh->do(q{delete from simple_output where collection_output_id = ?},undef,$id); - } - $dbh->do(q{delete from collection_input where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from collection_output where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from secondary_input where service_instance_id=?}, undef, $self->service_instance_id); - return 1; + my ($self) = @_; + my $dbh = $self->dbh; + unless ( $self->{__exists__} ) { + return undef; + } + $CONFIG ||= MOBY::Config->new; + $dbh->do( q{delete from service_instance where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from simple_input where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from simple_output where service_instance_id = ?}, + undef, $self->service_instance_id ); + my $sth = + $dbh->prepare( +q{select collection_input_id from collection_input where service_instance_id = ?} + ); + $sth->execute( $self->service_instance_id ); + while ( my ($id) = $sth->fetchrow_array ) { + $dbh->do( q{delete from simple_input where collection_input_id = ?}, + undef, $id ); + } + $sth = + $dbh->prepare( +q{select collection_output_id from collection_output where service_instance_id = ?} + ); + $sth->execute( $self->service_instance_id ); + while ( my ($id) = $sth->fetchrow_array ) { + $dbh->do( q{delete from simple_output where collection_output_id = ?}, + undef, $id ); + } + $dbh->do( q{delete from collection_input where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from collection_output where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from secondary_input where service_instance_id=?}, + undef, $self->service_instance_id ); + return 1; } - sub authority_id { - my ($self) = @_; - return $self->authority->authority_id; + my ($self) = @_; + return $self->authority->authority_id; } sub service_instance_exists { - my ($self) = @_; - my $dbh = $self->dbh; - my $authority; - my ($id) = $dbh->selectrow_array(q{select authority_id from authority where authority_uri = ?},undef,$self->authority_uri); - return undef unless $id; - my ($svc) = $dbh->selectrow_array(q{select service_instance_id from service_instance where authority_id = ? and servicename = ?}, undef, ($id, $self->servicename)); - return $svc; -} - - -sub _get_authority { # there's somethign fishy here... the authority.pm object already knows about authority_id and authorty_uri, doens't it? - my ($self) = @_; - my $dbh = $self->dbh; - my $authority; - my ($id,$name,$uri,$email) = $dbh->selectrow_array(q{select authority_id, authority_common_name, authority_uri, contact_email from authority where authority_uri = ?},undef,$self->authority_uri); - if (defined $id){ - $authority = MOBY::authority->new( - dbh => $self->dbh, - authority_id => $id, - authority_uri => $uri, - contact_email => $email, - ); - } else { - $authority = MOBY::authority->new( - dbh => $self->dbh, - authority_uri => $self->authority_uri, - contact_email => $self->contact_email, - ); - } - return $authority; + my ($self) = @_; + my $dbh = $self->dbh; + my $authority; + my ($id) = + $dbh->selectrow_array( + q{select authority_id from authority where authority_uri = ?}, + undef, $self->authority_uri ); + return undef unless $id; + my ($svc) = $dbh->selectrow_array( +q{select service_instance_id from service_instance where authority_id = ? and servicename = ?}, + undef, + ( $id, $self->servicename ) + ); + return $svc; +} + +sub _get_authority +{ # there's somethign fishy here... the authority.pm object already knows about authority_id and authorty_uri, doens't it? + my ($self) = @_; + my $dbh = $self->dbh; + my $authority; + my ( $id, $name, $uri, $email ) = $dbh->selectrow_array( +q{select authority_id, authority_common_name, authority_uri, contact_email from authority where authority_uri = ?}, + undef, $self->authority_uri + ); + if ( defined $id ) { + $authority = MOBY::authority->new( + dbh => $self->dbh, + authority_id => $id, + authority_uri => $uri, + contact_email => $email, + ); + } else { + $authority = MOBY::authority->new( + dbh => $self->dbh, + authority_uri => $self->authority_uri, + contact_email => $self->contact_email, + ); + } + return $authority; } sub add_simple_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $simple = MOBY::simple_input->new( - object_type_uri => $a{'object_type_uri'}, - namespace_type_uris => $a{'namespace_type_uris'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - collection_input_id => $a{'collection_input_id'} - ); - - push @{$self->{inputs}}, $simple; + object_type_uri => $a{'object_type_uri'}, + namespace_type_uris => $a{'namespace_type_uris'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + collection_input_id => $a{'collection_input_id'} + ); + push @{ $self->{inputs} }, $simple; return $simple->simple_input_id; } - sub add_simple_output { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $simple = MOBY::simple_output->new( - object_type_uri => $a{'object_type_uri'}, - namespace_type_uris => $a{'namespace_type_uris'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - collection_output_id => $a{'collection_output_id'} - ); - - push @{$self->{outputs}}, $simple; + object_type_uri => $a{'object_type_uri'}, + namespace_type_uris => $a{'namespace_type_uris'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + collection_output_id => $a{'collection_output_id'} + ); + push @{ $self->{outputs} }, $simple; return $simple->simple_output_id; } - sub add_collection_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $coll = MOBY::collection_input->new( - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{inputs}}, $coll; + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, ); + push @{ $self->{inputs} }, $coll; return $coll->collection_input_id; } - sub add_collection_output { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $coll = MOBY::collection_output->new( - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{outputs}}, $coll; + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, ); + push @{ $self->{outputs} }, $coll; return $coll->collection_output_id; } - sub add_secondary_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $sec = MOBY::secondary_input->new( - default_value => $a{'default_value'}, - maximum_value => $a{'maximum_value'}, - minimum_value => $a{'minimum_value'}, - enum_value => $a{'enum_value'}, - datatype => $a{'datatype'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{inputs}}, $sec; - return $sec->secondary_input_id; - + default_value => $a{'default_value'}, + maximum_value => $a{'maximum_value'}, + minimum_value => $a{'minimum_value'}, + enum_value => $a{'enum_value'}, + datatype => $a{'datatype'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + ); + push @{ $self->{inputs} }, $sec; + return $sec->secondary_input_id; } - - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/service_type.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/service_type.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/service_type.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::service_type; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::service_type - a lightweight connection to the @@ -35,97 +32,81 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service_type_id=> [undef, 'read/write'], - rdf_definition => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service_type_id => [ undef, 'read/write' ], + rdf_definition => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm 2004/06/24 22:32:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm 2004/11/18 17:41:14 1.5 @@ -1,13 +1,10 @@ #!/usr/bin/perl -w - package MOBY::simple_input; use strict; use Carp; -use XML::DOM; use MOBY::Config; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::simple_input - a lightweight connection to the @@ -40,120 +37,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - simple_input_id => [undef, 'read/write'], - object_type_uri => [undef, 'read/write'], - namespace_type_uris => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - collection_input_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + simple_input_id => [ undef, 'read/write' ], + object_type_uri => [ undef, 'read/write' ], + namespace_type_uris => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + collection_input_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->simple_input_id($id) if defined $id; - return $self; - + return $self; } - sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_simple_input( - object_type_uri => $self->object_type_uri, - namespace_type_uris => $self->namespace_type_uris, - article_name => $self->article_name, - service_instance_id => $self->service_instance_id, - collection_input_id => $self->collection_input_id, - ); - - return $id; + object_type_uri => $self->object_type_uri, + namespace_type_uris => $self->namespace_type_uris, + article_name => $self->article_name, + service_instance_id => $self->service_instance_id, + collection_input_id => $self->collection_input_id, + ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm 2004/06/24 22:32:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm 2004/11/18 17:41:15 1.4 @@ -1,13 +1,10 @@ #!/usr/bin/perl -w - package MOBY::simple_output; use strict; use Carp; use MOBY::Config; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::simple_output - a lightweight connection to the @@ -39,120 +36,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - simple_output_id => [undef, 'read/write'], - object_type_uri => [undef, 'read/write'], - namespace_type_uris => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - collection_output_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + simple_output_id => [ undef, 'read/write' ], + object_type_uri => [ undef, 'read/write' ], + namespace_type_uris => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + collection_output_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->simple_output_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_simple_output( - object_type_uri => $self->object_type_uri, - namespace_type_uris => $self->namespace_type_uris, - article_name => $self->article_name, - service_instance_id => $self->service_instance_id, - collection_output_id => $self->collection_output_id, - ); - - return $id; + object_type_uri => $self->object_type_uri, + namespace_type_uris => $self->namespace_type_uris, + article_name => $self->article_name, + service_instance_id => $self->service_instance_id, + collection_output_id => $self->collection_output_id, + ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; From kawas at pub.open-bio.org Thu Nov 18 12:38:56 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Thu Dec 9 09:39:49 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411181741.iAIHfGjw013992@pub.open-bio.org> kawas Thu Nov 18 12:41:16 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv13854/Client Modified Files: Central.pm CollectionArticle.pm OntologyServer.pm Registration.pm SecondaryArticle.pm Service.pm ServiceInstance.pm SimpleArticle.pm SimpleInput.pm Log Message: Converted XML:DOM -> XML::LibXML and applicable module calls Eddie moby-live/Perl/MOBY/Client Central.pm,1.80,1.81 CollectionArticle.pm,1.9,1.10 OntologyServer.pm,1.6,1.7 Registration.pm,1.6,1.7 SecondaryArticle.pm,1.4,1.5 Service.pm,1.12,1.13 ServiceInstance.pm,1.12,1.13 SimpleArticle.pm,1.5,1.6 SimpleInput.pm,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/09/16 22:21:02 1.80 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/11/18 17:41:15 1.81 @@ -1,18 +1,18 @@ #$Id$ - package MOBY::Client::Central; use SOAP::Lite; + #use SOAP::Lite + trace; # for debugging use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use MOBY::Client::ServiceInstance; use MOBY::Client::Registration; use MOBY::Client::SimpleArticle; use MOBY::Client::CollectionArticle; use MOBY::Client::SecondaryArticle; use MOBY::Client::OntologyServer; - use vars qw($AUTOLOAD @ISA $MOBY_server $MOBY_uri); =head1 NAME @@ -21,7 +21,6 @@ =cut - =head1 SYNOPSIS use MOBY::Client::Central; @@ -126,198 +125,219 @@ =cut my $debug = 0; - -if ($debug){open (OUT, ">/tmp/CentralLogOut.txt") || die "cant open logfile CentralLogOut.txt $!\n";close OUT;} - +if ( $debug ) { + open( OUT, ">/tmp/CentralLogOut.txt" ) + || die "cant open logfile CentralLogOut.txt $!\n"; + close OUT; +} { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - Connections => [undef, 'read/write'], - default_MOBY_servername => ['mobycentral', 'read/write'], - default_MOBY_server => ['http://mobycentral.cbr.nrc.ca/cgi-bin/MOBY05/mobycentral.pl', 'read/write'], - default_MOBY_uri => ['http://mobycentral.cbr.nrc.ca/MOBY/Central', 'read/write'], - default_MOBY_proxy => [undef, 'read/write'], - default_MOBY_type => ['soap', 'read/write'], - Registries => [undef, 'read/write'], - multiple_registries => [undef, 'read/write'], - # SWITCH TO THESE FOR A LOCAL MOBY CENTRAL REGISTRY - #default_MOBY_server => ['http://localhost/cgi-bin/MOBY-Central.pl', 'read/write'], - #default_MOBY_uri => ['http://localhost/MOBY/Central', 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + Connections => [ undef, 'read/write' ], + default_MOBY_servername => [ 'mobycentral', 'read/write' ], + default_MOBY_server => [ + 'http://mobycentral.cbr.nrc.ca/cgi-bin/MOBY05/mobycentral.pl', + 'read/write' + ], + default_MOBY_uri => + [ 'http://mobycentral.cbr.nrc.ca/MOBY/Central', 'read/write' ], + default_MOBY_proxy => [ undef, 'read/write' ], + default_MOBY_type => [ 'soap', 'read/write' ], + Registries => [ undef, 'read/write' ], + multiple_registries => [ undef, 'read/write' ], + +# SWITCH TO THESE FOR A LOCAL MOBY CENTRAL REGISTRY +#default_MOBY_server => ['http://localhost/cgi-bin/MOBY-Central.pl', 'read/write'], +#default_MOBY_uri => ['http://localhost/MOBY/Central', 'read/write'], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + return 0 unless ( $mode && $_attr_data{$attr} ); + $_attr_data{$attr}[1] =~ /$mode/; + } - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - return 0 unless ($mode && $_attr_data{$attr}); - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } - # List of names of all specified object attributes - sub _standard_keys { + # List of names of all specified object attributes + sub _standard_keys { keys %_attr_data; - } - + } + sub Connection { - my ($self, $desired) = @_; - if ($desired){ - while (my ($name, $type, $connect) = (@{$self->Connections->[0]})){ - return ($type, $connect) if $name eq $desired; - } + my ( $self, $desired ) = @_; + if ( $desired ) { + while ( my ( $name, $type, $connect ) = + ( @{ $self->Connections->[0] } ) ) + { + return ( $type, $connect ) if $name eq $desired; + } } else { - my ($name, $type, $connect) = @{$self->Connections->[0]}; - return ($type,$connect); + my ( $name, $type, $connect ) = @{ $self->Connections->[0] }; + return ( $type, $connect ); } - return (undef, undef); + return ( undef, undef ); } - } sub _call { - # this method replaces the former calls directly - # to teh SOAP_Connection, to give more flexibility - # in how that call is made - # most subroutines in here do the following: - # $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; - # or $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - # so intercept that and figure out if we are actually making a SOAP call or not - # and determine which registry it is - - my ($self, $reg, $method, @params) = @_; +# this method replaces the former calls directly +# to teh SOAP_Connection, to give more flexibility +# in how that call is made +# most subroutines in here do the following: +# $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; +# or $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; +# so intercept that and figure out if we are actually making a SOAP call or not +# and determine which registry it is + my ( $self, $reg, $method, @params ) = @_; $reg = $self->default_MOBY_servername if $reg eq "default"; $reg = $self->default_MOBY_servername if !$reg; - - my ($type, $connect) = $self->Connection($reg); - return "EXECUTION ERROR - registry $reg not found" unless ($type && $connect); + my ( $type, $connect ) = $self->Connection( $reg ); + return "EXECUTION ERROR - registry $reg not found" + unless ( $type && $connect ); + my $param = join "", @params; # must be a single message! + if ( lc( $type ) eq "get" ) { - my $param = join "", @params; # must be a single message! - - if (lc($type) eq "get"){ #print STDERR "executing CGI call\n"; use LWP::UserAgent; my $ua = LWP::UserAgent->new; use CGI; - $param =~s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; + $param =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; my $paramstring = "?action=$method"; - $paramstring .=";payload=$param" if $param; - my $req = HTTP::Request->new(GET => $connect.$paramstring); - my $res = $ua->request($req); - if ($res->is_success){ + $paramstring .= ";payload=$param" if $param; + my $req = HTTP::Request->new( GET => $connect . $paramstring ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { return $res->content; } else { - return "EXECUTION ERROR - unsuccessful call to MOBY Central registry named '$reg'" + return +"EXECUTION ERROR - unsuccessful call to MOBY Central registry named '$reg'"; } } else { + #print STDERR "executing SOAP call\n"; - my @payload = $connect->call($method => $param)->paramsall; + my @payload = $connect->call( $method => $param )->paramsall; return @payload; - } + } } - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - $self->Connections([]); # initialize; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->Connections( [] ); # initialize; + # if user has set up preferred servers, then use those by default - $self->default_MOBY_server($ENV{MOBY_SERVER}) if $ENV{MOBY_SERVER}; - $self->default_MOBY_uri($ENV{MOBY_URI}) if $ENV{MOBY_URI}; - $self->default_MOBY_type($ENV{MOBY_TYPE}) if $ENV{MOBY_TYPE}; - $self->default_MOBY_proxy($ENV{MOBY_PROXY}) if $ENV{MOBY_PROXY}; - - - if ($self->Registries){ + $self->default_MOBY_server( $ENV{MOBY_SERVER} ) if $ENV{MOBY_SERVER}; + $self->default_MOBY_uri( $ENV{MOBY_URI} ) if $ENV{MOBY_URI}; + $self->default_MOBY_type( $ENV{MOBY_TYPE} ) if $ENV{MOBY_TYPE}; + $self->default_MOBY_proxy( $ENV{MOBY_PROXY} ) if $ENV{MOBY_PROXY}; + if ( $self->Registries ) { my $regno = 0; - my %reg = %{$self->Registries}; - while (my ($name, $acc) = each %reg){ - $regno++; # count how many registries we have in total - my $url = $acc->{URL}?$acc->{URL}:$self->default_MOBY_server; - my $uri = $acc->{URI}?$acc->{URI}:$self->default_MOBY_uri; - my $type = $acc->{TYPE}?$acc->{TYPE}:$self->default_MOBY_type; - my $proxy = $acc->{PROXY}?$acc->{PROXY}:$self->default_MOBY_proxy; - $type ||='soap'; - if (lc($type) eq "get"){ - push @{$self->Connections}, [$name, $type, $url]; + my %reg = %{ $self->Registries }; + while ( my ( $name, $acc ) = each %reg ) { + $regno++; # count how many registries we have in total + my $url = $acc->{URL} ? $acc->{URL} : $self->default_MOBY_server; + my $uri = $acc->{URI} ? $acc->{URI} : $self->default_MOBY_uri; + my $type = $acc->{TYPE} ? $acc->{TYPE} : $self->default_MOBY_type; + my $proxy = + $acc->{PROXY} ? $acc->{PROXY} : $self->default_MOBY_proxy; + $type ||= 'soap'; + if ( lc( $type ) eq "get" ) { + push @{ $self->Connections }, [ $name, $type, $url ]; } else { - my @soapargs; - if ($proxy){ - @soapargs = ($url, - proxy => ['http' => $proxy]); - } else { - @soapargs = ($url); - } - push @{$self->Connections}, [$name, $type, SOAP::Lite->proxy(@soapargs)->uri($uri)->on_fault( - sub{ - my($soap, $res) = @_; - die ref $res ? $res->faultstring : $soap->transport->status, "\n ERROR ERROR ERROR\n"; - })]; + my @soapargs; + if ( $proxy ) { + @soapargs = ( $url, proxy => [ 'http' => $proxy ] ); + } else { + @soapargs = ( $url ); + } + push @{ $self->Connections }, [ + $name, $type, + SOAP::Lite->proxy( @soapargs )->uri( $uri )->on_fault( + sub { + my ( $soap, $res ) = @_; + die ref $res + ? $res->faultstring + : $soap->transport->status, + "\n ERROR ERROR ERROR\n"; + } + ) + ]; } } - $self->multiple_registries($regno-1); # one is not "multiple", it is just a change in default -> set to "false" if only one + $self->multiple_registries( $regno - 1 ) + ; # one is not "multiple", it is just a change in default -> set to "false" if only one } else { - $self->multiple_registries(0); - if (lc($self->default_MOBY_type) eq "get"){ - push @{$self->Connections}, [$self->default_MOBY_servername, $self->default_MOBY_type,$self->default_MOBY_server]; + $self->multiple_registries( 0 ); + if ( lc( $self->default_MOBY_type ) eq "get" ) { + push @{ $self->Connections }, + [ + $self->default_MOBY_servername, $self->default_MOBY_type, + $self->default_MOBY_server + ]; } else { - $self->Registries({$self->default_MOBY_servername => { - URL => $self->default_MOBY_server, - URI => $self->default_MOBY_uri - }} - ); - my @soapargs; - if ($self->default_MOBY_proxy){ - @soapargs = ($self->default_MOBY_server, - proxy => ['http' => $self->default_MOBY_proxy]); - } else { - @soapargs = ($self->default_MOBY_server); - } - push @{$self->Connections},[$self->default_MOBY_servername, - $self->default_MOBY_type, - SOAP::Lite->proxy(@soapargs)->uri($self->default_MOBY_uri)->on_fault( - sub{ - my($soap, $res) = @_; - die ref $res ? $res->faultstring : $soap->transport->status, "\n ERROR ERROR ERROR\n"; - })]; + $self->Registries( + { + $self->default_MOBY_servername => { + URL => $self->default_MOBY_server, + URI => $self->default_MOBY_uri + } + } + ); + my @soapargs; + if ( $self->default_MOBY_proxy ) { + @soapargs = ( + $self->default_MOBY_server, + proxy => [ 'http' => $self->default_MOBY_proxy ] + ); + } else { + @soapargs = ( $self->default_MOBY_server ); + } + push @{ $self->Connections }, [ + $self->default_MOBY_servername, + $self->default_MOBY_type, + SOAP::Lite->proxy( @soapargs )->uri( $self->default_MOBY_uri ) + ->on_fault( + sub { + my ( $soap, $res ) = @_; + die ref $res + ? $res->faultstring + : $soap->transport->status, "\n ERROR ERROR ERROR\n"; + } + ) + ]; } } - return undef unless $self->Connection(); # gotta have at least one... - return $self; - + return undef unless $self->Connection(); # gotta have at least one... + return $self; } - =head2 registerObject a.k.a registerObjectClass Title : registerObject ; registerObjectClass @@ -338,50 +358,59 @@ =cut - sub registerObjectClass { - my ($self, %a) = @_; - return $self->registerObject(%a); + my ( $self, %a ) = @_; + return $self->registerObject( %a ); } -sub registerObject { - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - return $self->errorRegXML("Contact email address (contactEmail parameter) is required for object registration") if (!$a{contactEmail}); - - my $term = $a{'objectType'}; $term ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $contactEmail = $a{'contactEmail'}; $contactEmail ||=""; - my $authURI = $a{'authURI'}; $authURI ||=""; $authURI ||=""; - my %Relationships = %{$a{'Relationships'}}; - my $clobber = $a{'Clobber'}?$a{'Clobber'}:0; - my $message = " +sub registerObject { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + return $self->errorRegXML( +"Contact email address (contactEmail parameter) is required for object registration" + ) + if ( !$a{contactEmail} ); + my $term = $a{'objectType'}; + $term ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $contactEmail = $a{'contactEmail'}; + $contactEmail ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + $authURI ||= ""; + my %Relationships = %{ $a{'Relationships'} }; + my $clobber = $a{'Clobber'} ? $a{'Clobber'} : 0; + my $message = " $term $authURI $contactEmail $clobber\n"; - while (my ($type, $objlistref) = each %Relationships){ - $message .="\n"; - foreach my $objnamepair(@{$objlistref}){ - my $object = $objnamepair->[0]; + + while ( my ( $type, $objlistref ) = each %Relationships ) { + $message .= "\n"; + foreach my $objnamepair ( @{$objlistref} ) { + my $object = $objnamepair->[0]; my $article = $objnamepair->[1]; - return $self->errorRegXML("Object name missing from one of your $type relationships") unless ($object); - $article ||=""; - $message .="$object\n"; - } - $message .="\n"; + return $self->errorRegXML( + "Object name missing from one of your $type relationships" ) + unless ( $object ); + $article ||= ""; + $message .= + "$object\n"; + } + $message .= "\n"; } - $message .=""; - -# my $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerObjectClass', $message); - - return ($self->parseRegXML($return)); + $message .= ""; +# my $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerObjectClass', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterObject a.k.a. deregisterObjectClass Title : deregisterObject ; deregisterObjectClass @@ -395,27 +424,28 @@ =cut sub deregisterObjectClass { - my ($self, %a) = @_; - return $self->deregisterObject(%a); + my ( $self, %a ) = @_; + return $self->deregisterObject( %a ); } -sub deregisterObject { - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'objectType'}; $id ||=""; +sub deregisterObject { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'objectType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterObjectClass => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterObjectClass', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterObjectClass => ($message))->paramsall; + my ( $return ) = + $self->_call( 'default', 'deregisterObjectClass', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 retrieveObjectDefinition Title : retrieveObjectDefinition @@ -442,66 +472,76 @@ =cut sub retrieveObjectDefinition { - - my ($self, $id, $reg) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; + my ( $self, $id, $reg ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; my %def; return \%def unless $id; - my $message = " $id "; - my ($return) = $self->_call('default', 'retrieveObjectDefinition', $message); - + my ( $return ) = + $self->_call( 'default', 'retrieveObjectDefinition', $message ); return \%def unless $return; - my ($term, $desc, $relationships, $email, $authURI) = &_ObjectDefinitionPayload($return); - $def{objectType} = $term; - $def{description} = $desc; - $def{contactEmail} = $email; - $def{authURI} = $authURI; + my ( $term, $desc, $relationships, $email, $authURI ) = + &_ObjectDefinitionPayload( $return ); + $def{objectType} = $term; + $def{description} = $desc; + $def{contactEmail} = $email; + $def{authURI} = $authURI; $def{Relationships} = $relationships; - $def{XML} = $return; - return (\%def); - + $def{XML} = $return; + return ( \%def ); } sub _ObjectDefinitionPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'retrieveObjectDefinition'); - - my $term = &_nodeTextContent($Object, "objectType"); - my $desc = &_nodeTextContent($Object, "Description"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my %att_value; my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my $article = $_->getAttributeNode('articleName'); # may or may not have a name - if ($article){$article = $article->getValue()} - - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, [$_->toString, $article]; + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'retrieveObjectDefinition' ); + my $term = &_nodeTextContent( $Object, "objectType" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my %att_value; + my %relationships; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { #get_node starts at one + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my $article = + $_->getAttributeNode( 'articleName' ) + ; # may or may not have a name + if ( $article ) { $article = $article->getValue() } + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, + [ $_->toString, $article ]; } } } - return ($term, $desc, \%relationships, $email,$authURI); + return ( $term, $desc, \%relationships, $email, $authURI ); } - =head2 registerServiceType Title : registerServiceType @@ -518,37 +558,40 @@ =cut sub registerServiceType { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $type = $a{'serviceType'}; $type ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $email = $a{'contactEmail'}; $email ||=""; - my $auth = $a{'authURI'}; $auth ||=""; - my %Relationships = %{$a{'Relationships'}}; - - my $message = " + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $type = $a{'serviceType'}; + $type ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $email = $a{'contactEmail'}; + $email ||= ""; + my $auth = $a{'authURI'}; + $auth ||= ""; + my %Relationships = %{ $a{'Relationships'} }; + my $message = " $type $email $auth\n"; - while (my ($type, $servlistref) = each %Relationships){ - $message .="\n"; - foreach my $servicetype(@{$servlistref}){ - $message .="$servicetype\n"; + + while ( my ( $type, $servlistref ) = each %Relationships ) { + $message .= "\n"; + foreach my $servicetype ( @{$servlistref} ) { + $message .= "$servicetype\n"; } - $message .="\n"; + $message .= "\n"; } $message .= ""; -# my $return = $self->SOAP_connection->call(registerServiceType => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerServiceType', $message); - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(registerServiceType => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerServiceType', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 deregisterServiceType Title : deregisterServiceType @@ -560,21 +603,22 @@ =cut - sub deregisterServiceType { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'serviceType'}; $id ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'serviceType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterServiceType => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterServiceType', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterServiceType => ($message))->paramsall; + my ( $return ) = + $self->_call( 'default', 'deregisterServiceType', $message ); + return ( $self->parseRegXML( $return ) ); } =head2 registerNamespace @@ -592,13 +636,18 @@ =cut sub registerNamespace { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $type = $a{'namespaceType'}; $type ||=""; - my $authURI = $a{'authURI'}; $authURI ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $contact = $a{'contactEmail'};; $contact ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $type = $a{'namespaceType'}; + $type ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $contact = $a{'contactEmail'}; + $contact ||= ""; my $message = " $type @@ -606,15 +655,12 @@ $authURI $contact "; - -# my $return = $self->SOAP_connection->call(registerNamespace => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerNamespace', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(registerNamespace => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerNamespace', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterNamespace Title : deregisterNamespace @@ -627,23 +673,22 @@ =cut sub deregisterNamespace { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'namespaceType'}; $id ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'namespaceType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterNamespace => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterNamespace', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterNamespace => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'deregisterNamespace', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 registerService Title : registerService @@ -697,21 +742,41 @@ =cut sub registerService { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $name = $a{serviceName}; $name ||=""; - my $type = $a{serviceType}; $type ||=""; - my $authURI = $a{authURI}; $authURI ||=""; - my $email = $a{contactEmail}; $email ||=""; - my $URL = $a{URL}; $URL ||=""; - my $desc = $a{description}; $desc ||=""; - my $signatureURL = $a{signatureURL}; $signatureURL ||=""; - my $Category = lc($a{category}); chomp $Category; $Category ||=""; - return $self->errorRegXML("Only 'moby' and 'wsdl' Service Categories are currently allowed - you gave me $Category") unless (($Category eq 'moby') || ($Category eq 'wsdl')); - return $self->errorRegXML("All Fields Required: serviceName, serviceType, authURI, contactEmail, URL, description, Category, input, output, secondary") unless ( - $name && $type && $authURI && $email && $URL && $desc && $Category); - + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $name = $a{serviceName}; + $name ||= ""; + my $type = $a{serviceType}; + $type ||= ""; + my $authURI = $a{authURI}; + $authURI ||= ""; + my $email = $a{contactEmail}; + $email ||= ""; + my $URL = $a{URL}; + $URL ||= ""; + my $desc = $a{description}; + $desc ||= ""; + my $signatureURL = $a{signatureURL}; + $signatureURL ||= ""; + my $Category = lc( $a{category} ); + chomp $Category; + $Category ||= ""; + return $self->errorRegXML( +"Only 'moby' and 'wsdl' Service Categories are currently allowed - you gave me $Category" + ) + unless ( ( $Category eq 'moby' ) || ( $Category eq 'wsdl' ) ); + return $self->errorRegXML( +"All Fields Required: serviceName, serviceType, authURI, contactEmail, URL, description, Category, input, output, secondary" + ) + unless ( $name + && $type + && $authURI + && $email + && $URL + && $desc + && $Category ); my $message = " $Category @@ -723,127 +788,153 @@ $authURI $email"; - if ($Category eq "moby" || $Category eq 'soap') { + if ( $Category eq "moby" || $Category eq 'soap' ) { my %SEC; - if ($a{'secondary'} && (ref($a{'secondary'}) =~ /hash/i)){ - %SEC = %{$a{secondary}}; - } elsif ($a{'secondary'} && !(ref($a{'secondary'}) =~ /hash/i)){ - return $self->errorRegXML("invalid structure of secondary parameters. Expected hashref.") - } - - - my %funkyhash = ( Input => $a{input}, Output => $a{output}); - while (my ($inout, $param) = each %funkyhash){ - my $inout_lc = lc ($inout); + if ( $a{'secondary'} && ( ref( $a{'secondary'} ) =~ /hash/i ) ) { + %SEC = %{ $a{secondary} }; + } elsif ( $a{'secondary'} && !( ref( $a{'secondary'} ) =~ /hash/i ) ) { + return $self->errorRegXML( + "invalid structure of secondary parameters. Expected hashref." ); + } + my %funkyhash = ( Input => $a{input}, Output => $a{output} ); + while ( my ( $inout, $param ) = each %funkyhash ) { + my $inout_lc = lc( $inout ); my @ALLARTICLES = @{$param}; $message .= "<${inout_lc}Objects><${inout}>\n"; - + # input =>[ # [articleName1,[objType1 => \@namespaces]], # Simple # [articleName2, [[objType2 => \@namespaces]]], # collection of one object type # [articleName3,[[objType3 => \@namespaces], # [objType4 => \@namespaces]]] # collection of multiple object types # ] + foreach my $article ( @ALLARTICLES ) { + my ( $articleName, $def ) = @{$article}; + $articleName ||= ""; + my @Objects; # + unless ( ref( $def ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of $inout objects, expected arrayref for article $articleName" + ); + } + my @objectdefs; + if ( ( ref $def->[0] ) =~ /array/i ) { # collection + # def= [[objType2 => [ns3, ns4...]], ...] + $message .= "\n"; + @objectdefs = @{$def}; + } else { # Nipple + @objectdefs = ( $def ); - foreach my $article(@ALLARTICLES){ - my ($articleName, $def) = @{$article}; - $articleName ||=""; - my @Objects; # - unless (ref($def) =~ /array/i){return $self->errorRegXML("invalid structure of $inout objects, expected arrayref for article $articleName")} - my @objectdefs; - if ((ref $def->[0]) =~ /array/i){ # collection - # def= [[objType2 => [ns3, ns4...]], ...] - $message .="\n"; - @objectdefs = @{$def}; - } else { # Nipple - @objectdefs = ($def); # def = [objType1 => [ns1, ns2...]], } - - foreach my $objectdef(@objectdefs){ - if ((ref($def->[0])) =~ /array/i){ - $message .="\n"; + foreach my $objectdef ( @objectdefs ) { + if ( ( ref( $def->[0] ) ) =~ /array/i ) { + $message .= "\n"; } else { - $message .="\n"; - } - my ($type, $Namespaces) = @{$objectdef}; - $message .="$type\n"; - unless (ref($Namespaces) =~ /array/i){return $self->errorRegXML("invalid structure of $inout namespaces for object $type in article $articleName; expected arrayref")} - foreach my $ns(@{$Namespaces}){ - $message .="$ns\n"; + $message .= "\n"; + } + my ( $type, $Namespaces ) = @{$objectdef}; + $message .= "$type\n"; + unless ( ref( $Namespaces ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of $inout namespaces for object $type in article $articleName; expected arrayref" + ); } - $message .="\n"; + foreach my $ns ( @{$Namespaces} ) { + $message .= "$ns\n"; + } + $message .= "\n"; } - if ((ref($def->[0])) =~ /array/i){ - $message .="\n"; + if ( ( ref( $def->[0] ) ) =~ /array/i ) { + $message .= "\n"; } } $message .= "\n"; } -# secondary => {parametername1 => {datatype => TYPE, -# default => DEFAULT, -# max => MAX, -# min => MIN, -# enum => [one, two]}, -# parametername2 => {datatype => TYPE, -# default => DEFAULT, -# max => MAX, -# min => MIN, -# enum => [one, two]} -# } -# - - $message .="\n"; - while (my ($param, $desc) = each %SEC){ - unless ((ref($desc)) =~ /hash/i){return $self->errorRegXML("invalid structure of secondary article $param; expected hashref of limitations")} - my %data = %{$desc}; - my $default = $data{default}; - my $max = $data{max}; - my $min = $data{min}; + + # secondary => {parametername1 => {datatype => TYPE, + # default => DEFAULT, + # max => MAX, + # min => MIN, + # enum => [one, two]}, + # parametername2 => {datatype => TYPE, + # default => DEFAULT, + # max => MAX, + # min => MIN, + # enum => [one, two]} + # } + # + $message .= "\n"; + while ( my ( $param, $desc ) = each %SEC ) { + unless ( ( ref( $desc ) ) =~ /hash/i ) { + return $self->errorRegXML( +"invalid structure of secondary article $param; expected hashref of limitations" + ); + } + my %data = %{$desc}; + my $default = $data{default}; + my $max = $data{max}; + my $min = $data{min}; my $datatype = $data{datatype}; - unless ($datatype){return $self->errorRegXML("a secondaryArticle must contain at least a datatype value in secondary article $param");} - unless (($datatype =~ /Integer/) || ($datatype =~ /Float/) || ($datatype =~ /String/) || ($datatype =~ /DateTime/)){return $self->errorRegXML("a secondaryArticle must have a datatype of Integer, Float, String, or DateTime");} - unless ((ref($data{enum})) =~ /array/i){return $self->errorRegXML("invalid structure of enum limits in secondary article $param; expected arrayref")} - my @enums = @{$data{enum}}; - $message .="\n"; - $message .="$default\n"; - $message .="$datatype\n"; - $message .="$max\n"; - $message .="$min\n"; - foreach (@enums){ - $message .="$_\n"; + unless ( $datatype ) { + return $self->errorRegXML( +"a secondaryArticle must contain at least a datatype value in secondary article $param" + ); + } + unless ( ( $datatype =~ /Integer/ ) + || ( $datatype =~ /Float/ ) + || ( $datatype =~ /String/ ) + || ( $datatype =~ /DateTime/ ) ) + { + return $self->errorRegXML( +"a secondaryArticle must have a datatype of Integer, Float, String, or DateTime" + ); + } + unless ( ( ref( $data{enum} ) ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of enum limits in secondary article $param; expected arrayref" + ); } - $message .="\n"; + my @enums = @{ $data{enum} }; + $message .= "\n"; + $message .= "$default\n"; + $message .= "$datatype\n"; + $message .= "$max\n"; + $message .= "$min\n"; + foreach ( @enums ) { + $message .= "$_\n"; + } + $message .= "\n"; } $message .= "\n"; $message .= ""; - } else { return $self->errorRegXML("only 'moby' and 'wsdl' service types are allowed to be registered at this time.")} - - #elsif ($Category eq "cgi") { - # my $IN = $a{input}; - # $message .= " - # - # - # - # "; - #} else { - # $message .= " - # "; - #} - - - #unless ($message =~ /\<\/registerService/){ return MOBY::Registration->new( - # success => "0", - # error_messsage => "missing parameters or other failure leading to incorrectly formatted XML", - # registration_id => "0")}; + } else { + return $self->errorRegXML( +"only 'moby' and 'wsdl' service types are allowed to be registered at this time." + ); + } +#elsif ($Category eq "cgi") { +# my $IN = $a{input}; +# $message .= " +# +# +# +# "; +#} else { +# $message .= " +# "; +#} +#unless ($message =~ /\<\/registerService/){ return MOBY::Registration->new( +# success => "0", +# error_messsage => "missing parameters or other failure leading to incorrectly formatted XML", +# registration_id => "0")}; # print STDERR $message; - $debug && &_LOG(" message\n\n$message\n\n"); -# my $return = $self->SOAP_connection->call(registerService => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerService', $message); - - return ($self->parseRegXML($return)); + $debug && &_LOG( " message\n\n$message\n\n" ); +# my $return = $self->SOAP_connection->call(registerService => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerService', $message ); + return ( $self->parseRegXML( $return ) ); } =head2 registerServiceWSDL @@ -854,20 +945,18 @@ =cut - sub registerServiceWSDL { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $message = ""; - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $message = ""; # my $return = $self->SOAP_connection->call(registerServiceWSDL => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerServiceWSDL', $message); - - return ($self->parseRegXML($return)); - + my ( $return ) = $self->_call( 'default', 'registerServiceWSDL', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterService Title : deregisterService @@ -879,35 +968,32 @@ =cut - - sub deregisterService { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; my $name = $a{'serviceName'}; my $auth = $a{'authURI'}; - (defined($name) && defined($auth)) || return (&parseRegXML(" + ( defined( $name ) && defined( $auth ) ) || return ( + &parseRegXML( " 0 - ")); + " ) + ); my $message = " $name $auth "; - -# my $return = $self->SOAP_connection->call(deregisterService => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterService', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterService => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'deregisterService', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 findService Title : findService @@ -942,102 +1028,143 @@ =cut - sub findService { - - my ($self, %a) = @_; - my $reg = ($a{Registry})?$a{Registry}:$self->default_MOBY_servername; - + my ( $self, %a ) = @_; + my $reg = ( $a{Registry} ) ? $a{Registry} : $self->default_MOBY_servername; my $id = $a{'serviceID'}; - my $servicename = $a{'serviceName'}; $servicename ||=""; - my $authoritative = $a{'authoritative'}; $authoritative ||= 0; - my $serviceType = $a{'serviceType'}; $serviceType ||= ""; - my $authURI = $a{'authURI'}; $authURI ||=""; - my $category = $a{'category'}; $category ||= "moby" ; - my $exObj = $a{'expandObjects'}; $exObj ||=0; - my $exServ = $a{'expandServices'}; $exServ ||= 0; - my $kw = $a{'keywords'}; $kw ||=[]; - ref($kw) =~ /array/i || return (undef, $self->errorRegXML("invalid structure of keywords. Expected arrayref")); - my @kw = @{$kw}; - + my $servicename = $a{'serviceName'}; + $servicename ||= ""; + my $authoritative = $a{'authoritative'}; + $authoritative ||= 0; + my $serviceType = $a{'serviceType'}; + $serviceType ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + my $category = $a{'category'}; + $category ||= "moby"; + my $exObj = $a{'expandObjects'}; + $exObj ||= 0; + my $exServ = $a{'expandServices'}; + $exServ ||= 0; + my $kw = $a{'keywords'}; + $kw ||= []; + ref( $kw ) =~ /array/i || return ( + undef, + $self->errorRegXML( + "invalid structure of keywords. Expected arrayref" + ) + ); + my @kw = @{$kw}; my $message = "\n"; - - defined($authoritative) && ($message .="$authoritative\n"); - $category && ($message .="$category\n"); - $serviceType && ($message .="$serviceType\n"); - $servicename && ($message .="$servicename\n"); - $authURI && ($message .="$authURI\n"); - defined($exObj) && ($message .="$exObj \n"); - defined($exServ) && ($message .="$exServ\n"); - if (scalar(@kw)){ - $message .=" \n"; - foreach my $kwd(@kw){ - $message .="$kwd\n"; + defined( $authoritative ) + && ( $message .= "$authoritative\n" ); + $category && ( $message .= "$category\n" ); + $serviceType && ( $message .= "$serviceType\n" ); + $servicename && ( $message .= "$servicename\n" ); + $authURI && ( $message .= "$authURI\n" ); + defined( $exObj ) + && ( $message .= "$exObj \n" ); + defined( $exServ ) + && ( $message .= "$exServ\n" ); + + if ( scalar( @kw ) ) { + $message .= " \n"; + foreach my $kwd ( @kw ) { + $message .= "$kwd\n"; } - $message .="\n"; - } + $message .= "\n"; + } + #$a{input} = [[]] unless (defined $a{input}); #$a{output} = [[]] unless (defined $a{output}); - if (defined $a{input} && !(ref($a{input}) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of input objects, expected arrayref for input"))} - if (defined $a{output} && !(ref($a{output}) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of output objects, expected arrayref for output"))} + if ( defined $a{input} && !( ref( $a{input} ) =~ /array/i ) ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of input objects, expected arrayref for input" + ) + ); + } + if ( defined $a{output} && !( ref( $a{output} ) =~ /array/i ) ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of output objects, expected arrayref for output" + ) + ); + } my %funkyhash; - - $funkyhash{Input} = $a{input} if (defined $a{input}) ; - $funkyhash{Output} = $a{output} if (defined $a{output}) ; - #input =>[ - # [objType1 => [ns1, ns2...]], # Simple - # [[objType2 => [ns3, ns4...]]], # collection of one object type - # [[objType3 => [ns3, ns4...]], - # [objType4 => [ns5, ns6...]]], # collection of multiple object types - # ] - while (my ($inout, $param) = each %funkyhash){ + $funkyhash{Input} = $a{input} if ( defined $a{input} ); + $funkyhash{Output} = $a{output} if ( defined $a{output} ); + + #input =>[ + # [objType1 => [ns1, ns2...]], # Simple + # [[objType2 => [ns3, ns4...]]], # collection of one object type + # [[objType3 => [ns3, ns4...]], + # [objType4 => [ns5, ns6...]]], # collection of multiple object types + # ] + while ( my ( $inout, $param ) = each %funkyhash ) { die "no inout parameter from teh funkyhash" unless defined $inout; die "no param parameter from teh funkyhash" unless defined $param; - die "param parameter should be a listref" unless (ref($param) =~ /ARRAY/); - - my $inout_lc = lc ($inout); - my @PARAM = @{$param}; + die "param parameter should be a listref" + unless ( ref( $param ) =~ /ARRAY/ ); + my $inout_lc = lc( $inout ); + my @PARAM = @{$param}; $message .= "<${inout_lc}Objects><${inout}>\n"; - foreach my $param(@PARAM){ - unless (ref($param) =~ /array/i){return (undef, $self->errorRegXML("invalid structure of $inout objects, expected arrayref of class and \@namespaces"))} - my ($class, $namespaces) = @{$param}; + foreach my $param ( @PARAM ) { + unless ( ref( $param ) =~ /array/i ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of $inout objects, expected arrayref of class and \@namespaces" + ) + ); + } + my ( $class, $namespaces ) = @{$param}; die "no class part of param " unless defined $class; + #warn "no namespace part of the param" unless defined $namespaces; my @objectdefs; - if ((ref $class) =~ /array/i){ # collection - $message .="\n"; - @objectdefs = $class; - } else { # Nipple - @objectdefs = ($param); + if ( ( ref $class ) =~ /array/i ) { # collection + $message .= "\n"; + @objectdefs = $class; + } else { # Nipple + @objectdefs = ( $param ); } - - foreach my $objectdef(@objectdefs){ - $message .="\n"; - my ($type, $Namespaces) = @{$objectdef}; + foreach my $objectdef ( @objectdefs ) { + $message .= "\n"; + my ( $type, $Namespaces ) = @{$objectdef}; die "type is missing from objectdef " unless $type; - $message .="$type\n"; - if (defined($Namespaces) && !(ref($Namespaces) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of $inout namespaces for object $type; expected arrayref"))} - foreach my $ns(@{$Namespaces}){ + $message .= "$type\n"; + if ( defined( $Namespaces ) + && !( ref( $Namespaces ) =~ /array/i ) ) + { + return ( + undef, + $self->errorRegXML( +"invalid structure of $inout namespaces for object $type; expected arrayref" + ) + ); + } + foreach my $ns ( @{$Namespaces} ) { next unless $ns; - $message .="$ns\n"; + $message .= "$ns\n"; } - $message .="\n"; + $message .= "\n"; } - if ((ref($class)) =~ /array/i){ - $message .="\n"; + if ( ( ref( $class ) ) =~ /array/i ) { + $message .= "\n"; } } $message .= "\n"; } $message .= "\n"; - -# my $return = $self->SOAP_connection($reg)->call('findService' => ($message))->paramsall; - my ($return) = $self->_call($reg, 'findService', $message); - return ($self->_parseServices($reg, $return), undef); +# my $return = $self->SOAP_connection($reg)->call('findService' => ($message))->paramsall; + my ( $return ) = $self->_call( $reg, 'findService', $message ); + return ( $self->_parseServices( $reg, $return ), undef ); } - =head2 retrieveService Title : retrieveService @@ -1048,48 +1175,37 @@ =cut - sub retrieveService { - - my ($self, $SI)=@_; - return undef unless $SI && $SI->isa('MOBY::Client::ServiceInstance'); - + my ( $self, $SI ) = @_; + return undef unless $SI && $SI->isa( 'MOBY::Client::ServiceInstance' ); my $auth = $SI->authority; my $name = $SI->name; - my $reg = $SI->registry; - - return undef unless ($auth && $name && $self->Connection($reg)); - + my $reg = $SI->registry; + return undef unless ( $auth && $name && $self->Connection( $reg ) ); my $message = " - ".($SI->XML)." + " . ( $SI->XML ) . " "; - # my $return = $self->SOAP_connection($reg)->call(retrieveService => ($message))->paramsall; - my ($return) = $self->_call($reg, 'retrieveService', $message); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - - my $de = $doc->getDocumentElement; - my @child = $de->getChildNodes; - my $content; - foreach (@child){ - $debug && &_LOG($_->getNodeTypeName, "\t", $_->toString,"\n"); - if ($_->getNodeType == TEXT_NODE) { - $content .= $_->getNodeValue; + my ( $return ) = $self->_call( $reg, 'retrieveService', $message ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $de = $doc->getDocumentElement; + my @child = $de->childNodes; + my $content; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + if ( $_->nodeType == TEXT_NODE ) { + $content .= $_->nodeValue; #else try $_->textContent } else { - $content .= $_->toString; + $content .= $_->toString; } - } - - $content =~ s/^\n//gs; - return $content; - + } + $content =~ s/^\n//gs; + return $content; } - =head2 retrieveServiceNames Title : retrieveServiceNames @@ -1102,32 +1218,30 @@ =cut - sub retrieveServiceNames { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; - - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); # my $return = $self->SOAP_connection($reg)->call('retrieveServiceNames' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceNames', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $names_list = $root->getChildNodes; - my %servicenames; - for (my $x = 0; $x < $names_list->getLength; $x++){ - next unless $names_list->item($x)->getNodeType == ELEMENT_NODE; - my $name = $names_list->item($x)->getAttributeNode('name')->getValue; - my $auth = $names_list->item($x)->getAttributeNode('authURI')->getValue; - push @{$servicenames{$auth}}, $name; - } - return \%servicenames; + my ( $return ) = $self->_call( $reg, 'retrieveServiceNames', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $names_list = $root->childNodes; + my %servicenames; + for ( my $x = 1 ; $x <= $names_list->size() ; $x++ ) { + next unless $names_list->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $names_list->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $auth = + $names_list->get_node( $x )->getAttributeNode( 'authURI' )->getValue; + push @{ $servicenames{$auth} }, $name; + } + return \%servicenames; } - =head2 retrieveServiceProviders Title : retrieveServiceProviders @@ -1138,26 +1252,26 @@ =cut - -sub retrieveServiceProviders{ - my ($self) = shift; +sub retrieveServiceProviders { + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveServiceProviders' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceProviders', ""); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $providers = $root->getChildNodes; - my @serviceproviders; - for (my $x = 0; $x < $providers->getLength; $x++){ - next unless $providers->item($x)->getNodeType == ELEMENT_NODE; - push @serviceproviders, $providers->item($x)->getAttributeNode('name')->getValue; - } - return @serviceproviders; -} + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); +# my $return = $self->SOAP_connection($reg)->call('retrieveServiceProviders' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveServiceProviders', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $providers = $root->childNodes; + my @serviceproviders; + for ( my $x = 1 ; $x <= $providers->size() ; $x++ ) { + next unless $providers->get_node( $x )->nodeType == ELEMENT_NODE; + push @serviceproviders, + $providers->get_node( $x )->getAttributeNode( 'name' )->getValue; + } + return @serviceproviders; +} =head2 retrieveServiceTypes @@ -1170,35 +1284,33 @@ =cut - sub retrieveServiceTypes { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveServiceTypes' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceTypes', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $types = $root->getChildNodes; - my %servicetypes; - for (my $x = 0; $x < $types->getLength; $x++){ - next unless $types->item($x)->getNodeType == ELEMENT_NODE; - my $type = $types->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($types->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild->toString; - } - $servicetypes{$type} = $desc; - } - return \%servicetypes; - + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); +# my $return = $self->SOAP_connection($reg)->call('retrieveServiceTypes' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveServiceTypes', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $types = $root->childNodes; + my %servicetypes; + for ( my $x = 1 ; $x <= $types->size() ; $x++ ) { + next unless $types->get_node( $x )->nodeType == ELEMENT_NODE; + my $type = $types->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $types->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild->toString; + } + $servicetypes{$type} = $desc; + } + return \%servicetypes; } - =head2 retrieveObjectNames Title : retrieveObjectNames @@ -1210,35 +1322,34 @@ =cut - sub retrieveObjectNames { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); - #my $return = $self->SOAP_connection($reg)->call('retrieveObjectNames' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveObjectNames', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $obnames = $root->getChildNodes; - my %objectnames; - for (my $x = 0; $x < $obnames->getLength; $x++){ - next unless $obnames->item($x)->getNodeType == ELEMENT_NODE; - my $name = $obnames->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($obnames->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild->toString; - } - $objectnames{$name} = $desc; - } - return \%objectnames; - +#my $return = $self->SOAP_connection($reg)->call('retrieveObjectNames' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveObjectNames', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $obnames = $root->childNodes; + my %objectnames; + for ( my $x = 1 ; $x <= $obnames->size() ; $x++ ) { + next unless $obnames->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $obnames->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $obnames->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild->toString; + } + $objectnames{$name} = $desc; + } + return \%objectnames; } - =head2 retrieveNamespaces Title : retrieveNamespaces @@ -1250,34 +1361,34 @@ =cut - sub retrieveNamespaces { - my ($self)= shift; + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); -# my $return = $self->SOAP_connection($reg)->call('retrieveNamespaces' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveNamespaces', ""); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $namesp = $root->getChildNodes; - my %namespaces; - for (my $x = 0; $x < $namesp->getLength; $x++){ - next unless $namesp->item($x)->getNodeType == ELEMENT_NODE; - my $ns = $namesp->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($namesp->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild; - $desc = $desc?$desc->toString:""; - } - $namespaces{$ns} = $desc; - } - return \%namespaces; +# my $return = $self->SOAP_connection($reg)->call('retrieveNamespaces' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveNamespaces', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $namesp = $root->childNodes; + my %namespaces; + for ( my $x = 1 ; $x <= $namesp->size() ; $x++ ) { + next unless $namesp->get_node( $x )->nodeType == ELEMENT_NODE; + my $ns = $namesp->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $namesp->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild; + $desc = $desc ? $desc->toString : ""; + } + $namespaces{$ns} = $desc; + } + return \%namespaces; } - =head2 retrieveObject NOT YET IMPLEMENTED @@ -1291,38 +1402,39 @@ =cut - sub retrieveObject { - my ($self)= shift; - my ($reg) = shift; - my $type = shift; - my $message = " + my ( $self ) = shift; + my ( $reg ) = shift; + my $type = shift; + my $message = " $type "; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveObject' => ($message))->paramsall; - my ($return) = $self->_call($reg, 'retrieveObject', $message); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $objects = $root->getChildNodes; - my %objects; - for (my $x = 0; $x < $objects->getLength; $x++){ - next unless $objects->item($x)->getNodeType == ELEMENT_NODE; - my $name = $objects->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($objects->item($x)->getElementsByTagName('Schema')){ - $desc = $elem->getFirstChild->getNodeValue; - } - $objects{$name} = $desc; - } - return \%objects; +# my $return = $self->SOAP_connection($reg)->call('retrieveObject' => ($message))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveObject', $message ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $objects = $root->childNodes; + my %objects; + for ( my $x = 1 ; $x <= $objects->size() ; $x++ ) { + next unless $objects->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $objects->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $objects->get_node( $x )->getElementsByTagName( 'Schema' ) ) + { + $desc = $elem->firstChild->nodeValue; + } + $objects{$name} = $desc; + } + return \%objects; } - =head2 Relationships Title : Relationships @@ -1338,77 +1450,86 @@ =cut - sub Relationships { - my ($self, %args) = @_; - my $object = $args{'objectType'}; + my ( $self, %args ) = @_; + my $object = $args{'objectType'}; my $service = $args{'serviceType'}; - my $expand = $args{'expandRelationships'}; - $expand = $args{'expandRelationship'} unless defined($expand); # be forgiving of typos - + my $expand = $args{'expandRelationships'}; + $expand = $args{'expandRelationship'} + unless defined( $expand ); # be forgiving of typos my @relationships; - @relationships = @{$args{'Relationships'}} if ($args{'Relationships'} && (ref($args{'Relationships'}) =~ /array/i)); + @relationships = @{ $args{'Relationships'} } + if ( $args{'Relationships'} + && ( ref( $args{'Relationships'} ) =~ /array/i ) ); my $reg = $args{'Registry'}; - my $m; my $payload; - return {} unless ($object || $service); - if ($object){ + my $m; + my $payload; + return {} unless ( $object || $service ); + + if ( $object ) { $m = " $object\n"; - foreach (@relationships){ + foreach ( @relationships ) { $m .= "$_\n"; } $m .= "1\n" if $expand; - $m .= ""; - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); - #$payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - ($payload) = $self->_call($reg, 'Relationships', $m); - } elsif ($service){ + $m .= ""; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + +#$payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; + ( $payload ) = $self->_call( $reg, 'Relationships', $m ); + } elsif ( $service ) { $m = " $service\n"; - foreach (@relationships){ + foreach ( @relationships ) { $m .= "$_\n"; } $m .= "1\n" if $expand; - $m .= ""; - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $m .= ""; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + # $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - ($payload) = $self->_call($reg, 'Relationships', $m); + ( $payload ) = $self->_call( $reg, 'Relationships', $m ); } - return &_relationshipsPayload($payload); + return &_relationshipsPayload( $payload ); } - - -sub _relationshipsPayload{ - my ($payload) = @_; +sub _relationshipsPayload { + my ( $payload ) = @_; return undef unless $payload; - my %att_value; my %relationships; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, $_->toString; + my %att_value; + my %relationships; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, $_->toString; } } } return \%relationships; } - - =head2 ISA Title : ISA @@ -1421,35 +1542,40 @@ =cut - sub ISA { - my ($self, $class1, $class2) = @_; - return 1 if (($class1 eq $class2) || ("moby:$class1" eq $class2) || ($class1 eq "moby:$class2")); - my $lsid1 = $self->ObjLSID($class1); - my $lsid2 = $self->ObjLSID($class2); + my ( $self, $class1, $class2 ) = @_; + return 1 + if ( ( $class1 eq $class2 ) + || ( "moby:$class1" eq $class2 ) + || ( $class1 eq "moby:$class2" ) ); + my $lsid1 = $self->ObjLSID( $class1 ); + my $lsid2 = $self->ObjLSID( $class2 ); return 0 unless $lsid1 && $lsid2; my @lsids; - unless (@lsids = $self->ISA_CACHE($lsid1)){ - my $resp = $self->Relationships(objectType => $lsid1, expandRelationship => 1, Relationships => ['ISA']); + unless ( @lsids = $self->ISA_CACHE( $lsid1 ) ) { + my $resp = $self->Relationships( + objectType => $lsid1, + expandRelationship => 1, + Relationships => ['ISA'] + ); my $lsids = $resp->{'urn:lsid:biomoby.org:objectrelation:isa'}; @lsids = @$lsids; - $self->ISA_CACHE($lsid1, [@lsids]); - $self->ISA_CACHE($class1, [@lsids]); + $self->ISA_CACHE( $lsid1, [@lsids] ); + $self->ISA_CACHE( $class1, [@lsids] ); my @hold = @lsids; - while (shift @hold){ - $self->ISA_CACHE($_, [@hold]); - if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ - $self->ISA_CACHE($1, [@lsids]); - } + while ( shift @hold ) { + $self->ISA_CACHE( $_, [@hold] ); + if ( $_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/ ) { + $self->ISA_CACHE( $1, [@lsids] ); + } } } - foreach (@lsids){ + foreach ( @lsids ) { return 1 if $_ eq $lsid2; } return 0; } - =head2 DUMP @@ -1462,100 +1588,113 @@ =cut - sub DUMP { - my ($self)= shift; - my ($reg) = shift; - my $type = shift; - - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# return $self->SOAP_connection($reg)->call('DUMP')->paramsall; - my ($SQLs) = $self->_call($reg, 'DUMP_MySQL', ""); - my ($mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship) = @{$SQLs}; - return ($mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship); + my ( $self ) = shift; + my ( $reg ) = shift; + my $type = shift; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + + # return $self->SOAP_connection($reg)->call('DUMP')->paramsall; + my ( $SQLs ) = $self->_call( $reg, 'DUMP_MySQL', "" ); + my ( + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ) + = @{$SQLs}; + return ( + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ); } - -*DUMP_MySQL =\&DUMP; -*DUMP_MySQL =\&DUMP; +*DUMP_MySQL = \&DUMP; +*DUMP_MySQL = \&DUMP; sub _parseServices { - my ($self, $Registry, $XML) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($XML); - my $Object = $doc->getDocumentElement(); - my $Services = $Object->getElementsByTagName("Service"); - my $num = $Services->getLength; - my @Services; - for (my $x = 0; $x < $num; $x++){ - my $Service = $Services->item($x); - my $AuthURI = $Service->getAttributeNode('authURI')->getValue; - my $servicename = $Service->getAttributeNode('serviceName')->getValue; - my $Type = &_nodeTextContent($Service, 'serviceType'); - my $authoritative = &_nodeTextContent($Service, 'authoritative'); - my $contactEmail = &_nodeTextContent($Service, 'contactEmail'); - my $URL = &_nodeTextContent($Service, 'URL'); - #my $Output = &_nodeTextContent($Service, 'outputObject'); - my $Description = &_nodeTextContent($Service, 'Description'); - my $cat = &_nodeTextContent($Service, 'Category'); - + my ( $self, $Registry, $XML ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $XML ); + my $Object = $doc->getDocumentElement(); + my $Services = $Object->getElementsByTagName( "Service" ); + my $num = $Services->size(); + my @Services; + for ( my $x = 1 ; $x <= $num ; $x++ ) { + my $Service = $Services->get_node( $x ); + my $AuthURI = $Service->getAttributeNode( 'authURI' )->getValue; + my $servicename = $Service->getAttributeNode( 'serviceName' )->getValue; + my $Type = &_nodeTextContent( $Service, 'serviceType' ); + my $authoritative = &_nodeTextContent( $Service, 'authoritative' ); + my $contactEmail = &_nodeTextContent( $Service, 'contactEmail' ); + my $URL = &_nodeTextContent( $Service, 'URL' ); + + #my $Output = &_nodeTextContent($Service, 'outputObject'); + my $Description = &_nodeTextContent( $Service, 'Description' ); + my $cat = &_nodeTextContent( $Service, 'Category' ); my @INPUTS; my @OUTPUTS; - - foreach my $inout("Input", "Output"){ - my $xPuts = $Service->getElementsByTagName($inout); # there should only be one, but... who knows what - for my $in(0..$xPuts->getLength-1){ - my $current = $xPuts->item($in); - - foreach my $child($current->getChildNodes){ # child nodes will be either "Simple" or "Complex" tagnames - next unless $child->getNodeType == ELEMENT_NODE; + foreach my $inout ( "Input", "Output" ) { + my $xPuts = + $Service->getElementsByTagName( $inout ) + ; # there should only be one, but... who knows what + for my $in ( 1 .. $xPuts->size() ) { + my $current = $xPuts->get_node( $in ); + foreach my $child ( $current->childNodes ) + { # child nodes will be either "Simple" or "Complex" tagnames + next unless $child->nodeType == ELEMENT_NODE; my $THIS; - if ($child->getTagName eq "Simple"){ - $THIS = MOBY::Client::SimpleArticle->new(XML_DOM => $child); - } elsif ($child->getTagName eq "Collection"){ - $THIS = MOBY::Client::CollectionArticle->new(XML_DOM => $child); + if ( $child->nodeName eq "Simple" ) { + $THIS = + MOBY::Client::SimpleArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName eq "Collection" ) { + $THIS = + MOBY::Client::CollectionArticle->new( + XML_DOM => $child ); } else { - next + next; } - if ($inout eq "Input"){ + if ( $inout eq "Input" ) { push @INPUTS, $THIS; } else { push @OUTPUTS, $THIS; } } } - } - my @SECONDARIES; - my $secs = $Service->getElementsByTagName("secondaryArticles"); # there should only be one, but... who knows what - for my $in(0..$secs->getLength-1){ - my $current = $secs->item($in); - - foreach my $param($current->getChildNodes){ # child nodes will be "Parameter" tag names - next unless $param->getNodeType == ELEMENT_NODE && $param->getTagName eq "Parameter"; - my $THIS; - $THIS = MOBY::Client::SecondaryArticle->new(XML_DOM => $param); - push @SECONDARIES, $THIS; - } - } - - my $Instance = MOBY::Client::ServiceInstance->new( - authority => $AuthURI, - authoritative => $authoritative, - URL => $URL, - contactEmail => $contactEmail, - name => $servicename, - type => $Type, - category => $cat, - input => \@INPUTS, - output => \@OUTPUTS, - secondary => \@SECONDARIES, - description => $Description, - registry => $Registry, - XML => $Service->toString, - ); - push @Services, $Instance; - } - return \@Services; + } + my @SECONDARIES; + my $secs = + $Service->getElementsByTagName( "secondaryArticles" ) + ; # there should only be one, but... who knows what + for my $in ( 1 .. $secs->size() ) { + my $current = $secs->get_node( $in ); + foreach my $param ( $current->childNodes ) + { # child nodes will be "Parameter" tag names + next + unless $param->nodeType == ELEMENT_NODE + && $param->nodeName eq "Parameter"; + my $THIS; + $THIS = + MOBY::Client::SecondaryArticle->new( XML_DOM => $param ); + push @SECONDARIES, $THIS; + } + } + my $Instance = MOBY::Client::ServiceInstance->new( + authority => $AuthURI, + authoritative => $authoritative, + URL => $URL, + contactEmail => $contactEmail, + name => $servicename, + type => $Type, + category => $cat, + input => \@INPUTS, + output => \@OUTPUTS, + secondary => \@SECONDARIES, + description => $Description, + registry => $Registry, + XML => $Service->toString, + ); + push @Services, $Instance; + } + return \@Services; } # my ($e, $m, $lsid) = $OS->objectExists(term => $_); @@ -1565,20 +1704,20 @@ =cut sub ObjLSID { - my ($self, $term) = @_; + my ( $self, $term ) = @_; return undef unless $term; my $lsid; - if ($lsid = $self->LSID_CACHE($term)){ + if ( $lsid = $self->LSID_CACHE( $term ) ) { return $lsid; } else { my $os = MOBY::Client::OntologyServer->new; - my ($s, $m, $tlsid) = $os->objectExists(term => $term); - if ($tlsid){ - $self->LSID_CACHE($term, $tlsid); # link both the term - $self->LSID_CACHE($tlsid, $tlsid); # and the lsid to itself - return $tlsid + my ( $s, $m, $tlsid ) = $os->objectExists( term => $term ); + if ( $tlsid ) { + $self->LSID_CACHE( $term, $tlsid ); # link both the term + $self->LSID_CACHE( $tlsid, $tlsid ); # and the lsid to itself + return $tlsid; } else { - return undef + return undef; } } } @@ -1594,20 +1733,18 @@ =cut - sub LSID_CACHE { - my ($self, $term, $lsid) = @_; - if ($term && $lsid){ + my ( $self, $term, $lsid ) = @_; + if ( $term && $lsid ) { $self->{LSID_CACHE}->{$term} = $lsid; - return $self->{LSID_CACHE}->{$term}; - } elsif ($term){ + return $self->{LSID_CACHE}->{$term}; + } elsif ( $term ) { return $self->{LSID_CACHE}->{$term}; } else { - return undef + return undef; } } - =head2 ISA_CACHE Title : ISA_CACHE @@ -1623,143 +1760,146 @@ =cut sub ISA_CACHE { - my ($self, $desiredterm, $isas) = @_; + my ( $self, $desiredterm, $isas ) = @_; my $term = $desiredterm; - return (undef) if $isas && !(ref($isas)=~/ARRAY/); - if ($term && $isas){ + return ( undef ) if $isas && !( ref( $isas ) =~ /ARRAY/ ); + if ( $term && $isas ) { $self->{ISA_CACHE}->{$desiredterm} = [@$isas]; - while (my $term = shift(@$isas)){ + while ( my $term = shift( @$isas ) ) { $self->{ISA_CACHE}->{$term} = [@$isas]; } - return @{$self->{ISA_CACHE}->{$desiredterm}}; - } elsif ($term && $self->{ISA_CACHE}->{$desiredterm}){ - return @{$self->{ISA_CACHE}->{$desiredterm}}; + return @{ $self->{ISA_CACHE}->{$desiredterm} }; + } elsif ( $term && $self->{ISA_CACHE}->{$desiredterm} ) { + return @{ $self->{ISA_CACHE}->{$desiredterm} }; } else { return (); } } - sub parseRegXML { - # - # $id - # $success - # - # - my ($self, $xml) = @_; - my $Parser = new XML::DOM::Parser; + + # + # $id + # $success + # + # + my ( $self, $xml ) = @_; + my $Parser = XML::LibXML->new(); + #print STDERR $xml; - my $doc = $Parser->parse($xml); + my $doc = $Parser->parse_string( $xml ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'MOBYRegistration'); - my $id = &_nodeTextContent($Object, 'id'); - my $success = &_nodeTextContent($Object, 'success'); - my $message = &_nodeTextContent($Object, 'message'); - my $RDF = &_nodeRawContent($Object, 'RDF'); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'MOBYRegistration' ); + my $id = &_nodeTextContent( $Object, 'id' ); + my $success = &_nodeTextContent( $Object, 'success' ); + my $message = &_nodeTextContent( $Object, 'message' ); + my $RDF = &_nodeRawContent( $Object, 'RDF' ); my $reg = MOBY::Client::Registration->new( - success => $success, - message => $message, - registration_id => $id, - RDF => $RDF, - id => $id); - return $reg; + success => $success, + message => $message, + registration_id => $id, + RDF => $RDF, + id => $id + ); + return $reg; } sub errorRegXML { - my ($self, $message) = @_; + my ( $self, $message ) = @_; my $reg = MOBY::Client::Registration->new( - success => 0, - message => $message, - registration_id => -1,); - return $reg; + success => 0, + message => $message, + registration_id => -1, + ); + return $reg; } sub _nodeTextContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - my $x = $DOM->getElementsByTagName($node); - unless ($x->item(0)){return}; - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - $content = $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + my $x = $DOM->getElementsByTagName( $node ); + unless ( $x->get_node( 1 ) ) { return } + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + $content = $_->toString; + } + return $content; } sub _nodeRawContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - my $x = $DOM->getElementsByTagName($node); - unless ($x->item(0)){return}; - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; -# next unless $_->getNodeType == TEXT_NODE; - $content .= $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + my $x = $DOM->getElementsByTagName( $node ); + unless ( $x->get_node( 1 ) ) { return } + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + # next unless $_->nodeType == TEXT_NODE; + $content .= $_->toString; + } + return $content; } - sub _nodeArrayContent { + # will get array content of all child $node from given $DOM # regardless of depth! - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeArrayContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my @result; - my $x = $DOM->getElementsByTagName($node); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @result, $_->toString; - } - } - return @result; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeArrayContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my @result; + my $x = $DOM->getElementsByTagName( $node ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @result, $_->toString; + } + } + return @result; } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} +sub DESTROY { } sub _LOG { return unless $debug; @@ -1768,5 +1908,4 @@ print LOG "\n---\n"; close LOG; } - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2004/07/27 22:56:32 1.9 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2004/11/18 17:41:16 1.10 @@ -1,12 +1,11 @@ package MOBY::Client::CollectionArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); use MOBY::Client::SimpleArticle; - =head1 NAME MOBY::Client::CollectionArticle - a small object describing the Collection articles from the findService Response message of MOBY Central or representing the collection part of a MOBY invocation or response block @@ -106,7 +105,6 @@ =cut - =head2 articleName Title : articleName @@ -138,8 +136,6 @@ =cut - - =head2 XML Title : XML @@ -150,7 +146,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -161,7 +156,6 @@ =cut - =head2 isSimple Title : isSimple @@ -175,7 +169,6 @@ =cut - =head2 isCollection Title : isCollection @@ -189,7 +182,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -200,150 +192,133 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - Simples => [[], 'read/write'], - isSimple => [0, 'read' ], - isSecondary => [0, 'read' ], - isCollection => [1, 'read' ], - XML => [undef, 'read/write'], - XML_DOM => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + Simples => [ [], 'read/write' ], + isSimple => [ 0, 'read' ], + isSecondary => [ 0, 'read' ], + isCollection => [ 1, 'read' ], + XML => [ undef, 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } - sub addSimple { - my ($self, $s) = @_; - return $self->{Simples} unless $s; - return 0 unless $s->isa("MOBY::Client::SimpleArticle"); - push @{$self->{Simples}}, $s; - return $self->{Simples}; - } + sub addSimple { + my ( $self, $s ) = @_; + return $self->{Simples} unless $s; + return 0 unless $s->isa( "MOBY::Client::SimpleArticle" ); + push @{ $self->{Simples} }, $s; + return $self->{Simples}; + } } - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } - - sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Collection")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Collection" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Collection")); - $self->XML($dom->toString); # set the string version of the DOM - $self->articleName(""); - $self->Simples([]); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName); - my $objects = $dom->getElementsByTagName("Simple"); - for my $n(0..$objects->getLength - 1){ - $self->addSimple(MOBY::Client::SimpleArticle->new(articleName=>$self->articleName, XML_DOM => $objects->item($n))); - } - return $self; + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Collection" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->articleName( "" ); + $self->Simples( [] ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ); + my $objects = $dom->getElementsByTagName( "Simple" ); + + for my $n ( 1 .. $objects->size ) { + $self->addSimple( + MOBY::Client::SimpleArticle->new( + articleName => $self->articleName, + XML_DOM => $objects->get_node( $n ) + ) + ); + } + return $self; } - - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm 2004/08/10 15:57:48 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm 2004/11/18 17:41:16 1.7 @@ -1,6 +1,5 @@ #$Id$ - =head1 NAME MOBY::Client::OntologyServer - A client interface to the Ontology @@ -8,7 +7,6 @@ =cut - =head1 SYNOPSIS use MOBY::Client::OntologyServer; @@ -72,200 +70,178 @@ =cut - - package MOBY::Client::OntologyServer; - use strict; use Carp; use vars qw($AUTOLOAD); use LWP::UserAgent; - my $debug = 0; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - host => ["http://mobycentral.cbr.nrc.ca/cgi-bin/OntologyServer.cgi", 'read/write'], - proxy => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + host => [ + "http://mobycentral.cbr.nrc.ca/cgi-bin/OntologyServer.cgi", + 'read/write' + ], + proxy => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - - return undef unless $self->host; - return $self; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return undef unless $self->host; + return $self; } =head2 objectExists =cut - -sub objectExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("objectExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub objectExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "objectExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } - =head2 serviceExists =cut - -sub serviceExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("serviceExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub serviceExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "serviceExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } =head2 namespaceExists =cut - -sub namespaceExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("namespaceExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub namespaceExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "namespaceExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } =head2 relationshipExists =cut - -sub relationshipsExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("relationshipExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub relationshipsExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "relationshipExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } -sub getUserAgent{ - my ($self, @args) = @_; - my $ua = LWP::UserAgent->new; - my $proxy = $ENV{MOBY_PROXY} if $ENV{MOBY_PROXY}; # first check the environment - $proxy = $self->proxy if $self->proxy; # but if the object was initialized with a proxy argument then use that instead - if($proxy){ - $ua->proxy('http', $proxy); - } - return $ua; +sub getUserAgent { + my ( $self, @args ) = @_; + my $ua = LWP::UserAgent->new; + my $proxy = $ENV{MOBY_PROXY} + if $ENV{MOBY_PROXY}; # first check the environment + $proxy = $self->proxy + if $self->proxy + ; # but if the object was initialized with a proxy argument then use that instead + if ( $proxy ) { + $ua->proxy( 'http', $proxy ); + } + return $ua; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm 2004/08/24 20:43:33 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm 2004/11/18 17:41:16 1.7 @@ -1,13 +1,11 @@ #$Id$ - =head1 NAME MOBY::Client::Registration - an object to wrap the registration XML from MOBY Central =cut - =head1 SYNOPSIS my $reg = $Central->registerService(%args); @@ -68,110 +66,90 @@ =cut - package MOBY::Client::Registration; - use strict; use Carp; use vars qw($AUTOLOAD); - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - success => [0, 'read/write'], - message => ["OK", 'read/write'], - registration_id => [undef, 'read/write'], - RDF => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + success => [ 0, 'read/write' ], + message => [ "OK", 'read/write' ], + registration_id => [ undef, 'read/write' ], + RDF => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub id { - my ($self, $val) =@_; - $self->registration_id($val) if defined $val; + my ( $self, $val ) = @_; + $self->registration_id( $val ) if defined $val; return $self->registration_id; } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return $self; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2004/08/17 17:48:10 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2004/11/18 17:41:16 1.5 @@ -1,11 +1,10 @@ package MOBY::Client::SecondaryArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SecondaryArticle - a small object describing the Simple articles from the findService Response message of MOBY Central @@ -45,7 +44,6 @@ =cut - =head2 articleName Title : articleName @@ -76,7 +74,6 @@ =cut - =head2 XML Title : XML @@ -87,7 +84,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -98,7 +94,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -135,243 +130,213 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - XML_DOM => [undef, 'read/write'], - XML => [undef, 'read/write'], - isSecondary => [1, 'read' ], - isSimple => [0, 'read' ], - isCollection => [0, 'read' ], - datatype => [undef, 'read/write' ], - default => [undef, 'read/write' ], - max => [undef, 'read/write' ], - min => [undef, 'read/write' ], - enum => [undef, 'read/write' ], - value => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addEnum { - my ($self, $enum) = @_; - $self->{enum} = [] unless $self->{enum}; - return $self->{enum} unless defined($enum); - push @{$self->{enum}}, $enum; - return $self->{enum}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + XML => [ undef, 'read/write' ], + isSecondary => [ 1, 'read' ], + isSimple => [ 0, 'read' ], + isCollection => [ 0, 'read' ], + datatype => [ undef, 'read/write' ], + default => [ undef, 'read/write' ], + max => [ undef, 'read/write' ], + min => [ undef, 'read/write' ], + enum => [ undef, 'read/write' ], + value => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + sub addEnum { + my ( $self, $enum ) = @_; + $self->{enum} = [] unless $self->{enum}; + return $self->{enum} unless defined( $enum ); + push @{ $self->{enum} }, $enum; + return $self->{enum}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - $self->{enum} = [] unless $self->enum; - - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->{enum} = [] unless $self->enum; + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Parameter")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Parameter" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Parameter")); - $self->XML($dom->toString); # set the string version of the DOM - - $self->namespaces([]); # reset! - $self->articleName(""); - $self->objectType(""); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName); - - if (@{$dom->getElementsByTagName('Value')}[0]){ - return $self->_createInstantiatedArticle($dom) - } else { - return $self->_createTemplateArticle($dom) - } + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Parameter" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->namespaces( [] ); # reset! + $self->articleName( "" ); + $self->objectType( "" ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ); + + if ( @{ $dom->getElementsByTagName( 'Value' ) }[0] ) { + return $self->_createInstantiatedArticle( $dom ); + } else { + return $self->_createTemplateArticle( $dom ); + } } sub _createTemplateArticle { - my ($self, $dom) = @_; - #datatype => [undef, 'read/write' ], - #default => [undef, 'read/write' ], - #max => [undef, 'read/write' ], - #min => [undef, 'read/write' ], - #enum => [[], 'read/write' ], - - my $objects = $dom->getElementsByTagName("datatype"); - if ($objects->item(0)){ - my $data; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $data .= $child->toString; - $data =~ s/\s//g; - } - $self->datatype($data); - } - - $objects = $dom->getElementsByTagName("default"); - if ($objects->item(0)){ - my $def; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $def .= $child->toString; - $def =~ s/\s//g; - } - $self->default($def); - } - - $objects = $dom->getElementsByTagName("max"); - if ($objects->item(0)){ - my $max; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $max .= $child->toString; - $max =~ s/\s//g; - } - $self->max($max); - } - - $objects = $dom->getElementsByTagName("min"); - if ($objects->item(0)){ - my $min; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $min .= $child->toString; - $min =~ s/\s//g; - } - $self->min($min); - } - - $objects = $dom->getElementsByTagName("enum"); - if ($objects->item(0)){ - foreach (0..$objects->getLength-1){ - foreach my $child($objects->item($_)->getChildNodes){ - my $val; - next unless $child->getNodeType == TEXT_NODE; - $val = $child->toString; - next unless defined($val); - $val =~ s/^\s//; $val =~ s/\s$//; - $self->addEnum($val); - } - } - } - - return $self; - -} + my ( $self, $dom ) = @_; -sub _createInstantiatedArticle { - my ($self, $dom) = @_; -#43764 - my $values = $dom->getElementsByTagName('Value'); - foreach my $child($values->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $self->value($self->value . $child->toString); - } - + #datatype => [undef, 'read/write' ], + #default => [undef, 'read/write' ], + #max => [undef, 'read/write' ], + #min => [undef, 'read/write' ], + #enum => [[], 'read/write' ], + my $objects = $dom->getElementsByTagName( "datatype" ); + if ( $objects->get_node( 1 ) ) { + my $data; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $data .= $child->toString; + $data =~ s/\s//g; + } + $self->datatype( $data ); + } + $objects = $dom->getElementsByTagName( "default" ); + if ( $objects->get_node( 1 ) ) { + my $def; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $def .= $child->toString; + $def =~ s/\s//g; + } + $self->default( $def ); + } + $objects = $dom->getElementsByTagName( "max" ); + if ( $objects->get_node( 1 ) ) { + my $max; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $max .= $child->toString; + $max =~ s/\s//g; + } + $self->max( $max ); + } + $objects = $dom->getElementsByTagName( "min" ); + if ( $objects->get_node( 1 ) ) { + my $min; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $min .= $child->toString; + $min =~ s/\s//g; + } + $self->min( $min ); + } + $objects = $dom->getElementsByTagName( "enum" ); + if ( $objects->get_node( 1 ) ) { + foreach ( 1 .. $objects->size() ) { + foreach my $child ( $objects->get_node( $_ )->childNodes ) { + my $val; + next unless $child->nodeType == TEXT_NODE; + $val = $child->toString; + next unless defined( $val ); + $val =~ s/^\s//; + $val =~ s/\s$//; + $self->addEnum( $val ); + } + } + } + return $self; } +sub _createInstantiatedArticle { + my ( $self, $dom ) = @_; - - + #43764 + my $values = $dom->getElementsByTagName( 'Value' ); + foreach my $child ( $values->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $self->value( $self->value . $child->toString ); + } +} sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/08/10 15:57:48 1.12 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/11/18 17:41:16 1.13 @@ -40,90 +40,77 @@ =cut - package MOBY::Client::Service; use SOAP::Lite; + #use SOAP::Lite + 'trace'; use strict; use Carp; use Cwd; use URI::Escape; - use vars qw($AUTOLOAD @ISA); - my $debug = 0; - -if ($debug){open (OUT, ">/tmp/ServiceCallLogOut.txt") || die "cant open logfile\n";close OUT;} - +if ( $debug ) { + open( OUT, ">/tmp/ServiceCallLogOut.txt" ) || die "cant open logfile\n"; + close OUT; +} sub BEGIN { - - } - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service => [undef, 'read/write'], - uri => [undef, 'read/write'], - ServiceName => [undef, 'read/write'], - _soapService => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service => [ undef, 'read/write' ], + uri => [ undef, 'read/write' ], + ServiceName => [ undef, 'read/write' ], + _soapService => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } my $queryID = 0; + sub _nextQueryID { - return ++$queryID + return ++$queryID; } - } - - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } #my $dir = cwd; - # seems to be a bug in SOAP::Lite that the WSDL document # fails a parse if it is passed as a scalar rather than a file # this section can be removed when this bug is fixed @@ -131,20 +118,16 @@ #print OUT $self->service; #close OUT; # ________________________________________ - - my $wsdl = URI::Escape::uri_escape($self->service); # this seems to fix the bug - return undef unless $wsdl; - my $soap = SOAP::Lite->service("data:,$wsdl"); - if ($self->uri){$soap->uri($self->uri)} - - $self->ServiceName(&getServiceName($soap)); - $self->_soapService($soap); - return $self; - + my $wsdl = + URI::Escape::uri_escape( $self->service ); # this seems to fix the bug + return undef unless $wsdl; + my $soap = SOAP::Lite->service( "data:,$wsdl" ); + if ( $self->uri ) { $soap->uri( $self->uri ) } + $self->ServiceName( &getServiceName( $soap ) ); + $self->_soapService( $soap ); + return $self; } - - =head2 execute Title : execute @@ -196,36 +179,41 @@ =cut - sub execute { - my ($self, %args) = @_; - return "ERROR: expected listref for XMLinputlist" unless (ref($args{XMLinputlist}) =~ /array/i); - my @inputs = @{$args{XMLinputlist}}; - my $data; - foreach (@inputs){ - return "ERROR: expected listref [articleName, XML] for data element" unless (ref($_) =~ /array/i); + my ( $self, %args ) = @_; + return "ERROR: expected listref for XMLinputlist" + unless ( ref( $args{XMLinputlist} ) =~ /array/i ); + my @inputs = @{ $args{XMLinputlist} }; + my $data; + foreach ( @inputs ) { + return "ERROR: expected listref [articleName, XML] for data element" + unless ( ref( $_ ) =~ /array/i ); my $qID = $self->_nextQueryID; - $data .= ""; - while (my ($articleName, $XML) = splice (@{$_}, 0, 2)){ - if (!(ref($XML)=~/array/i)){ - $articleName ||=""; - $XML ||= ""; - if (($XML =~ /\/) || ($XML =~ /\/)){ - $data .= "$XML"; - } else { - $data .= "\n$XML\n\n"; - } - # need to do this for collections also!!!!!! - } elsif (ref($XML)=~/array/i){ - my @objs = @{$XML}; - $data .="\n"; - foreach (@objs){ - $data .= "$_\n"; - } - $data .="\n"; - } - } - $data .="\n"; + $data .= ""; + while ( my ( $articleName, $XML ) = splice( @{$_}, 0, 2 ) ) { + if ( !( ref( $XML ) =~ /array/i ) ) { + $articleName ||= ""; + $XML ||= ""; + if ( ( $XML =~ /\/ ) || ( $XML =~ /\/ ) ) + { + $data .= +"$XML"; + } else { + $data .= +"\n$XML\n\n"; + } + + # need to do this for collections also!!!!!! + } elsif ( ref( $XML ) =~ /array/i ) { + my @objs = @{$XML}; + $data .= "\n"; + foreach ( @objs ) { + $data .= "$_\n"; + } + $data .= "\n"; + } + } + $data .= "\n"; } $data = " @@ -234,13 +222,12 @@ ]]>"; my $METHOD = $self->ServiceName; - &_LOG(%args, $METHOD); + &_LOG( %args, $METHOD ); my $response; - eval {($response) = $self->_soapService->$METHOD($data)}; - return $@?"":$response; # the service execution failed then pass back "" + eval { ( $response ) = $self->_soapService->$METHOD( $data ) }; + return $@ ? "" : $response; # the service execution failed then pass back "" } - =head2 ServiceName Title : ServiceName @@ -251,58 +238,51 @@ =cut - sub getServiceName { - my ($service) = @_; + my ( $service ) = @_; no strict; - my($method) = @{join '::', ref $service, 'EXPORT_OK'}; + my ( $method ) = @{ join '::', ref $service, 'EXPORT_OK' }; return $method; - } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } sub SOAP::Transport::HTTP::Client::get_basic_credentials { - my ($username, $password); - print "ENTER USERNAME: "; $username=; chomp $username; - print "ENTER PASSWORD: "; $password=; chomp $password; - - return $username => $password; + my ( $username, $password ); + print "ENTER USERNAME: "; + $username = ; + chomp $username; + print "ENTER PASSWORD: "; + $password = ; + chomp $password; + return $username => $password; } - sub _LOG { return unless $debug; open LOG, ">>/tmp/ServiceCallLogOut.txt" or die "can't open logfile $!\n"; @@ -310,12 +290,11 @@ print LOG "\n---\n"; close LOG; } + # # # -------------------------------------------------------------------------------------------------------- # ## ## - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm 2004/08/18 23:06:03 1.12 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm 2004/11/18 17:41:16 1.13 @@ -1,10 +1,8 @@ package MOBY::Client::ServiceInstance; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::ServiceInstance - a small object describing a MOBY service @@ -67,7 +65,6 @@ =cut - =head2 authority Title : authority @@ -130,7 +127,6 @@ =cut - =head2 authoritative Title : authoritative @@ -141,7 +137,6 @@ =cut - =head2 URL Title : URL @@ -152,7 +147,6 @@ =cut - =head2 contactEmail Title : contactEmail @@ -163,7 +157,6 @@ =cut - =head2 registry Title : registry @@ -174,110 +167,96 @@ =cut { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - authority => [undef, 'read/write'], - name => [undef, 'read/write'], - type => [undef, 'read/write'], - input => [undef, 'read/write'], # listref of Simple and Collection articles - output => [undef, 'read/write'], # listref of Simple and Collection articles - secondary => [undef, 'read/write'], # listref of SecondaryArticles - category => [undef, 'read/write'], - description => [undef, 'read/write'], - registry => ['MOBY_Central', 'read/write'], - XML => [undef, 'read/write'], - authoritative => [undef, 'read/write'], - URL => [undef, 'read/write'], - contactEmail => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + authority => [ undef, 'read/write' ], + name => [ undef, 'read/write' ], + type => [ undef, 'read/write' ], + input => [ undef, 'read/write' ] + , # listref of Simple and Collection articles + output => [ undef, 'read/write' ] + , # listref of Simple and Collection articles + secondary => [ undef, 'read/write' ], # listref of SecondaryArticles + category => [ undef, 'read/write' ], + description => [ undef, 'read/write' ], + registry => [ 'MOBY_Central', 'read/write' ], + XML => [ undef, 'read/write' ], + authoritative => [ undef, 'read/write' ], + URL => [ undef, 'read/write' ], + contactEmail => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - $self->input([]) unless $self->input; - $self->output([]) unless $self->output; - $self->secondary([]) unless $self->secondary; - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->input( [] ) unless $self->input; + $self->output( [] ) unless $self->output; + $self->secondary( [] ) unless $self->secondary; + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2004/06/15 00:37:55 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2004/11/18 17:41:16 1.6 @@ -1,11 +1,10 @@ package MOBY::Client::SimpleArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SimpleArticle - a small object describing the Simple articles from the findService Response message of MOBY Central @@ -67,7 +66,6 @@ =cut - =head2 articleName Title : articleName @@ -98,7 +96,6 @@ =cut - =head2 XML Title : XML @@ -109,7 +106,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -120,7 +116,6 @@ =cut - =head2 addNamespace Title : addNamespace @@ -143,7 +138,6 @@ =cut - =head2 isCollection Title : isCollection @@ -157,7 +151,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -168,202 +161,185 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - id => [undef, 'read/write'], - XML_DOM => [undef, 'read/write'], - XML => [undef, 'read/write'], - isSecondary => [0, 'read' ], - isSimple => [1, 'read' ], - isCollection => [0, 'read' ], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addNamespace { - my ($self, $ns) = @_; - return $self->{namespaces} unless $ns; - push @{$self->{namespaces}}, $ns; - return $self->{namespaces}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + id => [ undef, 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + XML => [ undef, 'read/write' ], + isSecondary => [ 0, 'read' ], + isSimple => [ 1, 'read' ], + isCollection => [ 0, 'read' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + sub addNamespace { + my ( $self, $ns ) = @_; + return $self->{namespaces} unless $ns; + push @{ $self->{namespaces} }, $ns; + return $self->{namespaces}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Simple")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Simple" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Simple")); - $self->XML($dom->toString); # set the string version of the DOM - $self->namespaces([]); # reset! - $self->articleName(""); - $self->objectType(""); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName) if $articleName; # it may have already been set if this Simple is part of a Collection... - + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Simple" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->namespaces( [] ); # reset! + $self->articleName( "" ); + $self->objectType( "" ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ) + if $articleName + ; # it may have already been set if this Simple is part of a Collection... + # fork here - it may be an instantiated object (coming from a service invocation/response) # or it may be a template object as in the SimpleArticle element of a registration call - # if the objectType tag exists, then it is a template object - if (@{$dom->getElementsByTagName("objectType")}[0]){ - return $self->_createTemplateArticle($dom) - } - else { return $self->_createInstantiatedArticle($dom)} -# otherwise it should simpy contain an instantiated MOBY object - + if ( @{ $dom->getElementsByTagName( "objectType" ) }[0] ) { + return $self->_createTemplateArticle( $dom ); + } else { + return $self->_createInstantiatedArticle( $dom ); + } + # otherwise it should simpy contain an instantiated MOBY object } sub _createInstantiatedArticle { - my ($self, $dom) = @_; - - # this will take a node from a MOBY invocation message - # and extract the object-type and namespace from the - # contained data object - - foreach my $child($dom->getChildNodes){ # there should be only one child node, and that is the data object itself; ignore whitespace - next unless $child->getNodeType == ELEMENT_NODE; - $self->objectType($child->getTagName); - my $attr = $child->getAttributeNode('namespace'); - $self->addNamespace($attr->getValue) if $attr; - my $id = $child->getAttributeNode('id'); - $self->id($id->getValue) if $id; - } - return $self; + my ( $self, $dom ) = @_; + + # this will take a node from a MOBY invocation message + # and extract the object-type and namespace from the + # contained data object + foreach my $child ( $dom->childNodes ) + { # there should be only one child node, and that is the data object itself; ignore whitespace + next unless $child->nodeType == ELEMENT_NODE; + $self->objectType( $child->nodeName ); + my $attr = $child->getAttributeNode( 'namespace' ); + $self->addNamespace( $attr->getValue ) if $attr; + my $id = $child->getAttributeNode( 'id' ); + $self->id( $id->getValue ) if $id; + } + return $self; } sub _createTemplateArticle { - my ($self, $dom) = @_; - - # this will take a node from a MOBY findServiceResponse - # message and extract the objectType and namespace array - # from the service signature. - - my $objects = $dom->getElementsByTagName("objectType"); - foreach my $child($objects->item(0)->getChildNodes){ # there must be only one in a simple! so take element 0 - next unless $child->getNodeType == TEXT_NODE; - $self->objectType($child->toString); - } - - $objects = $dom->getElementsByTagName("Namespace"); - foreach (0..$objects->getLength-1){ - foreach my $child($objects->item($_)->getChildNodes){ # there must be only one in a simple! so take element 0 - next unless $child->getNodeType == TEXT_NODE; - next unless $child->toString; - $self->addNamespace($child->toString); - } - } - return $self; -} + my ( $self, $dom ) = @_; -sub value { - my ($self) = @_; - # ????? what to do here ???? - + # this will take a node from a MOBY findServiceResponse + # message and extract the objectType and namespace array + # from the service signature. + my $objects = $dom->getElementsByTagName( "objectType" ); + foreach my $child ( $objects->get_node( 1 )->getChildNodes ) + { # there must be only one in a simple! so take first element + next unless $child->nodeType == TEXT_NODE; + $self->objectType( $child->toString ); + } + $objects = $dom->getElementsByTagName( "Namespace" ); + foreach ( 1 .. $objects->size() ) { + foreach my $child ( $objects->get_node( $_ )->childNodes ) + { # there must be only one in a simple! so take element 0 + next unless $child->nodeType == TEXT_NODE; + next unless $child->toString; + $self->addNamespace( $child->toString ); + } + } + return $self; } -sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { +sub value { + my ( $self ) = @_; - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine + # ????? what to do here ???? +} +sub AUTOLOAD { + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm 2004/06/16 01:15:30 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm 2004/11/18 17:41:16 1.2 @@ -1,11 +1,8 @@ package MOBY::Client::SimpleInput; - use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SimpleInput - a small object describing a MOBY service @@ -34,7 +31,6 @@ namespaces => \@namesapces (optional) =cut - =head2 articleName Title : articleName @@ -62,7 +58,6 @@ =cut - =head2 addNamespace Title : addNamespace @@ -73,103 +68,88 @@ =cut { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addNamespace { - my ($self, $ns) = @_; - return $self->{namespaces} unless $ns; - push @{$self->{namespaces}}, $ns; - return $self->{namespaces}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub addNamespace { + my ( $self, $ns ) = @_; + return $self->{namespaces} unless $ns; + push @{ $self->{namespaces} }, $ns; + return $self->{namespaces}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; From gss at pub.open-bio.org Thu Nov 18 18:30:31 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu Dec 9 09:40:24 2004 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6qI016391@pub.open-bio.org> gss Thu Nov 18 18:33:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph Modified Files: MOBYFixedCollection.html MOBYPropertyValueStatement.html MOBYSingleElement.html package-summary.html MOBYObject.html MOBYResource.html MOBYPropertyValueConstraint.html MOBYCollection.html MOBYSubject.html MOBYResizableCollection.html MOBYUnorderedCollection.html MOBYPropertyValue.html MOBYLiteral.html MOBYGraph.html MOBYProvider.html MOBYDescriptor.html MOBYMappingElement.html MOBYPropertyValueException.html MOBYDocument.html MOBYProviderSet.html MOBYGraphNode.html package-frame.html MOBYOntology.html package-tree.html MOBYOrderedCollection.html MOBYEnumeration.html package-use.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph MOBYFixedCollection.html,1.1,1.2 MOBYPropertyValueStatement.html,1.1,1.2 MOBYSingleElement.html,1.1,1.2 package-summary.html,1.1,1.2 MOBYObject.html,1.1,1.2 MOBYResource.html,1.1,1.2 MOBYPropertyValueConstraint.html,1.1,1.2 MOBYCollection.html,1.1,1.2 MOBYSubject.html,1.1,1.2 MOBYResizableCollection.html,1.1,1.2 MOBYUnorderedCollection.html,1.1,1.2 MOBYPropertyValue.html,1.1,1.2 MOBYLiteral.html,1.1,1.2 MOBYGraph.html,1.1,1.2 MOBYProvider.html,1.1,1.2 MOBYDescriptor.html,1.1,1.2 MOBYMappingElement.html,1.1,1.2 MOBYPropertyValueException.html,1.1,1.2 MOBYDocument.html,1.1,1.2 MOBYProviderSet.html,1.1,1.2 MOBYGraphNode.html,1.1,1.2 package-frame.html,1.1,1.2 MOBYOntology.html,1.1,1.2 package-tree.html,1.1,1.2 MOBYOrderedCollection.html,1.1,1.2 MOBYEnumeration.html,1.1,1.2 package-use.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYFixedCollection - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
-Interface MOBYFixedCollection -
-
All Superinterfaces:
MOBYCollection, MOBYDescriptor, MOBYGraphNode
-
+Class MOBYFixedCollection +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYCollection
+              extended byorg.smoby.graph.MOBYFixedCollection
+

-
public interface MOBYFixedCollection
extends MOBYCollection
+
public class MOBYFixedCollection
extends MOBYCollection

-An interface representing unordered, fixed sized collection +A class representing unordered, fixed sized collection of objects.

@@ -109,34 +113,81 @@ + + + + + + + + +
+Constructor Summary
MOBYFixedCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
- + + + + + + + + + + + + + +
+Method Summary
+ booleanisFixedSized() + +
+          Return whether or not the collection is fixed in size
+ booleanisResizable() + +
+          Return whether or not the collection is resizable
- + - +
Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
  - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -147,9 +198,65 @@ + + + + + +
+Constructor Detail
+ +

+MOBYFixedCollection

+
+public MOBYFixedCollection(com.hp.hpl.jena.rdf.model.Resource resource,
+                           java.util.List elements,
+                           com.hp.hpl.jena.rdf.model.Model underlying)
+
+
+ + + + + +
+Method Detail
+ +

+isResizable

+
+public boolean isResizable()
+
+
Description copied from class: MOBYCollection
+
Return whether or not the collection is resizable +

+

+
Specified by:
isResizable in class MOBYCollection
+
+
+
+
+
+
+ +

+isFixedSized

+
+public boolean isFixedSized()
+
+
Description copied from class: MOBYCollection
+
Return whether or not the collection is fixed in size +

+

+
Specified by:
isFixedSized in class MOBYCollection
+
+
+
+
+

@@ -181,8 +288,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -201,9 +308,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValueStatement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,10 +84,15 @@ org.smoby.graph
-Interface MOBYPropertyValueStatement +Class MOBYPropertyValueStatement +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYPropertyValueStatement
+

-
public interface MOBYPropertyValueStatement
+
public class MOBYPropertyValueStatement
extends MOBYDescriptor


@@ -101,7 +106,21 @@ + + + + + + + + +
+Constructor Summary
MOBYPropertyValueStatement(com.hp.hpl.jena.rdf.model.Statement jenaStatement, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -120,7 +139,7 @@ - MOBYPropertyValue + MOBYPropertyValue getValue()
@@ -129,7 +148,7 @@  void -setConstraint(MOBYPropertyValueConstraint constraint) +setConstraint(MOBYPropertyValueConstraint constraint)
          Set the given constraint for this property value statement @@ -137,11 +156,37 @@  void -setPropertyValue(MOBYPropertyValue newValue) +setPropertyValue(MOBYPropertyValue newValue)
          Set the property value. + + + java.lang.String +toString() + +
+            + + +  + + + + + + + +
Methods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

@@ -151,6 +196,21 @@ + + + + + +
+Constructor Detail
+ +

+MOBYPropertyValueStatement

+
+public MOBYPropertyValueStatement(com.hp.hpl.jena.rdf.model.Statement jenaStatement,
+                                  com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -175,10 +235,21 @@
+

+toString

+
+public java.lang.String toString()
+
+
+
+
+
+
+

getValue

-public MOBYPropertyValue getValue()
+public MOBYPropertyValue getValue()
Return the value currently associated with this property

@@ -191,7 +262,7 @@

setPropertyValue

-public void setPropertyValue(MOBYPropertyValue newValue)
+public void setPropertyValue(MOBYPropertyValue newValue)
                       throws MOBYPropertyValueException
Set the property value. This is just a placeholder; values of @@ -209,7 +280,7 @@

setConstraint

-public void setConstraint(MOBYPropertyValueConstraint constraint)
+public void setConstraint(MOBYPropertyValueConstraint constraint)
Set the given constraint for this property value statement

@@ -248,8 +319,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -268,9 +339,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYSingleElement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,22 @@ org.smoby.graph
-Interface MOBYSingleElement +Class MOBYSingleElement +

+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYSingleElement
+
-
All Superinterfaces:
MOBYDescriptor, MOBYGraphNode
-
-
-
All Known Subinterfaces:
MOBYGraph, MOBYMappingElement, MOBYObject, MOBYSubject
-
-
-
All Known Implementing Classes:
MOBYMappingElementImpl, org.smoby.graph.impl.MOBYSingleElementImpl
+
Direct Known Subclasses:
MOBYGraph, MOBYMappingElement

-
public interface MOBYSingleElement
extends MOBYGraphNode
+
public abstract class MOBYSingleElement
extends MOBYGraphNode

-An interface to represent singular objects, i.e. those that are +A class to represent singular objects, i.e. those that are not collections.

@@ -115,25 +115,71 @@ + + + + + + + + +
+Constructor Summary
MOBYSingleElement(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
- + + + + + + + + + + + + + +
+Method Summary
+ booleanisCollection() + +
+          Return whether or not this object is a collection.
+ booleanisSingular() + +
+          Return whether or not this object is a singular element.
- + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -144,9 +190,64 @@ + + + + + +
+Constructor Detail
+ +

+MOBYSingleElement

+
+public MOBYSingleElement(com.hp.hpl.jena.rdf.model.Resource resource,
+                         com.hp.hpl.jena.rdf.model.Model underlying)
+
+
+ + + + + +
+Method Detail
+ +

+isSingular

+
+public boolean isSingular()
+
+
Description copied from class: MOBYGraphNode
+
Return whether or not this object is a singular element. +

+

+
Specified by:
isSingular in class MOBYGraphNode
+
+
+
+
+
+
+ +

+isCollection

+
+public boolean isCollection()
+
+
Description copied from class: MOBYGraphNode
+
Return whether or not this object is a collection. +

+

+
Specified by:
isCollection in class MOBYGraphNode
+
+
+
+
+

@@ -178,8 +279,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -198,9 +299,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph @@ -51,7 +51,7 @@  PREV PACKAGE  - NEXT PACKAGENEXT PACKAGE FRAMES    NO FRAMES   @@ -76,6 +76,13 @@

Package org.smoby.graph

+Contains classes for manipulating the Semantic MOBY canonical graph +structure, which is potentially embedded in a larger graph structure. +

+See: +
+          Description +

@@ -83,103 +90,136 @@ Interface Summary - - + + + +
MOBYCollectionA common interface for collections, both fixed sized and resizeable, of - elements in MOBY graphs.MOBYGraphVisitor 
+  + +

+ + + + + + + + - - + + + + + - - + - - + - - + - - + + - - + - + + + + + + + + + + + + + + + + + - + - + - - + - - + + - - + - + - + - - + - - + + - - + + - + - - + + - + - - +
+Class Summary
MOBYCollectionA common abstract class for collections, both fixed sized and resizeable, + of elements in MOBY graphs.
MOBYDescriptorThe Resource interface represents things that are available +MOBYDateConstraint 
MOBYDescriptorThe MOBYDescriptor class represents things that are available at a URI.
MOBYDocumentThis interface represents a document to be incorporated into +MOBYDocumentThis class represents a document to be incorporated into the S-MOBY metadata repository.
MOBYEnumerationAn interface representing a resizable collection of objects, in +MOBYEnumerationA class representing a resizable collection of objects, in which the order of the elements is not defined; the intention is for the elements to represent possible choices for a value.
MOBYFixedCollectionAn interface representing unordered, fixed sized collection +MOBYFixedCollectionA class representing unordered, fixed sized collection of objects.
MOBYGraphThis interface represents singular (i.e.MOBYGraphThis class represents singular (i.e.
MOBYGraphNodeAn interface for nodes in an RDF graph; these nodes are either +MOBYGraphNodeAn abstract class for nodes in an RDF graph; these nodes are either collections or singular elements.
MOBYLiteralMOBYIntegerConstraint 
MOBYLiteral 
MOBYMappingElement 
MOBYNonNegativeIntegerConstraint 
MOBYNonPositiveIntegerConstraint  
MOBYMappingElementMOBYNumericConstraint  
MOBYObjectMOBYObject An object that represents the object of a mapping.
MOBYOntologyThis interface represents a collection of RDF statements to be +MOBYOntologyThis class represents a collection of RDF statements to be incorporated into the S-MOBY metadata repository.
MOBYOrderedCollectionAn interface representing resizable collection of objects, in - which the order of the elements is defined.MOBYOrderedCollection 
MOBYPropertyValueA superinterface for things that can appear as the subject +MOBYPropertyValueA superclass for things that can appear as the subject or object of a statement.
MOBYPropertyValueConstraintMOBYPropertyValueConstraint  
MOBYPropertyValueStatementMOBYPropertyValueStatement  
MOBYProviderThe Provider interface represents a resource that provides a +MOBYProviderThe Provider class represents a resource that provides a service in MOBY.
MOBYProviderSetAn interface to represent a set of providersMOBYProviderSetAn class to represent a set of providers
MOBYResizableCollectionAn interface representing collections that can be resized (i.e.MOBYResizableCollectionA class representing collections that can be resized (i.e.
MOBYResourceMOBYResource  
MOBYSingleElementAn interface to represent singular objects, i.e.MOBYSingleElementA class to represent singular objects, i.e.
MOBYSubjectMOBYSubject An object that represents the subject of one or more mappings.
MOBYUnorderedCollectionAn interface representing resizable collection of objects, in +MOBYUnorderedCollectionA class representing resizable collection of objects, in which the order of the elements is not defined.
@@ -200,6 +240,16 @@  

+

+Package org.smoby.graph Description +

+ +

+Contains classes for manipulating the Semantic MOBY canonical graph +structure, which is potentially embedded in a larger graph structure. +

+ +


@@ -231,7 +281,7 @@  PREV PACKAGE  - NEXT PACKAGENEXT PACKAGE
FRAMES    NO FRAMES   =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYObject - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,18 @@ org.smoby.graph
-Interface MOBYObject -
-
All Superinterfaces:
MOBYDescriptor, MOBYGraphNode, MOBYMappingElement, MOBYSingleElement
-
+Class MOBYObject +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYSingleElement
+              extended byorg.smoby.graph.MOBYMappingElement
+                  extended byorg.smoby.graph.MOBYObject
+

-
public interface MOBYObject
extends MOBYMappingElement
+
public class MOBYObject
extends MOBYMappingElement

An object that represents the object of a mapping. @@ -108,34 +113,68 @@ + + + + + + + + +
+Constructor Summary
MOBYObject(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYCollection nestedElements, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
- +
Methods inherited from interface org.smoby.graph.MOBYMappingElementMethods inherited from class org.smoby.graph.MOBYMappingElement
getNestedElements, getPropertyValueStatements
+ + + + + + + +
Methods inherited from class org.smoby.graph.MOBYSingleElement
isCollection, isSingular
  - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -146,6 +185,23 @@ + + + + + +
+Constructor Detail
+ +

+MOBYObject

+
+public MOBYObject(com.hp.hpl.jena.rdf.model.Resource resource,
+                  MOBYFixedCollection statements,
+                  MOBYCollection nestedElements,
+                  com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -180,8 +236,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -200,9 +256,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYResource - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,15 @@ org.smoby.graph
-Interface MOBYResource -
-
All Superinterfaces:
MOBYPropertyValue
-
+Class MOBYResource +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYPropertyValue
+      extended byorg.smoby.graph.MOBYResource
+

-
public interface MOBYResource
extends MOBYPropertyValue
+
public class MOBYResource
extends MOBYPropertyValue


@@ -104,7 +106,20 @@ + + + + + + + + +
+Constructor Summary
MOBYResource(com.hp.hpl.jena.rdf.model.Resource resourceValue) +
+           
@@ -129,14 +144,32 @@
            + + + boolean +isLiteral() + +
+          Return whether or not this property value represents + a literal value + + + + boolean +isResource() + +
+          Return whether or not this property value represents + a resource + -  - + - +
Methods inherited from interface org.smoby.graph.MOBYPropertyValueMethods inherited from class java.lang.Object
isLiteral, isResourceequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -147,6 +180,20 @@ + + + + + +
+Constructor Detail
+ +

+MOBYResource

+
+public MOBYResource(com.hp.hpl.jena.rdf.model.Resource resourceValue)
+
+
@@ -166,6 +213,39 @@
+ +
+ +

+isLiteral

+
+public boolean isLiteral()
+
+
Description copied from class: MOBYPropertyValue
+
Return whether or not this property value represents + a literal value +

+

+
Specified by:
isLiteral in class MOBYPropertyValue
+
+
+
+
+
+
+ +

+isResource

+
+public boolean isResource()
+
+
Description copied from class: MOBYPropertyValue
+
Return whether or not this property value represents + a resource +

+

+
Specified by:
isResource in class MOBYPropertyValue
+
@@ -180,9 +260,6 @@
-
-
-

@@ -215,8 +292,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -235,9 +312,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValueConstraint - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,17 @@ org.smoby.graph
-Interface MOBYPropertyValueConstraint +Class MOBYPropertyValueConstraint +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYPropertyValueConstraint
+
-
All Known Implementing Classes:
org.smoby.graph.impl.MOBYPropertyValueConstraintImpl
+
Direct Known Subclasses:
MOBYDateConstraint, MOBYNumericConstraint

-
public interface MOBYPropertyValueConstraint
+
public abstract class MOBYPropertyValueConstraint
extends java.lang.Object


@@ -104,7 +108,20 @@ + + + + + + + + +
+Constructor Summary
MOBYPropertyValueConstraint() +
+           
@@ -115,14 +132,23 @@ - void -validatePropertyValue(MOBYPropertyValueStatement stmt, - MOBYPropertyValue newValue) +abstract  void +validatePropertyValue(MOBYPropertyValueStatement stmt, + MOBYPropertyValue newValue)
            +  + + + + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

@@ -131,6 +157,20 @@ + + + + + +
+Constructor Detail
+ +

+MOBYPropertyValueConstraint

+
+public MOBYPropertyValueConstraint()
+
+
@@ -145,9 +185,9 @@

validatePropertyValue

-public void validatePropertyValue(MOBYPropertyValueStatement stmt,
-                                  MOBYPropertyValue newValue)
-                           throws MOBYPropertyValueException
+public abstract void validatePropertyValue(MOBYPropertyValueStatement stmt, + MOBYPropertyValue newValue) + throws MOBYPropertyValueException
@@ -186,8 +226,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -206,9 +246,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYCollection - + @@ -51,7 +51,7 @@  PREV CLASS  - NEXT CLASSNEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,20 +84,23 @@ org.smoby.graph
-Interface MOBYCollection -
-
All Superinterfaces:
MOBYDescriptor, MOBYGraphNode
-
+Class MOBYCollection +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYCollection
+
-
All Known Subinterfaces:
MOBYEnumeration, MOBYFixedCollection, MOBYOrderedCollection, MOBYResizableCollection, MOBYUnorderedCollection
+
Direct Known Subclasses:
MOBYFixedCollection, MOBYResizableCollection

-
public interface MOBYCollection
extends MOBYGraphNode
+
public abstract class MOBYCollection
extends MOBYGraphNode

-A common interface for collections, both fixed sized and resizeable, of - elements in MOBY graphs. +A common abstract class for collections, both fixed sized and resizeable, + of elements in MOBY graphs.

@@ -112,7 +115,22 @@ + + + + + + + + +
+Constructor Summary
MOBYCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -124,6 +142,14 @@  boolean +isCollection() + +
+          Return whether or not this object is a collection. + + + +abstract  boolean isFixedSized()
@@ -131,7 +157,7 @@ - boolean +abstract  boolean isResizable()
@@ -139,6 +165,14 @@ + boolean +isSingular() + +
+          Return whether or not this object is a singular element. + + +  java.util.Iterator iterator() @@ -157,19 +191,28 @@   - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -180,6 +223,22 @@ + + + + + +
+Constructor Detail
+ +

+MOBYCollection

+
+public MOBYCollection(com.hp.hpl.jena.rdf.model.Resource resource,
+                      java.util.List elements,
+                      com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -191,47 +250,68 @@ -

-isFixedSized

+

+size

-public boolean isFixedSized()
+public int size()
-
Return whether or not the collection is fixed in size +
Return the size of the collection.

+
+
+ +

+iterator

+
+public java.util.Iterator iterator()
+
+
Return an iterator for traversing the elements +


-

-isResizable

+

+isFixedSized

-public boolean isResizable()
+public abstract boolean isFixedSized()
-
Return whether or not the collection is resizable +
Return whether or not the collection is fixed in size

+
+
+ +

+isResizable

+
+public abstract boolean isResizable()
+
+
Return whether or not the collection is resizable +


-

-iterator

+

+isSingular

-public java.util.Iterator iterator()
+public boolean isSingular()
-
Return an iterator for traversing the elements +
Description copied from class: MOBYGraphNode
+
Return whether or not this object is a singular element.

-
+
Specified by:
isSingular in class MOBYGraphNode
@@ -239,15 +319,16 @@

-

-size

+

+isCollection

-public int size()
+public boolean isCollection()
-
Return the size of the collection. +
Description copied from class: MOBYGraphNode
+
Return whether or not this object is a collection.

-
+
Specified by:
isCollection in class MOBYGraphNode
@@ -285,7 +366,7 @@  PREV CLASS  - NEXT CLASSNEXT CLASS FRAMES    NO FRAMES   @@ -304,9 +385,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYSubject - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,18 @@ org.smoby.graph
-Interface MOBYSubject -
-
All Superinterfaces:
MOBYDescriptor, MOBYGraphNode, MOBYMappingElement, MOBYSingleElement
-
+Class MOBYSubject +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYSingleElement
+              extended byorg.smoby.graph.MOBYMappingElement
+                  extended byorg.smoby.graph.MOBYSubject
+

-
public interface MOBYSubject
extends MOBYMappingElement
+
public class MOBYSubject
extends MOBYMappingElement

An object that represents the subject of one or more mappings. In @@ -119,7 +124,24 @@ + + + + + + + + +
+Constructor Summary
MOBYSubject(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYUnorderedCollection directMappings, + MOBYCollection nestedMappings, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -130,7 +152,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection getDirectMappings()
@@ -141,28 +163,46 @@   - +
Methods inherited from interface org.smoby.graph.MOBYMappingElementMethods inherited from class org.smoby.graph.MOBYMappingElement
getNestedElements, getPropertyValueStatements
+ + + + + + + +
Methods inherited from class org.smoby.graph.MOBYSingleElement
isCollection, isSingular
  - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + - + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getURIgetResource, getUnderlying, getURI
+ + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -173,6 +213,24 @@ + + + + + +
+Constructor Detail
+ +

+MOBYSubject

+
+public MOBYSubject(com.hp.hpl.jena.rdf.model.Resource resource,
+                   MOBYFixedCollection statements,
+                   MOBYUnorderedCollection directMappings,
+                   MOBYCollection nestedMappings,
+                   com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -187,7 +245,7 @@

getDirectMappings

-public MOBYUnorderedCollection getDirectMappings()
+public MOBYUnorderedCollection getDirectMappings()
Return a resizable, unordered collection of the MOBYNode instances, which are objects of mapsTo statements, whose subjects are this. @@ -195,9 +253,6 @@
-
-
-

@@ -230,8 +285,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -250,9 +305,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYResizableCollection - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,23 @@ org.smoby.graph
-Interface MOBYResizableCollection -
-
All Superinterfaces:
MOBYCollection, MOBYDescriptor, MOBYGraphNode
-
+Class MOBYResizableCollection +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYCollection
+              extended byorg.smoby.graph.MOBYResizableCollection
+
-
All Known Subinterfaces:
MOBYEnumeration, MOBYOrderedCollection, MOBYUnorderedCollection
+
Direct Known Subclasses:
MOBYOrderedCollection, MOBYUnorderedCollection

-
public interface MOBYResizableCollection
extends MOBYCollection
+
public abstract class MOBYResizableCollection
extends MOBYCollection

-An interface representing collections that can be resized (i.e. +A class representing collections that can be resized (i.e. elements added to or removed from); such collections can be either ordered or unordered.

@@ -113,7 +117,22 @@ + + + + + + + + +
+Constructor Summary
MOBYResizableCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -125,37 +144,62 @@  boolean +isFixedSized() + +
+          Return whether or not the collection is fixed in size + + + +abstract  boolean isOrdered()
          Return whether or not this collection is ordered. + + + boolean +isResizable() + +
+          Return whether or not the collection is resizable +   - + - +
Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
  - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -166,6 +210,22 @@ + + + + + +
+Constructor Detail
+ +

+MOBYResizableCollection

+
+public MOBYResizableCollection(com.hp.hpl.jena.rdf.model.Resource resource,
+                               java.util.List elements,
+                               com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -180,13 +240,44 @@

isOrdered

-public boolean isOrdered()
+public abstract boolean isOrdered()
Return whether or not this collection is ordered.

+
+
+ +

+isResizable

+
+public boolean isResizable()
+
+
Description copied from class: MOBYCollection
+
Return whether or not the collection is resizable +

+

+
Specified by:
isResizable in class MOBYCollection
+
+
+
+
+
+
+ +

+isFixedSized

+
+public boolean isFixedSized()
+
+
Description copied from class: MOBYCollection
+
Return whether or not the collection is fixed in size +

+

+
Specified by:
isFixedSized in class MOBYCollection
+
@@ -222,8 +313,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -242,9 +333,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYUnorderedCollection - + @@ -50,7 +50,7 @@ PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,24 @@ org.smoby.graph
-Interface MOBYUnorderedCollection -
-
All Superinterfaces:
MOBYCollection, MOBYDescriptor, MOBYGraphNode, MOBYResizableCollection
-
+Class MOBYUnorderedCollection +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYCollection
+              extended byorg.smoby.graph.MOBYResizableCollection
+                  extended byorg.smoby.graph.MOBYUnorderedCollection
+
-
All Known Subinterfaces:
MOBYEnumeration
+
Direct Known Subclasses:
MOBYEnumeration

-
public interface MOBYUnorderedCollection
extends MOBYResizableCollection
+
public class MOBYUnorderedCollection
extends MOBYResizableCollection

-An interface representing resizable collection of objects, in +A class representing resizable collection of objects, in which the order of the elements is not defined.

@@ -112,7 +117,22 @@ + + + + + + + + +
+Constructor Summary
MOBYUnorderedCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -130,41 +150,58 @@           Return whether or not the elements of this collection represent choices (i.e. + + + boolean +isOrdered() + +
+          Return whether or not this collection is ordered. +   - + - +
Methods inherited from interface org.smoby.graph.MOBYResizableCollectionMethods inherited from class org.smoby.graph.MOBYResizableCollection
isOrderedisFixedSized, isResizable
  - + - +
Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
  - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -175,6 +212,22 @@ + + + + + +
+Constructor Detail
+ +

+MOBYUnorderedCollection

+
+public MOBYUnorderedCollection(com.hp.hpl.jena.rdf.model.Resource resource,
+                               java.util.List elements,
+                               com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -186,6 +239,23 @@ +

+isOrdered

+
+public boolean isOrdered()
+
+
Description copied from class: MOBYResizableCollection
+
Return whether or not this collection is ordered. +

+

+
Specified by:
isOrdered in class MOBYResizableCollection
+
+
+
+
+
+
+

isEnumeration

@@ -197,9 +267,6 @@
 
-
-
-

@@ -232,7 +299,7 @@ PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   @@ -252,9 +319,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValue - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
-Interface MOBYPropertyValue +Class MOBYPropertyValue +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYPropertyValue
+
-
All Known Subinterfaces:
MOBYLiteral, MOBYResource
+
Direct Known Subclasses:
MOBYLiteral, MOBYResource

-
public interface MOBYPropertyValue
+
public abstract class MOBYPropertyValue
extends java.lang.Object

-A superinterface for things that can appear as the subject +A superclass for things that can appear as the subject or object of a statement.

@@ -109,7 +113,20 @@ + + + + + + + + +
+Constructor Summary
MOBYPropertyValue() +
+           
@@ -120,19 +137,30 @@ - boolean +abstract  boolean isLiteral()
-          Return whether or not this property value represents a literal +          Return whether or not this property value represents + a literal value - boolean +abstract  boolean isResource()
-          Return whether or not this property value represents a resource +          Return whether or not this property value represents + a resource + + +  + + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -143,6 +171,20 @@ + + + + + +
+Constructor Detail
+ +

+MOBYPropertyValue

+
+public MOBYPropertyValue()
+
+
@@ -157,9 +199,10 @@

isLiteral

-public boolean isLiteral()
+public abstract boolean isLiteral()
-
Return whether or not this property value represents a literal +
Return whether or not this property value represents + a literal value

@@ -170,9 +213,10 @@

isResource

-public boolean isResource()
+public abstract boolean isResource()
-
Return whether or not this property value represents a resource +
Return whether or not this property value represents + a resource

@@ -209,8 +253,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -229,9 +273,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYLiteral - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,15 @@ org.smoby.graph
-Interface MOBYLiteral -
-
All Superinterfaces:
MOBYPropertyValue
-
+Class MOBYLiteral +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYPropertyValue
+      extended byorg.smoby.graph.MOBYLiteral
+

-
public interface MOBYLiteral
extends MOBYPropertyValue
+
public class MOBYLiteral
extends MOBYPropertyValue


@@ -104,7 +106,20 @@ + + + + + + + + +
+Constructor Summary
MOBYLiteral(java.lang.String stringValue) +
+           
@@ -121,14 +136,32 @@
            + + + boolean +isLiteral() + +
+          Return whether or not this property value represents + a literal value + + + + boolean +isResource() + +
+          Return whether or not this property value represents + a resource + -  - + - +
Methods inherited from interface org.smoby.graph.MOBYPropertyValueMethods inherited from class java.lang.Object
isLiteral, isResourceequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -139,6 +172,20 @@ + + + + + +
+Constructor Detail
+ +

+MOBYLiteral

+
+public MOBYLiteral(java.lang.String stringValue)
+
+
@@ -158,6 +205,39 @@
+
+
+ +

+isLiteral

+
+public boolean isLiteral()
+
+
Description copied from class: MOBYPropertyValue
+
Return whether or not this property value represents + a literal value +

+

+
Specified by:
isLiteral in class MOBYPropertyValue
+
+
+
+
+
+
+ +

+isResource

+
+public boolean isResource()
+
+
Description copied from class: MOBYPropertyValue
+
Return whether or not this property value represents + a resource +

+

+
Specified by:
isResource in class MOBYPropertyValue
+
@@ -193,8 +273,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -213,9 +293,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYGraph - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
-Interface MOBYGraph -
-
All Superinterfaces:
MOBYDescriptor, MOBYGraphNode, MOBYSingleElement
-
+Class MOBYGraph +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYSingleElement
+              extended byorg.smoby.graph.MOBYGraph
+

-
public interface MOBYGraph
extends MOBYSingleElement
+
public class MOBYGraph
extends MOBYSingleElement

-This interface represents singular (i.e. not collection) subgraphs +This class represents singular (i.e. not collection) subgraphs that have a single mapping.

@@ -109,7 +113,22 @@ + + + + + + + + +
+Constructor Summary
MOBYGraph(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYGraphNode hasMapping, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -120,29 +139,47 @@ - MOBYGraphNode -gethasMapping() + MOBYGraphNode +getHasMapping()
          Return the object of this graph's hasMapping property. +  + + + + + + + +
Methods inherited from class org.smoby.graph.MOBYSingleElement
isCollection, isSingular
  - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + - + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getURIgetResource, getUnderlying, getURI
+ + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -153,6 +190,22 @@ + + + + + +
+Constructor Detail
+ +

+MOBYGraph

+
+public MOBYGraph(com.hp.hpl.jena.rdf.model.Resource resource,
+                 MOBYGraphNode hasMapping,
+                 com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -164,19 +217,16 @@ -

-gethasMapping

+

+getHasMapping

-public MOBYGraphNode gethasMapping()
+public MOBYGraphNode getHasMapping()
Return the object of this graph's hasMapping property.

-
-
-

@@ -209,8 +259,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -229,9 +279,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYProvider - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,19 @@ org.smoby.graph
-Interface MOBYProvider -
-
All Superinterfaces:
MOBYDescriptor, MOBYDocument
-
-
-
All Known Implementing Classes:
MOBYProviderImpl
-
+Class MOBYProvider +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYDocument
+          extended byorg.smoby.graph.MOBYProvider
+

-
public interface MOBYProvider
extends MOBYDocument
+
public class MOBYProvider
extends MOBYDocument

-The Provider interface represents a resource that provides a +The Provider class represents a resource that provides a service in MOBY.

@@ -112,7 +112,25 @@ + + + + + + + + +
+Constructor Summary
MOBYProvider(com.hp.hpl.jena.rdf.model.Resource resource, + java.lang.String name, + java.lang.String oneLineDescription, + java.lang.String moreInfoURI, + MOBYUnorderedCollection operatesOn, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -148,7 +166,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection getOperatesOn()
@@ -160,17 +178,34 @@ serialize(java.io.OutputStream out)
-          Provider implementations should be capable of serializing themselves +          Providers should be capable of serializing themselves to an output stream + + + java.lang.String +toString() + +
+            +   - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  @@ -181,6 +216,25 @@ + + + + + +
+Constructor Detail
+ +

+MOBYProvider

+
+public MOBYProvider(com.hp.hpl.jena.rdf.model.Resource resource,
+                    java.lang.String name,
+                    java.lang.String oneLineDescription,
+                    java.lang.String moreInfoURI,
+                    MOBYUnorderedCollection operatesOn,
+                    com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -202,9 +256,6 @@
-
-
-

@@ -218,9 +269,6 @@
-
-
-

@@ -235,16 +283,13 @@
-
-
-

getOperatesOn

-public MOBYUnorderedCollection getOperatesOn()
+public MOBYUnorderedCollection getOperatesOn()
Return a collection of graph nodes that this provider operates on. Each graph node represents either a Graph or GraphCollection. @@ -252,6 +297,14 @@
+
+
+ +

+toString

+
+public java.lang.String toString()
+
@@ -263,15 +316,12 @@
 public void serialize(java.io.OutputStream out)
-
Provider implementations should be capable of serializing themselves +
Providers should be capable of serializing themselves to an output stream

-
-
-

@@ -304,8 +354,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -324,9 +374,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYDescriptor - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,20 @@ org.smoby.graph
-Interface MOBYDescriptor -
-
All Known Subinterfaces:
MOBYCollection, MOBYDocument, MOBYEnumeration, MOBYFixedCollection, MOBYGraph, MOBYGraphNode, MOBYMappingElement, MOBYObject, MOBYOntology, MOBYOrderedCollection, MOBYProvider, MOBYProviderSet, MOBYResizableCollection, MOBYSingleElement, MOBYSubject, MOBYUnorderedCollection
-
+Class MOBYDescriptor +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+
-
All Known Implementing Classes:
MOBYDescriptorImpl, MOBYDocumentImpl, org.smoby.graph.impl.MOBYGraphNodeImpl, MOBYMappingElementImpl, MOBYProviderImpl, MOBYProviderSetImpl, org.smoby.graph.impl.MOBYSingleElementImpl
+
Direct Known Subclasses:
MOBYDocument, MOBYGraphNode, MOBYPropertyValueStatement

-
public interface MOBYDescriptor
+
public abstract class MOBYDescriptor
extends java.lang.Object

-The Resource interface represents things that are available +The MOBYDescriptor class represents things that are available at a URI.

@@ -112,7 +113,21 @@ + + + + + + + + +
+Constructor Summary
MOBYDescriptor(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -123,11 +138,36 @@ + com.hp.hpl.jena.rdf.model.Resource +getResource() + +
+          Return the resource associated with this descriptor. + + + + com.hp.hpl.jena.rdf.model.Model +getUnderlying() + +
+          Return the underlying Jena model + + +  java.lang.String getURI()
-          Return the URI represented by this node. +          Return the URI of the underlying resource, if any. + + +  + + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -138,6 +178,21 @@ + + + + + +
+Constructor Detail
+ +

+MOBYDescriptor

+
+public MOBYDescriptor(com.hp.hpl.jena.rdf.model.Resource resource,
+                      com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -149,12 +204,38 @@ +

+getResource

+
+public com.hp.hpl.jena.rdf.model.Resource getResource()
+
+
Return the resource associated with this descriptor. +

+

+
+
+
+
+ +

+getUnderlying

+
+public com.hp.hpl.jena.rdf.model.Model getUnderlying()
+
+
Return the underlying Jena model +

+

+
+
+
+
+

getURI

 public java.lang.String getURI()
-
Return the URI represented by this node. +
Return the URI of the underlying resource, if any.

@@ -191,8 +272,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -211,9 +292,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYMappingElement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,20 @@ org.smoby.graph
-Interface MOBYMappingElement -
-
All Superinterfaces:
MOBYDescriptor, MOBYGraphNode, MOBYSingleElement
-
-
-
All Known Subinterfaces:
MOBYObject, MOBYSubject
-
+Class MOBYMappingElement +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+          extended byorg.smoby.graph.MOBYSingleElement
+              extended byorg.smoby.graph.MOBYMappingElement
+
-
All Known Implementing Classes:
MOBYMappingElementImpl
+
Direct Known Subclasses:
MOBYObject, MOBYSubject

-
public interface MOBYMappingElement
extends MOBYSingleElement
+
public class MOBYMappingElement
extends MOBYSingleElement


@@ -110,7 +111,23 @@ + + + + + + + + +
+Constructor Summary
MOBYMappingElement(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYCollection nestedElements, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -121,39 +138,57 @@ - MOBYCollection + MOBYCollection getNestedElements()
-          Return the collection of mappings that are nested within this subject - through its role as a data structure. +          Return the collection of mappings that are nested within this + mapping element through its role as a data structure. - MOBYFixedCollection + MOBYFixedCollection getPropertyValueStatements()
          Return the collection of property-setting statements associated - with this subject. + with this mapping element. + + +  + + + + + +
Methods inherited from class org.smoby.graph.MOBYSingleElement
isCollection, isSingular
  - + - +
Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
isBlank, isCollection, isSingularisBlank
  - + - + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getURIgetResource, getUnderlying, getURI
+ + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -164,6 +199,23 @@ + + + + + +
+Constructor Detail
+ +

+MOBYMappingElement

+
+public MOBYMappingElement(com.hp.hpl.jena.rdf.model.Resource resource,
+                          MOBYFixedCollection statements,
+                          MOBYCollection nestedElements,
+                          com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -178,34 +230,28 @@

getPropertyValueStatements

-public MOBYFixedCollection getPropertyValueStatements()
+public MOBYFixedCollection getPropertyValueStatements()
Return the collection of property-setting statements associated - with this subject. + with this mapping element.

-
-
-

getNestedElements

-public MOBYCollection getNestedElements()
+public MOBYCollection getNestedElements()
-
Return the collection of mappings that are nested within this subject - through its role as a data structure. +
Return the collection of mappings that are nested within this + mapping element through its role as a data structure.

-
-
-

@@ -238,8 +284,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -258,9 +304,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + MOBYPropertyValueException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYDocument - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,21 @@ org.smoby.graph
-Interface MOBYDocument +Class MOBYDocument +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYDocument
+
-
All Superinterfaces:
MOBYDescriptor
-
-
-
All Known Subinterfaces:
MOBYOntology, MOBYProvider, MOBYProviderSet
-
-
-
All Known Implementing Classes:
MOBYDocumentImpl, MOBYProviderImpl, MOBYProviderSetImpl
+
Direct Known Subclasses:
MOBYOntology, MOBYProvider, MOBYProviderSet

-
public interface MOBYDocument
extends MOBYDescriptor
+
public abstract class MOBYDocument
extends MOBYDescriptor

-This interface represents a document to be incorporated into +This class represents a document to be incorporated into the S-MOBY metadata repository.

@@ -115,16 +114,39 @@ + + + + + + + + +
+Constructor Summary
MOBYDocument(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
- + - + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getURIgetResource, getUnderlying, getURI
+ + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -135,6 +157,21 @@ + + + + + +
+Constructor Detail
+ +

+MOBYDocument

+
+public MOBYDocument(com.hp.hpl.jena.rdf.model.Resource resource,
+                    com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -169,8 +206,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -189,9 +226,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYProviderSet - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,19 @@ org.smoby.graph
-Interface MOBYProviderSet -
-
All Superinterfaces:
MOBYDescriptor, MOBYDocument
-
-
-
All Known Implementing Classes:
MOBYProviderSetImpl
-
+Class MOBYProviderSet +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYDocument
+          extended byorg.smoby.graph.MOBYProviderSet
+

-
public interface MOBYProviderSet
extends MOBYDocument
+
public class MOBYProviderSet
extends MOBYDocument

-An interface to represent a set of providers +An class to represent a set of providers

@@ -111,7 +111,20 @@ + + + + + + + + +
+Constructor Summary
MOBYProviderSet() +
+           
@@ -123,7 +136,7 @@  void -addProvider(MOBYProvider provider) +addProvider(MOBYProvider provider)
          Add a provider to the set @@ -149,10 +162,19 @@   - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -163,6 +185,20 @@ + + + + + +
+Constructor Detail
+ +

+MOBYProviderSet

+
+public MOBYProviderSet()
+
+
@@ -174,35 +210,29 @@ -

-addProvider

+

+size

-public void addProvider(MOBYProvider provider)
+public int size()
-
Add a provider to the set +
Return the size of the set

-
-
-

-

-size

+

+addProvider

-public int size()
+public void addProvider(MOBYProvider provider)
-
Return the size of the set +
Add a provider to the set

-
-
-

@@ -217,9 +247,6 @@
-
-
-

@@ -252,8 +279,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -272,9 +299,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYGraphNode - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,21 @@ org.smoby.graph
-Interface MOBYGraphNode -
-
All Superinterfaces:
MOBYDescriptor
-
-
-
All Known Subinterfaces:
MOBYCollection, MOBYEnumeration, MOBYFixedCollection, MOBYGraph, MOBYMappingElement, MOBYObject, MOBYOrderedCollection, MOBYResizableCollection, MOBYSingleElement, MOBYSubject, MOBYUnorderedCollection
-
+Class MOBYGraphNode +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYGraphNode
+
-
All Known Implementing Classes:
org.smoby.graph.impl.MOBYGraphNodeImpl, MOBYMappingElementImpl, org.smoby.graph.impl.MOBYSingleElementImpl
+
Direct Known Subclasses:
MOBYCollection, MOBYSingleElement

-
public interface MOBYGraphNode
extends MOBYDescriptor
+
public abstract class MOBYGraphNode
extends MOBYDescriptor

-An interface for nodes in an RDF graph; these nodes are either +An abstract class for nodes in an RDF graph; these nodes are either collections or singular elements.

@@ -115,7 +114,21 @@ + + + + + + + + +
+Constructor Summary
MOBYGraphNode(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
@@ -134,7 +147,7 @@ - boolean +abstract  boolean isCollection()
@@ -142,7 +155,7 @@ - boolean +abstract  boolean isSingular()
@@ -152,10 +165,19 @@   - + + + + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getResource, getUnderlying, getURI
+ + + - +
Methods inherited from class java.lang.Object
getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -166,6 +188,21 @@ + + + + + +
+Constructor Detail
+ +

+MOBYGraphNode

+
+public MOBYGraphNode(com.hp.hpl.jena.rdf.model.Resource resource,
+                     com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -187,41 +224,32 @@
-
-
-

isCollection

-public boolean isCollection()
+public abstract boolean isCollection()
Return whether or not this object is a collection.

-
-
-

isSingular

-public boolean isSingular()
+public abstract boolean isSingular()
Return whether or not this object is a singular element.

-
-
-

@@ -254,8 +282,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -274,9 +302,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph @@ -23,49 +23,70 @@ Interfaces 
-MOBYCollection +MOBYGraphVisitor
+ + + + + + + +MOBYUnorderedCollection
+Classes  + +
+MOBYCollection +
+MOBYDateConstraint +
+MOBYDescriptor +
+MOBYDocument +
+MOBYEnumeration +
+MOBYFixedCollection
-MOBYDescriptor +MOBYGraph
-MOBYDocument +MOBYGraphNode
-MOBYEnumeration +MOBYIntegerConstraint
-MOBYFixedCollection +MOBYLiteral
-MOBYGraph +MOBYMappingElement
-MOBYGraphNode +MOBYNonNegativeIntegerConstraint
-MOBYLiteral +MOBYNonPositiveIntegerConstraint
-MOBYMappingElement +MOBYNumericConstraint
-MOBYObject +MOBYObject
-MOBYOntology +MOBYOntology
-MOBYOrderedCollection +MOBYOrderedCollection
-MOBYPropertyValue +MOBYPropertyValue
-MOBYPropertyValueConstraint +MOBYPropertyValueConstraint
-MOBYPropertyValueStatement +MOBYPropertyValueStatement
-MOBYProvider +MOBYProvider
-MOBYProviderSet +MOBYProviderSet
-MOBYResizableCollection +MOBYResizableCollection
-MOBYResource +MOBYResource
-MOBYSingleElement +MOBYSingleElement
-MOBYSubject +MOBYSubject
-MOBYUnorderedCollection
=================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYOntology - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,19 @@ org.smoby.graph
-Interface MOBYOntology -
-
All Superinterfaces:
MOBYDescriptor, MOBYDocument
-
+Class MOBYOntology +
+java.lang.Object
+  extended byorg.smoby.graph.MOBYDescriptor
+      extended byorg.smoby.graph.MOBYDocument
+          extended byorg.smoby.graph.MOBYOntology
+

-
public interface MOBYOntology
extends MOBYDocument
+
public class MOBYOntology
extends MOBYDocument

-This interface represents a collection of RDF statements to be +This class represents a collection of RDF statements to be incorporated into the S-MOBY metadata repository.

@@ -109,16 +112,39 @@ + + + + + + + + +
+Constructor Summary
MOBYOntology(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
+           
- + - + + +
Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
getURIgetResource, getUnderlying, getURI
+ + + + + +
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  @@ -129,6 +155,21 @@ + + + + + +
+Constructor Detail
+ +

+MOBYOntology

+
+public MOBYOntology(com.hp.hpl.jena.rdf.model.Resource resource,
+                    com.hp.hpl.jena.rdf.model.Model underlying)
+
+
@@ -163,8 +204,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -183,9 +224,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph Class Hierarchy @@ -50,7 +50,7 @@  PREV  - NEXTNEXT FRAMES    NO FRAMES   @@ -85,6 +85,30 @@
  • class java.lang.Object
    =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/overview-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/overview-frame.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/overview-frame.html 2004/11/23 00:19:57 1.2 @@ -2,12 +2,12 @@ - + Overview - + @@ -30,21 +30,19 @@ Packages
    -org.smoby.graph +org.semanticmoby.graph
    -org.smoby.graph.impl +org.semanticmoby.graph.tools
    -org.smoby.http +org.semanticmoby.http
    -org.smoby.parser +org.semanticmoby.parser
    -org.smoby.parser.test +org.semanticmoby.servlet
    -org.smoby.servlet +org.semanticmoby.tools
    -org.smoby.tools -
    -org.smoby.vocabulary +org.semanticmoby.vocabulary
    =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/allclasses-noframe.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/allclasses-noframe.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/allclasses-noframe.html 2004/11/23 00:19:57 1.2 @@ -2,7 +2,7 @@ - + All Classes @@ -20,97 +20,99 @@ - =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/constant-values.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/constant-values.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/constant-values.html 2004/11/23 00:19:57 1.2 @@ -2,7 +2,7 @@ - + Constant Field Values @@ -78,14 +78,14 @@
    Contents - +
    AbstractMobyServlet +AbstractMobyServlet
    -HTTPException +HTTPException
    -HTTPRequest +HTTPRequest
    -HTTPResponse +HTTPResponse
    -MOBY +MOBY
    -MOBYCollection +MOBYCollection
    -MOBYDateConstraintImpl +MOBYDateConstraint
    -MOBYDescriptor +MOBYDescriptor
    -MOBYDescriptorImpl +MOBYDocument
    -MOBYDocument +MOBYEnumeration
    -MOBYDocumentImpl +MOBYFixedCollection
    -MOBYEnumeration +MOBYGraph
    -MOBYFixedCollection +MOBYGraphNode
    -MOBYGraph +MOBYGraphVisitor
    -MOBYGraphNode +MOBYIntegerConstraint
    -MOBYLiteral +MOBYLiteral
    -MOBYMappingElement +MOBYMappingElement
    -MOBYMappingElementImpl +MOBYNonNegativeIntegerConstraint
    -MOBYNonNegativeIntegerConstraintImpl +MOBYNonPositiveIntegerConstraint
    -MOBYNonPositiveIntegerConstraintImpl +MOBYNumericConstraint
    -MOBYObject +MOBYObject
    -MOBYObjectFactory +MOBYOntology
    -MOBYOntology +MOBYOrderedCollection
    -MOBYOrderedCollection +MOBYPropertyValue
    -MOBYPropertyValue +MOBYPropertyValueConstraint
    -MOBYPropertyValueConstraint +MOBYPropertyValueException
    -MOBYPropertyValueException +MOBYPropertyValueStatement
    -MOBYPropertyValueStatement +MOBYProvider
    -MOBYProvider +MOBYProviderSet
    -MOBYProviderImpl +MOBYProviderTraversalException
    -MOBYProviderSet +MOBYProviderTraverser
    -MOBYProviderSetImpl +MOBYProviderVisitor
    -MOBYResizableCollection +MOBYProviderVisitorAdapter
    -MOBYResource +MOBYProviderXMLGenerator
    -MOBYSingleElement +MOBYResizableCollection
    -MOBYSubject +MOBYResource
    -MOBYUnorderedCollection +MOBYSingleElement
    -NonCanonicalException +MOBYSubject
    -ParamReader +MOBYUnorderedCollection
    -ParameterException +ModelRetriever
    -Parser +NonCanonicalException
    -ParserTest +ParamReader
    -Test +ParameterException
    -UnparsableGraphException +Parser
    -Util +UnparsableGraphException
    -VocabularyDescription +Util +
    +VocabularyDescription
    +org.semanticmoby.*
    -org.smoby.*
    @@ -93,18 +93,24 @@ - + - - + - - + + + + + + @@ -117,18 +123,18 @@
    org.smoby.http.HTTPRequestorg.semanticmoby.http.HTTPRequest
    + public static final intHTTP_GETHTTP_GET 0
    + public static final intHTTP_POSTHTTP_HEAD2
    +public static final intHTTP_POST 1
    - + - - + - - + @@ -141,18 +147,24 @@
    org.smoby.parser.Parserorg.semanticmoby.parser.Parser
    + public static final java.lang.StringLANGUAGE_N3LANGUAGE_N3 "N3"
    + public static final java.lang.StringLANGUAGE_RDF_XMLLANGUAGE_RDF_XML "RDF/XML"
    - + + + + + + - - + - - + rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/RCS/developer.html,v: No such file or directory From nopushneva at pub.open-bio.org Mon Nov 1 14:16:32 2004 From: nopushneva at pub.open-bio.org (Nina Opushneva) Date: Mon, 1 Nov 2004 14:16:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411011916.iA1JGWsC017573@pub.open-bio.org> nopushneva Mon Nov 1 14:16:28 EST 2004 Update of /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib In directory pub.open-bio.org:/tmp/cvs-serv17507 Added Files: activation.jar commons-logging.jar icu4j.jar jakarta-oro-2.0.5.jar jdom.jar jena.jar junit.jar log4j-1.2.4.jar mail.jar rdf-api-2001-01-19.jar xercesImpl.jar xml-apis.jar Log Message: The temporary restore moby-live/Agents/MOBY-S/RDFAgent/lib activation.jar,1.2,1.3 commons-logging.jar,1.2,1.3 icu4j.jar,1.2,1.3 jakarta-oro-2.0.5.jar,1.2,1.3 jdom.jar,1.2,1.3 jena.jar,1.2,1.3 junit.jar,1.2,1.3 log4j-1.2.4.jar,NONE,1.1 mail.jar,1.2,1.3 rdf-api-2001-01-19.jar,1.2,1.3 xercesImpl.jar,1.2,1.3 xml-apis.jar,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 Binary files /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar 2004/10/19 00:10:04 1.2 and /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar 2004/11/01 19:16:26 1.3 differ rcsdiff: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar: diff failed =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/commons-logging.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/icu4j.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jakarta-oro-2.0.5.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 Binary files /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar 2004/10/19 00:10:05 1.2 and /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar 2004/11/01 19:16:26 1.3 differ rcsdiff: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar: diff failed =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jena.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/junit.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/mail.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/rdf-api-2001-01-19.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/xercesImpl.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/xml-apis.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 From nopushneva at pub.open-bio.org Mon Nov 1 14:21:42 2004 From: nopushneva at pub.open-bio.org (Nina Opushneva) Date: Mon, 1 Nov 2004 14:21:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411011921.iA1JLgjh017640@pub.open-bio.org> nopushneva Mon Nov 1 14:21:42 EST 2004 Update of /home/repository/moby/moby-live/Java In directory pub.open-bio.org:/tmp/cvs-serv17614 Modified Files: build.xml Log Message: add target for building RDFagent files moby-live/Java build.xml,1.8,1.9 =================================================================== RCS file: /home/repository/moby/moby-live/Java/build.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Java/build.xml 2004/10/18 14:35:05 1.8 +++ /home/repository/moby/moby-live/Java/build.xml 2004/11/01 19:21:42 1.9 @@ -31,7 +31,7 @@ - + @@ -42,6 +42,7 @@ + @@ -65,7 +66,8 @@ - + + @@ -104,6 +106,8 @@ + + @@ -176,6 +180,7 @@ + @@ -193,7 +198,7 @@ - + @@ -212,6 +217,7 @@ + @@ -388,6 +394,28 @@ + + + + + + + + + + + + + + + + + + + + + @@ -431,8 +459,53 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From gss at pub.open-bio.org Thu Nov 4 17:21:20 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:21:20 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042221.iA4MLKue031258@pub.open-bio.org> gss Thu Nov 4 17:21:20 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv31225/src/org/smoby/graph/tools Modified Files: MOBYProviderXMLGenerator.java MOBYProviderVisitor.java MOBYProviderTraverser.java Added Files: MOBYProviderVisitorAdapter.java Log Message: Experimental package moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools MOBYProviderVisitorAdapter.java,NONE,1.1 MOBYProviderXMLGenerator.java,1.1,1.2 MOBYProviderVisitor.java,1.1,1.2 MOBYProviderTraverser.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java 2004/11/04 22:21:19 1.2 @@ -1,6 +1,7 @@ package org.smoby.graph.tools; import org.smoby.graph.*; + import java.io.*; public class MOBYProviderXMLGenerator implements MOBYProviderVisitor @@ -45,11 +46,11 @@ } public boolean visitGraphBegin(MOBYGraph graph) { - return start("graph", null, false); + return start("moby-graph", null, false); } public void visitGraphEnd(MOBYGraph graph) { - end("graph"); + end("moby-graph"); } public boolean visitHasMappingBegin(MOBYGraphNode graphNode) { @@ -159,4 +160,18 @@ { currentIndent -= 4; } + + public boolean visitSubjectPropValStmtsBegin(MOBYCollection stmts) throws MOBYProviderTraversalException { + return false; + } + + public void visitSubjectPropValStmtsEnd(MOBYCollection stmts) throws MOBYProviderTraversalException { + } + + public boolean visitSubjectPropValStmtBegin(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException { + return false; + } + + public void visitSubjectPropValStmtEnd(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException { + } } =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java 2004/11/04 22:21:19 1.2 @@ -8,41 +8,48 @@ // public boolean visitProviderBegin(MOBYProvider provider) throws MOBYProviderTraversalException; - public void visitProviderEnd(MOBYProvider provider); + public void visitProviderEnd(MOBYProvider provider) + throws MOBYProviderTraversalException; // Visitation of the collection of things the provider operates on // public boolean visitOperatesOnBegin(MOBYCollection subgraphs) throws MOBYProviderTraversalException; - public void visitOperatesOnEnd(MOBYCollection subgraphs); + public void visitOperatesOnEnd(MOBYCollection subgraphs) + throws MOBYProviderTraversalException; // Visitation of an operatesOn subgraph // public boolean visitGraphBegin(MOBYGraph graph) throws MOBYProviderTraversalException; - public void visitGraphEnd(MOBYGraph graph); + public void visitGraphEnd(MOBYGraph graph) + throws MOBYProviderTraversalException; // Visitation of a hasMapping // public boolean visitHasMappingBegin(MOBYGraphNode graphNode) throws MOBYProviderTraversalException; - public void visitHasMappingEnd(MOBYGraphNode graphNode); + public void visitHasMappingEnd(MOBYGraphNode graphNode) + throws MOBYProviderTraversalException; // Visitation of a subject // public boolean visitSubjectBegin(MOBYSubject subject) throws MOBYProviderTraversalException; - public void visitSubjectEnd(MOBYSubject subject); + public void visitSubjectEnd(MOBYSubject subject) + throws MOBYProviderTraversalException; // Visitation of a set of property value statements // - public boolean visitPropValStmtsBegin(MOBYCollection stmts) + public boolean visitSubjectPropValStmtsBegin(MOBYCollection stmts) + throws MOBYProviderTraversalException; + public void visitSubjectPropValStmtsEnd(MOBYCollection stmts) throws MOBYProviderTraversalException; - public void visitPropValStmtsEnd(MOBYCollection stmts); // Visitation of a given property value statement // - public boolean visitPropValStmtBegin(MOBYPropertyValueStatement stmt) + public boolean visitSubjectPropValStmtBegin(MOBYPropertyValueStatement stmt) + throws MOBYProviderTraversalException; + public void visitSubjectPropValStmtEnd(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException; - public void visitPropValStmtEnd(MOBYPropertyValueStatement stmt); } =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java 2004/11/04 22:21:19 1.2 @@ -7,6 +7,13 @@ public class MOBYProviderTraverser { + public void traverse(MOBYProvider provider, MOBYProviderVisitor visitor) + { + try { + traverse(provider, visitor, false); + } catch (MOBYProviderTraversalException e) {} + } + /** * Traverse the given provider, visiting its components with the * given visitor. @@ -16,7 +23,9 @@ * @return whether or not the visitor said to stop before the * entire provider graph was traversed */ - private void traverse(MOBYProvider provider, MOBYProviderVisitor visitor) + public void traverse(MOBYProvider provider, MOBYProviderVisitor visitor, + boolean rethrowExceptions) + throws MOBYProviderTraversalException { try { @@ -54,7 +63,12 @@ } // Visitors indicate that traversal should stop by throwing // provider traversal exceptions. - catch (MOBYProviderTraversalException e) {} + catch (MOBYProviderTraversalException e) + { + if (rethrowExceptions) { + throw e; + } + } } /** @@ -96,7 +110,7 @@ if (keepGoing) { MOBYCollection coll = subject.getPropertyValueStatements(); - keepGoing = visitor.visitPropValStmtsBegin(coll); + keepGoing = visitor.visitSubjectPropValStmtsBegin(coll); if (keepGoing) { Iterator it = subject.getPropertyValueStatements().iterator(); @@ -104,12 +118,12 @@ { MOBYPropertyValueStatement stmt = (MOBYPropertyValueStatement) it.next(); - if (visitor.visitPropValStmtBegin(stmt)) { - visitor.visitPropValStmtEnd(stmt); + if (visitor.visitSubjectPropValStmtBegin(stmt)) { + visitor.visitSubjectPropValStmtEnd(stmt); } } } - visitor.visitPropValStmtsEnd(coll); + visitor.visitSubjectPropValStmtsEnd(coll); } if (keepGoing) @@ -140,15 +154,15 @@ return keepGoing; } - public static void main(String[] args) throws Exception - { - File f = new File("get-individuals.n3"); - Parser parser = Parser.forN3File(f); - MOBYProvider provider = parser.parseProvider(); - - MOBYProviderTraverser traverser = new MOBYProviderTraverser(); - MOBYProviderXMLGenerator printer = new MOBYProviderXMLGenerator(); - - traverser.traverse(provider, printer); - } +// public static void main(String[] args) throws Exception +// { +// File f = new File("get-individuals.n3"); +// Parser parser = Parser.forN3File(f); +// MOBYProvider provider = parser.parseProvider(); +// +// MOBYProviderTraverser traverser = new MOBYProviderTraverser(); +// MOBYProviderXMLGenerator printer = new MOBYProviderXMLGenerator(); +// +// traverser.traverse(provider, printer); +// } } From gss at pub.open-bio.org Thu Nov 4 17:22:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:22:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042222.iA4MMT1F031299@pub.open-bio.org> gss Thu Nov 4 17:22:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv31274/src/org/smoby/http Modified Files: HTTPRequest.java Log Message: Misc fixes moby-live/S-MOBY/ref-impl/core/src/org/smoby/http HTTPRequest.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java 2004/05/24 22:05:35 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java 2004/11/04 22:22:29 1.2 @@ -16,18 +16,21 @@ public class HTTPRequest { /** - * Constant meaning to use HTTP GET as the method for communicating - * with the registration server. + * Constant meaning to use HTTP GET as the method */ public final static int HTTP_GET = 0; /** - * Constant meaning to use HTTP POST as the method for communicating - * with the registration server. + * Constant meaning to use HTTP POST as the method */ public final static int HTTP_POST = 1; /** + * Constant meaning to use HTTP HEAD as the method + */ + public final static int HTTP_HEAD = 2; + + /** * The URL of the server to be contacted */ private String serverURL = null; @@ -63,6 +66,11 @@ return new HTTPRequest(serverURL, HTTP_POST); } + public static HTTPRequest newHeadRequest(String uri) + { + return new HTTPRequest(uri, HTTP_HEAD); + } + public void addParameter(String paramName, String paramValue) { params.add(new NameValuePair(paramName, paramValue)); @@ -97,20 +105,27 @@ { HttpMethod methodObject = null; - if (method == HTTP_GET) { - methodObject = new GetMethod(getURLString()); - } - else if (method == HTTP_POST) - { - methodObject = new PostMethod(getURLString()); - NameValuePair[] paramArray = new NameValuePair[params.size()]; - Iterator it = params.iterator(); - for (int i = 0; i < paramArray.length; i++) - { - paramArray[i] = (NameValuePair) it.next(); - } - ((PostMethod) methodObject).setRequestBody(paramArray); - } + switch (method) + { + case HTTP_GET : + methodObject = new GetMethod(getURLString()); + break; + + case HTTP_POST : + methodObject = new PostMethod(getURLString()); + NameValuePair[] paramArray = new NameValuePair[params.size()]; + Iterator it = params.iterator(); + for (int i = 0; i < paramArray.length; i++) + { + paramArray[i] = (NameValuePair) it.next(); + } + ((PostMethod) methodObject).setRequestBody(paramArray); + break; + + case HTTP_HEAD : + methodObject = new HeadMethod(getURLString()); + break; + } // Add request headers to the method // @@ -136,8 +151,8 @@ try { methodObject.getResponseBodyAsString(); - } catch (IOException e) { - throw new HTTPException("Couldn't get response body", e); + } catch (Throwable t) { + throw new HTTPException("Couldn't get response body", t); } methodObject.releaseConnection(); From gss at pub.open-bio.org Thu Nov 4 17:23:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:23:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042223.iA4MNAFp031337@pub.open-bio.org> gss Thu Nov 4 17:23:10 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser In directory pub.open-bio.org:/tmp/cvs-serv31312/src/org/smoby/parser Modified Files: Parser.java Log Message: Misc moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser Parser.java,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java 2004/07/29 23:35:09 1.7 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java 2004/11/04 22:23:10 1.8 @@ -34,6 +34,12 @@ * plus all statements that are reachable from it. */ private List subModels = new ArrayList(); + + /** + * A map relating a property's URI to an Inference model derived from + * its base model + */ + private Map cachedPropertyModels = new HashMap(); /** * Create and return a parser for parsing an N3 file @@ -426,13 +432,20 @@ */ private InfModel getPropertyModel(Property p) { - Model model = ModelRetriever.retrieveModel(p.getURI()); + InfModel cachedModel = (InfModel) + cachedPropertyModels.get(p.getURI()); - if (model == null) { - return null; - } else { - return ModelFactory.createRDFSModel(model); + if (cachedModel == null) + { + Model model = ModelRetriever.retrieveModel(p.getURI()); + + if (model != null) + { + cachedModel = ModelFactory.createRDFSModel(model); + cachedPropertyModels.put(p.getURI(), cachedModel); + } } + return cachedModel; } /** From gss at pub.open-bio.org Thu Nov 4 17:23:34 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:23:34 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042223.iA4MNYSr031375@pub.open-bio.org> gss Thu Nov 4 17:23:33 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv31350/src/org/smoby/servlet Modified Files: AbstractMobyServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet AbstractMobyServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java 2004/05/24 22:05:34 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java 2004/11/04 22:23:33 1.2 @@ -100,10 +100,11 @@ try { - // Read the invocation graph from the "graph" parameter - // and parse it into a MOBYGraph object + // Read the invocation graph from the MOBY.GRAPH_PARAMETER_NAME + // parameter and parse it into a MOBYGraph object // - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Parser parser = Parser.forString( graphString, Parser.LANGUAGE_RDF_XML); MOBYProvider provider = parser.parseProvider(); From gss at pub.open-bio.org Thu Nov 4 17:25:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:25:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042225.iA4MPUr5031418@pub.open-bio.org> gss Thu Nov 4 17:25:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv31393/src/org/smoby/vocabulary Modified Files: MOBY.java Log Message: Added properties for inputURI and outputURI moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary MOBY.java,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java 2004/07/19 21:22:09 1.6 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java 2004/11/04 22:25:30 1.7 @@ -7,6 +7,14 @@ { public final static String IF_MODIFIED_HEADER = "If-Modified-Since"; public final static String LAST_MODIFIED_HEADER = "Last-Modified"; + + /** + * When doing an HTTP POST to a Semantic MOBY provider (i.e. + * engaging the provider), the graph that the provider is to + * operate on is stored in a parameter with this name, whose + * value is a serialized RDF/XML graph. + */ + public final static String GRAPH_PARAMETER_NAME = "graph"; public static String getURI() { @@ -31,6 +39,8 @@ public static final Property name = property(getURI(), "name"); public static final Property oneLineDescription = property(getURI(), "oneLineDescription"); public static final Property aboutURI = property(getURI(), "aboutURI"); + public static final Property inputURI = property(getURI(), "inputURI"); + public static final Property outputURI = property(getURI(), "outputURI"); public static final Property operatesOn = property(getURI(), "operatesOn"); public static final Property hasMapping = property(getURI(), "hasMapping"); public static final Property mapsTo = property(getURI(), "mapsTo"); From gss at pub.open-bio.org Thu Nov 4 17:26:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:26:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042226.iA4MQmeQ031460@pub.open-bio.org> gss Thu Nov 4 17:26:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp In directory pub.open-bio.org:/tmp/cvs-serv31436/WebRoot/jsp Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:26:49 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:26:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042226.iA4MQnG3031494@pub.open-bio.org> gss Thu Nov 4 17:26:49 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp In directory pub.open-bio.org:/tmp/cvs-serv31473/WebRoot/jsp Added Files: display.jsp display-redirector.jsp Log Message: Utility JSPs moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp display.jsp,NONE,1.1 display-redirector.jsp,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:27:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:27:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042227.iA4MRgnl031548@pub.open-bio.org> gss Thu Nov 4 17:27:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv31523/WebRoot Modified Files: index.html Log Message: Added text to enter * for all providers moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot index.html,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/07/21 22:35:25 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/04 22:27:42 1.4 @@ -24,7 +24,11 @@
    Type any terms into the boxes above and press Search
    -(for example type 'hello' (without quotes) into the Provider box) +(for example type 'hello' (without quotes) into the Provider field, +
    +or to see all providers, type just an asterisk (*) into the +
    +Provider field and leave the other fields blank)

    @@ -54,6 +58,7 @@
    org.smoby.vocabulary.MOBYorg.semanticmoby.vocabulary.MOBY
    +public static final java.lang.StringGRAPH_PARAMETER_NAME"graph"
    + public static final java.lang.StringIF_MODIFIED_HEADERIF_MODIFIED_HEADER "If-Modified-Since"
    + public static final java.lang.StringLAST_MODIFIED_HEADERLAST_MODIFIED_HEADER "Last-Modified"

    + From gss at pub.open-bio.org Thu Nov 4 17:28:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MS2bq031582@pub.open-bio.org> gss Thu Nov 4 17:28:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello In directory pub.open-bio.org:/tmp/cvs-serv31553/WebRoot/examples/hello Modified Files: hello-world.n3 hello-world.rdf Log Message: Added inputURI and outputURI moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello hello-world.n3,1.2,1.3 hello-world.rdf,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3 2004/11/04 22:28:02 1.3 @@ -10,6 +10,7 @@ a moby:Provider, exterms:GreetingProvider ; moby:name "Semantic MOBY Hello World provider" ; moby:oneLineDescription "Simple example of a Semantic MOBY provider" ; + moby:outputURI "http://www.semanticmoby.org/examples/display-hello-world-results" ; moby:operatesOn [ a moby:Graph ; moby:hasMapping [ =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf 2004/11/04 22:28:02 1.3 @@ -8,21 +8,22 @@ xmlns:moby="http://www.semanticmoby.org/ontologies/core/" > + http://www.semanticmoby.org/examples/display-hello-world-results Simple example of a Semantic MOBY provider Semantic MOBY Hello World provider - - - - - + + + + + - + \ No newline at end of file From gss at pub.open-bio.org Thu Nov 4 17:28:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSjS8031611@pub.open-bio.org> gss Thu Nov 4 17:28:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv31587/src/org/smoby/ref/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:28:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSjM1031629@pub.open-bio.org> gss Thu Nov 4 17:28:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv31587/src/org/smoby/ref/vocabulary/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:28:47 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:47 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSluQ031666@pub.open-bio.org> gss Thu Nov 4 17:28:47 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv31645/src/org/smoby/ref/vocabulary/example Added Files: Hello.java Log Message: Vocabulary for Hello World provider moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example Hello.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:30:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUjj7031721@pub.open-bio.org> gss Thu Nov 4 17:30:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv31697/WebRoot/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:30:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUjsh031739@pub.open-bio.org> gss Thu Nov 4 17:30:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images In directory pub.open-bio.org:/tmp/cvs-serv31697/WebRoot/meeting/images Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:30:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUmEG031799@pub.open-bio.org> gss Thu Nov 4 17:30:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images In directory pub.open-bio.org:/tmp/cvs-serv31763/WebRoot/meeting/images Added Files: moby.png ncgr.png Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images moby.png,NONE,1.1 ncgr.png,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:30:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUmLN031784@pub.open-bio.org> gss Thu Nov 4 17:30:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv31763/WebRoot/meeting Added Files: index.html missing-fields.jsp registration-form.html registration-confirmation.jsp lodging.html shuttles.html Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting index.html,NONE,1.1 missing-fields.jsp,NONE,1.1 registration-form.html,NONE,1.1 registration-confirmation.jsp,NONE,1.1 lodging.html,NONE,1.1 shuttles.html,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:31:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:31:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042231.iA4MVa0L031864@pub.open-bio.org> gss Thu Nov 4 17:31:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org In directory pub.open-bio.org:/tmp/cvs-serv31831 Modified Files: .project .mymetadata .classpath Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org .project,1.1,1.2 .mymetadata,1.2,1.3 .classpath,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project 2004/11/04 22:31:36 1.2 @@ -35,6 +35,16 @@ + + com.ibm.etools.validation.validationbuilder + + + + + com.ibm.sse.model.structuredbuilder + + + com.genuitec.eclipse.ast.deploy.core.deploymentnature =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata 2004/07/21 22:00:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata 2004/11/04 22:31:36 1.3 @@ -1,8 +1,13 @@ - - - - + + + + + =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/04 22:31:36 1.2 @@ -3,20 +3,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + From gss at pub.open-bio.org Thu Nov 4 17:32:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:32:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MW52U031902@pub.open-bio.org> gss Thu Nov 4 17:32:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv31877/WebRoot/WEB-INF Modified Files: web.xml Log Message: Added misc. servlets moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF web.xml,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml 2004/11/04 22:32:05 1.3 @@ -10,6 +10,13 @@ + DiscoveryServlet + find-providers + Discovery servlet + org.smoby.ref.servlets.DiscoveryServlet + + + KeywordSearchServlet keyword-search Keyword search servlet @@ -24,11 +31,25 @@ + ResultsDisplayServlet + display-results + Results display servlet + org.smoby.ref.servlets.ResultsDisplayServlet + + + HelloWorldServlet hello-world Hello World simple application org.smoby.ref.servlets.example.HelloWorldServlet + + + HelloWorldDisplayServlet + hello-world-display + Servlet to display results of invocation of hello-world application + org.smoby.ref.servlets.example.HelloWorldDisplayServlet + GraphConversionServlet @@ -58,6 +79,13 @@ org.smoby.ref.servlets.dev.MOBYGraphValidationServlet + + MeetingRegistrationServlet + Meeting Registration Servlet + Respond to registration form submission + org.smoby.meeting.MeetingRegistrationServlet + + @@ -71,16 +99,31 @@ + DiscoveryServlet + /find-providers + + + ProviderEngagementServlet /engage-provider + ResultsDisplayServlet + /display-results + + + HelloWorldServlet /examples/hello-world + HelloWorldDisplayServlet + /examples/display-hello-world-results + + + GraphConversionServlet /dev/convert-graph @@ -100,4 +143,9 @@ /dev/validate-canonical-graph + + MeetingRegistrationServlet + /meeting/register + + From gss at pub.open-bio.org Thu Nov 4 17:32:20 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:32:20 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MWKrg031931@pub.open-bio.org> gss Thu Nov 4 17:32:20 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv31907/src/org/smoby/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 17:32:22 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:32:22 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MWM04031965@pub.open-bio.org> gss Thu Nov 4 17:32:21 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv31944/src/org/smoby/meeting Added Files: MeetingRegistrationServlet.java Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting MeetingRegistrationServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:33:03 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:33:03 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MX3FB032003@pub.open-bio.org> gss Thu Nov 4 17:33:03 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv31978/src/org/smoby/ref/servlets Modified Files: BaseServlet.java Log Message: Added doc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets BaseServlet.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java 2004/07/21 22:01:19 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java 2004/11/04 22:33:03 1.3 @@ -1,17 +1,16 @@ package org.smoby.ref.servlets; import java.io.*; -import java.util.Hashtable; - +import java.util.*; import javax.servlet.*; import javax.servlet.http.*; - import org.smoby.ref.tools.*; import org.smoby.servlet.*; import org.apache.log4j.*; /** - * A common base class for MOBY servlets + * A common base class for servlets that are part of the + * Semantic MOBY site itself. */ public abstract class BaseServlet extends HttpServlet { @@ -50,12 +49,22 @@ } } - protected void startHTML(HttpServletResponse response, PrintStream out) + /** + * Write a standard batch of HTML, including the Semantic + * MOBY logo. + * @param response the servlet response object + * @param title the title to use for the browser page + * @param out print stream to which HTML should be written + */ + protected void startHTML(HttpServletResponse response, + String title, PrintStream out) { response.setContentType("text/html"); out.println(""); out.println(""); - out.println("Semantic MOBY search results"); + out.print(""); + out.print(title); + out.println(""); out.println(""); out.println("
    "); out.println("

    "); @@ -71,7 +80,11 @@ out.println(""); } - protected void finishHTML(HttpServletResponse response, PrintStream out) + /** + * Write a closing batch of HTML to match what was written by + * the startHTML() method + */ + protected void finishHTML(PrintStream out) { out.println(""); out.println(""); From gss at pub.open-bio.org Thu Nov 4 17:33:26 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:33:26 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MXQ2d032051@pub.open-bio.org> gss Thu Nov 4 17:33:26 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32026/src/org/smoby/ref/servlets Modified Files: DiscoveryServlet.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets DiscoveryServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java 2004/11/04 22:33:26 1.2 @@ -1,9 +1,9 @@ package org.smoby.ref.servlets; +import org.smoby.ref.tools.*; import org.smoby.servlet.*; import org.smoby.graph.*; import org.smoby.parser.*; -import org.smoby.ref.tools.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.rdql.*; import java.io.*; From gss at pub.open-bio.org Thu Nov 4 17:33:50 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:33:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MXoP7032089@pub.open-bio.org> gss Thu Nov 4 17:33:50 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32064/src/org/smoby/ref/servlets Modified Files: KeywordSearchServlet.java Log Message: Added doc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets KeywordSearchServlet.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java 2004/07/21 22:35:25 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java 2004/11/04 22:33:50 1.4 @@ -6,9 +6,29 @@ import javax.servlet.http.*; import org.smoby.graph.*; import org.smoby.ref.tools.*; +import org.smoby.vocabulary.MOBY; +/** + * This servlet class is used to search the Semantic MOBY metadata + * repository for providers that match keywords. It produces a page + * of search results, including a result count and information about + * each matching provider. + *

    + * In the process of registration of a Semantic MOBY provider, nodes + * in the provider description graph, which represent the provider, + * subjects, and objects (i.e. they are subjects of statements whose + * predicate is rdf:type, and whose object is moby:Provider, + * moby:Subject, and moby:Object, respectively) are examined for + * other statements with rdf:type as their predicate, but with other + * non-MOBY classes as their objects. For each of non-MOBY classes, + * an attempt is made to retrieve the class definition. If the + * definition is a valid MOBY graph + */ public class KeywordSearchServlet extends BaseServlet { + /** + * Perform a search based on keywords. + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -18,7 +38,7 @@ List accepts = getKeywords("accepts", request); List returns = getKeywords("returns", request); - startHTML(response, out); + startHTML(response, "Semantic MOBY keyword search results", out); if ((provider.isEmpty()) && (accepts.isEmpty()) && (returns.isEmpty())) { showResultCount(-1, out); @@ -37,29 +57,41 @@ showProvider(p, out); } } - finishHTML(response, out); + finishHTML(out); } + /** + * Return a list of keywords for the given parameter name (i.e. + * "provider", "accepts", or "returns") + */ private List getKeywords(String paramName, HttpServletRequest request) { List keywords = new ArrayList(); + // If the parameter is not defined or is blank, + // then return an empty list + // String value = request.getParameter(paramName); if (value == null) return keywords; - value = value.trim(); - if (value.length() == 0) return keywords; + // Use a stream tokenizer to parse the keywords. Make sure the + // tokenizer doesn't strip out the wildcard character ('*') + // StreamTokenizer st = new StreamTokenizer(new StringReader(value)); st.wordChars('*', '*'); - st.wordChars('%', '%'); + try { while (st.nextToken() != StreamTokenizer.TT_EOF) { if (st.sval != null) { + // The keywords will be used as part of an SQL "LIKE" + // query, which uses '%' as a wildcard instead of the + // more conventional '*', so replace '%' with '*' + // String val = st.sval.toLowerCase().trim().replace('*', '%'); keywords.add(val); } @@ -69,18 +101,34 @@ return keywords; } + /** + * Show the count of providers that match the keyword search + * criteria. + */ private void showResultCount(int count, PrintStream out) { out.println(""); out.println(""); out.println(" + NEXT PACKAGENEXT PACKAGENEXTNEXT
    "); - if (count < 0) { + if (count < 0) + { + // A negative count indicates that no keywords were given. + // out.println("No keywords were entered, so no search was performed."); - } else if (count < 1) { + } + else if (count == 0) + { + // Indicate that no matching providers were found, and + // give the user feedback as to why this might be expected. + // out.println("No matching providers were found. Note that"); out.println("very few providers have yet been defined."); - } else { + } + else + { + // Show how many providers were found + // out.println(count + " matching provider" + (count > 1 ? "s" : "") + " found"); } @@ -90,6 +138,9 @@ out.println("
    "); } + /** + * Show a provider that matches the keyword search criteria. + */ private void showProvider(MOBYProvider provider, PrintStream out) { String uri = provider.getResource().getURI(); @@ -97,11 +148,18 @@ String description = provider.getOneLineDescription(); String moreInfo = provider.getMoreInfoURI(); + // Display a link to the Semantic MOBY engage-provider service + // out.println(""); out.print(""); + + // If the provider has a name (MOBY.name property), then + // display that for the text of the above link; otherwise, + // use the URI of the provider. + // if ((name != null) && (name.trim().length() > 0)) { out.println(name); } else { @@ -109,13 +167,21 @@ } out.print(""); out.println(""); + + // Provide a link to the provider description graph itself, and + // use the RDF logo as a picture for the link + // out.print(""); - out.print("\"Definition\""); + out.print("\"View"); out.print(""); out.println("
    "); + // If the provider has a description (MOBY.oneLineDescription + // property), then display it here; otherwise, indicate that + // the provider has no description. + // if ((description != null) && (description.trim().length() > 0)) { out.println(description); } else { @@ -123,6 +189,10 @@ } out.println("
    "); + // If a URI was provided for finding more information + // (MOBY.aboutURI property), then display a link to + // that URI. + // if ((moreInfo != null) && (moreInfo.trim().length() > 0)) { out.println("For more information see " + moreInfo + ""); @@ -130,6 +200,9 @@ out.println("
    "); } + /** + * Handle POST requests the same way as GET requests + */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { From gss at pub.open-bio.org Thu Nov 4 17:34:16 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:34:16 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYGF0032127@pub.open-bio.org> gss Thu Nov 4 17:34:16 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32102/src/org/smoby/ref/servlets Modified Files: ProviderEngagementServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ProviderEngagementServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java 2004/07/21 22:01:19 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java 2004/11/04 22:34:16 1.2 @@ -1,23 +1,25 @@ package org.smoby.ref.servlets; import java.io.*; - import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.ParamReader; -import org.smoby.servlet.ParameterException; +import org.smoby.ref.tools.*; +import org.smoby.servlet.*; public class ProviderEngagementServlet extends BaseServlet { - public void doGet(HttpServletRequest request, HttpServletResponse response) + /** + * When engaged through a GET... + */ + public void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { - - String providerURL = null; + String providerURI = null; try { - providerURL = ParamReader.getParameter("provider-url", request); + providerURI = ParamReader.getParameter("provider-url", request); } catch (ParameterException e) { @@ -29,10 +31,11 @@ PrintStream out = new PrintStream(response.getOutputStream()); response.setContentType("text/html"); - startHTML(response, out); - out.println("Sorry, the invocation interface is still"); - out.println("under development. Please check back soon."); - finishHTML(response, out); + startHTML(response, "Semantic MOBY provider invocation", out); + InvocationBroker broker = + new InvocationBroker(this, request, response, out); + broker.invokeURI(providerURI); + finishHTML(out); } public void doPost(HttpServletRequest request, HttpServletResponse response) From gss at pub.open-bio.org Thu Nov 4 17:34:32 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:34:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYWfa032167@pub.open-bio.org> gss Thu Nov 4 17:34:32 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32142/src/org/smoby/ref/servlets Modified Files: ProviderInvestigationServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ProviderInvestigationServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java 2004/11/04 22:34:32 1.2 @@ -5,17 +5,19 @@ import javax.servlet.*; import javax.servlet.http.*; import org.apache.commons.logging.*; -import org.smoby.ref.tools.db.*; import org.smoby.graph.*; import org.smoby.ref.tools.*; +import org.smoby.ref.tools.db.*; import org.smoby.servlet.*; /** - * This servlet class is used to request that S-MOBY investigate a URL for the - * possibility of its having a provider description graph. It responds to both - * GET and POST requests, and expects a "provider-url" parameter to be sent. - * The only feedback given is that if the provider-url is missing, the response - * status is set to 406 NOT ACCEPTABLE; otherwise, the status is set to 200 OK. + * This servlet class is used to request that S-MOBY investigate + * a URL for the possibility of its having a provider description + * graph. It responds to both GET and POST requests, and expects a + * "provider-url" parameter to be sent. The only feedback given is + * that if the provider-url is missing, the response status is set + * to 406 NOT ACCEPTABLE; otherwise, the status is set to 200 OK, + * and a generic thank you message is returned. */ public class ProviderInvestigationServlet extends BaseServlet { @@ -24,15 +26,17 @@ /** * Respond to an HTTP GET message */ - public void doGet(HttpServletRequest request, HttpServletResponse response) + public void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { try { - // Get the provider-url parameter, and call the static investigate() - // method on the ProviderInvestigator class to do the actual - // investigation of the URL. No response is explicitly returned (a - // 200 OK status is automatically returned). + // Get the provider-url parameter, and call the static + // investigate() method on the ProviderInvestigator class + // to do the actual investigation of the URL. No response + // is explicitly returned (a 200 OK status is automatically + // returned). // String providerURL = ParamReader.getParameter("provider-url", request); URIInvestigator.investigate(providerURL); @@ -43,28 +47,35 @@ // The provider URL is missing // syncLog.error("GET without provider-url parameter"); - response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE, e.getMessage()); + response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE, + e.getMessage()); } } /** * Handle an HTTP POST message in the same way an HTTP GET is handled. */ - public void doPost(HttpServletRequest request, HttpServletResponse response) + public void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } - private void acknowledgeSuggestion(String url, HttpServletResponse response) + /** + * Provide a generic "thank you for your suggestion" response, + * regardless of the outcome of the investigation. + */ + private void acknowledgeSuggestion(String url, + HttpServletResponse response) throws IOException { response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - out.println(""); + PrintStream out = new PrintStream(response.getOutputStream()); + startHTML(response, "Thanks for the suggestion", out); out.println("Thank you.

    Your suggestion to look at "); out.println("" + url + ""); out.println(" has been noted."); - out.println(""); + finishHTML(out); } } \ No newline at end of file From gss at pub.open-bio.org Thu Nov 4 17:34:52 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:34:52 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYqQG032201@pub.open-bio.org> gss Thu Nov 4 17:34:51 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32180/src/org/smoby/ref/servlets Added Files: ResultsDisplayServlet.java Log Message: Servlet for displaying results moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ResultsDisplayServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:35:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:35:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042235.iA4MZaAs032241@pub.open-bio.org> gss Thu Nov 4 17:35:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32216/src/org/smoby/ref/servlets/dev Modified Files: GraphConversionServlet.java Log Message: Use symbolic GRAPH_PARAMETER_NAME moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev GraphConversionServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java 2004/11/04 22:35:36 1.2 @@ -3,6 +3,7 @@ import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.ParamReader; import org.smoby.servlet.ParameterException; +import org.smoby.vocabulary.MOBY; import com.hp.hpl.jena.rdf.model.*; @@ -19,7 +20,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); String inputFormat = ParamReader.getParameter( "input-format", request, false, From gss at pub.open-bio.org Thu Nov 4 17:36:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:36:15 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MaFFn032299@pub.open-bio.org> gss Thu Nov 4 17:36:15 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32270/src/org/smoby/ref/servlets/dev Modified Files: MOBYGraphValidationServlet.java OWLValidationServlet.java Log Message: Use symbolic GRAPH_PARAMETER_NAME moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev MOBYGraphValidationServlet.java,1.1,1.2 OWLValidationServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java 2004/11/04 22:36:15 1.2 @@ -3,6 +3,7 @@ import org.smoby.parser.Parser; import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.*; +import org.smoby.vocabulary.MOBY; import org.smoby.graph.*; import com.hp.hpl.jena.rdf.model.*; @@ -21,7 +22,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Model baseModel = ModelFactory.createDefaultModel(); StringReader reader = new StringReader(graphString); baseModel.read(reader, null); =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java 2004/11/04 22:36:15 1.2 @@ -3,6 +3,7 @@ import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.ParamReader; import org.smoby.servlet.ParameterException; +import org.smoby.vocabulary.MOBY; import com.hp.hpl.jena.ontology.*; import com.hp.hpl.jena.ontology.tidy.*; @@ -23,7 +24,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Model baseModel = ModelFactory.createDefaultModel(); StringReader reader = new StringReader(graphString); baseModel.read(reader, null); From gss at pub.open-bio.org Thu Nov 4 17:36:27 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:36:27 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MaR3J032329@pub.open-bio.org> gss Thu Nov 4 17:36:27 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32304/src/org/smoby/ref/servlets/dev Modified Files: ProviderListServlet.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev ProviderListServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java 2004/11/04 22:36:27 1.2 @@ -1,8 +1,8 @@ package org.smoby.ref.servlets.dev; -import org.smoby.vocabulary.*; import org.smoby.ref.servlets.*; import org.smoby.ref.tools.db.*; +import org.smoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.vocabulary.*; import java.io.*; From gss at pub.open-bio.org Thu Nov 4 17:36:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:36:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MakQm032363@pub.open-bio.org> gss Thu Nov 4 17:36:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv32342/src/org/smoby/ref/servlets/example Added Files: HelloWorldDisplayServlet.java Log Message: Servlet for displaying results moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example HelloWorldDisplayServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:37:18 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:37:18 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042237.iA4MbI8g032398@pub.open-bio.org> gss Thu Nov 4 17:37:18 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32377/src/org/smoby/ref/tools Added Files: InvocationBroker.java Log Message: Helper class for invoking providers moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools InvocationBroker.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 17:37:54 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:37:54 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042237.iA4MbsdS032436@pub.open-bio.org> gss Thu Nov 4 17:37:54 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32411/src/org/smoby/ref/tools Modified Files: KeywordQuery.java Log Message: Misc fixes moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools KeywordQuery.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java 2004/07/21 22:01:19 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java 2004/11/04 22:37:54 1.2 @@ -79,14 +79,30 @@ private String buildQueryString() { - StringBuffer sb = new StringBuffer(); - - addSelectClause(sb); - addFromClause(sb); - addJoinClauses(sb); - addCompareClauses(sb); - - return sb.toString(); + if (isAllProvidersQuery()) + { + return "SELECT DISTINCT provider_uri FROM moby_keyword"; + } + else + { + StringBuffer sb = new StringBuffer(); + + addSelectClause(sb); + addFromClause(sb); + addJoinClauses(sb); + addCompareClauses(sb); + + return sb.toString(); + } + } + + private boolean isAllProvidersQuery() + { + return + (subjectKeywords.isEmpty()) && + (objectKeywords.isEmpty()) && + (providerKeywords.size() == 1) && + (providerKeywords.get(0).toString().equals("%")); } private void addSelectClause(StringBuffer sb) @@ -136,7 +152,6 @@ private void addCompareClauses(StringBuffer sb) { - List prev = null; int index = 0; @@ -181,7 +196,7 @@ sb.append("applies_to = '"); sb.append(appliesTo); sb.append("') and "); - + if (list.size() > 1) sb.append("("); @@ -203,18 +218,4 @@ sb.append(")"); } - -// public static void main(String[] args) -// { -// String[] pArray = new String[] { "p1", "p2" }; -// String[] sArray = new String[] { "s1", "s2" }; -// String[] oArray = new String[] { "o1", "o2", "o3" }; -// -// KeywordQuery q = new KeywordQuery( -// Arrays.asList(pArray), -// Arrays.asList(sArray), -// Arrays.asList(oArray)); -// -// System.out.println(q.buildQueryString()); -// } } From gss at pub.open-bio.org Thu Nov 4 17:38:14 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:38:14 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042238.iA4McEhK032478@pub.open-bio.org> gss Thu Nov 4 17:38:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32453/src/org/smoby/ref/tools Modified Files: URIInvestigator.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools URIInvestigator.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java 2004/07/21 22:01:19 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java 2004/11/04 22:38:14 1.3 @@ -4,10 +4,10 @@ import java.io.*; import javax.servlet.http.*; +import org.smoby.ref.tools.db.*; import org.smoby.tools.*; import org.smoby.http.*; import org.smoby.parser.*; -import org.smoby.ref.tools.db.*; import org.smoby.graph.*; import org.smoby.vocabulary.*; import org.apache.commons.httpclient.util.*; From senger at pub.open-bio.org Thu Nov 4 19:49:20 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Thu, 4 Nov 2004 19:49:20 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411050049.iA50nKD4000401@pub.open-bio.org> senger Thu Nov 4 19:49:20 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util In directory pub.open-bio.org:/tmp/cvs-serv382/src/main/org/biomoby/registry/rdfagent/util Modified Files: Constants.java Log Message: fixed missing exception moby-live/Java/src/main/org/biomoby/registry/rdfagent/util Constants.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2004/10/28 17:55:43 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2004/11/05 00:49:20 1.2 @@ -112,6 +112,9 @@ catch (JDOMException e) { Log.severe(e.getMessage()); } + catch (IOException e) { + Log.severe(e.getMessage()); + } } From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VrG012133@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Services/org/biomoby/service Modified Files: EchoImpl.java Log Message: command-line client is able now to call services easier moby-live/Java/src/Services/org/biomoby/service EchoImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java 2003/11/08 00:36:18 1.1 +++ /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java 2004/11/12 23:02:31 1.2 @@ -10,21 +10,23 @@ implements Echo { public String echoString (String message) { - StringBuffer buf = new StringBuffer(); + return message; - buf.append ("\n"); - buf.append (" \n"); - buf.append (" \n"); - buf.append (" \n"); - buf.append (" "); - buf.append ("FIXED TEXT"); - buf.append (" \n"); - buf.append (" \n"); +// StringBuffer buf = new StringBuffer(); - buf.append (" \n"); - buf.append (" \n"); +// buf.append ("\n"); +// buf.append (" \n"); +// buf.append (" \n"); +// buf.append (" \n"); +// buf.append (" "); +// buf.append ("FIXED TEXT"); +// buf.append (" \n"); +// buf.append (" \n"); - return new String (buf); +// buf.append (" \n"); +// buf.append (" \n"); + +// return new String (buf); } } From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VGk012072@pub.open-bio.org> senger Fri Nov 12 18:02:30 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv12053/docs Modified Files: ChangeLog Log Message: command-line client is able now to call services easier moby-live/Java/docs ChangeLog,1.23,1.24 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/10/18 14:49:30 1.23 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/12 23:02:30 1.24 @@ -1,3 +1,8 @@ +2004-11-12 Martin Senger + + * Added -scall for calling services (instead of a Moby Central) + into the command-line client MobyCmdLineClient + 2004-10-18 Martin Senger * Added general SOAP utilities in package embl.ebi.soap (the From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VgP012114@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Clients/help Modified Files: MobyCmdLineClient_usage.txt Log Message: command-line client is able now to call services easier moby-live/Java/src/Clients/help MobyCmdLineClient_usage.txt,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2004/09/22 21:11:17 1.5 +++ /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2004/11/12 23:02:31 1.6 @@ -1,6 +1,9 @@ Usage: - java MobyCmdLineClient -h[elp] - java MobyCmdLineClient [] + run-cmdline-client -h[elp] + run-cmdline-client [] +or + run-any-client MobyCmdLineClient -h[elp] + run-any-client MobyCmdLineClient [] where specify what Moby registry to connect to: @@ -175,3 +178,26 @@ is used as an input parameter to the called mathod -debug ... print debug messages + + And yet another rest: + + -scall + call a service (!, not a Moby Central) given by + with the input XML data given by ; if the + is a name of an existing file, the contents of this file + is used instead; an example of a service and its input: + + service name: getMIPSFastaProteinSequence + input XML: + + + + + + + + + + + + format of : service-name[,service-authority] From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VPO012095@pub.open-bio.org> senger Fri Nov 12 18:02:30 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Clients Modified Files: MobyCmdLineClient.java MobyGraphs.java Log Message: command-line client is able now to call services easier moby-live/Java/src/Clients MobyCmdLineClient.java,1.6,1.7 MobyGraphs.java,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2004/09/23 10:20:29 1.6 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2004/11/12 23:02:30 1.7 @@ -521,7 +521,7 @@ } // - // call a raw method (for debugging) + // call a raw method (for debugging, mostly) // params = null; if ((params = cmd.getParam ("-call", 2)) != null ) { @@ -539,6 +539,47 @@ } } + // + // call a service instead of a Moby Central + // + params = null; + if ((params = cmd.getParam ("-scall", 2)) != null ) { + if (params[0] != null && params[1] != null) { + + // find URL of the wanted service + decorationLn ("Looking for service '" + params[0] + "':"); + String serviceName = null; + int pos = params[0].indexOf (","); + MobyService[] services; + if (pos == -1) { + serviceName = params[0]; + services = worker.findService (new MobyService (params[0])); + } else if (pos == params[0].length() - 1) { + serviceName = params[0].substring (0, pos); + services = worker.findService (new MobyService (serviceName)); + } else { + serviceName = params[0].substring (0, pos); + MobyService pattern = new MobyService (serviceName); + pattern.setAuthority (params[0].substring (pos+1)); + services = worker.findService (pattern); + } + if (services != null && services.length > 0) { + String serviceURL = services[0].getURL(); + if (! serviceURL.equals ("")) { + + // call the service + decorationLn ("Calling service '" + serviceName + "' with the input from '" + params[1] + "':"); + if (new File (params[1]).exists()) + params[1] = FileUtils.getFile (params[1]); + decorationLn (params[1]); + decorationLn ("---------------"); + Central serviceWorker = new CentralImpl (serviceURL, "http://biomoby.org/"); + System.out.println (serviceWorker.call (serviceName, params[1])); + } + } + } + } + } catch (PendingCurationException e) { System.err.println ("===ERROR==="); System.err.println ("Pending Curation"); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/10/18 14:35:05 1.5 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:02:30 1.6 @@ -173,6 +173,9 @@ DataServiceEdge[] startingEdges = ServiceConnections.findStartingEdges (sourceData, dataTypes, services); DataServiceEdge[] endingEdges = ServiceConnections.findEndingEdges (targetData, dataTypes, services); + System.out.println ("SE: " + startingEdges.length); + System.out.println ("EE: " + endingEdges.length); + // this creates *all* pathes, but some of them have cycles and inside branches separatePaths = FilterServices.dataPaths (startingEdges, edges, endingEdges); if (separatePaths.length == 0) { @@ -180,10 +183,16 @@ pathEnds[0] + "' and '" + pathEnds[1] + "'"); System.exit(1); } + System.out.println ("SP: " + separatePaths.length); + allPaths = FilterServices.joinPaths (separatePaths); + System.out.println ("AP: " + allPaths.length); + // this separate paths to straight paths (no cycles, no branches) separatePaths = FilterServices.straightDataPaths (startingEdges, allPaths, endingEdges); + + System.out.println ("SP2: " + separatePaths.length); } // create a graph (in whatever format) From senger at pub.open-bio.org Fri Nov 12 18:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VcU012154@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv12053/src/main/org/biomoby/client Modified Files: FilterServices.java Log Message: command-line client is able now to call services easier moby-live/Java/src/main/org/biomoby/client FilterServices.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/10/18 14:35:06 1.2 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:02:31 1.3 @@ -305,7 +305,7 @@ /************************************************************************* * Find all paths (using available 'edges') that start by any of - * the 'startringEdges' and finish by any of the 'endingEdges'. + * the 'startingEdges' and finish by any of the 'endingEdges'. * Each path always has one start and one end and it has no * cycles and no branches.

    * @@ -342,6 +342,9 @@ // find all (no-cycle-containing) paths (recursively) Vector allPaths = new Vector(); + for (int i = 0; i < startingEdges.length; i++) { + System.out.println ("SE: " + startingEdges[i].toString()); + } findAllPaths (startingEdges, allEdges, new Hashtable(), allPaths); ServicesEdge[][] result = new ServicesEdge [allPaths.size()][]; allPaths.copyInto (result); @@ -351,13 +354,22 @@ /************************************************************************* * Does the real job, recursivelly... *************************************************************************/ + static int Count = 0; static void findAllPaths (ServicesEdge[] startingEdges, ServicesEdge[] allEdges, Hashtable soFarIncluded, // key: target service name Vector foundPaths) { // elements of type ServicesEdge[] + Count++; +// for (int i = 0; i < Count; i++) System.out.print (" "); +// System.out.println (soFarIncluded.size()); + for (int i = 0; i < startingEdges.length; i++) { +// if (Count == 1) System.out.println ("i: " + i); + for (int c = 0; c < Count; c++) System.out.print (" "); + System.out.println ("i: " + i + " (of " + startingEdges.length + ")"); + // is this the final edge (ending in a target data type)? if ( (startingEdges[i] instanceof DataServiceEdge) && ((DataServiceEdge)startingEdges[i]).isEndingEdge() ) { @@ -394,6 +406,10 @@ ServicesEdge[] contEdges = new ServicesEdge [v.size()]; v.copyInto (contEdges); +// for (int c = 0; c < Count; c++) System.out.print (" "); +// System.out.print ("(Count: " + Count + ") "); +// System.out.println ("contEdges: " + contEdges.length); + // ...call itself recursively findAllPaths (contEdges, allEdges, soFarIncluded, foundPaths); @@ -402,6 +418,7 @@ // 'soFarIncluded' soFarIncluded.remove (toServiceName); } + Count--; } } From senger at pub.open-bio.org Fri Nov 12 18:07:08 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:07:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122307.iACN78di012223@pub.open-bio.org> senger Fri Nov 12 18:07:08 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv12204/src/main/org/biomoby/client Modified Files: FilterServices.java Log Message: moby-live/Java/src/main/org/biomoby/client FilterServices.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:02:31 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:07:08 1.4 @@ -305,7 +305,7 @@ /************************************************************************* * Find all paths (using available 'edges') that start by any of - * the 'startingEdges' and finish by any of the 'endingEdges'. + * the 'startringEdges' and finish by any of the 'endingEdges'. * Each path always has one start and one end and it has no * cycles and no branches.

    * @@ -342,9 +342,6 @@ // find all (no-cycle-containing) paths (recursively) Vector allPaths = new Vector(); - for (int i = 0; i < startingEdges.length; i++) { - System.out.println ("SE: " + startingEdges[i].toString()); - } findAllPaths (startingEdges, allEdges, new Hashtable(), allPaths); ServicesEdge[][] result = new ServicesEdge [allPaths.size()][]; allPaths.copyInto (result); @@ -354,22 +351,13 @@ /************************************************************************* * Does the real job, recursivelly... *************************************************************************/ - static int Count = 0; static void findAllPaths (ServicesEdge[] startingEdges, ServicesEdge[] allEdges, Hashtable soFarIncluded, // key: target service name Vector foundPaths) { // elements of type ServicesEdge[] - Count++; -// for (int i = 0; i < Count; i++) System.out.print (" "); -// System.out.println (soFarIncluded.size()); - for (int i = 0; i < startingEdges.length; i++) { -// if (Count == 1) System.out.println ("i: " + i); - for (int c = 0; c < Count; c++) System.out.print (" "); - System.out.println ("i: " + i + " (of " + startingEdges.length + ")"); - // is this the final edge (ending in a target data type)? if ( (startingEdges[i] instanceof DataServiceEdge) && ((DataServiceEdge)startingEdges[i]).isEndingEdge() ) { @@ -406,10 +394,6 @@ ServicesEdge[] contEdges = new ServicesEdge [v.size()]; v.copyInto (contEdges); -// for (int c = 0; c < Count; c++) System.out.print (" "); -// System.out.print ("(Count: " + Count + ") "); -// System.out.println ("contEdges: " + contEdges.length); - // ...call itself recursively findAllPaths (contEdges, allEdges, soFarIncluded, foundPaths); @@ -418,7 +402,6 @@ // 'soFarIncluded' soFarIncluded.remove (toServiceName); } - Count--; } } From senger at pub.open-bio.org Fri Nov 12 18:09:02 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:09:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122309.iACN92Ol012270@pub.open-bio.org> senger Fri Nov 12 18:09:02 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv12251/src/Clients Modified Files: MobyGraphs.java Log Message: moby-live/Java/src/Clients MobyGraphs.java,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:02:30 1.6 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:09:02 1.7 @@ -173,9 +173,6 @@ DataServiceEdge[] startingEdges = ServiceConnections.findStartingEdges (sourceData, dataTypes, services); DataServiceEdge[] endingEdges = ServiceConnections.findEndingEdges (targetData, dataTypes, services); - System.out.println ("SE: " + startingEdges.length); - System.out.println ("EE: " + endingEdges.length); - // this creates *all* pathes, but some of them have cycles and inside branches separatePaths = FilterServices.dataPaths (startingEdges, edges, endingEdges); if (separatePaths.length == 0) { @@ -183,16 +180,10 @@ pathEnds[0] + "' and '" + pathEnds[1] + "'"); System.exit(1); } - System.out.println ("SP: " + separatePaths.length); - allPaths = FilterServices.joinPaths (separatePaths); - System.out.println ("AP: " + allPaths.length); - // this separate paths to straight paths (no cycles, no branches) separatePaths = FilterServices.straightDataPaths (startingEdges, allPaths, endingEdges); - - System.out.println ("SP2: " + separatePaths.length); } // create a graph (in whatever format) From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCo1n027576@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv27557/docs Modified Files: ChangeLog Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/docs ChangeLog,1.24,1.25 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/12 23:02:30 1.24 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:12:50 1.25 @@ -1,3 +1,8 @@ +2004-11-14 Martin Senger + + * Added CacheRegistryClient for storing data types and service + instances in a local file system. + 2004-11-12 Martin Senger * Added -scall for calling services (instead of a Moby Central) From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCoPZ027606@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv27557/src/Clients/help Added Files: CacheRegistryClient_usage.txt Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/Clients/help CacheRegistryClient_usage.txt,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCovJ027643@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv27557/src/main/org/biomoby/client Modified Files: CentralDigestCachedImpl.java Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/main/org/biomoby/client CentralDigestCachedImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2004/10/18 14:35:06 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2004/11/14 16:12:50 1.2 @@ -81,12 +81,14 @@ File cache = createCacheDir (cacheDir, getRegistryEndpoint()); messageLn ("Using cache directory: " + cache); dataTypesCache = createSubCacheDir (cache, "dataTypes"); + long dataTypesCacheAge = (isCacheEmpty (dataTypesCache) ? -1 : dataTypesCache.lastModified()); servicesCache = createSubCacheDir (cache, "services"); - if (cacheAge <= 0) { - // cache was not created now, it existed; so find its age - cacheAge = Math.min (dataTypesCache.lastModified(), - servicesCache.lastModified()); - } + long servicesCacheAge = (isCacheEmpty (servicesCache) ? -1 : servicesCache.lastModified()); + + if (dataTypesCacheAge > -1 && servicesCacheAge > -1) + cacheAge = Math.min (dataTypesCacheAge, servicesCacheAge); + else + cacheAge = Math.max (dataTypesCacheAge, servicesCacheAge); } } @@ -262,13 +264,7 @@ protected boolean isCacheEmpty (File cache) throws MobyException { String[] list = cache.list(); - if (list == null) { - // try to re-create the cache (as empty, of course, but - // ready to be used if somebody wants to fill it again) - initCache(); - return true; - } - return (list.length == 0); + return ( list == null || list.length == 0 ); } protected void fillDataTypesCache() @@ -282,6 +278,8 @@ String xml = getDataTypeAsXML (name); store (dataTypesCache, name, xml); } + if (cacheAge <= 0) + cacheAge = dataTypesCache.lastModified(); } catch (Exception e) { throw new MobyException (formatException (e)); @@ -300,6 +298,9 @@ String xml = getServicesAsXML (new MobyService (name), null, true, true); store (servicesCache, name, xml); } + if (cacheAge <= 0) + cacheAge = servicesCache.lastModified(); + } catch (Exception e) { throw new MobyException (formatException (e)); } @@ -312,8 +313,10 @@ return super.getDataTypes(); synchronized (dataTypesCache) { Vector v = new Vector(); - if (isCacheEmpty (dataTypesCache)) + if (isCacheEmpty (dataTypesCache)) { + initCache(); fillDataTypesCache(); + } File[] list = dataTypesCache.listFiles(); if (list == null) throw new MobyException ("Surprisingly, '" + dataTypesCache.getAbsolutePath() + "' is not a directory. Strange..."); @@ -337,8 +340,10 @@ return super.getServices(); synchronized (servicesCache) { Vector v = new Vector(); - if (isCacheEmpty (servicesCache)) + if (isCacheEmpty (servicesCache)) { + initCache(); fillServicesCache(); + } File[] list = servicesCache.listFiles(); if (list == null) throw new MobyException ("Surprisingly, '" + servicesCache.getAbsolutePath() + "' is not a directory. Strange..."); @@ -376,6 +381,8 @@ * Return age of the current (whole) cache in millis from the * beginning of the Epoch; or -1 if cache is empty, or the age is * unknown. + * + * The cache age is taken as the oldest (but filled) cache part. **************************************************************************/ public long getCacheAge() { return cacheAge; From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCoMV027621@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/config In directory pub.open-bio.org:/tmp/cvs-serv27557/src/config Added Files: run-cache-client run-cache-client.bat Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/config run-cache-client,NONE,1.1 run-cache-client.bat,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCo5U027590@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv27557/src/Clients Added Files: CacheRegistryClient.java Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/Clients CacheRegistryClient.java,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhnBa027863@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv27844/docs Modified Files: ChangeLog Log Message: added client for cummulative entries moby-live/Java/docs ChangeLog,1.25,1.26 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:12:50 1.25 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:43:49 1.26 @@ -1,7 +1,10 @@ 2004-11-14 Martin Senger + * Added MobyDigestClient for retrieving cummulative (digested) + entries from registries + * Added CacheRegistryClient for storing data types and service - instances in a local file system. + instances in a local file system 2004-11-12 Martin Senger From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhn5l027894@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv27844/src/Clients/help Added Files: MobyDigest_usage.txt Log Message: added client for cummulative entries moby-live/Java/src/Clients/help MobyDigest_usage.txt,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhn7P027910@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/config In directory pub.open-bio.org:/tmp/cvs-serv27844/src/config Added Files: run-digest-client run-digest-client.bat Log Message: added client for cummulative entries moby-live/Java/src/config run-digest-client,NONE,1.1 run-digest-client.bat,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 11:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhnQL027878@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv27844/src/Clients Added Files: MobyDigestClient.java Log Message: added client for cummulative entries moby-live/Java/src/Clients MobyDigestClient.java,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 12:33:58 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 12:33:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141733.iAEHXwJk028111@pub.open-bio.org> senger Sun Nov 14 12:33:58 EST 2004 Update of /home/repository/moby/moby-live/Java/docs/images In directory pub.open-bio.org:/tmp/cvs-serv28077/docs/images Added Files: whale.gif Log Message: moby-live/Java/docs/images whale.gif,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 12:33:58 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 12:33:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141733.iAEHXwTF028096@pub.open-bio.org> senger Sun Nov 14 12:33:57 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv28077/docs Modified Files: index.html Log Message: moby-live/Java/docs index.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Java/docs/index.html 2003/09/25 10:49:09 1.4 +++ /home/repository/moby/moby-live/Java/docs/index.html 2004/11/14 17:33:57 1.5 @@ -1,5 +1,6 @@ BioMoby in Java + @@ -86,7 +87,7 @@

    Martin Senger
    -Last modified: Thu Sep 25 11:44:42 2003 +Last modified: Sun Nov 14 17:29:05 2004
    From kawas at pub.open-bio.org Wed Nov 17 12:11:39 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Wed, 17 Nov 2004 12:11:39 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411171711.iAHHBdUf009446@pub.open-bio.org> kawas Wed Nov 17 12:11:38 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool In directory pub.open-bio.org:/tmp/cvs-serv9409/org/biomoby/client/gui/objectCreationTool Modified Files: ButtonActions.java PanelFactory.java FieldFocusListeners.java ObjectCreationTool.java Log Message: changed some colors, etc. This is my last change to this tool before I overhaul the gui. Eddie moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool ButtonActions.java,1.1,1.2 PanelFactory.java,1.1,1.2 FieldFocusListeners.java,1.1,1.2 ObjectCreationTool.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java 2004/11/17 17:11:38 1.2 @@ -290,7 +290,7 @@ name = tool.getSelectedNode(); str = JOptionPane.showInputDialog( - null, + tool, "what is " + name + "'s Article Name?", "Article Name", JOptionPane.INFORMATION_MESSAGE); @@ -304,7 +304,7 @@ name = tool.getSelectedNode(); str = JOptionPane.showInputDialog( - null, + tool, "what is " + name + "'s Article Name?", "Article Name", JOptionPane.INFORMATION_MESSAGE); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java 2004/11/17 17:11:38 1.2 @@ -43,7 +43,7 @@ private TreePath path; private JPanel addPanel; private int INIT = 0; - private static final Color panelColor = new Color(159, 180, 55); + private static final Color panelColor = new Color(182, 221, 141); private String image_path = ""; =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java 2004/11/17 17:11:38 1.2 @@ -62,7 +62,7 @@ } } if (!set) - if (uriFocusCount++ % 1 == 0) // ensure that the window doesnt appear twice + if ((uriFocusCount+=2) % 2 == 0) // ensure that the window doesnt appear twice { JOptionPane.showMessageDialog( tool, @@ -76,7 +76,7 @@ } else if (command.equals("email")) { String str = tool.getPanelFactory().getEmailField().getText(); boolean set = REGEXP.isValidEmailAddress(str); - if (!set && emailFocusCount++ % 1 == 0) // ensure that the window doesnt appear twice + if (!set && (emailFocusCount+=2) % 2 == 0) // ensure that the window doesnt appear twice JOptionPane.showMessageDialog(tool, "Email address in invalid.", "Error", JOptionPane.ERROR_MESSAGE); else tool.getMobyxml().getRegistration().setEmailContact(str); @@ -89,7 +89,7 @@ boolean set = false; try { if (!tool.getMobyxml().renameRoot(str)) - if (nameFocusCount++ % 1 == 0) { + if ((nameFocusCount+=2) % 2 == 0) { JOptionPane.showMessageDialog(tool, "Name is in invalid.", "Error", JOptionPane.ERROR_MESSAGE); } } catch (Exception ex) { =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java 2004/11/17 17:11:38 1.2 @@ -4,6 +4,7 @@ */ package org.biomoby.client.gui.objectCreationTool; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; @@ -18,7 +19,6 @@ import javax.swing.JTabbedPane; import javax.swing.UIManager; import javax.swing.tree.TreePath; - import org.biomoby.client.gui.util.TreeLoaderThread; /** @@ -77,7 +77,8 @@ // set up the layout getContentPane().setLayout(new BorderLayout()); getContentPane().add(pane, BorderLayout.CENTER); // used a tabbedpane so that i could swap panels - pane.setOpaque(false); + pane.setOpaque(true); + pane.setBackground(new Color(182,221,141)); fieldListeners = new FieldFocusListeners(this); fieldKeyListeners = new FieldKeyListener(this); From kawas at pub.open-bio.org Wed Nov 17 12:15:26 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Wed, 17 Nov 2004 12:15:26 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411171715.iAHHFQ7j009542@pub.open-bio.org> kawas Wed Nov 17 12:15:26 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool In directory pub.open-bio.org:/tmp/cvs-serv9513/org/biomoby/client/gui/serviceInstanceCreationTool Modified Files: ServiceCreationTool.java ServiceInstancePanelFactory.java Log Message: changed some colors, etc. Eddie moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool ServiceCreationTool.java,1.1,1.2 ServiceInstancePanelFactory.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java 2004/09/27 21:29:15 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java 2004/11/17 17:15:26 1.2 @@ -8,6 +8,7 @@ import java.awt.Color; import java.awt.Component; import java.awt.Dimension; +import java.awt.Font; import javax.swing.JApplet; import javax.swing.JFrame; @@ -35,7 +36,7 @@ /* private member variables */ private ServiceInstancePanelFactory pf = null; private JTabbedPane pane = new JTabbedPane(); - private final Color color = new Color(145, 206, 0); + private final Color color = new Color(182, 221, 141); private final Color toolBarColor = new Color(00, 102, 51); private Service service = null; private String fieldValidationErrorMsg = ""; @@ -81,6 +82,8 @@ getContentPane().add(pane, BorderLayout.CENTER); // used a tabbedpane so that i could swap panels pane.setOpaque(true); + pane.setBackground(color); + pane.setFont(new Font("Dialog", Font.BOLD, 16)); JPanel empty = pf.createEmptyPanel(); empty.setBackground(toolBarColor); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java 2004/09/27 21:29:15 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java 2004/11/17 17:15:26 1.2 @@ -55,7 +55,7 @@ private ServiceActionListener bal; private ServiceFocusListener tfl; private boolean RADIO_SELECTED = false; - private final Color color = new Color(145, 206, 0); + private final Color color = new Color(182, 221, 141); private final Color toolBarColor = new Color(00, 102, 51); private ServiceTypeTree tree = null; private MobyTree mobyTree = null; @@ -163,14 +163,14 @@ // create a greeting and some instructions JLabel greet = new JLabel(); - String greetTxt = "

    Moby Service Builder

    " - + "" + String greetTxt = "

    Moby Service Builder

    " + + "" + "This interactive tool will allow you to create
    " + "a new Moby Service. To begin, fill in the
    " + "following information regarding your new service." + "
    " + ""; greet.setText(greetTxt); - pan.add(greet, BorderLayout.NORTH); + pan.add(greet, BorderLayout.PAGE_START); // create the fields for use <- associate with the fields private member // variable in the serviceCreationTool From gss at pub.open-bio.org Thu Nov 18 18:33:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6LB016415@pub.open-bio.org> gss Thu Nov 18 18:33:06 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph/impl/class-use Removed Files: MOBYProviderSetImpl.html MOBYMappingElementImpl.html MOBYNonPositiveIntegerConstraintImpl.html MOBYDocumentImpl.html MOBYNonNegativeIntegerConstraintImpl.html MOBYDateConstraintImpl.html MOBYObjectFactory.html MOBYProviderImpl.html MOBYDescriptorImpl.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use MOBYProviderSetImpl.html,1.1,NONE MOBYMappingElementImpl.html,1.1,NONE MOBYNonPositiveIntegerConstraintImpl.html,1.1,NONE MOBYDocumentImpl.html,1.1,NONE MOBYNonNegativeIntegerConstraintImpl.html,1.1,NONE MOBYDateConstraintImpl.html,1.1,NONE MOBYObjectFactory.html,1.1,NONE MOBYProviderImpl.html,1.1,NONE MOBYDescriptorImpl.html,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYProviderSetImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYMappingElementImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYNonPositiveIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDocumentImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYNonNegativeIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDateConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYObjectFactory.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYProviderImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDescriptorImpl.html,v: No such file or directory From gss at pub.open-bio.org Thu Nov 18 18:33:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6Aw016438@pub.open-bio.org> gss Thu Nov 18 18:33:06 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/vocabulary/class-use Modified Files: MOBY.html VocabularyDescription.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use MOBY.html,1.1,1.2 VocabularyDescription.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html 2004/11/18 23:33:06 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.vocabulary.MOBY =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html 2004/11/18 23:33:06 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.vocabulary.VocabularyDescription From gss at pub.open-bio.org Thu Nov 18 18:33:07 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:07 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX7ba016578@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph/impl Removed Files: MOBYDescriptorImpl.html MOBYNonPositiveIntegerConstraintImpl.html MOBYDocumentImpl.html MOBYMappingElementImpl.html MOBYDateConstraintImpl.html package-tree.html MOBYObjectFactory.html package-frame.html package-summary.html package-use.html MOBYProviderImpl.html MOBYNonNegativeIntegerConstraintImpl.html MOBYProviderSetImpl.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl MOBYDescriptorImpl.html,1.1,NONE MOBYNonPositiveIntegerConstraintImpl.html,1.1,NONE MOBYDocumentImpl.html,1.1,NONE MOBYMappingElementImpl.html,1.1,NONE MOBYDateConstraintImpl.html,1.1,NONE package-tree.html,1.1,NONE MOBYObjectFactory.html,1.1,NONE package-frame.html,1.1,NONE package-summary.html,1.1,NONE package-use.html,1.1,NONE MOBYProviderImpl.html,1.1,NONE MOBYNonNegativeIntegerConstraintImpl.html,1.1,NONE MOBYProviderSetImpl.html,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDescriptorImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYNonPositiveIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDocumentImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYMappingElementImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDateConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-tree.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYObjectFactory.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-frame.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-summary.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-use.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYProviderImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYNonNegativeIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYProviderSetImpl.html,v: No such file or directory From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9aB016934@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/tools/class-use Modified Files: Util.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use Util.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.tools.Util From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9Zo016977@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/test Modified Files: package-tree.html package-frame.html Test.html package-summary.html ParserTest.html package-use.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test package-tree.html,1.1,1.2 package-frame.html,1.1,1.2 Test.html,1.1,1.2 package-summary.html,1.1,1.2 ParserTest.html,1.1,1.2 package-use.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test Class Hierarchy =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + ParserTest =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.parser.test From gss at pub.open-bio.org Thu Nov 18 18:33:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX7IS016609@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/servlet/class-use Modified Files: AbstractMobyServlet.html ParameterException.html ParamReader.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use AbstractMobyServlet.html,1.1,1.2 ParameterException.html,1.1,1.2 ParamReader.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.AbstractMobyServlet =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.ParameterException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.ParamReader From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9F4016913@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/servlet Modified Files: package-use.html package-summary.html package-tree.html package-frame.html ParameterException.html AbstractMobyServlet.html ParamReader.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet package-use.html,1.1,1.2 package-summary.html,1.1,1.2 package-tree.html,1.1,1.2 package-frame.html,1.1,1.2 ParameterException.html,1.1,1.2 AbstractMobyServlet.html,1.1,1.2 ParamReader.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.servlet =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.servlet @@ -51,7 +51,7 @@
    =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html 2004/11/18 23:33:08 1.2 @@ -2,7 +2,7 @@ - + org.smoby.tools @@ -50,7 +50,7 @@ PREV PACKAGE  + PREV PACKAGE   NEXT PACKAGE FRAMES   @@ -83,6 +83,10 @@ Class Summary +ModelRetriever +  + + Util This abstract class contains a miscellaneous set of useful static methods @@ -120,7 +124,7 @@ PREV PACKAGE  + PREV PACKAGE   NEXT PACKAGE FRAMES   From gss at pub.open-bio.org Thu Nov 18 18:33:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX8HQ016654@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/http Modified Files: package-use.html HTTPResponse.html HTTPRequest.html package-frame.html HTTPException.html package-summary.html package-tree.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http package-use.html,1.1,1.2 HTTPResponse.html,1.1,1.2 HTTPRequest.html,1.1,1.2 package-frame.html,1.1,1.2 HTTPException.html,1.1,1.2 package-summary.html,1.1,1.2 package-tree.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.http =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + HTTPResponse =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + HTTPRequest @@ -120,8 +120,15 @@ HTTP_GET
    -          Constant meaning to use HTTP GET as the method for communicating - with the registration server. +          Constant meaning to use HTTP GET as the method + + + +static int +HTTP_HEAD + +
    +          Constant meaning to use HTTP HEAD as the method @@ -129,8 +136,7 @@ HTTP_POST
    -          Constant meaning to use HTTP POST as the method for communicating - with the registration server. +          Constant meaning to use HTTP POST as the method   @@ -174,6 +180,14 @@ static HTTPRequest +newHeadRequest(java.lang.String uri) + +
    +            + + + +static HTTPRequest newPostRequest(java.lang.String serverURL)
    @@ -215,8 +229,7 @@
     public static final int HTTP_GET
    -
    Constant meaning to use HTTP GET as the method for communicating - with the registration server. +
    Constant meaning to use HTTP GET as the method

    See Also:
    Constant Field Values
    @@ -228,12 +241,23 @@
     public static final int HTTP_POST
    -
    Constant meaning to use HTTP POST as the method for communicating - with the registration server. +
    Constant meaning to use HTTP POST as the method

    See Also:
    Constant Field Values
    +
    + +

    +HTTP_HEAD

    +
    +public static final int HTTP_HEAD
    +
    +
    Constant meaning to use HTTP HEAD as the method +

    +

    +
    See Also:
    Constant Field Values
    +
    @@ -270,6 +294,17 @@

    +

    +newHeadRequest

    +
    +public static HTTPRequest newHeadRequest(java.lang.String uri)
    +
    +
    +
    +
    +
    +
    +

    addParameter

    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html	2004/07/15 20:27:14	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html	2004/11/18 23:33:07	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     org.smoby.http
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html	2004/07/15 20:27:14	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html	2004/11/18 23:33:07	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     HTTPException
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html	2004/07/15 20:27:14	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html	2004/11/18 23:33:07	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     org.smoby.http
     
    @@ -50,7 +50,7 @@
     
     
     PREV PACKAGE 
    + PREV PACKAGE 
      NEXT PACKAGE
     
       FRAMES   
    @@ -142,7 +142,7 @@
     
     
     PREV PACKAGE 
    + PREV PACKAGE 
      NEXT PACKAGE
     
       FRAMES   
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html	2004/07/15 20:27:14	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html	2004/11/18 23:33:07	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     org.smoby.http Class Hierarchy
     
    @@ -49,7 +49,7 @@
     
     
     PREV 
    + PREV 
      NEXT
     
       FRAMES   
    @@ -122,7 +122,7 @@
     
     
     PREV 
    + PREV 
      NEXT
     
       FRAMES   
    
    
    
    From gss at pub.open-bio.org  Thu Nov 18 18:33:08 2004
    From: gss at pub.open-bio.org (Gary Schlitz)
    Date: Thu, 18 Nov 2004 18:33:08 -0500
    Subject: [MOBY-guts] biomoby commit
    Message-ID: <200411182333.iAINX8fs016705@pub.open-bio.org>
    
    
    gss
    Thu Nov 18 18:33:08 EST 2004
    Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser
    In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser
    
    Modified Files:
    	package-frame.html package-summary.html 
    	NonCanonicalException.html package-use.html 
    	UnparsableGraphException.html package-tree.html Parser.html 
    Log Message:
    Generated JavaDoc
    
    moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser package-frame.html,1.1,1.2 package-summary.html,1.1,1.2 NonCanonicalException.html,1.1,1.2 package-use.html,1.1,1.2 UnparsableGraphException.html,1.1,1.2 package-tree.html,1.1,1.2 Parser.html,1.1,1.2
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html	2004/07/15 20:27:16	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html	2004/11/18 23:33:08	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     org.smoby.parser
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html	2004/07/15 20:27:16	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html	2004/11/18 23:33:08	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     org.smoby.parser
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html	2004/07/15 20:27:16	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html	2004/11/18 23:33:08	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     NonCanonicalException
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html	2004/07/15 20:27:16	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html	2004/11/18 23:33:08	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     Uses of Package org.smoby.parser
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html	2004/07/15 20:27:16	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html	2004/11/18 23:33:08	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     UnparsableGraphException
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html	2004/07/15 20:27:16	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html	2004/11/18 23:33:08	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     org.smoby.parser Class Hierarchy
     
    
    ===================================================================
    RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -r1.1 -r1.2
    --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html	2004/07/15 20:27:16	1.1
    +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html	2004/11/18 23:33:08	1.2
    @@ -2,7 +2,7 @@
     
     
     
    -
    +
     
     Parser
     
    @@ -192,7 +192,7 @@
     
     
     
    - MOBYProvider
    + MOBYProvider
     parseProvider()
     
     
    @@ -200,7 +200,7 @@ - MOBYProvider + MOBYProvider
    parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
    @@ -208,7 +208,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection
    parseProviders()
    @@ -368,7 +368,7 @@

    parseProvider

    -public MOBYProvider parseProvider()
    +public MOBYProvider parseProvider()
    Parse a provider from the model. If the model contains multiple providers, only one will be returned (at random). If @@ -385,7 +385,7 @@

    parseProviders

    -public MOBYUnorderedCollection parseProviders()
    +public MOBYUnorderedCollection parseProviders()
    Parse and return an unordered collection of providers

    @@ -398,7 +398,7 @@

    parseProvider

    -public MOBYProvider parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
    +public MOBYProvider parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
    Parse a provider starting from the given resource (i.e. a resource that is the subject of an rdf:type statement with object of moby:Provider) From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9UV016864@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/vocabulary Modified Files: package-use.html VocabularyDescription.html package-tree.html package-summary.html MOBY.html package-frame.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary package-use.html,1.1,1.2 VocabularyDescription.html,1.1,1.2 package-tree.html,1.1,1.2 package-summary.html,1.1,1.2 MOBY.html,1.1,1.2 package-frame.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.vocabulary =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + VocabularyDescription =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary Class Hierarchy =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + MOBY @@ -127,6 +127,14 @@ +static java.lang.String +GRAPH_PARAMETER_NAME + +
    +          When doing an HTTP POST to a Semantic MOBY provider (i.e. + + + static com.hp.hpl.jena.rdf.model.Property hasMapping @@ -143,6 +151,22 @@ +static com.hp.hpl.jena.rdf.model.Property +inputURI + +
    +            + + + +static com.hp.hpl.jena.rdf.model.Property +keyword + +
    +            + + + static java.lang.String LAST_MODIFIED_HEADER @@ -200,6 +224,14 @@ static com.hp.hpl.jena.rdf.model.Property +outputURI + +
    +            + + + +static com.hp.hpl.jena.rdf.model.Property Property
    @@ -314,6 +346,21 @@

    +

    +GRAPH_PARAMETER_NAME

    +
    +public static final java.lang.String GRAPH_PARAMETER_NAME
    +
    +
    When doing an HTTP POST to a Semantic MOBY provider (i.e. + engaging the provider), the graph that the provider is to + operate on is stored in a parameter with this name, whose + value is a serialized RDF/XML graph. +

    +

    +
    See Also:
    Constant Field Values
    +
    +
    +

    Provider

    @@ -384,6 +431,26 @@
     

    +

    +inputURI

    +
    +public static final com.hp.hpl.jena.rdf.model.Property inputURI
    +
    +
    +
    +
    +
    + +

    +outputURI

    +
    +public static final com.hp.hpl.jena.rdf.model.Property outputURI
    +
    +
    +
    +
    +
    +

    operatesOn

    @@ -432,6 +499,16 @@
     
    +
    + +

    +keyword

    +
    +public static final com.hp.hpl.jena.rdf.model.Property keyword
    +
    +
    +
    +
    =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary From gss at pub.open-bio.org Thu Nov 18 18:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9FM017006@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/class-use Modified Files: UnparsableGraphException.html NonCanonicalException.html Parser.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use UnparsableGraphException.html,1.1,1.2 NonCanonicalException.html,1.1,1.2 Parser.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.UnparsableGraphException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.NonCanonicalException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.Parser From gss at pub.open-bio.org Thu Nov 18 18:33:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINXAVF017034@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/http/class-use Modified Files: HTTPRequest.html HTTPException.html HTTPResponse.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use HTTPRequest.html,1.1,1.2 HTTPException.html,1.1,1.2 HTTPResponse.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPRequest @@ -119,6 +119,14 @@
                + + +static HTTPRequest +HTTPRequest.newHeadRequest(java.lang.String uri) + +
    +            +  

    =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPResponse From gss at pub.open-bio.org Thu Nov 18 18:33:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINXA26017061@pub.open-bio.org> gss Thu Nov 18 18:33:10 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/test/class-use Modified Files: ParserTest.html Test.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use ParserTest.html,1.1,1.2 Test.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html 2004/11/18 23:33:10 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.test.ParserTest =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html 2004/11/18 23:33:10 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.test.Test From gss at pub.open-bio.org Fri Nov 19 12:11:39 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:11:39 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191711.iAJHBdQ7020079@pub.open-bio.org> gss Fri Nov 19 12:11:39 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20054/src/org/sgd/vocabulary Modified Files: SGD.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary SGD.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java 2004/06/17 17:38:59 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java 2004/11/19 17:11:39 1.4 @@ -1,6 +1,6 @@ package org.sgd.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:11:51 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:11:51 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191711.iAJHBpnd020109@pub.open-bio.org> gss Fri Nov 19 12:11:51 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20084/src/org/pubs/vocabulary Modified Files: Pubs.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary Pubs.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java 2004/06/17 17:39:00 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java 2004/11/19 17:11:51 1.5 @@ -1,6 +1,6 @@ package org.pubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:12:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC1l8020158@pub.open-bio.org> gss Fri Nov 19 12:12:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20114/src/com/megapubs/vocabulary Modified Files: MegaPubs.java Log Message: moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary MegaPubs.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java 2004/06/17 17:38:59 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java 2004/11/19 17:12:01 1.5 @@ -1,6 +1,6 @@ package com.megapubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:12:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC1Ci020139@pub.open-bio.org> gss Fri Nov 19 12:12:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets In directory pub.open-bio.org:/tmp/cvs-serv20114/src/com/megapubs/servlets Modified Files: CitationSearchServlet.java Log Message: moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets CitationSearchServlet.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java 2004/05/19 18:26:48 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java 2004/11/19 17:12:01 1.5 @@ -4,8 +4,8 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.*; -import org.smoby.graph.*; +import org.semanticmoby.servlet.*; +import org.semanticmoby.graph.*; /** * This class is a concrete subclass of AbstractMobyServlet that illustrates From gss at pub.open-bio.org Fri Nov 19 12:12:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC850020191@pub.open-bio.org> gss Fri Nov 19 12:12:08 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20166/src/org/go/vocabulary Modified Files: Go.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary Go.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java 2004/06/17 17:38:59 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java 2004/11/19 17:12:08 1.4 @@ -1,6 +1,6 @@ package org.go.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:12:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:15 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHCFSu020221@pub.open-bio.org> gss Fri Nov 19 12:12:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets In directory pub.open-bio.org:/tmp/cvs-serv20196/src/com/acmepubs/servlets Modified Files: CitationSearchServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets CitationSearchServlet.java,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java 2004/07/29 23:44:37 1.12 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java 2004/11/19 17:12:14 1.13 @@ -4,9 +4,9 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.*; -import org.smoby.graph.*; -import org.smoby.vocabulary.*; +import org.semanticmoby.servlet.*; +import org.semanticmoby.graph.*; +import org.semanticmoby.vocabulary.*; import com.acmepubs.vocabulary.*; /** From gss at pub.open-bio.org Fri Nov 19 12:12:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:15 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHCFQ8020240@pub.open-bio.org> gss Fri Nov 19 12:12:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20196/src/com/acmepubs/vocabulary Modified Files: AcmePubs.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary AcmePubs.java,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java 2004/06/17 17:38:59 1.5 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java 2004/11/19 17:12:14 1.6 @@ -1,6 +1,6 @@ package com.acmepubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 12:16:35 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:16:35 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191716.iAJHGZ55020374@pub.open-bio.org> gss Fri Nov 19 12:16:35 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org In directory pub.open-bio.org:/tmp/cvs-serv20350/brebiou.cshl.org Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:00 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH0Qk020411@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse In directory pub.open-bio.org:/tmp/cvs-serv20387/.myeclipse Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:00 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH0vM020429@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings In directory pub.open-bio.org:/tmp/cvs-serv20387/.settings Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1LZ020612@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage In directory pub.open-bio.org:/tmp/cvs-serv20387/queries/engage Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5gE020783@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org In directory pub.open-bio.org:/tmp/cvs-serv20747 Added Files: build.xml .project .classpath .mymetadata kanani.sql Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org build.xml,NONE,1.1 .project,NONE,1.1 .classpath,NONE,1.1 .mymetadata,NONE,1.1 kanani.sql,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5JK020768@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot Added Files: get-individuals.html index.html get-individuals.rdf get-individuals.n3 Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot get-individuals.html,NONE,1.1 index.html,NONE,1.1 get-individuals.rdf,NONE,1.1 get-individuals.n3,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1wW020632@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src In directory pub.open-bio.org:/tmp/cvs-serv20387/src Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1CD020466@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/META-INF Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5Zs020799@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/ontologies Added Files: individualName.n3 individualName index.html Panel panelName.n3 Panel.n3 panelName Individual.n3 Individual Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies individualName.n3,NONE,1.1 individualName,NONE,1.1 index.html,NONE,1.1 Panel,NONE,1.1 panelName.n3,NONE,1.1 Panel.n3,NONE,1.1 panelName,NONE,1.1 Individual.n3,NONE,1.1 Individual,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1sb020548@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/images Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5F2020868@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/META-INF Added Files: MANIFEST.MF Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF MANIFEST.MF,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH191020569@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/ontologies Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5FO020833@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/WEB-INF Added Files: web.xml Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF web.xml,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH6t5020920@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings In directory pub.open-bio.org:/tmp/cvs-serv20747/.settings Added Files: org.eclipse.core.resources.prefs Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings org.eclipse.core.resources.prefs,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH15R020447@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Oj020485@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Dn020506@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF/classes Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1jn020527@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF/lib Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Xc020587@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries In directory pub.open-bio.org:/tmp/cvs-serv20387/queries Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2Jg020655@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2XY020674@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2fr020695@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl/servlets Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2MV020719@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5KO020814@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets In directory pub.open-bio.org:/tmp/cvs-serv20747/src/org/cshl/servlets Added Files: GetIndividualsWrapperServlet.java GetIndividualsServlet.java Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets GetIndividualsWrapperServlet.java,NONE,1.1 GetIndividualsServlet.java,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5jC020850@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage In directory pub.open-bio.org:/tmp/cvs-serv20747/queries/engage Added Files: example.rdf example.n3 Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage example.rdf,NONE,1.1 example.n3,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH56j020886@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20747/src/org/cshl/vocabulary Added Files: CSHL.java Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary CSHL.java,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 12:17:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH65I020905@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/images Added Files: cshl-logo.jpg Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images cshl-logo.jpg,NONE,1.1 From gordonp at pub.open-bio.org Mon Nov 22 12:22:23 2004 From: gordonp at pub.open-bio.org (Paul Gordon) Date: Mon, 22 Nov 2004 12:22:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411221722.iAMHMN91008721@pub.open-bio.org> gordonp Mon Nov 22 12:22:22 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv8696/client Modified Files: CentralImpl.java Log Message: Just got rid of deprecation warnings caused by StringBufferInputStream. Replaced with ByteArrayInputStream (based on locale-dependent String.getBytes()) moby-live/Java/src/main/org/biomoby/client CentralImpl.java,1.17,1.18 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2004/10/18 14:35:06 1.17 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2004/11/22 17:22:22 1.18 @@ -203,7 +203,7 @@ // parse returned XML Document document = null; try { - document=docBuilder.parse(new StringBufferInputStream(xml)); + document=docBuilder.parse(new ByteArrayInputStream(xml.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -432,7 +432,7 @@ Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(xml)); + document = docBuilder.parse(new ByteArrayInputStream(xml.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -628,7 +628,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -668,7 +668,7 @@ // parse returned XML Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -710,7 +710,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result));} + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("serviceType"); @@ -758,7 +758,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -816,7 +816,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -893,7 +893,7 @@ // parse returned XML Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream (xmlSource)); + document = docBuilder.parse(new ByteArrayInputStream (xmlSource.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -1002,7 +1002,7 @@ // parse returned XML Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} Element service = document.getDocumentElement(); @@ -1378,7 +1378,7 @@ // parse returned XML Vector v = new Vector(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); @@ -1436,7 +1436,7 @@ // parse returned XML Map results = new HashMap(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); @@ -1493,7 +1493,7 @@ // parse returned XML Vector v = new Vector(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); From kawas at pub.open-bio.org Mon Nov 22 12:48:45 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Mon, 22 Nov 2004 12:48:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411221748.iAMHmjgQ008806@pub.open-bio.org> kawas Mon Nov 22 12:48:45 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util In directory pub.open-bio.org:/tmp/cvs-serv8780/org/biomoby/client/gui/util Modified Files: REGEXP.java Log Message: URI typo. Eddie moby-live/Java/src/main/org/biomoby/client/gui/util REGEXP.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java 2004/09/27 21:26:54 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java 2004/11/22 17:48:45 1.4 @@ -21,7 +21,7 @@ private final static String URI = //"(^(http:\\/\\/www\\.|HTTP:\\/\\/www\\.|www\\.|http:\\/\\/|HTTP:\\/\\/)?[\\w]+\\.[\\w].*\\w$)"; //"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"; // as per rfc 2396 appendix a. - "^([\\w]+\\.[\\w]+(\\.[\\w]+)*)$"; + "^([\\w]+\\.[\\w]+(\\.[\\w]+)+)$"; private final static String URL = "(^(http:\\/\\/www\\.|HTTP:\\/\\/www\\.|http:\\/\\/|HTTP:\\/\\/)[\\w]+\\.[\\w].*(\\/\\w+(\\.{1}\\w+)*)$)"; From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaqW009799@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaLM009762@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwai4009780@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:37 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:37 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwbjr009922@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwa9L009859@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaPV009841@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets/dev Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:37 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:37 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwb2Z009944@pub.open-bio.org> gss Mon Nov 22 17:58:37 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/vocabulary/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaZP009818@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwa6B009881@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaUD009902@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/tools/db Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweEq010074@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/tools Added Files: ProviderRemover.java KeywordQuery.java URIInvestigator.java MissingPropertyException.java DiscoveryQuery.java KeywordList.java InvocationBroker.java MOBYProperties.java KeywordFinder.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools ProviderRemover.java,NONE,1.1 KeywordQuery.java,NONE,1.1 URIInvestigator.java,NONE,1.1 MissingPropertyException.java,NONE,1.1 DiscoveryQuery.java,NONE,1.1 KeywordList.java,NONE,1.1 InvocationBroker.java,NONE,1.1 MOBYProperties.java,NONE,1.1 KeywordFinder.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweM5010027@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets Removed Files: DiscoveryServlet.java KeywordSearchServlet.java ProviderEngagementServlet.java BaseServlet.java ResultsDisplayServlet.java ProviderInvestigationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets DiscoveryServlet.java,1.2,NONE KeywordSearchServlet.java,1.4,NONE ProviderEngagementServlet.java,1.2,NONE BaseServlet.java,1.3,NONE ResultsDisplayServlet.java,1.1,NONE ProviderInvestigationServlet.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/DiscoveryServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/KeywordSearchServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ProviderEngagementServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/BaseServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ResultsDisplayServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ProviderInvestigationServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweWR009990@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets/dev Removed Files: RepositoryPrintServlet.java OWLValidationServlet.java MOBYGraphValidationServlet.java ProviderListServlet.java GraphConversionServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev RepositoryPrintServlet.java,1.1,NONE OWLValidationServlet.java,1.2,NONE MOBYGraphValidationServlet.java,1.2,NONE ProviderListServlet.java,1.2,NONE GraphConversionServlet.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/RepositoryPrintServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/OWLValidationServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/MOBYGraphValidationServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/ProviderListServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/GraphConversionServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweBZ010107@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets/example Removed Files: HelloWorldDisplayServlet.java HelloWorldServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example HelloWorldDisplayServlet.java,1.1,NONE HelloWorldServlet.java,1.3,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example/RCS/HelloWorldDisplayServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example/RCS/HelloWorldServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweCf010005@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets/dev Added Files: RepositoryPrintServlet.java ProviderListServlet.java GraphConversionServlet.java OWLValidationServlet.java MOBYGraphValidationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev RepositoryPrintServlet.java,NONE,1.1 ProviderListServlet.java,NONE,1.1 GraphConversionServlet.java,NONE,1.1 OWLValidationServlet.java,NONE,1.1 MOBYGraphValidationServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwflo010219@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/meeting Added Files: MeetingRegistrationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting MeetingRegistrationServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwf5O010164@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/tools/db Removed Files: StorageManager.java StorageException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db StorageManager.java,1.3,NONE StorageException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db/RCS/StorageManager.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db/RCS/StorageException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwecY010126@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/vocabulary/example Added Files: Hello.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example Hello.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwewW010090@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets/example Added Files: HelloWorldDisplayServlet.java HelloWorldServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example HelloWorldDisplayServlet.java,NONE,1.1 HelloWorldServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfIR010144@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets Added Files: ProviderInvestigationServlet.java DiscoveryServlet.java ResultsDisplayServlet.java KeywordSearchServlet.java BaseServlet.java ProviderEngagementServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets ProviderInvestigationServlet.java,NONE,1.1 DiscoveryServlet.java,NONE,1.1 ResultsDisplayServlet.java,NONE,1.1 KeywordSearchServlet.java,NONE,1.1 BaseServlet.java,NONE,1.1 ProviderEngagementServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweg7010057@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/tools Removed Files: InvocationBroker.java KeywordList.java URIInvestigator.java ProviderRemover.java KeywordFinder.java MOBYProperties.java DiscoveryQuery.java MissingPropertyException.java KeywordQuery.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools InvocationBroker.java,1.1,NONE KeywordList.java,1.1,NONE URIInvestigator.java,1.3,NONE ProviderRemover.java,1.1,NONE KeywordFinder.java,1.2,NONE MOBYProperties.java,1.1,NONE DiscoveryQuery.java,1.2,NONE MissingPropertyException.java,1.1,NONE KeywordQuery.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/InvocationBroker.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordList.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/URIInvestigator.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/ProviderRemover.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordFinder.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/MOBYProperties.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/DiscoveryQuery.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/MissingPropertyException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordQuery.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfSl010201@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/tools/db Added Files: StorageManager.java StorageException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db StorageManager.java,NONE,1.1 StorageException.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfkM010235@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/meeting Removed Files: MeetingRegistrationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting MeetingRegistrationServlet.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/MeetingRegistrationServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 17:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfep010183@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/vocabulary/example Removed Files: Hello.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example Hello.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/Hello.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuZX010518@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/http Removed Files: HTTPResponse.java HTTPRequest.java HTTPException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/http HTTPResponse.java,1.1,NONE HTTPRequest.java,1.2,NONE HTTPException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPResponse.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPRequest.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hu2i010500@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/servlet Removed Files: AbstractMobyServlet.java ParamReader.java ParameterException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet AbstractMobyServlet.java,1.2,NONE ParamReader.java,1.1,NONE ParameterException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/AbstractMobyServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/ParamReader.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/ParameterException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuKg010577@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/vocabulary Removed Files: MOBY.java VocabularyDescription.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary MOBY.java,1.7,NONE VocabularyDescription.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/RCS/MOBY.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/RCS/VocabularyDescription.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HtFX010480@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/graph/tools Removed Files: MOBYProviderXMLGenerator.java MOBYProviderTraversalException.java MOBYProviderTraverser.java MOBYProviderVisitor.java MOBYProviderVisitorAdapter.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools MOBYProviderXMLGenerator.java,1.2,NONE MOBYProviderTraversalException.java,1.1,NONE MOBYProviderTraverser.java,1.2,NONE MOBYProviderVisitor.java,1.2,NONE MOBYProviderVisitorAdapter.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderXMLGenerator.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderTraversalException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderTraverser.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderVisitor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderVisitorAdapter.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuLw010556@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/tools Removed Files: Util.java ModelRetriever.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools Util.java,1.2,NONE ModelRetriever.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools/RCS/Util.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools/RCS/ModelRetriever.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hui6010536@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/parser/test Removed Files: ParserTest.java Test.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test ParserTest.java,1.1,NONE Test.java,1.3,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test/RCS/ParserTest.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test/RCS/Test.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HtH3010460@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/graph Removed Files: MOBYIntegerConstraint.java MOBYDocument.java MOBYLiteral.java MOBYResource.java MOBYFixedCollection.java MOBYResizableCollection.java MOBYNonNegativeIntegerConstraint.java MOBYPropertyValueStatement.java MOBYPropertyValue.java MOBYOntology.java MOBYMappingElement.java MOBYDescriptor.java MOBYCollection.java MOBYUnorderedCollection.java MOBYGraphNode.java MOBYObject.java MOBYSubject.java MOBYNumericConstraint.java MOBYNonPositiveIntegerConstraint.java MOBYDateConstraint.java MOBYGraphVisitor.java MOBYSingleElement.java MOBYPropertyValueConstraint.java MOBYEnumeration.java MOBYProvider.java MOBYProviderSet.java MOBYOrderedCollection.java MOBYGraph.java MOBYPropertyValueException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph MOBYIntegerConstraint.java,1.1,NONE MOBYDocument.java,1.2,NONE MOBYLiteral.java,1.2,NONE MOBYResource.java,1.2,NONE MOBYFixedCollection.java,1.2,NONE MOBYResizableCollection.java,1.2,NONE MOBYNonNegativeIntegerConstraint.java,1.1,NONE MOBYPropertyValueStatement.java,1.2,NONE MOBYPropertyValue.java,1.2,NONE MOBYOntology.java,1.2,NONE MOBYMappingElement.java,1.2,NONE MOBYDescriptor.java,1.3,NONE MOBYCollection.java,1.2,NONE MOBYUnorderedCollection.java,1.2,NONE MOBYGraphNode.java,1.2,NONE MOBYObject.java,1.2,NONE MOBYSubject.java,1.2,NONE MOBYNumericConstraint.java,1.1,NONE MOBYNonPositiveIntegerConstraint.java,1.1,NONE MOBYDateConstraint.java,1.1,NONE MOBYGraphVisitor.java,1.1,NONE MOBYSingleElement.java,1.2,NONE MOBYPropertyValueConstraint.java,1.2,NONE MOBYEnumeration.java,1.2,NONE MOBYProvider.java,1.2,NONE MOBYProviderSet.java,1.2,NONE MOBYOrderedCollection.java,1.2,NONE MOBYGraph.java,1.2,NONE MOBYPropertyValueException.! java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDocument.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYLiteral.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYResource.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYFixedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYResizableCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNonNegativeIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueStatement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValue.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYOntology.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYMappingElement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDescriptor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYUnorderedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraphNode.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYObject.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYSubject.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNumericConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNonPositiveIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDateConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraphVisitor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYSingleElement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYEnumeration.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYProvider.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYProviderSet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYOrderedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraph.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hufd010599@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/parser Removed Files: Parser.java NonCanonicalException.java UnparsableGraphException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser Parser.java,1.8,NONE NonCanonicalException.java,1.1,NONE UnparsableGraphException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/Parser.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/NonCanonicalException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/UnparsableGraphException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgKf010635@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Igwb010653@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/graph Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ig62010691@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/http Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgLU010672@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgSa010733@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/servlet Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ig4r010756@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Igrx010777@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgUt010712@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/parser Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ikhc010899@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/http Added Files: package.html HTTPRequest.java HTTPResponse.java HTTPException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http package.html,NONE,1.1 HTTPRequest.java,NONE,1.1 HTTPResponse.java,NONE,1.1 HTTPException.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ikfb010832@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/graph Added Files: MOBYProviderSet.java MOBYSubject.java MOBYOntology.java MOBYResizableCollection.java MOBYNonPositiveIntegerConstraint.java MOBYDateConstraint.java MOBYFixedCollection.java MOBYProvider.java MOBYNumericConstraint.java MOBYObject.java MOBYLiteral.java MOBYPropertyValueException.java MOBYResource.java MOBYUnorderedCollection.java MOBYGraphVisitor.java MOBYCollection.java MOBYPropertyValueConstraint.java MOBYDescriptor.java MOBYDocument.java MOBYGraphNode.java MOBYOrderedCollection.java MOBYEnumeration.java MOBYPropertyValue.java MOBYSingleElement.java MOBYIntegerConstraint.java package.html MOBYNonNegativeIntegerConstraint.java MOBYPropertyValueStatement.java MOBYGraph.java MOBYMappingElement.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph MOBYProviderSet.java,NONE,1.1 MOBYSubject.java,NONE,1.1 MOBYOntology.java,NONE,1.1 MOBYResizableCollection.java,NONE,1.1 MOBYNonPositiveIntegerConstraint.java,NONE,1.1 MOBYDateConstraint.java,NONE,1.1 MOBYFixedCollection.java,NONE,1.1 MOBYProvider.java,NONE,1.1 MOBYNumericConstraint.java,NONE,1.1 MOBYObject.java,NONE,1.1 MOBYLiteral.java,NONE,1.1 MOBYPropertyValueException.java,NONE,1.1 MOBYResource.java,NONE,1.1 MOBYUnorderedCollection.java,NONE,1.1 MOBYGraphVisitor.java,NONE,1.1 MOBYCollection.java,NONE,1.1 MOBYPropertyValueConstraint.java,NONE,1.1 MOBYDescriptor.java,NONE,1.1 MOBYDocument.java,NONE,1.1 MOBYGraphNode.java,NONE,1.1 MOBYOrderedCollection.java,NONE,1.1 MOBYEnumeration.java,NONE,1.1 MOBYPropertyValue.java,NONE,1.1 MOBYSingleElement.java,NONE,1.1 MOBYIntegerConstraint.java,NONE,1.1 package.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.java,NONE,1.1 MOBYPropertyValueStatement.java,NONE,1.1 MOBYGraph.java! ,NONE,1.1 MOBYMappingElement.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IklA010883@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/parser Added Files: UnparsableGraphException.java Parser.java package.html NonCanonicalException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser UnparsableGraphException.java,NONE,1.1 Parser.java,NONE,1.1 package.html,NONE,1.1 NonCanonicalException.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ik2b010847@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/tools Added Files: Util.java ModelRetriever.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools Util.java,NONE,1.1 ModelRetriever.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IkJp010816@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/graph/tools Added Files: package.html MOBYProviderTraverser.java MOBYProviderVisitor.java MOBYProviderVisitorAdapter.java MOBYProviderTraversalException.java MOBYProviderXMLGenerator.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools package.html,NONE,1.1 MOBYProviderTraverser.java,NONE,1.1 MOBYProviderVisitor.java,NONE,1.1 MOBYProviderVisitorAdapter.java,NONE,1.1 MOBYProviderTraversalException.java,NONE,1.1 MOBYProviderXMLGenerator.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ik4Y010916@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/vocabulary Added Files: MOBY.java VocabularyDescription.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary MOBY.java,NONE,1.1 VocabularyDescription.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IkRr010865@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/servlet Added Files: AbstractMobyServlet.java ParameterException.java ParamReader.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet AbstractMobyServlet.java,NONE,1.1 ParameterException.java,NONE,1.1 ParamReader.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSQq011030@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSf4011110@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTY5011195@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JT1X011173@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/servlet Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUQC011342@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSYq011008@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSaM010990@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSrv010971@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSuX010953@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTaV011213@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSeU011071@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/http/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSo1011089@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSw1011131@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTV4011274@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTs8011296@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUWq011314@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JU92011403@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTtl011151@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JU2T011384@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTgc011232@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JS0Y011050@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/http Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTwG011254@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUUT011362@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/graph/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 19:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K1gb011957@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org In directory pub.open-bio.org:/tmp/cvs-serv11428 Modified Files: .classpath Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org .classpath,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/04 22:31:36 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/23 00:20:01 1.3 @@ -11,6 +11,7 @@ + @@ -19,6 +20,5 @@ - From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Ut012070@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/test/class-use Added Files: Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JuiK011506@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/test Added Files: package-use.html package-frame.html package-tree.html package-summary.html Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test package-use.html,NONE,1.1 package-frame.html,NONE,1.1 package-tree.html,NONE,1.1 package-summary.html,NONE,1.1 Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jw6l011813@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/tools/class-use Added Files: MOBYProviderXMLGenerator.html MOBYProviderVisitorAdapter.html MOBYProviderTraverser.html MOBYProviderTraversalException.html MOBYProviderVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 MOBYProviderVisitor.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jt1I011459@pub.open-bio.org> gss Mon Nov 22 19:19:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph Added Files: MOBYOntology.html MOBYUnorderedCollection.html MOBYIntegerConstraint.html MOBYPropertyValue.html MOBYObject.html MOBYPropertyValueException.html MOBYNonPositiveIntegerConstraint.html package-frame.html MOBYProvider.html MOBYNonNegativeIntegerConstraint.html package-tree.html MOBYNumericConstraint.html MOBYCollection.html MOBYResizableCollection.html MOBYPropertyValueStatement.html MOBYGraphVisitor.html MOBYDateConstraint.html MOBYEnumeration.html MOBYProviderSet.html MOBYResource.html MOBYSingleElement.html MOBYDescriptor.html package-summary.html MOBYGraph.html MOBYPropertyValueConstraint.html package-use.html MOBYDocument.html MOBYLiteral.html MOBYMappingElement.html MOBYOrderedCollection.html MOBYGraphNode.html MOBYFixedCollection.html MOBYSubject.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph MOBYOntology.html,NONE,1.1 MOBYUnorderedCollection.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 MOBYPropertyValue.html,NONE,1.1 MOBYObject.html,NONE,1.1 MOBYPropertyValueException.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 package-frame.html,NONE,1.1 MOBYProvider.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYNumericConstraint.html,NONE,1.1 MOBYCollection.html,NONE,1.1 MOBYResizableCollection.html,NONE,1.1 MOBYPropertyValueStatement.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYEnumeration.html,NONE,1.1 MOBYProviderSet.html,NONE,1.1 MOBYResource.html,NONE,1.1 MOBYSingleElement.html,NONE,1.1 MOBYDescriptor.html,NONE,1.1 package-summary.html,NONE,1.1 MOBYGraph.html,NONE,1.1 MOBYPropertyValueConstraint.html,NONE,1.1 package-use.html,NONE,1.1 MOBYDocument.html,NONE,1.1 MOBYLiteral.html! ,NONE,1.1 MOBYMappingElement.html,NONE,1.1 MOBYOrderedCollection.html,NONE,1.1 MOBYGraphNode.html,NONE,1.1 MOBYFixedCollection.html,NONE,1.1 MOBYSubject.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Juqh011490@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/tools Added Files: MOBYProviderVisitor.html package-frame.html MOBYProviderVisitorAdapter.html MOBYProviderTraverser.html package-use.html MOBYProviderXMLGenerator.html package-summary.html package-tree.html MOBYProviderTraversalException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools MOBYProviderVisitor.html,NONE,1.1 package-frame.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 package-use.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K11J011996@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use Added Files: AbstractMobyServlet.html ParameterException.html ParamReader.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use AbstractMobyServlet.html,NONE,1.1 ParameterException.html,NONE,1.1 ParamReader.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:59 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JxTO011885@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/vocabulary Added Files: MOBY.html package-use.html VocabularyDescription.html package-tree.html package-frame.html package-summary.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary MOBY.html,NONE,1.1 package-use.html,NONE,1.1 VocabularyDescription.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 package-summary.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:59 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JxCi011916@pub.open-bio.org> gss Mon Nov 22 19:19:59 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/tools Added Files: ModelRetriever.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools ModelRetriever.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:00 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K0Zs011931@pub.open-bio.org> gss Mon Nov 22 19:20:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/tools/class-use Added Files: ModelRetriever.html Util.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use ModelRetriever.html,NONE,1.1 Util.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jwb6011847@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/test Added Files: package-use.html Test.html package-summary.html package-tree.html package-frame.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test package-use.html,NONE,1.1 Test.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K1Yt011973@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/http Added Files: HTTPResponse.html HTTPRequest.html HTTPException.html package-tree.html package-frame.html package-use.html package-summary.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http HTTPResponse.html,NONE,1.1 HTTPRequest.html,NONE,1.1 HTTPException.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 package-use.html,NONE,1.1 package-summary.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwCJ011831@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/test Added Files: package-use.html Test.html package-summary.html package-frame.html ParserTest.html package-tree.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test package-use.html,NONE,1.1 Test.html,NONE,1.1 package-summary.html,NONE,1.1 package-frame.html,NONE,1.1 ParserTest.html,NONE,1.1 package-tree.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Juwu011526@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/class-use Added Files: MOBYNonPositiveIntegerConstraint.html MOBYNumericConstraint.html MOBYDateConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYGraphVisitor.html MOBYIntegerConstraint.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/class-use MOBYNonPositiveIntegerConstraint.html,NONE,1.1 MOBYNumericConstraint.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jv9M011732@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/class-use Added Files: MOBYIntegerConstraint.html MOBYLiteral.html MOBYResizableCollection.html MOBYPropertyValueStatement.html MOBYOntology.html MOBYResource.html MOBYDateConstraint.html MOBYMappingElement.html MOBYSingleElement.html MOBYProviderSet.html MOBYObject.html MOBYProvider.html MOBYPropertyValueException.html MOBYEnumeration.html MOBYGraphNode.html MOBYGraphVisitor.html MOBYDocument.html MOBYOrderedCollection.html MOBYFixedCollection.html MOBYCollection.html MOBYDescriptor.html MOBYPropertyValueConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYUnorderedCollection.html MOBYSubject.html MOBYGraph.html MOBYPropertyValue.html MOBYNumericConstraint.html MOBYNonPositiveIntegerConstraint.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use MOBYIntegerConstraint.html,NONE,1.1 MOBYLiteral.html,NONE,1.1 MOBYResizableCollection.html,NONE,1.1 MOBYPropertyValueStatement.html,NONE,1.1 MOBYOntology.html,NONE,1.1 MOBYResource.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYMappingElement.html,NONE,1.1 MOBYSingleElement.html,NONE,1.1 MOBYProviderSet.html,NONE,1.1 MOBYObject.html,NONE,1.1 MOBYProvider.html,NONE,1.1 MOBYPropertyValueException.html,NONE,1.1 MOBYEnumeration.html,NONE,1.1 MOBYGraphNode.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYDocument.html,NONE,1.1 MOBYOrderedCollection.html,NONE,1.1 MOBYFixedCollection.html,NONE,1.1 MOBYCollection.html,NONE,1.1 MOBYDescriptor.html,NONE,1.1 MOBYPropertyValueConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYUnorderedCollection.html,NONE,1.1 MOBYSubject.html,NONE,1.1 MOBYGraph.html,NONE,1.1 MOBYPropertyValue.html,NONE,1.1 MOBYNumericConstr! aint.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JvUT011631@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/index-files Modified Files: index-8.html index-9.html index-12.html index-16.html index-2.html index-13.html index-6.html index-14.html index-15.html index-11.html index-10.html index-5.html index-3.html index-1.html index-4.html index-7.html Added Files: index-18.html index-17.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files index-18.html,NONE,1.1 index-17.html,NONE,1.1 index-8.html,1.2,1.3 index-9.html,1.2,1.3 index-12.html,1.2,1.3 index-16.html,1.2,1.3 index-2.html,1.2,1.3 index-13.html,1.2,1.3 index-6.html,1.2,1.3 index-14.html,1.2,1.3 index-15.html,1.2,1.3 index-11.html,1.2,1.3 index-10.html,1.2,1.3 index-5.html,1.2,1.3 index-3.html,1.2,1.3 index-1.html,1.2,1.3 index-4.html,1.2,1.3 index-7.html,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + K-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + L-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + O-Index @@ -85,7 +85,9 @@ Static variable in class org.semanticmoby.vocabulary.MOBY

     
    org.semanticmoby.graph - package org.semanticmoby.graph
    Contains classes for manipulating the Semantic MOBY canonical graph -structure, which is potentially embedded in a larger graph structure.
    org.semanticmoby.graph.tools - package org.semanticmoby.graph.tools
    Utility classes that work with the org.semanticmoby.graph classes.
    org.semanticmoby.http - package org.semanticmoby.http
     
    org.semanticmoby.parser - package org.semanticmoby.parser
     
    org.semanticmoby.parser.test - package org.semanticmoby.parser.test
     
    org.semanticmoby.servlet - package org.semanticmoby.servlet
     
    org.semanticmoby.test - package org.semanticmoby.test
    &nbs! p;
    org.semanticmoby.tools - package org.semanticmoby.tools
     
    org.semanticmoby.vocabulary - package org.semanticmoby.vocabulary
     
    outputURI - +structure, which is potentially embedded in a larger graph structure.
    org.semanticmoby.graph.tools - package org.semanticmoby.graph.tools
    Utility classes that work with the org.semanticmoby.graph classes.
    org.semanticmoby.http - package org.semanticmoby.http
    Classes that facilitate making HTTP requests.
    org.semanticmoby.parser - package org.semanticmoby.parser
    Classes for parsing a Jena2 graph into a canonical graph structure +represented by classes in the org.semanticmoby.graph package.
    org.semanticmoby.servlet - package org.semanticmoby.servlet
    Classes to facilitate building Semantic MOBY services using Java servlets.
    org.semanticmoby.tools - package org.semanticmoby.tools
    Utility classes that are useful when building providers.
    org.semanticmoby.vocabulary - package org.semanticmoby.vocabulary
    A package containing constant classes with predefined constant +objects for RDF classes and properties.
    outputURI - Static variable in class org.semanticmoby.vocabulary.MOBY
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + T-Index @@ -75,33 +75,6 @@

    T

    -
    Test - class org.semanticmoby.parser.test.Test.
     
    Test() - -Constructor for class org.semanticmoby.parser.test.Test -
      -
    Test - class org.semanticmoby.test.Test.
     
    Test() - -Constructor for class org.semanticmoby.test.Test -
      -
    testMinimalParsableFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
      -
    testMultipleProviders() - -Method in class org.semanticmoby.parser.test.ParserTest -
      -
    testNonExistentFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
    Test that trying to parse from a non-existent file correctly throws - an UnparsableGraphException -
    testNullFileName() - -Method in class org.semanticmoby.parser.test.ParserTest -
    Test that trying to parse from a non-existent file correctly throws - an UnparsableGraphException -
    testSingleProvider() - -Method in class org.semanticmoby.parser.test.ParserTest -
      -
    testUnparsableFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
    Test that trying to parse from an unparsable file correctly - throws an UnparsableGraphException
    toString() - Method in class org.semanticmoby.graph.MOBYPropertyValueStatement
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + D-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + P-Index @@ -87,9 +87,6 @@ objects that implement interfaces from the org.semanticmoby.graph package.
    Parser(Model) - Constructor for class org.semanticmoby.parser.Parser
    Create an instance for parsing the given model. -
    ParserTest - class org.semanticmoby.parser.test.ParserTest.
     
    ParserTest(String, String) - -Constructor for class org.semanticmoby.parser.test.ParserTest -
    Create a test case with the given name and file name
    Property - Static variable in class org.semanticmoby.vocabulary.MOBY
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + H-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + R-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + S-Index @@ -101,9 +101,6 @@
    size() - Method in class org.semanticmoby.graph.MOBYProviderSet
    Return the size of the set -
    suite() - -Static method in class org.semanticmoby.parser.test.ParserTest -
     

    =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + N-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + M-Index @@ -199,13 +199,7 @@ which the order of the elements is not defined.
    MOBYUnorderedCollection(Resource, List, Model) - Constructor for class org.semanticmoby.graph.MOBYUnorderedCollection
      -
    ModelRetriever - class org.semanticmoby.tools.ModelRetriever.
     
    main(String[]) - -Static method in class org.semanticmoby.parser.test.Test -
      -
    main(String[]) - -Static method in class org.semanticmoby.test.Test -
      -
    mapsTo - +
    ModelRetriever - class org.semanticmoby.tools.ModelRetriever.
     
    mapsTo - Static variable in class org.semanticmoby.vocabulary.MOBY
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + G-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + E-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + A-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + F-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + I-Index From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Ju3A011543@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser Added Files: package-use.html UnparsableGraphException.html package-tree.html package-summary.html NonCanonicalException.html Parser.html package-frame.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser package-use.html,NONE,1.1 UnparsableGraphException.html,NONE,1.1 package-tree.html,NONE,1.1 package-summary.html,NONE,1.1 NonCanonicalException.html,NONE,1.1 Parser.html,NONE,1.1 package-frame.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JuH0011474@pub.open-bio.org> gss Mon Nov 22 19:19:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/tools Added Files: package-summary.html package-frame.html ModelRetriever.html Util.html package-use.html package-tree.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools package-summary.html,NONE,1.1 package-frame.html,NONE,1.1 ModelRetriever.html,NONE,1.1 Util.html,NONE,1.1 package-use.html,NONE,1.1 package-tree.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jvkq011747@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use Added Files: MOBYProviderVisitor.html MOBYProviderTraverser.html MOBYProviderVisitorAdapter.html MOBYProviderXMLGenerator.html MOBYProviderTraversalException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use MOBYProviderVisitor.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K21t012052@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use Added Files: ParserTest.html Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use ParserTest.html,NONE,1.1 Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JvC6011646@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph Added Files: MOBYNumericConstraint.html MOBYIntegerConstraint.html MOBYNonPositiveIntegerConstraint.html MOBYDateConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYGraphVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph MOBYNumericConstraint.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2ha012037@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/http/class-use Added Files: HTTPRequest.html HTTPResponse.html HTTPException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use HTTPRequest.html,NONE,1.1 HTTPResponse.html,NONE,1.1 HTTPException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:59 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jxsm011900@pub.open-bio.org> gss Mon Nov 22 19:19:59 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use Added Files: VocabularyDescription.html MOBY.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use VocabularyDescription.html,NONE,1.1 MOBY.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2u8012134@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot Modified Files: index.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot index.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/04 22:27:42 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/23 00:20:02 1.5 @@ -1,71 +1,120 @@ + Semantic MOBY +
    -

    -Semantic -MOBY -

    +

    Semantic MOBY

    +
    +
    + + +
    + + + + +
    + MOBY Autumn 2004 Meeting +
    + November 20-21 — Santa Fe, New Mexico +
    + Register Now! +
    +
    +

    - +
    +
    + +
    - - - - - - - - + + + + + + + + + + + + + + +
    ProviderSubjectObject
    ProviderSubjectObject
    +
    +
    + +
    Type any terms into the boxes above and +press Search
    +(for example type 'hello' (without quotes) into the Provider field,
    +or to see all providers, type just an asterisk (*) into the
    +Provider field and leave the other fields blank)

    -
    -Type any terms into the boxes above and press Search -
    -(for example type 'hello' (without quotes) into the Provider field, -
    -or to see all providers, type just an asterisk (*) into the -
    -Provider field and leave the other fields blank) -

    - +
    +
    + +

    +About Semantic MOBY   Help on Searching

    -About Semantic MOBY   -Help on Searching -


    - - - - - - - - - - - -
    - - CSHL - - NCGR - - NSF
    - CSHL - NCGR - NSF

    - + +

    +
    +
    + From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jw9a011762@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/tools Added Files: MOBYProviderTraversalException.html package-frame.html package-use.html MOBYProviderTraverser.html package-summary.html package-tree.html MOBYProviderVisitorAdapter.html MOBYProviderXMLGenerator.html MOBYProviderVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools MOBYProviderTraversalException.html,NONE,1.1 package-frame.html,NONE,1.1 package-use.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderVisitor.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwvO011865@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/servlet Added Files: package-frame.html package-use.html ParamReader.html package-summary.html ParameterException.html package-tree.html AbstractMobyServlet.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet package-frame.html,NONE,1.1 package-use.html,NONE,1.1 ParamReader.html,NONE,1.1 package-summary.html,NONE,1.1 ParameterException.html,NONE,1.1 package-tree.html,NONE,1.1 AbstractMobyServlet.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Zt012019@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/class-use Added Files: NonCanonicalException.html Parser.html UnparsableGraphException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use NonCanonicalException.html,NONE,1.1 Parser.html,NONE,1.1 UnparsableGraphException.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwoF011798@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/meeting Modified Files: index.html lodging.html registration-form.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting index.html,1.1,1.2 lodging.html,1.1,1.2 registration-form.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html 2004/11/23 00:19:57 1.2 @@ -1,56 +1,57 @@ - -MOBY Autumn 2004 Meeting + + MOBY Autumn 2004 Meeting - + - - - - - - - + style="width: 100%; background-color: rgb(239, 201, 144); text-align: left;" + border="1" cellpadding="0" cellspacing="0"> + + + + + + +

    -
    -
    -
    - MOBY logo
    -
    -

    MOBY Autumn 2004 Meeting

    -
    -

    November - 20-21* (Sat-Sun)

    - -
    -

    Santa - Fe, New Mexico USA

    -
    * Mark Wilkinson will - give a talk on MOBY Services at NCGR on
    - Friday, November 19 at 4:00 - PM MST, so consider coming a day early.
    - All conference participants are welcome!
    -
    -
    -

    -
    -
    -
    -     NCGR logo    -
    -

    +
    +
    +
    + MOBY logo
    +
    +

    MOBY Autumn 2004 Meeting

    +

    November +20-21* (Sat-Sun)

    + +

    Santa +Fe, New Mexico USA

    +

    Register Now!

    +
    * Mark Wilkinson will +give a talk on MOBY Services at NCGR on
    + Friday, November 19 at +4:00 PM MST, so consider coming a day early.
    +All conference participants are welcome!
    +
    +
    +

    +
    +
    +
    +    NCGR logo   
    +

    Audience

    @@ -66,19 +67,190 @@ provides a good overview of the city and its attractions.

    Agenda

    -The agenda has not yet been set, but please post suggestions to either -of the MOBY mailing lists ( +The agenda is as follows; however, feel free to post suggestions for +additions to either of the MOBY mailing lists ( moby-l for general discussions, moby-dev -for developers) and check back here for updates. We will start no later -than 9:00 a.m. on Saturday, and finish no later than 3:00 p.m. on Sunday -in order to allow those participants wishing to leave on Sunday to reach -the airport for early evening flights. +for developers) and check back here for updates. +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      
    +
    Saturday, +November 20

    +
    8:00 +am   Van/car picks up participants at Hotel Santa Fe and Garrett's +Desert Inn

    +
    8:30 +am   
    +
    Bagels and coffee

    +
    9:00 +am   
    +
    Semantic MOBY (Damian Gessler)

    +
    10:00 +am   
    +
    Taverna (Martin Senger)

    +
    10:45 +am   
    +
    Break

    +
    11:00 +am   
    +
    MOBY Services (Mark Wilkinson)

    +
    12:00 +pm   
    +
    Lunch provided

    +
    1:00 +pm   
    +
    Virtual Plant Network (Bill Beavis, discussion leader)

    +
    2:00 +pm   
    +
    Conceptual ways to merge S-MOBY, MOBY-S, and MyGrid in a +real-world application (joined by Phil Lord via telecon; Manchester is +seven hours ahead of Santa Fe)

    +
    3:00 pm  
    +
    Break
    +

    +
    6:00 +pm   
    +
    Dinner

    +

    +

    +

    +
    Sunday, +November 21, 2004
    +

    +
    8:30 +am    Van/car picks up participants at Hotel Santa Fe and Garrett's +Desert Inn

    +
    9:00 +am   
    +
    Bagels and coffee

    +
    9:30 +am   
    +
    Technical challenges to merging S-MOBY, MOBY-S, and MyGrid

    +
    10:45 pm  
    +
    Break
    +

    +
    12:00 pm   
    +
    Lunch

    +
    1:00 pm   
    +
    Next steps
    +

    +
    3:00 pm   
    +
    End of meeting
    +

    Meals

    -A contentinental breakfast and lunch will be provided on Saturday and -Sunday as part of the registration fee; please contact Gary Schiltz +A contentinental breakfast (bagels, coffee, tea) and lunch (sandwiches) +will be provided on Saturday and Sunday as part of the registration +fee; +please contact Gary Schiltz <gss at ncgr.org> with any special food requirements you may have. We will self organize for dinners and social events at the end of the meeting days. @@ -87,8 +259,8 @@ The Hotel Santa Fe has been chosen as the de facto conference hotel to facilitate informal -discussions and socializing after the meeting. However, as a popular -tourist destination, Santa Fe has a wide range of +discussions and socializing after the meeting on Saturday evening. +However, as a popular tourist destination, Santa Fe has a wide range of acommodations from hostels to inexpensive hotels to luxury hotels. Since the conference date is well past the summer tourist season and before ski @@ -105,7 +277,8 @@ ABQ ), located slightly over one hour from Santa Fe. Several shuttle services -offer inexpensive transportation between the Sunport and major hotels in +offer inexpensive transportation between the Sunport and major hotels +in Santa Fe.

    Local Transportation

    @@ -118,7 +291,10 @@

    Registration

    Please fill out the following registration form -in advance of the conference date. +in advance of the conference date. Registration cost for the meeting is +$50 US, which covers continental breakfast and lunch on Saturday and +Sunday, and transportation between your hotel and NCGR. We will accept +cash or check made payable to NCGR.

    Questions

    Please contact Gary Schiltz =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html 2004/11/23 00:19:57 1.2 @@ -1,12 +1,16 @@ + + Santa Fe Acommodations - -

    Accommodations

    +

    Accommodations

    +


    The Hotel Santa Fe has been chosen as the de facto conference hotel to facilitate informal @@ -16,68 +20,113 @@ date is well past the summer tourist season and before ski season, a quick glance at online travel sites confirms that prices are at their lowest of the year during the conference.

    +

    The following hotels, except the Residence Inn, are within walking distance of the Santa Fe Plaza (famous downtown area). Less conveniently -located hotels and motels are considerably less expensive.
    -

    - + +
    - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + - - - - + + + + + + + - - - - + + + + + +
      Hotel  Single - Rate *  PhoneWeb Site
      Hotel Santa - Fe   $99  - 800-727-5531 www.hotelsantafe.com
      Garrett's Desert Inn   $79  800-888-2145   Hotel  Single Rate + 1  PhoneWeb Site
      Hotel Santa Fe +

       $124

    +
      800-727-5531 www.hotelsantafe.com/home.html 2
      Garrett's Desert Inn +

       $94

    +
      800-888-2145 www.garrettsdesertinn.com
      Hotel Loretto   $159  800-727-5531   Hotel Loretto +

       $159

    +
      800-727-5531 www.hotelloretto.com
      Eldorado Hotel   $159  800-955-4455   Eldorado Hotel +

       $209

    +
      800-955-4455 www.eldoradohotel.com
      Residence Inn Santa Fe   $129  505-988-7300   Residence Inn Santa Fe +

       $109

    +
      505-988-7300 marriott.com/property/propertyPage.mi?
      marshaCode=SAFNM
    -
    -* These rates are approximate, and should be used for information only -as they are subject to change by the respective hotels. Prices are the -least expensive price per night, in US dollars, listed on the hotel's -web site for one person for the conference dates. -
    -
    -
    -
    +

    Notes:

    +
      +
    1. These rates are approximate, and should be used for information + only as they are subject to change by the respective hotels. Prices are + the least expensive price per night, in US dollars, listed on the + hotel's web site for one person for the conference dates.
      +
      +
    2. +
    3. From the Hotel Santa Fe web site, click on "RATES & + RESERVATIONS" link on the left side of the page. In the new + browser window that opens, select arrival and departure dates and click + the "Check Availability" button. Under "Rate Type - Hot Internet + Rates," the "Hotel Santa Fe-Traditional King" rate seems to be the + least expensive ($124/night the last I checked), although the rate has + changed several times since I started checking. + +
      +
    4. +
    + =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html 2004/11/23 00:19:57 1.2 @@ -1,32 +1,40 @@ + MOBY Meeting Registration Form - - - - @@ -43,46 +51,69 @@ * Indicates a Required field

    -
    Note: There will be a -small fee to cover meeting expenses, which we
    -will collect at the time of the meeting; details to follow shortly.
    -
    -
    +
    Note: There is a fee of $50 +US per person to cover meeting expenses, which we
    +will collect at the time of the meeting. This covers continental +breakfast and lunch
    +
    on Saturday and Sunday, +plus transportation between your hotel and NCGR.
    +
     
    +
    We will accept cash or +checks made payable to NCGR.
    +
    + + -
    MOBY logo
    -

    Registration + +

    +

    Registration Form

    -

    MOBY + +

    MOBY Autumn 2004 Meeting

    -

    November 20-21 - (Sat-Sun), 2004

    -

    Santa Fe, New Mexico USA

    + +

    November + 20-21 (Sat-Sun), 2004

    + +

    Santa Fe, New Mexico USA

          NCGR logo   
    - + + + - + + + - + + + - + + + - + + + - + +
    Name *
    Institution *
    Email address *
    Work phone
    Cell phone
    Hotel where you will be staying
    in Santa Fe (if known)

    - + +

    From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2p0012108@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/test/class-use Added Files: Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use Test.html,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 19:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Yr012087@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/tools/class-use Added Files: ModelRetriever.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use ModelRetriever.html,NONE,1.1 From kawas at pub.open-bio.org Tue Nov 30 10:15:58 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Tue, 30 Nov 2004 10:15:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411301515.iAUFFwgf018653@pub.open-bio.org> kawas Tue Nov 30 10:15:57 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv18632 Added Files: MobyXMLConstants.pm Log Message: The all important file that I forgot to add!?! Includes constants, etc moby-live/Perl/MOBY MobyXMLConstants.pm,NONE,1.1 From kawas at pub.open-bio.org Thu Nov 18 12:38:44 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Thu, 18 Nov 2004 17:38:44 -0000 Subject: [MOBY-guts] biomoby commit Message-ID: <200411181741.iAIHfGVX013940@pub.open-bio.org> kawas Thu Nov 18 12:41:15 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv13854 Modified Files: Central.pm CommonSubs.pm Config.pm CrossReference.pm OntologyServer.pm authority.pm central_db_connection.pm collection_input.pm collection_output.pm dbConfig.pm mysql.pm secondary_input.pm service_instance.pm service_type.pm simple_input.pm simple_output.pm Log Message: Converted XML:DOM -> XML::LibXML and applicable module calls Eddie moby-live/Perl/MOBY Central.pm,1.141,1.142 CommonSubs.pm,1.53,1.54 Config.pm,1.5,1.6 CrossReference.pm,1.2,1.3 OntologyServer.pm,1.45,1.46 authority.pm,1.1,1.2 central_db_connection.pm,1.5,1.6 collection_input.pm,1.2,1.3 collection_output.pm,1.2,1.3 dbConfig.pm,1.3,1.4 mysql.pm,1.1,1.2 secondary_input.pm,1.1,1.2 service_instance.pm,1.8,1.9 service_type.pm,1.1,1.2 simple_input.pm,1.4,1.5 simple_output.pm,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.141 retrieving revision 1.142 diff -u -r1.141 -r1.142 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/09/16 22:21:01 1.141 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/11/18 17:41:14 1.142 @@ -10,7 +10,7 @@ use strict; use Carp; use vars qw($AUTOLOAD $WSDL_TEMPLATE); -use XML::DOM; +use XML::LibXML; use MOBY::OntologyServer; use MOBY::service_type; use MOBY::authority; @@ -30,10 +30,14 @@ use RDF::Core::Model::Serializer; use RDF::Core::Storage::Memory; use RDF::Core::Constants qw(:xml :rdf :rdfs); - +use MOBY::MobyXMLConstants; my $debug = 0; -if ($debug){open (OUT, ">/tmp/CentralRegistryLogOut.txt") || die "cant open logfile\n";print OUT "created logfile\n";close OUT;} +if ( $debug ) { + open( OUT, ">/tmp/CentralRegistryLogOut.txt" ) || die "cant open logfile\n"; + print OUT "created logfile\n"; + close OUT; +} =head1 SYNOPSIS @@ -86,7 +90,6 @@ =cut - =head1 CONFIGURATION This depends on a config file to get its database connection information. At a minimum @@ -130,7 +133,6 @@ =cut - =head1 Registration XML Object This is sent back to you for all registration and @@ -155,22 +157,20 @@ =cut - sub Registration { - my ( $details) = @_; - my $id = $details->{id}; - my $success = $details->{success}; - my $message = $details->{message}; - my $RDF = ""; - $RDF = $details->{RDF}; - - -# return " -# $id -# $success -# -# -# "; + my ( $details ) = @_; + my $id = $details->{id}; + my $success = $details->{success}; + my $message = $details->{message}; + my $RDF = ""; + $RDF = $details->{RDF}; + + # return " + # $id + # $success + # + # + # "; return " $id $success @@ -178,9 +178,12 @@ $RDF "; } - =cut + + + + =head1 METHODS @@ -192,14 +195,12 @@ =cut - sub new { - my ($caller, %args) = @_; + my ( $caller, %args ) = @_; print STDERR "\nuse of MOBY::Central->new is deprecated\n"; return 0; } - =head2 registerObjectClass The registerObjectClass call is: @@ -253,137 +254,185 @@ =cut - sub registerObjectClass { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message); - my $OntologyServer = &_getOntologyServer(ontology => 'object'); - my $RelOntologyServer = &_getOntologyServer(ontology => 'relationship'); - - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $desc, $relationships, $email, $auth, $clobber) = &_registerObjectPayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nemail $email\nauth $auth\nclobber $clobber\n\n"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - if ($term =~ /FAILED/){return &_error("Malformed XML;","");} - return &_error("Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; - return &_error("Object name may not contain spaces or other characters invalid in a URN","") if $term =~ /\s\"\&\<\>\[\]\^\`\{\|\}\~/; - if ($term =~ m"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?"){ # matches a URI - return &_error("Object name may not be an URN or URI","") if $1; - } - - my $ISAs; - # validate that the final ontology will be valid by testing against existing relationships and such - while (my ($reltype, $obj) = each %{$relationships}){ - my ($success, $message, $URI) = $RelOntologyServer->relationshipExists(term => $reltype, ontology => 'object'); # success = 1 if it does - $success==0 && return &_error($message, $URI ); - foreach (@{$obj}){ - ++$ISAs if ($URI =~ /isa$/i); - my ($objectType, $articleName) = @{$_}; - my ($success, $message, $URI) = $OntologyServer->objectExists(term => $objectType); # success = 1 if it does - $success==0 && return &_error($message, $URI ); - } - } - return &_error("Object must have exactly one ISA parent in the MOBY Object ontology") unless $ISAs == 1; - - $clobber = defined($clobber)?$clobber:0; - $clobber = 0 unless ($clobber eq 0 || $clobber eq 1 || $clobber eq 2); # safety! - my ($exists, $exists_message, $URI) = $OntologyServer->objectExists(term => $term); # success = 1 if it does - (($exists==1 && !$clobber) && return &_error("Object $term already exists", $URI)); - - $clobber = 0 unless ($exists); # it makes no sense to clobber something that doesnt' exist - if ($exists){ - if ($clobber == 1){ - my ($success, $message) = $OntologyServer->deprecateObject(term => $term); - $success==0 && return &_error($message, $URI); - } elsif ($clobber == 2) { - my ($success, $message) = $OntologyServer->deleteObject(term => $term); - $success==0 && return &_error($message, $URI); - } - } - - ($success, $message, $URI) = $OntologyServer->createObject( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - + my ( $pkg, $payload ) = @_; + my ( $success, $message ); + my $OntologyServer = &_getOntologyServer( ontology => 'object' ); + my $RelOntologyServer = &_getOntologyServer( ontology => 'relationship' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $desc, $relationships, $email, $auth, $clobber ) = + &_registerObjectPayload( $payload ); + $debug + && &_LOG( +"\n\nterm $term\ndesc $desc\nemail $email\nauth $auth\nclobber $clobber\n\n" ); + + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + if ( $term =~ /FAILED/ ) { return &_error( "Malformed XML;", "" ); } + return &_error( +"Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; + return &_error( +"Object name may not contain spaces or other characters invalid in a URN", + "" + ) + if $term =~ /\s\"\&\<\>\[\]\^\`\{\|\}\~/; + if ( $term =~ m"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?" ) + { # matches a URI + return &_error( "Object name may not be an URN or URI", "" ) if $1; + } + my $ISAs; + +# validate that the final ontology will be valid by testing against existing relationships and such + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + my ( $success, $message, $URI ) = + $RelOntologyServer->relationshipExists( term => $reltype, + ontology => 'object' ); # success = 1 if it does + $success == 0 && return &_error( $message, $URI ); + foreach ( @{$obj} ) { + ++$ISAs if ( $URI =~ /isa$/i ); + my ( $objectType, $articleName ) = @{$_}; + my ( $success, $message, $URI ) = + $OntologyServer->objectExists( term => $objectType ) + ; # success = 1 if it does + $success == 0 && return &_error( $message, $URI ); + } + } + return &_error( + "Object must have exactly one ISA parent in the MOBY Object ontology" ) + unless $ISAs == 1; + $clobber = defined( $clobber ) ? $clobber : 0; + $clobber = 0 + unless ( $clobber eq 0 || $clobber eq 1 || $clobber eq 2 ); # safety! + my ( $exists, $exists_message, $URI ) = + $OntologyServer->objectExists( term => $term ); # success = 1 if it does + ( ( $exists == 1 && !$clobber ) + && return &_error( "Object $term already exists", $URI ) ); + $clobber = 0 + unless ( $exists ) + ; # it makes no sense to clobber something that doesnt' exist + if ( $exists ) { + + if ( $clobber == 1 ) { + my ( $success, $message ) = + $OntologyServer->deprecateObject( term => $term ); + $success == 0 && return &_error( $message, $URI ); + } elsif ( $clobber == 2 ) { + my ( $success, $message ) = + $OntologyServer->deleteObject( term => $term ); + $success == 0 && return &_error( $message, $URI ); + } + } + ( $success, $message, $URI ) = $OntologyServer->createObject( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); my @failures; - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - foreach (@{$obj}){ - my ($objectType, $articleName) = @{$_}; - my ($success, $message) = $OntologyServer->addObjectRelationship( - subject_node => $term, - relationship => $reltype, - object_node => $objectType, - articleName => $articleName, - authority => $auth, - contact_email => $email); - $success==0 && push @failures, $objectType; - } - } - } - - if (scalar(@failures)){ - my ($success, $message, $deleteURI) = $OntologyServer->deleteObject(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error("object failed ISA and/or HASA connections, + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + foreach ( @{$obj} ) { + my ( $objectType, $articleName ) = @{$_}; + my ( $success, $message ) = + $OntologyServer->addObjectRelationship( + subject_node => $term, + relationship => $reltype, + object_node => $objectType, + articleName => $articleName, + authority => $auth, + contact_email => $email + ); + $success == 0 && push @failures, $objectType; + } + } + } + if ( scalar( @failures ) ) { + my ( $success, $message, $deleteURI ) = + $OntologyServer->deleteObject( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( + "object failed ISA and/or HASA connections, and subsequently failed deletion. This is a critical error, - and may indicate corruption of the MOBY Central registry.", $deleteURI); - return &_error("object failed to register due to failure during registration of ISA/HASA relationships".(join ",", (@failures))."\n", ""); + and may indicate corruption of the MOBY Central registry.", $deleteURI + ); + return &_error( +"object failed to register due to failure during registration of ISA/HASA relationships" + . ( join ",", ( @failures ) ) . "\n", + "" + ); } - return &_success("Object $term registered successfully.", $URI); + return &_success( "Object $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerObjectPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerObjectClass'); - - my $term = &_nodeTextContent($Object, "objectType"); - my $desc = &_nodeTextContent($Object, "Description"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my $clobber = &_nodeTextContent($Object, "Clobber"); + my ( $payload ) = @_; #EDDIE - assuming that payload is a string + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->documentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerObjectClass' ); + my $term = &_nodeTextContent( $Object, "objectType" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my $clobber = &_nodeTextContent( $Object, "Clobber" ); + #my @ISA = &_nodeArrayContent($Object, "ISA"); #my @HASA = &_nodeArrayExtraContent($Object, "HASA","articleName"); - my %att_value; my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my $article = $_->getAttributeNode('articleName'); # may or may not have a name - if ($article){$article = $article->getValue()} - - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, [$_->toString, $article]; + my %att_value; + my %relationships; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size; + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my $article = + $_->getAttributeNode( 'articleName' ) + ; # may or may not have a name + if ( $article ) { $article = $article->getValue() } + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, + [ $_->toString, $article ]; } } } - return ($term, $desc, \%relationships, $email,$authURI, $clobber); - + return ( $term, $desc, \%relationships, $email, $authURI, $clobber ); } - - =head2 deregisterObjectClass =over 3 @@ -413,51 +462,72 @@ =cut - sub deregisterObjectClass { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'object'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($class) = &_deregisterObjectPayload($payload); - $debug && &_LOG("deregister object type $class\n"); - return &_error("Must include class of object to deregister","") unless ($class); - - my ($success, $message, $existingURI) = $OntologyServer->objectExists(term => $class); - return &_error("Object class $class does not exist","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'object' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $class ) = &_deregisterObjectPayload( $payload ); + $debug && &_LOG( "deregister object type $class\n" ); + return &_error( "Must include class of object to deregister", "" ) + unless ( $class ); + my ( $success, $message, $existingURI ) = + $OntologyServer->objectExists( term => $class ); + return &_error( "Object class $class does not exist", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new()->dbh; - my ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join simple_input where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join simple_output where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join collection_input natural join simple_input where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join collection_output natural join simple_output where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - my ($success2, $message2, $URI) = $OntologyServer->deleteObject(term => $class); - $success2==0 && return &_error($message2, $URI); - return &_success($message2, $URI); - + my ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join simple_input where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join simple_output where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join collection_input natural join simple_input where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join collection_output natural join simple_output where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + my ( $success2, $message2, $URI ) = + $OntologyServer->deleteObject( term => $class ); + $success2 == 0 && return &_error( $message2, $URI ); + return &_success( $message2, $URI ); } +#Eddie - converted sub _deregisterObjectPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterObjectClass'); - - return &_nodeTextContent($Object, "objectType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'deregisterObjectClass' ); + return &_nodeTextContent( $Object, "objectType" ); } - =head2 registerServiceType =over 3 @@ -499,127 +569,167 @@ =cut - sub registerServiceType { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message, $URI); - my $OntologyServer = &_getOntologyServer(ontology => 'service'); - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $desc, $relationships, $email, $auth) = &_registerServiceTypePayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nrel $relationships\nemail $email\nauth $auth"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - if ($term =~ /FAILED/){ return &_error("Malformed XML\n $term","");} - return &_error("Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; + my ( $pkg, $payload ) = @_; + my ( $success, $message, $URI ); + my $OntologyServer = &_getOntologyServer( ontology => 'service' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $desc, $relationships, $email, $auth ) = + &_registerServiceTypePayload( $payload ); + $debug + && &_LOG( +"\n\nterm $term\ndesc $desc\nrel $relationships\nemail $email\nauth $auth" ); + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + + if ( $term =~ /FAILED/ ) { + return &_error( "Malformed XML\n $term", "" ); + } + return &_error( +"Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid - - my ($exists, $exists_message, $existingURI) = $OntologyServer->serviceExists(term => $term); # success = 1 if it does - (($exists==1) && return &_error("Service type $term already exists", $existingURI)); - + my ( $exists, $exists_message, $existingURI ) = + $OntologyServer->serviceExists( term => $term ); # success = 1 if it does + ( ( $exists == 1 ) + && return &_error( "Service type $term already exists", $existingURI ) + ); # is the relationship valid? - my $OSrel = MOBY::OntologyServer->new(ontology => 'relationship'); - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - my ($success, $desc, $URI) = $OSrel->relationshipExists(term => $reltype, ontology => 'service'); - (!$success) && return &_error("Relationship type $reltype does not exist in the relationship ontology",""); + my $OSrel = MOBY::OntologyServer->new( ontology => 'relationship' ); + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + my ( $success, $desc, $URI ) = $OSrel->relationshipExists( + term => $reltype, + ontology => 'service' ); + ( !$success ) && return &_error( +"Relationship type $reltype does not exist in the relationship ontology", + "" + ); } } # are the predicate service types valid? - my $OSsrv = MOBY::OntologyServer->new(ontology => 'service'); - if (keys %{$relationships}){ - while (my ($srvtype, $svcs) = each %{$relationships}){ - foreach my $svc(@{$svcs}){ - my ($success, $desc,$URI) = $OSsrv->serviceExists(term => $svc); - (!$success) && return &_error("Service type $srvtype does not exist in the service ontology",""); + my $OSsrv = MOBY::OntologyServer->new( ontology => 'service' ); + if ( keys %{$relationships} ) { + while ( my ( $srvtype, $svcs ) = each %{$relationships} ) { + foreach my $svc ( @{$svcs} ) { + my ( $success, $desc, $URI ) = + $OSsrv->serviceExists( term => $svc ); + ( !$success ) && return &_error( +"Service type $srvtype does not exist in the service ontology", + "" + ); } } } # hunky dorey. Now register! - - ($success, $message, $URI) = $OntologyServer->createServiceType( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - + ( $success, $message, $URI ) = $OntologyServer->createServiceType( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); my @failures; - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - foreach my $serviceType(@{$obj}){ - my ($success, $message) = $OntologyServer->addServiceRelationship( - subject_node => $term, - relationship => $reltype, - object_node => $serviceType, - authority => $auth, - contact_email => $email); - $success==0 && push @failures, $serviceType; - } - } - } - if (scalar(@failures)){ - my ($success, $message, $deleteURI) = $OntologyServer->deleteServiceType(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error("Service registration failed ISA connections, + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + foreach my $serviceType ( @{$obj} ) { + my ( $success, $message ) = + $OntologyServer->addServiceRelationship( + subject_node => $term, + relationship => $reltype, + object_node => $serviceType, + authority => $auth, + contact_email => $email + ); + $success == 0 && push @failures, $serviceType; + } + } + } + if ( scalar( @failures ) ) { + my ( $success, $message, $deleteURI ) = + $OntologyServer->deleteServiceType( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( + "Service registration failed ISA connections, and subsequently failed deletion. This is a critical error, - and may indicate corruption of the MOBY Central registry", $deleteURI); - return &_error("Service failed to register due to failure during registration of relationships".(join ",", (@failures))."\n", ""); + and may indicate corruption of the MOBY Central registry", $deleteURI + ); + return &_error( +"Service failed to register due to failure during registration of relationships" + . ( join ",", ( @failures ) ) . "\n", + "" + ); } - - return &_success("Service type $term registered successfully.", $URI); - + return &_success( "Service type $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerServiceTypePayload { - my ($payload) = @_; - $debug && &_LOG("_registerServiceTypePayload payload=$payload\n"); - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); + my ( $payload ) = @_; + $debug && &_LOG( "_registerServiceTypePayload payload=$payload\n" ); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerServiceType'); - - my $type = &_nodeTextContent($Object, "serviceType"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my $auth = &_nodeTextContent($Object, "authURI"); - my $desc = &_nodeTextContent($Object, "Description"); - + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerServiceType' ); + my $type = &_nodeTextContent( $Object, "serviceType" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my $auth = &_nodeTextContent( $Object, "authURI" ); + my $desc = &_nodeTextContent( $Object, "Description" ); my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, $_->toString; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, $_->toString; } } } - - $debug && &_LOG("got $type, $desc, \%relationships, $email, $auth from registerServiceTypePayload\n"); - return ($type, $desc, \%relationships, $email, $auth); - + $debug + && &_LOG( +"got $type, $desc, \%relationships, $email, $auth from registerServiceTypePayload\n" + ); + return ( $type, $desc, \%relationships, $email, $auth ); } - - - =head2 deregisterServiceType =over 3 @@ -645,44 +755,46 @@ =cut - sub deregisterServiceType { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'service'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($term) = &_deregisterServiceTypePayload($payload); - $debug && &_LOG("deregister serviceType accession $term\n"); - return &_error("Must include an accession number to deregister a serviceType","") unless ($term); - - my ($success, $message, $existingURI) = $OntologyServer->serviceExists(term => $term); # hopefully this situation will never happen! - return &_error("Service Type $term does not exist in the ontology","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'service' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $term ) = &_deregisterServiceTypePayload( $payload ); + $debug && &_LOG( "deregister serviceType accession $term\n" ); + return &_error( + "Must include an accession number to deregister a serviceType", + "" ) + unless ( $term ); + my ( $success, $message, $existingURI ) = + $OntologyServer->serviceExists( term => $term ) + ; # hopefully this situation will never happen! + return &_error( "Service Type $term does not exist in the ontology", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new()->dbh; - my ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance where service_type_uri = ?}, undef, $existingURI); - return &_error("A registered service depends on this service type","") if ($id); - - my ($success2, $message2, $deleteURI) = $OntologyServer->deleteServiceType(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error($message2, $deleteURI); - return &_success("Service type $term deleted.", $deleteURI); + my ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance where service_type_uri = ?}, + undef, $existingURI + ); + return &_error( "A registered service depends on this service type", "" ) + if ( $id ); + my ( $success2, $message2, $deleteURI ) = + $OntologyServer->deleteServiceType( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( $message2, $deleteURI ); + return &_success( "Service type $term deleted.", $deleteURI ); } - +#Eddie - converted sub _deregisterServiceTypePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterServiceType'); - - return &_nodeTextContent($Object, "serviceType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; #Eddie- unsure + return undef unless ( $obj eq 'deregisterServiceType' ); + return &_nodeTextContent( $Object, "serviceType" ); } - - - =head2 registerNamespace =over 3 @@ -715,57 +827,65 @@ =cut - - sub registerNamespace { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message); - my $OntologyServer = &_getOntologyServer(ontology => 'namespace'); - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $auth, $desc, $email) = &_registerNamespacePayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nemail $email\nauth $auth"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - return &_error("Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; - - my ($exists, $exists_message, $URI) = $OntologyServer->namespaceExists(term => $term); # success = 1 if it does - (($exists==1) && return &_error("Namespace $term already exists", $URI)); - - ($success, $message, $URI) = $OntologyServer->createNamespace( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - - return &_success("Namespace type $term registered successfully.", $URI); - + my ( $pkg, $payload ) = @_; + my ( $success, $message ); + my $OntologyServer = &_getOntologyServer( ontology => 'namespace' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $auth, $desc, $email ) = &_registerNamespacePayload( $payload ); + $debug && &_LOG( "\n\nterm $term\ndesc $desc\nemail $email\nauth $auth" ); + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + return &_error( +"Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; + my ( $exists, $exists_message, $URI ) = + $OntologyServer->namespaceExists( term => $term ) + ; # success = 1 if it does + ( ( $exists == 1 ) + && return &_error( "Namespace $term already exists", $URI ) ); + ( $success, $message, $URI ) = $OntologyServer->createNamespace( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); + return &_success( "Namespace type $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerNamespacePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerNamespace'); - - my $type = &_nodeTextContent($Object, "namespaceType"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $desc = &_nodeTextContent($Object, "Description"); - my $contact = &_nodeTextContent($Object, "contactEmail"); - - return ($type, $authURI, $desc, $contact); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerNamespace' ); + my $type = &_nodeTextContent( $Object, "namespaceType" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $contact = &_nodeTextContent( $Object, "contactEmail" ); + return ( $type, $authURI, $desc, $contact ); } - =head2 deregisterNamespace =over @@ -792,81 +912,101 @@ =cut - sub deregisterNamespace { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'namespace'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($term) = &_deregisterNamespacePayload($payload); - $debug && &_LOG("deregister namespaceType accession $term\n"); - return &_error("Must include a Namespace type to deregister.","") unless ($term); - - my ($success, $message, $existingURI) = $OntologyServer->namespaceExists(term => $term); - return &_error("Namespace Type $term does not exist","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'namespace' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $term ) = &_deregisterNamespacePayload( $payload ); + $debug && &_LOG( "deregister namespaceType accession $term\n" ); + return &_error( "Must include a Namespace type to deregister.", "" ) + unless ( $term ); + my ( $success, $message, $existingURI ) = + $OntologyServer->namespaceExists( term => $term ); + return &_error( "Namespace Type $term does not exist", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new->dbh; - - my $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_input where INSTR(namespace_type_uris,'$existingURI')"); + my $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_input where INSTR(namespace_type_uris,'$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_output where INSTR(namespace_type_uris,'$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_output where INSTR(namespace_type_uris,'$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_input natural join simple_input where INSTR(namespace_type_uris, '$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_input natural join simple_input where INSTR(namespace_type_uris, '$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_output natural join simple_output where INSTR(namespace_type_uris, '$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_output natural join simple_output where INSTR(namespace_type_uris, '$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); - } - } - - my ($success2, $message2, $URI) = $OntologyServer->deleteNamespace( - term => $term); - $success2==0 && return &_error($message2, $URI); - - return &_success("Namespace type $term deregistered successfully.", $URI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); + } + } + my ( $success2, $message2, $URI ) = + $OntologyServer->deleteNamespace( term => $term ); + $success2 == 0 && return &_error( $message2, $URI ); + return &_success( "Namespace type $term deregistered successfully.", $URI ); } +#Eddie - converted sub _deregisterNamespacePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterNamespace'); - - return &_nodeTextContent($Object, "namespaceType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'deregisterNamespace' ); + return &_nodeTextContent( $Object, "namespaceType" ); } - =head2 registerService =over 3 @@ -1063,7 +1203,7 @@ =cut - + # inputXML (FOR CGI GET SERVICES): # # cgi @@ -1085,316 +1225,414 @@ # human readable description of your service]]> # # - -sub registerService { - my ($pkg, $payload) = @_; - my ($serviceName, $serviceType, $AuthURI, $contactEmail, $URL, $authoritativeService, $desc, $Category, $INPUTS, $OUTPUTS, $SECONDARY, $signatureURL) = &_registerServicePayload($payload); - $authoritativeService = defined($authoritativeService)?1:0; +sub registerService { + my ( $pkg, $payload ) = @_; + my ( + $serviceName, $serviceType, $AuthURI, + $contactEmail, $URL, $authoritativeService, + $desc, $Category, $INPUTS, + $OUTPUTS, $SECONDARY, $signatureURL + ) + = &_registerServicePayload( $payload ); + $authoritativeService = defined( $authoritativeService ) ? 1 : 0; my $error; - $error .="missing serviceName \n" unless defined $serviceName; - $error .="missing serviceType \n" unless defined $serviceType; -# $error .="missing signatureURL \n" unless defined $signatureURL; - $error .="missing authURI \n" unless defined $AuthURI; - $error .="missing contactEmail \n" unless defined $contactEmail; - return &_error("Malformed authURI - must not have an http:// prefix","") if $AuthURI =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $AuthURI =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $contactEmail =~ /\S\@\S+\.\S+/; - $error .="missing URL \n" unless defined $URL; - $error .="missing description \n" unless defined $desc; - $error .="missing Category \n" unless defined $Category; - - return &_error("malformed payload $error\n\n","") if ($error); - return &_error("Category may take the (case sensitive) values 'moby', 'cgi', 'soap'\n","") unless ( - ($Category eq "wsdl") -# || ($Category eq "cgi") - || ($Category eq "moby") - ); - $debug && &_LOG("Entering switch with $Category method\n"); + $error .= "missing serviceName \n" unless defined $serviceName; + $error .= "missing serviceType \n" unless defined $serviceType; - return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless (($Category eq "moby") || ($Category eq "wsdl")); - my @IN = @{$INPUTS}; - my @OUT = @{$OUTPUTS}; + # $error .="missing signatureURL \n" unless defined $signatureURL; + $error .= "missing authURI \n" unless defined $AuthURI; + $error .= "missing contactEmail \n" unless defined $contactEmail; + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $AuthURI =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $AuthURI =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $contactEmail =~ /\S\@\S+\.\S+/; + $error .= "missing URL \n" unless defined $URL; + $error .= "missing description \n" unless defined $desc; + $error .= "missing Category \n" unless defined $Category; + return &_error( "malformed payload $error\n\n", "" ) if ( $error ); + return &_error( + "Category may take the (case sensitive) values 'moby', 'cgi', 'soap'\n", + "" + ) + unless ( + ( $Category eq "wsdl" ) + + # || ($Category eq "cgi") + || ( $Category eq "moby" ) + ); + $debug && &_LOG( "Entering switch with $Category method\n" ); + return &_error( +"Service categories other than 'moby' and 'wsdl' are not yet implemented", + "" + ) + unless ( ( $Category eq "moby" ) || ( $Category eq "wsdl" ) ); + my @IN = @{$INPUTS}; + my @OUT = @{$OUTPUTS}; my @SECS = @{$SECONDARY}; - - return &_error("must include at least one input and/or one output object type","") unless (scalar @IN || scalar @OUT); + return &_error( + "must include at least one input and/or one output object type", + "" ) + unless ( scalar @IN || scalar @OUT ); my %objects_to_be_validated; - foreach (@IN, @OUT){ - foreach my $objectName(&_extractObjectTypes($_)){ + foreach ( @IN, @OUT ) { + + foreach my $objectName ( &_extractObjectTypes( $_ ) ) { $objects_to_be_validated{$objectName} = 1; } } - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - - foreach (keys %objects_to_be_validated){ - my ($valid, $message, $URI) = $OS->objectExists(term => $_); - return &_error("$message","$URI") unless ($valid || (($_ =~ /urn:lsid/i) && !($_ =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-moby LSID - } - - $debug && &_LOG("\n\n\aall objects okay - either valid MOBY objects, or LSID's\n"); + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + foreach ( keys %objects_to_be_validated ) { + my ( $valid, $message, $URI ) = $OS->objectExists( term => $_ ); + return &_error( "$message", "$URI" ) + unless ( $valid + || ( ( $_ =~ /urn:lsid/i ) && !( $_ =~ /urn:lsid:biomoby.org/i ) ) + ); # either valid, or a non-moby LSID + } + $debug + && &_LOG( + "\n\n\aall objects okay - either valid MOBY objects, or LSID's\n" ); + $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my ( $valid, $message, $URI ) = $OS->serviceExists( term => $serviceType ); - $OS = MOBY::OntologyServer->new(ontology => 'service'); - my ($valid, $message, $URI) = $OS->serviceExists(term => $serviceType); #print STDERR "\n\nChecking $URI\n\n"; - return &_error("$message","$URI") unless ($valid || (($serviceType =~ /urn:lsid/i) && !($serviceType =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-MOBY LSID - #print STDERR "\n\nChecking $URI OK!!\n\n"; - # right, registration should be successful now! - + return &_error( "$message", "$URI" ) + unless ( + $valid + || ( ( $serviceType =~ /urn:lsid/i ) + && !( $serviceType =~ /urn:lsid:biomoby.org/i ) ) + ); # either valid, or a non-MOBY LSID + #print STDERR "\n\nChecking $URI OK!!\n\n"; + # right, registration should be successful now! my $SVC = MOBY::service_instance->new( - category => $Category, - servicename => $serviceName, - service_type => $serviceType, - authority_uri => $AuthURI, - url => $URL, - contact_email => $contactEmail, - authoritative => $authoritativeService, - description => $desc, - signatureURL => $signatureURL, - ); - - return &_error("Service registration failed for unknown reasons","") if (!defined $SVC); - return &_error("Service with this authority/servicename already exists","") if ($SVC == -1); - - $debug && &_LOG("new service instance created\n"); - - foreach my $IN(@IN){ - my ($success,$msg) = &_registerArticles($SVC, "input", $IN, undef); - return &_error("Registration Failed During INPUT Article Registration: $msg","") unless ($success==1); - } - foreach my $OUT(@OUT){ - my ($success,$msg) = &_registerArticles($SVC, "output", $OUT, undef); - return &_error("Registration Failed During OUTPUT Article Registration: $msg","") unless ($success==1); - } - foreach my $SEC(@SECS){ - my ($success,$msg) = &_registerArticles($SVC, "secondary", $SEC, undef); - return &_error("Registration Failed During SECONDARY Article Registration: $msg","") unless ($success==1); - } - - # we're going to do a findService here to find the service that we just created - # and use the resulting XML to create a MOBY::Client::ServiceInstance object - # that we can then use to retrieve the RDF for that service signature. - # this is roundabout, I agree, but it is the most re-usable way to go at - # the moment. - - my ($si, $reg) = &findService(''," + category => $Category, + servicename => $serviceName, + service_type => $serviceType, + authority_uri => $AuthURI, + url => $URL, + contact_email => $contactEmail, + authoritative => $authoritativeService, + description => $desc, + signatureURL => $signatureURL, + ); + return &_error( "Service registration failed for unknown reasons", "" ) + if ( !defined $SVC ); + return &_error( "Service with this authority/servicename already exists", + "" ) + if ( $SVC == -1 ); + $debug && &_LOG( "new service instance created\n" ); + + foreach my $IN ( @IN ) { + my ( $success, $msg ) = &_registerArticles( $SVC, "input", $IN, undef ); + return &_error( + "Registration Failed During INPUT Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + foreach my $OUT ( @OUT ) { + my ( $success, $msg ) = + &_registerArticles( $SVC, "output", $OUT, undef ); + return &_error( + "Registration Failed During OUTPUT Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + foreach my $SEC ( @SECS ) { + my ( $success, $msg ) = + &_registerArticles( $SVC, "secondary", $SEC, undef ); + return &_error( + "Registration Failed During SECONDARY Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + + # we're going to do a findService here to find the service that we just created + # and use the resulting XML to create a MOBY::Client::ServiceInstance object + # that we can then use to retrieve the RDF for that service signature. + # this is roundabout, I agree, but it is the most re-usable way to go at + # the moment. + my ( $si, $reg ) = &findService( + '', " $AuthURI; $serviceName; - "); - unless ($si){ - $SVC->DELETE_THYSELF; - return &_error("Registration Failed - newly registered service could not be discovered",""); - } - use MOBY::Client::Central; - my $services = MOBY::Client::Central::_parseServices('', '', $si); - my $service_instance = shift @{$services}; - my $storage = new RDF::Core::Storage::Memory; - my $model = new RDF::Core::Model (Storage => $storage); - my $RDF_MODEL = MOBY::RDF::ServiceInstanceRDF->new(model => $model, service_instance => $service_instance); - my $RDF_XML = $RDF_MODEL->serialize; - return &_success("Registration successful", $SVC->service_instance_id, $RDF_XML); + " + ); + unless ( $si ) { + $SVC->DELETE_THYSELF; + return &_error( +"Registration Failed - newly registered service could not be discovered", + "" + ); + } + use MOBY::Client::Central; + my $services = MOBY::Client::Central::_parseServices( '', '', $si ); + my $service_instance = shift @{$services}; + my $storage = new RDF::Core::Storage::Memory; + my $model = new RDF::Core::Model( Storage => $storage ); + my $RDF_MODEL = MOBY::RDF::ServiceInstanceRDF->new( + model => $model, + service_instance => $service_instance ); + my $RDF_XML = $RDF_MODEL->serialize; + return &_success( "Registration successful", + $SVC->service_instance_id, $RDF_XML ); } +#Eddie - Converted sub _registerArticles { - my ($SVC, $inout, $node,$collid) = @_; # node is a node of the XML dom representing an article to be registered - my $dbh = $SVC->dbh; - return (-1,'Bad node') unless $node->getNodeType == ELEMENT_NODE; - - # this is a Simple, Collection, or Parameter object - my $simp_coll = $node->getTagName; - $debug && &_LOG("TAGNAME in $inout _registerArticle is $simp_coll"); - - my $article = $node->getAttributeNode("articleName"); # may or may not have a name - if ($article){$article = $article->getValue()} - $debug && &_LOG("ARTICLENAME in _registerArticle is $article"); - - my ($object_type, @namespaces); - - if ($simp_coll eq "Collection"){ - $debug && &_LOG("Collection!\n"); - my $collection_id; - if ($inout eq 'input'){ - $collection_id = $SVC->add_collection_input(article_name => $article); - } elsif ($inout eq 'output') { - $collection_id = $SVC->add_collection_output(article_name => $article); - } else { - $SVC->DELETE_THYSELF; return (-1,"found article that was neither input nor output"); - } - - # the following SQl belongs in the service_instance object, but screw it, I'm running out of time! - #$dbh->do("insert into collection_$inout (service_instance_id, article_name) values (?,?)", undef, ($SVC->service_instance_id, $article)); - #my $collection_id=$dbh->{mysql_insertid}; - - my $Simples = $node->getElementsByTagName('Simple'); - my $length = $Simples->getLength; - unless ($length > 0){return (-1, "Your collection must be a collection of one or more Simple types");} - for (my $x=0; $x<$length; ++$x){ - my ($success, $message) = &_registerArticles($SVC, $inout, $Simples->item($x),$collection_id); - unless ($success == 1){return (-1, $message);} + my ( $SVC, $inout, $node, $collid ) = @_ + ; # node is a node of the XML dom representing an article to be registered + my $dbh = $SVC->dbh; + return ( -1, 'Bad node' ) unless $node->nodeType == ELEMENT_NODE; + + # this is a Simple, Collection, or Parameter object + my $simp_coll = $node->nodeName; + $debug && &_LOG( "TAGNAME in $inout _registerArticle is $simp_coll" ); + my $article = + $node->getAttributeNode( "articleName" ); # may or may not have a name + if ( $article ) { $article = $article->getValue() } + $debug && &_LOG( "ARTICLENAME in _registerArticle is $article" ); + my ( $object_type, @namespaces ); + if ( $simp_coll eq "Collection" ) { + $debug && &_LOG( "Collection!\n" ); + my $collection_id; + if ( $inout eq 'input' ) { + $collection_id = + $SVC->add_collection_input( article_name => $article ); + } elsif ( $inout eq 'output' ) { + $collection_id = + $SVC->add_collection_output( article_name => $article ); + } else { + $SVC->DELETE_THYSELF; + return ( -1, "found article that was neither input nor output" ); + } + +# the following SQl belongs in the service_instance object, but screw it, I'm running out of time! +#$dbh->do("insert into collection_$inout (service_instance_id, article_name) values (?,?)", undef, ($SVC->service_instance_id, $article)); +#my $collection_id=$dbh->{mysql_insertid}; + my $Simples = $node->getElementsByTagName( 'Simple' ); + my $length = $Simples->size(); + unless ( $length > 0 ) { + return ( + -1, +"Your collection must be a collection of one or more Simple types" + ); + } + for ( my $x = 1 ; $x <= $length ; ++$x ) { + my ( $success, $message ) = + &_registerArticles( $SVC, $inout, $Simples->get_node( $x ), + $collection_id ); + unless ( $success == 1 ) { return ( -1, $message ); } } - } elsif ($simp_coll eq "Simple") { - my $article = $node->getAttributeNode("articleName"); + } elsif ( $simp_coll eq "Simple" ) { + my $article = $node->getAttributeNode( "articleName" ); $article = $article->getValue() if $article; # get object type and its URI from the ontoogy server - my $types = $node->getElementsByTagName('objectType'); - my $OE = MOBY::OntologyServer->new(ontology => "object"); - foreach ($types->item(0)->getChildNodes) { # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($object_type = $_->toString); - } - my ($success, $message, $typeURI) = $OE->objectExists(term => $object_type); - if ((!($success) && ($object_type =~ /urn:lsid:biomoby.org/i)) || (!($success) && !($object_type =~ /urn:lsid/i))) { # if the object doesn't exist, and it isn't an LSID - $SVC->DELETE_THYSELF; return (-1,"object: $object_type does not exist, and is not an LSID"); - } # kill it all unless this was successful! - + my $types = $node->getElementsByTagName( 'objectType' ); + my $OE = MOBY::OntologyServer->new( ontology => "object" ); + foreach ( $types->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $object_type = $_->toString ); + } + my ( $success, $message, $typeURI ) = + $OE->objectExists( term => $object_type ); + if ( ( !( $success ) && ( $object_type =~ /urn:lsid:biomoby.org/i ) ) + || ( !( $success ) && !( $object_type =~ /urn:lsid/i ) ) ) + { # if the object doesn't exist, and it isn't an LSID + $SVC->DELETE_THYSELF; + return ( -1, + "object: $object_type does not exist, and is not an LSID" + ); + } # kill it all unless this was successful! my $namespace_string; - my $namespaces = $node->getElementsByTagName('Namespace'); - my $num_ns = $namespaces->getLength; - $OE = MOBY::OntologyServer->new(ontology => "namespace"); - for (my $n = 0; $n<$num_ns;++$n) { - foreach my $name ($namespaces->item($n)->getChildNodes) { - if ($name->getNodeType == TEXT_NODE) { + my $namespaces = $node->getElementsByTagName( 'Namespace' ); + my $num_ns = $namespaces->size(); + $OE = MOBY::OntologyServer->new( ontology => "namespace" ); + for ( my $n = 1 ; $n <= $num_ns ; ++$n ) { + foreach my $name ( $namespaces->get_node( $n )->childNodes ) { + if ( $name->nodeType == TEXT_NODE ) { my $term = $name->toString; - my ($success, $message, $URI) = $OE->namespaceExists(term => $term); - if ((!($success) && ($term =~ /urn:lsid:biomoby.org/i)) || (!($success) && !($term =~ /urn:lsid/i))) { # if the object doesn't exist, and it isn't an LSID + my ( $success, $message, $URI ) = + $OE->namespaceExists( term => $term ); + if ( + ( + !( $success ) && ( $term =~ /urn:lsid:biomoby.org/i ) + ) + || ( !( $success ) && !( $term =~ /urn:lsid/i ) ) + ) + { # if the object doesn't exist, and it isn't an LSID $SVC->DELETE_THYSELF; - return (-1,"namespace: $term doesn't exist and is not an LSID"); + return ( + -1, + "namespace: $term doesn't exist and is not an LSID" + ); } - $namespace_string .=$URI.","; + $namespace_string .= $URI . ","; } } } - chop($namespace_string); # remove trailing comma + chop( $namespace_string ); # remove trailing comma my $dbh = $SVC->dbh; my $service_instance_id; - unless ($collid) { # this SIMPLE is either alone, or is part of a COLLECTION ($collid > 0) - # therefore we want either its service instance ID, or its Collection ID. + unless ( $collid ) + { # this SIMPLE is either alone, or is part of a COLLECTION ($collid > 0) + # therefore we want either its service instance ID, or its Collection ID. $service_instance_id = $SVC->service_instance_id; - } # one or the other, but not both - - if ($inout eq 'input'){ - my $sinput = $SVC->add_simple_input( - object_type_uri => $typeURI, - namespace_type_uris => $namespace_string, - article_name => $article, - collection_input_id => $collid, - ); - unless ($sinput){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of input object $typeURI. Unknown reasons."); - } - - } elsif ($inout eq 'output'){ - my $soutput = $SVC->add_simple_output( - object_type_uri => $typeURI, - namespace_type_uris => $namespace_string, - article_name => $article, - collection_output_id => $collid, - ); - unless ($soutput){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of output object $typeURI. Unknown reasons."); - } - } - - } elsif ($simp_coll eq "Parameter"){ - my $parameter = $node; - my $article = $parameter->getAttributeNode("articleName"); - $article = $article->getValue() if $article; - my ($datatype, $def, $max, $min, @enums); - my $types = $parameter->getElementsByTagName('datatype'); - if ($types->item(0)){ - foreach ($types->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($datatype = $_->toString); - } - } - my $defs = $parameter->getElementsByTagName('default'); - if ($defs->item(0)){ - foreach ($defs->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($def = $_->toString); - } - } - my $maxs = $parameter->getElementsByTagName('max'); - if ($maxs->item(0)){ - foreach ($maxs->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($max = $_->toString); - } - } - my $mins = $parameter->getElementsByTagName('min'); - if ($mins->item(0)){ - foreach ($mins->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($min = $_->toString); - } - } - my $enums = $parameter->getElementsByTagName('enum'); - my $numenums = $enums->getLength; - for (my $n=0;$n<$numenums;++$n){ - foreach ($enums->item($n)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && (push @enums, $_->toString); - } - } - my $enum_string = join "",(map {$_.","} @enums); - chop $enum_string; # get rid of trailing comma - my $sec = $SVC->add_secondary_input( - default_value => $def, - maximum_value => $max, - minimum_value => $min, - enum_value => $enum_string, - datatype => $datatype, - article_name => $article, - ); - unless ($sec){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of parameter $article. Must be of type Integer, String, DateTime, or Float."); - } + } # one or the other, but not both + if ( $inout eq 'input' ) { + my $sinput = $SVC->add_simple_input( + object_type_uri => $typeURI, + namespace_type_uris => $namespace_string, + article_name => $article, + collection_input_id => $collid, + ); + unless ( $sinput ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of input object $typeURI. Unknown reasons." + ); + } + } elsif ( $inout eq 'output' ) { + my $soutput = $SVC->add_simple_output( + object_type_uri => $typeURI, + namespace_type_uris => $namespace_string, + article_name => $article, + collection_output_id => $collid, + ); + unless ( $soutput ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of output object $typeURI. Unknown reasons." + ); + } + } + } elsif ( $simp_coll eq "Parameter" ) { + my $parameter = $node; + my $article = $parameter->getAttributeNode( "articleName" ); + $article = $article->getValue() if $article; + my ( $datatype, $def, $max, $min, @enums ); + my $types = $parameter->getElementsByTagName( 'datatype' ); + if ( $types->get_node( 1 ) ) { + foreach ( $types->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) + && ( $datatype = $_->toString ); + } + } + my $defs = $parameter->getElementsByTagName( 'default' ); + if ( $defs->get_node( 1 ) ) { + foreach ( $defs->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $def = $_->toString ); + } + } + my $maxs = $parameter->getElementsByTagName( 'max' ); + if ( $maxs->get_node( 1 ) ) { + foreach ( $maxs->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $max = $_->toString ); + } + } + my $mins = $parameter->getElementsByTagName( 'min' ); + if ( $mins->get_node( 1 ) ) { + foreach ( $mins->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $min = $_->toString ); + } + } + my $enums = $parameter->getElementsByTagName( 'enum' ); + my $numenums = $enums->size(); + for ( my $n = 1 ; $n <= $numenums ; ++$n ) { + foreach ( $enums->get_node( $n )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) + && ( push @enums, $_->toString ); + } + } + my $enum_string = join "", ( map { $_ . "," } @enums ); + chop $enum_string; # get rid of trailing comma + my $sec = $SVC->add_secondary_input( + default_value => $def, + maximum_value => $max, + minimum_value => $min, + enum_value => $enum_string, + datatype => $datatype, + article_name => $article, + ); + unless ( $sec ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of parameter $article. Must be of type Integer, String, DateTime, or Float." + ); + } } return 1; } - +#Eddie - converted sub _registerServicePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerService'); - - my $serviceName = &_nodeTextContent($Object, "serviceName"); - my $Category = &_nodeTextContent($Object, "Category"); - my $serviceType = &_nodeTextContent($Object, "serviceType"); - my $AuthURI = &_nodeTextContent($Object, "authURI"); - my $contactEmail = &_nodeTextContent($Object, "contactEmail"); - my $authoritativeService = &_nodeTextContent($Object, "authoritativeService"); - my $URL = &_nodeTextContent($Object, "URL"); - my $signatureURL = &_nodeTextContent($Object, "signatureURL"); - my $desc = &_nodeTextContent($Object, "Description"); - my $INPUTS = &_nodeRawContent($Object, "Input"); # returns array ref - my $OUTPUTS = &_nodeRawContent($Object, "Output"); # returns array ref - my $SECONDARIES = &_nodeRawContent($Object, "secondaryArticles"); # returns array ref - - return ($serviceName, $serviceType, $AuthURI, $contactEmail, $URL, $authoritativeService, $desc, $Category, $INPUTS, $OUTPUTS, $SECONDARIES, $signatureURL); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerService' ); + my $serviceName = &_nodeTextContent( $Object, "serviceName" ); + my $Category = &_nodeTextContent( $Object, "Category" ); + my $serviceType = &_nodeTextContent( $Object, "serviceType" ); + my $AuthURI = &_nodeTextContent( $Object, "authURI" ); + my $contactEmail = &_nodeTextContent( $Object, "contactEmail" ); + my $authoritativeService = + &_nodeTextContent( $Object, "authoritativeService" ); + my $URL = &_nodeTextContent( $Object, "URL" ); + my $signatureURL = &_nodeTextContent( $Object, "signatureURL" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $INPUTS = &_nodeRawContent( $Object, "Input" ); # returns array ref + my $OUTPUTS = &_nodeRawContent( $Object, "Output" ); # returns array ref + my $SECONDARIES = + &_nodeRawContent( $Object, "secondaryArticles" ); # returns array ref + return ( + $serviceName, $serviceType, $AuthURI, + $contactEmail, $URL, $authoritativeService, + $desc, $Category, $INPUTS, + $OUTPUTS, $SECONDARIES, $signatureURL + ); } +#Eddie - converted sub _extractObjectTypes { - my ($DOM) = @_; # DOM is either a or a article - $debug && &_LOG("\n\n\nExtracting object types from \n$DOM \n\n"); - unless (ref($DOM) =~ /^XML/){ - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($DOM); + my ( $DOM ) = @_; # DOM is either a or a article + $debug && &_LOG( "\n\n\nExtracting object types from \n$DOM \n\n" ); + unless ( ref( $DOM ) =~ /^XML/ ) { + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $DOM ); $DOM = $doc->getDocumentElement(); } - my $x = $DOM->getElementsByTagName("objectType"); + my $x = $DOM->getElementsByTagName( "objectType" ); my @objectnames; - my $l = $x->getLength; # might be a Collection object with multiple simples... - for (my $n=0; $n < $l; ++$n){ - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; + my $l = $x->size(); # might be a Collection object with multiple simples... + for ( my $n = 1 ; $n <= $l ; ++$n ) { + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + $debug + && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ) + ; #hopefully uses MobyXMLConstants.pm + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; push @objectnames, $name; } } - return (@objectnames); + return ( @objectnames ); } - =head2 registerServiceWSDL Title : NOT YET IMPLEMENTED @@ -1403,13 +1641,11 @@ =cut - sub registerServiceWSDL { - my ( $pkg, $serviceType, $wsdl) = @_; - return &_error("not yet implemented", ""); + my ( $pkg, $serviceType, $wsdl ) = @_; + return &_error( "not yet implemented", "" ); } - =head2 deregisterService Title : deregisterService @@ -1427,40 +1663,51 @@ =cut - - sub deregisterService { - my ($pkg, $payload) = @_; - $debug && &_LOG("\nstarting deregistration\n"); - my ($authURI, $serviceName) = &_deregisterServicePayload($payload); - return &_error("must provide an authority and a service name\n", "") unless ($authURI && $serviceName); - - - return &_error("The service specified by authority=$authURI servicename=$serviceName does not exist in the registry", "") unless (MOBY::service_instance->new(servicename => $serviceName, authority_uri => $authURI, test => 1)); - my $SERVICE = MOBY::service_instance->new(servicename => $serviceName, authority_uri => $authURI); - if ($SERVICE->signatureURL){ - return &_error("it is illegal to deregister a service that has a signatureURL. Such services must be deregistered by deleting the RDF at the location identified by the signatureURL",""); - } - - my $result = $SERVICE->DELETE_THYSELF; - if ($result){ - return &_success("Service Deregistered Successfully",""); + my ( $pkg, $payload ) = @_; + $debug && &_LOG( "\nstarting deregistration\n" ); + my ( $authURI, $serviceName ) = &_deregisterServicePayload( $payload ); + return &_error( "must provide an authority and a service name\n", "" ) + unless ( $authURI && $serviceName ); + return &_error( +"The service specified by authority=$authURI servicename=$serviceName does not exist in the registry", + "" + ) + unless ( + MOBY::service_instance->new( + servicename => $serviceName, + authority_uri => $authURI, + test => 1 + ) + ); + my $SERVICE = MOBY::service_instance->new( servicename => $serviceName, + authority_uri => $authURI ); + if ( $SERVICE->signatureURL ) { + return &_error( +"it is illegal to deregister a service that has a signatureURL. Such services must be deregistered by deleting the RDF at the location identified by the signatureURL", + "" + ); + } + my $result = $SERVICE->DELETE_THYSELF; + if ( $result ) { + return &_success( "Service Deregistered Successfully", "" ); } else { - return &_error("Service deletion failed for unknown reasons",""); + return &_error( "Service deletion failed for unknown reasons", "" ); } } +#Eddie - converted sub _deregisterServicePayload { - my ($payload) = @_; - $debug && &_LOG("deregisterService payload: ",($payload),"\n"); - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); + my ( $payload ) = @_; + $debug && &_LOG( "deregisterService payload: ", ( $payload ), "\n" ); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterService'); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $name = &_nodeTextContent($Object, "serviceName"); - return ($authURI, $name); + my $obj = $Object->nodeName; #Eddie - unsure + return undef unless ( $obj eq 'deregisterService' ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $name = &_nodeTextContent( $Object, "serviceName" ); + return ( $authURI, $name ); } =head2 findService @@ -1567,11 +1814,11 @@ =cut sub findService { - my ($pkg, $payload) = @_; - $debug && &_LOG("\nLOOKING FOR SERVICES\n"); - my %findme = &_findServicePayload($payload); - - $debug && &_LOG ("'serviceType' => $findme{serviceType}, + my ( $pkg, $payload ) = @_; + $debug && &_LOG( "\nLOOKING FOR SERVICES\n" ); + my %findme = &_findServicePayload( $payload ); + $debug && &_LOG( + "'serviceType' => $findme{serviceType}, 'authURI' => $findme{AuthURI}, 'servicename' => $findme{servicename}, 'expandObjects' => $findme{expandObjects}, @@ -1579,281 +1826,393 @@ 'authoritative' => $findme{authoritative}, 'category' => $findme{Category}, 'keywords' => $findme{keywords}, - "); - + " + ); my %valid_service_ids; - my $criterion_count=0; - # we want to avoid joins, since they slow things down, so... - # the logic is that we keep a hash of valid id's - # and the number of times they are discovered - # we also count the number of criterion - # we only want the service_id's that appear as many times as the criterion we have - # since they will have matched every criterion. + my $criterion_count = 0; + +# we want to avoid joins, since they slow things down, so... +# the logic is that we keep a hash of valid id's +# and the number of times they are discovered +# we also count the number of criterion +# we only want the service_id's that appear as many times as the criterion we have +# since they will have matched every criterion. my $dbh = MOBY::central_db_connection->new()->dbh; - if ($findme{authoritative}){ + if ( $findme{authoritative} ) { ++$criterion_count; - $debug && _LOG("authoritative added; criterion count is now $criterion_count\n"); - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where authoritative=?}, undef, $findme{authoritative}); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "authoritative added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where authoritative=?}, + undef, $findme{authoritative} + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{serviceType}){ # must have something more than empty content - my $OS = MOBY::OntologyServer->new(ontology => 'service'); + if ( $findme{serviceType} ) { # must have something more than empty content + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); $findme{serviceType} =~ s/^moby\://; - my ($exists, $message, $URI) = $OS->serviceExists(term =>$findme{serviceType}); - unless ($exists){ - return &_serviceListResponse($dbh,undef); + my ( $exists, $message, $URI ) = + $OS->serviceExists( term => $findme{serviceType} ); + unless ( $exists ) { + return &_serviceListResponse( $dbh, undef ); } ++$criterion_count; - $debug && _LOG("serviceType added; criterion count is now $criterion_count\n"); - + $debug + && _LOG( + "serviceType added; criterion count is now $criterion_count\n" ); my $children_string = "'$URI',"; - if ($findme{'expandServices'}){ - $debug && _LOG("Expanding Services\n"); - my $OS = MOBY::OntologyServer->new(ontology => 'service'); - my %relationships = %{$OS->traverseDAG($URI, "leaves")}; - my (@children) = @{$relationships{'urn:lsid:biomoby.org:servicerelation:isa'}}; - $children_string .= (join ',', map {"\'$_\'"} @children); + if ( $findme{'expandServices'} ) { + $debug && _LOG( "Expanding Services\n" ); + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my %relationships = %{ $OS->traverseDAG( $URI, "leaves" ) }; + my ( @children ) = + @{ $relationships{'urn:lsid:biomoby.org:servicerelation:isa'} }; + $children_string .= ( join ',', map { "\'$_\'" } @children ); } $children_string =~ s/\,$//; - my $ids = $dbh->selectall_arrayref("select service_instance_id from service_instance where service_type_uri in ($children_string)"); - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + my $ids = + $dbh->selectall_arrayref( +"select service_instance_id from service_instance where service_type_uri in ($children_string)" + ); + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{authURI}){ + if ( $findme{authURI} ) { ++$criterion_count; - $debug && _LOG("authURI added; criterion count is now $criterion_count\n"); - - my ($id) = $dbh->selectrow_array(q{select authority_id from authority where authority_uri = ? or authority_common_name = ?},undef,($findme{authURI}, $findme{authURI})); - unless ($id){ - return &_serviceListResponse($dbh,undef); - } - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where authority_id=?}, undef, $id); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( "authURI added; criterion count is now $criterion_count\n" ); + my ( $id ) = $dbh->selectrow_array( +q{select authority_id from authority where authority_uri = ? or authority_common_name = ?}, + undef, + ( $findme{authURI}, $findme{authURI} ) + ); + unless ( $id ) { + return &_serviceListResponse( $dbh, undef ); + } + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where authority_id=?}, + undef, $id + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{servicename}){ + if ( $findme{servicename} ) { ++$criterion_count; - $debug && _LOG("servicename added; criterion count is now $criterion_count\n"); - - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where servicename=?}, undef, $findme{servicename}); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "servicename added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where servicename=?}, + undef, $findme{servicename} + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } $findme{category} = 'moby' unless $findme{category}; - if ($findme{category}){ + if ( $findme{category} ) { ++$criterion_count; - $debug && _LOG("category added; criterion count is now $criterion_count\n"); - - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where category=?}, undef, lc($findme{category})); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "category added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where category=?}, + undef, + lc( $findme{category} ) + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{keywords} && (scalar @{$findme{keywords}})){ + if ( $findme{keywords} && ( scalar @{ $findme{keywords} } ) ) { ++$criterion_count; - $debug && _LOG("Keywords added; criterion count is now $criterion_count\n"); + $debug + && _LOG( + "Keywords added; criterion count is now $criterion_count\n" ); my $searchstring; - foreach my $kw(@{$findme{keywords}}){ - $debug && &_LOG("KEYWORD $kw\n"); + foreach my $kw ( @{ $findme{keywords} } ) { + $debug && &_LOG( "KEYWORD $kw\n" ); $kw =~ s/\*//g; - $kw = $dbh->quote("%$kw%"); + $kw = $dbh->quote( "%$kw%" ); $searchstring .= " OR description like $kw "; } - $searchstring =~ s/OR//; # just the first one - $debug && &_LOG("search $searchstring\n"); - - my $ids = $dbh->selectall_arrayref("select service_instance_id from service_instance where $searchstring"); - unless (scalar @{$ids}){ - $debug && &_LOG("found no ids @{$ids}!\nselect service_instance_id from service_instance where $searchstring\n"); - return &_serviceListResponse($dbh, undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $searchstring =~ s/OR//; # just the first one + $debug && &_LOG( "search $searchstring\n" ); + my $ids = + $dbh->selectall_arrayref( +"select service_instance_id from service_instance where $searchstring" ); + unless ( scalar @{$ids} ) { + $debug + && &_LOG( "found no ids @{$ids}!\nselect service_instance_id from service_instance where $searchstring\n" + ); + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{inputObjects} && (scalar @{$findme{inputObjects}})){ + if ( $findme{inputObjects} && ( scalar @{ $findme{inputObjects} } ) ) { ++$criterion_count; - $debug && _LOG("inputObject added; criterion count is now $criterion_count\n"); - my $obj = (shift @{$findme{inputObjects}}); + $debug + && _LOG( + "inputObject added; criterion count is now $criterion_count\n" ); + my $obj = ( shift @{ $findme{inputObjects} } ); my @si_ids; - @si_ids = &_searchForServicesWithArticle($dbh, "input", $obj, $findme{'expandObjects'}, '') if defined $obj; - $debug && _LOG("Initial Search For Services with INPUT Article found @si_ids\n"); + @si_ids = + &_searchForServicesWithArticle( $dbh, "input", $obj, + $findme{'expandObjects'}, '' ) + if defined $obj; + $debug + && _LOG( + "Initial Search For Services with INPUT Article found @si_ids\n" ); my %instances; + # we need to do a join, without doing a join... - if (scalar @si_ids){ - map {$instances{$_}=1} @si_ids; # get an id of the good services from the first object - while (my $obj = shift(@{$findme{inputObjects}})){ # iterate through the rest of the objects + if ( scalar @si_ids ) { + map { $instances{$_} = 1 } + @si_ids; # get an id of the good services from the first object + while ( my $obj = shift( @{ $findme{inputObjects} } ) ) + { # iterate through the rest of the objects next unless $obj; - $debug && _LOG("FIRST: ", $dbh, "input", $obj, $findme{'expandObjects'}, ''); - my @new_ids = &_searchForServicesWithArticle($dbh, "input", $obj, $findme{'expandObjects'}, ''); # get their service ids - $debug && _LOG("Subsequent Search For Services with INPUT Article found @new_ids\n"); - my @good_ids;my %good_ids; - foreach my $id(@new_ids){ # check the new id set against the set we know is already valid + $debug + && _LOG( "FIRST: ", $dbh, "input", $obj, + $findme{'expandObjects'}, '' ); + my @new_ids = + &_searchForServicesWithArticle( $dbh, "input", $obj, + $findme{'expandObjects'}, '' ); # get their service ids + $debug + && _LOG( "Subsequent Search For Services with INPUT Article found @new_ids\n" + ); + my @good_ids; + my %good_ids; + foreach my $id ( @new_ids ) + { # check the new id set against the set we know is already valid next unless defined $id; - if ($instances{$id}){push @good_ids, $id} # if they are in common, then that id is still good + if ( $instances{$id} ) { + push @good_ids, $id; + } # if they are in common, then that id is still good } - map {$good_ids{$_}=1} @good_ids; # make a hash of the new good id's - %instances = %good_ids; # and replace the original list with this more limited one + map { $good_ids{$_} = 1 } + @good_ids; # make a hash of the new good id's + %instances = %good_ids + ; # and replace the original list with this more limited one } } - # now %instances contains only valid ID numbers - $debug && _LOG("Final results incremented of search for INPUT: ".(join ',',(keys %instances))."\n"); - foreach (keys %instances){ - $debug && &_LOG("found id $_\n"); + # now %instances contains only valid ID numbers + $debug + && _LOG( "Final results incremented of search for INPUT: " + . ( join ',', ( keys %instances ) ) + . "\n" ); + foreach ( keys %instances ) { + $debug && &_LOG( "found id $_\n" ); ++$valid_service_ids{$_}; } } - if ($findme{outputObjects} && (scalar @{$findme{outputObjects}})){ + if ( $findme{outputObjects} && ( scalar @{ $findme{outputObjects} } ) ) { ++$criterion_count; - $debug && _LOG("outputObject added; criterion count is now $criterion_count\n"); - my $obj = (shift @{$findme{outputObjects}}); + $debug + && _LOG( + "outputObject added; criterion count is now $criterion_count\n" ); + my $obj = ( shift @{ $findme{outputObjects} } ); my @si_ids; - @si_ids = &_searchForServicesWithArticle($dbh, "output", $obj, '') if defined $obj; - $debug && _LOG("Initial Search For Services with OUTPUT Article found @si_ids\n"); + @si_ids = &_searchForServicesWithArticle( $dbh, "output", $obj, '' ) + if defined $obj; + $debug + && _LOG( + "Initial Search For Services with OUTPUT Article found @si_ids\n" ); my %instances; + # we need to do a join, without doing a join... - if (scalar @si_ids){ - map {$instances{$_}=1} @si_ids; # get an id of the good services from the first object - while (my $obj = shift(@{$findme{outputObjects}})){ # iterate through the rest of the objects + if ( scalar @si_ids ) { + map { $instances{$_} = 1 } + @si_ids; # get an id of the good services from the first object + while ( my $obj = shift( @{ $findme{outputObjects} } ) ) + { # iterate through the rest of the objects next unless $obj; - my @new_ids = &_searchForServicesWithArticle($dbh, "output", $obj,''); # get their service ids - $debug && _LOG("Subsequent Search For Services with OUTPUT Article found @new_ids\n"); - my @good_ids;my %good_ids; - foreach my $id(@new_ids){ # check the new id set against the set we know is already valid + my @new_ids = + &_searchForServicesWithArticle( $dbh, "output", $obj, '' ) + ; # get their service ids + $debug + && _LOG( "Subsequent Search For Services with OUTPUT Article found @new_ids\n" + ); + my @good_ids; + my %good_ids; + foreach my $id ( @new_ids ) + { # check the new id set against the set we know is already valid next unless defined $id; - if ($instances{$id}){push @good_ids, $id} # if they are in common, then that id is still good + if ( $instances{$id} ) { + push @good_ids, $id; + } # if they are in common, then that id is still good } - map {$good_ids{$_}=1} @good_ids; # make a hash of the new good id's - %instances = %good_ids; # and replace the original list with this more limited one + map { $good_ids{$_} = 1 } + @good_ids; # make a hash of the new good id's + %instances = %good_ids + ; # and replace the original list with this more limited one } } + # now %instances contains only valid ID numbers - $debug && _LOG("Final results incremented of search for OUTPUT: ".(join ',',(keys %instances))."\n"); - foreach (keys %instances){ - $debug && &_LOG("found id $_\n"); + $debug + && _LOG( "Final results incremented of search for OUTPUT: " + . ( join ',', ( keys %instances ) ) + . "\n" ); + foreach ( keys %instances ) { + $debug && &_LOG( "found id $_\n" ); ++$valid_service_ids{$_}; } } my @final; - while (my ($id, $freq) = each %valid_service_ids){ - $debug && _LOG("TALLY IS ID: $id FREQ:$freq\n CRITERION COUNT $criterion_count\n"); - next unless $freq == $criterion_count; # has to have matched every criterion + while ( my ( $id, $freq ) = each %valid_service_ids ) { + $debug + && _LOG( "TALLY IS ID: $id FREQ:$freq\n CRITERION COUNT $criterion_count\n" + ); + next + unless $freq == + $criterion_count; # has to have matched every criterion push @final, $id; } - return &_serviceListResponse($dbh, @final); - + return &_serviceListResponse( $dbh, @final ); } +#Eddie - converted sub _searchForServicesWithArticle { - my ($dbh, $inout, $node, $expand, $coll) = @_; - - return () unless $node->getNodeType == ELEMENT_NODE; # this will erase all current successful service instances! - $debug && _LOG("searchServWthArticle ",$dbh, $inout, $node, $expand, $coll); - # this element node may be a Simple or a Collection object - my $simp_coll = $node->getTagName; - $debug && &_LOG("TAGNAME in _searchForArticle is $simp_coll"); - + my ( $dbh, $inout, $node, $expand, $coll ) = @_; + return () + unless $node->nodeType == + ELEMENT_NODE; # this will erase all current successful service instances! + $debug + && _LOG( "searchServWthArticle ", $dbh, $inout, $node, $expand, $coll ); + + # this element node may be a Simple or a Collection object + my $simp_coll = $node->nodeName; + $debug && &_LOG( "TAGNAME in _searchForArticle is $simp_coll" ); my @valid_ids; - if ($simp_coll eq "Collection"){ - @valid_ids = &_searchForCollection($dbh, $node, $expand, $inout); - } elsif ($simp_coll eq "Simple") { - @valid_ids = &_searchForSimple($dbh,$node, $expand, $inout); - } - return @valid_ids; + if ( $simp_coll eq "Collection" ) { + @valid_ids = &_searchForCollection( $dbh, $node, $expand, $inout ); + } elsif ( $simp_coll eq "Simple" ) { + @valid_ids = &_searchForSimple( $dbh, $node, $expand, $inout ); + } + return @valid_ids; } + sub _searchForSimple { + # returns list of service_instance ID's # that match this simple - my ($dbh,$node, $expand, $inout) = @_; - $debug && _LOG($dbh,$node, $expand, $inout); - my ($objectURI, $namespaceURIs) = &_extractObjectTypesAndNamespaces($node); # (objectType, [ns1, ns2, ns3]) - unless ($objectURI){return ()}; + my ( $dbh, $node, $expand, $inout ) = @_; + $debug && _LOG( $dbh, $node, $expand, $inout ); + my ( $objectURI, $namespaceURIs ) = + &_extractObjectTypesAndNamespaces( $node ) + ; # (objectType, [ns1, ns2, ns3]) + unless ( $objectURI ) { return () } my $ancestor_string = "'$objectURI',"; - if ($expand){ - $debug && _LOG("Expanding Objects\n"); - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my %relationships = %{$OS->traverseDAG($objectURI, "root")}; - my (@ancestors) = @{$relationships{'urn:lsid:biomoby.org:objectrelation:isa'}}; - $ancestor_string .= (join ',', map {"\'$_\'"} @ancestors); + if ( $expand ) { + $debug && _LOG( "Expanding Objects\n" ); + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my %relationships = %{ $OS->traverseDAG( $objectURI, "root" ) }; + my ( @ancestors ) = + @{ $relationships{'urn:lsid:biomoby.org:objectrelation:isa'} }; + $ancestor_string .= ( join ',', map { "\'$_\'" } @ancestors ); } $ancestor_string =~ s/\,$//; - - my $query = "select service_instance_id, namespace_type_uris from simple_$inout where object_type_uri in ($ancestor_string) and service_instance_id IS NOT NULL ";# if service_instance_id is null then it must be a collection input. - + my $query = +"select service_instance_id, namespace_type_uris from simple_$inout where object_type_uri in ($ancestor_string) and service_instance_id IS NOT NULL " + ; # if service_instance_id is null then it must be a collection input. my $nsquery; - foreach my $ns(@{$namespaceURIs}){ # namespaces are already URI's - $nsquery .=" OR INSTR(namespace_type_uris, '$ns') "; + foreach my $ns ( @{$namespaceURIs} ) { # namespaces are already URI's + $nsquery .= " OR INSTR(namespace_type_uris, '$ns') "; } - if ($nsquery){ - $nsquery =~ s/OR//; # just the first + if ( $nsquery ) { + $nsquery =~ s/OR//; # just the first $nsquery .= " OR namespace_type_uris IS NULL"; - $query .=" AND ($nsquery) "; + $query .= " AND ($nsquery) "; } - $debug && _LOG("\nQUERY $query\n"); - + $debug && _LOG( "\nQUERY $query\n" ); my @valid_services; - - my $sth = $dbh->prepare($query); + my $sth = $dbh->prepare( $query ); $sth->execute; - while (my ($id, $nss) = $sth->fetchrow_array){ # get the service instance ID and the namespaces that matched - if ($nss && scalar @{$namespaceURIs}){ # if this service cares about namespaces at all, - # and if namespaces were specified in the query, - # then validate the discovered service against this list - my @ns = split ",", $nss; # because of the database structure we have to re-test for *identity*, not just like%% similarity - my %nshash = map {($_, 1)} @ns,@{$namespaceURIs}; #we're going to test identity by building a hash of namespaces as keys - if (scalar(keys %nshash) < scalar(@ns)+scalar(@{$namespaceURIs})){ # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical - push @valid_services, $id; # and therefore it really is a match, and is valid + while ( my ( $id, $nss ) = $sth->fetchrow_array ) + { # get the service instance ID and the namespaces that matched + if ( $nss && scalar @{$namespaceURIs} ) + { # if this service cares about namespaces at all, + # and if namespaces were specified in the query, + # then validate the discovered service against this list + my @ns = split ",", $nss + ; # because of the database structure we have to re-test for *identity*, not just like%% similarity + my %nshash = map { ( $_, 1 ) } @ns, @{ $namespaceURIs + }; #we're going to test identity by building a hash of namespaces as keys + if ( + scalar( keys %nshash ) < + scalar( @ns ) + scalar( @{$namespaceURIs} ) ) + { # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical + push @valid_services, + $id; # and therefore it really is a match, and is valid } - } else { # if no namespace was specified, then all of them are valid - push @valid_services, $id + } else { # if no namespace was specified, then all of them are valid + push @valid_services, $id; } } - $debug && _LOG("Resulting IDs were ".(join ',', @valid_services)."\n"); - return @valid_services; + $debug + && _LOG( "Resulting IDs were " . ( join ',', @valid_services ) . "\n" ); + return @valid_services; } +#Eddie - converted sub _searchForCollection { - my ($dbh, $node, $expand, $inout)= @_; # $node in this case is a Collection object + my ( $dbh, $node, $expand, $inout ) = + @_; # $node in this case is a Collection object my $query; + # luckily, we can return a redundant list of service id's and # this will be cleaned up in the caller - - my @validservices; - foreach my $simple($node->getChildNodes()){ - next unless ($simple->getNodeType == ELEMENT_NODE); - next unless ($simple->getTagName =~ /simple/i); - my ($objectURI, $namespaceURIs) = &_extractObjectTypesAndNamespaces($simple); - + my @validservices; + foreach my $simple ( $node->childNodes() ) { + next unless ( $simple->nodeType == ELEMENT_NODE ); + next unless ( $simple->nodeName =~ /simple/i ); + my ( $objectURI, $namespaceURIs ) = + &_extractObjectTypesAndNamespaces( $simple ); $query = "select c.service_instance_id, s.namespace_type_uris @@ -1864,119 +2223,134 @@ s.collection_${inout}_id IS NOT NULL AND s.collection_${inout}_id = c.collection_${inout}_id AND object_type_uri = '$objectURI' "; - my $nsquery; - foreach my $ns(@{$namespaceURIs}){ # namespaces are already URI's - $nsquery .=" OR INSTR(namespace_type_uris, '$ns') "; + foreach my $ns ( @{$namespaceURIs} ) { # namespaces are already URI's + $nsquery .= " OR INSTR(namespace_type_uris, '$ns') "; } - if ($nsquery){ - $nsquery =~ s/^\sOR//; # just the first + if ( $nsquery ) { + $nsquery =~ s/^\sOR//; # just the first $nsquery .= " OR namespace_type_uris IS NULL"; - $query .= " AND ($nsquery) "; # add the AND clause - } - - $debug && &_LOG("QUERY: $query"); - my $sth = $dbh->prepare($query); + $query .= " AND ($nsquery) "; # add the AND clause + } + $debug && &_LOG( "QUERY: $query" ); + my $sth = $dbh->prepare( $query ); $sth->execute; - while (my ($id, $nss) = $sth->fetchrow_array){ # get the service instance ID and the namespaces that matched - if ($nss && scalar @{$namespaceURIs}){ # if this service cares about namespaces at all, - # and if namespaces were specified in the query, - # then validate the discovered service against this list - my @ns = split ",", $nss; # because of the database structure we have to re-test for *identity*, not just like%% similarity - my %nshash = map {($_, 1)} @ns,@{$namespaceURIs}; #we're going to test identity by building a hash of namespaces as keys - if (scalar(keys %nshash) < scalar(@ns)+scalar(@{$namespaceURIs})){ # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical - push @validservices, $id; # and therefore it really is a match, and is valid + while ( my ( $id, $nss ) = $sth->fetchrow_array ) + { # get the service instance ID and the namespaces that matched + if ( $nss && scalar @{$namespaceURIs} ) + { # if this service cares about namespaces at all, + # and if namespaces were specified in the query, + # then validate the discovered service against this list + my @ns = split ",", $nss + ; # because of the database structure we have to re-test for *identity*, not just like%% similarity + my %nshash = map { ( $_, 1 ) } @ns, @{ $namespaceURIs + }; #we're going to test identity by building a hash of namespaces as keys + if ( + scalar( keys %nshash ) < + scalar( @ns ) + scalar( @{$namespaceURIs} ) ) + { # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical + push @validservices, + $id; # and therefore it really is a match, and is valid } - } else { # if no namespace was specified, then all of them are valid - push @validservices, $id + } else { # if no namespace was specified, then all of them are valid + push @validservices, $id; } } - } + } return @validservices; } +#Eddie - converted sub _findServicePayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'findService'); - - my $serviceType = &_nodeTextContent($Object, "serviceType"); - $serviceType && ($serviceType =~ s/\s+//g); - my $servicename = &_nodeTextContent($Object, "serviceName"); - $servicename && ($servicename =~ s/\s+//g); - my $authoritative = &_nodeTextContent($Object, "authoritative"); - $authoritative && ($authoritative =~ s/\s+//g); - my $Category = &_nodeTextContent($Object, "Category"); - $Category && ($Category =~ s/\s+//g); - my $AuthURI = &_nodeTextContent($Object, "authURI"); - $AuthURI && ($AuthURI =~ s/\s+//g); - my $expandObjects = &_nodeTextContent($Object, "expandObjects"); - $expandObjects && ($expandObjects =~ s/\s+//g); - my $expandServices = &_nodeTextContent($Object, "expandServices"); - $expandServices && ($expandServices =~ s/\s+//g); - my @kw = &_nodeArrayContent($Object, "keywords"); - my $INPUTS = &_nodeRawContent($Object, "Input"); # returns array ref - my $OUTPUTS = &_nodeRawContent($Object, "Output"); # returns array ref - - return ('serviceType' => $serviceType, - 'authURI' => $AuthURI, - 'servicename' => $servicename, - 'expandObjects' => $expandObjects, - 'expandServices' => $expandServices, - 'authoritative' => $authoritative, - 'Category' => $Category, - 'inputObjects' => $INPUTS, - 'outputObjects' => $OUTPUTS, - 'keywords' => \@kw); - + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'findService' ); + my $serviceType = &_nodeTextContent( $Object, "serviceType" ); + $serviceType && ( $serviceType =~ s/\s+//g ); + my $servicename = &_nodeTextContent( $Object, "serviceName" ); + $servicename && ( $servicename =~ s/\s+//g ); + my $authoritative = &_nodeTextContent( $Object, "authoritative" ); + $authoritative && ( $authoritative =~ s/\s+//g ); + my $Category = &_nodeTextContent( $Object, "Category" ); + $Category && ( $Category =~ s/\s+//g ); + my $AuthURI = &_nodeTextContent( $Object, "authURI" ); + $AuthURI && ( $AuthURI =~ s/\s+//g ); + my $expandObjects = &_nodeTextContent( $Object, "expandObjects" ); + $expandObjects && ( $expandObjects =~ s/\s+//g ); + my $expandServices = &_nodeTextContent( $Object, "expandServices" ); + $expandServices && ( $expandServices =~ s/\s+//g ); + my @kw = &_nodeArrayContent( $Object, "keywords" ); + my $INPUTS = &_nodeRawContent( $Object, "Input" ); # returns array ref + my $OUTPUTS = &_nodeRawContent( $Object, "Output" ); # returns array ref + return ( + 'serviceType' => $serviceType, + 'authURI' => $AuthURI, + 'servicename' => $servicename, + 'expandObjects' => $expandObjects, + 'expandServices' => $expandServices, + 'authoritative' => $authoritative, + 'Category' => $Category, + 'inputObjects' => $INPUTS, + 'outputObjects' => $OUTPUTS, + 'keywords' => \@kw + ); } +#Eddie - converted sub _extractObjectTypesAndNamespaces { - # takes a SINGLE simple article and return regular list ($objectURI, [nsURI1, nsURI2, nsURI3]) - my ($DOM) = @_; - $debug && &_LOG("\n\n_extractObjectTypesAndNamespaces\nExtracting object types from \n$DOM \n\n"); - unless (ref($DOM) =~ /^XML/){ - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($DOM); + +# takes a SINGLE simple article and return regular list ($objectURI, [nsURI1, nsURI2, nsURI3]) + my ( $DOM ) = @_; + $debug + && &_LOG( +"\n\n_extractObjectTypesAndNamespaces\nExtracting object types from \n$DOM \n\n" + ); + unless ( ref( $DOM ) =~ /^XML/ ) { + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $DOM ); $DOM = $doc->getDocumentElement(); } - my $x = $DOM->getElementsByTagName("objectType"); + my $x = $DOM->getElementsByTagName( "objectType" ); my $objectname; - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; $objectname = $name; } - $objectname =~ s/^moby\://; # damn XML DOM can't deal with namespaces... so get rid of it if it exists, though this is going to limit us to only MOBY objects again :-( - my $OS= MOBY::OntologyServer->new(ontology => 'object'); - my ($exists, $message, $objectURI) = $OS->objectExists(term => $objectname); - return (undef, []) unless $objectURI; - - my $ns = $DOM->getElementsByTagName("Namespace"); + $objectname =~ s/^moby\:// + ; # damn XML DOM can't deal with namespaces... so get rid of it if it exists, though this is going to limit us to only MOBY objects again :-( + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my ( $exists, $message, $objectURI ) = + $OS->objectExists( term => $objectname ); + return ( undef, [] ) unless $objectURI; + my $ns = $DOM->getElementsByTagName( "Namespace" ); my @namespaces; - my $nonamespaces = $ns->getLength; - $OS= MOBY::OntologyServer->new(ontology => 'namespace'); - for (my $n=0; $n<$nonamespaces; ++$n){ - my @child = $ns->item($n)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; - my ($success, $message, $URI) = $OS->namespaceExists(term => $name); - $URI?(push @namespaces, $URI):(push @namespaces, "__MOBY__INVALID__NAMESPACE__"); + my $nonamespaces = $ns->size(); + $OS = MOBY::OntologyServer->new( ontology => 'namespace' ); + + for ( my $n = 1 ; $n <= $nonamespaces ; ++$n ) { + my @child = $ns->get_node( $n )->childNodes; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; + my ( $success, $message, $URI ) = + $OS->namespaceExists( term => $name ); + $URI + ? ( push @namespaces, $URI ) + : ( push @namespaces, "__MOBY__INVALID__NAMESPACE__" ); } } - return ($objectURI, \@namespaces); + return ( $objectURI, \@namespaces ); } - - =head2 retrieveService Title : retrieveService @@ -1998,67 +2372,67 @@ =cut -sub retrieveService { - my ($pkg, $payload) = @_; - # the payload here is actually the full XML from the findService call above... - #return "NOT YET IMPLEMENTED"; - my ($AuthURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML) = &_retrieveServicePayload($payload); - unless ($AuthURI && $serviceName){return ""} - my $SI = MOBY::service_instance->new(authority_uri => $AuthURI, servicename => $serviceName); +sub retrieveService { + my ( $pkg, $payload ) = @_; + + # the payload here is actually the full XML from the findService call above... + #return "NOT YET IMPLEMENTED"; + my ( $AuthURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML ) = + &_retrieveServicePayload( $payload ); + unless ( $AuthURI && $serviceName ) { return "" } + my $SI = MOBY::service_instance->new( authority_uri => $AuthURI, + servicename => $serviceName ); my $wsdls; - return "" unless ($SI); - - if ($SI->category eq 'moby'){ - my $wsdl = &_getServiceWSDL($SI, $InputXML, $OutputXML, $SecondaryXML); - if ($wsdl){ - $wsdls .= "\n"; - } - #$debug && &_LOG("WSDL_________________$wsdls\n____________________"); - return $wsdls; + return "" unless ( $SI ); + if ( $SI->category eq 'moby' ) { + my $wsdl = + &_getServiceWSDL( $SI, $InputXML, $OutputXML, $SecondaryXML ); + if ( $wsdl ) { + $wsdls .= "\n"; + } + + #$debug && &_LOG("WSDL_________________$wsdls\n____________________"); + return $wsdls; } } - - +#Eddie - converted sub _retrieveServicePayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $x = $doc->getElementsByTagName("Service"); - my $authURI = ""; + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "Service" ); + my $authURI = ""; my $serviceName = ""; - my $l = $x->getLength; # might be a Collection object with multiple simples... - for (my $n=0; $n < $l; ++$n){ - $authURI= $x->item($n)->getAttributeNode("authURI"); # may or may not have a name - if ($authURI){$authURI = $authURI->getValue()} - $serviceName = $x->item($n)->getAttributeNode("serviceName"); # may or may not have a name - if ($serviceName){$serviceName = $serviceName->getValue()} - } - - my $INPUT = $doc->getElementsByTagName("Input"); - my $InputXML = ""; - if ($INPUT->item(0)){ - $InputXML = $INPUT->item(0)->toString; + my $l = $x->size(); # might be a Collection object with multiple simples... + for ( my $n = 1 ; $n <= $l ; ++$n ) { + $authURI = + $x->get_node( $n )->getAttributeNode( "authURI" ) + ; # may or may not have a name + if ( $authURI ) { $authURI = $authURI->getValue() } + $serviceName = + $x->get_node( $n )->getAttributeNode( "serviceName" ) + ; # may or may not have a name + if ( $serviceName ) { $serviceName = $serviceName->getValue() } + } + my $INPUT = $doc->getElementsByTagName( "Input" ); + my $InputXML = ""; + if ( $INPUT->get_node( 1 ) ) { + $InputXML = $INPUT->get_node( 1 )->toString; + } + my $OUTPUT = $doc->getElementsByTagName( "Output" ); + my $OutputXML = ""; + if ( $OUTPUT->get_node( 1 ) ) { + $OutputXML = $OUTPUT->get_node( 1 )->toString; + } + my $SECONDARY = $doc->getElementsByTagName( "Output" ); + my $SecondaryXML = ""; + if ( $SECONDARY->get_node( 1 ) ) { + $SecondaryXML = $SECONDARY->get_Node( 1 )->toString; } - - my $OUTPUT = $doc->getElementsByTagName("Output"); - my $OutputXML = ""; - if ($OUTPUT->item(0)){ - $OutputXML = $OUTPUT->item(0)->toString; - } - - my $SECONDARY = $doc->getElementsByTagName("Output"); - my $SecondaryXML = ""; - if ($SECONDARY->item(0)){ - $SecondaryXML = $SECONDARY->item(0)->toString; - } - - return ($authURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML); - + return ( $authURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML ); } - =head2 retrieveServiceProviders Title : retrieveServiceProviders @@ -2075,18 +2449,17 @@ =cut - sub retrieveServiceProviders { - my ($pkg) = @_; + my ( $pkg ) = @_; my $dbh = MOBY::central_db_connection->new()->dbh; - my $sth = $dbh->prepare("select distinct authority_uri from authority"); + my $sth = $dbh->prepare( "select distinct authority_uri from authority" ); $sth->execute; my $providers = "\n"; - while (my ($prov) = $sth->fetchrow_array){ + while ( my ( $prov ) = $sth->fetchrow_array ) { $providers .= "\n"; } $providers .= "\n"; - return $providers; + return $providers; } =head2 retrieveServiceNames @@ -2106,22 +2479,22 @@ =cut - sub retrieveServiceNames { - my ($pkg) = shift; - - my $dbh = MOBY::central_db_connection->new()->dbh; - my $sth = $dbh->prepare("select authority_uri, servicename from authority as a, service_instance as s where s.authority_id = a.authority_id"); + my ( $pkg ) = shift; + my $dbh = MOBY::central_db_connection->new()->dbh; + my $sth = + $dbh->prepare( +"select authority_uri, servicename from authority as a, service_instance as s where s.authority_id = a.authority_id" + ); $sth->execute; my $names = "\n"; - while (my ($auth, $name) = $sth->fetchrow_array){ + while ( my ( $auth, $name ) = $sth->fetchrow_array ) { $names .= "\n"; } $names .= "\n"; - return $names; + return $names; } - =head2 retrieveServiceTypes Title : retrieveServiceTypes @@ -2140,22 +2513,19 @@ =cut - - sub retrieveServiceTypes { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'service'); - my %types = %{$OS->retrieveAllServiceTypes()}; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my %types = %{ $OS->retrieveAllServiceTypes() }; my $types = "\n"; - while (my ($serv, $desc) = each %types){ - $types .= "\n\n\n"; + while ( my ( $serv, $desc ) = each %types ) { + $types .= +"\n\n\n"; } $types .= "\n"; - return $types; + return $types; } - - =head2 retrieveRelationshipTypes Title : retrieveRelationshipTypes @@ -2176,29 +2546,25 @@ =cut - - +#Eddie - converted sub retrieveRelationshipTypes { - my ($pkg, $payload) = @_; - - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $ontology = &_nodeTextContent($doc, "Ontology"); - my $OS = MOBY::OntologyServer->new(ontology => 'relationship'); - my %types = %{$OS->getRelationshipTypes(ontology => $ontology)}; - my $types = "\n"; - while (my ($name, $authdesc) = each %types){ + my ( $pkg, $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $ontology = &_nodeTextContent( $doc, "Ontology" ); + my $OS = MOBY::OntologyServer->new( ontology => 'relationship' ); + my %types = %{ $OS->getRelationshipTypes( ontology => $ontology ) }; + my $types = "\n"; + while ( my ( $name, $authdesc ) = each %types ) { my $auth = $authdesc->[0]; my $desc = $authdesc->[1]; - $types .= "\n\n\n"; + $types .= +"\n\n\n"; } $types .= "\n"; - return $types; + return $types; } - - - =head2 retrieveObjectNames Title : retrieveObjectNames @@ -2217,21 +2583,19 @@ =cut - sub retrieveObjectNames { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my %types = %{$OS->retrieveAllObjectTypes()}; - my $obj = "\n"; - while (my ($name, $desc) = each %types){ - $obj .= "\n\n\n"; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my %types = %{ $OS->retrieveAllObjectTypes() }; + my $obj = "\n"; + while ( my ( $name, $desc ) = each %types ) { + $obj .= +"\n\n\n"; } $obj .= "\n"; - return $obj; + return $obj; } - - =head2 retrieveObjectDefinition Title : retrieveObjectDefinition @@ -2262,37 +2626,41 @@ =cut +#Eddie - converted sub retrieveObjectDefinition { - my ($pkg, $payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $term = &_nodeTextContent($doc, "objectType"); + my ( $pkg, $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $term = &_nodeTextContent( $doc, "objectType" ); return "" unless $term; - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my $def = $OS->retrieveObject(node => $term); # will return undef if this term does not exist, and does not look like an LSID + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my $def = + $OS->retrieveObject( node => $term ) + ; # will return undef if this term does not exist, and does not look like an LSID return "" unless $def; - my %def = %{$OS->retrieveObject(node => $term)}; + my %def = %{ $OS->retrieveObject( node => $term ) }; my $response; $response = " $def{objectType} $def{authURI} $def{contactEmail}\n"; - my %relationships = %{$def{Relationships}}; - while (my ($rel, $objdefs) = each %relationships){ + my %relationships = %{ $def{Relationships} }; + + while ( my ( $rel, $objdefs ) = each %relationships ) { $response .= "\n"; - foreach my $def(@{$objdefs}){ - my ($lsid, $articlename) = @{$def}; - $articlename="" unless defined $articlename; - $response .="$lsid\n"; + foreach my $def ( @{$objdefs} ) { + my ( $lsid, $articlename ) = @{$def}; + $articlename = "" unless defined $articlename; + $response .= + "$lsid\n"; } - $response .="\n"; + $response .= "\n"; } - $response .="\n"; + $response .= "\n"; return $response; } - =head2 retrieveNamespaces Title : retrieveNamespaces @@ -2311,20 +2679,19 @@ =cut - sub retrieveNamespaces { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'namespace'); - my %types = %{$OS->retrieveAllNamespaceTypes()}; - my $ns = "\n"; - while (my ($namespace, $desc) = each %types){ - $ns .= "\n\n\n"; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'namespace' ); + my %types = %{ $OS->retrieveAllNamespaceTypes() }; + my $ns = "\n"; + while ( my ( $namespace, $desc ) = each %types ) { + $ns .= +"\n\n\n"; } - $ns .=""; - return $ns; + $ns .= ""; + return $ns; } - =head2 retrieveObject NOT YET IMPLEMENTED @@ -2350,30 +2717,26 @@ =cut - sub retrieveObject { - my ($pkg, $payload) = @_; - my $response = "\n"; - $response .="\n"; - $response .= "\n"; - return $response; + my ( $pkg, $payload ) = @_; + my $response = "\n"; + $response .= "\n"; + $response .= "\n"; + return $response; } - +#Eddie - converted sub _retrieveObjectPayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'retrieveObject'); - my $type = &_nodeTextContent($Object, "objectType"); - return ($type); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'retrieveObject' ); + my $type = &_nodeTextContent( $Object, "objectType" ); + return ( $type ); } - - =head2 Relationships Title : Relationships @@ -2429,71 +2792,75 @@ =cut - sub Relationships { - my ($pkg, $payload) = @_; + my ( $pkg, $payload ) = @_; my $ontology; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - - my $x = $doc->getElementsByTagName("relationshipType"); - my $l = $x->getLength; - - my $exp = $doc->getElementsByTagName("expandRelationship"); - my $expl = $exp->getLength; - - my $expand_relationship = &_nodeTextContent($doc, 'expandRelationship'); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "relationshipType" ); + my $l = $x->size(); + my $exp = $doc->getElementsByTagName( "expandRelationship" ); + my $expl = $exp->size(); + my $expand_relationship = &_nodeTextContent( $doc, 'expandRelationship' ); $expand_relationship =~ s/\s//g; - $expand_relationship ||=0; - + $expand_relationship ||= 0; my %reltypes; - for (my $n=0; $n < $l; ++$n){ - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless ($_->getNodeType == TEXT_NODE); - my $name .= $_->toString; $name =~ s/\s//g; + + for ( my $n = 1 ; $n <= $l ; ++$n ) { + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless ( $_->nodeType == TEXT_NODE ); + my $name .= $_->toString; + $name =~ s/\s//g; $reltypes{$name} = 1; } } - - my $term = &_nodeTextContent($doc, "objectType"); - $ontology = "object" if $term; # pick up the ontology "object" that we used here if we got an object term - $term ||= &_nodeTextContent($doc, "serviceType"); # if we didn't get anything using objectType try serviceType - return undef unless $term; # and bail out if we didn't succeed - - $ontology ||="service"; # if we have now succeeded and haven't already taken the ontology then it must be the service ontology - &_LOG("Ontology was $ontology; Term was $term\n"); - my $OS = MOBY::OntologyServer->new(ontology => $ontology); - my %rels = %{$OS->Relationships(term => $term, expand => $expand_relationship)}; # %rels = $rels{relationship} = [lsid, lsid,lsid] - - my $response="\n"; - my $OSrel = MOBY::OntologyServer->new(ontology => 'relationship'); - foreach (keys %reltypes){ # for each of our desired types - my $rellsid = $OSrel->getRelationshipURI($ontology, $_); # get the LSID - delete $reltypes{$_}; # remove the non-LSID version from the hash + my $term = &_nodeTextContent( $doc, "objectType" ); + $ontology = "object" + if $term + ; # pick up the ontology "object" that we used here if we got an object term + $term ||= + &_nodeTextContent( $doc, "serviceType" ) + ; # if we didn't get anything using objectType try serviceType + return undef unless $term; # and bail out if we didn't succeed + $ontology ||= "service" + ; # if we have now succeeded and haven't already taken the ontology then it must be the service ontology + &_LOG( "Ontology was $ontology; Term was $term\n" ); + my $OS = MOBY::OntologyServer->new( ontology => $ontology ); + my %rels = + %{ $OS->Relationships( term => $term, expand => $expand_relationship ) + }; # %rels = $rels{relationship} = [lsid, lsid,lsid] + my $response = "\n"; + my $OSrel = MOBY::OntologyServer->new( ontology => 'relationship' ); + + foreach ( keys %reltypes ) { # for each of our desired types + my $rellsid = + $OSrel->getRelationshipURI( $ontology, $_ ); # get the LSID + delete $reltypes{$_}; # remove the non-LSID version from the hash $reltypes{$rellsid} = 1; # set the LSID as valid } + # now for each of the relationship types that we were returned - foreach (keys %rels){ - my $rellsid = $OSrel->getRelationshipURI($ontology, $_); + foreach ( keys %rels ) { + my $rellsid = $OSrel->getRelationshipURI( $ontology, $_ ); next unless $rellsid; - if (keys %reltypes){ - next unless $reltypes{$rellsid}; # next unless it is one ofthe relationship types we requested + if ( keys %reltypes ) { + next + unless $reltypes{ $rellsid + }; # next unless it is one ofthe relationship types we requested } my $lsids = $rels{$rellsid}; next unless $lsids->[0]; - $response .="\n"; - foreach my $lsid(@{$lsids}){ - $response .="<${ontology}Type>$lsid\n"; + $response .= "\n"; + foreach my $lsid ( @{$lsids} ) { + $response .= "<${ontology}Type>$lsid\n"; } $response .= "\n"; } - $response .="\n"; + $response .= "\n"; return $response; } - - =head2 DUMP_MySQL Title : DUMP_MySQL @@ -2504,58 +2871,60 @@ =cut - sub DUMP_MySQL { - my ($pkg) = @_; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobycentral |") || die "can't open mobycentral for dumping"; + my ( $pkg ) = @_; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobycentral |" ) + || die "can't open mobycentral for dumping"; my @response; - while (){ + while ( ) { push @response, $_; } - my $mobycentral = (join "", @response); - + my $mobycentral = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyobject |") || die "can't open mobyobject for dumping"; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyobject |" ) + || die "can't open mobyobject for dumping"; @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyobject = (join "", @response); - + my $mobyobject = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyservice |") || die "can't open mobyservice for dumping"; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyservice |" ) + || die "can't open mobyservice for dumping"; @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyservice = (join "", @response); - + my $mobyservice = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobynamespace |"); + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobynamespace |" ); @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobynamespace = (join "", @response); + my $mobynamespace = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyrelationship |"); + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyrelationship |" ); @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyrelationship = (join "", @response); + my $mobyrelationship = ( join "", @response ); close IN; - return [$mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship]; + return [ + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ]; } - -*DUMP = \&DUMP_MySQL; # alias it for backward compatibility -*DUMP = \&DUMP_MySQL; # alias it for backward compatibility +*DUMP = \&DUMP_MySQL; # alias it for backward compatibility +*DUMP = \&DUMP_MySQL; # alias it for backward compatibility sub _flatten { + # from a given term, traverse the ontology # and flatten it into a list of parent terms - my ($dbh,$type,$term, $seen) = @_; - my $sth = $dbh->prepare(" + my ( $dbh, $type, $term, $seen ) = @_; + my $sth = $dbh->prepare( " select OE1.term from @@ -2567,30 +2936,31 @@ and ontologyentry1_id = OE1.id and relationship_type_id = $type and OE2.term = ?" - ); - $sth->execute($term); - while (my ($term) = $sth->fetchrow_array){ + ); + $sth->execute( $term ); + while ( my ( $term ) = $sth->fetchrow_array ) { next if ${$seen}{$term}; - &_flatten($dbh, $type, $term, $seen); + &_flatten( $dbh, $type, $term, $seen ); ${$seen}{$term} = 1; } - -} +} +#Eddie - Converted sub _ISAPayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'ISA'); - my $type = &_nodeTextContent($Object, "objectType"); - return ($type); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'ISA' ); + my $type = &_nodeTextContent( $Object, "objectType" ); + return ( $type ); } +=cut + + -=cut =head1 Internal Object Methods @@ -2598,7 +2968,6 @@ =cut - =head2 _getValidServices Title : _getValidServices @@ -2609,35 +2978,39 @@ =cut - sub _getValidServices { - my ( $dbh, $sth_hash, $query, $max_return) = @_; + my ( $dbh, $sth_hash, $query, $max_return ) = @_; my %sth = %{$sth_hash}; - $debug && &_LOG("QUERY: \n$query\n\n"); - my $this_query = $dbh->prepare($query); + $debug && &_LOG( "QUERY: \n$query\n\n" ); + my $this_query = $dbh->prepare( $query ); $this_query->execute; my $response; my %seen; - $response = "\n"; - while (my ($serviceName, $objectOUT, $AuthURI,$desc, $type, $cat) =$this_query->fetchrow_array()){ - $debug && &_LOG("$serviceName, $objectOUT, $AuthURI,$desc, $type, $cat\n"); - next if $seen{"$AuthURI"."||"."$serviceName"}; # non-redundant list please - $seen{"$AuthURI"."||"."$serviceName"} = 1; - $response .="\n"; - $response .="$cat\n"; - $response .="$type\n"; - $response .="$objectOUT\n"; - $response .= "\n"; - $response .= "\n"; - - if ($max_return){--$max_return;last unless $max_return} + $response = "\n"; + + while ( my ( $serviceName, $objectOUT, $AuthURI, $desc, $type, $cat ) = + $this_query->fetchrow_array() ) + { + $debug + && &_LOG( "$serviceName, $objectOUT, $AuthURI,$desc, $type, $cat\n" ); + next + if $seen{ "$AuthURI" . "||" + . "$serviceName" }; # non-redundant list please + $seen{ "$AuthURI" . "||" . "$serviceName" } = 1; + $response .= + "\n"; + $response .= "$cat\n"; + $response .= "$type\n"; + $response .= "$objectOUT\n"; + $response .= "\n"; + $response .= "\n"; + if ( $max_return ) { --$max_return; last unless $max_return } } - $response .= "\n"; - $debug && &_LOG("\nFINAL RESPONSE IS \n$response\n\n"); + $response .= "\n"; + $debug && &_LOG( "\nFINAL RESPONSE IS \n$response\n\n" ); return $response; } - =head2 _getServiceWSDL Title : _getServiceWSDL @@ -2648,60 +3021,63 @@ =cut - sub _getServiceWSDL { - my ($SI, $InputXML, $OutputXML, $SecondaryXML) = @_; - # the lines below causes no end of grief. It is now in a variable. - #open (WSDL, "./MOBY/Central_WSDL_SandR.wsdl") || die "can't open WSDL file for search and replace\n"; - #my $wsdl = join "", (); - my $wsdl = $WSDL_TEMPLATE; - $wsdl =~ s/^\n//gs; + my ( $SI, $InputXML, $OutputXML, $SecondaryXML ) = @_; + +# the lines below causes no end of grief. It is now in a variable. +#open (WSDL, "./MOBY/Central_WSDL_SandR.wsdl") || die "can't open WSDL file for search and replace\n"; +#my $wsdl = join "", (); + my $wsdl = $WSDL_TEMPLATE; + $wsdl =~ s/^\n//gs; + #close WSDL; # do substitutions - my $serviceName = $SI->servicename; - my $AuthURI = $SI->authority_uri; - my $desc = $SI->description; - my $URL = $SI->url; - my $IN = "NOT_YET_DEFINED_INPUTS"; - my $OUT = "NOT_YET_DEFINED_OUTPUTS"; - - my $INxsd = &_getInputXSD($InputXML, $SecondaryXML); - my $OUTxsd = &_getOutputXSD($OutputXML); - - $INxsd ||= ""; - $OUTxsd ||=""; - - $wsdl =~ s/MOBY__SERVICE__NAME__/$serviceName/g; # replace all of the goofy portbindingpottype crap - $wsdl =~ s/\<\!\-\-\s*MOBY__SERVICE__DESCRIPTION\s*\-\-\>/Authority: $AuthURI - $desc/g; # add a sensible description - $wsdl =~ s/MOBY__SERVICE__URL/$URL/g; # the URL to the service - #if (scalar @in){my ($IN, $INxsd) = @{shift @in}}; - #if (scalar @out){my ($OUT, $OUTxsd) = @{shift @out}}; - $wsdl =~ s/MOBY__INPUT__OBJECT__NAME/$IN/g; # SINGLE input object (for now) - $wsdl =~ s/MOBY__OUTPUT__OBJECT__NAME/$OUT/g; # SINGLE output object (for now) - $wsdl =~ s/\<\!\-\-\s*MOBY__INPUT__OBJECT__XSD\s*\-\-\>/$INxsd/g; # XSD stright from the database - $wsdl =~ s/\<\!\-\-\s*MOBY__OUTPUT__OBJECT__XSD\s*\-\-\>/$OUTxsd/g; # XSD straight from the database - $wsdl =~ s/MOBY__SERVICE__NAME/$serviceName/g; # finally replace the actual subroutine call + my $AuthURI = $SI->authority_uri; + my $desc = $SI->description; + my $URL = $SI->url; + my $IN = "NOT_YET_DEFINED_INPUTS"; + my $OUT = "NOT_YET_DEFINED_OUTPUTS"; + my $INxsd = &_getInputXSD( $InputXML, $SecondaryXML ); + my $OUTxsd = &_getOutputXSD( $OutputXML ); + $INxsd ||= ""; + $OUTxsd ||= ""; + $wsdl =~ s/MOBY__SERVICE__NAME__/$serviceName/g + ; # replace all of the goofy portbindingpottype crap + $wsdl =~ +s/\<\!\-\-\s*MOBY__SERVICE__DESCRIPTION\s*\-\-\>/Authority: $AuthURI - $desc/g + ; # add a sensible description + $wsdl =~ s/MOBY__SERVICE__URL/$URL/g; # the URL to the service + #if (scalar @in){my ($IN, $INxsd) = @{shift @in}}; + #if (scalar @out){my ($OUT, $OUTxsd) = @{shift @out}}; + $wsdl =~ s/MOBY__INPUT__OBJECT__NAME/$IN/g; # SINGLE input object (for now) + $wsdl =~ + s/MOBY__OUTPUT__OBJECT__NAME/$OUT/g; # SINGLE output object (for now) + $wsdl =~ s/\<\!\-\-\s*MOBY__INPUT__OBJECT__XSD\s*\-\-\>/$INxsd/g + ; # XSD stright from the database + $wsdl =~ s/\<\!\-\-\s*MOBY__OUTPUT__OBJECT__XSD\s*\-\-\>/$OUTxsd/g + ; # XSD straight from the database + $wsdl =~ s/MOBY__SERVICE__NAME/$serviceName/g + ; # finally replace the actual subroutine call return $wsdl; } - sub _getCGIService { - my ( $dbh, $sth_hash, $id, $serviceName, $AuthURI,$URL, $desc, $category) = @_; + my ( $dbh, $sth_hash, $id, $serviceName, $AuthURI, $URL, $desc, $category ) + = @_; my %sth = %{$sth_hash}; - # "Select OE.term, O.xsd, SP.type - # from Object as O, OntologyEntry as OE, ServiceParameter as SP, Service as S - # where O.ontologyentry_id = OE.id - # AND SP.ontologyentry_id = OE.id - # and SP.service_id = ? - - my $sth = $dbh->prepare($sth{get_server_parameters}); - $sth->execute($id); - my ($Object, $sprintf, $in) = $sth->fetchrow_array(); + + # "Select OE.term, O.xsd, SP.type + # from Object as O, OntologyEntry as OE, ServiceParameter as SP, Service as S + # where O.ontologyentry_id = OE.id + # AND SP.ontologyentry_id = OE.id + # and SP.service_id = ? + my $sth = $dbh->prepare( $sth{get_server_parameters} ); + $sth->execute( $id ); + my ( $Object, $sprintf, $in ) = $sth->fetchrow_array(); return ""; } - =head2 _traverseServiceDAG Title : _traverseServiceDAG @@ -2713,35 +3089,41 @@ =cut - sub _traverseServiceDAG { - my ( $dbh, $serviceType, $sth_hash) = @_; + my ( $dbh, $serviceType, $sth_hash ) = @_; my %sth = %{$sth_hash}; my %ServiceIDs; - my $sth = $dbh->prepare($sth{get_service_type_id}); - $sth->execute($serviceType); - my ($root_id) = $sth->fetchrow_array; + my $sth = $dbh->prepare( $sth{get_service_type_id} ); + $sth->execute( $serviceType ); + my ( $root_id ) = $sth->fetchrow_array; return undef unless $root_id; - - # we have to do a traversal of the DAG here to get all child nodes... - # this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... - $ServiceIDs{$root_id} = "untested"; # mark the one in-hand as untested - while (grep /untested/, (values %ServiceIDs)){ # now, while there are untested services in our list... - foreach my $service(keys %ServiceIDs){ # start parsing through the list - next if ($ServiceIDs{$service} eq "tested"); # if it has been tested already then move on - my $sth = $dbh->prepare($sth{get_service_hierarchy_list}); - $sth->execute($service); # execute the query for child nodes - $ServiceIDs{$service} = "tested"; # mark it as tested - while (my $new = $sth->fetchrow_array){ # now get each of the child nodes - next if (defined $ServiceIDs{$new}); # if we have already heard about it then move on - $ServiceIDs{$new} = "untested"; #otherwise mark it as untested, and start all over again + +# we have to do a traversal of the DAG here to get all child nodes... +# this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... + $ServiceIDs{$root_id} = "untested"; # mark the one in-hand as untested + while ( grep /untested/, ( values %ServiceIDs ) ) + { # now, while there are untested services in our list... + foreach my $service ( keys %ServiceIDs ) + { # start parsing through the list + next + if ( $ServiceIDs{$service} eq "tested" ) + ; # if it has been tested already then move on + my $sth = $dbh->prepare( $sth{get_service_hierarchy_list} ); + $sth->execute( $service ); # execute the query for child nodes + $ServiceIDs{$service} = "tested"; # mark it as tested + while ( my $new = $sth->fetchrow_array ) + { # now get each of the child nodes + next + if ( defined $ServiceIDs{$new} ) + ; # if we have already heard about it then move on + $ServiceIDs{$new} = "untested" + ; #otherwise mark it as untested, and start all over again } } } return keys %ServiceIDs; } - =head2 _traverseObjectDAG Title : _traverseObjectDAG @@ -2753,270 +3135,339 @@ =cut - - sub _traverseObjectDAG { - my ( $dbh, $objectType, $sth_hash, $dir) = @_; + my ( $dbh, $objectType, $sth_hash, $dir ) = @_; my %sth = %{$sth_hash}; my %ObjectIDs; - my $sth = $dbh->prepare($sth{get_object_type_id}); - $sth->execute($objectType); - my ($root_id) = $sth->fetchrow_array; + my $sth = $dbh->prepare( $sth{get_object_type_id} ); + $sth->execute( $objectType ); + my ( $root_id ) = $sth->fetchrow_array; return undef unless $root_id; - - if ($dir eq "p"){ - $debug && &_LOG("getting parents"); - $sth = $dbh->prepare($sth{get_object_parent_list}); - } - else { - $debug && &_LOG("getting children"); - $sth = $dbh->prepare($sth{get_object_child_list}); - } - - # we have to do a traversal of the DAG here to get all child nodes... - # this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... - $ObjectIDs{$root_id} = "untested"; # mark the one in-hand as untested - - while (grep /untested/, (values %ObjectIDs)){ # now, while there are untested services in our list... - foreach my $object(keys %ObjectIDs){ # start parsing through the list - next if ($ObjectIDs{$object} eq "tested"); # if it has been tested already then move on - $sth->execute($object); # execute the query for child nodes - $ObjectIDs{$object} = "tested"; # mark it as tested - while (my $new = $sth->fetchrow_array){ # now get each of the child nodes - next if (defined $ObjectIDs{$new}); # if we have already heard about it then move on - $ObjectIDs{$new} = "untested"; #otherwise mark it as untested, and start all over again + if ( $dir eq "p" ) { + $debug && &_LOG( "getting parents" ); + $sth = $dbh->prepare( $sth{get_object_parent_list} ); + } else { + $debug && &_LOG( "getting children" ); + $sth = $dbh->prepare( $sth{get_object_child_list} ); + } + +# we have to do a traversal of the DAG here to get all child nodes... +# this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... + $ObjectIDs{$root_id} = "untested"; # mark the one in-hand as untested + while ( grep /untested/, ( values %ObjectIDs ) ) + { # now, while there are untested services in our list... + foreach my $object ( keys %ObjectIDs ) + { # start parsing through the list + next + if ( $ObjectIDs{$object} eq "tested" ) + ; # if it has been tested already then move on + $sth->execute( $object ); # execute the query for child nodes + $ObjectIDs{$object} = "tested"; # mark it as tested + while ( my $new = $sth->fetchrow_array ) + { # now get each of the child nodes + next + if ( defined $ObjectIDs{$new} ) + ; # if we have already heard about it then move on + $ObjectIDs{$new} = "untested" + ; #otherwise mark it as untested, and start all over again } } } return keys %ObjectIDs; } +#Eddie - converted sub _nodeTextContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeTextContent received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my $x = $DOM->getElementsByTagName($node); - return undef unless $x->item(0); - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - $debug && &_LOG($_->getNodeTypeName, "\t", $_->toString,"\n"); - #next unless $_->getNodeType == TEXT_NODE; - $content .= $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeTextContent received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my $x = $DOM->getElementsByTagName( $node ); + return undef unless $x->get_node( 1 ); + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + $debug + && &_LOG( $_->nodeType, "\t", $_->toString, "\n" ); + + #next unless $_->nodeType == TEXT_NODE; + $content .= $_->toString; + } + return $content; } +#Eddie - converted sub _nodeRawContent { + # will get raw child nodes of $node from the given $DOM - my ($DOM, $nodename) = @_; - my @content; - $debug && &_LOG("_nodeRawContent received DOM: ", $DOM->toString,"\nsearching for node $nodename\n"); - my $x = $DOM->getElementsByTagName($nodename); - my $node = $x->item(0); + my ( $DOM, $nodename ) = @_; + my @content; + $debug && &_LOG( "_nodeRawContent received DOM: ", + $DOM->toString, "\nsearching for node $nodename\n" ); + my $x = $DOM->getElementsByTagName( $nodename ); + my $node = $x->get_node( 1 ); return [] unless $node; - foreach my $child($node->getChildNodes){ - next unless $child->getNodeType == ELEMENT_NODE; + foreach my $child ( $node->childNodes ) { + next unless $child->nodeType == ELEMENT_NODE; push @content, $child; } - return \@content; + return \@content; } +#Eddie - converted sub _nodeArrayContent { + # will get array content of all child $node from given $DOM # regardless of depth! # e.g. the following XML: # # first # second - # + # #will return the list "first", "second" - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeArrayContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my @result; - my $x = $DOM->getElementsByTagName($node); - return @result unless $x->item(0); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - next unless (length($_->toString) > 0); - push @result, $_->toString; - } - } - $debug && _LOG("_nodeArrayContent resulted in @result\n"); - return @result; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeArrayContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my @result; + my $x = $DOM->getElementsByTagName( $node ); + return @result unless $x->get_node( 1 ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + next unless ( length( $_->toString ) > 0 ); + push @result, $_->toString; + } + } + $debug && _LOG( "_nodeArrayContent resulted in @result\n" ); + return @result; } +#Eddie - converted sub _nodeArrayExtraContent { + # will get array content of all child $node from given $DOM # regardless of depth! # e.g. the following XML: # # first # second - # + # #will return the list # ['first',{'articleName' => 'thisone'}], # ['second',{'articleName' => 'otherone'},... - - my ($DOM, $node, at attrs) = @_; - $debug && &_LOG("_nodeArrayExtraContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); + my ( $DOM, $node, @attrs ) = @_; + $debug && &_LOG( "_nodeArrayExtraContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); my @result; my %att_value; - my $x = $DOM->getElementsByTagName($node); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - foreach my $attr(@attrs){ - $debug && &_LOG("_nodeArrayExtraContext received DOM: ", $DOM->toString,"\nsearching for attributre $attr\n"); - my $article = $_->getAttributeNode($attr); # may or may not have a name - if ($article){$article = $article->getValue()} + my $x = $DOM->getElementsByTagName( $node ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + foreach my $attr ( @attrs ) { + $debug && &_LOG( "_nodeArrayExtraContext received DOM: ", + $DOM->toString, "\nsearching for attributre $attr\n" ); + my $article = + $_->getAttributeNode( $attr ); # may or may not have a name + if ( $article ) { $article = $article->getValue() } $att_value{$attr} = $article; } - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @result, [$_->toString,\%att_value]; - } - } - $debug && &_LOG(@result); - return @result; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @result, [ $_->toString, \%att_value ]; + } + } + $debug && &_LOG( @result ); + return @result; } sub _serviceListResponse { - - my ($dbh, @ids) = @_; - - my $output=""; - my $sth = $dbh->prepare(q{ + my ( $dbh, @ids ) = @_; + my $output = ""; + my $sth = $dbh->prepare( + q{ select category, url, servicename, service_type_uri, authority_id, description, authoritative, contact_email, signatureURL from service_instance where - service_instance_id = ?}); - my $sth_simple_in = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id=? and collection_input_id IS NULL"); - my $sth_simple_out = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id=? and collection_output_id IS NULL"); - my $sth_collection_ins = $dbh->prepare("select collection_input_id, article_name from collection_input where service_instance_id=?"); - my $sth_collection_outs = $dbh->prepare("select collection_output_id, article_name from collection_output where service_instance_id=?"); - my $sth_collection_in = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id IS NULL and collection_input_id =?"); - my $sth_collection_out = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id IS NULL and collection_output_id =?"); - my $sth_secondary_in = $dbh->prepare("select default_value, maximum_value, minimum_value, enum_value, datatype, article_name from secondary_input where service_instance_id=?"); - - - my $OSobj = MOBY::OntologyServer->new(ontology => 'object'); - my $OSns = MOBY::OntologyServer->new(ontology => 'namespace'); - my $OSserv = MOBY::OntologyServer->new(ontology => 'service'); - - foreach (@ids){ - $sth->execute($_); - my ($category, $url, $servicename, $service_type_uri, $authority_id, $desc, $authoritative, $email, $signatureURL) = $sth->fetchrow_array; - #print "\n\nAFTER EXECUTE $category, $servicename, $service_type_uri, $authority_id, $desc, $authoritative\n\n"; - $signatureURL ||=""; - next unless ($servicename && $authority_id); - my $service_type = $OSserv->getServiceCommonName($service_type_uri); - my ($authURI) = $dbh->selectrow_array(q{select authority_uri from authority where authority_id=?},undef,$authority_id); - $output .= "\t\n"; + service_instance_id = ?} + ); + my $sth_simple_in = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id=? and collection_input_id IS NULL" + ); + my $sth_simple_out = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id=? and collection_output_id IS NULL" + ); + my $sth_collection_ins = + $dbh->prepare( +"select collection_input_id, article_name from collection_input where service_instance_id=?" + ); + my $sth_collection_outs = + $dbh->prepare( +"select collection_output_id, article_name from collection_output where service_instance_id=?" + ); + my $sth_collection_in = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id IS NULL and collection_input_id =?" + ); + my $sth_collection_out = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id IS NULL and collection_output_id =?" + ); + my $sth_secondary_in = + $dbh->prepare( +"select default_value, maximum_value, minimum_value, enum_value, datatype, article_name from secondary_input where service_instance_id=?" + ); + my $OSobj = MOBY::OntologyServer->new( ontology => 'object' ); + my $OSns = MOBY::OntologyServer->new( ontology => 'namespace' ); + my $OSserv = MOBY::OntologyServer->new( ontology => 'service' ); + + foreach ( @ids ) { + $sth->execute( $_ ); + my ( + $category, $url, $servicename, + $service_type_uri, $authority_id, $desc, + $authoritative, $email, $signatureURL + ) + = $sth->fetchrow_array; + +#print "\n\nAFTER EXECUTE $category, $servicename, $service_type_uri, $authority_id, $desc, $authoritative\n\n"; + $signatureURL ||= ""; + next unless ( $servicename && $authority_id ); + my $service_type = $OSserv->getServiceCommonName( $service_type_uri ); + my ( $authURI ) = + $dbh->selectrow_array( + q{select authority_uri from authority where authority_id=?}, + undef, $authority_id ); + $output .= + "\t\n"; $output .= "\t$service_type\n"; $output .= "\t$authoritative\n"; $output .= "\t$category\n"; $output .= "\t\n$desc\n\t\n"; $output .= "\t$email\n"; - $output .= "\t$signatureURL\n"; - $output .= "\t$url\n"; - $output .="\t\n"; - $sth_simple_in->execute($_); - while (my ($objURI, $nsURI, $article) = $sth_simple_in->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $output .= "\t$signatureURL\n"; + $output .= "\t$url\n"; + $output .= "\t\n"; + $sth_simple_in->execute( $_ ); + + while ( my ( $objURI, $nsURI, $article ) = + $sth_simple_in->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\n"; - $output .="\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t$NSname\n" if $NSname; - } - $output .="\t\t\n"; - } - $sth_collection_ins->execute($_); - while (my ($collid, $articlename) = $sth_collection_ins->fetchrow_array){ - $output .="\t\t\n"; - $sth_collection_in->execute($collid); - while (my ($objURI, $nsURI, $article) = $sth_collection_in->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $article ||= ""; + $output .= "\t\t\n"; + $output .= "\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t$NSname\n" if $NSname; + } + $output .= "\t\t\n"; + } + $sth_collection_ins->execute( $_ ); + while ( my ( $collid, $articlename ) = + $sth_collection_ins->fetchrow_array ) + { + $output .= "\t\t\n"; + $sth_collection_in->execute( $collid ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_collection_in->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\t\n"; - $output .="\t\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t\t$NSname\n" if $NSname; + $article ||= ""; + $output .= "\t\t\t\n"; + $output .= "\t\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t\t$NSname\n" + if $NSname; } - $output .="\t\t\t\n"; + $output .= "\t\t\t\n"; } - $output .="\t\t\n"; - } - - $output .="\t\n"; - - $output .="\t\n"; - $sth_simple_out->execute($_); - while (my ($objURI, $nsURI, $article) = $sth_simple_out->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $output .= "\t\t\n"; + } + $output .= "\t\n"; + $output .= "\t\n"; + $sth_simple_out->execute( $_ ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_simple_out->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\n"; - $output .="\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t$NSname\n" if $NSname; - } - $output .="\t\t\n"; - } - $sth_collection_outs->execute($_); - while (my ($collid, $articlename) = $sth_collection_outs->fetchrow_array){ - $output .="\t\t\n"; - $sth_collection_out->execute($collid); - while (my ($objURI, $nsURI, $article) = $sth_collection_out->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $article ||= ""; + $output .= "\t\t\n"; + $output .= "\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t$NSname\n" if $NSname; + } + $output .= "\t\t\n"; + } + $sth_collection_outs->execute( $_ ); + while ( my ( $collid, $articlename ) = + $sth_collection_outs->fetchrow_array ) + { + $output .= "\t\t\n"; + $sth_collection_out->execute( $collid ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_collection_out->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\t\n"; - $output .="\t\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t\t$NSname\n" if $NSname; + $article ||= ""; + $output .= "\t\t\t\n"; + $output .= "\t\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t\t$NSname\n" + if $NSname; } - $output .="\t\t\t\n"; + $output .= "\t\t\t\n"; } - $output .="\t\t\n"; - } - $output .="\t\n"; - - $output .="\t\n"; - $sth_secondary_in->execute($_); - while (my ($default_value, $maximum_value, $minimum_value, $enum_value, $datatype, $article_name) = $sth_secondary_in->fetchrow_array()){ - $article_name ||=""; - $datatype ||=""; - $default_value ||=""; - $maximum_value ||=""; - $minimum_value ||=""; + $output .= "\t\t\n"; + } + $output .= "\t\n"; + $output .= "\t\n"; + $sth_secondary_in->execute( $_ ); + while ( + my ( + $default_value, $maximum_value, $minimum_value, + $enum_value, $datatype, $article_name + ) + = $sth_secondary_in->fetchrow_array() + ) + { + $article_name ||= ""; + $datatype ||= ""; + $default_value ||= ""; + $maximum_value ||= ""; + $minimum_value ||= ""; $output .= "\t\t\t\n"; $output .= "\t\t\t\t$datatype\n"; - $output .="\t\t\t\t$default_value\n"; - $output .="\t\t\t\t$maximum_value\n"; - $output .="\t\t\t\t$minimum_value\n"; + $output .= "\t\t\t\t$default_value\n"; + $output .= "\t\t\t\t$maximum_value\n"; + $output .= "\t\t\t\t$minimum_value\n"; my @enums = split ",", $enum_value; - if (scalar(@enums)){ - foreach my $enum(@enums){ + + if ( scalar( @enums ) ) { + foreach my $enum ( @enums ) { $output .= "\t\t\t\t$enum\n"; } } else { @@ -3024,64 +3475,63 @@ } $output .= "\t\t\t\n"; } - $output .="\t\t\n"; + $output .= "\t\t\n"; $output .= "\t\n"; } return "\n$output\n\n"; - } - sub _error { - my ($message, $id) = @_; - my $reg = &Registration({ - success => 0, - message => "$message", - id => "$id", - }); + my ( $message, $id ) = @_; + my $reg = &Registration( + { + success => 0, + message => "$message", + id => "$id", + } + ); return $reg; } sub _success { - my ($message, $id, $RDF) = @_; - my $reg = &Registration({ - success => 1, - message => "$message", - id => "$id", - RDF => $RDF, - }); + my ( $message, $id, $RDF ) = @_; + my $reg = &Registration( + { + success => 1, + message => "$message", + id => "$id", + RDF => $RDF, + } + ); return $reg; } -sub _getOntologyServer { # may want to make this more complex - my (%args) = @_; - my $OS = MOBY::OntologyServer->new(%args); +sub _getOntologyServer { # may want to make this more complex + my ( %args ) = @_; + my $OS = MOBY::OntologyServer->new( %args ); return $OS; } - - -sub DESTROY {} - +sub DESTROY { } sub _LOG { + #return unless $debug; #print join "\n", @_; #print "\n---\n"; #return; - open LOG, ">>/tmp/CentralRegistryLogOut.txt" or die "can't open logfile $!\n"; + open LOG, ">>/tmp/CentralRegistryLogOut.txt" + or die "can't open logfile $!\n"; print LOG join "\n", @_; print LOG "\n---\n"; close LOG; } + # # # -------------------------------------------------------------------------------------------------------- # ## ## - - - $WSDL_TEMPLATE = < 1; -use constant SIMPLE => 2; -use constant SECONDARY => 3; -use constant PARAMETER => 3; # be friendly in case they use this instead -use constant BE_NICE => 1; -use constant BE_STRICT => 0; - -our @ISA = qw(Exporter); -our @EXPORT = qw(COLLECTION SIMPLE SECONDARY PARAMETER BE_NICE BE_STRICT); +use constant SIMPLE => 2; +use constant SECONDARY => 3; +use constant PARAMETER => 3; # be friendly in case they use this instead +use constant BE_NICE => 1; +use constant BE_STRICT => 0; +our @ISA = qw(Exporter); +our @EXPORT = qw(COLLECTION SIMPLE SECONDARY PARAMETER BE_NICE BE_STRICT); our @EXPORT_OK = qw( - getSimpleArticleIDs - getSimpleArticleNamespaceURI - simpleResponse - responseHeader - responseFooter - getInputArticles - getInputs - getInputID - getArticles - getCollectedSimples - getNodeContentWithArticle - extractRawContent - collectionResponse - validateNamespaces - validateThisNamespace - isSimpleArticle - isCollectionArticle - isSecondaryArticle - extractResponseArticles - getResponseArticles - getCrossReferences - genericServiceInputParser - genericServiceInputParserAsObject - complexServiceInputParser - whichDeepestParentObject - getServiceNotes - COLLECTION - SIMPLE - SECONDARY - PARAMETER - BE_NICE - BE_STRICT - ); -our %EXPORT_TAGS =(all => [qw( - getSimpleArticleIDs - getSimpleArticleNamespaceURI - simpleResponse - responseHeader - responseFooter - getInputArticles - getInputs - getInputID - getArticles - getCollectedSimples - getNodeContentWithArticle - extractRawContent - collectionResponse - validateNamespaces - validateThisNamespace - isSimpleArticle - isCollectionArticle - isSecondaryArticle - extractResponseArticles - getResponseArticles - getCrossReferences - genericServiceInputParser - genericServiceInputParserAsObject - complexServiceInputParser - whichDeepestParentObject - getServiceNotes - COLLECTION - SIMPLE - SECONDARY - PARAMETER - BE_NICE - BE_STRICT - )]); - - + getSimpleArticleIDs + getSimpleArticleNamespaceURI + simpleResponse + responseHeader + responseFooter + getInputArticles + getInputs + getInputID + getArticles + getCollectedSimples + getNodeContentWithArticle + extractRawContent + collectionResponse + validateNamespaces + validateThisNamespace + isSimpleArticle + isCollectionArticle + isSecondaryArticle + extractResponseArticles + getResponseArticles + getCrossReferences + genericServiceInputParser + genericServiceInputParserAsObject + complexServiceInputParser + whichDeepestParentObject + getServiceNotes + COLLECTION + SIMPLE + SECONDARY + PARAMETER + BE_NICE + BE_STRICT +); +our %EXPORT_TAGS = ( + all => [ + qw( + getSimpleArticleIDs + getSimpleArticleNamespaceURI + simpleResponse + responseHeader + responseFooter + getInputArticles + getInputs + getInputID + getArticles + getCollectedSimples + getNodeContentWithArticle + extractRawContent + collectionResponse + validateNamespaces + validateThisNamespace + isSimpleArticle + isCollectionArticle + isSecondaryArticle + extractResponseArticles + getResponseArticles + getCrossReferences + genericServiceInputParser + genericServiceInputParserAsObject + complexServiceInputParser + whichDeepestParentObject + getServiceNotes + COLLECTION + SIMPLE + SECONDARY + PARAMETER + BE_NICE + BE_STRICT + ) + ] +); =head2 genericServiceInputParser @@ -302,33 +299,33 @@ =cut - sub genericServiceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticles($query); # get the Simple/Collection/Secondary articles making up this query ... or ... or ... - foreach my $input(@input_articles){ # input is a listref - my ($articleName, $article) = @{$input}; # get the named article - if (isCollectionArticle($article)){ - my @simples = getCollectedSimples($article); - push @inputs, [COLLECTION,$queryID, \@simples]; - } elsif (isSimpleArticle($article)){ - push @inputs, [SIMPLE,$queryID,$article]; - } elsif (isSecondaryArticle($article)){ # should never happen in a generic service parser! - push @inputs, [SECONDARY,$queryID,$article]; - } - } - } - return @inputs; + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticles( $query ) + ; # get the Simple/Collection/Secondary articles making up this query ... or ... or ... + foreach my $input ( @input_articles ) { # input is a listref + my ( $articleName, $article ) = @{$input}; # get the named article + if ( isCollectionArticle( $article ) ) { + my @simples = getCollectedSimples( $article ); + push @inputs, [ COLLECTION, $queryID, \@simples ]; + } elsif ( isSimpleArticle( $article ) ) { + push @inputs, [ SIMPLE, $queryID, $article ]; + } elsif ( isSecondaryArticle( $article ) ) + { # should never happen in a generic service parser! + push @inputs, [ SECONDARY, $queryID, $article ]; + } + } + } + return @inputs; } - - - =head2 serviceInputParser name : DO NOT USE!! @@ -345,32 +342,33 @@ =cut - sub serviceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... # mark, this doesn't work for complex services. We need to allow more than one input per invocation - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticlesAsObjects($query); # get the Simple/Collection articles making up this query ... or ... or ...isCollection){ - my @simples = getCollectedSimples($article->XML); - push @inputs, [COLLECTION,$queryID, \@simples]; - } elsif ($article->isSimple){ - push @inputs, [SIMPLE,$queryID,$article]; - } elsif ($article->isSecondary){ - push @inputs, [SECONDARY,$queryID,$article]; - } - } - } - return @inputs; + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticlesAsObjects( $query ) + ; # get the Simple/Collection articles making up this query ... or ... or ...isCollection ) { + my @simples = getCollectedSimples( $article->XML ); + push @inputs, [ COLLECTION, $queryID, \@simples ]; + } elsif ( $article->isSimple ) { + push @inputs, [ SIMPLE, $queryID, $article ]; + } elsif ( $article->isSecondary ) { + push @inputs, [ SECONDARY, $queryID, $article ]; + } + } + } + return @inputs; } - =head2 complexServiceInputParser name : complexServiceInputParser @@ -439,32 +437,34 @@ =cut - sub complexServiceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - my %input_parameters; # $input_parameters{$queryID} = [ - - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticles($query); # get the Simple/Collection/Secondary articles making up this query ... or ... or ... - foreach my $input(@input_articles){ # input is a listref - my ($articleName, $article) = @{$input}; # get the named article - if (isCollectionArticle($article)){ - my @simples = getCollectedSimples($article); - push @{$input_parameters{$queryID}}, [COLLECTION, \@simples]; - } elsif (isSimpleArticle($article)){ - push @{$input_parameters{$queryID}}, [SIMPLE, $article]; - } elsif (isSecondaryArticle($article)){ - push @{$input_parameters{$queryID}}, [SECONDARY, $article]; - } - } - } - return \%input_parameters; + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... + my %input_parameters; # $input_parameters{$queryID} = [ + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticles( $query ) + ; # get the Simple/Collection/Secondary articles making up this query ... or ... or ... + foreach my $input ( @input_articles ) { # input is a listref + my ( $articleName, $article ) = @{$input}; # get the named article + if ( isCollectionArticle( $article ) ) { + my @simples = getCollectedSimples( $article ); + push @{ $input_parameters{$queryID} }, + [ COLLECTION, \@simples ]; + } elsif ( isSimpleArticle( $article ) ) { + push @{ $input_parameters{$queryID} }, [ SIMPLE, $article ]; + } elsif ( isSecondaryArticle( $article ) ) { + push @{ $input_parameters{$queryID} }, [ SECONDARY, $article ]; + } + } + } + return \%input_parameters; } - =head2 getArticles name : getArticles @@ -506,37 +506,39 @@ =cut - sub getArticles { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless (($moby->getTagName =~ /queryInput/) || ($moby->getTagName =~ /queryResponse/) || ($moby->getTagName =~ /mobyData/)); - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/ || $child->getTagName =~ /Collection/ || $child->getTagName =~ /Parameter/); - my $articleName = $child->getAttribute('articleName'); - $articleName ||= $child->getAttribute('moby:articleName'); - push @articles, [$articleName, $child]; # push the named child DOM elements (which are or , ) - } - return @articles; # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef + unless ( ( $moby->nodeName =~ /queryInput/ ) + || ( $moby->nodeName =~ /queryResponse/ ) + || ( $moby->nodeName =~ /mobyData/ ) ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next + unless ( $child->nodeName =~ /Simple/ + || $child->nodeName =~ /Collection/ + || $child->nodeName =~ /Parameter/ ); + my $articleName = $child->getAttribute( 'articleName' ); + $articleName ||= $child->getAttribute( 'moby:articleName' ); + push @articles, [ $articleName, $child ] + ; # push the named child DOM elements (which are or , ) + } + return @articles; # return them. } - - - ################################################# - ################################## - ################################## - # COMMON SUBROUTINES for Clients and Services - ################################## - ################################## +################################## +################################## +# COMMON SUBROUTINES for Clients and Services +################################## +################################## ################################################# =head2 getSimpleArticleIDs @@ -560,60 +562,74 @@ =cut - +#Eddie - converted sub getSimpleArticleIDs { - my ($desired_namespace, $input_nodes) = @_; - if ($desired_namespace && !($input_nodes)){ # if called with ONE argument, then these are the input nodes! - $input_nodes = $desired_namespace; - $desired_namespace = undef; + my ( $desired_namespace, $input_nodes ) = @_; + if ( $desired_namespace && !( $input_nodes ) ) + { # if called with ONE argument, then these are the input nodes! + $input_nodes = $desired_namespace; + $desired_namespace = undef; } - $input_nodes = [$input_nodes] unless ref($input_nodes) =~ /ARRAY/; # be flexible! + $input_nodes = [$input_nodes] + unless ref( $input_nodes ) =~ /ARRAY/; # be flexible! return undef unless scalar @{$input_nodes}; - my @input_nodes = @{$input_nodes}; - my $OS = MOBY::Client::OntologyServer->new; - my ($s, $m); - if ($desired_namespace){ - ($s, $m, $desired_namespace) = $OS->namespaceExists(term => $desired_namespace); # returns (success, message, lsid) - unless ($s){ # bail if not successful - print STDERR "MOBY::CommonSubs WARNING ** the namespace $desired_namespace does not exist in the MOBY ontology, and is not a valid LSID\n"; - return undef; - } - } + my $OS = MOBY::Client::OntologyServer->new; + my ( $s, $m ); + if ( $desired_namespace ) { + ( $s, $m, $desired_namespace ) = + $OS->namespaceExists( term => $desired_namespace ) + ; # returns (success, message, lsid) + unless ( $s ) { # bail if not successful + print STDERR +"MOBY::CommonSubs WARNING ** the namespace $desired_namespace does not exist in the MOBY ontology, and is not a valid LSID\n"; + return undef; + } + } + my @ids; + foreach my $in ( @input_nodes ) { + next unless $in; - my @ids; - foreach my $in(@input_nodes){ - next unless $in; #$in = "" - next unless $in->getNodeName =~ /simple/i; # only allow simples - my @simples = $in->getChildNodes; - foreach (@simples){ # $_ = - next unless $_->getNodeType == ELEMENT_NODE; - if ($desired_namespace){ - my $ns = $_->getAttributeNode('namespace'); # get the namespace DOM node - $ns = $_->getAttributeNode('moby:namespace') unless ($ns); # perhaps it is namespaced... - unless ($ns){ # if we don't get it at all, then move on to the next input - push @ids, undef; # but push an undef onto teh stack in order - next; - } - $ns = $ns->getValue; # if we have a namespace, then get its value - ($s, $m, $ns) = $OS->namespaceExists(term => $ns); - - unless ($ns eq $desired_namespace){ # we are registering as working in a particular namespace, so check this - push @ids, undef; # and push undef onto the stack if it isn't - next; - } + next unless $in->nodeName =~ /simple/i; # only allow simples + my @simples = $in->childNodes; + foreach ( @simples ) { # $_ = + next unless $_->nodeType == ELEMENT_NODE; + if ( $desired_namespace ) { + my $ns = + $_->getAttributeNode( 'namespace' ) + ; # get the namespace DOM node + $ns = $_->getAttributeNode( 'moby:namespace' ) + unless ( $ns ); # perhaps it is namespaced... + unless ( $ns ) + { # if we don't get it at all, then move on to the next input + push @ids, + undef; # but push an undef onto teh stack in order + next; + } + $ns = + $ns->getValue; # if we have a namespace, then get its value + ( $s, $m, $ns ) = $OS->namespaceExists( term => $ns ); + unless ( $ns eq $desired_namespace ) + { # we are registering as working in a particular namespace, so check this + push @ids, + undef; # and push undef onto the stack if it isn't + next; + } } + # Now do the same thing for ID's - my $id = $_->getAttributeNode('id'); - $id = $_->getAttributeNode('moby:id') unless ($id); - unless ($id){ + my $id = $_->getAttributeNode( 'id' ); + $id = $_->getAttributeNode( 'moby:id' ) unless ( $id ); + unless ( $id ) { push @ids, undef; next; } $id = $id->getValue; - unless (defined $id){ # it has to have a hope in hell of retrieving something... - push @ids, undef; # otherwise push undef onto the stack if it isn't + unless ( defined $id ) + { # it has to have a hope in hell of retrieving something... + push @ids, + undef; # otherwise push undef onto the stack if it isn't next; } push @ids, $id; @@ -622,7 +638,6 @@ return @ids; } - =head2 getSimpleArticleNamespaceURI name : getSimpleArticleNamespaceURI @@ -636,32 +651,35 @@ =cut - +#Eddie - converted sub getSimpleArticleNamespaceURI { - # pass me a input node and I will give you the lsid of the namespace of that input object - - my ($input_node) = @_; +# pass me a input node and I will give you the lsid of the namespace of that input object + my ( $input_node ) = @_; return undef unless $input_node; my $OS = MOBY::Client::OntologyServer->new; - + #$input_node = "" - my @simples = $input_node->getChildNodes; - foreach (@simples){ # $_ = # should be just one, so I will return at will from this routine - next unless $_->getNodeType == ELEMENT_NODE; - my $ns = $_->getAttributeNode('namespace'); # get the namespace DOM node - $ns = $_->getAttributeNode('moby:namespace') unless ($ns); # perhaps it is namespaced... - unless ($ns){ # if we don't get it at all, then move on to the next input - return undef + my @simples = $input_node->childNodes; + foreach ( @simples ) + { # $_ = # should be just one, so I will return at will from this routine + next unless $_->nodeType == ELEMENT_NODE; + my $ns = + $_->getAttributeNode( 'namespace' ); # get the namespace DOM node + $ns = $_->getAttributeNode( 'moby:namespace' ) + unless ( $ns ); # perhaps it is namespaced... + unless ( $ns ) + { # if we don't get it at all, then move on to the next input + return undef; } - my ($s, $m, $lsid) = $OS->namespaceExists(term => $ns->getValue); # if we have a namespace, then get its value + my ( $s, $m, $lsid ) = + $OS->namespaceExists( term => $ns->getValue ) + ; # if we have a namespace, then get its value return undef unless $s; - return $lsid + return $lsid; } } - - =head2 simpleResponse name : simpleResponse @@ -678,47 +696,49 @@ =cut - sub simpleResponse { - my ($data, $articleName, $qID) = @_; # articleName optional - $qID = &_getQueryID($qID) if ref($qID) =~ /XML::DOM/; # in case they send the DOM instead of the ID - - $data ||=''; # initialize to avoid uninit value errors - $qID ||=""; - $articleName ||=""; - if ($articleName) { - return " + my ( $data, $articleName, $qID ) = @_; # articleName optional + $qID = &_getQueryID( $qID ) + if ref( $qID ) =~ + /XML::DOM/; # in case they send the DOM instead of the ID + $data ||= ''; # initialize to avoid uninit value errors + $qID ||= ""; + $articleName ||= ""; + if ( $articleName ) { + return " $data "; - } elsif($data) { - return " + } elsif ( $data ) { + return " $data "; - } else { - return " + } else { + return " "; } } +#Eddie - converted sub _getQueryID { - my ($query) = @_; - unless (ref($query) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($query); - $query = $doc->getDocumentElement(); - } - return '' unless ($query->getTagName =~/queryInput/ || $query->getTagName =~/mobyData/); - my $id = $query->getAttribute('queryID'); - $id ||= $query->getAttribute('moby:queryID'); - return $id; + my ( $query ) = @_; + unless ( ref( $query ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $query ); + $query = $doc->getDocumentElement(); + } + return '' + unless ( $query->nodeName =~ /queryInput/ + || $query->nodeName =~ /mobyData/ ); #Eddie - unsure + my $id = $query->getAttribute( 'queryID' ); + $id ||= $query->getAttribute( 'moby:queryID' ); + return $id; } - =head2 collectionResponse name : collectionResponse @@ -735,45 +755,43 @@ =cut - sub collectionResponse { - my ($data, $articleName, $qID) = @_; # articleName optional - my $content = ""; - $data ||=[]; - $qID ||= ''; - unless ((ref($data) =~ /array/i) && $data->[0]){ # we're expecting an arrayref as input data,and it must not be empty - return ""; - } - - foreach (@{$data}){ - if($_) { - $content .= " + my ( $data, $articleName, $qID ) = @_; # articleName optional + my $content = ""; + $data ||= []; + $qID ||= ''; + unless ( ( ref( $data ) =~ /array/i ) && $data->[0] ) + { # we're expecting an arrayref as input data,and it must not be empty + return ""; + } + foreach ( @{$data} ) { + if ( $_ ) { + $content .= " $_ "; - } else { - $content .= " + } else { + $content .= " "; - } - } - if ($articleName) { - return " + } + } + if ( $articleName ) { + return " $content "; - } else { - return " + } else { + return " $content "; - } + } } - =head2 responseHeader name : responseHeader @@ -795,23 +813,22 @@ =cut - sub responseHeader { - use HTML::Entities (); - my ($auth, $notes) = &_rearrange([qw[AUTHORITY NOTE]], @_); - $auth ||="not_provided"; - $notes ||=""; - my $xml = "". - "". - ""; - if ($notes){ - my $encodednotes = HTML::Entities::encode($notes); - $xml .="$encodednotes"; - } - return $xml; + use HTML::Entities (); + my ( $auth, $notes ) = &_rearrange( [qw[AUTHORITY NOTE]], @_ ); + $auth ||= "not_provided"; + $notes ||= ""; + my $xml = + "" + . "" + . ""; + if ( $notes ) { + my $encodednotes = HTML::Entities::encode( $notes ); + $xml .= "$encodednotes"; + } + return $xml; } - =head2 responseFooter name : responseFooter @@ -825,13 +842,10 @@ =cut - sub responseFooter { - return ""; + return ""; } - - =head2 getInputs name : getInputs @@ -845,28 +859,29 @@ =cut - +#Eddie - converted sub getInputs { - - my ($XML) = @_; - my $moby; - unless (ref($XML) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $moby = $doc->getDocumentElement(); - } - my @queries; - - foreach my $querytag('queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData'){ - my $x = $moby->getElementsByTagName($querytag); # get the mobyData block - for (0..$x->getLength-1){ # there may be more than one mobyData per message - push @queries, $x->item($_); - } - } - return @queries; # return them in the order that they were discovered. + my ( $XML ) = @_; + my $moby; + unless ( ref( $XML ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $moby = $doc->getDocumentElement(); + } + my @queries; + foreach my $querytag ( 'queryInput', 'moby:queryInput', 'mobyData', + 'moby:mobyData' ) + { + my $x = + $moby->getElementsByTagName( $querytag ); # get the mobyData block + for ( 1 .. $x->size() ) + { # there may be more than one mobyData per message + push @queries, $x->get_node( $_ ); + } + } + return @queries; # return them in the order that they were discovered. } - =head2 getInputID name : getInputID @@ -881,23 +896,21 @@ =cut - sub getInputID { - my ($XML) = @_; - unless (ref($XML) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $XML = $doc->getDocumentElement(); - } - return '' unless (($XML->getTagName =~ /queryInput/) || ($XML->getTagName =~ /mobyData/)); - my $qid = $XML->getAttribute('queryID'); - $qid ||= $XML->getAttribute('moby:queryID'); - - return defined($qid)?$qid:''; + my ( $XML ) = @_; + unless ( ref( $XML ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $XML = $doc->getDocumentElement(); + } + return '' + unless ( ( $XML->nodeName =~ /queryInput/ ) + || ( $XML->nodeName =~ /mobyData/ ) ); + my $qid = $XML->getAttribute( 'queryID' ); + $qid ||= $XML->getAttribute( 'moby:queryID' ); + return defined( $qid ) ? $qid : ''; } - - =head2 getArticlesAsObjects name : DO NOT USE!! @@ -910,37 +923,42 @@ =cut - +#Eddie - converted sub getArticlesAsObjects { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless (($moby->getTagName =~ /queryInput/) || ($moby->getTagName =~ /queryResponse/) || ($moby->getTagName =~ /mobyData/)); - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/ || $child->getTagName =~ /Collection/ || $child->getTagName =~ /Parameter/); - my $object; - if ($child->getTagName =~ /Simple/){ - $object = MOBY::Client::SimpleArticle->new(XML_DOM => $child); - } elsif ($child->getTagName =~ /Collection/){ - $object = MOBY::Client::CollectionArticle->new(XML_DOM => $child); - } elsif ($child->getTagName =~ /Parameter/){ - $object = MOBY::Client::SecondaryArticle->new(XML_DOM => $child); - } - next unless $object; - push @articles, $object; # take the child elements, which are or - } - return @articles; # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef + unless ( ( $moby->nodeName =~ /queryInput/ ) + || ( $moby->nodeName =~ /queryResponse/ ) + || ( $moby->nodeName =~ /mobyData/ ) ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next + unless ( $child->nodeName =~ /Simple/ + || $child->nodeName =~ /Collection/ + || $child->nodeName =~ /Parameter/ ); + my $object; + if ( $child->nodeName =~ /Simple/ ) { + $object = MOBY::Client::SimpleArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName =~ /Collection/ ) { + $object = MOBY::Client::CollectionArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName =~ /Parameter/ ) { + $object = MOBY::Client::SecondaryArticle->new( XML_DOM => $child ); + } + next unless $object; + push @articles, $object + ; # take the child elements, which are or + } + return @articles; # return them. } - =head2 getCollectedSimples name : getCollectedSimples @@ -951,29 +969,26 @@ =cut - sub getCollectedSimples { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless ($moby->getTagName =~ /Collection/); - - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/); - push @articles, $child; # take the child elements, which are or - } - return (@articles); # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef unless ( $moby->nodeName =~ /Collection/ ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next unless ( $child->nodeName =~ /Simple/ ); + push @articles, $child + ; # take the child elements, which are or + } + return ( @articles ); # return them. } - =head2 getInputArticles name : getInputArticles @@ -1006,36 +1021,34 @@ =cut - +#Eddie - converted sub getInputArticles { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - my $x; - foreach ('queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData'){ - $x = $moby->getElementsByTagName($_); # get the mobyData block - last if $x->item(0); - } - return undef unless $x->item(0); # in case there was no match at all - - my @queries; - for (0..$x->getLength-1){ # there may be more than one mobyData per message + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + my $x; + foreach ( 'queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData' ) { + $x = $moby->getElementsByTagName( $_ ); # get the mobyData block + last if $x->get_node( 1 ); + } + return undef unless $x->get_node( 1 ); # in case there was no match at all + my @queries; + for ( 1 .. $x->size() ) { # there may be more than one mobyData per message my @this_query; - foreach my $child($x->item($_)->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - push @this_query, $child; # take the child elements, which are or - } - push @queries, \@this_query; + foreach my $child ( $x->get_node( $_ )->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + push @this_query, $child + ; # take the child elements, which are or + } + push @queries, \@this_query; } - return @queries; # return them in the order that they were discovered. + return @queries; # return them in the order that they were discovered. } - =head2 isSimpleArticle name : isSimpleArticle @@ -1046,18 +1059,19 @@ =cut +#Eddie - converted sub isSimpleArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Simple/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse_string( $DOM ); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Simple/ ); + return 0; } =head2 isCollectionArticle @@ -1070,21 +1084,21 @@ =cut +#Eddie - converted sub isCollectionArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Collection/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse_string( $DOM ); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Collection/ ); + return 0; } - =head2 isSecondaryArticle name : isSecondaryArticle @@ -1095,21 +1109,21 @@ =cut +#Eddie - converted sub isSecondaryArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Parameter/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse( _string $DOM); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Parameter/ ); + return 0; } - =head2 extractRawContent name : extractRawContent @@ -1121,20 +1135,17 @@ =cut - sub extractRawContent { - my ($article) = @_; - return "" unless $article; - return "" unless ref($article) =~ /XML::DOM/; - my $response; - foreach ($article->getChildNodes){ - $response .= $_->toString; - } - return $response; - + my ( $article ) = @_; + return "" unless $article; + return "" unless ref( $article ) =~ /XML::DOM/; + my $response; + foreach ( $article->childNodes ) { + $response .= $_->toString; + } + return $response; } - =head2 getNodeContentWithArticle name : getNodeContentWithArticle @@ -1219,62 +1230,73 @@ =cut -sub getNodeContentWithArticle{ - # give me a DOM, a TagName, an articleName and I will return you the content - # of that node **as a string** (beware if there are additional XML tags in there!) - # this is meant for MOBYesque PRIMITIVES - things like: - # TAGCTGATCGAGCTGATGCTGA - # call _getNodeContentsWithAttribute($DOM_NODE, "String", "SequenceString") - # and I will return "TACGATGCTAGCTAGCGATCGG" - # Caveat Emptor - I will NOT chop off leading and trailing whitespace or - # carriage returns, as these might be meaningful! - my ($node, $element, $articleName) = @_; - my @contents; - return () unless ref($node)=~/XML::DOM/; - return () unless $element; - return () unless $articleName; - my $nodes = $node->getElementsByTagName($element); - unless ($nodes->item(0)){ - $nodes = $node->getElementsByTagName("moby:$element"); - } +#Eddie - converted +sub getNodeContentWithArticle { - for (0..$nodes->getLength-1){ - my $child = $nodes->item($_); - if ( - (($child->getAttribute("articleName")) && (($child->getAttribute("articleName") eq $articleName))) - || (($child->getAttribute("moby:articleName")) && (($child->getAttribute("moby:articleName") eq $articleName)))){ - # now we have a valid child, get the content... stringified... regardless of what it is - - if (isSecondaryArticle($child)){ - my $resp; - my $valuenodes = $child->getElementsByTagName('Value'); - unless ($valuenodes->item(0)){ - $valuenodes = $child->getElementsByTagName("moby:Value"); - } - for (0..$valuenodes->getLength-1){ - my $valuenode = $valuenodes->item($_); - foreach my $amount ($valuenode->getChildNodes){ - next unless $amount->getNodeType == TEXT_NODE; - $resp .= $amount->toString; - } - } - push @contents, $resp; - - } else { - my $resp; - foreach ($child->getChildNodes){ - next unless $_->getNodeType == TEXT_NODE; - $resp .= $_->toString; - } - push @contents, $resp; - } - } +# give me a DOM, a TagName, an articleName and I will return you the content +# of that node **as a string** (beware if there are additional XML tags in there!) +# this is meant for MOBYesque PRIMITIVES - things like: +# TAGCTGATCGAGCTGATGCTGA +# call _getNodeContentsWithAttribute($DOM_NODE, "String", "SequenceString") +# and I will return "TACGATGCTAGCTAGCGATCGG" +# Caveat Emptor - I will NOT chop off leading and trailing whitespace or +# carriage returns, as these might be meaningful! + my ( $node, $element, $articleName ) = @_; + my @contents; + return () unless ref( $node ) =~ /XML::DOM/; + return () unless $element; + return () unless $articleName; + my $nodes = $node->getElementsByTagName( $element ); + unless ( $nodes->get_node( 1 ) ) { + $nodes = $node->getElementsByTagName( "moby:$element" ); + } + for ( 1 .. $nodes->size() ) { + my $child = $nodes->get_node( $_ ); + if ( + ( + ( $child->getAttribute( "articleName" ) ) + && ( ( $child->getAttribute( "articleName" ) eq $articleName ) ) + ) + || ( + ( $child->getAttribute( "moby:articleName" ) ) + && ( + ( + $child->getAttribute( "moby:articleName" ) eq + $articleName + ) + ) + ) + ) + { + +# now we have a valid child, get the content... stringified... regardless of what it is + if ( isSecondaryArticle( $child ) ) { + my $resp; + my $valuenodes = $child->getElementsByTagName( 'Value' ); + unless ( $valuenodes->get_node( 1 ) ) { + $valuenodes = $child->getElementsByTagName( "moby:Value" ); + } + for ( 1 .. $valuenodes->size() ) { + my $valuenode = $valuenodes->get_node( $_ ); + foreach my $amount ( $valuenode->childNodes ) { + next unless $amount->nodeType == TEXT_NODE; + $resp .= $amount->toString; + } + } + push @contents, $resp; + } else { + my $resp; + foreach ( $child->childNodes ) { + next unless $_->nodeType == TEXT_NODE; + $resp .= $_->toString; + } + push @contents, $resp; + } + } } return @contents; } - - =head2 validateNamespaces name : validateNamespaces @@ -1287,22 +1309,19 @@ =cut - sub validateNamespaces { - # give me a list of namespaces and I will return the LSID's in order - # I return undef in that list position if the namespace is invalid - my (@namespaces) = @_; - my $OS = MOBY::Client::OntologyServer->new; - my @lsids; - foreach (@namespaces){ - my ($s, $m, $LSID) = $OS->namespaceExists(term => $_); - push @lsids, $s?$LSID:undef; - } - return @lsids; -} - - + # give me a list of namespaces and I will return the LSID's in order + # I return undef in that list position if the namespace is invalid + my ( @namespaces ) = @_; + my $OS = MOBY::Client::OntologyServer->new; + my @lsids; + foreach ( @namespaces ) { + my ( $s, $m, $LSID ) = $OS->namespaceExists( term => $_ ); + push @lsids, $s ? $LSID : undef; + } + return @lsids; +} =head2 validateThisNamespace @@ -1315,19 +1334,21 @@ =cut - sub validateThisNamespace { - my ($ns, @namespaces) = @_; - return 1 unless scalar @namespaces; # if you don't give me a list, I assume everything is valid... - if (ref($namespaces[1]) =~ /ARRAY/){@namespaces = @{$namespaces[1]}} # if you send me an arrayref I should be kind... DWIM! - foreach (@namespaces){ - next unless $_; - return 1 if $ns eq $_; - } - return 0; + my ( $ns, @namespaces ) = @_; + return 1 + unless scalar @namespaces + ; # if you don't give me a list, I assume everything is valid... + if ( ref( $namespaces[1] ) =~ /ARRAY/ ) { + @namespaces = @{ $namespaces[1] }; + } # if you send me an arrayref I should be kind... DWIM! + foreach ( @namespaces ) { + next unless $_; + return 1 if $ns eq $_; + } + return 0; } - =head2 getResponseArticles (a.k.a. extractResponseArticles) name : getResponseArticles @@ -1343,56 +1364,63 @@ *getResponseArticles = \&extractResponseArticles; *getResponseArticles = \&extractResponseArticles; +#Eddie - converted sub extractResponseArticles { - my ($result) = @_; - return ([], []) unless $result; - my $moby; - unless (ref($result) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($result); - $moby = $doc->getDocumentElement(); - } else { - $moby = $result->getDocumentElement(); - } - my @objects; - my @collections; - my @Xrefs; - my $success = 0; - foreach my $which ('moby:queryResponse', 'queryResponse', 'mobyData', 'moby:mobyData'){ - my $responses = $moby->getElementsByTagName($which); - next unless $responses; - foreach my $n(0..($responses->getLength - 1)){ - my $resp = $responses->item($n); - foreach my $response_component($resp->getChildNodes){ - next unless $response_component->getNodeType == ELEMENT_NODE; - if (($response_component->getTagName eq "Simple") || ($response_component->getTagName eq "moby:Simple")){ - foreach my $Object($response_component->getChildNodes) { - next unless $Object->getNodeType == ELEMENT_NODE; - $success = 1; - push @objects,$Object; - } - } elsif (($response_component->getTagName eq "Collection") || ($response_component->getTagName eq "moby:Collection")){ - my @objects; - foreach my $simple($response_component->getChildNodes){ - next unless $simple->getNodeType == ELEMENT_NODE; - next unless (($simple->getTagName eq "Simple") || ($simple->getTagName eq "moby:Simple")); - foreach my $Object($simple->getChildNodes) { - next unless $Object->getNodeType == ELEMENT_NODE; - $success = 1; - push @objects,$Object; - } - } - push @collections, \@objects; #I'm not using collections yet, so we just use Simples. - } - } - } - } - return (\@collections, \@objects); + my ( $result ) = @_; + return ( [], [] ) unless $result; + my $moby; + unless ( ref( $result ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $result ); + $moby = $doc->getDocumentElement(); + } else { + $moby = $result->getDocumentElement(); + } + my @objects; + my @collections; + my @Xrefs; + my $success = 0; + foreach my $which ( 'moby:queryResponse', 'queryResponse', 'mobyData', + 'moby:mobyData' ) + { + my $responses = $moby->getElementsByTagName( $which ); + next unless $responses; + foreach my $n ( 1 .. ( $responses->size() ) ) { + my $resp = $responses->get_node( $n ); + foreach my $response_component ( $resp->childNodes ) { + next unless $response_component->nodeType == ELEMENT_NODE; + if ( ( $response_component->nodeName eq "Simple" ) + || ( $response_component->nodeName eq "moby:Simple" ) ) + { + foreach my $Object ( $response_component->childNodes ) { + next unless $Object->nodeType == ELEMENT_NODE; + $success = 1; + push @objects, $Object; + } + } elsif ( ( $response_component->nodeName eq "Collection" ) + || ( $response_component->nodeName eq "moby:Collection" ) ) + { + my @objects; + foreach my $simple ( $response_component->childNodes ) { + next unless $simple->nodeType == ELEMENT_NODE; + next + unless ( ( $simple->nodeName eq "Simple" ) + || ( $simple->nodeName eq "moby:Simple" ) ); + foreach my $Object ( $simple->childNodes ) { + next unless $Object->nodeType == ELEMENT_NODE; + $success = 1; + push @objects, $Object; + } + } + push @collections, \@objects + ; #I'm not using collections yet, so we just use Simples. + } + } + } + } + return ( \@collections, \@objects ); } - - - =head2 getServiceNotes name : getServiceNotes @@ -1403,37 +1431,38 @@ =cut - +#Eddie - converted sub getServiceNotes { - my ($result) = @_; - return ("") unless $result; - my $moby; - unless (ref($result) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($result); - $moby = $doc->getDocumentElement(); - } else { - $moby = $result->getDocumentElement(); - } - my @objects; - my @collections; - my @Xrefs; - my $success = 0; - my $responses = $moby->getElementsByTagName('moby:serviceNotes'); - $responses ||= $moby->getElementsByTagName('serviceNotes'); - my $content; - foreach my $n(0..($responses->getLength - 1)){ - my $resp = $responses->item($n); - foreach my $response_component($resp->getChildNodes){ -# $content .= $response_component->toString; - $content .= $response_component->getNodeValue if ($response_component->getNodeType == TEXT_NODE); - } - } - return ($content); + my ( $result ) = @_; + return ( "" ) unless $result; + my $moby; + unless ( ref( $result ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $result ); + $moby = $doc->getDocumentElement(); + } else { + $moby = $result->getDocumentElement(); + } + my @objects; + my @collections; + my @Xrefs; + my $success = 0; + my $responses = $moby->getElementsByTagName( 'moby:serviceNotes' ); + $responses ||= $moby->getElementsByTagName( 'serviceNotes' ); + my $content; + + foreach my $n ( 1 .. ( $responses->size() ) ) { + my $resp = $responses->get_node( $n ); + foreach my $response_component ( $resp->childNodes ) { + + # $content .= $response_component->toString; + $content .= $response_component->getNodeValue + if ( $response_component->nodeType == TEXT_NODE ); + } + } + return ( $content ); } - - =head2 getCrossReferences name : getCrossReferences @@ -1460,43 +1489,44 @@ =cut - +#Eddie - converted sub getCrossReferences { - - my ($XML) = @_; - unless (ref($XML) =~ /XML::DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $XML = $doc->getDocumentElement(); - } - my @xrefs; my @XREFS; - my @simples; - return @XREFS if ($XML->getTagName =~/Collection/); - if ($XML->getTagName =~/Simple/){ - foreach my $child ($XML->getChildNodes){ - next unless $child->getNodeType == ELEMENT_NODE; - $XML = $child; - last; # enforce proper MOBY message structure - } - } - foreach ($XML->getChildNodes){ - next unless $_->getNodeType == ELEMENT_NODE; - next unless $_->getTagName =~/CrossReference/; - foreach my $xref($_->getChildNodes){ - next unless $xref->getNodeType == ELEMENT_NODE; - next unless ($xref->getTagName =~/Xref/ || $xref->getTagName =~ /Object/); - push @xrefs, $xref; - } - } - foreach (@xrefs){ - my $x = &_makeXrefType($_) if $_->getTagName =~/Xref/; - $x = &_makeObjectType($_) if $_->getTagName =~ /Object/; - push @XREFS, $x if $x; - } + my ( $XML ) = @_; + unless ( ref( $XML ) =~ /XML::DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $XML = $doc->getDocumentElement(); + } + my @xrefs; + my @XREFS; + my @simples; + return @XREFS if ( $XML->nodeName =~ /Collection/ ); + if ( $XML->nodeName =~ /Simple/ ) { + foreach my $child ( $XML->childNodes ) { + next unless $child->nodeType == ELEMENT_NODE; + $XML = $child; + last; # enforce proper MOBY message structure + } + } + foreach ( $XML->childNodes ) { + next unless $_->nodeType == ELEMENT_NODE; + next unless $_->nodeName =~ /CrossReference/; + foreach my $xref ( $_->childNodes ) { + next unless $xref->nodeType == ELEMENT_NODE; + next + unless ( $xref->nodeName =~ /Xref/ + || $xref->nodeName =~ /Object/ ); + push @xrefs, $xref; + } + } + foreach ( @xrefs ) { + my $x = &_makeXrefType( $_ ) if $_->nodeName =~ /Xref/; + $x = &_makeObjectType( $_ ) if $_->nodeName =~ /Object/; + push @XREFS, $x if $x; + } return @XREFS; } - =head2 whichDeepestParentObject name : whichDeepestParentObject @@ -1515,76 +1545,87 @@ =cut - sub whichDeepestParentObject { - use MOBY::Client::OntologyServer; - my ($CENTRAL, $queryTerm, $termlist) = @_; - return (undef,undef) unless ($CENTRAL && $queryTerm && $termlist && (ref($termlist) =~ /ARRAY/)); - my %nodeLSIDs; - my $queryLSID = $CENTRAL->ObjLSID($queryTerm); - foreach (@$termlist){ # get list of known LSIDs - my $lsid = $CENTRAL->ObjLSID($_); - return ($_, $lsid) if ($lsid eq $queryLSID); # of course, if we find it in the list, then return it right away! - $nodeLSIDs{$lsid}=$_; - } - return (undef, undef) unless keys(%nodeLSIDs); - my $isa = $CENTRAL->ISA($queryTerm, 'Object'); # set the complete parentage in the cache if it isn't already - return (undef, undef) unless $isa; # this should return true or we are in BIIIG trouble! - my @ISAlsids = $CENTRAL->ISA_CACHE($queryTerm); # returns **LSIDs** in order, so we can shift our way back to root - while (my $thislsid = shift @ISAlsids){ # @isas are lsid's - return ($nodeLSIDs{$thislsid},$thislsid) if $nodeLSIDs{$thislsid}; - } - return (undef, undef); + use MOBY::Client::OntologyServer; + my ( $CENTRAL, $queryTerm, $termlist ) = @_; + return ( undef, undef ) + unless ( $CENTRAL + && $queryTerm + && $termlist + && ( ref( $termlist ) =~ /ARRAY/ ) ); + my %nodeLSIDs; + my $queryLSID = $CENTRAL->ObjLSID( $queryTerm ); + foreach ( @$termlist ) { # get list of known LSIDs + my $lsid = $CENTRAL->ObjLSID( $_ ); + return ( $_, $lsid ) + if ( $lsid eq $queryLSID ) + ; # of course, if we find it in the list, then return it right away! + $nodeLSIDs{$lsid} = $_; + } + return ( undef, undef ) unless keys( %nodeLSIDs ); + my $isa = + $CENTRAL->ISA( $queryTerm, 'Object' ) + ; # set the complete parentage in the cache if it isn't already + return ( undef, undef ) + unless $isa; # this should return true or we are in BIIIG trouble! + my @ISAlsids = + $CENTRAL->ISA_CACHE( $queryTerm ) + ; # returns **LSIDs** in order, so we can shift our way back to root + while ( my $thislsid = shift @ISAlsids ) { # @isas are lsid's + return ( $nodeLSIDs{$thislsid}, $thislsid ) if $nodeLSIDs{$thislsid}; + } + return ( undef, undef ); } +#Eddie - converted sub _makeXrefType { - my ($xref) = @_; - my $ns = $xref->getAttributeNode('namespace'); - $ns = $xref->getAttributeNode('moby:namespace') unless $ns; - return undef unless $ns; - my $id = $xref->getAttributeNode('id'); - $id = $xref->getAttributeNode('moby:id') unless $id; - return undef unless $id; - my $xr = $xref->getAttributeNode('xref_type'); - $xr = $xref->getAttributeNode('moby:xref_type') unless $xr; - return undef unless $xr; - my $ec = $xref->getAttributeNode('evidence_code'); - $ec = $xref->getAttributeNode('moby:evidence_code') unless $ec; - return undef unless $ec; - my $au = $xref->getAttributeNode('authURI'); - $au = $xref->getAttributeNode('moby:authURI') unless $au; - return undef unless $au; - my $sn = $xref->getAttributeNode('serviceName'); - $sn = $xref->getAttributeNode('moby:serviceName') unless $sn; - return undef unless $sn; - my $XREF = MOBY::CrossReference->new( - type => "xref", - namespace => $ns->getValue, - id => $id->getValue, - authURI => $au->getValue, - serviceName => $sn->getValue, - evidence_code => $ec->getValue, - xref_type => $xr->getValue - ); - return $XREF; + my ( $xref ) = @_; + my $ns = $xref->getAttributeNode( 'namespace' ); + $ns = $xref->getAttributeNode( 'moby:namespace' ) unless $ns; + return undef unless $ns; + my $id = $xref->getAttributeNode( 'id' ); + $id = $xref->getAttributeNode( 'moby:id' ) unless $id; + return undef unless $id; + my $xr = $xref->getAttributeNode( 'xref_type' ); + $xr = $xref->getAttributeNode( 'moby:xref_type' ) unless $xr; + return undef unless $xr; + my $ec = $xref->getAttributeNode( 'evidence_code' ); + $ec = $xref->getAttributeNode( 'moby:evidence_code' ) unless $ec; + return undef unless $ec; + my $au = $xref->getAttributeNode( 'authURI' ); + $au = $xref->getAttributeNode( 'moby:authURI' ) unless $au; + return undef unless $au; + my $sn = $xref->getAttributeNode( 'serviceName' ); + $sn = $xref->getAttributeNode( 'moby:serviceName' ) unless $sn; + return undef unless $sn; + my $XREF = MOBY::CrossReference->new( + type => "xref", + namespace => $ns->getValue, + id => $id->getValue, + authURI => $au->getValue, + serviceName => $sn->getValue, + evidence_code => $ec->getValue, + xref_type => $xr->getValue + ); + return $XREF; } +#Eddie - converted sub _makeObjectType { - my ($xref) = @_; - my $ns = $xref->getAttributeNode('namespace'); - $ns = $xref->getAttributeNode('moby:namespace') unless $ns; - return undef unless $ns; - my $id = $xref->getAttributeNode('id'); - $id = $xref->getAttributeNode('moby:id') unless $ns; - return undef unless $id; - my $XREF = MOBY::CrossReference->new( - type => "object", - namespace => $ns->getValue, - id => $id->getValue, - ); + my ( $xref ) = @_; + my $ns = $xref->getAttributeNode( 'namespace' ); + $ns = $xref->getAttributeNode( 'moby:namespace' ) unless $ns; + return undef unless $ns; + my $id = $xref->getAttributeNode( 'id' ); + $id = $xref->getAttributeNode( 'moby:id' ) unless $ns; + return undef unless $id; + my $XREF = MOBY::CrossReference->new( + type => "object", + namespace => $ns->getValue, + id => $id->getValue, + ); } - # _rearrange stolen from BioPerl's Bio::RootI.pm # because it is just so useful! @@ -1653,18 +1694,17 @@ =cut - sub _rearrange { -# my $dummy = shift; - my $order = shift; - return @_ unless (substr($_[0]||'',0,1) eq '-'); - push @_,undef unless $#_ %2; - my %param; - while( @_ ) { - (my $key = shift) =~ tr/a-z\055/A-Z/d; #deletes all dashes! - $param{$key} = shift; - } - map { $_ = uc($_) } @$order; # for bug #1343, but is there perf hit here? - return @param{@$order}; + # my $dummy = shift; + my $order = shift; + return @_ unless ( substr( $_[0] || '', 0, 1 ) eq '-' ); + push @_, undef unless $#_ % 2; + my %param; + while ( @_ ) { + ( my $key = shift ) =~ tr/a-z\055/A-Z/d; #deletes all dashes! + $param{$key} = shift; + } + map { $_ = uc( $_ ) } @$order; # for bug #1343, but is there perf hit here? + return @param{@$order}; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Config.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/Config.pm 2004/08/24 20:43:33 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/Config.pm 2004/11/18 17:41:14 1.6 @@ -2,168 +2,152 @@ BEGIN { } - - use strict; use Carp; use MOBY::dbConfig; use vars qw($AUTOLOAD); use Text::Shellwords; -use vars '$VERSION','@ISA','@EXPORT','$CONFIG'; - - at ISA = qw(Exporter); +use vars '$VERSION', '@ISA', '@EXPORT', '$CONFIG'; + at ISA = qw(Exporter); @EXPORT = ('$CONFIG'); - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - mobycentral => [undef, 'read/write'], - mobyobject => [undef, 'read/write'], - mobynamespace=> [undef, 'read/write'], - mobyservice => [undef, 'read/write'], - mobyrelationship => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + mobycentral => [ undef, 'read/write' ], + mobyobject => [ undef, 'read/write' ], + mobynamespace => [ undef, 'read/write' ], + mobyservice => [ undef, 'read/write' ], + mobyrelationship => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } # the expected sectionons (listed above) will have their dbCOnfig objects available # as methods. The unexpected sections will have their dbConfig objects available # by $dbConfig = $CONFIG->{section_title} - sub new { - my ($caller, %args) = @_; - -#print STDERR "creating MOBY::Config\n"; + my ( $caller, %args ) = @_; + + #print STDERR "creating MOBY::Config\n"; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $file = $ENV{MOBY_CENTRAL_CONFIG}; + ( -e $file ) || die "MOBY Configuration file $file doesn't exist $!\n"; + chomp $file; + if ( ( -e $file ) && ( !( -d $file ) ) ) { + open IN, + $file + || die + "can't open MOBY Configuration file $file for unknown reasons$!\n"; + } + my @sections = split /(\[\s*\S+\s*\][^\[]*)/s, join "", ; - my $self = bless {}, $class; + #print STDERR "split into @sections\n"; + foreach my $section (@sections) { - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - my $file = $ENV{MOBY_CENTRAL_CONFIG}; - (-e $file) || die "MOBY Configuration file $file doesn't exist $!\n"; - - chomp $file; - if ((-e $file) && (!(-d $file))){ - open IN, $file || die "can't open MOBY Configuration file $file for unknown reasons$!\n"; - } - my @sections = split /(\[\s*\S+\s*\][^\[]*)/s, join "", ; -#print STDERR "split into @sections\n"; - foreach my $section (@sections){ -#print STDERR "calling MOBY::dbConfig\n"; - my $dbConfig = MOBY::dbConfig->new(section => $section); # this is an object full of strings, no actual connections. It represents the information in the config file + #print STDERR "calling MOBY::dbConfig\n"; + my $dbConfig = + MOBY::dbConfig->new( section => $section ) + ; # this is an object full of strings, no actual connections. It represents the information in the config file next unless $dbConfig; my $dbname = $dbConfig->section_title; next unless $dbname; + #print STDERR "setting the COnfig dbConfig for the title $dbname with object $dbConfig\n\n"; $self->{$dbname} = $dbConfig; } - $CONFIG = $self; - return $self; - + return $self; } sub getDataAdaptor { - my ($self, %args) = @_; - + my ( $self, %args ) = @_; my $source = $args{datasource}; $source ||= $args{source}; - $source ||="mobycentral"; - - if ($self->{"${source}Adaptor"}){return $self->{"${source}Adaptor"}}; # read from cache - - my $username = $self->$source->{username}; # $self->$source returns a MOBY::dbConfig object - my $password = $self->$source->{password}; - my $port = $self->$source->{port}; - my $dbname = $self->$source->{dbname}; - my $url = $self->$source->{url}; - my $adaptor = $self->$source->{adaptor}; - + $source ||= "mobycentral"; + if ( $self->{"${source}Adaptor"} ) { return $self->{"${source}Adaptor"} } + ; # read from cache + my $username = + $self->$source + ->{username}; # $self->$source returns a MOBY::dbConfig object + my $password = $self->$source->{password}; + my $port = $self->$source->{port}; + my $dbname = $self->$source->{dbname}; + my $url = $self->$source->{url}; + my $adaptor = $self->$source->{adaptor}; eval "require $adaptor"; return undef if $@; - - my $ADAPTOR = $adaptor->new( # by default, this is queryapi::mysql - username => $username, - password => $password, - port => $port, - dbname => $dbname, - url => $url, - ); - if ($ADAPTOR){ - $self->{"${source}Adaptor"} = $ADAPTOR; # cache it + my $ADAPTOR = $adaptor->new( # by default, this is queryapi::mysql + username => $username, + password => $password, + port => $port, + dbname => $dbname, + url => $url, + ); + if ($ADAPTOR) { + $self->{"${source}Adaptor"} = $ADAPTOR; # cache it return $ADAPTOR; } else { - return undef + return undef; } - } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm 2003/10/25 22:21:29 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm 2004/11/18 17:41:14 1.3 @@ -1,13 +1,10 @@ package MOBY::CrossReference; #$Id$ - use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::CrossReference - a small object describing a MOBY Simple input/output article @@ -54,7 +51,6 @@ =cut - =head2 type Title : type @@ -86,8 +82,6 @@ =cut - - =head2 authURI Title : authURI @@ -98,7 +92,6 @@ =cut - =head2 serviceName Title : serviceName @@ -109,7 +102,6 @@ =cut - =head2 evidence_code Title : evidence_code @@ -120,7 +112,6 @@ =cut - =head2 xref_type Title : xref_type @@ -131,7 +122,6 @@ =cut - =head2 Object Title : Object @@ -141,107 +131,100 @@ =cut - { - sub type { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_type}; - $self->{_type} = $type; - return $old; - } - return $self->{_type}; - } - - sub namespace { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_namespace}; - $self->{_namespace} = $type; - return $old; - } - return $self->{_namespace}; - - } - - sub id { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_id}; - $self->{_id}=$type; - return $old; - } - return $self->{_id}; - - } - - sub authURI { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_authURI}; - $self->{_authURI}= $type; - return $old; - } - return $self->{_authURI}; - - } - - sub serviceName { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_serviceName}; - $self->{_serviceName}=$type; - return $old; - } - return $self->{_serviceName}; - - } - - sub evidence_code { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_evidenceCode}; - $self->{_evidenceCode}=$type; - return $old; - } - return $self->{_evidenceCode}; - } - - sub xref_type { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_xref_type}; - $self->{_xref_type}=$type; - return $old; - } - return $self->{_xref_type}; - } + + sub type { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_type}; + $self->{_type} = $type; + return $old; + } + return $self->{_type}; + } + + sub namespace { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_namespace}; + $self->{_namespace} = $type; + return $old; + } + return $self->{_namespace}; + } + + sub id { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_id}; + $self->{_id} = $type; + return $old; + } + return $self->{_id}; + } + + sub authURI { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_authURI}; + $self->{_authURI} = $type; + return $old; + } + return $self->{_authURI}; + } + + sub serviceName { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_serviceName}; + $self->{_serviceName} = $type; + return $old; + } + return $self->{_serviceName}; + } + + sub evidence_code { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_evidenceCode}; + $self->{_evidenceCode} = $type; + return $old; + } + return $self->{_evidenceCode}; + } + + sub xref_type { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_xref_type}; + $self->{_xref_type} = $type; + return $old; + } + return $self->{_xref_type}; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - while (my ($key, $value) = each %args){ - $self->$key($value); - } - return undef unless ($self->type && $self->namespace && $self->id); - return $self; - + my $self = bless {}, $class; + while ( my ( $key, $value ) = each %args ) { + $self->$key($value); + } + return undef unless ( $self->type && $self->namespace && $self->id ); + return $self; } sub Object { - my ($self) = @_; - return "" unless ($self->namespace && $self->id); - return ""; + my ($self) = @_; + return "" unless ( $self->namespace && $self->id ); + return ""; } - - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm 2004/06/24 22:32:38 1.45 +++ /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm 2004/11/18 17:41:14 1.46 @@ -1,10 +1,8 @@ #$Id$ - # this module needs to talk to the 'real' ontology # server as well as the MOBY Central database # in order to ensure that they are both in sync - =head1 NAME MOBY::OntologyServer - A way for MOBY Central to query the @@ -12,7 +10,6 @@ =cut - =head1 SYNOPSIS use MOBY::OntologyServer; @@ -65,112 +62,115 @@ =cut - - package MOBY::OntologyServer; - use strict; use Carp; use vars qw($AUTOLOAD); use DBI; use DBD::mysql; use MOBY::Config; - my $debug = 0; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - ontology => [undef, 'read/write'], - database => [undef, 'read/write'], - host => [undef, 'read/write'], - username=> [undef, 'read/write'], - password=> [undef, 'read/write'], - port => [undef, 'read/write'], - dbh => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + ontology => [ undef, 'read/write' ], + database => [ undef, 'read/write' ], + host => [ undef, 'read/write' ], + username => [ undef, 'read/write' ], + password => [ undef, 'read/write' ], + port => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + $self->ontology eq 'object' && $self->database('mobyobject'); + $self->ontology eq 'namespace' && $self->database('mobynamespace'); + $self->ontology eq 'service' && $self->database('mobyservice'); + $self->ontology eq 'relationship' && $self->database('mobyrelationship'); - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - $self->ontology eq 'object' && $self->database('mobyobject'); - $self->ontology eq 'namespace' && $self->database('mobynamespace'); - $self->ontology eq 'service' && $self->database('mobyservice'); - $self->ontology eq 'relationship' && $self->database('mobyrelationship'); + #print STDERR "\n\nCONFIG object is $CONFIG\n\n"; + $CONFIG ||= MOBY::Config->new; -#print STDERR "\n\nCONFIG object is $CONFIG\n\n"; - $CONFIG ||=MOBY::Config->new; #print STDERR "got username ",($CONFIG->{mobycentral}->{username})," for mobycentral\n"; - $self->username($CONFIG->{$self->database}->{username}) unless $self->username; - $self->password($CONFIG->{$self->database}->{password}) unless $self->password; - $self->port($CONFIG->{$self->database}->{port}) unless $self->port; - $self->host($CONFIG->{$self->database}->{url}) unless $self->host; - - my $host = $self->host?$self->host:$ENV{MOBY_CENTRAL_URL}; chomp $host; - my $username = $self->username?$self->username:$ENV{MOBY_CENTRAL_DBUSER}; chomp $username; - my $password = $self->password?$self->password:$ENV{MOBY_CENTRAL_DBPASS}; chomp $password if $password; $password =~ s/\s//g if $password; - my $port = $self->port?$self->port:$ENV{MOBY_CENTRAL_DBPORT}; chomp $port; - - my ($dsn) = "DBI:mysql:".($CONFIG->{$self->database}->{dbname}).":".($host).":".($port); - -#print STDERR "\n\nDSN was $dsn\n\n"; - - my $dbh; + $self->username( $CONFIG->{ $self->database }->{username} ) + unless $self->username; + $self->password( $CONFIG->{ $self->database }->{password} ) + unless $self->password; + $self->port( $CONFIG->{ $self->database }->{port} ) unless $self->port; + $self->host( $CONFIG->{ $self->database }->{url} ) unless $self->host; + my $host = $self->host ? $self->host : $ENV{MOBY_CENTRAL_URL}; + chomp $host; + my $username = + $self->username ? $self->username : $ENV{MOBY_CENTRAL_DBUSER}; + chomp $username; + my $password = + $self->password ? $self->password : $ENV{MOBY_CENTRAL_DBPASS}; + chomp $password if $password; + $password =~ s/\s//g if $password; + my $port = $self->port ? $self->port : $ENV{MOBY_CENTRAL_DBPORT}; + chomp $port; + my ($dsn) = + "DBI:mysql:" + . ( $CONFIG->{ $self->database }->{dbname} ) . ":" + . ($host) . ":" + . ($port); + + #print STDERR "\n\nDSN was $dsn\n\n"; + my $dbh; + # $debug && &_LOG("connecting to db with params ",$self->database, $self->username, $self->password,"\n"); - if (defined $password){ - $dbh = DBI->connect($dsn, $username, $password, {RaiseError => 1}) or die "can't connect to database"; - } else { - $dbh = DBI->connect($dsn, $username, undef, {RaiseError => 1}) or die "can't connect to database"; - } -# $debug && &_LOG("CONNECTED!\n"); - if ($dbh){ - $self->dbh($dbh); - return $self; - } else { - return undef - } + if ( defined $password ) { + $dbh = DBI->connect( $dsn, $username, $password, { RaiseError => 1 } ) + or die "can't connect to database"; + } else { + $dbh = DBI->connect( $dsn, $username, undef, { RaiseError => 1 } ) + or die "can't connect to database"; + } + + # $debug && &_LOG("CONNECTED!\n"); + if ($dbh) { + $self->dbh($dbh); + return $self; + } else { + return undef; + } } =head2 objectExists @@ -181,133 +181,164 @@ newLSID will return (0, $desc, $lsid) =cut +sub objectExists { + my ( $self, %args ) = @_; + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $sth; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); -sub objectExists{ - my ($self, %args) = @_; - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $sth; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objecttype/)){ # return (1, "external ontology", $term); # } - - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_type = ?"); - } - $sth->execute($term); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ # if it is in there, then it has been discovered regardless of being foreign or not - return (1,$desc,$lsid); - } elsif (_isForeignLSID($term)){ # if not in our ontology, but is a foreign LSID, then pass it back verbatim - return (0, "LSID $term does not exist in the biomoby.org Object Class system\n", $term); + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_type = ?" + ); + } + $sth->execute($term); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) + { # if it is in there, then it has been discovered regardless of being foreign or not + return ( 1, $desc, $lsid ); + } elsif ( _isForeignLSID($term) ) + { # if not in our ontology, but is a foreign LSID, then pass it back verbatim + return ( + 0, +"LSID $term does not exist in the biomoby.org Object Class system\n", + $term + ); } else { # under all other circumstances (i.e. not a term, or a non-existent biomoby LSID) then fail - return (0, "Object type $term does not exist in the biomoby.org Object Class system\n", ''); + return ( + 0, +"Object type $term does not exist in the biomoby.org Object Class system\n", + '' + ); } } - sub _isMOBYLSID { my ($lsid) = @_; return 1 if $lsid =~ /^urn\:lsid\:biomoby.org/; - return 0 + return 0; } - sub _isForeignLSID { my ($lsid) = @_; return 0 if $lsid =~ /^urn\:lsid\:biomoby.org/; - return 1 + return 1; } - =head2 createObject =cut - sub createObject { - my ($self, %args) = @_; - #node => $term, - #desc => $desc, - #authURI => $auth, - #contact => $email - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - return (0, "requires a object type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; + my ( $self, %args ) = @_; + + #node => $term, + #desc => $desc, + #authURI => $auth, + #contact => $email + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + return ( 0, "requires a object type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objectclass/)){ # if it is an LSID, but not a MOBY LSID, than barf # return (0, "can't create a term in a non-MOBY ontology!", $term); # } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } my $sth; - if ($args{'node'} =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_type = ?"); - } - $sth->execute($term); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ # if it is in there, then the object exists - return (0,"This term already exists: $lsid",$lsid); + if ( $args{'node'} =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_type = ?" + ); } - - - $args{description} =~ s/^\s+(.*?)\s+$/$1/s; - $args{node} =~ s/^\s+(.*?)\s+$/$1/s; - $args{contact_email} =~ s/^\s+(.*?)\s+$/$1/s; - $args{authority} =~ s/^\s+(.*?)\s+$/$1/s; - $self->dbh->do(q{insert into object (object_type, object_lsid, description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Object creation failed for unknown reasons",''); - } - return (1, "Object creation succeeded",$LSID); - + $sth->execute($term); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) { # if it is in there, then the object exists + return ( 0, "This term already exists: $lsid", $lsid ); + } + $args{description} =~ s/^\s+(.*?)\s+$/$1/s; + $args{node} =~ s/^\s+(.*?)\s+$/$1/s; + $args{contact_email} =~ s/^\s+(.*?)\s+$/$1/s; + $args{authority} =~ s/^\s+(.*?)\s+$/$1/s; + $self->dbh->do( +q{insert into object (object_type, object_lsid, description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Object creation failed for unknown reasons", '' ); + } + return ( 1, "Object creation succeeded", $LSID ); } - =head2 retrieveObject =cut - sub retrieveObject { - my ($self, %args) = @_; + my ( $self, %args ) = @_; my $term = $args{'node'}; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - return (0, "requires a object type node as an argument",'') unless ($args{'node'}); - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->getObjectURI($term); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - my ($id, $type, $lsid, $desc, $auth, $contact)= $self->dbh->selectrow_array(q{select object_id, object_type, object_lsid, description, authority,contact_email from object where object_lsid = ?}, undef, $LSID); - unless ($id){return (0, "Object doesn't exist in ontology", "")} - # my $OS = MOBY::OntologyServer->new(ontology => "relationship"); - my $sth = $self->dbh->prepare(q{select relationship_type, object_lsid, object2_articlename from object_term2term, object where object1_id = ? and object2_id = object_id}); - $sth->execute($id); - my %rel; - while (my ($relationship_type, $objectlsid, $article) = $sth->fetchrow_array){ - push @{$rel{$relationship_type}}, [$objectlsid, $article]; - } - return {objectType => $lsid, - description => $desc, - contactEmail => $contact, - authURI => $auth, - Relationships => \%rel}; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + return ( 0, "requires a object type node as an argument", '' ) + unless ( $args{'node'} ); + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->getObjectURI($term); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + my ( $id, $type, $lsid, $desc, $auth, $contact ) = + $self->dbh->selectrow_array( +q{select object_id, object_type, object_lsid, description, authority,contact_email from object where object_lsid = ?}, + undef, $LSID + ); + unless ($id) { return ( 0, "Object doesn't exist in ontology", "" ) } + + # my $OS = MOBY::OntologyServer->new(ontology => "relationship"); + my $sth = + $self->dbh->prepare( +q{select relationship_type, object_lsid, object2_articlename from object_term2term, object where object1_id = ? and object2_id = object_id} + ); + $sth->execute($id); + my %rel; + while ( my ( $relationship_type, $objectlsid, $article ) = + $sth->fetchrow_array ) + { + push @{ $rel{$relationship_type} }, [ $objectlsid, $article ]; + } + return { + objectType => $lsid, + description => $desc, + contactEmail => $contact, + authURI => $auth, + Relationships => \%rel + }; } =head2 deprecateObject @@ -315,35 +346,45 @@ =cut sub deprecateObject { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY",'') unless ($self->ontology eq 'object'); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY", '' ) unless ( $self->ontology eq 'object' ); + my $term = $args{term}; - my $term = $args{term}; # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objectclass/)){ # return (0, "can't delete from external ontology", $term); # } - - my $LSID; - unless ($term =~ /urn\:lsid/){$LSID = $self->getObjectURI($term)} else {$LSID=$term} - return (0, q{Object type $term cannot be resolved to an LSID},"") unless $LSID; - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$LSID); - # object1_id ISA object2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from object_term2term where object2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Object type $term has object dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from object where object_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Object Class table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from object_term2term where object1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Object term2term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Object $term Deleted",$lsid); + my $LSID; + unless ( $term =~ /urn\:lsid/ ) { $LSID = $self->getObjectURI($term) } else { $LSID = $term } + return ( 0, q{Object type $term cannot be resolved to an LSID}, "" ) + unless $LSID; + my ( $id, $lsid ) = + $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $LSID ); + + # object1_id ISA object2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from object_term2term where object2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, + qq{Object type $term has object dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from object where object_id = ?}, undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from Object Class table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from object_term2term where object1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( 0, + "Delete from Object term2term table failed: $self->dbh->errstr", + $lsid ); + } + return ( 1, "Object $term Deleted", $lsid ); } =head2 deleteObject @@ -351,129 +392,193 @@ =cut sub deleteObject { - my $self = shift; - $self->deprecateObject(@_); + my $self = shift; + $self->deprecateObject(@_); } =head2 relationshipExists =cut -sub relationshipExists{ - # term => $term - # ontology => $ontology - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'relationship'); - - my $term = lc($args{term}); - $term =~ s/^moby://; # if the term is namespaced, then remove that - - my $ont = $args{ontology}; - return (0, "requires both term and ontology arguments\n",'') unless (defined($term) && defined($ont)); - my $sth; - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_lsid = ? and ontology=?"); - } else { - $sth = $self->dbh->prepare("select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_type = ? and ontology=?"); - } - $sth->execute($term, $ont); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ - return (1,$desc,$lsid); - } else { - return (0, "Relationship Type $term does not exist in the biomoby.org Relationship Type system\n",''); - } +sub relationshipExists { + + # term => $term + # ontology => $ontology + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'relationship' ); + my $term = lc( $args{term} ); + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ont = $args{ontology}; + return ( 0, "requires both term and ontology arguments\n", '' ) + unless ( defined($term) && defined($ont) ); + my $sth; + + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_lsid = ? and ontology=?" + ); + } else { + $sth = + $self->dbh->prepare( +"select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_type = ? and ontology=?" + ); + } + $sth->execute( $term, $ont ); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Relationship Type $term does not exist in the biomoby.org Relationship Type system\n", + '' + ); + } } =head2 addObjectRelationship =cut -sub addObjectRelationship{ -# adds a relationship -#subject_node => $term, -#relationship => $reltype, -#object_node => $objectType, -#articleName => $articleName, -#authority => $auth, -#contact_email => $email - my ($self, %args) = @_; - - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - - my ($subj_id, $subj_lsid, $obj_id, $obj_lsid); - if ($args{subject_node} =~ /^urn:lsid/){ - ($subj_id, $subj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$args{subject_node}); +sub addObjectRelationship { + + # adds a relationship + #subject_node => $term, + #relationship => $reltype, + #object_node => $objectType, + #articleName => $articleName, + #authority => $auth, + #contact_email => $email + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + my ( $subj_id, $subj_lsid, $obj_id, $obj_lsid ); + if ( $args{subject_node} =~ /^urn:lsid/ ) { + ( $subj_id, $subj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $args{subject_node} + ); } else { - ($subj_id, $subj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_type = ?},undef,$args{subject_node}); + ( $subj_id, $subj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_type = ?}, + undef, $args{subject_node} + ); } - return (0, qq{Object type $args{subject_node} does not exist in the ontology},'') unless defined $subj_id; - - if ($args{object_node} =~ /^urn:lsid/){ - ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$args{object_node}); + return ( 0, + qq{Object type $args{subject_node} does not exist in the ontology}, + '' ) + unless defined $subj_id; + if ( $args{object_node} =~ /^urn:lsid/ ) { + ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $args{object_node} + ); } else { - ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_type = ?},undef,$args{object_node}); + ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_type = ?}, + undef, $args{object_node} + ); + } + return ( 0, + qq{Object type $args{object_node} does not exist in the ontology}, + '' ) + unless defined $obj_id; + my (@isa) = + $self->dbh->selectrow_array( + q{select * from object_term2term where object2_id = ?}, + undef, $subj_id ); + if ( scalar @isa ) { + return ( + 0, +qq{Object type $args{subject_node} has existing object dependencies in the ontology. It cannot be changed.}, + $subj_lsid + ); + } + my $OE = MOBY::OntologyServer->new( ontology => 'relationship' ); + my ( $success, $desc, $rel_lsid ) = $OE->relationshipExists( + term => $args{relationship}, + ontology => 'object' ); + ($success) + || return ( 0, + qq{Relationship $args{relationship} does not exist in the ontology}, + '' ); + $self->dbh->do( +q{insert into object_term2term (relationship_type, object1_id, object2_id, object2_articlename) values (?,?,?,?)}, + undef, + ( $rel_lsid, $subj_id, $obj_id, $args{articleName} ) + ); + if ( $self->dbh->{mysql_insertid} ) { + return ( 1, "Object relationsihp created successfully", '' ); + } else { + return ( 0, "Object relationship creation failed for unknown reasons", + '' ); } - return (0, qq{Object type $args{object_node} does not exist in the ontology},'') unless defined $obj_id; - - - my (@isa) = $self->dbh->selectrow_array(q{select * from object_term2term where object2_id = ?},undef, $subj_id); - if (scalar @isa){return (0, qq{Object type $args{subject_node} has existing object dependencies in the ontology. It cannot be changed.},$subj_lsid);} - - - my $OE = MOBY::OntologyServer->new(ontology => 'relationship'); - my ($success, $desc, $rel_lsid) = $OE->relationshipExists(term => $args{relationship}, ontology => 'object'); - ($success) || return (0, qq{Relationship $args{relationship} does not exist in the ontology},''); - - $self->dbh->do( - q{insert into object_term2term (relationship_type, object1_id, object2_id, object2_articlename) values (?,?,?,?)}, - undef, - ($rel_lsid,$subj_id,$obj_id,$args{articleName})); - if ($self->dbh->{mysql_insertid}){ - return (1,"Object relationsihp created successfully",''); - } else { - return (0, "Object relationship creation failed for unknown reasons",''); - } } =head2 addServiceRelationship =cut +sub addServiceRelationship { -sub addServiceRelationship{ -# adds an ISA relationship -# fail if another object is in relation to this objevt - #subject_node => $term, - #relationship => $relationship, - #predicate_node => $pred - #authority => $auth, - #contact_email => $email); - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my ($sbj_id, $sbj_lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_type = ?},undef,$args{subject_node}); - return (0, qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed},$sbj_lsid) unless defined $sbj_id; - - my (@isa) = $self->dbh->selectrow_array(q{select * from service_term2term where service2_id = ?},undef, $sbj_id); - if (scalar @isa){ - return (0, qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed},$sbj_lsid); - } - - my ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_type = ?},undef,$args{object_node}); # get ID of the related service - defined $obj_id || return (0, qq{Service $args{object_node} does not exist in the service ontology},''); - - my $OE = MOBY::OntologyServer->new(ontology => 'relationship'); - my ($success, $desc, $rel_lsid) = $OE->relationshipExists(term => $args{relationship}, ontology => 'service'); - ($success) || return (0, qq{Relationship $args{relationship} does not exist in the ontology},''); - - $self->dbh->do(q{insert into service_term2term (relationship_type, service1_id, service2_id) values (?,?,?)}, - undef, - ($rel_lsid,$sbj_id,$obj_id)); - if ($self->dbh->{mysql_insertid}){ - return (1,"Service relationship created successfully",''); - } else { - return (0, "Service relationship creation failed for unknown reasons",''); - } + # adds an ISA relationship + # fail if another object is in relation to this objevt + #subject_node => $term, + #relationship => $relationship, + #predicate_node => $pred + #authority => $auth, + #contact_email => $email); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my ( $sbj_id, $sbj_lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_type = ?}, + undef, $args{subject_node} + ); + return ( + 0, +qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed}, + $sbj_lsid + ) + unless defined $sbj_id; + my (@isa) = + $self->dbh->selectrow_array( + q{select * from service_term2term where service2_id = ?}, + undef, $sbj_id ); + if ( scalar @isa ) { + return ( + 0, +qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed}, + $sbj_lsid + ); + } + my ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_type = ?}, + undef, $args{object_node} + ); # get ID of the related service + defined $obj_id + || return ( 0, + qq{Service $args{object_node} does not exist in the service ontology}, + '' ); + my $OE = MOBY::OntologyServer->new( ontology => 'relationship' ); + my ( $success, $desc, $rel_lsid ) = $OE->relationshipExists( + term => $args{relationship}, + ontology => 'service' ); + ($success) + || return ( 0, + qq{Relationship $args{relationship} does not exist in the ontology}, + '' ); + $self->dbh->do( +q{insert into service_term2term (relationship_type, service1_id, service2_id) values (?,?,?)}, + undef, + ( $rel_lsid, $sbj_id, $obj_id ) + ); + if ( $self->dbh->{mysql_insertid} ) { + return ( 1, "Service relationship created successfully", '' ); + } else { + return ( 0, "Service relationship creation failed for unknown reasons", + '' ); + } } =head2 serviceExists @@ -481,29 +586,38 @@ =cut sub serviceExists { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ - return (1, "external ontology", $term); - } - - my $sth; - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select service_id, service_type, service_lsid, description, authority, contact_email from service where service_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select service_id, service_type, service_lsid, description, authority, contact_email from service where service_type = ?"); - } - - $sth->execute($term); - my ($id, $type, $lsid, $desc, $auth, $email) = $sth->fetchrow_array; - if ($id){ - return (1,$desc,$lsid); - } else { - return (0, "Service Type $term does not exist in the biomoby.org Service Type ontology\n",''); - } + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { + return ( 1, "external ontology", $term ); + } + my $sth; + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select service_id, service_type, service_lsid, description, authority, contact_email from service where service_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select service_id, service_type, service_lsid, description, authority, contact_email from service where service_type = ?" + ); + } + $sth->execute($term); + my ( $id, $type, $lsid, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($id) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Service Type $term does not exist in the biomoby.org Service Type ontology\n", + '' + ); + } } =head2 createServiceType @@ -511,203 +625,257 @@ =cut sub createServiceType { - my ($self, %args) = @_; - #node => $term, - #descrioption => $desc, - #authority => $auth, - #contact_email => $email); - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - return (0, "requires a object type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ # if it is an LSID, but not a MOBY LSID, than barf - return (0, "can't create a term in a non-MOBY ontology!", $term); - } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - - $self->dbh->do(q{insert into service (service_type, service_lsid, description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Service creation failed for unknown reasons",''); - } - return (1, "Service creation succeeded",$LSID); + my ( $self, %args ) = @_; + #node => $term, + #descrioption => $desc, + #authority => $auth, + #contact_email => $email); + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + return ( 0, "requires a object type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { # if it is an LSID, but not a MOBY LSID, than barf + return ( 0, "can't create a term in a non-MOBY ontology!", $term ); + } + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + $self->dbh->do( +q{insert into service (service_type, service_lsid, description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Service creation failed for unknown reasons", '' ); + } + return ( 1, "Service creation succeeded", $LSID ); } =head2 deleteServiceType =cut - sub deleteServiceType { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my $term = $args{term}; - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ - return (0, "can't delete from external ontology", $term); - } - - my $LSID; - unless ($term =~ /^urn:lsid:biomoby.org:servicetype/){$LSID = $self->getServiceURI($term)} else {$LSID=$term} - return (0, q{Service type $term cannot be resolved to an LSID in the MOBY ontologies},"") unless $LSID; - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_lsid = ?}, undef, $LSID); - - if (!defined $id){ - return (0, q{Service type $term does not exist in the ontology},$lsid); - } - # service1_id ISA service2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from service_term2term where service2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Service type $term has dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from service where service_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Service Type table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from service_term2term where service1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Service Type Term2Term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Service Type $term Deleted",$lsid); -} + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my $term = $args{term}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { + return ( 0, "can't delete from external ontology", $term ); + } + my $LSID; + unless ( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) { + $LSID = $self->getServiceURI($term); + } else { + $LSID = $term; + } + return ( + 0, +q{Service type $term cannot be resolved to an LSID in the MOBY ontologies}, + "" + ) + unless $LSID; + my ( $id, $lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_lsid = ?}, + undef, $LSID + ); + if ( !defined $id ) { + return ( 0, q{Service type $term does not exist in the ontology}, + $lsid ); + } + # service1_id ISA service2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from service_term2term where service2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, qq{Service type $term has dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from service where service_id = ?}, undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from Service Type table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from service_term2term where service1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( + 0, +"Delete from Service Type Term2Term table failed: $self->dbh->errstr", + $lsid + ); + } + return ( 1, "Service Type $term Deleted", $lsid ); +} =head2 namespaceExists =cut - sub namespaceExists { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - - my $sth; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ - return (1, "external ontology", $term); - } - - if ($term =~ /^urn:lsid:biomoby.org:namespacetype/){ - $sth = $self->dbh->prepare("select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_type = ?"); - } - $sth->execute($term); - my ($id, $type, $lsid,$desc, $auth, $email) = $sth->fetchrow_array; - if ($id){ - return (1,$desc,$lsid); - } else { - return (0, "Namespace Type $term does not exist in the biomoby.org Namespace Type ontology\n",''); - } + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $sth; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { + return ( 1, "external ontology", $term ); + } + if ( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) { + $sth = + $self->dbh->prepare( +"select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_type = ?" + ); + } + $sth->execute($term); + my ( $id, $type, $lsid, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($id) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Namespace Type $term does not exist in the biomoby.org Namespace Type ontology\n", + '' + ); + } } =head2 createNamespace =cut - sub createNamespace { - my ($self, %args) = @_; - #node => $term, - #descrioption => $desc, - #authority => $auth, - #contact_email => $email); - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - return (0, "requires a namespace type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ # if it is an LSID, but not a MOBY LSID, than barf - return (0, "can't create a term in a non-MOBY ontology!", $term); - } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - - $self->dbh->do(q{insert into namespace (namespace_type, namespace_lsid,description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Namespace creation failed for unknown reasons",''); - } - return (1, "Namespace creation succeeded",$LSID); + my ( $self, %args ) = @_; + + #node => $term, + #descrioption => $desc, + #authority => $auth, + #contact_email => $email); + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + return ( 0, "requires a namespace type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { # if it is an LSID, but not a MOBY LSID, than barf + return ( 0, "can't create a term in a non-MOBY ontology!", $term ); + } + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + $self->dbh->do( +q{insert into namespace (namespace_type, namespace_lsid,description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Namespace creation failed for unknown reasons", '' ); + } + return ( 1, "Namespace creation succeeded", $LSID ); } =head2 deleteNamespace =cut - sub deleteNamespace { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - my $term = $args{term}; - my $LSID; - unless ($term =~ /urn\:lsid/){$LSID = $self->getNamespaceURI($term)} else {$LSID=$term} - return (0, q{Namespace type $term cannot be resolved to an LSID},"") unless $LSID; - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ - return (0, "cannot delete a term from an external ontology", $term); - } - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select namespace_id, namespace_lsid from namespace where namespace_lsid = ?},undef,$LSID); - unless ($id){return (0, q{Namespace type $term does not exist in the ontology},$lsid)} - - # service1_id ISA service2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from namespace_term2term where namespace2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Namespace type $term has dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from namespace where namespace_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from namespace table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from namespace_term2term where namespace1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from namespace term2term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Namespace Type $term Deleted",$lsid); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + my $term = $args{term}; + my $LSID; + unless ( $term =~ /urn\:lsid/ ) { $LSID = $self->getNamespaceURI($term) } else { $LSID = $term } + return ( 0, q{Namespace type $term cannot be resolved to an LSID}, "" ) + unless $LSID; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { + return ( 0, "cannot delete a term from an external ontology", $term ); + } + my ( $id, $lsid ) = $self->dbh->selectrow_array( +q{select namespace_id, namespace_lsid from namespace where namespace_lsid = ?}, + undef, $LSID + ); + unless ($id) { + return ( 0, q{Namespace type $term does not exist in the ontology}, + $lsid ); + } + + # service1_id ISA service2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from namespace_term2term where namespace2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, qq{Namespace type $term has dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from namespace where namespace_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from namespace table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from namespace_term2term where namespace1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( + 0, + "Delete from namespace term2term table failed: $self->dbh->errstr", + $lsid + ); + } + return ( 1, "Namespace Type $term Deleted", $lsid ); } =head2 retrieveAllServiceTypes =cut - sub retrieveAllServiceTypes { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select service_type, description from service}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select service_type, description from service}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } =head2 retrieveAllNamespaceTypes @@ -715,14 +883,16 @@ =cut sub retrieveAllNamespaceTypes { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select namespace_type, description from namespace}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select namespace_type, description from namespace}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } =head2 retrieveAllObjectClasses @@ -730,16 +900,17 @@ =cut sub retrieveAllObjectClasses { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select object_type, description from object}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select object_type, description from object}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } - *retrieveAllObjectTypes = \&retrieveAllObjectClasses; *retrieveAllObjectTypes = \&retrieveAllObjectClasses; @@ -748,10 +919,13 @@ =cut sub getObjectCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select object_type from object where object_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select object_type from object where object_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getNamespaceCommonName @@ -759,22 +933,27 @@ =cut sub getNamespaceCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select namespace_type from namespace where namespace_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select namespace_type from namespace where namespace_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getServiceCommonName =cut - sub getServiceCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select service_type from service where service_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select service_type from service where service_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getServiceURI @@ -782,10 +961,13 @@ =cut sub getServiceURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select service_lsid from service where service_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select service_lsid from service where service_type = ?}, + undef, $term ); + return $id; } =head2 getObjectURI @@ -793,10 +975,13 @@ =cut sub getObjectURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select object_lsid from object where object_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select object_lsid from object where object_type = ?}, + undef, $term ); + return $id; } =head2 getNamespaceURI @@ -804,22 +989,27 @@ =cut sub getNamespaceURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select namespace_lsid from namespace where namespace_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select namespace_lsid from namespace where namespace_type = ?}, + undef, $term ); + return $id; } - =head2 getNamespaceURI =cut sub getRelationshipURI { - my ($self, $ontology, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select relationship_lsid from relationship where relationship_type = ? and ontology = ?},undef,$term, $ontology); - return $id; + my ( $self, $ontology, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = $self->dbh->selectrow_array( +q{select relationship_lsid from relationship where relationship_type = ? and ontology = ?}, + undef, $term, $ontology + ); + return $id; } =head2 getRelationshipTypes @@ -827,16 +1017,18 @@ =cut sub getRelationshipTypes { - my ($self, %args) = @_; - my $ontology = $args{'ontology'}; - my $OS = MOBY::OntologyServer->new(ontology => "relationship"); - - my $defs = $OS->dbh->selectall_arrayref(q{select relationship_lsid, relationship_type, authority, description from relationship where ontology = ?}, undef, $ontology); - my %result; - foreach (@{$defs}){ - $result{$_->[0]} = [$_->[1], $_->[2], $_->[3]]; - } - return \%result; + my ( $self, %args ) = @_; + my $ontology = $args{'ontology'}; + my $OS = MOBY::OntologyServer->new( ontology => "relationship" ); + my $defs = $OS->dbh->selectall_arrayref( +q{select relationship_lsid, relationship_type, authority, description from relationship where ontology = ?}, + undef, $ontology + ); + my %result; + foreach ( @{$defs} ) { + $result{ $_->[0] } = [ $_->[1], $_->[2], $_->[3] ]; + } + return \%result; } =head2 Relationships @@ -844,44 +1036,56 @@ =cut sub Relationships { - # this entire subroutine assumes that there is NOT multiple parenting!! - my ($self, %args) = @_; - my $ontology = $args{ontology}?$args{ontology}:$self->ontology; - my $term = $args{term}; - my $relationship = $args{relationship}; - my $direction = $args{direction}?$args{direction}:'root'; - my $expand = $args{expand}?1:0; - - return unless ($ontology && $term && (($ontology eq 'service') || ($ontology eq 'object'))); - # convert $term into an LSID if it isn't already - if ($ontology eq 'service'){ - $term = $self->getServiceURI($term); - } elsif ($ontology eq 'object'){ - $term = $self->getObjectURI($term); - } - my %results; - while (($term ne 'urn:lsid:biomoby.org:objectclass:Object') && ($term ne 'urn:lsid:biomoby.org:servicetype:Service')){ - my $defs = $self->_doRelationshipsQuery($ontology, $term, $relationship, $direction); - my $lsid; my $rel; - foreach (@{$defs}){ - $lsid = $_->[0]; - $rel = $_->[1]; - $debug && _LOG("\t\tADDING RELATIONSHIP $_ : $lsid to $rel\n"); - push @{$results{$rel}}, $lsid; - } - last unless ($expand); - last unless ($direction eq "root"); # if we aren't going to root, then be careful or we'll loop infnitely - $term = $lsid; # this entire subroutine assumes that there is NOT multiple parenting... - } - return \%results; #results(relationship} = [lsid1, lsid2, lsid3] + + # this entire subroutine assumes that there is NOT multiple parenting!! + my ( $self, %args ) = @_; + my $ontology = $args{ontology} ? $args{ontology} : $self->ontology; + my $term = $args{term}; + my $relationship = $args{relationship}; + my $direction = $args{direction} ? $args{direction} : 'root'; + my $expand = $args{expand} ? 1 : 0; + return + unless ( $ontology + && $term + && ( ( $ontology eq 'service' ) || ( $ontology eq 'object' ) ) ); + + # convert $term into an LSID if it isn't already + if ( $ontology eq 'service' ) { + $term = $self->getServiceURI($term); + } elsif ( $ontology eq 'object' ) { + $term = $self->getObjectURI($term); + } + my %results; + while ( ( $term ne 'urn:lsid:biomoby.org:objectclass:Object' ) + && ( $term ne 'urn:lsid:biomoby.org:servicetype:Service' ) ) + { + my $defs = $self->_doRelationshipsQuery( $ontology, $term, + $relationship, $direction ); + my $lsid; + my $rel; + foreach ( @{$defs} ) { + $lsid = $_->[0]; + $rel = $_->[1]; + $debug + && _LOG("\t\tADDING RELATIONSHIP $_ : $lsid to $rel\n"); + push @{ $results{$rel} }, $lsid; + } + last unless ($expand); + last + unless ( $direction eq "root" ) + ; # if we aren't going to root, then be careful or we'll loop infnitely + $term = $lsid + ; # this entire subroutine assumes that there is NOT multiple parenting... + } + return \%results; #results(relationship} = [lsid1, lsid2, lsid3] } sub _doRelationshipsQuery { - my ($self, $ontology, $term, $relationship, $direction) = @_; - my $defs; - if ($direction eq 'root'){ - unless (defined $relationship){ - $defs = $self->dbh->selectall_arrayref(" + my ( $self, $ontology, $term, $relationship, $direction ) = @_; + my $defs; + if ( $direction eq 'root' ) { + unless ( defined $relationship ) { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -889,9 +1093,9 @@ where s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s1.${ontology}_lsid = ?", undef, $term); # ") - } else { - $defs = $self->dbh->selectall_arrayref(" + s1.${ontology}_lsid = ?", undef, $term ); # ") + } else { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -900,11 +1104,11 @@ relationship_type = ? and s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s1.${ontology}_lsid = ?", undef, $relationship, $term); # ") - } - } else { - unless (defined $relationship){ - $defs = $self->dbh->selectall_arrayref(" + s1.${ontology}_lsid = ?", undef, $relationship, $term ); # ") + } + } else { + unless ( defined $relationship ) { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -912,9 +1116,9 @@ where s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s2.${ontology}_lsid = ?", undef, $term); # ") - } else { - $defs = $self->dbh->selectall_arrayref(" + s2.${ontology}_lsid = ?", undef, $term ); # ") + } else { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -923,10 +1127,10 @@ relationship_type = ? and s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s2.${ontology}_lsid = ?", undef, $relationship, $term); # ") - } - } - return $defs; + s2.${ontology}_lsid = ?", undef, $relationship, $term ); # ") + } + } + return $defs; } =head2 setURI @@ -934,82 +1138,102 @@ =cut sub setURI { - my ($self, $id) = @_; - my $URI; - # $id = lc($id); - if ($self->ontology eq 'object'){ - $URI = "urn:lsid:biomoby.org:objectclass:$id" - } elsif ($self->ontology eq 'namespace'){ - $URI = "urn:lsid:biomoby.org:namespacetype:$id" - } elsif ($self->ontology eq 'service'){ - $URI = "urn:lsid:biomoby.org:servicetype:$id" - } elsif ($self->ontology eq 'relationship'){ - $URI = "urn:lsid:biomoby.org:relationshiptype:$id" - } else { - $URI = 0 - } - return $URI; -} + my ( $self, $id ) = @_; + my $URI; + # $id = lc($id); + if ( $self->ontology eq 'object' ) { + $URI = "urn:lsid:biomoby.org:objectclass:$id"; + } elsif ( $self->ontology eq 'namespace' ) { + $URI = "urn:lsid:biomoby.org:namespacetype:$id"; + } elsif ( $self->ontology eq 'service' ) { + $URI = "urn:lsid:biomoby.org:servicetype:$id"; + } elsif ( $self->ontology eq 'relationship' ) { + $URI = "urn:lsid:biomoby.org:relationshiptype:$id"; + } else { + $URI = 0; + } + return $URI; +} =head2 traverseDAG =cut sub traverseDAG { - my ($self, $term, $direction) = @_; - my $ontology = $self->ontology; - return {} unless $ontology; - return {} unless $term; - $direction="root" unless ($direction); - return {} unless (($direction eq 'root') || ($direction eq 'leaves')); - if ($ontology eq 'service'){ - $term = $self->getServiceURI($term); - } elsif ($ontology eq 'object'){ - $term = $self->getObjectURI($term); - } - return {} unless $term =~ /^urn\:lsid/; # now its a URI - - my $relhash = $self->getRelationshipTypes(ontology => $ontology); # get teh types of relationships for the object/service ontology - return {} unless $relhash; - my @rels = keys %{$relhash}; #@rels is the list of relationship types for that ontology - my %relationships; - foreach my $relationship (@rels){ - my %IDS; - my $OS = MOBY::OntologyServer->new(ontology => 'relationship'); - my $reluri = $OS->getRelationshipURI($ontology, $relationship); # get the URI for that relationship type if it ins't already a URI - $IDS{$term} = "untestedroot"; # mark the one in-hand as being untested - while (grep /untested/, (values %IDS)){ # now, while there are untested services in our list... - foreach my $termthingy(keys %IDS){ # start parsing through the current list (hash keys) - $debug && _LOG("testing $relationship of $termthingy\n"); - next if ($IDS{$termthingy} eq "tested"); # if it has been tested already then move on - my $lsids = $self->Relationships(term => $termthingy, relationship => $relationship, direction => $direction); # get the related terms for this type; this should return a single hash value - if ($IDS{$termthingy} =~ /root/){ # here is where we remove self - delete $IDS{$termthingy}; - $debug && _LOG("deleting $termthingy\n"); - } else { - $debug && _LOG("marking $termthingy as TESTED\n"); - $IDS{$termthingy} = "tested"; # mark the current one as now being "done" - } - #${$lsids}{relationshiptype}=[lsid, lsid, lsid]; - foreach my $lsid(@{$lsids->{$relationship}}){ # go through the related terms - $debug && _LOG("found $lsid as relationship"); - next if (defined $IDS{$lsid}); # if we have already seen that term, skip it - $debug && _LOG("setting $lsid as untested\n"); - $IDS{$lsid} = "untested" # otherwise add it to the list and loop again. - } - } - } - my @IDS = keys %IDS; - $relationships{$relationship} = \@IDS; # and associate them all with the current relationship type - } - return \%relationships; + my ( $self, $term, $direction ) = @_; + my $ontology = $self->ontology; + return {} unless $ontology; + return {} unless $term; + $direction = "root" unless ($direction); + return {} unless ( ( $direction eq 'root' ) || ( $direction eq 'leaves' ) ); + if ( $ontology eq 'service' ) { + $term = $self->getServiceURI($term); + } elsif ( $ontology eq 'object' ) { + $term = $self->getObjectURI($term); + } + return {} unless $term =~ /^urn\:lsid/; # now its a URI + my $relhash = + $self->getRelationshipTypes( ontology => $ontology ) + ; # get teh types of relationships for the object/service ontology + return {} unless $relhash; + my @rels = keys + %{$relhash}; #@rels is the list of relationship types for that ontology + my %relationships; + foreach my $relationship (@rels) { + my %IDS; + my $OS = MOBY::OntologyServer->new( ontology => 'relationship' ); + my $reluri = + $OS->getRelationshipURI( $ontology, $relationship ) + ; # get the URI for that relationship type if it ins't already a URI + $IDS{$term} = "untestedroot"; # mark the one in-hand as being untested + while ( grep /untested/, ( values %IDS ) ) + { # now, while there are untested services in our list... + foreach my $termthingy ( keys %IDS ) + { # start parsing through the current list (hash keys) + $debug && _LOG("testing $relationship of $termthingy\n"); + next + if ( $IDS{$termthingy} eq "tested" ) + ; # if it has been tested already then move on + my $lsids = $self->Relationships( + term => $termthingy, + relationship => $relationship, + direction => $direction + ) + ; # get the related terms for this type; this should return a single hash value + if ( $IDS{$termthingy} =~ /root/ ) + { # here is where we remove self + delete $IDS{$termthingy}; + $debug && _LOG("deleting $termthingy\n"); + } else { + $debug && _LOG("marking $termthingy as TESTED\n"); + $IDS{$termthingy} = + "tested"; # mark the current one as now being "done" + } + + #${$lsids}{relationshiptype}=[lsid, lsid, lsid]; + foreach my $lsid ( @{ $lsids->{$relationship} } ) + { # go through the related terms + $debug && _LOG("found $lsid as relationship"); + next + if ( defined $IDS{$lsid} ) + ; # if we have already seen that term, skip it + $debug && _LOG("setting $lsid as untested\n"); + $IDS{$lsid} = + "untested" # otherwise add it to the list and loop again. + } + } + } + my @IDS = keys %IDS; + $relationships{$relationship} = + \@IDS; # and associate them all with the current relationship type + } + return \%relationships; } - - sub _LOG { return unless $debug; + #print join "\n", @_; #print "\n---\n"; #return; @@ -1018,37 +1242,31 @@ print LOG "\n---\n"; close LOG; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/authority.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/authority.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/authority.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::authority; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::authority - a lightweight connection to the @@ -37,104 +34,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - authority_id => [undef, 'read/write'], - authority_common_name => [undef, 'read/write'], - authority_uri => [undef, 'read/write'], - contact_email => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - #_____________________________________________________________ - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + authority_id => [ undef, 'read/write' ], + authority_common_name => [ undef, 'read/write' ], + authority_uri => [ undef, 'read/write' ], + contact_email => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - my $dbh = $self->dbh; - my ($authority_id, $common, $uri, $contact) = $dbh->selectrow_array(q{select authority_id, authority_common_name,authority_uri,contact_email from authority where authority_uri = ?},undef,$self->authority_uri); - unless ($authority_id){ - $dbh->do(q{insert into authority (authority_common_name, authority_uri, contact_email) values (?,?,?)}, undef,($self->authority_common_name, $self->authority_uri, $self->contact_email)); - $self->authority_id($dbh->{mysql_insertid}); - } else { - $self->authority_id($authority_id); - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $dbh = $self->dbh; + my ( $authority_id, $common, $uri, $contact ) = $dbh->selectrow_array( +q{select authority_id, authority_common_name,authority_uri,contact_email from authority where authority_uri = ?}, + undef, $self->authority_uri + ); + unless ($authority_id) { + $dbh->do( +q{insert into authority (authority_common_name, authority_uri, contact_email) values (?,?,?)}, + undef, + ( + $self->authority_common_name, $self->authority_uri, + $self->contact_email + ) + ); + $self->authority_id( $dbh->{mysql_insertid} ); + } else { + $self->authority_id($authority_id); + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm 2004/06/24 22:32:38 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm 2004/11/18 17:41:14 1.6 @@ -1,7 +1,6 @@ package MOBY::central_db_connection; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); use MOBY::Config; @@ -37,121 +36,105 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - db_connect_object => ["MOBY::mysql", 'read/write'], - datasource => ['mobycentral', 'read/write'], - #username => ["mobycentral", 'read/write'], - #password => ["mobycentral", 'read/write'], - #dbname => ["mobycentral", 'read/write'], - #host => ["localhost", 'read/write'], - #port => [3306, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub db_connect_object { - my ($self, $attr) = @_; - $self->{db_connect_object} = $attr if defined $attr; - return $self->{db_connect_object} - } - - sub dbh { - my ($self, $attr) = @_; - $self->{dbh} = $attr if defined $attr; - return $self->{dbh} - } -} + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + db_connect_object => [ "MOBY::mysql", 'read/write' ], + datasource => [ 'mobycentral', 'read/write' ], + + #username => ["mobycentral", 'read/write'], + #password => ["mobycentral", 'read/write'], + #dbname => ["mobycentral", 'read/write'], + #host => ["localhost", 'read/write'], + #port => [3306, 'read/write'], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub db_connect_object { + my ( $self, $attr ) = @_; + $self->{db_connect_object} = $attr if defined $attr; + return $self->{db_connect_object}; + } + + sub dbh { + my ( $self, $attr ) = @_; + $self->{dbh} = $attr if defined $attr; + return $self->{dbh}; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + $CONFIG ||= MOBY::Config->new; - $CONFIG ||= MOBY::Config->new; - # getting the dbh is bad bad bad!!! - my $dbh = $CONFIG->getDataAdaptor(datasource => 'mobycentral')->dbh; - - $self->dbh($dbh); + my $dbh = $CONFIG->getDataAdaptor( datasource => 'mobycentral' )->dbh; + $self->dbh($dbh); return $self; - } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm 2004/06/24 22:32:38 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm 2004/11/18 17:41:14 1.3 @@ -1,12 +1,9 @@ package MOBY::collection_input; use strict; use Carp; -use XML::DOM; use MOBY::Config; - use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::collection_input - a lightweight connection to the @@ -38,114 +35,95 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - collection_input_id => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + collection_input_id => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->collection_input_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_collection_input( - service_instance => $self->service_instance_id, - article_name => $self->article_name, - ); - - return $id; + service_instance => $self->service_instance_id, + article_name => $self->article_name, ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm 2004/06/24 22:32:38 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm 2004/11/18 17:41:14 1.3 @@ -1,14 +1,10 @@ #!/usr/bin/perl -w - package MOBY::collection_output; use strict; use Carp; -use XML::DOM; use MOBY::Config; - use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::collection_output - a lightweight connection to the @@ -38,115 +34,95 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - collection_output_id => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + collection_output_id => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->collection_output_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_collection_output( - service_instance => $self->service_instance_id, - article_name => $self->article_name, - ); - - return $id; + service_instance => $self->service_instance_id, + article_name => $self->article_name, ); + return $id; } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm 2004/07/09 00:21:53 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm 2004/11/18 17:41:14 1.4 @@ -1,149 +1,135 @@ package MOBY::dbConfig; - use strict; use Carp; use vars qw($AUTOLOAD); use Text::Shellwords; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - section_title => [undef, 'read/write'], - username => [undef, 'read/write'], - password => [undef, 'read/write'], - dbname => [undef, 'read/write'], - port => [undef, 'read/write'], - proxy => [undef, 'read/write'], - adaptor => ["MOBY::Adaptor::moby::queryapi::mysql", 'read/write'], - url => [undef, 'read/write'], - section => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + section_title => [ undef, 'read/write' ], + username => [ undef, 'read/write' ], + password => [ undef, 'read/write' ], + dbname => [ undef, 'read/write' ], + port => [ undef, 'read/write' ], + proxy => [ undef, 'read/write' ], + adaptor => [ "MOBY::Adaptor::moby::queryapi::mysql", 'read/write' ], + url => [ undef, 'read/write' ], + section => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } - sub database_title { - my ($self, $val) = @_; + sub database_title { + my ( $self, $val ) = @_; $self->section_title($val) if $val; return $self->section_title; - } - + } } # this object will contain the full hash of what is in the config file, even if # the key/value pairs are not expected. Only the expected key/value pairs will be available as # methods, however (i.e. those in the _standard_keys hash above) - sub new { - my ($caller, %args) = @_; + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $key; - my $key; #eval {$key = $self->_readSections($self->section);}; - $key = $self->_readSections($self->section); - #if ($@){die "MOBY Configuration file is misconfigured: dbConfig line 71\n";} -#print STDERR "I received the key $key\n"; - return undef unless $key; - return undef unless $key =~ /\S/; -#print STDERR "returning the dbConfig object for database title $key\n"; - $self->section_title($key); - - return $self; + $key = $self->_readSections( $self->section ); + #if ($@){die "MOBY Configuration file is misconfigured: dbConfig line 71\n";} + #print STDERR "I received the key $key\n"; + return undef unless $key; + return undef unless $key =~ /\S/; + + #print STDERR "returning the dbConfig object for database title $key\n"; + $self->section_title($key); + return $self; } sub _readSections { - my ($self, $section) = @_; + my ( $self, $section ) = @_; my $key; - my @lines = split "\n", $section; - while (my $l = shift @lines){ - chomp $l; - next unless $l; - next if $l=~/\s*\#/; # ignore comments - next unless $l =~ /\S/; # ignore pure whitespace; -#print STDERR "reading line $l\n"; - if ($l=~/\[(\w+)\]/){ - $key = $1; - while (my $l2 = shift @lines){ - chomp $l2; - last unless ($l2 =~ /\S/); - my @terms = shellwords($l2); - last unless (scalar @terms > 2); - $self->{$terms[0]} = $terms[2]; - } - } - } -#print STDERR "returning key $key with terms ",(keys %{$self->{$key}})," \n"; - return $key; # will be undef if this was not a valid section -} - + my @lines = split "\n", $section; + while ( my $l = shift @lines ) { + chomp $l; + next unless $l; + next if $l =~ /\s*\#/; # ignore comments + next unless $l =~ /\S/; # ignore pure whitespace; + + #print STDERR "reading line $l\n"; + if ( $l =~ /\[(\w+)\]/ ) { + $key = $1; + while ( my $l2 = shift @lines ) { + chomp $l2; + last unless ( $l2 =~ /\S/ ); + my @terms = shellwords($l2); + last unless ( scalar @terms > 2 ); + $self->{ $terms[0] } = $terms[2]; + } + } + } -sub DESTROY {} + #print STDERR "returning key $key with terms ",(keys %{$self->{$key}})," \n"; + return $key; # will be undef if this was not a valid section +} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/mysql.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/mysql.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/mysql.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::mysql; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::mysql - makes a MYSQL database connection. @@ -39,92 +36,77 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + (); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, $dbname, $username, $password, $host, $port) = @_; -my $debug = 0; + my ( $caller, $dbname, $username, $password, $host, $port ) = @_; + my $debug = 0; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - + my $self = bless {}, $class; my ($dsn) = "DBI:mysql:$dbname:$host:$port"; - - - $debug && &_LOG("connecting to db with params $dbname, $username, $password\n"); - my $dbh = DBI->connect($dsn, $username, $password, {RaiseError => 1}) or die "can't connect to database"; + $debug + && &_LOG("connecting to db with params $dbname, $username, $password\n"); + my $dbh = DBI->connect( $dsn, $username, $password, { RaiseError => 1 } ) + or die "can't connect to database"; $debug && &_LOG("CONNECTED!\n"); $self->databasehandle($dbh); return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm 2004/06/16 01:15:30 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::secondary_input; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::secondary_input - a lightweight connection to the @@ -36,140 +33,122 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - secondary_input_id => [undef, 'read/write'], - default_value => [undef, 'read/write'], - maximum_value => [undef, 'read/write'], - minimum_value => [undef, 'read/write'], - enum_value => [undef, 'read/write'], - datatype => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + secondary_input_id => [ undef, 'read/write' ], + default_value => [ undef, 'read/write' ], + maximum_value => [ undef, 'read/write' ], + minimum_value => [ undef, 'read/write' ], + enum_value => [ undef, 'read/write' ], + datatype => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub _dbh { - my ($self) = @_; - - my $central_connect = MOBY::central_db_connection->new(); - $self->dbh($central_connect->dbh); + my ($self) = @_; + my $central_connect = MOBY::central_db_connection->new(); + $self->dbh( $central_connect->dbh ); return $central_connect->dbh; - } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $datatype = $self->datatype; - unless (($datatype =~ /Integer/) || ($datatype =~ /Float/) || ($datatype =~ /String/) || ($datatype =~ /DateTime/)){ - return undef + unless ( ( $datatype =~ /Integer/ ) + || ( $datatype =~ /Float/ ) + || ( $datatype =~ /String/ ) + || ( $datatype =~ /DateTime/ ) ) + { + return undef; } - my $id = $self->WRITE; $self->secondary_input_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; my $dbh = $self->_dbh; - $dbh->do(q{insert into secondary_input (default_value,maximum_value,minimum_value,enum_value,datatype,article_name,service_instance_id) values (?,?,?,?,?,?,?)}, - undef, - ($self->default_value, - $self->maximum_value, - $self->minimum_value, - $self->enum_value, - $self->datatype, - $self->article_name, - $self->service_instance_id, - ) - ); - my $id=$dbh->{mysql_insertid}; - return $id; + $dbh->do( +q{insert into secondary_input (default_value,maximum_value,minimum_value,enum_value,datatype,article_name,service_instance_id) values (?,?,?,?,?,?,?)}, + undef, + ( + $self->default_value, $self->maximum_value, + $self->minimum_value, $self->enum_value, + $self->datatype, $self->article_name, + $self->service_instance_id, + ) + ); + my $id = $dbh->{mysql_insertid}; + return $id; } - sub AUTOLOAD { - - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm 2004/07/30 00:40:09 1.8 +++ /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm 2004/11/18 17:41:14 1.9 @@ -1,9 +1,7 @@ package MOBY::service_instance; - use SOAP::Lite; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); use MOBY::central_db_connection; use MOBY::OntologyServer; @@ -49,405 +47,420 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service_instance_id => [undef, 'read/write'], - category => [undef, 'read/write'], - servicename => [undef, 'read/write'], - _authority => [undef, 'read/write'], # the authority object - service_type => [undef, 'read/write'], - service_type_uri => [undef, 'read/write'], - authority => [undef, 'read/write'], - authority_uri => [undef, 'read/write'], - signatureURL => [undef, 'read/write'], - url => [undef, 'read/write'], - inputs => [undef, 'read/write'], - outputs => [undef, 'read/write'], - secondaries => [undef, 'read/write'], - contact_email => [undef, 'read/write'], - authoritative => [0, 'read/write'], - description => [undef, 'read/write'], - registry => ['MOBY_Central', 'read/write'], - test => [0, 'read/write'], # toggles create or test_existence behaviour - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub service_name { # give them a break if they chose service_name or servicename as the parameter - my ($self, $val) = @_; - if (defined $val){ - if (defined $self->{servicename}){ - return undef # you are not allowed to change it once it has been set! - } else { - $self->{servicename} = $val; - } - } - return $self->{servicename} - } - - sub category { - my ($self, $val) = @_; - if ((defined $val) && $self->category){return undef} - (defined $val) && ($self->{category} = $val); - return $self->{category} - } - sub service_type { - my ($self, $val) = @_; - if (defined $val && $self->service_type){return undef} - (defined $val) && ($self->{service_type} = $val); - return $self->{service_type} - } - sub url{ - my ($self, $val) = @_; - if (defined $val && $self->url){return undef} - (defined $val) && ($self->{url} = $val); - return $self->{url} - } - sub signatureURL{ - my ($self, $val) = @_; - if (defined $val && $self->signatureURL){return undef} - (defined $val) && ($self->{signatureURL} = $val); - return $self->{signatureURL} - } - sub contact_email { - my ($self, $val) = @_; - if (defined $val && $self->contact_email){return undef} - (defined $val) && ($self->{contact_email} = $val); - return $self->{contact_email} - } - sub description { - my ($self, $val) = @_; - if (defined $val && $self->description){return undef} - (defined $val) && ($self->{description} = $val); - return $self->{description} - } - + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service_instance_id => [ undef, 'read/write' ], + category => [ undef, 'read/write' ], + servicename => [ undef, 'read/write' ], + _authority => [ undef, 'read/write' ], # the authority object + service_type => [ undef, 'read/write' ], + service_type_uri => [ undef, 'read/write' ], + authority => [ undef, 'read/write' ], + authority_uri => [ undef, 'read/write' ], + signatureURL => [ undef, 'read/write' ], + url => [ undef, 'read/write' ], + inputs => [ undef, 'read/write' ], + outputs => [ undef, 'read/write' ], + secondaries => [ undef, 'read/write' ], + contact_email => [ undef, 'read/write' ], + authoritative => [ 0, 'read/write' ], + description => [ undef, 'read/write' ], + registry => [ 'MOBY_Central', 'read/write' ], + test => [ 0, 'read/write' ] + , # toggles create or test_existence behaviour + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub service_name + { # give them a break if they chose service_name or servicename as the parameter + my ( $self, $val ) = @_; + if ( defined $val ) { + if ( defined $self->{servicename} ) { + return + undef # you are not allowed to change it once it has been set! + } else { + $self->{servicename} = $val; + } + } + return $self->{servicename}; + } + + sub category { + my ( $self, $val ) = @_; + if ( ( defined $val ) && $self->category ) { return undef } + ( defined $val ) && ( $self->{category} = $val ); + return $self->{category}; + } + + sub service_type { + my ( $self, $val ) = @_; + if ( defined $val && $self->service_type ) { return undef } + ( defined $val ) && ( $self->{service_type} = $val ); + return $self->{service_type}; + } + + sub url { + my ( $self, $val ) = @_; + if ( defined $val && $self->url ) { return undef } + ( defined $val ) && ( $self->{url} = $val ); + return $self->{url}; + } + + sub signatureURL { + my ( $self, $val ) = @_; + if ( defined $val && $self->signatureURL ) { return undef } + ( defined $val ) && ( $self->{signatureURL} = $val ); + return $self->{signatureURL}; + } + + sub contact_email { + my ( $self, $val ) = @_; + if ( defined $val && $self->contact_email ) { return undef } + ( defined $val ) && ( $self->{contact_email} = $val ); + return $self->{contact_email}; + } + + sub description { + my ( $self, $val ) = @_; + if ( defined $val && $self->description ) { return undef } + ( defined $val ) && ( $self->{description} = $val ); + return $self->{description}; + } + sub dbh { - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral')->dbh; + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = + $CONFIG->getDataAdaptor( datasource => 'mobycentral' )->dbh; } + sub adaptor { - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); } } #sub _dbh { # my ($self) = @_; -# +# # my $central_connect = MOBY::central_db_connection->new(); # $self->dbh($central_connect->dbh); #} - sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my ($self) = bless {}, $class; + my ($self) = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } -# category => $Category, -# servicename => $serviceName, -# service_type => $serviceType, -# authority_uri => $AuthURI, -# url => $URL, -# contact_email => $contactEmail, -# authoritative => $authoritativeService, -# description => $desc, -# - return undef unless $self->authority_uri; - return undef unless $self->servicename; - - #$self->_dbh(); - #return undef unless $self->dbh; - #my $dbh = $self->dbh; - - if ($self->test){ return $self->service_instance_exists} - - $self->authority($self->_get_authority()); # this might not be necessary - it simply converts auth_uri to auth_id and v.v.? - # it actually is necessary for the moment. We need to put the logic of determining - # service id into the mysql.pm module!! - - if ($self->service_type){ - my $OE = MOBY::OntologyServer->new(ontology => 'service'); - my ($success, $message, $servicetypeURI) = $OE->serviceExists(term => $self->service_type); - unless (($success || (($self->service_type =~ /urn:lsid/i) && !($self->service_type =~ /urn:lsid:biomoby.org/i)))){return undef} - ($self->service_type =~ /urn:lsid/)?$self->service_type_uri($self->service_type):$self->service_type_uri($servicetypeURI); - } - - my $existing_service = $self->adaptor->query_service_instance (servicename => $self->servicename, authURI => $self->authority_uri); - - - - if (($existing_service) # if it exists, you are not allowed to have passed anything other than service name and authorityURI - && ((defined $self->category) - || (defined $self->service_type) - || (defined $self->url) - || (defined $self->contact_email) - || (defined $self->description))){ - return -1; # no no no, not alowed to do that! I will not give you an object - } elsif ($existing_service){ # if service exists, then instantiate it from the database retrieval we just did - $self->service_instance_id($existing_service->{'serviceid'}); - $self->category($existing_service->{'category'}); - $self->service_type($existing_service->{'servicetype'}); - $self->url($existing_service->{'url'}); - $self->contact_email($existing_service->{'email'}); - $self->description($existing_service->{'desc'}); - $self->authority($existing_service->{'authURI'}); - $self->signatureURL($existing_service->{'signatureURL'}); - - $self->{__exists__} = 1; # this service already existed - } elsif (!($existing_service) # if it doesn't exist - && (defined $self->category) # and you have given me things I need to create it - && (defined $self->service_type) - && (defined $self->url) - && (defined $self->contact_email) - && (defined $self->description)) - { # then create it de novo if we have enough information + # category => $Category, + # servicename => $serviceName, + # service_type => $serviceType, + # authority_uri => $AuthURI, + # url => $URL, + # contact_email => $contactEmail, + # authoritative => $authoritativeService, + # description => $desc, + # + return undef unless $self->authority_uri; + return undef unless $self->servicename; + + #$self->_dbh(); + #return undef unless $self->dbh; + #my $dbh = $self->dbh; + if ( $self->test ) { return $self->service_instance_exists } + $self->authority( $self->_get_authority() ) + ; # this might not be necessary - it simply converts auth_uri to auth_id and v.v.? + # it actually is necessary for the moment. We need to put the logic of determining + # service id into the mysql.pm module!! + if ( $self->service_type ) { + my $OE = MOBY::OntologyServer->new( ontology => 'service' ); + my ( $success, $message, $servicetypeURI ) = + $OE->serviceExists( term => $self->service_type ); + unless ( + ( + $success + || ( ( $self->service_type =~ /urn:lsid/i ) + && !( $self->service_type =~ /urn:lsid:biomoby.org/i ) ) + ) + ) + { + return undef; + } + ( $self->service_type =~ /urn:lsid/ ) + ? $self->service_type_uri( $self->service_type ) + : $self->service_type_uri($servicetypeURI); + } + my $existing_service = $self->adaptor->query_service_instance( + servicename => $self->servicename, + authURI => $self->authority_uri ); + if ( + ($existing_service + ) # if it exists, you are not allowed to have passed anything other than service name and authorityURI + && ( ( defined $self->category ) + || ( defined $self->service_type ) + || ( defined $self->url ) + || ( defined $self->contact_email ) + || ( defined $self->description ) ) + ) + { + return + -1; # no no no, not alowed to do that! I will not give you an object + } elsif ($existing_service) + { # if service exists, then instantiate it from the database retrieval we just did + $self->service_instance_id( $existing_service->{'serviceid'} ); + $self->category( $existing_service->{'category'} ); + $self->service_type( $existing_service->{'servicetype'} ); + $self->url( $existing_service->{'url'} ); + $self->contact_email( $existing_service->{'email'} ); + $self->description( $existing_service->{'desc'} ); + $self->authority( $existing_service->{'authURI'} ); + $self->signatureURL( $existing_service->{'signatureURL'} ); + $self->{__exists__} = 1; # this service already existed + } elsif ( + !($existing_service) # if it doesn't exist + && ( + defined $self->category + ) # and you have given me things I need to create it + && ( defined $self->service_type ) + && ( defined $self->url ) + && ( defined $self->contact_email ) + && ( defined $self->description ) + ) + { # then create it de novo if we have enough information my $id = $self->adaptor->insert_service_instance( - category => $self->category, - servicename => $self->servicename, - service_type_uri => $self->service_type_uri, - authority_id => $self->authority_id, - url => $self->url, - contact_email => $self->contact_email, - authoritative => $self->authoritative, - description => $self->description, - signatureURL => $self->signatureURL, - ); - - $self->service_instance_id($id); - $self->{__exists__} = 1; # this service now exists - } else { # if it doesn't exist, and you havne't given me anyting I need to create it, then bail out - return undef; - } - return $self; - + category => $self->category, + servicename => $self->servicename, + service_type_uri => $self->service_type_uri, + authority_id => $self->authority_id, + url => $self->url, + contact_email => $self->contact_email, + authoritative => $self->authoritative, + description => $self->description, + signatureURL => $self->signatureURL, + ); + $self->service_instance_id($id); + $self->{__exists__} = 1; # this service now exists + } else { # if it doesn't exist, and you havne't given me anyting I need to create it, then bail out + return undef; + } + return $self; } sub DELETE_THYSELF { - my ($self) = @_; - my $dbh = $self->dbh; - unless ($self->{__exists__}){ - return undef - } - $CONFIG ||=MOBY::Config->new; - - $dbh->do(q{delete from service_instance where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from simple_input where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from simple_output where service_instance_id = ?},undef,$self->service_instance_id); - my $sth = $dbh->prepare(q{select collection_input_id from collection_input where service_instance_id = ?}); - $sth->execute($self->service_instance_id); - while (my ($id) = $sth->fetchrow_array){ - $dbh->do(q{delete from simple_input where collection_input_id = ?},undef,$id); - } - $sth = $dbh->prepare(q{select collection_output_id from collection_output where service_instance_id = ?}); - $sth->execute($self->service_instance_id); - while (my ($id) = $sth->fetchrow_array){ - $dbh->do(q{delete from simple_output where collection_output_id = ?},undef,$id); - } - $dbh->do(q{delete from collection_input where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from collection_output where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from secondary_input where service_instance_id=?}, undef, $self->service_instance_id); - return 1; + my ($self) = @_; + my $dbh = $self->dbh; + unless ( $self->{__exists__} ) { + return undef; + } + $CONFIG ||= MOBY::Config->new; + $dbh->do( q{delete from service_instance where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from simple_input where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from simple_output where service_instance_id = ?}, + undef, $self->service_instance_id ); + my $sth = + $dbh->prepare( +q{select collection_input_id from collection_input where service_instance_id = ?} + ); + $sth->execute( $self->service_instance_id ); + while ( my ($id) = $sth->fetchrow_array ) { + $dbh->do( q{delete from simple_input where collection_input_id = ?}, + undef, $id ); + } + $sth = + $dbh->prepare( +q{select collection_output_id from collection_output where service_instance_id = ?} + ); + $sth->execute( $self->service_instance_id ); + while ( my ($id) = $sth->fetchrow_array ) { + $dbh->do( q{delete from simple_output where collection_output_id = ?}, + undef, $id ); + } + $dbh->do( q{delete from collection_input where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from collection_output where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from secondary_input where service_instance_id=?}, + undef, $self->service_instance_id ); + return 1; } - sub authority_id { - my ($self) = @_; - return $self->authority->authority_id; + my ($self) = @_; + return $self->authority->authority_id; } sub service_instance_exists { - my ($self) = @_; - my $dbh = $self->dbh; - my $authority; - my ($id) = $dbh->selectrow_array(q{select authority_id from authority where authority_uri = ?},undef,$self->authority_uri); - return undef unless $id; - my ($svc) = $dbh->selectrow_array(q{select service_instance_id from service_instance where authority_id = ? and servicename = ?}, undef, ($id, $self->servicename)); - return $svc; -} - - -sub _get_authority { # there's somethign fishy here... the authority.pm object already knows about authority_id and authorty_uri, doens't it? - my ($self) = @_; - my $dbh = $self->dbh; - my $authority; - my ($id,$name,$uri,$email) = $dbh->selectrow_array(q{select authority_id, authority_common_name, authority_uri, contact_email from authority where authority_uri = ?},undef,$self->authority_uri); - if (defined $id){ - $authority = MOBY::authority->new( - dbh => $self->dbh, - authority_id => $id, - authority_uri => $uri, - contact_email => $email, - ); - } else { - $authority = MOBY::authority->new( - dbh => $self->dbh, - authority_uri => $self->authority_uri, - contact_email => $self->contact_email, - ); - } - return $authority; + my ($self) = @_; + my $dbh = $self->dbh; + my $authority; + my ($id) = + $dbh->selectrow_array( + q{select authority_id from authority where authority_uri = ?}, + undef, $self->authority_uri ); + return undef unless $id; + my ($svc) = $dbh->selectrow_array( +q{select service_instance_id from service_instance where authority_id = ? and servicename = ?}, + undef, + ( $id, $self->servicename ) + ); + return $svc; +} + +sub _get_authority +{ # there's somethign fishy here... the authority.pm object already knows about authority_id and authorty_uri, doens't it? + my ($self) = @_; + my $dbh = $self->dbh; + my $authority; + my ( $id, $name, $uri, $email ) = $dbh->selectrow_array( +q{select authority_id, authority_common_name, authority_uri, contact_email from authority where authority_uri = ?}, + undef, $self->authority_uri + ); + if ( defined $id ) { + $authority = MOBY::authority->new( + dbh => $self->dbh, + authority_id => $id, + authority_uri => $uri, + contact_email => $email, + ); + } else { + $authority = MOBY::authority->new( + dbh => $self->dbh, + authority_uri => $self->authority_uri, + contact_email => $self->contact_email, + ); + } + return $authority; } sub add_simple_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $simple = MOBY::simple_input->new( - object_type_uri => $a{'object_type_uri'}, - namespace_type_uris => $a{'namespace_type_uris'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - collection_input_id => $a{'collection_input_id'} - ); - - push @{$self->{inputs}}, $simple; + object_type_uri => $a{'object_type_uri'}, + namespace_type_uris => $a{'namespace_type_uris'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + collection_input_id => $a{'collection_input_id'} + ); + push @{ $self->{inputs} }, $simple; return $simple->simple_input_id; } - sub add_simple_output { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $simple = MOBY::simple_output->new( - object_type_uri => $a{'object_type_uri'}, - namespace_type_uris => $a{'namespace_type_uris'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - collection_output_id => $a{'collection_output_id'} - ); - - push @{$self->{outputs}}, $simple; + object_type_uri => $a{'object_type_uri'}, + namespace_type_uris => $a{'namespace_type_uris'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + collection_output_id => $a{'collection_output_id'} + ); + push @{ $self->{outputs} }, $simple; return $simple->simple_output_id; } - sub add_collection_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $coll = MOBY::collection_input->new( - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{inputs}}, $coll; + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, ); + push @{ $self->{inputs} }, $coll; return $coll->collection_input_id; } - sub add_collection_output { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $coll = MOBY::collection_output->new( - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{outputs}}, $coll; + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, ); + push @{ $self->{outputs} }, $coll; return $coll->collection_output_id; } - sub add_secondary_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $sec = MOBY::secondary_input->new( - default_value => $a{'default_value'}, - maximum_value => $a{'maximum_value'}, - minimum_value => $a{'minimum_value'}, - enum_value => $a{'enum_value'}, - datatype => $a{'datatype'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{inputs}}, $sec; - return $sec->secondary_input_id; - + default_value => $a{'default_value'}, + maximum_value => $a{'maximum_value'}, + minimum_value => $a{'minimum_value'}, + enum_value => $a{'enum_value'}, + datatype => $a{'datatype'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + ); + push @{ $self->{inputs} }, $sec; + return $sec->secondary_input_id; } - - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/service_type.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/service_type.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/service_type.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::service_type; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::service_type - a lightweight connection to the @@ -35,97 +32,81 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service_type_id=> [undef, 'read/write'], - rdf_definition => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service_type_id => [ undef, 'read/write' ], + rdf_definition => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm 2004/06/24 22:32:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm 2004/11/18 17:41:14 1.5 @@ -1,13 +1,10 @@ #!/usr/bin/perl -w - package MOBY::simple_input; use strict; use Carp; -use XML::DOM; use MOBY::Config; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::simple_input - a lightweight connection to the @@ -40,120 +37,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - simple_input_id => [undef, 'read/write'], - object_type_uri => [undef, 'read/write'], - namespace_type_uris => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - collection_input_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + simple_input_id => [ undef, 'read/write' ], + object_type_uri => [ undef, 'read/write' ], + namespace_type_uris => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + collection_input_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->simple_input_id($id) if defined $id; - return $self; - + return $self; } - sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_simple_input( - object_type_uri => $self->object_type_uri, - namespace_type_uris => $self->namespace_type_uris, - article_name => $self->article_name, - service_instance_id => $self->service_instance_id, - collection_input_id => $self->collection_input_id, - ); - - return $id; + object_type_uri => $self->object_type_uri, + namespace_type_uris => $self->namespace_type_uris, + article_name => $self->article_name, + service_instance_id => $self->service_instance_id, + collection_input_id => $self->collection_input_id, + ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm 2004/06/24 22:32:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm 2004/11/18 17:41:15 1.4 @@ -1,13 +1,10 @@ #!/usr/bin/perl -w - package MOBY::simple_output; use strict; use Carp; use MOBY::Config; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::simple_output - a lightweight connection to the @@ -39,120 +36,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - simple_output_id => [undef, 'read/write'], - object_type_uri => [undef, 'read/write'], - namespace_type_uris => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - collection_output_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + simple_output_id => [ undef, 'read/write' ], + object_type_uri => [ undef, 'read/write' ], + namespace_type_uris => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + collection_output_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->simple_output_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_simple_output( - object_type_uri => $self->object_type_uri, - namespace_type_uris => $self->namespace_type_uris, - article_name => $self->article_name, - service_instance_id => $self->service_instance_id, - collection_output_id => $self->collection_output_id, - ); - - return $id; + object_type_uri => $self->object_type_uri, + namespace_type_uris => $self->namespace_type_uris, + article_name => $self->article_name, + service_instance_id => $self->service_instance_id, + collection_output_id => $self->collection_output_id, + ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; From kawas at pub.open-bio.org Thu Nov 18 12:38:56 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Thu, 18 Nov 2004 17:38:56 -0000 Subject: [MOBY-guts] biomoby commit Message-ID: <200411181741.iAIHfGjw013992@pub.open-bio.org> kawas Thu Nov 18 12:41:16 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv13854/Client Modified Files: Central.pm CollectionArticle.pm OntologyServer.pm Registration.pm SecondaryArticle.pm Service.pm ServiceInstance.pm SimpleArticle.pm SimpleInput.pm Log Message: Converted XML:DOM -> XML::LibXML and applicable module calls Eddie moby-live/Perl/MOBY/Client Central.pm,1.80,1.81 CollectionArticle.pm,1.9,1.10 OntologyServer.pm,1.6,1.7 Registration.pm,1.6,1.7 SecondaryArticle.pm,1.4,1.5 Service.pm,1.12,1.13 ServiceInstance.pm,1.12,1.13 SimpleArticle.pm,1.5,1.6 SimpleInput.pm,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/09/16 22:21:02 1.80 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/11/18 17:41:15 1.81 @@ -1,18 +1,18 @@ #$Id$ - package MOBY::Client::Central; use SOAP::Lite; + #use SOAP::Lite + trace; # for debugging use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use MOBY::Client::ServiceInstance; use MOBY::Client::Registration; use MOBY::Client::SimpleArticle; use MOBY::Client::CollectionArticle; use MOBY::Client::SecondaryArticle; use MOBY::Client::OntologyServer; - use vars qw($AUTOLOAD @ISA $MOBY_server $MOBY_uri); =head1 NAME @@ -21,7 +21,6 @@ =cut - =head1 SYNOPSIS use MOBY::Client::Central; @@ -126,198 +125,219 @@ =cut my $debug = 0; - -if ($debug){open (OUT, ">/tmp/CentralLogOut.txt") || die "cant open logfile CentralLogOut.txt $!\n";close OUT;} - +if ( $debug ) { + open( OUT, ">/tmp/CentralLogOut.txt" ) + || die "cant open logfile CentralLogOut.txt $!\n"; + close OUT; +} { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - Connections => [undef, 'read/write'], - default_MOBY_servername => ['mobycentral', 'read/write'], - default_MOBY_server => ['http://mobycentral.cbr.nrc.ca/cgi-bin/MOBY05/mobycentral.pl', 'read/write'], - default_MOBY_uri => ['http://mobycentral.cbr.nrc.ca/MOBY/Central', 'read/write'], - default_MOBY_proxy => [undef, 'read/write'], - default_MOBY_type => ['soap', 'read/write'], - Registries => [undef, 'read/write'], - multiple_registries => [undef, 'read/write'], - # SWITCH TO THESE FOR A LOCAL MOBY CENTRAL REGISTRY - #default_MOBY_server => ['http://localhost/cgi-bin/MOBY-Central.pl', 'read/write'], - #default_MOBY_uri => ['http://localhost/MOBY/Central', 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + Connections => [ undef, 'read/write' ], + default_MOBY_servername => [ 'mobycentral', 'read/write' ], + default_MOBY_server => [ + 'http://mobycentral.cbr.nrc.ca/cgi-bin/MOBY05/mobycentral.pl', + 'read/write' + ], + default_MOBY_uri => + [ 'http://mobycentral.cbr.nrc.ca/MOBY/Central', 'read/write' ], + default_MOBY_proxy => [ undef, 'read/write' ], + default_MOBY_type => [ 'soap', 'read/write' ], + Registries => [ undef, 'read/write' ], + multiple_registries => [ undef, 'read/write' ], + +# SWITCH TO THESE FOR A LOCAL MOBY CENTRAL REGISTRY +#default_MOBY_server => ['http://localhost/cgi-bin/MOBY-Central.pl', 'read/write'], +#default_MOBY_uri => ['http://localhost/MOBY/Central', 'read/write'], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + return 0 unless ( $mode && $_attr_data{$attr} ); + $_attr_data{$attr}[1] =~ /$mode/; + } - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - return 0 unless ($mode && $_attr_data{$attr}); - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } - # List of names of all specified object attributes - sub _standard_keys { + # List of names of all specified object attributes + sub _standard_keys { keys %_attr_data; - } - + } + sub Connection { - my ($self, $desired) = @_; - if ($desired){ - while (my ($name, $type, $connect) = (@{$self->Connections->[0]})){ - return ($type, $connect) if $name eq $desired; - } + my ( $self, $desired ) = @_; + if ( $desired ) { + while ( my ( $name, $type, $connect ) = + ( @{ $self->Connections->[0] } ) ) + { + return ( $type, $connect ) if $name eq $desired; + } } else { - my ($name, $type, $connect) = @{$self->Connections->[0]}; - return ($type,$connect); + my ( $name, $type, $connect ) = @{ $self->Connections->[0] }; + return ( $type, $connect ); } - return (undef, undef); + return ( undef, undef ); } - } sub _call { - # this method replaces the former calls directly - # to teh SOAP_Connection, to give more flexibility - # in how that call is made - # most subroutines in here do the following: - # $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; - # or $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - # so intercept that and figure out if we are actually making a SOAP call or not - # and determine which registry it is - - my ($self, $reg, $method, @params) = @_; +# this method replaces the former calls directly +# to teh SOAP_Connection, to give more flexibility +# in how that call is made +# most subroutines in here do the following: +# $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; +# or $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; +# so intercept that and figure out if we are actually making a SOAP call or not +# and determine which registry it is + my ( $self, $reg, $method, @params ) = @_; $reg = $self->default_MOBY_servername if $reg eq "default"; $reg = $self->default_MOBY_servername if !$reg; - - my ($type, $connect) = $self->Connection($reg); - return "EXECUTION ERROR - registry $reg not found" unless ($type && $connect); + my ( $type, $connect ) = $self->Connection( $reg ); + return "EXECUTION ERROR - registry $reg not found" + unless ( $type && $connect ); + my $param = join "", @params; # must be a single message! + if ( lc( $type ) eq "get" ) { - my $param = join "", @params; # must be a single message! - - if (lc($type) eq "get"){ #print STDERR "executing CGI call\n"; use LWP::UserAgent; my $ua = LWP::UserAgent->new; use CGI; - $param =~s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; + $param =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; my $paramstring = "?action=$method"; - $paramstring .=";payload=$param" if $param; - my $req = HTTP::Request->new(GET => $connect.$paramstring); - my $res = $ua->request($req); - if ($res->is_success){ + $paramstring .= ";payload=$param" if $param; + my $req = HTTP::Request->new( GET => $connect . $paramstring ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { return $res->content; } else { - return "EXECUTION ERROR - unsuccessful call to MOBY Central registry named '$reg'" + return +"EXECUTION ERROR - unsuccessful call to MOBY Central registry named '$reg'"; } } else { + #print STDERR "executing SOAP call\n"; - my @payload = $connect->call($method => $param)->paramsall; + my @payload = $connect->call( $method => $param )->paramsall; return @payload; - } + } } - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - $self->Connections([]); # initialize; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->Connections( [] ); # initialize; + # if user has set up preferred servers, then use those by default - $self->default_MOBY_server($ENV{MOBY_SERVER}) if $ENV{MOBY_SERVER}; - $self->default_MOBY_uri($ENV{MOBY_URI}) if $ENV{MOBY_URI}; - $self->default_MOBY_type($ENV{MOBY_TYPE}) if $ENV{MOBY_TYPE}; - $self->default_MOBY_proxy($ENV{MOBY_PROXY}) if $ENV{MOBY_PROXY}; - - - if ($self->Registries){ + $self->default_MOBY_server( $ENV{MOBY_SERVER} ) if $ENV{MOBY_SERVER}; + $self->default_MOBY_uri( $ENV{MOBY_URI} ) if $ENV{MOBY_URI}; + $self->default_MOBY_type( $ENV{MOBY_TYPE} ) if $ENV{MOBY_TYPE}; + $self->default_MOBY_proxy( $ENV{MOBY_PROXY} ) if $ENV{MOBY_PROXY}; + if ( $self->Registries ) { my $regno = 0; - my %reg = %{$self->Registries}; - while (my ($name, $acc) = each %reg){ - $regno++; # count how many registries we have in total - my $url = $acc->{URL}?$acc->{URL}:$self->default_MOBY_server; - my $uri = $acc->{URI}?$acc->{URI}:$self->default_MOBY_uri; - my $type = $acc->{TYPE}?$acc->{TYPE}:$self->default_MOBY_type; - my $proxy = $acc->{PROXY}?$acc->{PROXY}:$self->default_MOBY_proxy; - $type ||='soap'; - if (lc($type) eq "get"){ - push @{$self->Connections}, [$name, $type, $url]; + my %reg = %{ $self->Registries }; + while ( my ( $name, $acc ) = each %reg ) { + $regno++; # count how many registries we have in total + my $url = $acc->{URL} ? $acc->{URL} : $self->default_MOBY_server; + my $uri = $acc->{URI} ? $acc->{URI} : $self->default_MOBY_uri; + my $type = $acc->{TYPE} ? $acc->{TYPE} : $self->default_MOBY_type; + my $proxy = + $acc->{PROXY} ? $acc->{PROXY} : $self->default_MOBY_proxy; + $type ||= 'soap'; + if ( lc( $type ) eq "get" ) { + push @{ $self->Connections }, [ $name, $type, $url ]; } else { - my @soapargs; - if ($proxy){ - @soapargs = ($url, - proxy => ['http' => $proxy]); - } else { - @soapargs = ($url); - } - push @{$self->Connections}, [$name, $type, SOAP::Lite->proxy(@soapargs)->uri($uri)->on_fault( - sub{ - my($soap, $res) = @_; - die ref $res ? $res->faultstring : $soap->transport->status, "\n ERROR ERROR ERROR\n"; - })]; + my @soapargs; + if ( $proxy ) { + @soapargs = ( $url, proxy => [ 'http' => $proxy ] ); + } else { + @soapargs = ( $url ); + } + push @{ $self->Connections }, [ + $name, $type, + SOAP::Lite->proxy( @soapargs )->uri( $uri )->on_fault( + sub { + my ( $soap, $res ) = @_; + die ref $res + ? $res->faultstring + : $soap->transport->status, + "\n ERROR ERROR ERROR\n"; + } + ) + ]; } } - $self->multiple_registries($regno-1); # one is not "multiple", it is just a change in default -> set to "false" if only one + $self->multiple_registries( $regno - 1 ) + ; # one is not "multiple", it is just a change in default -> set to "false" if only one } else { - $self->multiple_registries(0); - if (lc($self->default_MOBY_type) eq "get"){ - push @{$self->Connections}, [$self->default_MOBY_servername, $self->default_MOBY_type,$self->default_MOBY_server]; + $self->multiple_registries( 0 ); + if ( lc( $self->default_MOBY_type ) eq "get" ) { + push @{ $self->Connections }, + [ + $self->default_MOBY_servername, $self->default_MOBY_type, + $self->default_MOBY_server + ]; } else { - $self->Registries({$self->default_MOBY_servername => { - URL => $self->default_MOBY_server, - URI => $self->default_MOBY_uri - }} - ); - my @soapargs; - if ($self->default_MOBY_proxy){ - @soapargs = ($self->default_MOBY_server, - proxy => ['http' => $self->default_MOBY_proxy]); - } else { - @soapargs = ($self->default_MOBY_server); - } - push @{$self->Connections},[$self->default_MOBY_servername, - $self->default_MOBY_type, - SOAP::Lite->proxy(@soapargs)->uri($self->default_MOBY_uri)->on_fault( - sub{ - my($soap, $res) = @_; - die ref $res ? $res->faultstring : $soap->transport->status, "\n ERROR ERROR ERROR\n"; - })]; + $self->Registries( + { + $self->default_MOBY_servername => { + URL => $self->default_MOBY_server, + URI => $self->default_MOBY_uri + } + } + ); + my @soapargs; + if ( $self->default_MOBY_proxy ) { + @soapargs = ( + $self->default_MOBY_server, + proxy => [ 'http' => $self->default_MOBY_proxy ] + ); + } else { + @soapargs = ( $self->default_MOBY_server ); + } + push @{ $self->Connections }, [ + $self->default_MOBY_servername, + $self->default_MOBY_type, + SOAP::Lite->proxy( @soapargs )->uri( $self->default_MOBY_uri ) + ->on_fault( + sub { + my ( $soap, $res ) = @_; + die ref $res + ? $res->faultstring + : $soap->transport->status, "\n ERROR ERROR ERROR\n"; + } + ) + ]; } } - return undef unless $self->Connection(); # gotta have at least one... - return $self; - + return undef unless $self->Connection(); # gotta have at least one... + return $self; } - =head2 registerObject a.k.a registerObjectClass Title : registerObject ; registerObjectClass @@ -338,50 +358,59 @@ =cut - sub registerObjectClass { - my ($self, %a) = @_; - return $self->registerObject(%a); + my ( $self, %a ) = @_; + return $self->registerObject( %a ); } -sub registerObject { - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - return $self->errorRegXML("Contact email address (contactEmail parameter) is required for object registration") if (!$a{contactEmail}); - - my $term = $a{'objectType'}; $term ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $contactEmail = $a{'contactEmail'}; $contactEmail ||=""; - my $authURI = $a{'authURI'}; $authURI ||=""; $authURI ||=""; - my %Relationships = %{$a{'Relationships'}}; - my $clobber = $a{'Clobber'}?$a{'Clobber'}:0; - my $message = " +sub registerObject { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + return $self->errorRegXML( +"Contact email address (contactEmail parameter) is required for object registration" + ) + if ( !$a{contactEmail} ); + my $term = $a{'objectType'}; + $term ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $contactEmail = $a{'contactEmail'}; + $contactEmail ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + $authURI ||= ""; + my %Relationships = %{ $a{'Relationships'} }; + my $clobber = $a{'Clobber'} ? $a{'Clobber'} : 0; + my $message = " $term $authURI $contactEmail $clobber\n"; - while (my ($type, $objlistref) = each %Relationships){ - $message .="\n"; - foreach my $objnamepair(@{$objlistref}){ - my $object = $objnamepair->[0]; + + while ( my ( $type, $objlistref ) = each %Relationships ) { + $message .= "\n"; + foreach my $objnamepair ( @{$objlistref} ) { + my $object = $objnamepair->[0]; my $article = $objnamepair->[1]; - return $self->errorRegXML("Object name missing from one of your $type relationships") unless ($object); - $article ||=""; - $message .="$object\n"; - } - $message .="\n"; + return $self->errorRegXML( + "Object name missing from one of your $type relationships" ) + unless ( $object ); + $article ||= ""; + $message .= + "$object\n"; + } + $message .= "\n"; } - $message .=""; - -# my $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerObjectClass', $message); - - return ($self->parseRegXML($return)); + $message .= ""; +# my $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerObjectClass', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterObject a.k.a. deregisterObjectClass Title : deregisterObject ; deregisterObjectClass @@ -395,27 +424,28 @@ =cut sub deregisterObjectClass { - my ($self, %a) = @_; - return $self->deregisterObject(%a); + my ( $self, %a ) = @_; + return $self->deregisterObject( %a ); } -sub deregisterObject { - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'objectType'}; $id ||=""; +sub deregisterObject { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'objectType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterObjectClass => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterObjectClass', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterObjectClass => ($message))->paramsall; + my ( $return ) = + $self->_call( 'default', 'deregisterObjectClass', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 retrieveObjectDefinition Title : retrieveObjectDefinition @@ -442,66 +472,76 @@ =cut sub retrieveObjectDefinition { - - my ($self, $id, $reg) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; + my ( $self, $id, $reg ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; my %def; return \%def unless $id; - my $message = " $id "; - my ($return) = $self->_call('default', 'retrieveObjectDefinition', $message); - + my ( $return ) = + $self->_call( 'default', 'retrieveObjectDefinition', $message ); return \%def unless $return; - my ($term, $desc, $relationships, $email, $authURI) = &_ObjectDefinitionPayload($return); - $def{objectType} = $term; - $def{description} = $desc; - $def{contactEmail} = $email; - $def{authURI} = $authURI; + my ( $term, $desc, $relationships, $email, $authURI ) = + &_ObjectDefinitionPayload( $return ); + $def{objectType} = $term; + $def{description} = $desc; + $def{contactEmail} = $email; + $def{authURI} = $authURI; $def{Relationships} = $relationships; - $def{XML} = $return; - return (\%def); - + $def{XML} = $return; + return ( \%def ); } sub _ObjectDefinitionPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'retrieveObjectDefinition'); - - my $term = &_nodeTextContent($Object, "objectType"); - my $desc = &_nodeTextContent($Object, "Description"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my %att_value; my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my $article = $_->getAttributeNode('articleName'); # may or may not have a name - if ($article){$article = $article->getValue()} - - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, [$_->toString, $article]; + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'retrieveObjectDefinition' ); + my $term = &_nodeTextContent( $Object, "objectType" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my %att_value; + my %relationships; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { #get_node starts at one + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my $article = + $_->getAttributeNode( 'articleName' ) + ; # may or may not have a name + if ( $article ) { $article = $article->getValue() } + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, + [ $_->toString, $article ]; } } } - return ($term, $desc, \%relationships, $email,$authURI); + return ( $term, $desc, \%relationships, $email, $authURI ); } - =head2 registerServiceType Title : registerServiceType @@ -518,37 +558,40 @@ =cut sub registerServiceType { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $type = $a{'serviceType'}; $type ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $email = $a{'contactEmail'}; $email ||=""; - my $auth = $a{'authURI'}; $auth ||=""; - my %Relationships = %{$a{'Relationships'}}; - - my $message = " + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $type = $a{'serviceType'}; + $type ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $email = $a{'contactEmail'}; + $email ||= ""; + my $auth = $a{'authURI'}; + $auth ||= ""; + my %Relationships = %{ $a{'Relationships'} }; + my $message = " $type $email $auth\n"; - while (my ($type, $servlistref) = each %Relationships){ - $message .="\n"; - foreach my $servicetype(@{$servlistref}){ - $message .="$servicetype\n"; + + while ( my ( $type, $servlistref ) = each %Relationships ) { + $message .= "\n"; + foreach my $servicetype ( @{$servlistref} ) { + $message .= "$servicetype\n"; } - $message .="\n"; + $message .= "\n"; } $message .= ""; -# my $return = $self->SOAP_connection->call(registerServiceType => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerServiceType', $message); - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(registerServiceType => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerServiceType', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 deregisterServiceType Title : deregisterServiceType @@ -560,21 +603,22 @@ =cut - sub deregisterServiceType { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'serviceType'}; $id ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'serviceType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterServiceType => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterServiceType', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterServiceType => ($message))->paramsall; + my ( $return ) = + $self->_call( 'default', 'deregisterServiceType', $message ); + return ( $self->parseRegXML( $return ) ); } =head2 registerNamespace @@ -592,13 +636,18 @@ =cut sub registerNamespace { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $type = $a{'namespaceType'}; $type ||=""; - my $authURI = $a{'authURI'}; $authURI ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $contact = $a{'contactEmail'};; $contact ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $type = $a{'namespaceType'}; + $type ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $contact = $a{'contactEmail'}; + $contact ||= ""; my $message = " $type @@ -606,15 +655,12 @@ $authURI $contact "; - -# my $return = $self->SOAP_connection->call(registerNamespace => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerNamespace', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(registerNamespace => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerNamespace', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterNamespace Title : deregisterNamespace @@ -627,23 +673,22 @@ =cut sub deregisterNamespace { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'namespaceType'}; $id ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'namespaceType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterNamespace => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterNamespace', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterNamespace => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'deregisterNamespace', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 registerService Title : registerService @@ -697,21 +742,41 @@ =cut sub registerService { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $name = $a{serviceName}; $name ||=""; - my $type = $a{serviceType}; $type ||=""; - my $authURI = $a{authURI}; $authURI ||=""; - my $email = $a{contactEmail}; $email ||=""; - my $URL = $a{URL}; $URL ||=""; - my $desc = $a{description}; $desc ||=""; - my $signatureURL = $a{signatureURL}; $signatureURL ||=""; - my $Category = lc($a{category}); chomp $Category; $Category ||=""; - return $self->errorRegXML("Only 'moby' and 'wsdl' Service Categories are currently allowed - you gave me $Category") unless (($Category eq 'moby') || ($Category eq 'wsdl')); - return $self->errorRegXML("All Fields Required: serviceName, serviceType, authURI, contactEmail, URL, description, Category, input, output, secondary") unless ( - $name && $type && $authURI && $email && $URL && $desc && $Category); - + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $name = $a{serviceName}; + $name ||= ""; + my $type = $a{serviceType}; + $type ||= ""; + my $authURI = $a{authURI}; + $authURI ||= ""; + my $email = $a{contactEmail}; + $email ||= ""; + my $URL = $a{URL}; + $URL ||= ""; + my $desc = $a{description}; + $desc ||= ""; + my $signatureURL = $a{signatureURL}; + $signatureURL ||= ""; + my $Category = lc( $a{category} ); + chomp $Category; + $Category ||= ""; + return $self->errorRegXML( +"Only 'moby' and 'wsdl' Service Categories are currently allowed - you gave me $Category" + ) + unless ( ( $Category eq 'moby' ) || ( $Category eq 'wsdl' ) ); + return $self->errorRegXML( +"All Fields Required: serviceName, serviceType, authURI, contactEmail, URL, description, Category, input, output, secondary" + ) + unless ( $name + && $type + && $authURI + && $email + && $URL + && $desc + && $Category ); my $message = " $Category @@ -723,127 +788,153 @@ $authURI $email"; - if ($Category eq "moby" || $Category eq 'soap') { + if ( $Category eq "moby" || $Category eq 'soap' ) { my %SEC; - if ($a{'secondary'} && (ref($a{'secondary'}) =~ /hash/i)){ - %SEC = %{$a{secondary}}; - } elsif ($a{'secondary'} && !(ref($a{'secondary'}) =~ /hash/i)){ - return $self->errorRegXML("invalid structure of secondary parameters. Expected hashref.") - } - - - my %funkyhash = ( Input => $a{input}, Output => $a{output}); - while (my ($inout, $param) = each %funkyhash){ - my $inout_lc = lc ($inout); + if ( $a{'secondary'} && ( ref( $a{'secondary'} ) =~ /hash/i ) ) { + %SEC = %{ $a{secondary} }; + } elsif ( $a{'secondary'} && !( ref( $a{'secondary'} ) =~ /hash/i ) ) { + return $self->errorRegXML( + "invalid structure of secondary parameters. Expected hashref." ); + } + my %funkyhash = ( Input => $a{input}, Output => $a{output} ); + while ( my ( $inout, $param ) = each %funkyhash ) { + my $inout_lc = lc( $inout ); my @ALLARTICLES = @{$param}; $message .= "<${inout_lc}Objects><${inout}>\n"; - + # input =>[ # [articleName1,[objType1 => \@namespaces]], # Simple # [articleName2, [[objType2 => \@namespaces]]], # collection of one object type # [articleName3,[[objType3 => \@namespaces], # [objType4 => \@namespaces]]] # collection of multiple object types # ] + foreach my $article ( @ALLARTICLES ) { + my ( $articleName, $def ) = @{$article}; + $articleName ||= ""; + my @Objects; # + unless ( ref( $def ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of $inout objects, expected arrayref for article $articleName" + ); + } + my @objectdefs; + if ( ( ref $def->[0] ) =~ /array/i ) { # collection + # def= [[objType2 => [ns3, ns4...]], ...] + $message .= "\n"; + @objectdefs = @{$def}; + } else { # Nipple + @objectdefs = ( $def ); - foreach my $article(@ALLARTICLES){ - my ($articleName, $def) = @{$article}; - $articleName ||=""; - my @Objects; # - unless (ref($def) =~ /array/i){return $self->errorRegXML("invalid structure of $inout objects, expected arrayref for article $articleName")} - my @objectdefs; - if ((ref $def->[0]) =~ /array/i){ # collection - # def= [[objType2 => [ns3, ns4...]], ...] - $message .="\n"; - @objectdefs = @{$def}; - } else { # Nipple - @objectdefs = ($def); # def = [objType1 => [ns1, ns2...]], } - - foreach my $objectdef(@objectdefs){ - if ((ref($def->[0])) =~ /array/i){ - $message .="\n"; + foreach my $objectdef ( @objectdefs ) { + if ( ( ref( $def->[0] ) ) =~ /array/i ) { + $message .= "\n"; } else { - $message .="\n"; - } - my ($type, $Namespaces) = @{$objectdef}; - $message .="$type\n"; - unless (ref($Namespaces) =~ /array/i){return $self->errorRegXML("invalid structure of $inout namespaces for object $type in article $articleName; expected arrayref")} - foreach my $ns(@{$Namespaces}){ - $message .="$ns\n"; + $message .= "\n"; + } + my ( $type, $Namespaces ) = @{$objectdef}; + $message .= "$type\n"; + unless ( ref( $Namespaces ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of $inout namespaces for object $type in article $articleName; expected arrayref" + ); } - $message .="\n"; + foreach my $ns ( @{$Namespaces} ) { + $message .= "$ns\n"; + } + $message .= "\n"; } - if ((ref($def->[0])) =~ /array/i){ - $message .="\n"; + if ( ( ref( $def->[0] ) ) =~ /array/i ) { + $message .= "\n"; } } $message .= "\n"; } -# secondary => {parametername1 => {datatype => TYPE, -# default => DEFAULT, -# max => MAX, -# min => MIN, -# enum => [one, two]}, -# parametername2 => {datatype => TYPE, -# default => DEFAULT, -# max => MAX, -# min => MIN, -# enum => [one, two]} -# } -# - - $message .="\n"; - while (my ($param, $desc) = each %SEC){ - unless ((ref($desc)) =~ /hash/i){return $self->errorRegXML("invalid structure of secondary article $param; expected hashref of limitations")} - my %data = %{$desc}; - my $default = $data{default}; - my $max = $data{max}; - my $min = $data{min}; + + # secondary => {parametername1 => {datatype => TYPE, + # default => DEFAULT, + # max => MAX, + # min => MIN, + # enum => [one, two]}, + # parametername2 => {datatype => TYPE, + # default => DEFAULT, + # max => MAX, + # min => MIN, + # enum => [one, two]} + # } + # + $message .= "\n"; + while ( my ( $param, $desc ) = each %SEC ) { + unless ( ( ref( $desc ) ) =~ /hash/i ) { + return $self->errorRegXML( +"invalid structure of secondary article $param; expected hashref of limitations" + ); + } + my %data = %{$desc}; + my $default = $data{default}; + my $max = $data{max}; + my $min = $data{min}; my $datatype = $data{datatype}; - unless ($datatype){return $self->errorRegXML("a secondaryArticle must contain at least a datatype value in secondary article $param");} - unless (($datatype =~ /Integer/) || ($datatype =~ /Float/) || ($datatype =~ /String/) || ($datatype =~ /DateTime/)){return $self->errorRegXML("a secondaryArticle must have a datatype of Integer, Float, String, or DateTime");} - unless ((ref($data{enum})) =~ /array/i){return $self->errorRegXML("invalid structure of enum limits in secondary article $param; expected arrayref")} - my @enums = @{$data{enum}}; - $message .="\n"; - $message .="$default\n"; - $message .="$datatype\n"; - $message .="$max\n"; - $message .="$min\n"; - foreach (@enums){ - $message .="$_\n"; + unless ( $datatype ) { + return $self->errorRegXML( +"a secondaryArticle must contain at least a datatype value in secondary article $param" + ); + } + unless ( ( $datatype =~ /Integer/ ) + || ( $datatype =~ /Float/ ) + || ( $datatype =~ /String/ ) + || ( $datatype =~ /DateTime/ ) ) + { + return $self->errorRegXML( +"a secondaryArticle must have a datatype of Integer, Float, String, or DateTime" + ); + } + unless ( ( ref( $data{enum} ) ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of enum limits in secondary article $param; expected arrayref" + ); } - $message .="\n"; + my @enums = @{ $data{enum} }; + $message .= "\n"; + $message .= "$default\n"; + $message .= "$datatype\n"; + $message .= "$max\n"; + $message .= "$min\n"; + foreach ( @enums ) { + $message .= "$_\n"; + } + $message .= "\n"; } $message .= "\n"; $message .= ""; - } else { return $self->errorRegXML("only 'moby' and 'wsdl' service types are allowed to be registered at this time.")} - - #elsif ($Category eq "cgi") { - # my $IN = $a{input}; - # $message .= " - # - # - # - # "; - #} else { - # $message .= " - # "; - #} - - - #unless ($message =~ /\<\/registerService/){ return MOBY::Registration->new( - # success => "0", - # error_messsage => "missing parameters or other failure leading to incorrectly formatted XML", - # registration_id => "0")}; + } else { + return $self->errorRegXML( +"only 'moby' and 'wsdl' service types are allowed to be registered at this time." + ); + } +#elsif ($Category eq "cgi") { +# my $IN = $a{input}; +# $message .= " +# +# +# +# "; +#} else { +# $message .= " +# "; +#} +#unless ($message =~ /\<\/registerService/){ return MOBY::Registration->new( +# success => "0", +# error_messsage => "missing parameters or other failure leading to incorrectly formatted XML", +# registration_id => "0")}; # print STDERR $message; - $debug && &_LOG(" message\n\n$message\n\n"); -# my $return = $self->SOAP_connection->call(registerService => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerService', $message); - - return ($self->parseRegXML($return)); + $debug && &_LOG( " message\n\n$message\n\n" ); +# my $return = $self->SOAP_connection->call(registerService => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerService', $message ); + return ( $self->parseRegXML( $return ) ); } =head2 registerServiceWSDL @@ -854,20 +945,18 @@ =cut - sub registerServiceWSDL { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $message = ""; - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $message = ""; # my $return = $self->SOAP_connection->call(registerServiceWSDL => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerServiceWSDL', $message); - - return ($self->parseRegXML($return)); - + my ( $return ) = $self->_call( 'default', 'registerServiceWSDL', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterService Title : deregisterService @@ -879,35 +968,32 @@ =cut - - sub deregisterService { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; my $name = $a{'serviceName'}; my $auth = $a{'authURI'}; - (defined($name) && defined($auth)) || return (&parseRegXML(" + ( defined( $name ) && defined( $auth ) ) || return ( + &parseRegXML( " 0 - ")); + " ) + ); my $message = " $name $auth "; - -# my $return = $self->SOAP_connection->call(deregisterService => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterService', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterService => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'deregisterService', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 findService Title : findService @@ -942,102 +1028,143 @@ =cut - sub findService { - - my ($self, %a) = @_; - my $reg = ($a{Registry})?$a{Registry}:$self->default_MOBY_servername; - + my ( $self, %a ) = @_; + my $reg = ( $a{Registry} ) ? $a{Registry} : $self->default_MOBY_servername; my $id = $a{'serviceID'}; - my $servicename = $a{'serviceName'}; $servicename ||=""; - my $authoritative = $a{'authoritative'}; $authoritative ||= 0; - my $serviceType = $a{'serviceType'}; $serviceType ||= ""; - my $authURI = $a{'authURI'}; $authURI ||=""; - my $category = $a{'category'}; $category ||= "moby" ; - my $exObj = $a{'expandObjects'}; $exObj ||=0; - my $exServ = $a{'expandServices'}; $exServ ||= 0; - my $kw = $a{'keywords'}; $kw ||=[]; - ref($kw) =~ /array/i || return (undef, $self->errorRegXML("invalid structure of keywords. Expected arrayref")); - my @kw = @{$kw}; - + my $servicename = $a{'serviceName'}; + $servicename ||= ""; + my $authoritative = $a{'authoritative'}; + $authoritative ||= 0; + my $serviceType = $a{'serviceType'}; + $serviceType ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + my $category = $a{'category'}; + $category ||= "moby"; + my $exObj = $a{'expandObjects'}; + $exObj ||= 0; + my $exServ = $a{'expandServices'}; + $exServ ||= 0; + my $kw = $a{'keywords'}; + $kw ||= []; + ref( $kw ) =~ /array/i || return ( + undef, + $self->errorRegXML( + "invalid structure of keywords. Expected arrayref" + ) + ); + my @kw = @{$kw}; my $message = "\n"; - - defined($authoritative) && ($message .="$authoritative\n"); - $category && ($message .="$category\n"); - $serviceType && ($message .="$serviceType\n"); - $servicename && ($message .="$servicename\n"); - $authURI && ($message .="$authURI\n"); - defined($exObj) && ($message .="$exObj \n"); - defined($exServ) && ($message .="$exServ\n"); - if (scalar(@kw)){ - $message .=" \n"; - foreach my $kwd(@kw){ - $message .="$kwd\n"; + defined( $authoritative ) + && ( $message .= "$authoritative\n" ); + $category && ( $message .= "$category\n" ); + $serviceType && ( $message .= "$serviceType\n" ); + $servicename && ( $message .= "$servicename\n" ); + $authURI && ( $message .= "$authURI\n" ); + defined( $exObj ) + && ( $message .= "$exObj \n" ); + defined( $exServ ) + && ( $message .= "$exServ\n" ); + + if ( scalar( @kw ) ) { + $message .= " \n"; + foreach my $kwd ( @kw ) { + $message .= "$kwd\n"; } - $message .="\n"; - } + $message .= "\n"; + } + #$a{input} = [[]] unless (defined $a{input}); #$a{output} = [[]] unless (defined $a{output}); - if (defined $a{input} && !(ref($a{input}) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of input objects, expected arrayref for input"))} - if (defined $a{output} && !(ref($a{output}) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of output objects, expected arrayref for output"))} + if ( defined $a{input} && !( ref( $a{input} ) =~ /array/i ) ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of input objects, expected arrayref for input" + ) + ); + } + if ( defined $a{output} && !( ref( $a{output} ) =~ /array/i ) ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of output objects, expected arrayref for output" + ) + ); + } my %funkyhash; - - $funkyhash{Input} = $a{input} if (defined $a{input}) ; - $funkyhash{Output} = $a{output} if (defined $a{output}) ; - #input =>[ - # [objType1 => [ns1, ns2...]], # Simple - # [[objType2 => [ns3, ns4...]]], # collection of one object type - # [[objType3 => [ns3, ns4...]], - # [objType4 => [ns5, ns6...]]], # collection of multiple object types - # ] - while (my ($inout, $param) = each %funkyhash){ + $funkyhash{Input} = $a{input} if ( defined $a{input} ); + $funkyhash{Output} = $a{output} if ( defined $a{output} ); + + #input =>[ + # [objType1 => [ns1, ns2...]], # Simple + # [[objType2 => [ns3, ns4...]]], # collection of one object type + # [[objType3 => [ns3, ns4...]], + # [objType4 => [ns5, ns6...]]], # collection of multiple object types + # ] + while ( my ( $inout, $param ) = each %funkyhash ) { die "no inout parameter from teh funkyhash" unless defined $inout; die "no param parameter from teh funkyhash" unless defined $param; - die "param parameter should be a listref" unless (ref($param) =~ /ARRAY/); - - my $inout_lc = lc ($inout); - my @PARAM = @{$param}; + die "param parameter should be a listref" + unless ( ref( $param ) =~ /ARRAY/ ); + my $inout_lc = lc( $inout ); + my @PARAM = @{$param}; $message .= "<${inout_lc}Objects><${inout}>\n"; - foreach my $param(@PARAM){ - unless (ref($param) =~ /array/i){return (undef, $self->errorRegXML("invalid structure of $inout objects, expected arrayref of class and \@namespaces"))} - my ($class, $namespaces) = @{$param}; + foreach my $param ( @PARAM ) { + unless ( ref( $param ) =~ /array/i ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of $inout objects, expected arrayref of class and \@namespaces" + ) + ); + } + my ( $class, $namespaces ) = @{$param}; die "no class part of param " unless defined $class; + #warn "no namespace part of the param" unless defined $namespaces; my @objectdefs; - if ((ref $class) =~ /array/i){ # collection - $message .="\n"; - @objectdefs = $class; - } else { # Nipple - @objectdefs = ($param); + if ( ( ref $class ) =~ /array/i ) { # collection + $message .= "\n"; + @objectdefs = $class; + } else { # Nipple + @objectdefs = ( $param ); } - - foreach my $objectdef(@objectdefs){ - $message .="\n"; - my ($type, $Namespaces) = @{$objectdef}; + foreach my $objectdef ( @objectdefs ) { + $message .= "\n"; + my ( $type, $Namespaces ) = @{$objectdef}; die "type is missing from objectdef " unless $type; - $message .="$type\n"; - if (defined($Namespaces) && !(ref($Namespaces) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of $inout namespaces for object $type; expected arrayref"))} - foreach my $ns(@{$Namespaces}){ + $message .= "$type\n"; + if ( defined( $Namespaces ) + && !( ref( $Namespaces ) =~ /array/i ) ) + { + return ( + undef, + $self->errorRegXML( +"invalid structure of $inout namespaces for object $type; expected arrayref" + ) + ); + } + foreach my $ns ( @{$Namespaces} ) { next unless $ns; - $message .="$ns\n"; + $message .= "$ns\n"; } - $message .="\n"; + $message .= "\n"; } - if ((ref($class)) =~ /array/i){ - $message .="\n"; + if ( ( ref( $class ) ) =~ /array/i ) { + $message .= "\n"; } } $message .= "\n"; } $message .= "\n"; - -# my $return = $self->SOAP_connection($reg)->call('findService' => ($message))->paramsall; - my ($return) = $self->_call($reg, 'findService', $message); - return ($self->_parseServices($reg, $return), undef); +# my $return = $self->SOAP_connection($reg)->call('findService' => ($message))->paramsall; + my ( $return ) = $self->_call( $reg, 'findService', $message ); + return ( $self->_parseServices( $reg, $return ), undef ); } - =head2 retrieveService Title : retrieveService @@ -1048,48 +1175,37 @@ =cut - sub retrieveService { - - my ($self, $SI)=@_; - return undef unless $SI && $SI->isa('MOBY::Client::ServiceInstance'); - + my ( $self, $SI ) = @_; + return undef unless $SI && $SI->isa( 'MOBY::Client::ServiceInstance' ); my $auth = $SI->authority; my $name = $SI->name; - my $reg = $SI->registry; - - return undef unless ($auth && $name && $self->Connection($reg)); - + my $reg = $SI->registry; + return undef unless ( $auth && $name && $self->Connection( $reg ) ); my $message = " - ".($SI->XML)." + " . ( $SI->XML ) . " "; - # my $return = $self->SOAP_connection($reg)->call(retrieveService => ($message))->paramsall; - my ($return) = $self->_call($reg, 'retrieveService', $message); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - - my $de = $doc->getDocumentElement; - my @child = $de->getChildNodes; - my $content; - foreach (@child){ - $debug && &_LOG($_->getNodeTypeName, "\t", $_->toString,"\n"); - if ($_->getNodeType == TEXT_NODE) { - $content .= $_->getNodeValue; + my ( $return ) = $self->_call( $reg, 'retrieveService', $message ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $de = $doc->getDocumentElement; + my @child = $de->childNodes; + my $content; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + if ( $_->nodeType == TEXT_NODE ) { + $content .= $_->nodeValue; #else try $_->textContent } else { - $content .= $_->toString; + $content .= $_->toString; } - } - - $content =~ s/^\n//gs; - return $content; - + } + $content =~ s/^\n//gs; + return $content; } - =head2 retrieveServiceNames Title : retrieveServiceNames @@ -1102,32 +1218,30 @@ =cut - sub retrieveServiceNames { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; - - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); # my $return = $self->SOAP_connection($reg)->call('retrieveServiceNames' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceNames', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $names_list = $root->getChildNodes; - my %servicenames; - for (my $x = 0; $x < $names_list->getLength; $x++){ - next unless $names_list->item($x)->getNodeType == ELEMENT_NODE; - my $name = $names_list->item($x)->getAttributeNode('name')->getValue; - my $auth = $names_list->item($x)->getAttributeNode('authURI')->getValue; - push @{$servicenames{$auth}}, $name; - } - return \%servicenames; + my ( $return ) = $self->_call( $reg, 'retrieveServiceNames', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $names_list = $root->childNodes; + my %servicenames; + for ( my $x = 1 ; $x <= $names_list->size() ; $x++ ) { + next unless $names_list->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $names_list->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $auth = + $names_list->get_node( $x )->getAttributeNode( 'authURI' )->getValue; + push @{ $servicenames{$auth} }, $name; + } + return \%servicenames; } - =head2 retrieveServiceProviders Title : retrieveServiceProviders @@ -1138,26 +1252,26 @@ =cut - -sub retrieveServiceProviders{ - my ($self) = shift; +sub retrieveServiceProviders { + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveServiceProviders' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceProviders', ""); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $providers = $root->getChildNodes; - my @serviceproviders; - for (my $x = 0; $x < $providers->getLength; $x++){ - next unless $providers->item($x)->getNodeType == ELEMENT_NODE; - push @serviceproviders, $providers->item($x)->getAttributeNode('name')->getValue; - } - return @serviceproviders; -} + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); +# my $return = $self->SOAP_connection($reg)->call('retrieveServiceProviders' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveServiceProviders', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $providers = $root->childNodes; + my @serviceproviders; + for ( my $x = 1 ; $x <= $providers->size() ; $x++ ) { + next unless $providers->get_node( $x )->nodeType == ELEMENT_NODE; + push @serviceproviders, + $providers->get_node( $x )->getAttributeNode( 'name' )->getValue; + } + return @serviceproviders; +} =head2 retrieveServiceTypes @@ -1170,35 +1284,33 @@ =cut - sub retrieveServiceTypes { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveServiceTypes' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceTypes', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $types = $root->getChildNodes; - my %servicetypes; - for (my $x = 0; $x < $types->getLength; $x++){ - next unless $types->item($x)->getNodeType == ELEMENT_NODE; - my $type = $types->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($types->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild->toString; - } - $servicetypes{$type} = $desc; - } - return \%servicetypes; - + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); +# my $return = $self->SOAP_connection($reg)->call('retrieveServiceTypes' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveServiceTypes', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $types = $root->childNodes; + my %servicetypes; + for ( my $x = 1 ; $x <= $types->size() ; $x++ ) { + next unless $types->get_node( $x )->nodeType == ELEMENT_NODE; + my $type = $types->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $types->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild->toString; + } + $servicetypes{$type} = $desc; + } + return \%servicetypes; } - =head2 retrieveObjectNames Title : retrieveObjectNames @@ -1210,35 +1322,34 @@ =cut - sub retrieveObjectNames { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); - #my $return = $self->SOAP_connection($reg)->call('retrieveObjectNames' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveObjectNames', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $obnames = $root->getChildNodes; - my %objectnames; - for (my $x = 0; $x < $obnames->getLength; $x++){ - next unless $obnames->item($x)->getNodeType == ELEMENT_NODE; - my $name = $obnames->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($obnames->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild->toString; - } - $objectnames{$name} = $desc; - } - return \%objectnames; - +#my $return = $self->SOAP_connection($reg)->call('retrieveObjectNames' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveObjectNames', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $obnames = $root->childNodes; + my %objectnames; + for ( my $x = 1 ; $x <= $obnames->size() ; $x++ ) { + next unless $obnames->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $obnames->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $obnames->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild->toString; + } + $objectnames{$name} = $desc; + } + return \%objectnames; } - =head2 retrieveNamespaces Title : retrieveNamespaces @@ -1250,34 +1361,34 @@ =cut - sub retrieveNamespaces { - my ($self)= shift; + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); -# my $return = $self->SOAP_connection($reg)->call('retrieveNamespaces' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveNamespaces', ""); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $namesp = $root->getChildNodes; - my %namespaces; - for (my $x = 0; $x < $namesp->getLength; $x++){ - next unless $namesp->item($x)->getNodeType == ELEMENT_NODE; - my $ns = $namesp->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($namesp->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild; - $desc = $desc?$desc->toString:""; - } - $namespaces{$ns} = $desc; - } - return \%namespaces; +# my $return = $self->SOAP_connection($reg)->call('retrieveNamespaces' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveNamespaces', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $namesp = $root->childNodes; + my %namespaces; + for ( my $x = 1 ; $x <= $namesp->size() ; $x++ ) { + next unless $namesp->get_node( $x )->nodeType == ELEMENT_NODE; + my $ns = $namesp->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $namesp->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild; + $desc = $desc ? $desc->toString : ""; + } + $namespaces{$ns} = $desc; + } + return \%namespaces; } - =head2 retrieveObject NOT YET IMPLEMENTED @@ -1291,38 +1402,39 @@ =cut - sub retrieveObject { - my ($self)= shift; - my ($reg) = shift; - my $type = shift; - my $message = " + my ( $self ) = shift; + my ( $reg ) = shift; + my $type = shift; + my $message = " $type "; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveObject' => ($message))->paramsall; - my ($return) = $self->_call($reg, 'retrieveObject', $message); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $objects = $root->getChildNodes; - my %objects; - for (my $x = 0; $x < $objects->getLength; $x++){ - next unless $objects->item($x)->getNodeType == ELEMENT_NODE; - my $name = $objects->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($objects->item($x)->getElementsByTagName('Schema')){ - $desc = $elem->getFirstChild->getNodeValue; - } - $objects{$name} = $desc; - } - return \%objects; +# my $return = $self->SOAP_connection($reg)->call('retrieveObject' => ($message))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveObject', $message ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $objects = $root->childNodes; + my %objects; + for ( my $x = 1 ; $x <= $objects->size() ; $x++ ) { + next unless $objects->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $objects->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $objects->get_node( $x )->getElementsByTagName( 'Schema' ) ) + { + $desc = $elem->firstChild->nodeValue; + } + $objects{$name} = $desc; + } + return \%objects; } - =head2 Relationships Title : Relationships @@ -1338,77 +1450,86 @@ =cut - sub Relationships { - my ($self, %args) = @_; - my $object = $args{'objectType'}; + my ( $self, %args ) = @_; + my $object = $args{'objectType'}; my $service = $args{'serviceType'}; - my $expand = $args{'expandRelationships'}; - $expand = $args{'expandRelationship'} unless defined($expand); # be forgiving of typos - + my $expand = $args{'expandRelationships'}; + $expand = $args{'expandRelationship'} + unless defined( $expand ); # be forgiving of typos my @relationships; - @relationships = @{$args{'Relationships'}} if ($args{'Relationships'} && (ref($args{'Relationships'}) =~ /array/i)); + @relationships = @{ $args{'Relationships'} } + if ( $args{'Relationships'} + && ( ref( $args{'Relationships'} ) =~ /array/i ) ); my $reg = $args{'Registry'}; - my $m; my $payload; - return {} unless ($object || $service); - if ($object){ + my $m; + my $payload; + return {} unless ( $object || $service ); + + if ( $object ) { $m = " $object\n"; - foreach (@relationships){ + foreach ( @relationships ) { $m .= "$_\n"; } $m .= "1\n" if $expand; - $m .= ""; - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); - #$payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - ($payload) = $self->_call($reg, 'Relationships', $m); - } elsif ($service){ + $m .= ""; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + +#$payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; + ( $payload ) = $self->_call( $reg, 'Relationships', $m ); + } elsif ( $service ) { $m = " $service\n"; - foreach (@relationships){ + foreach ( @relationships ) { $m .= "$_\n"; } $m .= "1\n" if $expand; - $m .= ""; - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $m .= ""; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + # $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - ($payload) = $self->_call($reg, 'Relationships', $m); + ( $payload ) = $self->_call( $reg, 'Relationships', $m ); } - return &_relationshipsPayload($payload); + return &_relationshipsPayload( $payload ); } - - -sub _relationshipsPayload{ - my ($payload) = @_; +sub _relationshipsPayload { + my ( $payload ) = @_; return undef unless $payload; - my %att_value; my %relationships; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, $_->toString; + my %att_value; + my %relationships; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, $_->toString; } } } return \%relationships; } - - =head2 ISA Title : ISA @@ -1421,35 +1542,40 @@ =cut - sub ISA { - my ($self, $class1, $class2) = @_; - return 1 if (($class1 eq $class2) || ("moby:$class1" eq $class2) || ($class1 eq "moby:$class2")); - my $lsid1 = $self->ObjLSID($class1); - my $lsid2 = $self->ObjLSID($class2); + my ( $self, $class1, $class2 ) = @_; + return 1 + if ( ( $class1 eq $class2 ) + || ( "moby:$class1" eq $class2 ) + || ( $class1 eq "moby:$class2" ) ); + my $lsid1 = $self->ObjLSID( $class1 ); + my $lsid2 = $self->ObjLSID( $class2 ); return 0 unless $lsid1 && $lsid2; my @lsids; - unless (@lsids = $self->ISA_CACHE($lsid1)){ - my $resp = $self->Relationships(objectType => $lsid1, expandRelationship => 1, Relationships => ['ISA']); + unless ( @lsids = $self->ISA_CACHE( $lsid1 ) ) { + my $resp = $self->Relationships( + objectType => $lsid1, + expandRelationship => 1, + Relationships => ['ISA'] + ); my $lsids = $resp->{'urn:lsid:biomoby.org:objectrelation:isa'}; @lsids = @$lsids; - $self->ISA_CACHE($lsid1, [@lsids]); - $self->ISA_CACHE($class1, [@lsids]); + $self->ISA_CACHE( $lsid1, [@lsids] ); + $self->ISA_CACHE( $class1, [@lsids] ); my @hold = @lsids; - while (shift @hold){ - $self->ISA_CACHE($_, [@hold]); - if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ - $self->ISA_CACHE($1, [@lsids]); - } + while ( shift @hold ) { + $self->ISA_CACHE( $_, [@hold] ); + if ( $_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/ ) { + $self->ISA_CACHE( $1, [@lsids] ); + } } } - foreach (@lsids){ + foreach ( @lsids ) { return 1 if $_ eq $lsid2; } return 0; } - =head2 DUMP @@ -1462,100 +1588,113 @@ =cut - sub DUMP { - my ($self)= shift; - my ($reg) = shift; - my $type = shift; - - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# return $self->SOAP_connection($reg)->call('DUMP')->paramsall; - my ($SQLs) = $self->_call($reg, 'DUMP_MySQL', ""); - my ($mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship) = @{$SQLs}; - return ($mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship); + my ( $self ) = shift; + my ( $reg ) = shift; + my $type = shift; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + + # return $self->SOAP_connection($reg)->call('DUMP')->paramsall; + my ( $SQLs ) = $self->_call( $reg, 'DUMP_MySQL', "" ); + my ( + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ) + = @{$SQLs}; + return ( + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ); } - -*DUMP_MySQL =\&DUMP; -*DUMP_MySQL =\&DUMP; +*DUMP_MySQL = \&DUMP; +*DUMP_MySQL = \&DUMP; sub _parseServices { - my ($self, $Registry, $XML) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($XML); - my $Object = $doc->getDocumentElement(); - my $Services = $Object->getElementsByTagName("Service"); - my $num = $Services->getLength; - my @Services; - for (my $x = 0; $x < $num; $x++){ - my $Service = $Services->item($x); - my $AuthURI = $Service->getAttributeNode('authURI')->getValue; - my $servicename = $Service->getAttributeNode('serviceName')->getValue; - my $Type = &_nodeTextContent($Service, 'serviceType'); - my $authoritative = &_nodeTextContent($Service, 'authoritative'); - my $contactEmail = &_nodeTextContent($Service, 'contactEmail'); - my $URL = &_nodeTextContent($Service, 'URL'); - #my $Output = &_nodeTextContent($Service, 'outputObject'); - my $Description = &_nodeTextContent($Service, 'Description'); - my $cat = &_nodeTextContent($Service, 'Category'); - + my ( $self, $Registry, $XML ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $XML ); + my $Object = $doc->getDocumentElement(); + my $Services = $Object->getElementsByTagName( "Service" ); + my $num = $Services->size(); + my @Services; + for ( my $x = 1 ; $x <= $num ; $x++ ) { + my $Service = $Services->get_node( $x ); + my $AuthURI = $Service->getAttributeNode( 'authURI' )->getValue; + my $servicename = $Service->getAttributeNode( 'serviceName' )->getValue; + my $Type = &_nodeTextContent( $Service, 'serviceType' ); + my $authoritative = &_nodeTextContent( $Service, 'authoritative' ); + my $contactEmail = &_nodeTextContent( $Service, 'contactEmail' ); + my $URL = &_nodeTextContent( $Service, 'URL' ); + + #my $Output = &_nodeTextContent($Service, 'outputObject'); + my $Description = &_nodeTextContent( $Service, 'Description' ); + my $cat = &_nodeTextContent( $Service, 'Category' ); my @INPUTS; my @OUTPUTS; - - foreach my $inout("Input", "Output"){ - my $xPuts = $Service->getElementsByTagName($inout); # there should only be one, but... who knows what - for my $in(0..$xPuts->getLength-1){ - my $current = $xPuts->item($in); - - foreach my $child($current->getChildNodes){ # child nodes will be either "Simple" or "Complex" tagnames - next unless $child->getNodeType == ELEMENT_NODE; + foreach my $inout ( "Input", "Output" ) { + my $xPuts = + $Service->getElementsByTagName( $inout ) + ; # there should only be one, but... who knows what + for my $in ( 1 .. $xPuts->size() ) { + my $current = $xPuts->get_node( $in ); + foreach my $child ( $current->childNodes ) + { # child nodes will be either "Simple" or "Complex" tagnames + next unless $child->nodeType == ELEMENT_NODE; my $THIS; - if ($child->getTagName eq "Simple"){ - $THIS = MOBY::Client::SimpleArticle->new(XML_DOM => $child); - } elsif ($child->getTagName eq "Collection"){ - $THIS = MOBY::Client::CollectionArticle->new(XML_DOM => $child); + if ( $child->nodeName eq "Simple" ) { + $THIS = + MOBY::Client::SimpleArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName eq "Collection" ) { + $THIS = + MOBY::Client::CollectionArticle->new( + XML_DOM => $child ); } else { - next + next; } - if ($inout eq "Input"){ + if ( $inout eq "Input" ) { push @INPUTS, $THIS; } else { push @OUTPUTS, $THIS; } } } - } - my @SECONDARIES; - my $secs = $Service->getElementsByTagName("secondaryArticles"); # there should only be one, but... who knows what - for my $in(0..$secs->getLength-1){ - my $current = $secs->item($in); - - foreach my $param($current->getChildNodes){ # child nodes will be "Parameter" tag names - next unless $param->getNodeType == ELEMENT_NODE && $param->getTagName eq "Parameter"; - my $THIS; - $THIS = MOBY::Client::SecondaryArticle->new(XML_DOM => $param); - push @SECONDARIES, $THIS; - } - } - - my $Instance = MOBY::Client::ServiceInstance->new( - authority => $AuthURI, - authoritative => $authoritative, - URL => $URL, - contactEmail => $contactEmail, - name => $servicename, - type => $Type, - category => $cat, - input => \@INPUTS, - output => \@OUTPUTS, - secondary => \@SECONDARIES, - description => $Description, - registry => $Registry, - XML => $Service->toString, - ); - push @Services, $Instance; - } - return \@Services; + } + my @SECONDARIES; + my $secs = + $Service->getElementsByTagName( "secondaryArticles" ) + ; # there should only be one, but... who knows what + for my $in ( 1 .. $secs->size() ) { + my $current = $secs->get_node( $in ); + foreach my $param ( $current->childNodes ) + { # child nodes will be "Parameter" tag names + next + unless $param->nodeType == ELEMENT_NODE + && $param->nodeName eq "Parameter"; + my $THIS; + $THIS = + MOBY::Client::SecondaryArticle->new( XML_DOM => $param ); + push @SECONDARIES, $THIS; + } + } + my $Instance = MOBY::Client::ServiceInstance->new( + authority => $AuthURI, + authoritative => $authoritative, + URL => $URL, + contactEmail => $contactEmail, + name => $servicename, + type => $Type, + category => $cat, + input => \@INPUTS, + output => \@OUTPUTS, + secondary => \@SECONDARIES, + description => $Description, + registry => $Registry, + XML => $Service->toString, + ); + push @Services, $Instance; + } + return \@Services; } # my ($e, $m, $lsid) = $OS->objectExists(term => $_); @@ -1565,20 +1704,20 @@ =cut sub ObjLSID { - my ($self, $term) = @_; + my ( $self, $term ) = @_; return undef unless $term; my $lsid; - if ($lsid = $self->LSID_CACHE($term)){ + if ( $lsid = $self->LSID_CACHE( $term ) ) { return $lsid; } else { my $os = MOBY::Client::OntologyServer->new; - my ($s, $m, $tlsid) = $os->objectExists(term => $term); - if ($tlsid){ - $self->LSID_CACHE($term, $tlsid); # link both the term - $self->LSID_CACHE($tlsid, $tlsid); # and the lsid to itself - return $tlsid + my ( $s, $m, $tlsid ) = $os->objectExists( term => $term ); + if ( $tlsid ) { + $self->LSID_CACHE( $term, $tlsid ); # link both the term + $self->LSID_CACHE( $tlsid, $tlsid ); # and the lsid to itself + return $tlsid; } else { - return undef + return undef; } } } @@ -1594,20 +1733,18 @@ =cut - sub LSID_CACHE { - my ($self, $term, $lsid) = @_; - if ($term && $lsid){ + my ( $self, $term, $lsid ) = @_; + if ( $term && $lsid ) { $self->{LSID_CACHE}->{$term} = $lsid; - return $self->{LSID_CACHE}->{$term}; - } elsif ($term){ + return $self->{LSID_CACHE}->{$term}; + } elsif ( $term ) { return $self->{LSID_CACHE}->{$term}; } else { - return undef + return undef; } } - =head2 ISA_CACHE Title : ISA_CACHE @@ -1623,143 +1760,146 @@ =cut sub ISA_CACHE { - my ($self, $desiredterm, $isas) = @_; + my ( $self, $desiredterm, $isas ) = @_; my $term = $desiredterm; - return (undef) if $isas && !(ref($isas)=~/ARRAY/); - if ($term && $isas){ + return ( undef ) if $isas && !( ref( $isas ) =~ /ARRAY/ ); + if ( $term && $isas ) { $self->{ISA_CACHE}->{$desiredterm} = [@$isas]; - while (my $term = shift(@$isas)){ + while ( my $term = shift( @$isas ) ) { $self->{ISA_CACHE}->{$term} = [@$isas]; } - return @{$self->{ISA_CACHE}->{$desiredterm}}; - } elsif ($term && $self->{ISA_CACHE}->{$desiredterm}){ - return @{$self->{ISA_CACHE}->{$desiredterm}}; + return @{ $self->{ISA_CACHE}->{$desiredterm} }; + } elsif ( $term && $self->{ISA_CACHE}->{$desiredterm} ) { + return @{ $self->{ISA_CACHE}->{$desiredterm} }; } else { return (); } } - sub parseRegXML { - # - # $id - # $success - # - # - my ($self, $xml) = @_; - my $Parser = new XML::DOM::Parser; + + # + # $id + # $success + # + # + my ( $self, $xml ) = @_; + my $Parser = XML::LibXML->new(); + #print STDERR $xml; - my $doc = $Parser->parse($xml); + my $doc = $Parser->parse_string( $xml ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'MOBYRegistration'); - my $id = &_nodeTextContent($Object, 'id'); - my $success = &_nodeTextContent($Object, 'success'); - my $message = &_nodeTextContent($Object, 'message'); - my $RDF = &_nodeRawContent($Object, 'RDF'); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'MOBYRegistration' ); + my $id = &_nodeTextContent( $Object, 'id' ); + my $success = &_nodeTextContent( $Object, 'success' ); + my $message = &_nodeTextContent( $Object, 'message' ); + my $RDF = &_nodeRawContent( $Object, 'RDF' ); my $reg = MOBY::Client::Registration->new( - success => $success, - message => $message, - registration_id => $id, - RDF => $RDF, - id => $id); - return $reg; + success => $success, + message => $message, + registration_id => $id, + RDF => $RDF, + id => $id + ); + return $reg; } sub errorRegXML { - my ($self, $message) = @_; + my ( $self, $message ) = @_; my $reg = MOBY::Client::Registration->new( - success => 0, - message => $message, - registration_id => -1,); - return $reg; + success => 0, + message => $message, + registration_id => -1, + ); + return $reg; } sub _nodeTextContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - my $x = $DOM->getElementsByTagName($node); - unless ($x->item(0)){return}; - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - $content = $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + my $x = $DOM->getElementsByTagName( $node ); + unless ( $x->get_node( 1 ) ) { return } + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + $content = $_->toString; + } + return $content; } sub _nodeRawContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - my $x = $DOM->getElementsByTagName($node); - unless ($x->item(0)){return}; - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; -# next unless $_->getNodeType == TEXT_NODE; - $content .= $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + my $x = $DOM->getElementsByTagName( $node ); + unless ( $x->get_node( 1 ) ) { return } + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + # next unless $_->nodeType == TEXT_NODE; + $content .= $_->toString; + } + return $content; } - sub _nodeArrayContent { + # will get array content of all child $node from given $DOM # regardless of depth! - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeArrayContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my @result; - my $x = $DOM->getElementsByTagName($node); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @result, $_->toString; - } - } - return @result; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeArrayContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my @result; + my $x = $DOM->getElementsByTagName( $node ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @result, $_->toString; + } + } + return @result; } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} +sub DESTROY { } sub _LOG { return unless $debug; @@ -1768,5 +1908,4 @@ print LOG "\n---\n"; close LOG; } - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2004/07/27 22:56:32 1.9 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2004/11/18 17:41:16 1.10 @@ -1,12 +1,11 @@ package MOBY::Client::CollectionArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); use MOBY::Client::SimpleArticle; - =head1 NAME MOBY::Client::CollectionArticle - a small object describing the Collection articles from the findService Response message of MOBY Central or representing the collection part of a MOBY invocation or response block @@ -106,7 +105,6 @@ =cut - =head2 articleName Title : articleName @@ -138,8 +136,6 @@ =cut - - =head2 XML Title : XML @@ -150,7 +146,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -161,7 +156,6 @@ =cut - =head2 isSimple Title : isSimple @@ -175,7 +169,6 @@ =cut - =head2 isCollection Title : isCollection @@ -189,7 +182,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -200,150 +192,133 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - Simples => [[], 'read/write'], - isSimple => [0, 'read' ], - isSecondary => [0, 'read' ], - isCollection => [1, 'read' ], - XML => [undef, 'read/write'], - XML_DOM => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + Simples => [ [], 'read/write' ], + isSimple => [ 0, 'read' ], + isSecondary => [ 0, 'read' ], + isCollection => [ 1, 'read' ], + XML => [ undef, 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } - sub addSimple { - my ($self, $s) = @_; - return $self->{Simples} unless $s; - return 0 unless $s->isa("MOBY::Client::SimpleArticle"); - push @{$self->{Simples}}, $s; - return $self->{Simples}; - } + sub addSimple { + my ( $self, $s ) = @_; + return $self->{Simples} unless $s; + return 0 unless $s->isa( "MOBY::Client::SimpleArticle" ); + push @{ $self->{Simples} }, $s; + return $self->{Simples}; + } } - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } - - sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Collection")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Collection" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Collection")); - $self->XML($dom->toString); # set the string version of the DOM - $self->articleName(""); - $self->Simples([]); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName); - my $objects = $dom->getElementsByTagName("Simple"); - for my $n(0..$objects->getLength - 1){ - $self->addSimple(MOBY::Client::SimpleArticle->new(articleName=>$self->articleName, XML_DOM => $objects->item($n))); - } - return $self; + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Collection" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->articleName( "" ); + $self->Simples( [] ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ); + my $objects = $dom->getElementsByTagName( "Simple" ); + + for my $n ( 1 .. $objects->size ) { + $self->addSimple( + MOBY::Client::SimpleArticle->new( + articleName => $self->articleName, + XML_DOM => $objects->get_node( $n ) + ) + ); + } + return $self; } - - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm 2004/08/10 15:57:48 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm 2004/11/18 17:41:16 1.7 @@ -1,6 +1,5 @@ #$Id$ - =head1 NAME MOBY::Client::OntologyServer - A client interface to the Ontology @@ -8,7 +7,6 @@ =cut - =head1 SYNOPSIS use MOBY::Client::OntologyServer; @@ -72,200 +70,178 @@ =cut - - package MOBY::Client::OntologyServer; - use strict; use Carp; use vars qw($AUTOLOAD); use LWP::UserAgent; - my $debug = 0; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - host => ["http://mobycentral.cbr.nrc.ca/cgi-bin/OntologyServer.cgi", 'read/write'], - proxy => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + host => [ + "http://mobycentral.cbr.nrc.ca/cgi-bin/OntologyServer.cgi", + 'read/write' + ], + proxy => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - - return undef unless $self->host; - return $self; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return undef unless $self->host; + return $self; } =head2 objectExists =cut - -sub objectExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("objectExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub objectExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "objectExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } - =head2 serviceExists =cut - -sub serviceExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("serviceExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub serviceExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "serviceExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } =head2 namespaceExists =cut - -sub namespaceExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("namespaceExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub namespaceExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "namespaceExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } =head2 relationshipExists =cut - -sub relationshipsExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("relationshipExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub relationshipsExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "relationshipExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } -sub getUserAgent{ - my ($self, @args) = @_; - my $ua = LWP::UserAgent->new; - my $proxy = $ENV{MOBY_PROXY} if $ENV{MOBY_PROXY}; # first check the environment - $proxy = $self->proxy if $self->proxy; # but if the object was initialized with a proxy argument then use that instead - if($proxy){ - $ua->proxy('http', $proxy); - } - return $ua; +sub getUserAgent { + my ( $self, @args ) = @_; + my $ua = LWP::UserAgent->new; + my $proxy = $ENV{MOBY_PROXY} + if $ENV{MOBY_PROXY}; # first check the environment + $proxy = $self->proxy + if $self->proxy + ; # but if the object was initialized with a proxy argument then use that instead + if ( $proxy ) { + $ua->proxy( 'http', $proxy ); + } + return $ua; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm 2004/08/24 20:43:33 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm 2004/11/18 17:41:16 1.7 @@ -1,13 +1,11 @@ #$Id$ - =head1 NAME MOBY::Client::Registration - an object to wrap the registration XML from MOBY Central =cut - =head1 SYNOPSIS my $reg = $Central->registerService(%args); @@ -68,110 +66,90 @@ =cut - package MOBY::Client::Registration; - use strict; use Carp; use vars qw($AUTOLOAD); - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - success => [0, 'read/write'], - message => ["OK", 'read/write'], - registration_id => [undef, 'read/write'], - RDF => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + success => [ 0, 'read/write' ], + message => [ "OK", 'read/write' ], + registration_id => [ undef, 'read/write' ], + RDF => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub id { - my ($self, $val) =@_; - $self->registration_id($val) if defined $val; + my ( $self, $val ) = @_; + $self->registration_id( $val ) if defined $val; return $self->registration_id; } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return $self; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2004/08/17 17:48:10 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2004/11/18 17:41:16 1.5 @@ -1,11 +1,10 @@ package MOBY::Client::SecondaryArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SecondaryArticle - a small object describing the Simple articles from the findService Response message of MOBY Central @@ -45,7 +44,6 @@ =cut - =head2 articleName Title : articleName @@ -76,7 +74,6 @@ =cut - =head2 XML Title : XML @@ -87,7 +84,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -98,7 +94,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -135,243 +130,213 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - XML_DOM => [undef, 'read/write'], - XML => [undef, 'read/write'], - isSecondary => [1, 'read' ], - isSimple => [0, 'read' ], - isCollection => [0, 'read' ], - datatype => [undef, 'read/write' ], - default => [undef, 'read/write' ], - max => [undef, 'read/write' ], - min => [undef, 'read/write' ], - enum => [undef, 'read/write' ], - value => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addEnum { - my ($self, $enum) = @_; - $self->{enum} = [] unless $self->{enum}; - return $self->{enum} unless defined($enum); - push @{$self->{enum}}, $enum; - return $self->{enum}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + XML => [ undef, 'read/write' ], + isSecondary => [ 1, 'read' ], + isSimple => [ 0, 'read' ], + isCollection => [ 0, 'read' ], + datatype => [ undef, 'read/write' ], + default => [ undef, 'read/write' ], + max => [ undef, 'read/write' ], + min => [ undef, 'read/write' ], + enum => [ undef, 'read/write' ], + value => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + sub addEnum { + my ( $self, $enum ) = @_; + $self->{enum} = [] unless $self->{enum}; + return $self->{enum} unless defined( $enum ); + push @{ $self->{enum} }, $enum; + return $self->{enum}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - $self->{enum} = [] unless $self->enum; - - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->{enum} = [] unless $self->enum; + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Parameter")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Parameter" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Parameter")); - $self->XML($dom->toString); # set the string version of the DOM - - $self->namespaces([]); # reset! - $self->articleName(""); - $self->objectType(""); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName); - - if (@{$dom->getElementsByTagName('Value')}[0]){ - return $self->_createInstantiatedArticle($dom) - } else { - return $self->_createTemplateArticle($dom) - } + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Parameter" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->namespaces( [] ); # reset! + $self->articleName( "" ); + $self->objectType( "" ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ); + + if ( @{ $dom->getElementsByTagName( 'Value' ) }[0] ) { + return $self->_createInstantiatedArticle( $dom ); + } else { + return $self->_createTemplateArticle( $dom ); + } } sub _createTemplateArticle { - my ($self, $dom) = @_; - #datatype => [undef, 'read/write' ], - #default => [undef, 'read/write' ], - #max => [undef, 'read/write' ], - #min => [undef, 'read/write' ], - #enum => [[], 'read/write' ], - - my $objects = $dom->getElementsByTagName("datatype"); - if ($objects->item(0)){ - my $data; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $data .= $child->toString; - $data =~ s/\s//g; - } - $self->datatype($data); - } - - $objects = $dom->getElementsByTagName("default"); - if ($objects->item(0)){ - my $def; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $def .= $child->toString; - $def =~ s/\s//g; - } - $self->default($def); - } - - $objects = $dom->getElementsByTagName("max"); - if ($objects->item(0)){ - my $max; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $max .= $child->toString; - $max =~ s/\s//g; - } - $self->max($max); - } - - $objects = $dom->getElementsByTagName("min"); - if ($objects->item(0)){ - my $min; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $min .= $child->toString; - $min =~ s/\s//g; - } - $self->min($min); - } - - $objects = $dom->getElementsByTagName("enum"); - if ($objects->item(0)){ - foreach (0..$objects->getLength-1){ - foreach my $child($objects->item($_)->getChildNodes){ - my $val; - next unless $child->getNodeType == TEXT_NODE; - $val = $child->toString; - next unless defined($val); - $val =~ s/^\s//; $val =~ s/\s$//; - $self->addEnum($val); - } - } - } - - return $self; - -} + my ( $self, $dom ) = @_; -sub _createInstantiatedArticle { - my ($self, $dom) = @_; -#43764 - my $values = $dom->getElementsByTagName('Value'); - foreach my $child($values->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $self->value($self->value . $child->toString); - } - + #datatype => [undef, 'read/write' ], + #default => [undef, 'read/write' ], + #max => [undef, 'read/write' ], + #min => [undef, 'read/write' ], + #enum => [[], 'read/write' ], + my $objects = $dom->getElementsByTagName( "datatype" ); + if ( $objects->get_node( 1 ) ) { + my $data; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $data .= $child->toString; + $data =~ s/\s//g; + } + $self->datatype( $data ); + } + $objects = $dom->getElementsByTagName( "default" ); + if ( $objects->get_node( 1 ) ) { + my $def; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $def .= $child->toString; + $def =~ s/\s//g; + } + $self->default( $def ); + } + $objects = $dom->getElementsByTagName( "max" ); + if ( $objects->get_node( 1 ) ) { + my $max; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $max .= $child->toString; + $max =~ s/\s//g; + } + $self->max( $max ); + } + $objects = $dom->getElementsByTagName( "min" ); + if ( $objects->get_node( 1 ) ) { + my $min; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $min .= $child->toString; + $min =~ s/\s//g; + } + $self->min( $min ); + } + $objects = $dom->getElementsByTagName( "enum" ); + if ( $objects->get_node( 1 ) ) { + foreach ( 1 .. $objects->size() ) { + foreach my $child ( $objects->get_node( $_ )->childNodes ) { + my $val; + next unless $child->nodeType == TEXT_NODE; + $val = $child->toString; + next unless defined( $val ); + $val =~ s/^\s//; + $val =~ s/\s$//; + $self->addEnum( $val ); + } + } + } + return $self; } +sub _createInstantiatedArticle { + my ( $self, $dom ) = @_; - - + #43764 + my $values = $dom->getElementsByTagName( 'Value' ); + foreach my $child ( $values->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $self->value( $self->value . $child->toString ); + } +} sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/08/10 15:57:48 1.12 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/11/18 17:41:16 1.13 @@ -40,90 +40,77 @@ =cut - package MOBY::Client::Service; use SOAP::Lite; + #use SOAP::Lite + 'trace'; use strict; use Carp; use Cwd; use URI::Escape; - use vars qw($AUTOLOAD @ISA); - my $debug = 0; - -if ($debug){open (OUT, ">/tmp/ServiceCallLogOut.txt") || die "cant open logfile\n";close OUT;} - +if ( $debug ) { + open( OUT, ">/tmp/ServiceCallLogOut.txt" ) || die "cant open logfile\n"; + close OUT; +} sub BEGIN { - - } - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service => [undef, 'read/write'], - uri => [undef, 'read/write'], - ServiceName => [undef, 'read/write'], - _soapService => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service => [ undef, 'read/write' ], + uri => [ undef, 'read/write' ], + ServiceName => [ undef, 'read/write' ], + _soapService => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } my $queryID = 0; + sub _nextQueryID { - return ++$queryID + return ++$queryID; } - } - - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } #my $dir = cwd; - # seems to be a bug in SOAP::Lite that the WSDL document # fails a parse if it is passed as a scalar rather than a file # this section can be removed when this bug is fixed @@ -131,20 +118,16 @@ #print OUT $self->service; #close OUT; # ________________________________________ - - my $wsdl = URI::Escape::uri_escape($self->service); # this seems to fix the bug - return undef unless $wsdl; - my $soap = SOAP::Lite->service("data:,$wsdl"); - if ($self->uri){$soap->uri($self->uri)} - - $self->ServiceName(&getServiceName($soap)); - $self->_soapService($soap); - return $self; - + my $wsdl = + URI::Escape::uri_escape( $self->service ); # this seems to fix the bug + return undef unless $wsdl; + my $soap = SOAP::Lite->service( "data:,$wsdl" ); + if ( $self->uri ) { $soap->uri( $self->uri ) } + $self->ServiceName( &getServiceName( $soap ) ); + $self->_soapService( $soap ); + return $self; } - - =head2 execute Title : execute @@ -196,36 +179,41 @@ =cut - sub execute { - my ($self, %args) = @_; - return "ERROR: expected listref for XMLinputlist" unless (ref($args{XMLinputlist}) =~ /array/i); - my @inputs = @{$args{XMLinputlist}}; - my $data; - foreach (@inputs){ - return "ERROR: expected listref [articleName, XML] for data element" unless (ref($_) =~ /array/i); + my ( $self, %args ) = @_; + return "ERROR: expected listref for XMLinputlist" + unless ( ref( $args{XMLinputlist} ) =~ /array/i ); + my @inputs = @{ $args{XMLinputlist} }; + my $data; + foreach ( @inputs ) { + return "ERROR: expected listref [articleName, XML] for data element" + unless ( ref( $_ ) =~ /array/i ); my $qID = $self->_nextQueryID; - $data .= ""; - while (my ($articleName, $XML) = splice (@{$_}, 0, 2)){ - if (!(ref($XML)=~/array/i)){ - $articleName ||=""; - $XML ||= ""; - if (($XML =~ /\/) || ($XML =~ /\/)){ - $data .= "$XML"; - } else { - $data .= "\n$XML\n\n"; - } - # need to do this for collections also!!!!!! - } elsif (ref($XML)=~/array/i){ - my @objs = @{$XML}; - $data .="\n"; - foreach (@objs){ - $data .= "$_\n"; - } - $data .="\n"; - } - } - $data .="\n"; + $data .= ""; + while ( my ( $articleName, $XML ) = splice( @{$_}, 0, 2 ) ) { + if ( !( ref( $XML ) =~ /array/i ) ) { + $articleName ||= ""; + $XML ||= ""; + if ( ( $XML =~ /\/ ) || ( $XML =~ /\/ ) ) + { + $data .= +"$XML"; + } else { + $data .= +"\n$XML\n\n"; + } + + # need to do this for collections also!!!!!! + } elsif ( ref( $XML ) =~ /array/i ) { + my @objs = @{$XML}; + $data .= "\n"; + foreach ( @objs ) { + $data .= "$_\n"; + } + $data .= "\n"; + } + } + $data .= "\n"; } $data = " @@ -234,13 +222,12 @@ ]]>"; my $METHOD = $self->ServiceName; - &_LOG(%args, $METHOD); + &_LOG( %args, $METHOD ); my $response; - eval {($response) = $self->_soapService->$METHOD($data)}; - return $@?"":$response; # the service execution failed then pass back "" + eval { ( $response ) = $self->_soapService->$METHOD( $data ) }; + return $@ ? "" : $response; # the service execution failed then pass back "" } - =head2 ServiceName Title : ServiceName @@ -251,58 +238,51 @@ =cut - sub getServiceName { - my ($service) = @_; + my ( $service ) = @_; no strict; - my($method) = @{join '::', ref $service, 'EXPORT_OK'}; + my ( $method ) = @{ join '::', ref $service, 'EXPORT_OK' }; return $method; - } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } sub SOAP::Transport::HTTP::Client::get_basic_credentials { - my ($username, $password); - print "ENTER USERNAME: "; $username=; chomp $username; - print "ENTER PASSWORD: "; $password=; chomp $password; - - return $username => $password; + my ( $username, $password ); + print "ENTER USERNAME: "; + $username = ; + chomp $username; + print "ENTER PASSWORD: "; + $password = ; + chomp $password; + return $username => $password; } - sub _LOG { return unless $debug; open LOG, ">>/tmp/ServiceCallLogOut.txt" or die "can't open logfile $!\n"; @@ -310,12 +290,11 @@ print LOG "\n---\n"; close LOG; } + # # # -------------------------------------------------------------------------------------------------------- # ## ## - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm 2004/08/18 23:06:03 1.12 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm 2004/11/18 17:41:16 1.13 @@ -1,10 +1,8 @@ package MOBY::Client::ServiceInstance; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::ServiceInstance - a small object describing a MOBY service @@ -67,7 +65,6 @@ =cut - =head2 authority Title : authority @@ -130,7 +127,6 @@ =cut - =head2 authoritative Title : authoritative @@ -141,7 +137,6 @@ =cut - =head2 URL Title : URL @@ -152,7 +147,6 @@ =cut - =head2 contactEmail Title : contactEmail @@ -163,7 +157,6 @@ =cut - =head2 registry Title : registry @@ -174,110 +167,96 @@ =cut { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - authority => [undef, 'read/write'], - name => [undef, 'read/write'], - type => [undef, 'read/write'], - input => [undef, 'read/write'], # listref of Simple and Collection articles - output => [undef, 'read/write'], # listref of Simple and Collection articles - secondary => [undef, 'read/write'], # listref of SecondaryArticles - category => [undef, 'read/write'], - description => [undef, 'read/write'], - registry => ['MOBY_Central', 'read/write'], - XML => [undef, 'read/write'], - authoritative => [undef, 'read/write'], - URL => [undef, 'read/write'], - contactEmail => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + authority => [ undef, 'read/write' ], + name => [ undef, 'read/write' ], + type => [ undef, 'read/write' ], + input => [ undef, 'read/write' ] + , # listref of Simple and Collection articles + output => [ undef, 'read/write' ] + , # listref of Simple and Collection articles + secondary => [ undef, 'read/write' ], # listref of SecondaryArticles + category => [ undef, 'read/write' ], + description => [ undef, 'read/write' ], + registry => [ 'MOBY_Central', 'read/write' ], + XML => [ undef, 'read/write' ], + authoritative => [ undef, 'read/write' ], + URL => [ undef, 'read/write' ], + contactEmail => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - $self->input([]) unless $self->input; - $self->output([]) unless $self->output; - $self->secondary([]) unless $self->secondary; - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->input( [] ) unless $self->input; + $self->output( [] ) unless $self->output; + $self->secondary( [] ) unless $self->secondary; + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2004/06/15 00:37:55 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2004/11/18 17:41:16 1.6 @@ -1,11 +1,10 @@ package MOBY::Client::SimpleArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SimpleArticle - a small object describing the Simple articles from the findService Response message of MOBY Central @@ -67,7 +66,6 @@ =cut - =head2 articleName Title : articleName @@ -98,7 +96,6 @@ =cut - =head2 XML Title : XML @@ -109,7 +106,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -120,7 +116,6 @@ =cut - =head2 addNamespace Title : addNamespace @@ -143,7 +138,6 @@ =cut - =head2 isCollection Title : isCollection @@ -157,7 +151,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -168,202 +161,185 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - id => [undef, 'read/write'], - XML_DOM => [undef, 'read/write'], - XML => [undef, 'read/write'], - isSecondary => [0, 'read' ], - isSimple => [1, 'read' ], - isCollection => [0, 'read' ], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addNamespace { - my ($self, $ns) = @_; - return $self->{namespaces} unless $ns; - push @{$self->{namespaces}}, $ns; - return $self->{namespaces}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + id => [ undef, 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + XML => [ undef, 'read/write' ], + isSecondary => [ 0, 'read' ], + isSimple => [ 1, 'read' ], + isCollection => [ 0, 'read' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + sub addNamespace { + my ( $self, $ns ) = @_; + return $self->{namespaces} unless $ns; + push @{ $self->{namespaces} }, $ns; + return $self->{namespaces}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Simple")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Simple" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Simple")); - $self->XML($dom->toString); # set the string version of the DOM - $self->namespaces([]); # reset! - $self->articleName(""); - $self->objectType(""); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName) if $articleName; # it may have already been set if this Simple is part of a Collection... - + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Simple" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->namespaces( [] ); # reset! + $self->articleName( "" ); + $self->objectType( "" ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ) + if $articleName + ; # it may have already been set if this Simple is part of a Collection... + # fork here - it may be an instantiated object (coming from a service invocation/response) # or it may be a template object as in the SimpleArticle element of a registration call - # if the objectType tag exists, then it is a template object - if (@{$dom->getElementsByTagName("objectType")}[0]){ - return $self->_createTemplateArticle($dom) - } - else { return $self->_createInstantiatedArticle($dom)} -# otherwise it should simpy contain an instantiated MOBY object - + if ( @{ $dom->getElementsByTagName( "objectType" ) }[0] ) { + return $self->_createTemplateArticle( $dom ); + } else { + return $self->_createInstantiatedArticle( $dom ); + } + # otherwise it should simpy contain an instantiated MOBY object } sub _createInstantiatedArticle { - my ($self, $dom) = @_; - - # this will take a node from a MOBY invocation message - # and extract the object-type and namespace from the - # contained data object - - foreach my $child($dom->getChildNodes){ # there should be only one child node, and that is the data object itself; ignore whitespace - next unless $child->getNodeType == ELEMENT_NODE; - $self->objectType($child->getTagName); - my $attr = $child->getAttributeNode('namespace'); - $self->addNamespace($attr->getValue) if $attr; - my $id = $child->getAttributeNode('id'); - $self->id($id->getValue) if $id; - } - return $self; + my ( $self, $dom ) = @_; + + # this will take a node from a MOBY invocation message + # and extract the object-type and namespace from the + # contained data object + foreach my $child ( $dom->childNodes ) + { # there should be only one child node, and that is the data object itself; ignore whitespace + next unless $child->nodeType == ELEMENT_NODE; + $self->objectType( $child->nodeName ); + my $attr = $child->getAttributeNode( 'namespace' ); + $self->addNamespace( $attr->getValue ) if $attr; + my $id = $child->getAttributeNode( 'id' ); + $self->id( $id->getValue ) if $id; + } + return $self; } sub _createTemplateArticle { - my ($self, $dom) = @_; - - # this will take a node from a MOBY findServiceResponse - # message and extract the objectType and namespace array - # from the service signature. - - my $objects = $dom->getElementsByTagName("objectType"); - foreach my $child($objects->item(0)->getChildNodes){ # there must be only one in a simple! so take element 0 - next unless $child->getNodeType == TEXT_NODE; - $self->objectType($child->toString); - } - - $objects = $dom->getElementsByTagName("Namespace"); - foreach (0..$objects->getLength-1){ - foreach my $child($objects->item($_)->getChildNodes){ # there must be only one in a simple! so take element 0 - next unless $child->getNodeType == TEXT_NODE; - next unless $child->toString; - $self->addNamespace($child->toString); - } - } - return $self; -} + my ( $self, $dom ) = @_; -sub value { - my ($self) = @_; - # ????? what to do here ???? - + # this will take a node from a MOBY findServiceResponse + # message and extract the objectType and namespace array + # from the service signature. + my $objects = $dom->getElementsByTagName( "objectType" ); + foreach my $child ( $objects->get_node( 1 )->getChildNodes ) + { # there must be only one in a simple! so take first element + next unless $child->nodeType == TEXT_NODE; + $self->objectType( $child->toString ); + } + $objects = $dom->getElementsByTagName( "Namespace" ); + foreach ( 1 .. $objects->size() ) { + foreach my $child ( $objects->get_node( $_ )->childNodes ) + { # there must be only one in a simple! so take element 0 + next unless $child->nodeType == TEXT_NODE; + next unless $child->toString; + $self->addNamespace( $child->toString ); + } + } + return $self; } -sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { +sub value { + my ( $self ) = @_; - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine + # ????? what to do here ???? +} +sub AUTOLOAD { + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm 2004/06/16 01:15:30 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm 2004/11/18 17:41:16 1.2 @@ -1,11 +1,8 @@ package MOBY::Client::SimpleInput; - use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SimpleInput - a small object describing a MOBY service @@ -34,7 +31,6 @@ namespaces => \@namesapces (optional) =cut - =head2 articleName Title : articleName @@ -62,7 +58,6 @@ =cut - =head2 addNamespace Title : addNamespace @@ -73,103 +68,88 @@ =cut { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addNamespace { - my ($self, $ns) = @_; - return $self->{namespaces} unless $ns; - push @{$self->{namespaces}}, $ns; - return $self->{namespaces}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub addNamespace { + my ( $self, $ns ) = @_; + return $self->{namespaces} unless $ns; + push @{ $self->{namespaces} }, $ns; + return $self->{namespaces}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; From gss at pub.open-bio.org Thu Nov 18 18:30:31 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 23:30:31 -0000 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6qI016391@pub.open-bio.org> gss Thu Nov 18 18:33:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph Modified Files: MOBYFixedCollection.html MOBYPropertyValueStatement.html MOBYSingleElement.html package-summary.html MOBYObject.html MOBYResource.html MOBYPropertyValueConstraint.html MOBYCollection.html MOBYSubject.html MOBYResizableCollection.html MOBYUnorderedCollection.html MOBYPropertyValue.html MOBYLiteral.html MOBYGraph.html MOBYProvider.html MOBYDescriptor.html MOBYMappingElement.html MOBYPropertyValueException.html MOBYDocument.html MOBYProviderSet.html MOBYGraphNode.html package-frame.html MOBYOntology.html package-tree.html MOBYOrderedCollection.html MOBYEnumeration.html package-use.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph MOBYFixedCollection.html,1.1,1.2 MOBYPropertyValueStatement.html,1.1,1.2 MOBYSingleElement.html,1.1,1.2 package-summary.html,1.1,1.2 MOBYObject.html,1.1,1.2 MOBYResource.html,1.1,1.2 MOBYPropertyValueConstraint.html,1.1,1.2 MOBYCollection.html,1.1,1.2 MOBYSubject.html,1.1,1.2 MOBYResizableCollection.html,1.1,1.2 MOBYUnorderedCollection.html,1.1,1.2 MOBYPropertyValue.html,1.1,1.2 MOBYLiteral.html,1.1,1.2 MOBYGraph.html,1.1,1.2 MOBYProvider.html,1.1,1.2 MOBYDescriptor.html,1.1,1.2 MOBYMappingElement.html,1.1,1.2 MOBYPropertyValueException.html,1.1,1.2 MOBYDocument.html,1.1,1.2 MOBYProviderSet.html,1.1,1.2 MOBYGraphNode.html,1.1,1.2 package-frame.html,1.1,1.2 MOBYOntology.html,1.1,1.2 package-tree.html,1.1,1.2 MOBYOrderedCollection.html,1.1,1.2 MOBYEnumeration.html,1.1,1.2 package-use.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYFixedCollection - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
    -Interface MOBYFixedCollection -
    -
    All Superinterfaces:
    MOBYCollection, MOBYDescriptor, MOBYGraphNode
    -
    +Class MOBYFixedCollection +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYCollection
    +              extended byorg.smoby.graph.MOBYFixedCollection
    +

    -
    public interface MOBYFixedCollection
    extends MOBYCollection
    +
    public class MOBYFixedCollection
    extends MOBYCollection

    -An interface representing unordered, fixed sized collection +A class representing unordered, fixed sized collection of objects.

    @@ -109,34 +113,81 @@ + + + + + + + + +
    +Constructor Summary
    MOBYFixedCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    - + + + + + + + + + + + + + +
    +Method Summary
    + booleanisFixedSized() + +
    +          Return whether or not the collection is fixed in size
    + booleanisResizable() + +
    +          Return whether or not the collection is resizable
    - + - +
    Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
    isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -147,9 +198,65 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYFixedCollection

    +
    +public MOBYFixedCollection(com.hp.hpl.jena.rdf.model.Resource resource,
    +                           java.util.List elements,
    +                           com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    + + + + + +
    +Method Detail
    + +

    +isResizable

    +
    +public boolean isResizable()
    +
    +
    Description copied from class: MOBYCollection
    +
    Return whether or not the collection is resizable +

    +

    +
    Specified by:
    isResizable in class MOBYCollection
    +
    +
    +
    +
    +
    +
    + +

    +isFixedSized

    +
    +public boolean isFixedSized()
    +
    +
    Description copied from class: MOBYCollection
    +
    Return whether or not the collection is fixed in size +

    +

    +
    Specified by:
    isFixedSized in class MOBYCollection
    +
    +
    +
    +
    +

    @@ -181,8 +288,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -201,9 +308,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValueStatement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,10 +84,15 @@ org.smoby.graph
    -Interface MOBYPropertyValueStatement +Class MOBYPropertyValueStatement +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYPropertyValueStatement
    +

    -
    public interface MOBYPropertyValueStatement
    +
    public class MOBYPropertyValueStatement
    extends MOBYDescriptor


    @@ -101,7 +106,21 @@ + + + + + + + + +
    +Constructor Summary
    MOBYPropertyValueStatement(com.hp.hpl.jena.rdf.model.Statement jenaStatement, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -120,7 +139,7 @@ - MOBYPropertyValue + MOBYPropertyValue getValue()
    @@ -129,7 +148,7 @@  void -setConstraint(MOBYPropertyValueConstraint constraint) +setConstraint(MOBYPropertyValueConstraint constraint)
              Set the given constraint for this property value statement @@ -137,11 +156,37 @@  void -setPropertyValue(MOBYPropertyValue newValue) +setPropertyValue(MOBYPropertyValue newValue)
              Set the property value. + + + java.lang.String +toString() + +
    +            + + +  + + + + + + + +
    Methods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
     

    @@ -151,6 +196,21 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYPropertyValueStatement

    +
    +public MOBYPropertyValueStatement(com.hp.hpl.jena.rdf.model.Statement jenaStatement,
    +                                  com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -175,10 +235,21 @@
    +

    +toString

    +
    +public java.lang.String toString()
    +
    +
    +
    +
    +
    +
    +

    getValue

    -public MOBYPropertyValue getValue()
    +public MOBYPropertyValue getValue()
    Return the value currently associated with this property

    @@ -191,7 +262,7 @@

    setPropertyValue

    -public void setPropertyValue(MOBYPropertyValue newValue)
    +public void setPropertyValue(MOBYPropertyValue newValue)
                           throws MOBYPropertyValueException
    Set the property value. This is just a placeholder; values of @@ -209,7 +280,7 @@

    setConstraint

    -public void setConstraint(MOBYPropertyValueConstraint constraint)
    +public void setConstraint(MOBYPropertyValueConstraint constraint)
    Set the given constraint for this property value statement

    @@ -248,8 +319,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -268,9 +339,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYSingleElement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,22 @@ org.smoby.graph
    -Interface MOBYSingleElement +Class MOBYSingleElement +

    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYSingleElement
    +
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYGraphNode
    -
    -
    -
    All Known Subinterfaces:
    MOBYGraph, MOBYMappingElement, MOBYObject, MOBYSubject
    -
    -
    -
    All Known Implementing Classes:
    MOBYMappingElementImpl, org.smoby.graph.impl.MOBYSingleElementImpl
    +
    Direct Known Subclasses:
    MOBYGraph, MOBYMappingElement

    -
    public interface MOBYSingleElement
    extends MOBYGraphNode
    +
    public abstract class MOBYSingleElement
    extends MOBYGraphNode

    -An interface to represent singular objects, i.e. those that are +A class to represent singular objects, i.e. those that are not collections.

    @@ -115,25 +115,71 @@ + + + + + + + + +
    +Constructor Summary
    MOBYSingleElement(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    - + + + + + + + + + + + + + +
    +Method Summary
    + booleanisCollection() + +
    +          Return whether or not this object is a collection.
    + booleanisSingular() + +
    +          Return whether or not this object is a singular element.
    - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -144,9 +190,64 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYSingleElement

    +
    +public MOBYSingleElement(com.hp.hpl.jena.rdf.model.Resource resource,
    +                         com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    + + + + + +
    +Method Detail
    + +

    +isSingular

    +
    +public boolean isSingular()
    +
    +
    Description copied from class: MOBYGraphNode
    +
    Return whether or not this object is a singular element. +

    +

    +
    Specified by:
    isSingular in class MOBYGraphNode
    +
    +
    +
    +
    +
    +
    + +

    +isCollection

    +
    +public boolean isCollection()
    +
    +
    Description copied from class: MOBYGraphNode
    +
    Return whether or not this object is a collection. +

    +

    +
    Specified by:
    isCollection in class MOBYGraphNode
    +
    +
    +
    +
    +

    @@ -178,8 +279,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -198,9 +299,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph @@ -51,7 +51,7 @@  PREV PACKAGE  - NEXT PACKAGENEXT PACKAGE FRAMES    NO FRAMES   @@ -76,6 +76,13 @@

    Package org.smoby.graph

    +Contains classes for manipulating the Semantic MOBY canonical graph +structure, which is potentially embedded in a larger graph structure. +

    +See: +
    +          Description +

    @@ -83,103 +90,136 @@ Interface Summary - - + + + +
    MOBYCollectionA common interface for collections, both fixed sized and resizeable, of - elements in MOBY graphs.MOBYGraphVisitor 
    +  + +

    + + + + + + + + - - + + + + + - - + - - + - - + - - + + - - + - + + + + + + + + + + + + + + + + + - + - + - - + - - + + - - + - + - + - - + - - + + - - + + - + - - + + - + - - +
    +Class Summary
    MOBYCollectionA common abstract class for collections, both fixed sized and resizeable, + of elements in MOBY graphs.
    MOBYDescriptorThe Resource interface represents things that are available +MOBYDateConstraint 
    MOBYDescriptorThe MOBYDescriptor class represents things that are available at a URI.
    MOBYDocumentThis interface represents a document to be incorporated into +MOBYDocumentThis class represents a document to be incorporated into the S-MOBY metadata repository.
    MOBYEnumerationAn interface representing a resizable collection of objects, in +MOBYEnumerationA class representing a resizable collection of objects, in which the order of the elements is not defined; the intention is for the elements to represent possible choices for a value.
    MOBYFixedCollectionAn interface representing unordered, fixed sized collection +MOBYFixedCollectionA class representing unordered, fixed sized collection of objects.
    MOBYGraphThis interface represents singular (i.e.MOBYGraphThis class represents singular (i.e.
    MOBYGraphNodeAn interface for nodes in an RDF graph; these nodes are either +MOBYGraphNodeAn abstract class for nodes in an RDF graph; these nodes are either collections or singular elements.
    MOBYLiteralMOBYIntegerConstraint 
    MOBYLiteral 
    MOBYMappingElement 
    MOBYNonNegativeIntegerConstraint 
    MOBYNonPositiveIntegerConstraint  
    MOBYMappingElementMOBYNumericConstraint  
    MOBYObjectMOBYObject An object that represents the object of a mapping.
    MOBYOntologyThis interface represents a collection of RDF statements to be +MOBYOntologyThis class represents a collection of RDF statements to be incorporated into the S-MOBY metadata repository.
    MOBYOrderedCollectionAn interface representing resizable collection of objects, in - which the order of the elements is defined.MOBYOrderedCollection 
    MOBYPropertyValueA superinterface for things that can appear as the subject +MOBYPropertyValueA superclass for things that can appear as the subject or object of a statement.
    MOBYPropertyValueConstraintMOBYPropertyValueConstraint  
    MOBYPropertyValueStatementMOBYPropertyValueStatement  
    MOBYProviderThe Provider interface represents a resource that provides a +MOBYProviderThe Provider class represents a resource that provides a service in MOBY.
    MOBYProviderSetAn interface to represent a set of providersMOBYProviderSetAn class to represent a set of providers
    MOBYResizableCollectionAn interface representing collections that can be resized (i.e.MOBYResizableCollectionA class representing collections that can be resized (i.e.
    MOBYResourceMOBYResource  
    MOBYSingleElementAn interface to represent singular objects, i.e.MOBYSingleElementA class to represent singular objects, i.e.
    MOBYSubjectMOBYSubject An object that represents the subject of one or more mappings.
    MOBYUnorderedCollectionAn interface representing resizable collection of objects, in +MOBYUnorderedCollectionA class representing resizable collection of objects, in which the order of the elements is not defined.
    @@ -200,6 +240,16 @@  

    +

    +Package org.smoby.graph Description +

    + +

    +Contains classes for manipulating the Semantic MOBY canonical graph +structure, which is potentially embedded in a larger graph structure. +

    + +


    @@ -231,7 +281,7 @@  PREV PACKAGE  - NEXT PACKAGENEXT PACKAGE
    FRAMES    NO FRAMES   =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYObject - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,18 @@ org.smoby.graph
    -Interface MOBYObject -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYGraphNode, MOBYMappingElement, MOBYSingleElement
    -
    +Class MOBYObject +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYSingleElement
    +              extended byorg.smoby.graph.MOBYMappingElement
    +                  extended byorg.smoby.graph.MOBYObject
    +

    -
    public interface MOBYObject
    extends MOBYMappingElement
    +
    public class MOBYObject
    extends MOBYMappingElement

    An object that represents the object of a mapping. @@ -108,34 +113,68 @@ + + + + + + + + +
    +Constructor Summary
    MOBYObject(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYCollection nestedElements, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    - +
    Methods inherited from interface org.smoby.graph.MOBYMappingElementMethods inherited from class org.smoby.graph.MOBYMappingElement
    getNestedElements, getPropertyValueStatements
    + + + + + + + +
    Methods inherited from class org.smoby.graph.MOBYSingleElement
    isCollection, isSingular
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -146,6 +185,23 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYObject

    +
    +public MOBYObject(com.hp.hpl.jena.rdf.model.Resource resource,
    +                  MOBYFixedCollection statements,
    +                  MOBYCollection nestedElements,
    +                  com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -180,8 +236,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -200,9 +256,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYResource - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,15 @@ org.smoby.graph
    -Interface MOBYResource -
    -
    All Superinterfaces:
    MOBYPropertyValue
    -
    +Class MOBYResource +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYPropertyValue
    +      extended byorg.smoby.graph.MOBYResource
    +

    -
    public interface MOBYResource
    extends MOBYPropertyValue
    +
    public class MOBYResource
    extends MOBYPropertyValue


    @@ -104,7 +106,20 @@ + + + + + + + + +
    +Constructor Summary
    MOBYResource(com.hp.hpl.jena.rdf.model.Resource resourceValue) +
    +           
    @@ -129,14 +144,32 @@
                + + + boolean +isLiteral() + +
    +          Return whether or not this property value represents + a literal value + + + + boolean +isResource() + +
    +          Return whether or not this property value represents + a resource + -  - + - +
    Methods inherited from interface org.smoby.graph.MOBYPropertyValueMethods inherited from class java.lang.Object
    isLiteral, isResourceequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -147,6 +180,20 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYResource

    +
    +public MOBYResource(com.hp.hpl.jena.rdf.model.Resource resourceValue)
    +
    +
    @@ -166,6 +213,39 @@
    + +
    + +

    +isLiteral

    +
    +public boolean isLiteral()
    +
    +
    Description copied from class: MOBYPropertyValue
    +
    Return whether or not this property value represents + a literal value +

    +

    +
    Specified by:
    isLiteral in class MOBYPropertyValue
    +
    +
    +
    +
    +
    +
    + +

    +isResource

    +
    +public boolean isResource()
    +
    +
    Description copied from class: MOBYPropertyValue
    +
    Return whether or not this property value represents + a resource +

    +

    +
    Specified by:
    isResource in class MOBYPropertyValue
    +
    @@ -180,9 +260,6 @@
    -
    -
    -

    @@ -215,8 +292,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -235,9 +312,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValueConstraint - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,17 @@ org.smoby.graph
    -Interface MOBYPropertyValueConstraint +Class MOBYPropertyValueConstraint +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYPropertyValueConstraint
    +
    -
    All Known Implementing Classes:
    org.smoby.graph.impl.MOBYPropertyValueConstraintImpl
    +
    Direct Known Subclasses:
    MOBYDateConstraint, MOBYNumericConstraint

    -
    public interface MOBYPropertyValueConstraint
    +
    public abstract class MOBYPropertyValueConstraint
    extends java.lang.Object


    @@ -104,7 +108,20 @@ + + + + + + + + +
    +Constructor Summary
    MOBYPropertyValueConstraint() +
    +           
    @@ -115,14 +132,23 @@ - void -validatePropertyValue(MOBYPropertyValueStatement stmt, - MOBYPropertyValue newValue) +abstract  void +validatePropertyValue(MOBYPropertyValueStatement stmt, + MOBYPropertyValue newValue)
                +  + + + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    @@ -131,6 +157,20 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYPropertyValueConstraint

    +
    +public MOBYPropertyValueConstraint()
    +
    +
    @@ -145,9 +185,9 @@

    validatePropertyValue

    -public void validatePropertyValue(MOBYPropertyValueStatement stmt,
    -                                  MOBYPropertyValue newValue)
    -                           throws MOBYPropertyValueException
    +public abstract void validatePropertyValue(MOBYPropertyValueStatement stmt, + MOBYPropertyValue newValue) + throws MOBYPropertyValueException
    @@ -186,8 +226,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -206,9 +246,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYCollection - + @@ -51,7 +51,7 @@  PREV CLASS  - NEXT CLASSNEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,20 +84,23 @@ org.smoby.graph
    -Interface MOBYCollection -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYGraphNode
    -
    +Class MOBYCollection +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYCollection
    +
    -
    All Known Subinterfaces:
    MOBYEnumeration, MOBYFixedCollection, MOBYOrderedCollection, MOBYResizableCollection, MOBYUnorderedCollection
    +
    Direct Known Subclasses:
    MOBYFixedCollection, MOBYResizableCollection

    -
    public interface MOBYCollection
    extends MOBYGraphNode
    +
    public abstract class MOBYCollection
    extends MOBYGraphNode

    -A common interface for collections, both fixed sized and resizeable, of - elements in MOBY graphs. +A common abstract class for collections, both fixed sized and resizeable, + of elements in MOBY graphs.

    @@ -112,7 +115,22 @@ + + + + + + + + +
    +Constructor Summary
    MOBYCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -124,6 +142,14 @@  boolean +isCollection() + +
    +          Return whether or not this object is a collection. + + + +abstract  boolean isFixedSized()
    @@ -131,7 +157,7 @@ - boolean +abstract  boolean isResizable()
    @@ -139,6 +165,14 @@ + boolean +isSingular() + +
    +          Return whether or not this object is a singular element. + + +  java.util.Iterator iterator() @@ -157,19 +191,28 @@   - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -180,6 +223,22 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYCollection

    +
    +public MOBYCollection(com.hp.hpl.jena.rdf.model.Resource resource,
    +                      java.util.List elements,
    +                      com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -191,47 +250,68 @@ -

    -isFixedSized

    +

    +size

    -public boolean isFixedSized()
    +public int size()
    -
    Return whether or not the collection is fixed in size +
    Return the size of the collection.

    +
    +
    + +

    +iterator

    +
    +public java.util.Iterator iterator()
    +
    +
    Return an iterator for traversing the elements +


    -

    -isResizable

    +

    +isFixedSized

    -public boolean isResizable()
    +public abstract boolean isFixedSized()
    -
    Return whether or not the collection is resizable +
    Return whether or not the collection is fixed in size

    +
    +
    + +

    +isResizable

    +
    +public abstract boolean isResizable()
    +
    +
    Return whether or not the collection is resizable +


    -

    -iterator

    +

    +isSingular

    -public java.util.Iterator iterator()
    +public boolean isSingular()
    -
    Return an iterator for traversing the elements +
    Description copied from class: MOBYGraphNode
    +
    Return whether or not this object is a singular element.

    -
    +
    Specified by:
    isSingular in class MOBYGraphNode
    @@ -239,15 +319,16 @@

    -

    -size

    +

    +isCollection

    -public int size()
    +public boolean isCollection()
    -
    Return the size of the collection. +
    Description copied from class: MOBYGraphNode
    +
    Return whether or not this object is a collection.

    -
    +
    Specified by:
    isCollection in class MOBYGraphNode
    @@ -285,7 +366,7 @@  PREV CLASS  - NEXT CLASSNEXT CLASS FRAMES    NO FRAMES   @@ -304,9 +385,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYSubject - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,18 @@ org.smoby.graph
    -Interface MOBYSubject -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYGraphNode, MOBYMappingElement, MOBYSingleElement
    -
    +Class MOBYSubject +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYSingleElement
    +              extended byorg.smoby.graph.MOBYMappingElement
    +                  extended byorg.smoby.graph.MOBYSubject
    +

    -
    public interface MOBYSubject
    extends MOBYMappingElement
    +
    public class MOBYSubject
    extends MOBYMappingElement

    An object that represents the subject of one or more mappings. In @@ -119,7 +124,24 @@ + + + + + + + + +
    +Constructor Summary
    MOBYSubject(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYUnorderedCollection directMappings, + MOBYCollection nestedMappings, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -130,7 +152,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection getDirectMappings()
    @@ -141,28 +163,46 @@   - +
    Methods inherited from interface org.smoby.graph.MOBYMappingElementMethods inherited from class org.smoby.graph.MOBYMappingElement
    getNestedElements, getPropertyValueStatements
    + + + + + + + +
    Methods inherited from class org.smoby.graph.MOBYSingleElement
    isCollection, isSingular
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + - + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getURIgetResource, getUnderlying, getURI
    + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -173,6 +213,24 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYSubject

    +
    +public MOBYSubject(com.hp.hpl.jena.rdf.model.Resource resource,
    +                   MOBYFixedCollection statements,
    +                   MOBYUnorderedCollection directMappings,
    +                   MOBYCollection nestedMappings,
    +                   com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -187,7 +245,7 @@

    getDirectMappings

    -public MOBYUnorderedCollection getDirectMappings()
    +public MOBYUnorderedCollection getDirectMappings()
    Return a resizable, unordered collection of the MOBYNode instances, which are objects of mapsTo statements, whose subjects are this. @@ -195,9 +253,6 @@
    -
    -
    -

    @@ -230,8 +285,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -250,9 +305,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYResizableCollection - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,23 @@ org.smoby.graph
    -Interface MOBYResizableCollection -
    -
    All Superinterfaces:
    MOBYCollection, MOBYDescriptor, MOBYGraphNode
    -
    +Class MOBYResizableCollection +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYCollection
    +              extended byorg.smoby.graph.MOBYResizableCollection
    +
    -
    All Known Subinterfaces:
    MOBYEnumeration, MOBYOrderedCollection, MOBYUnorderedCollection
    +
    Direct Known Subclasses:
    MOBYOrderedCollection, MOBYUnorderedCollection

    -
    public interface MOBYResizableCollection
    extends MOBYCollection
    +
    public abstract class MOBYResizableCollection
    extends MOBYCollection

    -An interface representing collections that can be resized (i.e. +A class representing collections that can be resized (i.e. elements added to or removed from); such collections can be either ordered or unordered.

    @@ -113,7 +117,22 @@ + + + + + + + + +
    +Constructor Summary
    MOBYResizableCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -125,37 +144,62 @@  boolean +isFixedSized() + +
    +          Return whether or not the collection is fixed in size + + + +abstract  boolean isOrdered()
              Return whether or not this collection is ordered. + + + boolean +isResizable() + +
    +          Return whether or not the collection is resizable +   - + - +
    Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
    isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -166,6 +210,22 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYResizableCollection

    +
    +public MOBYResizableCollection(com.hp.hpl.jena.rdf.model.Resource resource,
    +                               java.util.List elements,
    +                               com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -180,13 +240,44 @@

    isOrdered

    -public boolean isOrdered()
    +public abstract boolean isOrdered()
    Return whether or not this collection is ordered.

    +
    +
    + +

    +isResizable

    +
    +public boolean isResizable()
    +
    +
    Description copied from class: MOBYCollection
    +
    Return whether or not the collection is resizable +

    +

    +
    Specified by:
    isResizable in class MOBYCollection
    +
    +
    +
    +
    +
    +
    + +

    +isFixedSized

    +
    +public boolean isFixedSized()
    +
    +
    Description copied from class: MOBYCollection
    +
    Return whether or not the collection is fixed in size +

    +

    +
    Specified by:
    isFixedSized in class MOBYCollection
    +
    @@ -222,8 +313,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -242,9 +333,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYUnorderedCollection - + @@ -50,7 +50,7 @@ PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,24 @@ org.smoby.graph
    -Interface MOBYUnorderedCollection -
    -
    All Superinterfaces:
    MOBYCollection, MOBYDescriptor, MOBYGraphNode, MOBYResizableCollection
    -
    +Class MOBYUnorderedCollection +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYCollection
    +              extended byorg.smoby.graph.MOBYResizableCollection
    +                  extended byorg.smoby.graph.MOBYUnorderedCollection
    +
    -
    All Known Subinterfaces:
    MOBYEnumeration
    +
    Direct Known Subclasses:
    MOBYEnumeration

    -
    public interface MOBYUnorderedCollection
    extends MOBYResizableCollection
    +
    public class MOBYUnorderedCollection
    extends MOBYResizableCollection

    -An interface representing resizable collection of objects, in +A class representing resizable collection of objects, in which the order of the elements is not defined.

    @@ -112,7 +117,22 @@ + + + + + + + + +
    +Constructor Summary
    MOBYUnorderedCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -130,41 +150,58 @@           Return whether or not the elements of this collection represent choices (i.e. + + + boolean +isOrdered() + +
    +          Return whether or not this collection is ordered. +   - + - +
    Methods inherited from interface org.smoby.graph.MOBYResizableCollectionMethods inherited from class org.smoby.graph.MOBYResizableCollection
    isOrderedisFixedSized, isResizable
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
    isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -175,6 +212,22 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYUnorderedCollection

    +
    +public MOBYUnorderedCollection(com.hp.hpl.jena.rdf.model.Resource resource,
    +                               java.util.List elements,
    +                               com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -186,6 +239,23 @@ +

    +isOrdered

    +
    +public boolean isOrdered()
    +
    +
    Description copied from class: MOBYResizableCollection
    +
    Return whether or not this collection is ordered. +

    +

    +
    Specified by:
    isOrdered in class MOBYResizableCollection
    +
    +
    +
    +
    +
    +
    +

    isEnumeration

    @@ -197,9 +267,6 @@
     
    -
    -
    -

    @@ -232,7 +299,7 @@ PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   @@ -252,9 +319,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValue - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
    -Interface MOBYPropertyValue +Class MOBYPropertyValue +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYPropertyValue
    +
    -
    All Known Subinterfaces:
    MOBYLiteral, MOBYResource
    +
    Direct Known Subclasses:
    MOBYLiteral, MOBYResource

    -
    public interface MOBYPropertyValue
    +
    public abstract class MOBYPropertyValue
    extends java.lang.Object

    -A superinterface for things that can appear as the subject +A superclass for things that can appear as the subject or object of a statement.

    @@ -109,7 +113,20 @@ + + + + + + + + +
    +Constructor Summary
    MOBYPropertyValue() +
    +           
    @@ -120,19 +137,30 @@ - boolean +abstract  boolean isLiteral()
    -          Return whether or not this property value represents a literal +          Return whether or not this property value represents + a literal value - boolean +abstract  boolean isResource()
    -          Return whether or not this property value represents a resource +          Return whether or not this property value represents + a resource + + +  + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -143,6 +171,20 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYPropertyValue

    +
    +public MOBYPropertyValue()
    +
    +
    @@ -157,9 +199,10 @@

    isLiteral

    -public boolean isLiteral()
    +public abstract boolean isLiteral()
    -
    Return whether or not this property value represents a literal +
    Return whether or not this property value represents + a literal value

    @@ -170,9 +213,10 @@

    isResource

    -public boolean isResource()
    +public abstract boolean isResource()
    -
    Return whether or not this property value represents a resource +
    Return whether or not this property value represents + a resource

    @@ -209,8 +253,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -229,9 +273,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYLiteral - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,15 @@ org.smoby.graph
    -Interface MOBYLiteral -
    -
    All Superinterfaces:
    MOBYPropertyValue
    -
    +Class MOBYLiteral +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYPropertyValue
    +      extended byorg.smoby.graph.MOBYLiteral
    +

    -
    public interface MOBYLiteral
    extends MOBYPropertyValue
    +
    public class MOBYLiteral
    extends MOBYPropertyValue


    @@ -104,7 +106,20 @@ + + + + + + + + +
    +Constructor Summary
    MOBYLiteral(java.lang.String stringValue) +
    +           
    @@ -121,14 +136,32 @@
                + + + boolean +isLiteral() + +
    +          Return whether or not this property value represents + a literal value + + + + boolean +isResource() + +
    +          Return whether or not this property value represents + a resource + -  - + - +
    Methods inherited from interface org.smoby.graph.MOBYPropertyValueMethods inherited from class java.lang.Object
    isLiteral, isResourceequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -139,6 +172,20 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYLiteral

    +
    +public MOBYLiteral(java.lang.String stringValue)
    +
    +
    @@ -158,6 +205,39 @@
    +
    +
    + +

    +isLiteral

    +
    +public boolean isLiteral()
    +
    +
    Description copied from class: MOBYPropertyValue
    +
    Return whether or not this property value represents + a literal value +

    +

    +
    Specified by:
    isLiteral in class MOBYPropertyValue
    +
    +
    +
    +
    +
    +
    + +

    +isResource

    +
    +public boolean isResource()
    +
    +
    Description copied from class: MOBYPropertyValue
    +
    Return whether or not this property value represents + a resource +

    +

    +
    Specified by:
    isResource in class MOBYPropertyValue
    +
    @@ -193,8 +273,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -213,9 +293,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYGraph - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
    -Interface MOBYGraph -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYGraphNode, MOBYSingleElement
    -
    +Class MOBYGraph +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYSingleElement
    +              extended byorg.smoby.graph.MOBYGraph
    +

    -
    public interface MOBYGraph
    extends MOBYSingleElement
    +
    public class MOBYGraph
    extends MOBYSingleElement

    -This interface represents singular (i.e. not collection) subgraphs +This class represents singular (i.e. not collection) subgraphs that have a single mapping.

    @@ -109,7 +113,22 @@ + + + + + + + + +
    +Constructor Summary
    MOBYGraph(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYGraphNode hasMapping, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -120,29 +139,47 @@ - MOBYGraphNode -gethasMapping() + MOBYGraphNode +getHasMapping()
              Return the object of this graph's hasMapping property. +  + + + + + + + +
    Methods inherited from class org.smoby.graph.MOBYSingleElement
    isCollection, isSingular
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + - + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getURIgetResource, getUnderlying, getURI
    + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -153,6 +190,22 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYGraph

    +
    +public MOBYGraph(com.hp.hpl.jena.rdf.model.Resource resource,
    +                 MOBYGraphNode hasMapping,
    +                 com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -164,19 +217,16 @@ -

    -gethasMapping

    +

    +getHasMapping

    -public MOBYGraphNode gethasMapping()
    +public MOBYGraphNode getHasMapping()
    Return the object of this graph's hasMapping property.

    -
    -
    -

    @@ -209,8 +259,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -229,9 +279,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYProvider - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,19 @@ org.smoby.graph
    -Interface MOBYProvider -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYDocument
    -
    -
    -
    All Known Implementing Classes:
    MOBYProviderImpl
    -
    +Class MOBYProvider +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYDocument
    +          extended byorg.smoby.graph.MOBYProvider
    +

    -
    public interface MOBYProvider
    extends MOBYDocument
    +
    public class MOBYProvider
    extends MOBYDocument

    -The Provider interface represents a resource that provides a +The Provider class represents a resource that provides a service in MOBY.

    @@ -112,7 +112,25 @@ + + + + + + + + +
    +Constructor Summary
    MOBYProvider(com.hp.hpl.jena.rdf.model.Resource resource, + java.lang.String name, + java.lang.String oneLineDescription, + java.lang.String moreInfoURI, + MOBYUnorderedCollection operatesOn, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -148,7 +166,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection getOperatesOn()
    @@ -160,17 +178,34 @@ serialize(java.io.OutputStream out)
    -          Provider implementations should be capable of serializing themselves +          Providers should be capable of serializing themselves to an output stream + + + java.lang.String +toString() + +
    +            +   - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      @@ -181,6 +216,25 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYProvider

    +
    +public MOBYProvider(com.hp.hpl.jena.rdf.model.Resource resource,
    +                    java.lang.String name,
    +                    java.lang.String oneLineDescription,
    +                    java.lang.String moreInfoURI,
    +                    MOBYUnorderedCollection operatesOn,
    +                    com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -202,9 +256,6 @@
    -
    -
    -

    @@ -218,9 +269,6 @@
    -
    -
    -

    @@ -235,16 +283,13 @@
    -
    -
    -

    getOperatesOn

    -public MOBYUnorderedCollection getOperatesOn()
    +public MOBYUnorderedCollection getOperatesOn()
    Return a collection of graph nodes that this provider operates on. Each graph node represents either a Graph or GraphCollection. @@ -252,6 +297,14 @@
    +
    +
    + +

    +toString

    +
    +public java.lang.String toString()
    +
    @@ -263,15 +316,12 @@
     public void serialize(java.io.OutputStream out)
    -
    Provider implementations should be capable of serializing themselves +
    Providers should be capable of serializing themselves to an output stream

    -
    -
    -

    @@ -304,8 +354,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -324,9 +374,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYDescriptor - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,20 @@ org.smoby.graph
    -Interface MOBYDescriptor -
    -
    All Known Subinterfaces:
    MOBYCollection, MOBYDocument, MOBYEnumeration, MOBYFixedCollection, MOBYGraph, MOBYGraphNode, MOBYMappingElement, MOBYObject, MOBYOntology, MOBYOrderedCollection, MOBYProvider, MOBYProviderSet, MOBYResizableCollection, MOBYSingleElement, MOBYSubject, MOBYUnorderedCollection
    -
    +Class MOBYDescriptor +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +
    -
    All Known Implementing Classes:
    MOBYDescriptorImpl, MOBYDocumentImpl, org.smoby.graph.impl.MOBYGraphNodeImpl, MOBYMappingElementImpl, MOBYProviderImpl, MOBYProviderSetImpl, org.smoby.graph.impl.MOBYSingleElementImpl
    +
    Direct Known Subclasses:
    MOBYDocument, MOBYGraphNode, MOBYPropertyValueStatement

    -
    public interface MOBYDescriptor
    +
    public abstract class MOBYDescriptor
    extends java.lang.Object

    -The Resource interface represents things that are available +The MOBYDescriptor class represents things that are available at a URI.

    @@ -112,7 +113,21 @@ + + + + + + + + +
    +Constructor Summary
    MOBYDescriptor(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -123,11 +138,36 @@ + com.hp.hpl.jena.rdf.model.Resource +getResource() + +
    +          Return the resource associated with this descriptor. + + + + com.hp.hpl.jena.rdf.model.Model +getUnderlying() + +
    +          Return the underlying Jena model + + +  java.lang.String getURI()
    -          Return the URI represented by this node. +          Return the URI of the underlying resource, if any. + + +  + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -138,6 +178,21 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYDescriptor

    +
    +public MOBYDescriptor(com.hp.hpl.jena.rdf.model.Resource resource,
    +                      com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -149,12 +204,38 @@ +

    +getResource

    +
    +public com.hp.hpl.jena.rdf.model.Resource getResource()
    +
    +
    Return the resource associated with this descriptor. +

    +

    +
    +
    +
    +
    + +

    +getUnderlying

    +
    +public com.hp.hpl.jena.rdf.model.Model getUnderlying()
    +
    +
    Return the underlying Jena model +

    +

    +
    +
    +
    +
    +

    getURI

     public java.lang.String getURI()
    -
    Return the URI represented by this node. +
    Return the URI of the underlying resource, if any.

    @@ -191,8 +272,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -211,9 +292,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYMappingElement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,20 @@ org.smoby.graph
    -Interface MOBYMappingElement -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYGraphNode, MOBYSingleElement
    -
    -
    -
    All Known Subinterfaces:
    MOBYObject, MOBYSubject
    -
    +Class MOBYMappingElement +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +          extended byorg.smoby.graph.MOBYSingleElement
    +              extended byorg.smoby.graph.MOBYMappingElement
    +
    -
    All Known Implementing Classes:
    MOBYMappingElementImpl
    +
    Direct Known Subclasses:
    MOBYObject, MOBYSubject

    -
    public interface MOBYMappingElement
    extends MOBYSingleElement
    +
    public class MOBYMappingElement
    extends MOBYSingleElement


    @@ -110,7 +111,23 @@ + + + + + + + + +
    +Constructor Summary
    MOBYMappingElement(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYCollection nestedElements, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -121,39 +138,57 @@ - MOBYCollection + MOBYCollection getNestedElements()
    -          Return the collection of mappings that are nested within this subject - through its role as a data structure. +          Return the collection of mappings that are nested within this + mapping element through its role as a data structure. - MOBYFixedCollection + MOBYFixedCollection getPropertyValueStatements()
              Return the collection of property-setting statements associated - with this subject. + with this mapping element. + + +  + + + + + +
    Methods inherited from class org.smoby.graph.MOBYSingleElement
    isCollection, isSingular
      - + - +
    Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
    isBlank, isCollection, isSingularisBlank
      - + - + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getURIgetResource, getUnderlying, getURI
    + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -164,6 +199,23 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYMappingElement

    +
    +public MOBYMappingElement(com.hp.hpl.jena.rdf.model.Resource resource,
    +                          MOBYFixedCollection statements,
    +                          MOBYCollection nestedElements,
    +                          com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -178,34 +230,28 @@

    getPropertyValueStatements

    -public MOBYFixedCollection getPropertyValueStatements()
    +public MOBYFixedCollection getPropertyValueStatements()
    Return the collection of property-setting statements associated - with this subject. + with this mapping element.

    -
    -
    -

    getNestedElements

    -public MOBYCollection getNestedElements()
    +public MOBYCollection getNestedElements()
    -
    Return the collection of mappings that are nested within this subject - through its role as a data structure. +
    Return the collection of mappings that are nested within this + mapping element through its role as a data structure.

    -
    -
    -

    @@ -238,8 +284,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -258,9 +304,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + MOBYPropertyValueException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYDocument - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,21 @@ org.smoby.graph
    -Interface MOBYDocument +Class MOBYDocument +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYDocument
    +
    -
    All Superinterfaces:
    MOBYDescriptor
    -
    -
    -
    All Known Subinterfaces:
    MOBYOntology, MOBYProvider, MOBYProviderSet
    -
    -
    -
    All Known Implementing Classes:
    MOBYDocumentImpl, MOBYProviderImpl, MOBYProviderSetImpl
    +
    Direct Known Subclasses:
    MOBYOntology, MOBYProvider, MOBYProviderSet

    -
    public interface MOBYDocument
    extends MOBYDescriptor
    +
    public abstract class MOBYDocument
    extends MOBYDescriptor

    -This interface represents a document to be incorporated into +This class represents a document to be incorporated into the S-MOBY metadata repository.

    @@ -115,16 +114,39 @@ + + + + + + + + +
    +Constructor Summary
    MOBYDocument(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    - + - + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getURIgetResource, getUnderlying, getURI
    + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -135,6 +157,21 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYDocument

    +
    +public MOBYDocument(com.hp.hpl.jena.rdf.model.Resource resource,
    +                    com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -169,8 +206,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -189,9 +226,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYProviderSet - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,19 @@ org.smoby.graph
    -Interface MOBYProviderSet -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYDocument
    -
    -
    -
    All Known Implementing Classes:
    MOBYProviderSetImpl
    -
    +Class MOBYProviderSet +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYDocument
    +          extended byorg.smoby.graph.MOBYProviderSet
    +

    -
    public interface MOBYProviderSet
    extends MOBYDocument
    +
    public class MOBYProviderSet
    extends MOBYDocument

    -An interface to represent a set of providers +An class to represent a set of providers

    @@ -111,7 +111,20 @@ + + + + + + + + +
    +Constructor Summary
    MOBYProviderSet() +
    +           
    @@ -123,7 +136,7 @@  void -addProvider(MOBYProvider provider) +addProvider(MOBYProvider provider)
              Add a provider to the set @@ -149,10 +162,19 @@   - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -163,6 +185,20 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYProviderSet

    +
    +public MOBYProviderSet()
    +
    +
    @@ -174,35 +210,29 @@ -

    -addProvider

    +

    +size

    -public void addProvider(MOBYProvider provider)
    +public int size()
    -
    Add a provider to the set +
    Return the size of the set

    -
    -
    -

    -

    -size

    +

    +addProvider

    -public int size()
    +public void addProvider(MOBYProvider provider)
    -
    Return the size of the set +
    Add a provider to the set

    -
    -
    -

    @@ -217,9 +247,6 @@
    -
    -
    -

    @@ -252,8 +279,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -272,9 +299,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYGraphNode - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,21 @@ org.smoby.graph
    -Interface MOBYGraphNode -
    -
    All Superinterfaces:
    MOBYDescriptor
    -
    -
    -
    All Known Subinterfaces:
    MOBYCollection, MOBYEnumeration, MOBYFixedCollection, MOBYGraph, MOBYMappingElement, MOBYObject, MOBYOrderedCollection, MOBYResizableCollection, MOBYSingleElement, MOBYSubject, MOBYUnorderedCollection
    -
    +Class MOBYGraphNode +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYGraphNode
    +
    -
    All Known Implementing Classes:
    org.smoby.graph.impl.MOBYGraphNodeImpl, MOBYMappingElementImpl, org.smoby.graph.impl.MOBYSingleElementImpl
    +
    Direct Known Subclasses:
    MOBYCollection, MOBYSingleElement

    -
    public interface MOBYGraphNode
    extends MOBYDescriptor
    +
    public abstract class MOBYGraphNode
    extends MOBYDescriptor

    -An interface for nodes in an RDF graph; these nodes are either +An abstract class for nodes in an RDF graph; these nodes are either collections or singular elements.

    @@ -115,7 +114,21 @@ + + + + + + + + +
    +Constructor Summary
    MOBYGraphNode(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    @@ -134,7 +147,7 @@ - boolean +abstract  boolean isCollection()
    @@ -142,7 +155,7 @@ - boolean +abstract  boolean isSingular()
    @@ -152,10 +165,19 @@   - + + + + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getResource, getUnderlying, getURI
    + + + - +
    Methods inherited from class java.lang.Object
    getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -166,6 +188,21 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYGraphNode

    +
    +public MOBYGraphNode(com.hp.hpl.jena.rdf.model.Resource resource,
    +                     com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -187,41 +224,32 @@
    -
    -
    -

    isCollection

    -public boolean isCollection()
    +public abstract boolean isCollection()
    Return whether or not this object is a collection.

    -
    -
    -

    isSingular

    -public boolean isSingular()
    +public abstract boolean isSingular()
    Return whether or not this object is a singular element.

    -
    -
    -

    @@ -254,8 +282,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -274,9 +302,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph @@ -23,49 +23,70 @@ Interfaces 
    -MOBYCollection +MOBYGraphVisitor
    + + + + + + + +MOBYUnorderedCollection
    +Classes  + +
    +MOBYCollection +
    +MOBYDateConstraint +
    +MOBYDescriptor +
    +MOBYDocument +
    +MOBYEnumeration +
    +MOBYFixedCollection
    -MOBYDescriptor +MOBYGraph
    -MOBYDocument +MOBYGraphNode
    -MOBYEnumeration +MOBYIntegerConstraint
    -MOBYFixedCollection +MOBYLiteral
    -MOBYGraph +MOBYMappingElement
    -MOBYGraphNode +MOBYNonNegativeIntegerConstraint
    -MOBYLiteral +MOBYNonPositiveIntegerConstraint
    -MOBYMappingElement +MOBYNumericConstraint
    -MOBYObject +MOBYObject
    -MOBYOntology +MOBYOntology
    -MOBYOrderedCollection +MOBYOrderedCollection
    -MOBYPropertyValue +MOBYPropertyValue
    -MOBYPropertyValueConstraint +MOBYPropertyValueConstraint
    -MOBYPropertyValueStatement +MOBYPropertyValueStatement
    -MOBYProvider +MOBYProvider
    -MOBYProviderSet +MOBYProviderSet
    -MOBYResizableCollection +MOBYResizableCollection
    -MOBYResource +MOBYResource
    -MOBYSingleElement +MOBYSingleElement
    -MOBYSubject +MOBYSubject
    -MOBYUnorderedCollection
    =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYOntology - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,19 @@ org.smoby.graph
    -Interface MOBYOntology -
    -
    All Superinterfaces:
    MOBYDescriptor, MOBYDocument
    -
    +Class MOBYOntology +
    +java.lang.Object
    +  extended byorg.smoby.graph.MOBYDescriptor
    +      extended byorg.smoby.graph.MOBYDocument
    +          extended byorg.smoby.graph.MOBYOntology
    +

    -
    public interface MOBYOntology
    extends MOBYDocument
    +
    public class MOBYOntology
    extends MOBYDocument

    -This interface represents a collection of RDF statements to be +This class represents a collection of RDF statements to be incorporated into the S-MOBY metadata repository.

    @@ -109,16 +112,39 @@ + + + + + + + + +
    +Constructor Summary
    MOBYOntology(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
    +           
    - + - + + +
    Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
    getURIgetResource, getUnderlying, getURI
    + + + + + +
    Methods inherited from class java.lang.Object
    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      @@ -129,6 +155,21 @@ + + + + + +
    +Constructor Detail
    + +

    +MOBYOntology

    +
    +public MOBYOntology(com.hp.hpl.jena.rdf.model.Resource resource,
    +                    com.hp.hpl.jena.rdf.model.Model underlying)
    +
    +
    @@ -163,8 +204,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -183,9 +224,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph Class Hierarchy @@ -50,7 +50,7 @@  PREV  - NEXTNEXT FRAMES    NO FRAMES   @@ -85,6 +85,30 @@
    • class java.lang.Object
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/overview-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/overview-frame.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/overview-frame.html 2004/11/23 00:19:57 1.2 @@ -2,12 +2,12 @@ - + Overview - + @@ -30,21 +30,19 @@ Packages
      -org.smoby.graph +org.semanticmoby.graph
      -org.smoby.graph.impl +org.semanticmoby.graph.tools
      -org.smoby.http +org.semanticmoby.http
      -org.smoby.parser +org.semanticmoby.parser
      -org.smoby.parser.test +org.semanticmoby.servlet
      -org.smoby.servlet +org.semanticmoby.tools
      -org.smoby.tools -
      -org.smoby.vocabulary +org.semanticmoby.vocabulary
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/allclasses-noframe.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/allclasses-noframe.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/allclasses-noframe.html 2004/11/23 00:19:57 1.2 @@ -2,7 +2,7 @@ - + All Classes @@ -20,97 +20,99 @@ - =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/constant-values.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/constant-values.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/constant-values.html 2004/11/23 00:19:57 1.2 @@ -2,7 +2,7 @@ - + Constant Field Values @@ -78,14 +78,14 @@
      Contents - +
      AbstractMobyServlet +AbstractMobyServlet
      -HTTPException +HTTPException
      -HTTPRequest +HTTPRequest
      -HTTPResponse +HTTPResponse
      -MOBY +MOBY
      -MOBYCollection +MOBYCollection
      -MOBYDateConstraintImpl +MOBYDateConstraint
      -MOBYDescriptor +MOBYDescriptor
      -MOBYDescriptorImpl +MOBYDocument
      -MOBYDocument +MOBYEnumeration
      -MOBYDocumentImpl +MOBYFixedCollection
      -MOBYEnumeration +MOBYGraph
      -MOBYFixedCollection +MOBYGraphNode
      -MOBYGraph +MOBYGraphVisitor
      -MOBYGraphNode +MOBYIntegerConstraint
      -MOBYLiteral +MOBYLiteral
      -MOBYMappingElement +MOBYMappingElement
      -MOBYMappingElementImpl +MOBYNonNegativeIntegerConstraint
      -MOBYNonNegativeIntegerConstraintImpl +MOBYNonPositiveIntegerConstraint
      -MOBYNonPositiveIntegerConstraintImpl +MOBYNumericConstraint
      -MOBYObject +MOBYObject
      -MOBYObjectFactory +MOBYOntology
      -MOBYOntology +MOBYOrderedCollection
      -MOBYOrderedCollection +MOBYPropertyValue
      -MOBYPropertyValue +MOBYPropertyValueConstraint
      -MOBYPropertyValueConstraint +MOBYPropertyValueException
      -MOBYPropertyValueException +MOBYPropertyValueStatement
      -MOBYPropertyValueStatement +MOBYProvider
      -MOBYProvider +MOBYProviderSet
      -MOBYProviderImpl +MOBYProviderTraversalException
      -MOBYProviderSet +MOBYProviderTraverser
      -MOBYProviderSetImpl +MOBYProviderVisitor
      -MOBYResizableCollection +MOBYProviderVisitorAdapter
      -MOBYResource +MOBYProviderXMLGenerator
      -MOBYSingleElement +MOBYResizableCollection
      -MOBYSubject +MOBYResource
      -MOBYUnorderedCollection +MOBYSingleElement
      -NonCanonicalException +MOBYSubject
      -ParamReader +MOBYUnorderedCollection
      -ParameterException +ModelRetriever
      -Parser +NonCanonicalException
      -ParserTest +ParamReader
      -Test +ParameterException
      -UnparsableGraphException +Parser
      -Util +UnparsableGraphException
      -VocabularyDescription +Util +
      +VocabularyDescription
      +org.semanticmoby.*
      -org.smoby.*
      @@ -93,18 +93,24 @@ - + - - + - - + + + + + + @@ -117,18 +123,18 @@
      org.smoby.http.HTTPRequestorg.semanticmoby.http.HTTPRequest
      + public static final intHTTP_GETHTTP_GET 0
      + public static final intHTTP_POSTHTTP_HEAD2
      +public static final intHTTP_POST 1
      - + - - + - - + @@ -141,18 +147,24 @@
      org.smoby.parser.Parserorg.semanticmoby.parser.Parser
      + public static final java.lang.StringLANGUAGE_N3LANGUAGE_N3 "N3"
      + public static final java.lang.StringLANGUAGE_RDF_XMLLANGUAGE_RDF_XML "RDF/XML"
      - + + + + + + - - + - - + rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/RCS/developer.html,v: No such file or directory From nopushneva at pub.open-bio.org Mon Nov 1 19:16:32 2004 From: nopushneva at pub.open-bio.org (Nina Opushneva) Date: Mon, 1 Nov 2004 14:16:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411011916.iA1JGWsC017573@pub.open-bio.org> nopushneva Mon Nov 1 14:16:28 EST 2004 Update of /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib In directory pub.open-bio.org:/tmp/cvs-serv17507 Added Files: activation.jar commons-logging.jar icu4j.jar jakarta-oro-2.0.5.jar jdom.jar jena.jar junit.jar log4j-1.2.4.jar mail.jar rdf-api-2001-01-19.jar xercesImpl.jar xml-apis.jar Log Message: The temporary restore moby-live/Agents/MOBY-S/RDFAgent/lib activation.jar,1.2,1.3 commons-logging.jar,1.2,1.3 icu4j.jar,1.2,1.3 jakarta-oro-2.0.5.jar,1.2,1.3 jdom.jar,1.2,1.3 jena.jar,1.2,1.3 junit.jar,1.2,1.3 log4j-1.2.4.jar,NONE,1.1 mail.jar,1.2,1.3 rdf-api-2001-01-19.jar,1.2,1.3 xercesImpl.jar,1.2,1.3 xml-apis.jar,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 Binary files /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar 2004/10/19 00:10:04 1.2 and /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar 2004/11/01 19:16:26 1.3 differ rcsdiff: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/activation.jar: diff failed =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/commons-logging.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/icu4j.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jakarta-oro-2.0.5.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 Binary files /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar 2004/10/19 00:10:05 1.2 and /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar 2004/11/01 19:16:26 1.3 differ rcsdiff: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jdom.jar: diff failed =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/jena.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/junit.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/mail.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/rdf-api-2001-01-19.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/xercesImpl.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Agents/MOBY-S/RDFAgent/lib/xml-apis.jar,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 From nopushneva at pub.open-bio.org Mon Nov 1 19:21:42 2004 From: nopushneva at pub.open-bio.org (Nina Opushneva) Date: Mon, 1 Nov 2004 14:21:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411011921.iA1JLgjh017640@pub.open-bio.org> nopushneva Mon Nov 1 14:21:42 EST 2004 Update of /home/repository/moby/moby-live/Java In directory pub.open-bio.org:/tmp/cvs-serv17614 Modified Files: build.xml Log Message: add target for building RDFagent files moby-live/Java build.xml,1.8,1.9 =================================================================== RCS file: /home/repository/moby/moby-live/Java/build.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Java/build.xml 2004/10/18 14:35:05 1.8 +++ /home/repository/moby/moby-live/Java/build.xml 2004/11/01 19:21:42 1.9 @@ -31,7 +31,7 @@ - + @@ -42,6 +42,7 @@ + @@ -65,7 +66,8 @@ - + + @@ -104,6 +106,8 @@ + + @@ -176,6 +180,7 @@ + @@ -193,7 +198,7 @@ - + @@ -212,6 +217,7 @@ + @@ -388,6 +394,28 @@ + + + + + + + + + + + + + + + + + + + + + @@ -431,8 +459,53 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From gss at pub.open-bio.org Thu Nov 4 22:21:20 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:21:20 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042221.iA4MLKue031258@pub.open-bio.org> gss Thu Nov 4 17:21:20 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv31225/src/org/smoby/graph/tools Modified Files: MOBYProviderXMLGenerator.java MOBYProviderVisitor.java MOBYProviderTraverser.java Added Files: MOBYProviderVisitorAdapter.java Log Message: Experimental package moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools MOBYProviderVisitorAdapter.java,NONE,1.1 MOBYProviderXMLGenerator.java,1.1,1.2 MOBYProviderVisitor.java,1.1,1.2 MOBYProviderTraverser.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderXMLGenerator.java 2004/11/04 22:21:19 1.2 @@ -1,6 +1,7 @@ package org.smoby.graph.tools; import org.smoby.graph.*; + import java.io.*; public class MOBYProviderXMLGenerator implements MOBYProviderVisitor @@ -45,11 +46,11 @@ } public boolean visitGraphBegin(MOBYGraph graph) { - return start("graph", null, false); + return start("moby-graph", null, false); } public void visitGraphEnd(MOBYGraph graph) { - end("graph"); + end("moby-graph"); } public boolean visitHasMappingBegin(MOBYGraphNode graphNode) { @@ -159,4 +160,18 @@ { currentIndent -= 4; } + + public boolean visitSubjectPropValStmtsBegin(MOBYCollection stmts) throws MOBYProviderTraversalException { + return false; + } + + public void visitSubjectPropValStmtsEnd(MOBYCollection stmts) throws MOBYProviderTraversalException { + } + + public boolean visitSubjectPropValStmtBegin(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException { + return false; + } + + public void visitSubjectPropValStmtEnd(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException { + } } =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderVisitor.java 2004/11/04 22:21:19 1.2 @@ -8,41 +8,48 @@ // public boolean visitProviderBegin(MOBYProvider provider) throws MOBYProviderTraversalException; - public void visitProviderEnd(MOBYProvider provider); + public void visitProviderEnd(MOBYProvider provider) + throws MOBYProviderTraversalException; // Visitation of the collection of things the provider operates on // public boolean visitOperatesOnBegin(MOBYCollection subgraphs) throws MOBYProviderTraversalException; - public void visitOperatesOnEnd(MOBYCollection subgraphs); + public void visitOperatesOnEnd(MOBYCollection subgraphs) + throws MOBYProviderTraversalException; // Visitation of an operatesOn subgraph // public boolean visitGraphBegin(MOBYGraph graph) throws MOBYProviderTraversalException; - public void visitGraphEnd(MOBYGraph graph); + public void visitGraphEnd(MOBYGraph graph) + throws MOBYProviderTraversalException; // Visitation of a hasMapping // public boolean visitHasMappingBegin(MOBYGraphNode graphNode) throws MOBYProviderTraversalException; - public void visitHasMappingEnd(MOBYGraphNode graphNode); + public void visitHasMappingEnd(MOBYGraphNode graphNode) + throws MOBYProviderTraversalException; // Visitation of a subject // public boolean visitSubjectBegin(MOBYSubject subject) throws MOBYProviderTraversalException; - public void visitSubjectEnd(MOBYSubject subject); + public void visitSubjectEnd(MOBYSubject subject) + throws MOBYProviderTraversalException; // Visitation of a set of property value statements // - public boolean visitPropValStmtsBegin(MOBYCollection stmts) + public boolean visitSubjectPropValStmtsBegin(MOBYCollection stmts) + throws MOBYProviderTraversalException; + public void visitSubjectPropValStmtsEnd(MOBYCollection stmts) throws MOBYProviderTraversalException; - public void visitPropValStmtsEnd(MOBYCollection stmts); // Visitation of a given property value statement // - public boolean visitPropValStmtBegin(MOBYPropertyValueStatement stmt) + public boolean visitSubjectPropValStmtBegin(MOBYPropertyValueStatement stmt) + throws MOBYProviderTraversalException; + public void visitSubjectPropValStmtEnd(MOBYPropertyValueStatement stmt) throws MOBYProviderTraversalException; - public void visitPropValStmtEnd(MOBYPropertyValueStatement stmt); } =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java 2004/07/29 23:34:45 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/MOBYProviderTraverser.java 2004/11/04 22:21:19 1.2 @@ -7,6 +7,13 @@ public class MOBYProviderTraverser { + public void traverse(MOBYProvider provider, MOBYProviderVisitor visitor) + { + try { + traverse(provider, visitor, false); + } catch (MOBYProviderTraversalException e) {} + } + /** * Traverse the given provider, visiting its components with the * given visitor. @@ -16,7 +23,9 @@ * @return whether or not the visitor said to stop before the * entire provider graph was traversed */ - private void traverse(MOBYProvider provider, MOBYProviderVisitor visitor) + public void traverse(MOBYProvider provider, MOBYProviderVisitor visitor, + boolean rethrowExceptions) + throws MOBYProviderTraversalException { try { @@ -54,7 +63,12 @@ } // Visitors indicate that traversal should stop by throwing // provider traversal exceptions. - catch (MOBYProviderTraversalException e) {} + catch (MOBYProviderTraversalException e) + { + if (rethrowExceptions) { + throw e; + } + } } /** @@ -96,7 +110,7 @@ if (keepGoing) { MOBYCollection coll = subject.getPropertyValueStatements(); - keepGoing = visitor.visitPropValStmtsBegin(coll); + keepGoing = visitor.visitSubjectPropValStmtsBegin(coll); if (keepGoing) { Iterator it = subject.getPropertyValueStatements().iterator(); @@ -104,12 +118,12 @@ { MOBYPropertyValueStatement stmt = (MOBYPropertyValueStatement) it.next(); - if (visitor.visitPropValStmtBegin(stmt)) { - visitor.visitPropValStmtEnd(stmt); + if (visitor.visitSubjectPropValStmtBegin(stmt)) { + visitor.visitSubjectPropValStmtEnd(stmt); } } } - visitor.visitPropValStmtsEnd(coll); + visitor.visitSubjectPropValStmtsEnd(coll); } if (keepGoing) @@ -140,15 +154,15 @@ return keepGoing; } - public static void main(String[] args) throws Exception - { - File f = new File("get-individuals.n3"); - Parser parser = Parser.forN3File(f); - MOBYProvider provider = parser.parseProvider(); - - MOBYProviderTraverser traverser = new MOBYProviderTraverser(); - MOBYProviderXMLGenerator printer = new MOBYProviderXMLGenerator(); - - traverser.traverse(provider, printer); - } +// public static void main(String[] args) throws Exception +// { +// File f = new File("get-individuals.n3"); +// Parser parser = Parser.forN3File(f); +// MOBYProvider provider = parser.parseProvider(); +// +// MOBYProviderTraverser traverser = new MOBYProviderTraverser(); +// MOBYProviderXMLGenerator printer = new MOBYProviderXMLGenerator(); +// +// traverser.traverse(provider, printer); +// } } From gss at pub.open-bio.org Thu Nov 4 22:22:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:22:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042222.iA4MMT1F031299@pub.open-bio.org> gss Thu Nov 4 17:22:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv31274/src/org/smoby/http Modified Files: HTTPRequest.java Log Message: Misc fixes moby-live/S-MOBY/ref-impl/core/src/org/smoby/http HTTPRequest.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java 2004/05/24 22:05:35 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/HTTPRequest.java 2004/11/04 22:22:29 1.2 @@ -16,18 +16,21 @@ public class HTTPRequest { /** - * Constant meaning to use HTTP GET as the method for communicating - * with the registration server. + * Constant meaning to use HTTP GET as the method */ public final static int HTTP_GET = 0; /** - * Constant meaning to use HTTP POST as the method for communicating - * with the registration server. + * Constant meaning to use HTTP POST as the method */ public final static int HTTP_POST = 1; /** + * Constant meaning to use HTTP HEAD as the method + */ + public final static int HTTP_HEAD = 2; + + /** * The URL of the server to be contacted */ private String serverURL = null; @@ -63,6 +66,11 @@ return new HTTPRequest(serverURL, HTTP_POST); } + public static HTTPRequest newHeadRequest(String uri) + { + return new HTTPRequest(uri, HTTP_HEAD); + } + public void addParameter(String paramName, String paramValue) { params.add(new NameValuePair(paramName, paramValue)); @@ -97,20 +105,27 @@ { HttpMethod methodObject = null; - if (method == HTTP_GET) { - methodObject = new GetMethod(getURLString()); - } - else if (method == HTTP_POST) - { - methodObject = new PostMethod(getURLString()); - NameValuePair[] paramArray = new NameValuePair[params.size()]; - Iterator it = params.iterator(); - for (int i = 0; i < paramArray.length; i++) - { - paramArray[i] = (NameValuePair) it.next(); - } - ((PostMethod) methodObject).setRequestBody(paramArray); - } + switch (method) + { + case HTTP_GET : + methodObject = new GetMethod(getURLString()); + break; + + case HTTP_POST : + methodObject = new PostMethod(getURLString()); + NameValuePair[] paramArray = new NameValuePair[params.size()]; + Iterator it = params.iterator(); + for (int i = 0; i < paramArray.length; i++) + { + paramArray[i] = (NameValuePair) it.next(); + } + ((PostMethod) methodObject).setRequestBody(paramArray); + break; + + case HTTP_HEAD : + methodObject = new HeadMethod(getURLString()); + break; + } // Add request headers to the method // @@ -136,8 +151,8 @@ try { methodObject.getResponseBodyAsString(); - } catch (IOException e) { - throw new HTTPException("Couldn't get response body", e); + } catch (Throwable t) { + throw new HTTPException("Couldn't get response body", t); } methodObject.releaseConnection(); From gss at pub.open-bio.org Thu Nov 4 22:23:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:23:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042223.iA4MNAFp031337@pub.open-bio.org> gss Thu Nov 4 17:23:10 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser In directory pub.open-bio.org:/tmp/cvs-serv31312/src/org/smoby/parser Modified Files: Parser.java Log Message: Misc moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser Parser.java,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java 2004/07/29 23:35:09 1.7 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/Parser.java 2004/11/04 22:23:10 1.8 @@ -34,6 +34,12 @@ * plus all statements that are reachable from it. */ private List subModels = new ArrayList(); + + /** + * A map relating a property's URI to an Inference model derived from + * its base model + */ + private Map cachedPropertyModels = new HashMap(); /** * Create and return a parser for parsing an N3 file @@ -426,13 +432,20 @@ */ private InfModel getPropertyModel(Property p) { - Model model = ModelRetriever.retrieveModel(p.getURI()); + InfModel cachedModel = (InfModel) + cachedPropertyModels.get(p.getURI()); - if (model == null) { - return null; - } else { - return ModelFactory.createRDFSModel(model); + if (cachedModel == null) + { + Model model = ModelRetriever.retrieveModel(p.getURI()); + + if (model != null) + { + cachedModel = ModelFactory.createRDFSModel(model); + cachedPropertyModels.put(p.getURI(), cachedModel); + } } + return cachedModel; } /** From gss at pub.open-bio.org Thu Nov 4 22:23:34 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:23:34 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042223.iA4MNYSr031375@pub.open-bio.org> gss Thu Nov 4 17:23:33 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv31350/src/org/smoby/servlet Modified Files: AbstractMobyServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet AbstractMobyServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java 2004/05/24 22:05:34 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/AbstractMobyServlet.java 2004/11/04 22:23:33 1.2 @@ -100,10 +100,11 @@ try { - // Read the invocation graph from the "graph" parameter - // and parse it into a MOBYGraph object + // Read the invocation graph from the MOBY.GRAPH_PARAMETER_NAME + // parameter and parse it into a MOBYGraph object // - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Parser parser = Parser.forString( graphString, Parser.LANGUAGE_RDF_XML); MOBYProvider provider = parser.parseProvider(); From gss at pub.open-bio.org Thu Nov 4 22:25:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:25:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042225.iA4MPUr5031418@pub.open-bio.org> gss Thu Nov 4 17:25:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv31393/src/org/smoby/vocabulary Modified Files: MOBY.java Log Message: Added properties for inputURI and outputURI moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary MOBY.java,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java 2004/07/19 21:22:09 1.6 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/MOBY.java 2004/11/04 22:25:30 1.7 @@ -7,6 +7,14 @@ { public final static String IF_MODIFIED_HEADER = "If-Modified-Since"; public final static String LAST_MODIFIED_HEADER = "Last-Modified"; + + /** + * When doing an HTTP POST to a Semantic MOBY provider (i.e. + * engaging the provider), the graph that the provider is to + * operate on is stored in a parameter with this name, whose + * value is a serialized RDF/XML graph. + */ + public final static String GRAPH_PARAMETER_NAME = "graph"; public static String getURI() { @@ -31,6 +39,8 @@ public static final Property name = property(getURI(), "name"); public static final Property oneLineDescription = property(getURI(), "oneLineDescription"); public static final Property aboutURI = property(getURI(), "aboutURI"); + public static final Property inputURI = property(getURI(), "inputURI"); + public static final Property outputURI = property(getURI(), "outputURI"); public static final Property operatesOn = property(getURI(), "operatesOn"); public static final Property hasMapping = property(getURI(), "hasMapping"); public static final Property mapsTo = property(getURI(), "mapsTo"); From gss at pub.open-bio.org Thu Nov 4 22:26:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:26:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042226.iA4MQmeQ031460@pub.open-bio.org> gss Thu Nov 4 17:26:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp In directory pub.open-bio.org:/tmp/cvs-serv31436/WebRoot/jsp Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 22:26:49 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:26:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042226.iA4MQnG3031494@pub.open-bio.org> gss Thu Nov 4 17:26:49 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp In directory pub.open-bio.org:/tmp/cvs-serv31473/WebRoot/jsp Added Files: display.jsp display-redirector.jsp Log Message: Utility JSPs moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/jsp display.jsp,NONE,1.1 display-redirector.jsp,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:27:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:27:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042227.iA4MRgnl031548@pub.open-bio.org> gss Thu Nov 4 17:27:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv31523/WebRoot Modified Files: index.html Log Message: Added text to enter * for all providers moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot index.html,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/07/21 22:35:25 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/04 22:27:42 1.4 @@ -24,7 +24,11 @@
      Type any terms into the boxes above and press Search
      -(for example type 'hello' (without quotes) into the Provider box) +(for example type 'hello' (without quotes) into the Provider field, +
      +or to see all providers, type just an asterisk (*) into the +
      +Provider field and leave the other fields blank)

      @@ -54,6 +58,7 @@
      org.smoby.vocabulary.MOBYorg.semanticmoby.vocabulary.MOBY
      +public static final java.lang.StringGRAPH_PARAMETER_NAME"graph"
      + public static final java.lang.StringIF_MODIFIED_HEADERIF_MODIFIED_HEADER "If-Modified-Since"
      + public static final java.lang.StringLAST_MODIFIED_HEADERLAST_MODIFIED_HEADER "Last-Modified"

      + From gss at pub.open-bio.org Thu Nov 4 22:28:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MS2bq031582@pub.open-bio.org> gss Thu Nov 4 17:28:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello In directory pub.open-bio.org:/tmp/cvs-serv31553/WebRoot/examples/hello Modified Files: hello-world.n3 hello-world.rdf Log Message: Added inputURI and outputURI moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello hello-world.n3,1.2,1.3 hello-world.rdf,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.n3 2004/11/04 22:28:02 1.3 @@ -10,6 +10,7 @@ a moby:Provider, exterms:GreetingProvider ; moby:name "Semantic MOBY Hello World provider" ; moby:oneLineDescription "Simple example of a Semantic MOBY provider" ; + moby:outputURI "http://www.semanticmoby.org/examples/display-hello-world-results" ; moby:operatesOn [ a moby:Graph ; moby:hasMapping [ =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/examples/hello/hello-world.rdf 2004/11/04 22:28:02 1.3 @@ -8,21 +8,22 @@ xmlns:moby="http://www.semanticmoby.org/ontologies/core/" > + http://www.semanticmoby.org/examples/display-hello-world-results Simple example of a Semantic MOBY provider Semantic MOBY Hello World provider - - - - - + + + + + - + \ No newline at end of file From gss at pub.open-bio.org Thu Nov 4 22:28:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSjS8031611@pub.open-bio.org> gss Thu Nov 4 17:28:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv31587/src/org/smoby/ref/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 22:28:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSjM1031629@pub.open-bio.org> gss Thu Nov 4 17:28:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv31587/src/org/smoby/ref/vocabulary/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 22:28:47 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:28:47 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042228.iA4MSluQ031666@pub.open-bio.org> gss Thu Nov 4 17:28:47 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv31645/src/org/smoby/ref/vocabulary/example Added Files: Hello.java Log Message: Vocabulary for Hello World provider moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example Hello.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:30:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUjj7031721@pub.open-bio.org> gss Thu Nov 4 17:30:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv31697/WebRoot/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 22:30:45 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUjsh031739@pub.open-bio.org> gss Thu Nov 4 17:30:45 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images In directory pub.open-bio.org:/tmp/cvs-serv31697/WebRoot/meeting/images Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 22:30:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUmEG031799@pub.open-bio.org> gss Thu Nov 4 17:30:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images In directory pub.open-bio.org:/tmp/cvs-serv31763/WebRoot/meeting/images Added Files: moby.png ncgr.png Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/images moby.png,NONE,1.1 ncgr.png,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:30:48 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:30:48 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042230.iA4MUmLN031784@pub.open-bio.org> gss Thu Nov 4 17:30:48 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv31763/WebRoot/meeting Added Files: index.html missing-fields.jsp registration-form.html registration-confirmation.jsp lodging.html shuttles.html Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting index.html,NONE,1.1 missing-fields.jsp,NONE,1.1 registration-form.html,NONE,1.1 registration-confirmation.jsp,NONE,1.1 lodging.html,NONE,1.1 shuttles.html,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:31:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:31:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042231.iA4MVa0L031864@pub.open-bio.org> gss Thu Nov 4 17:31:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org In directory pub.open-bio.org:/tmp/cvs-serv31831 Modified Files: .project .mymetadata .classpath Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org .project,1.1,1.2 .mymetadata,1.2,1.3 .classpath,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.project 2004/11/04 22:31:36 1.2 @@ -35,6 +35,16 @@ + + com.ibm.etools.validation.validationbuilder + + + + + com.ibm.sse.model.structuredbuilder + + + com.genuitec.eclipse.ast.deploy.core.deploymentnature =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata 2004/07/21 22:00:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.mymetadata 2004/11/04 22:31:36 1.3 @@ -1,8 +1,13 @@ - - - - + + + + + =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/04 22:31:36 1.2 @@ -3,20 +3,22 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + From gss at pub.open-bio.org Thu Nov 4 22:32:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:32:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MW52U031902@pub.open-bio.org> gss Thu Nov 4 17:32:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv31877/WebRoot/WEB-INF Modified Files: web.xml Log Message: Added misc. servlets moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF web.xml,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml 2004/07/21 22:01:20 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/WEB-INF/web.xml 2004/11/04 22:32:05 1.3 @@ -10,6 +10,13 @@ + DiscoveryServlet + find-providers + Discovery servlet + org.smoby.ref.servlets.DiscoveryServlet + + + KeywordSearchServlet keyword-search Keyword search servlet @@ -24,11 +31,25 @@ + ResultsDisplayServlet + display-results + Results display servlet + org.smoby.ref.servlets.ResultsDisplayServlet + + + HelloWorldServlet hello-world Hello World simple application org.smoby.ref.servlets.example.HelloWorldServlet + + + HelloWorldDisplayServlet + hello-world-display + Servlet to display results of invocation of hello-world application + org.smoby.ref.servlets.example.HelloWorldDisplayServlet + GraphConversionServlet @@ -58,6 +79,13 @@ org.smoby.ref.servlets.dev.MOBYGraphValidationServlet + + MeetingRegistrationServlet + Meeting Registration Servlet + Respond to registration form submission + org.smoby.meeting.MeetingRegistrationServlet + + @@ -71,16 +99,31 @@ + DiscoveryServlet + /find-providers + + + ProviderEngagementServlet /engage-provider + ResultsDisplayServlet + /display-results + + + HelloWorldServlet /examples/hello-world + HelloWorldDisplayServlet + /examples/display-hello-world-results + + + GraphConversionServlet /dev/convert-graph @@ -100,4 +143,9 @@ /dev/validate-canonical-graph + + MeetingRegistrationServlet + /meeting/register + + From gss at pub.open-bio.org Thu Nov 4 22:32:20 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:32:20 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MWKrg031931@pub.open-bio.org> gss Thu Nov 4 17:32:20 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv31907/src/org/smoby/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Thu Nov 4 22:32:22 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:32:22 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042232.iA4MWM04031965@pub.open-bio.org> gss Thu Nov 4 17:32:21 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv31944/src/org/smoby/meeting Added Files: MeetingRegistrationServlet.java Log Message: Autumn 2004 Meeting moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting MeetingRegistrationServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:33:03 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:33:03 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MX3FB032003@pub.open-bio.org> gss Thu Nov 4 17:33:03 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv31978/src/org/smoby/ref/servlets Modified Files: BaseServlet.java Log Message: Added doc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets BaseServlet.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java 2004/07/21 22:01:19 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/BaseServlet.java 2004/11/04 22:33:03 1.3 @@ -1,17 +1,16 @@ package org.smoby.ref.servlets; import java.io.*; -import java.util.Hashtable; - +import java.util.*; import javax.servlet.*; import javax.servlet.http.*; - import org.smoby.ref.tools.*; import org.smoby.servlet.*; import org.apache.log4j.*; /** - * A common base class for MOBY servlets + * A common base class for servlets that are part of the + * Semantic MOBY site itself. */ public abstract class BaseServlet extends HttpServlet { @@ -50,12 +49,22 @@ } } - protected void startHTML(HttpServletResponse response, PrintStream out) + /** + * Write a standard batch of HTML, including the Semantic + * MOBY logo. + * @param response the servlet response object + * @param title the title to use for the browser page + * @param out print stream to which HTML should be written + */ + protected void startHTML(HttpServletResponse response, + String title, PrintStream out) { response.setContentType("text/html"); out.println(""); out.println(""); - out.println("Semantic MOBY search results"); + out.print(""); + out.print(title); + out.println(""); out.println(""); out.println("
      "); out.println("

      "); @@ -71,7 +80,11 @@ out.println(""); } - protected void finishHTML(HttpServletResponse response, PrintStream out) + /** + * Write a closing batch of HTML to match what was written by + * the startHTML() method + */ + protected void finishHTML(PrintStream out) { out.println(""); out.println(""); From gss at pub.open-bio.org Thu Nov 4 22:33:26 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:33:26 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MXQ2d032051@pub.open-bio.org> gss Thu Nov 4 17:33:26 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32026/src/org/smoby/ref/servlets Modified Files: DiscoveryServlet.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets DiscoveryServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/DiscoveryServlet.java 2004/11/04 22:33:26 1.2 @@ -1,9 +1,9 @@ package org.smoby.ref.servlets; +import org.smoby.ref.tools.*; import org.smoby.servlet.*; import org.smoby.graph.*; import org.smoby.parser.*; -import org.smoby.ref.tools.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.rdql.*; import java.io.*; From gss at pub.open-bio.org Thu Nov 4 22:33:50 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:33:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042233.iA4MXoP7032089@pub.open-bio.org> gss Thu Nov 4 17:33:50 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32064/src/org/smoby/ref/servlets Modified Files: KeywordSearchServlet.java Log Message: Added doc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets KeywordSearchServlet.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java 2004/07/21 22:35:25 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/KeywordSearchServlet.java 2004/11/04 22:33:50 1.4 @@ -6,9 +6,29 @@ import javax.servlet.http.*; import org.smoby.graph.*; import org.smoby.ref.tools.*; +import org.smoby.vocabulary.MOBY; +/** + * This servlet class is used to search the Semantic MOBY metadata + * repository for providers that match keywords. It produces a page + * of search results, including a result count and information about + * each matching provider. + *

      + * In the process of registration of a Semantic MOBY provider, nodes + * in the provider description graph, which represent the provider, + * subjects, and objects (i.e. they are subjects of statements whose + * predicate is rdf:type, and whose object is moby:Provider, + * moby:Subject, and moby:Object, respectively) are examined for + * other statements with rdf:type as their predicate, but with other + * non-MOBY classes as their objects. For each of non-MOBY classes, + * an attempt is made to retrieve the class definition. If the + * definition is a valid MOBY graph + */ public class KeywordSearchServlet extends BaseServlet { + /** + * Perform a search based on keywords. + */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -18,7 +38,7 @@ List accepts = getKeywords("accepts", request); List returns = getKeywords("returns", request); - startHTML(response, out); + startHTML(response, "Semantic MOBY keyword search results", out); if ((provider.isEmpty()) && (accepts.isEmpty()) && (returns.isEmpty())) { showResultCount(-1, out); @@ -37,29 +57,41 @@ showProvider(p, out); } } - finishHTML(response, out); + finishHTML(out); } + /** + * Return a list of keywords for the given parameter name (i.e. + * "provider", "accepts", or "returns") + */ private List getKeywords(String paramName, HttpServletRequest request) { List keywords = new ArrayList(); + // If the parameter is not defined or is blank, + // then return an empty list + // String value = request.getParameter(paramName); if (value == null) return keywords; - value = value.trim(); - if (value.length() == 0) return keywords; + // Use a stream tokenizer to parse the keywords. Make sure the + // tokenizer doesn't strip out the wildcard character ('*') + // StreamTokenizer st = new StreamTokenizer(new StringReader(value)); st.wordChars('*', '*'); - st.wordChars('%', '%'); + try { while (st.nextToken() != StreamTokenizer.TT_EOF) { if (st.sval != null) { + // The keywords will be used as part of an SQL "LIKE" + // query, which uses '%' as a wildcard instead of the + // more conventional '*', so replace '%' with '*' + // String val = st.sval.toLowerCase().trim().replace('*', '%'); keywords.add(val); } @@ -69,18 +101,34 @@ return keywords; } + /** + * Show the count of providers that match the keyword search + * criteria. + */ private void showResultCount(int count, PrintStream out) { out.println(""); out.println(""); out.println(" + NEXT PACKAGENEXT PACKAGENEXTNEXT
      "); - if (count < 0) { + if (count < 0) + { + // A negative count indicates that no keywords were given. + // out.println("No keywords were entered, so no search was performed."); - } else if (count < 1) { + } + else if (count == 0) + { + // Indicate that no matching providers were found, and + // give the user feedback as to why this might be expected. + // out.println("No matching providers were found. Note that"); out.println("very few providers have yet been defined."); - } else { + } + else + { + // Show how many providers were found + // out.println(count + " matching provider" + (count > 1 ? "s" : "") + " found"); } @@ -90,6 +138,9 @@ out.println("
      "); } + /** + * Show a provider that matches the keyword search criteria. + */ private void showProvider(MOBYProvider provider, PrintStream out) { String uri = provider.getResource().getURI(); @@ -97,11 +148,18 @@ String description = provider.getOneLineDescription(); String moreInfo = provider.getMoreInfoURI(); + // Display a link to the Semantic MOBY engage-provider service + // out.println(""); out.print(""); + + // If the provider has a name (MOBY.name property), then + // display that for the text of the above link; otherwise, + // use the URI of the provider. + // if ((name != null) && (name.trim().length() > 0)) { out.println(name); } else { @@ -109,13 +167,21 @@ } out.print(""); out.println(""); + + // Provide a link to the provider description graph itself, and + // use the RDF logo as a picture for the link + // out.print(""); - out.print("\"Definition\""); + out.print("\"View"); out.print(""); out.println("
      "); + // If the provider has a description (MOBY.oneLineDescription + // property), then display it here; otherwise, indicate that + // the provider has no description. + // if ((description != null) && (description.trim().length() > 0)) { out.println(description); } else { @@ -123,6 +189,10 @@ } out.println("
      "); + // If a URI was provided for finding more information + // (MOBY.aboutURI property), then display a link to + // that URI. + // if ((moreInfo != null) && (moreInfo.trim().length() > 0)) { out.println("For more information see " + moreInfo + ""); @@ -130,6 +200,9 @@ out.println("
      "); } + /** + * Handle POST requests the same way as GET requests + */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { From gss at pub.open-bio.org Thu Nov 4 22:34:16 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:34:16 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYGF0032127@pub.open-bio.org> gss Thu Nov 4 17:34:16 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32102/src/org/smoby/ref/servlets Modified Files: ProviderEngagementServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ProviderEngagementServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java 2004/07/21 22:01:19 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderEngagementServlet.java 2004/11/04 22:34:16 1.2 @@ -1,23 +1,25 @@ package org.smoby.ref.servlets; import java.io.*; - import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.ParamReader; -import org.smoby.servlet.ParameterException; +import org.smoby.ref.tools.*; +import org.smoby.servlet.*; public class ProviderEngagementServlet extends BaseServlet { - public void doGet(HttpServletRequest request, HttpServletResponse response) + /** + * When engaged through a GET... + */ + public void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { - - String providerURL = null; + String providerURI = null; try { - providerURL = ParamReader.getParameter("provider-url", request); + providerURI = ParamReader.getParameter("provider-url", request); } catch (ParameterException e) { @@ -29,10 +31,11 @@ PrintStream out = new PrintStream(response.getOutputStream()); response.setContentType("text/html"); - startHTML(response, out); - out.println("Sorry, the invocation interface is still"); - out.println("under development. Please check back soon."); - finishHTML(response, out); + startHTML(response, "Semantic MOBY provider invocation", out); + InvocationBroker broker = + new InvocationBroker(this, request, response, out); + broker.invokeURI(providerURI); + finishHTML(out); } public void doPost(HttpServletRequest request, HttpServletResponse response) From gss at pub.open-bio.org Thu Nov 4 22:34:32 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:34:32 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYWfa032167@pub.open-bio.org> gss Thu Nov 4 17:34:32 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32142/src/org/smoby/ref/servlets Modified Files: ProviderInvestigationServlet.java Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ProviderInvestigationServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/ProviderInvestigationServlet.java 2004/11/04 22:34:32 1.2 @@ -5,17 +5,19 @@ import javax.servlet.*; import javax.servlet.http.*; import org.apache.commons.logging.*; -import org.smoby.ref.tools.db.*; import org.smoby.graph.*; import org.smoby.ref.tools.*; +import org.smoby.ref.tools.db.*; import org.smoby.servlet.*; /** - * This servlet class is used to request that S-MOBY investigate a URL for the - * possibility of its having a provider description graph. It responds to both - * GET and POST requests, and expects a "provider-url" parameter to be sent. - * The only feedback given is that if the provider-url is missing, the response - * status is set to 406 NOT ACCEPTABLE; otherwise, the status is set to 200 OK. + * This servlet class is used to request that S-MOBY investigate + * a URL for the possibility of its having a provider description + * graph. It responds to both GET and POST requests, and expects a + * "provider-url" parameter to be sent. The only feedback given is + * that if the provider-url is missing, the response status is set + * to 406 NOT ACCEPTABLE; otherwise, the status is set to 200 OK, + * and a generic thank you message is returned. */ public class ProviderInvestigationServlet extends BaseServlet { @@ -24,15 +26,17 @@ /** * Respond to an HTTP GET message */ - public void doGet(HttpServletRequest request, HttpServletResponse response) + public void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { try { - // Get the provider-url parameter, and call the static investigate() - // method on the ProviderInvestigator class to do the actual - // investigation of the URL. No response is explicitly returned (a - // 200 OK status is automatically returned). + // Get the provider-url parameter, and call the static + // investigate() method on the ProviderInvestigator class + // to do the actual investigation of the URL. No response + // is explicitly returned (a 200 OK status is automatically + // returned). // String providerURL = ParamReader.getParameter("provider-url", request); URIInvestigator.investigate(providerURL); @@ -43,28 +47,35 @@ // The provider URL is missing // syncLog.error("GET without provider-url parameter"); - response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE, e.getMessage()); + response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE, + e.getMessage()); } } /** * Handle an HTTP POST message in the same way an HTTP GET is handled. */ - public void doPost(HttpServletRequest request, HttpServletResponse response) + public void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } - private void acknowledgeSuggestion(String url, HttpServletResponse response) + /** + * Provide a generic "thank you for your suggestion" response, + * regardless of the outcome of the investigation. + */ + private void acknowledgeSuggestion(String url, + HttpServletResponse response) throws IOException { response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - out.println(""); + PrintStream out = new PrintStream(response.getOutputStream()); + startHTML(response, "Thanks for the suggestion", out); out.println("Thank you.

      Your suggestion to look at "); out.println("" + url + ""); out.println(" has been noted."); - out.println(""); + finishHTML(out); } } \ No newline at end of file From gss at pub.open-bio.org Thu Nov 4 22:34:52 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:34:52 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042234.iA4MYqQG032201@pub.open-bio.org> gss Thu Nov 4 17:34:51 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv32180/src/org/smoby/ref/servlets Added Files: ResultsDisplayServlet.java Log Message: Servlet for displaying results moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets ResultsDisplayServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:35:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:35:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042235.iA4MZaAs032241@pub.open-bio.org> gss Thu Nov 4 17:35:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32216/src/org/smoby/ref/servlets/dev Modified Files: GraphConversionServlet.java Log Message: Use symbolic GRAPH_PARAMETER_NAME moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev GraphConversionServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/GraphConversionServlet.java 2004/11/04 22:35:36 1.2 @@ -3,6 +3,7 @@ import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.ParamReader; import org.smoby.servlet.ParameterException; +import org.smoby.vocabulary.MOBY; import com.hp.hpl.jena.rdf.model.*; @@ -19,7 +20,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); String inputFormat = ParamReader.getParameter( "input-format", request, false, From gss at pub.open-bio.org Thu Nov 4 22:36:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:36:15 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MaFFn032299@pub.open-bio.org> gss Thu Nov 4 17:36:15 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32270/src/org/smoby/ref/servlets/dev Modified Files: MOBYGraphValidationServlet.java OWLValidationServlet.java Log Message: Use symbolic GRAPH_PARAMETER_NAME moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev MOBYGraphValidationServlet.java,1.1,1.2 OWLValidationServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java 2004/07/15 20:27:15 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/MOBYGraphValidationServlet.java 2004/11/04 22:36:15 1.2 @@ -3,6 +3,7 @@ import org.smoby.parser.Parser; import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.*; +import org.smoby.vocabulary.MOBY; import org.smoby.graph.*; import com.hp.hpl.jena.rdf.model.*; @@ -21,7 +22,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Model baseModel = ModelFactory.createDefaultModel(); StringReader reader = new StringReader(graphString); baseModel.read(reader, null); =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/OWLValidationServlet.java 2004/11/04 22:36:15 1.2 @@ -3,6 +3,7 @@ import org.smoby.ref.servlets.BaseServlet; import org.smoby.servlet.ParamReader; import org.smoby.servlet.ParameterException; +import org.smoby.vocabulary.MOBY; import com.hp.hpl.jena.ontology.*; import com.hp.hpl.jena.ontology.tidy.*; @@ -23,7 +24,8 @@ try { - String graphString = ParamReader.getParameter("graph", request); + String graphString = ParamReader.getParameter( + MOBY.GRAPH_PARAMETER_NAME, request); Model baseModel = ModelFactory.createDefaultModel(); StringReader reader = new StringReader(graphString); baseModel.read(reader, null); From gss at pub.open-bio.org Thu Nov 4 22:36:27 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:36:27 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MaR3J032329@pub.open-bio.org> gss Thu Nov 4 17:36:27 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv32304/src/org/smoby/ref/servlets/dev Modified Files: ProviderListServlet.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev ProviderListServlet.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/ProviderListServlet.java 2004/11/04 22:36:27 1.2 @@ -1,8 +1,8 @@ package org.smoby.ref.servlets.dev; -import org.smoby.vocabulary.*; import org.smoby.ref.servlets.*; import org.smoby.ref.tools.db.*; +import org.smoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; import com.hp.hpl.jena.vocabulary.*; import java.io.*; From gss at pub.open-bio.org Thu Nov 4 22:36:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:36:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042236.iA4MakQm032363@pub.open-bio.org> gss Thu Nov 4 17:36:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv32342/src/org/smoby/ref/servlets/example Added Files: HelloWorldDisplayServlet.java Log Message: Servlet for displaying results moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example HelloWorldDisplayServlet.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:37:18 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:37:18 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042237.iA4MbI8g032398@pub.open-bio.org> gss Thu Nov 4 17:37:18 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32377/src/org/smoby/ref/tools Added Files: InvocationBroker.java Log Message: Helper class for invoking providers moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools InvocationBroker.java,NONE,1.1 From gss at pub.open-bio.org Thu Nov 4 22:37:54 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:37:54 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042237.iA4MbsdS032436@pub.open-bio.org> gss Thu Nov 4 17:37:54 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32411/src/org/smoby/ref/tools Modified Files: KeywordQuery.java Log Message: Misc fixes moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools KeywordQuery.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java 2004/07/21 22:01:19 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/KeywordQuery.java 2004/11/04 22:37:54 1.2 @@ -79,14 +79,30 @@ private String buildQueryString() { - StringBuffer sb = new StringBuffer(); - - addSelectClause(sb); - addFromClause(sb); - addJoinClauses(sb); - addCompareClauses(sb); - - return sb.toString(); + if (isAllProvidersQuery()) + { + return "SELECT DISTINCT provider_uri FROM moby_keyword"; + } + else + { + StringBuffer sb = new StringBuffer(); + + addSelectClause(sb); + addFromClause(sb); + addJoinClauses(sb); + addCompareClauses(sb); + + return sb.toString(); + } + } + + private boolean isAllProvidersQuery() + { + return + (subjectKeywords.isEmpty()) && + (objectKeywords.isEmpty()) && + (providerKeywords.size() == 1) && + (providerKeywords.get(0).toString().equals("%")); } private void addSelectClause(StringBuffer sb) @@ -136,7 +152,6 @@ private void addCompareClauses(StringBuffer sb) { - List prev = null; int index = 0; @@ -181,7 +196,7 @@ sb.append("applies_to = '"); sb.append(appliesTo); sb.append("') and "); - + if (list.size() > 1) sb.append("("); @@ -203,18 +218,4 @@ sb.append(")"); } - -// public static void main(String[] args) -// { -// String[] pArray = new String[] { "p1", "p2" }; -// String[] sArray = new String[] { "s1", "s2" }; -// String[] oArray = new String[] { "o1", "o2", "o3" }; -// -// KeywordQuery q = new KeywordQuery( -// Arrays.asList(pArray), -// Arrays.asList(sArray), -// Arrays.asList(oArray)); -// -// System.out.println(q.buildQueryString()); -// } } From gss at pub.open-bio.org Thu Nov 4 22:38:14 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 4 Nov 2004 17:38:14 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411042238.iA4McEhK032478@pub.open-bio.org> gss Thu Nov 4 17:38:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv32453/src/org/smoby/ref/tools Modified Files: URIInvestigator.java Log Message: Removed some unused imports moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools URIInvestigator.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java 2004/07/21 22:01:19 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/URIInvestigator.java 2004/11/04 22:38:14 1.3 @@ -4,10 +4,10 @@ import java.io.*; import javax.servlet.http.*; +import org.smoby.ref.tools.db.*; import org.smoby.tools.*; import org.smoby.http.*; import org.smoby.parser.*; -import org.smoby.ref.tools.db.*; import org.smoby.graph.*; import org.smoby.vocabulary.*; import org.apache.commons.httpclient.util.*; From senger at pub.open-bio.org Fri Nov 5 00:49:20 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Thu, 4 Nov 2004 19:49:20 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411050049.iA50nKD4000401@pub.open-bio.org> senger Thu Nov 4 19:49:20 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util In directory pub.open-bio.org:/tmp/cvs-serv382/src/main/org/biomoby/registry/rdfagent/util Modified Files: Constants.java Log Message: fixed missing exception moby-live/Java/src/main/org/biomoby/registry/rdfagent/util Constants.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2004/10/28 17:55:43 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2004/11/05 00:49:20 1.2 @@ -112,6 +112,9 @@ catch (JDOMException e) { Log.severe(e.getMessage()); } + catch (IOException e) { + Log.severe(e.getMessage()); + } } From senger at pub.open-bio.org Fri Nov 12 23:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VrG012133@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Services/org/biomoby/service Modified Files: EchoImpl.java Log Message: command-line client is able now to call services easier moby-live/Java/src/Services/org/biomoby/service EchoImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java 2003/11/08 00:36:18 1.1 +++ /home/repository/moby/moby-live/Java/src/Services/org/biomoby/service/EchoImpl.java 2004/11/12 23:02:31 1.2 @@ -10,21 +10,23 @@ implements Echo { public String echoString (String message) { - StringBuffer buf = new StringBuffer(); + return message; - buf.append ("\n"); - buf.append (" \n"); - buf.append (" \n"); - buf.append (" \n"); - buf.append (" "); - buf.append ("FIXED TEXT"); - buf.append (" \n"); - buf.append (" \n"); +// StringBuffer buf = new StringBuffer(); - buf.append (" \n"); - buf.append (" \n"); +// buf.append ("\n"); +// buf.append (" \n"); +// buf.append (" \n"); +// buf.append (" \n"); +// buf.append (" "); +// buf.append ("FIXED TEXT"); +// buf.append (" \n"); +// buf.append (" \n"); - return new String (buf); +// buf.append (" \n"); +// buf.append (" \n"); + +// return new String (buf); } } From senger at pub.open-bio.org Fri Nov 12 23:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VGk012072@pub.open-bio.org> senger Fri Nov 12 18:02:30 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv12053/docs Modified Files: ChangeLog Log Message: command-line client is able now to call services easier moby-live/Java/docs ChangeLog,1.23,1.24 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/10/18 14:49:30 1.23 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/12 23:02:30 1.24 @@ -1,3 +1,8 @@ +2004-11-12 Martin Senger + + * Added -scall for calling services (instead of a Moby Central) + into the command-line client MobyCmdLineClient + 2004-10-18 Martin Senger * Added general SOAP utilities in package embl.ebi.soap (the From senger at pub.open-bio.org Fri Nov 12 23:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VgP012114@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Clients/help Modified Files: MobyCmdLineClient_usage.txt Log Message: command-line client is able now to call services easier moby-live/Java/src/Clients/help MobyCmdLineClient_usage.txt,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2004/09/22 21:11:17 1.5 +++ /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2004/11/12 23:02:31 1.6 @@ -1,6 +1,9 @@ Usage: - java MobyCmdLineClient -h[elp] - java MobyCmdLineClient [] + run-cmdline-client -h[elp] + run-cmdline-client [] +or + run-any-client MobyCmdLineClient -h[elp] + run-any-client MobyCmdLineClient [] where specify what Moby registry to connect to: @@ -175,3 +178,26 @@ is used as an input parameter to the called mathod -debug ... print debug messages + + And yet another rest: + + -scall + call a service (!, not a Moby Central) given by + with the input XML data given by ; if the + is a name of an existing file, the contents of this file + is used instead; an example of a service and its input: + + service name: getMIPSFastaProteinSequence + input XML: + + + + + + + + + + + + format of : service-name[,service-authority] From senger at pub.open-bio.org Fri Nov 12 23:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VPO012095@pub.open-bio.org> senger Fri Nov 12 18:02:30 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv12053/src/Clients Modified Files: MobyCmdLineClient.java MobyGraphs.java Log Message: command-line client is able now to call services easier moby-live/Java/src/Clients MobyCmdLineClient.java,1.6,1.7 MobyGraphs.java,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2004/09/23 10:20:29 1.6 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2004/11/12 23:02:30 1.7 @@ -521,7 +521,7 @@ } // - // call a raw method (for debugging) + // call a raw method (for debugging, mostly) // params = null; if ((params = cmd.getParam ("-call", 2)) != null ) { @@ -539,6 +539,47 @@ } } + // + // call a service instead of a Moby Central + // + params = null; + if ((params = cmd.getParam ("-scall", 2)) != null ) { + if (params[0] != null && params[1] != null) { + + // find URL of the wanted service + decorationLn ("Looking for service '" + params[0] + "':"); + String serviceName = null; + int pos = params[0].indexOf (","); + MobyService[] services; + if (pos == -1) { + serviceName = params[0]; + services = worker.findService (new MobyService (params[0])); + } else if (pos == params[0].length() - 1) { + serviceName = params[0].substring (0, pos); + services = worker.findService (new MobyService (serviceName)); + } else { + serviceName = params[0].substring (0, pos); + MobyService pattern = new MobyService (serviceName); + pattern.setAuthority (params[0].substring (pos+1)); + services = worker.findService (pattern); + } + if (services != null && services.length > 0) { + String serviceURL = services[0].getURL(); + if (! serviceURL.equals ("")) { + + // call the service + decorationLn ("Calling service '" + serviceName + "' with the input from '" + params[1] + "':"); + if (new File (params[1]).exists()) + params[1] = FileUtils.getFile (params[1]); + decorationLn (params[1]); + decorationLn ("---------------"); + Central serviceWorker = new CentralImpl (serviceURL, "http://biomoby.org/"); + System.out.println (serviceWorker.call (serviceName, params[1])); + } + } + } + } + } catch (PendingCurationException e) { System.err.println ("===ERROR==="); System.err.println ("Pending Curation"); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/10/18 14:35:05 1.5 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:02:30 1.6 @@ -173,6 +173,9 @@ DataServiceEdge[] startingEdges = ServiceConnections.findStartingEdges (sourceData, dataTypes, services); DataServiceEdge[] endingEdges = ServiceConnections.findEndingEdges (targetData, dataTypes, services); + System.out.println ("SE: " + startingEdges.length); + System.out.println ("EE: " + endingEdges.length); + // this creates *all* pathes, but some of them have cycles and inside branches separatePaths = FilterServices.dataPaths (startingEdges, edges, endingEdges); if (separatePaths.length == 0) { @@ -180,10 +183,16 @@ pathEnds[0] + "' and '" + pathEnds[1] + "'"); System.exit(1); } + System.out.println ("SP: " + separatePaths.length); + allPaths = FilterServices.joinPaths (separatePaths); + System.out.println ("AP: " + allPaths.length); + // this separate paths to straight paths (no cycles, no branches) separatePaths = FilterServices.straightDataPaths (startingEdges, allPaths, endingEdges); + + System.out.println ("SP2: " + separatePaths.length); } // create a graph (in whatever format) From senger at pub.open-bio.org Fri Nov 12 23:02:31 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:02:31 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122302.iACN2VcU012154@pub.open-bio.org> senger Fri Nov 12 18:02:31 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv12053/src/main/org/biomoby/client Modified Files: FilterServices.java Log Message: command-line client is able now to call services easier moby-live/Java/src/main/org/biomoby/client FilterServices.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/10/18 14:35:06 1.2 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:02:31 1.3 @@ -305,7 +305,7 @@ /************************************************************************* * Find all paths (using available 'edges') that start by any of - * the 'startringEdges' and finish by any of the 'endingEdges'. + * the 'startingEdges' and finish by any of the 'endingEdges'. * Each path always has one start and one end and it has no * cycles and no branches.

      * @@ -342,6 +342,9 @@ // find all (no-cycle-containing) paths (recursively) Vector allPaths = new Vector(); + for (int i = 0; i < startingEdges.length; i++) { + System.out.println ("SE: " + startingEdges[i].toString()); + } findAllPaths (startingEdges, allEdges, new Hashtable(), allPaths); ServicesEdge[][] result = new ServicesEdge [allPaths.size()][]; allPaths.copyInto (result); @@ -351,13 +354,22 @@ /************************************************************************* * Does the real job, recursivelly... *************************************************************************/ + static int Count = 0; static void findAllPaths (ServicesEdge[] startingEdges, ServicesEdge[] allEdges, Hashtable soFarIncluded, // key: target service name Vector foundPaths) { // elements of type ServicesEdge[] + Count++; +// for (int i = 0; i < Count; i++) System.out.print (" "); +// System.out.println (soFarIncluded.size()); + for (int i = 0; i < startingEdges.length; i++) { +// if (Count == 1) System.out.println ("i: " + i); + for (int c = 0; c < Count; c++) System.out.print (" "); + System.out.println ("i: " + i + " (of " + startingEdges.length + ")"); + // is this the final edge (ending in a target data type)? if ( (startingEdges[i] instanceof DataServiceEdge) && ((DataServiceEdge)startingEdges[i]).isEndingEdge() ) { @@ -394,6 +406,10 @@ ServicesEdge[] contEdges = new ServicesEdge [v.size()]; v.copyInto (contEdges); +// for (int c = 0; c < Count; c++) System.out.print (" "); +// System.out.print ("(Count: " + Count + ") "); +// System.out.println ("contEdges: " + contEdges.length); + // ...call itself recursively findAllPaths (contEdges, allEdges, soFarIncluded, foundPaths); @@ -402,6 +418,7 @@ // 'soFarIncluded' soFarIncluded.remove (toServiceName); } + Count--; } } From senger at pub.open-bio.org Fri Nov 12 23:07:08 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:07:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122307.iACN78di012223@pub.open-bio.org> senger Fri Nov 12 18:07:08 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv12204/src/main/org/biomoby/client Modified Files: FilterServices.java Log Message: moby-live/Java/src/main/org/biomoby/client FilterServices.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:02:31 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/FilterServices.java 2004/11/12 23:07:08 1.4 @@ -305,7 +305,7 @@ /************************************************************************* * Find all paths (using available 'edges') that start by any of - * the 'startingEdges' and finish by any of the 'endingEdges'. + * the 'startringEdges' and finish by any of the 'endingEdges'. * Each path always has one start and one end and it has no * cycles and no branches.

      * @@ -342,9 +342,6 @@ // find all (no-cycle-containing) paths (recursively) Vector allPaths = new Vector(); - for (int i = 0; i < startingEdges.length; i++) { - System.out.println ("SE: " + startingEdges[i].toString()); - } findAllPaths (startingEdges, allEdges, new Hashtable(), allPaths); ServicesEdge[][] result = new ServicesEdge [allPaths.size()][]; allPaths.copyInto (result); @@ -354,22 +351,13 @@ /************************************************************************* * Does the real job, recursivelly... *************************************************************************/ - static int Count = 0; static void findAllPaths (ServicesEdge[] startingEdges, ServicesEdge[] allEdges, Hashtable soFarIncluded, // key: target service name Vector foundPaths) { // elements of type ServicesEdge[] - Count++; -// for (int i = 0; i < Count; i++) System.out.print (" "); -// System.out.println (soFarIncluded.size()); - for (int i = 0; i < startingEdges.length; i++) { -// if (Count == 1) System.out.println ("i: " + i); - for (int c = 0; c < Count; c++) System.out.print (" "); - System.out.println ("i: " + i + " (of " + startingEdges.length + ")"); - // is this the final edge (ending in a target data type)? if ( (startingEdges[i] instanceof DataServiceEdge) && ((DataServiceEdge)startingEdges[i]).isEndingEdge() ) { @@ -406,10 +394,6 @@ ServicesEdge[] contEdges = new ServicesEdge [v.size()]; v.copyInto (contEdges); -// for (int c = 0; c < Count; c++) System.out.print (" "); -// System.out.print ("(Count: " + Count + ") "); -// System.out.println ("contEdges: " + contEdges.length); - // ...call itself recursively findAllPaths (contEdges, allEdges, soFarIncluded, foundPaths); @@ -418,7 +402,6 @@ // 'soFarIncluded' soFarIncluded.remove (toServiceName); } - Count--; } } From senger at pub.open-bio.org Fri Nov 12 23:09:02 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Fri, 12 Nov 2004 18:09:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411122309.iACN92Ol012270@pub.open-bio.org> senger Fri Nov 12 18:09:02 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv12251/src/Clients Modified Files: MobyGraphs.java Log Message: moby-live/Java/src/Clients MobyGraphs.java,1.6,1.7 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:02:30 1.6 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyGraphs.java 2004/11/12 23:09:02 1.7 @@ -173,9 +173,6 @@ DataServiceEdge[] startingEdges = ServiceConnections.findStartingEdges (sourceData, dataTypes, services); DataServiceEdge[] endingEdges = ServiceConnections.findEndingEdges (targetData, dataTypes, services); - System.out.println ("SE: " + startingEdges.length); - System.out.println ("EE: " + endingEdges.length); - // this creates *all* pathes, but some of them have cycles and inside branches separatePaths = FilterServices.dataPaths (startingEdges, edges, endingEdges); if (separatePaths.length == 0) { @@ -183,16 +180,10 @@ pathEnds[0] + "' and '" + pathEnds[1] + "'"); System.exit(1); } - System.out.println ("SP: " + separatePaths.length); - allPaths = FilterServices.joinPaths (separatePaths); - System.out.println ("AP: " + allPaths.length); - // this separate paths to straight paths (no cycles, no branches) separatePaths = FilterServices.straightDataPaths (startingEdges, allPaths, endingEdges); - - System.out.println ("SP2: " + separatePaths.length); } // create a graph (in whatever format) From senger at pub.open-bio.org Sun Nov 14 16:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCo1n027576@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv27557/docs Modified Files: ChangeLog Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/docs ChangeLog,1.24,1.25 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/12 23:02:30 1.24 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:12:50 1.25 @@ -1,3 +1,8 @@ +2004-11-14 Martin Senger + + * Added CacheRegistryClient for storing data types and service + instances in a local file system. + 2004-11-12 Martin Senger * Added -scall for calling services (instead of a Moby Central) From senger at pub.open-bio.org Sun Nov 14 16:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCoPZ027606@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv27557/src/Clients/help Added Files: CacheRegistryClient_usage.txt Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/Clients/help CacheRegistryClient_usage.txt,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 16:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCovJ027643@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv27557/src/main/org/biomoby/client Modified Files: CentralDigestCachedImpl.java Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/main/org/biomoby/client CentralDigestCachedImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2004/10/18 14:35:06 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2004/11/14 16:12:50 1.2 @@ -81,12 +81,14 @@ File cache = createCacheDir (cacheDir, getRegistryEndpoint()); messageLn ("Using cache directory: " + cache); dataTypesCache = createSubCacheDir (cache, "dataTypes"); + long dataTypesCacheAge = (isCacheEmpty (dataTypesCache) ? -1 : dataTypesCache.lastModified()); servicesCache = createSubCacheDir (cache, "services"); - if (cacheAge <= 0) { - // cache was not created now, it existed; so find its age - cacheAge = Math.min (dataTypesCache.lastModified(), - servicesCache.lastModified()); - } + long servicesCacheAge = (isCacheEmpty (servicesCache) ? -1 : servicesCache.lastModified()); + + if (dataTypesCacheAge > -1 && servicesCacheAge > -1) + cacheAge = Math.min (dataTypesCacheAge, servicesCacheAge); + else + cacheAge = Math.max (dataTypesCacheAge, servicesCacheAge); } } @@ -262,13 +264,7 @@ protected boolean isCacheEmpty (File cache) throws MobyException { String[] list = cache.list(); - if (list == null) { - // try to re-create the cache (as empty, of course, but - // ready to be used if somebody wants to fill it again) - initCache(); - return true; - } - return (list.length == 0); + return ( list == null || list.length == 0 ); } protected void fillDataTypesCache() @@ -282,6 +278,8 @@ String xml = getDataTypeAsXML (name); store (dataTypesCache, name, xml); } + if (cacheAge <= 0) + cacheAge = dataTypesCache.lastModified(); } catch (Exception e) { throw new MobyException (formatException (e)); @@ -300,6 +298,9 @@ String xml = getServicesAsXML (new MobyService (name), null, true, true); store (servicesCache, name, xml); } + if (cacheAge <= 0) + cacheAge = servicesCache.lastModified(); + } catch (Exception e) { throw new MobyException (formatException (e)); } @@ -312,8 +313,10 @@ return super.getDataTypes(); synchronized (dataTypesCache) { Vector v = new Vector(); - if (isCacheEmpty (dataTypesCache)) + if (isCacheEmpty (dataTypesCache)) { + initCache(); fillDataTypesCache(); + } File[] list = dataTypesCache.listFiles(); if (list == null) throw new MobyException ("Surprisingly, '" + dataTypesCache.getAbsolutePath() + "' is not a directory. Strange..."); @@ -337,8 +340,10 @@ return super.getServices(); synchronized (servicesCache) { Vector v = new Vector(); - if (isCacheEmpty (servicesCache)) + if (isCacheEmpty (servicesCache)) { + initCache(); fillServicesCache(); + } File[] list = servicesCache.listFiles(); if (list == null) throw new MobyException ("Surprisingly, '" + servicesCache.getAbsolutePath() + "' is not a directory. Strange..."); @@ -376,6 +381,8 @@ * Return age of the current (whole) cache in millis from the * beginning of the Epoch; or -1 if cache is empty, or the age is * unknown. + * + * The cache age is taken as the oldest (but filled) cache part. **************************************************************************/ public long getCacheAge() { return cacheAge; From senger at pub.open-bio.org Sun Nov 14 16:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCoMV027621@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/config In directory pub.open-bio.org:/tmp/cvs-serv27557/src/config Added Files: run-cache-client run-cache-client.bat Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/config run-cache-client,NONE,1.1 run-cache-client.bat,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 16:12:50 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:12:50 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141612.iAEGCo5U027590@pub.open-bio.org> senger Sun Nov 14 11:12:50 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv27557/src/Clients Added Files: CacheRegistryClient.java Log Message: added client caching data types and service instances in a local file system; useful for debugging apps that use the whole registry moby-live/Java/src/Clients CacheRegistryClient.java,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 16:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhnBa027863@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv27844/docs Modified Files: ChangeLog Log Message: added client for cummulative entries moby-live/Java/docs ChangeLog,1.25,1.26 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:12:50 1.25 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2004/11/14 16:43:49 1.26 @@ -1,7 +1,10 @@ 2004-11-14 Martin Senger + * Added MobyDigestClient for retrieving cummulative (digested) + entries from registries + * Added CacheRegistryClient for storing data types and service - instances in a local file system. + instances in a local file system 2004-11-12 Martin Senger From senger at pub.open-bio.org Sun Nov 14 16:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhn5l027894@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory pub.open-bio.org:/tmp/cvs-serv27844/src/Clients/help Added Files: MobyDigest_usage.txt Log Message: added client for cummulative entries moby-live/Java/src/Clients/help MobyDigest_usage.txt,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 16:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhn7P027910@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/config In directory pub.open-bio.org:/tmp/cvs-serv27844/src/config Added Files: run-digest-client run-digest-client.bat Log Message: added client for cummulative entries moby-live/Java/src/config run-digest-client,NONE,1.1 run-digest-client.bat,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 16:43:49 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 11:43:49 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141643.iAEGhnQL027878@pub.open-bio.org> senger Sun Nov 14 11:43:49 EST 2004 Update of /home/repository/moby/moby-live/Java/src/Clients In directory pub.open-bio.org:/tmp/cvs-serv27844/src/Clients Added Files: MobyDigestClient.java Log Message: added client for cummulative entries moby-live/Java/src/Clients MobyDigestClient.java,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 17:33:58 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 12:33:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141733.iAEHXwJk028111@pub.open-bio.org> senger Sun Nov 14 12:33:58 EST 2004 Update of /home/repository/moby/moby-live/Java/docs/images In directory pub.open-bio.org:/tmp/cvs-serv28077/docs/images Added Files: whale.gif Log Message: moby-live/Java/docs/images whale.gif,NONE,1.1 From senger at pub.open-bio.org Sun Nov 14 17:33:58 2004 From: senger at pub.open-bio.org (senger@ebi.ac.uk) Date: Sun, 14 Nov 2004 12:33:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411141733.iAEHXwTF028096@pub.open-bio.org> senger Sun Nov 14 12:33:57 EST 2004 Update of /home/repository/moby/moby-live/Java/docs In directory pub.open-bio.org:/tmp/cvs-serv28077/docs Modified Files: index.html Log Message: moby-live/Java/docs index.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Java/docs/index.html 2003/09/25 10:49:09 1.4 +++ /home/repository/moby/moby-live/Java/docs/index.html 2004/11/14 17:33:57 1.5 @@ -1,5 +1,6 @@ BioMoby in Java + @@ -86,7 +87,7 @@

      Martin Senger
      -Last modified: Thu Sep 25 11:44:42 2003 +Last modified: Sun Nov 14 17:29:05 2004
      From kawas at pub.open-bio.org Wed Nov 17 17:11:39 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Wed, 17 Nov 2004 12:11:39 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411171711.iAHHBdUf009446@pub.open-bio.org> kawas Wed Nov 17 12:11:38 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool In directory pub.open-bio.org:/tmp/cvs-serv9409/org/biomoby/client/gui/objectCreationTool Modified Files: ButtonActions.java PanelFactory.java FieldFocusListeners.java ObjectCreationTool.java Log Message: changed some colors, etc. This is my last change to this tool before I overhaul the gui. Eddie moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool ButtonActions.java,1.1,1.2 PanelFactory.java,1.1,1.2 FieldFocusListeners.java,1.1,1.2 ObjectCreationTool.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ButtonActions.java 2004/11/17 17:11:38 1.2 @@ -290,7 +290,7 @@ name = tool.getSelectedNode(); str = JOptionPane.showInputDialog( - null, + tool, "what is " + name + "'s Article Name?", "Article Name", JOptionPane.INFORMATION_MESSAGE); @@ -304,7 +304,7 @@ name = tool.getSelectedNode(); str = JOptionPane.showInputDialog( - null, + tool, "what is " + name + "'s Article Name?", "Article Name", JOptionPane.INFORMATION_MESSAGE); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/PanelFactory.java 2004/11/17 17:11:38 1.2 @@ -43,7 +43,7 @@ private TreePath path; private JPanel addPanel; private int INIT = 0; - private static final Color panelColor = new Color(159, 180, 55); + private static final Color panelColor = new Color(182, 221, 141); private String image_path = ""; =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/FieldFocusListeners.java 2004/11/17 17:11:38 1.2 @@ -62,7 +62,7 @@ } } if (!set) - if (uriFocusCount++ % 1 == 0) // ensure that the window doesnt appear twice + if ((uriFocusCount+=2) % 2 == 0) // ensure that the window doesnt appear twice { JOptionPane.showMessageDialog( tool, @@ -76,7 +76,7 @@ } else if (command.equals("email")) { String str = tool.getPanelFactory().getEmailField().getText(); boolean set = REGEXP.isValidEmailAddress(str); - if (!set && emailFocusCount++ % 1 == 0) // ensure that the window doesnt appear twice + if (!set && (emailFocusCount+=2) % 2 == 0) // ensure that the window doesnt appear twice JOptionPane.showMessageDialog(tool, "Email address in invalid.", "Error", JOptionPane.ERROR_MESSAGE); else tool.getMobyxml().getRegistration().setEmailContact(str); @@ -89,7 +89,7 @@ boolean set = false; try { if (!tool.getMobyxml().renameRoot(str)) - if (nameFocusCount++ % 1 == 0) { + if ((nameFocusCount+=2) % 2 == 0) { JOptionPane.showMessageDialog(tool, "Name is in invalid.", "Error", JOptionPane.ERROR_MESSAGE); } } catch (Exception ex) { =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java 2004/09/27 22:15:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/objectCreationTool/ObjectCreationTool.java 2004/11/17 17:11:38 1.2 @@ -4,6 +4,7 @@ */ package org.biomoby.client.gui.objectCreationTool; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; @@ -18,7 +19,6 @@ import javax.swing.JTabbedPane; import javax.swing.UIManager; import javax.swing.tree.TreePath; - import org.biomoby.client.gui.util.TreeLoaderThread; /** @@ -77,7 +77,8 @@ // set up the layout getContentPane().setLayout(new BorderLayout()); getContentPane().add(pane, BorderLayout.CENTER); // used a tabbedpane so that i could swap panels - pane.setOpaque(false); + pane.setOpaque(true); + pane.setBackground(new Color(182,221,141)); fieldListeners = new FieldFocusListeners(this); fieldKeyListeners = new FieldKeyListener(this); From kawas at pub.open-bio.org Wed Nov 17 17:15:26 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Wed, 17 Nov 2004 12:15:26 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411171715.iAHHFQ7j009542@pub.open-bio.org> kawas Wed Nov 17 12:15:26 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool In directory pub.open-bio.org:/tmp/cvs-serv9513/org/biomoby/client/gui/serviceInstanceCreationTool Modified Files: ServiceCreationTool.java ServiceInstancePanelFactory.java Log Message: changed some colors, etc. Eddie moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool ServiceCreationTool.java,1.1,1.2 ServiceInstancePanelFactory.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java 2004/09/27 21:29:15 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceCreationTool.java 2004/11/17 17:15:26 1.2 @@ -8,6 +8,7 @@ import java.awt.Color; import java.awt.Component; import java.awt.Dimension; +import java.awt.Font; import javax.swing.JApplet; import javax.swing.JFrame; @@ -35,7 +36,7 @@ /* private member variables */ private ServiceInstancePanelFactory pf = null; private JTabbedPane pane = new JTabbedPane(); - private final Color color = new Color(145, 206, 0); + private final Color color = new Color(182, 221, 141); private final Color toolBarColor = new Color(00, 102, 51); private Service service = null; private String fieldValidationErrorMsg = ""; @@ -81,6 +82,8 @@ getContentPane().add(pane, BorderLayout.CENTER); // used a tabbedpane so that i could swap panels pane.setOpaque(true); + pane.setBackground(color); + pane.setFont(new Font("Dialog", Font.BOLD, 16)); JPanel empty = pf.createEmptyPanel(); empty.setBackground(toolBarColor); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java 2004/09/27 21:29:15 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/serviceInstanceCreationTool/ServiceInstancePanelFactory.java 2004/11/17 17:15:26 1.2 @@ -55,7 +55,7 @@ private ServiceActionListener bal; private ServiceFocusListener tfl; private boolean RADIO_SELECTED = false; - private final Color color = new Color(145, 206, 0); + private final Color color = new Color(182, 221, 141); private final Color toolBarColor = new Color(00, 102, 51); private ServiceTypeTree tree = null; private MobyTree mobyTree = null; @@ -163,14 +163,14 @@ // create a greeting and some instructions JLabel greet = new JLabel(); - String greetTxt = "

      Moby Service Builder

      " - + "" + String greetTxt = "

      Moby Service Builder

      " + + "" + "This interactive tool will allow you to create
      " + "a new Moby Service. To begin, fill in the
      " + "following information regarding your new service." + "
      " + ""; greet.setText(greetTxt); - pan.add(greet, BorderLayout.NORTH); + pan.add(greet, BorderLayout.PAGE_START); // create the fields for use <- associate with the fields private member // variable in the serviceCreationTool From gss at pub.open-bio.org Thu Nov 18 23:33:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6LB016415@pub.open-bio.org> gss Thu Nov 18 18:33:06 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph/impl/class-use Removed Files: MOBYProviderSetImpl.html MOBYMappingElementImpl.html MOBYNonPositiveIntegerConstraintImpl.html MOBYDocumentImpl.html MOBYNonNegativeIntegerConstraintImpl.html MOBYDateConstraintImpl.html MOBYObjectFactory.html MOBYProviderImpl.html MOBYDescriptorImpl.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use MOBYProviderSetImpl.html,1.1,NONE MOBYMappingElementImpl.html,1.1,NONE MOBYNonPositiveIntegerConstraintImpl.html,1.1,NONE MOBYDocumentImpl.html,1.1,NONE MOBYNonNegativeIntegerConstraintImpl.html,1.1,NONE MOBYDateConstraintImpl.html,1.1,NONE MOBYObjectFactory.html,1.1,NONE MOBYProviderImpl.html,1.1,NONE MOBYDescriptorImpl.html,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYProviderSetImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYMappingElementImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYNonPositiveIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDocumentImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYNonNegativeIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDateConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYObjectFactory.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYProviderImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/class-use/RCS/MOBYDescriptorImpl.html,v: No such file or directory From gss at pub.open-bio.org Thu Nov 18 23:33:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6Aw016438@pub.open-bio.org> gss Thu Nov 18 18:33:06 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/vocabulary/class-use Modified Files: MOBY.html VocabularyDescription.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use MOBY.html,1.1,1.2 VocabularyDescription.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/MOBY.html 2004/11/18 23:33:06 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.vocabulary.MOBY =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/class-use/VocabularyDescription.html 2004/11/18 23:33:06 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.vocabulary.VocabularyDescription From gss at pub.open-bio.org Thu Nov 18 23:33:07 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:07 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX7ba016578@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph/impl Removed Files: MOBYDescriptorImpl.html MOBYNonPositiveIntegerConstraintImpl.html MOBYDocumentImpl.html MOBYMappingElementImpl.html MOBYDateConstraintImpl.html package-tree.html MOBYObjectFactory.html package-frame.html package-summary.html package-use.html MOBYProviderImpl.html MOBYNonNegativeIntegerConstraintImpl.html MOBYProviderSetImpl.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl MOBYDescriptorImpl.html,1.1,NONE MOBYNonPositiveIntegerConstraintImpl.html,1.1,NONE MOBYDocumentImpl.html,1.1,NONE MOBYMappingElementImpl.html,1.1,NONE MOBYDateConstraintImpl.html,1.1,NONE package-tree.html,1.1,NONE MOBYObjectFactory.html,1.1,NONE package-frame.html,1.1,NONE package-summary.html,1.1,NONE package-use.html,1.1,NONE MOBYProviderImpl.html,1.1,NONE MOBYNonNegativeIntegerConstraintImpl.html,1.1,NONE MOBYProviderSetImpl.html,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDescriptorImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYNonPositiveIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDocumentImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYMappingElementImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYDateConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-tree.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYObjectFactory.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-frame.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-summary.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/package-use.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYProviderImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYNonNegativeIntegerConstraintImpl.html,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/impl/RCS/MOBYProviderSetImpl.html,v: No such file or directory From gss at pub.open-bio.org Thu Nov 18 23:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9aB016934@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/tools/class-use Modified Files: Util.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use Util.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use/Util.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.tools.Util From gss at pub.open-bio.org Thu Nov 18 23:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9Zo016977@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/test Modified Files: package-tree.html package-frame.html Test.html package-summary.html ParserTest.html package-use.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test package-tree.html,1.1,1.2 package-frame.html,1.1,1.2 Test.html,1.1,1.2 package-summary.html,1.1,1.2 ParserTest.html,1.1,1.2 package-use.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-tree.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test Class Hierarchy =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-frame.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/Test.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.parser.test =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/ParserTest.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + ParserTest =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.parser.test From gss at pub.open-bio.org Thu Nov 18 23:33:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX7IS016609@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/servlet/class-use Modified Files: AbstractMobyServlet.html ParameterException.html ParamReader.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use AbstractMobyServlet.html,1.1,1.2 ParameterException.html,1.1,1.2 ParamReader.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/AbstractMobyServlet.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.AbstractMobyServlet =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParameterException.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.ParameterException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/class-use/ParamReader.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.servlet.ParamReader From gss at pub.open-bio.org Thu Nov 18 23:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9F4016913@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/servlet Modified Files: package-use.html package-summary.html package-tree.html package-frame.html ParameterException.html AbstractMobyServlet.html ParamReader.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet package-use.html,1.1,1.2 package-summary.html,1.1,1.2 package-tree.html,1.1,1.2 package-frame.html,1.1,1.2 ParameterException.html,1.1,1.2 AbstractMobyServlet.html,1.1,1.2 ParamReader.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.servlet =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/servlet/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.servlet @@ -51,7 +51,7 @@
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/package-summary.html 2004/11/18 23:33:08 1.2 @@ -2,7 +2,7 @@ - + org.smoby.tools @@ -50,7 +50,7 @@ PREV PACKAGE  + PREV PACKAGE   NEXT PACKAGE FRAMES   @@ -83,6 +83,10 @@ Class Summary +ModelRetriever +  + + Util This abstract class contains a miscellaneous set of useful static methods @@ -120,7 +124,7 @@ PREV PACKAGE  + PREV PACKAGE   NEXT PACKAGE FRAMES   From gss at pub.open-bio.org Thu Nov 18 23:33:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX8HQ016654@pub.open-bio.org> gss Thu Nov 18 18:33:07 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/http Modified Files: package-use.html HTTPResponse.html HTTPRequest.html package-frame.html HTTPException.html package-summary.html package-tree.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http package-use.html,1.1,1.2 HTTPResponse.html,1.1,1.2 HTTPRequest.html,1.1,1.2 package-frame.html,1.1,1.2 HTTPException.html,1.1,1.2 package-summary.html,1.1,1.2 package-tree.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-use.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.http =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPResponse.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + HTTPResponse =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPRequest.html 2004/11/18 23:33:07 1.2 @@ -2,7 +2,7 @@ - + HTTPRequest @@ -120,8 +120,15 @@ HTTP_GET
      -          Constant meaning to use HTTP GET as the method for communicating - with the registration server. +          Constant meaning to use HTTP GET as the method + + + +static int +HTTP_HEAD + +
      +          Constant meaning to use HTTP HEAD as the method @@ -129,8 +136,7 @@ HTTP_POST
      -          Constant meaning to use HTTP POST as the method for communicating - with the registration server. +          Constant meaning to use HTTP POST as the method   @@ -174,6 +180,14 @@ static HTTPRequest +newHeadRequest(java.lang.String uri) + +
      +            + + + +static HTTPRequest newPostRequest(java.lang.String serverURL)
      @@ -215,8 +229,7 @@
       public static final int HTTP_GET
      -
      Constant meaning to use HTTP GET as the method for communicating - with the registration server. +
      Constant meaning to use HTTP GET as the method

      See Also:
      Constant Field Values
      @@ -228,12 +241,23 @@
       public static final int HTTP_POST
      -
      Constant meaning to use HTTP POST as the method for communicating - with the registration server. +
      Constant meaning to use HTTP POST as the method

      See Also:
      Constant Field Values
      +
      + +

      +HTTP_HEAD

      +
      +public static final int HTTP_HEAD
      +
      +
      Constant meaning to use HTTP HEAD as the method +

      +

      +
      See Also:
      Constant Field Values
      +
      @@ -270,6 +294,17 @@

      +

      +newHeadRequest

      +
      +public static HTTPRequest newHeadRequest(java.lang.String uri)
      +
      +
      +
      +
      +
      +
      +

      addParameter

      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html	2004/07/15 20:27:14	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-frame.html	2004/11/18 23:33:07	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       org.smoby.http
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html	2004/07/15 20:27:14	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/HTTPException.html	2004/11/18 23:33:07	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       HTTPException
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html	2004/07/15 20:27:14	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-summary.html	2004/11/18 23:33:07	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       org.smoby.http
       
      @@ -50,7 +50,7 @@
       
       
       PREV PACKAGE 
      + PREV PACKAGE 
        NEXT PACKAGE
       
         FRAMES   
      @@ -142,7 +142,7 @@
       
       
       PREV PACKAGE 
      + PREV PACKAGE 
        NEXT PACKAGE
       
         FRAMES   
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html	2004/07/15 20:27:14	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/package-tree.html	2004/11/18 23:33:07	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       org.smoby.http Class Hierarchy
       
      @@ -49,7 +49,7 @@
       
       
       PREV 
      + PREV 
        NEXT
       
         FRAMES   
      @@ -122,7 +122,7 @@
       
       
       PREV 
      + PREV 
        NEXT
       
         FRAMES   
      
      
      
      From gss at pub.open-bio.org  Thu Nov 18 23:33:08 2004
      From: gss at pub.open-bio.org (Gary Schlitz)
      Date: Thu, 18 Nov 2004 18:33:08 -0500
      Subject: [MOBY-guts] biomoby commit
      Message-ID: <200411182333.iAINX8fs016705@pub.open-bio.org>
      
      
      gss
      Thu Nov 18 18:33:08 EST 2004
      Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser
      In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser
      
      Modified Files:
      	package-frame.html package-summary.html 
      	NonCanonicalException.html package-use.html 
      	UnparsableGraphException.html package-tree.html Parser.html 
      Log Message:
      Generated JavaDoc
      
      moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser package-frame.html,1.1,1.2 package-summary.html,1.1,1.2 NonCanonicalException.html,1.1,1.2 package-use.html,1.1,1.2 UnparsableGraphException.html,1.1,1.2 package-tree.html,1.1,1.2 Parser.html,1.1,1.2
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html	2004/07/15 20:27:16	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-frame.html	2004/11/18 23:33:08	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       org.smoby.parser
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html	2004/07/15 20:27:16	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-summary.html	2004/11/18 23:33:08	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       org.smoby.parser
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html	2004/07/15 20:27:16	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/NonCanonicalException.html	2004/11/18 23:33:08	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       NonCanonicalException
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html	2004/07/15 20:27:16	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-use.html	2004/11/18 23:33:08	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       Uses of Package org.smoby.parser
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html	2004/07/15 20:27:16	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/UnparsableGraphException.html	2004/11/18 23:33:08	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       UnparsableGraphException
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html	2004/07/15 20:27:16	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/package-tree.html	2004/11/18 23:33:08	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       org.smoby.parser Class Hierarchy
       
      
      ===================================================================
      RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html,v
      retrieving revision 1.1
      retrieving revision 1.2
      diff -u -r1.1 -r1.2
      --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html	2004/07/15 20:27:16	1.1
      +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/Parser.html	2004/11/18 23:33:08	1.2
      @@ -2,7 +2,7 @@
       
       
       
      -
      +
       
       Parser
       
      @@ -192,7 +192,7 @@
       
       
       
      - MOBYProvider
      + MOBYProvider
       parseProvider()
       
       
      @@ -200,7 +200,7 @@ - MOBYProvider + MOBYProvider
      parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
      @@ -208,7 +208,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection
      parseProviders()
      @@ -368,7 +368,7 @@

      parseProvider

      -public MOBYProvider parseProvider()
      +public MOBYProvider parseProvider()
      Parse a provider from the model. If the model contains multiple providers, only one will be returned (at random). If @@ -385,7 +385,7 @@

      parseProviders

      -public MOBYUnorderedCollection parseProviders()
      +public MOBYUnorderedCollection parseProviders()
      Parse and return an unordered collection of providers

      @@ -398,7 +398,7 @@

      parseProvider

      -public MOBYProvider parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
      +public MOBYProvider parseProvider(com.hp.hpl.jena.rdf.model.Resource provider)
      Parse a provider starting from the given resource (i.e. a resource that is the subject of an rdf:type statement with object of moby:Provider) From gss at pub.open-bio.org Thu Nov 18 23:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9UV016864@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/vocabulary Modified Files: package-use.html VocabularyDescription.html package-tree.html package-summary.html MOBY.html package-frame.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary package-use.html,1.1,1.2 VocabularyDescription.html,1.1,1.2 package-tree.html,1.1,1.2 package-summary.html,1.1,1.2 MOBY.html,1.1,1.2 package-frame.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-use.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Package org.smoby.vocabulary =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/VocabularyDescription.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + VocabularyDescription =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-tree.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary Class Hierarchy =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-summary.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/MOBY.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + MOBY @@ -127,6 +127,14 @@ +static java.lang.String +GRAPH_PARAMETER_NAME + +
      +          When doing an HTTP POST to a Semantic MOBY provider (i.e. + + + static com.hp.hpl.jena.rdf.model.Property hasMapping @@ -143,6 +151,22 @@ +static com.hp.hpl.jena.rdf.model.Property +inputURI + +
      +            + + + +static com.hp.hpl.jena.rdf.model.Property +keyword + +
      +            + + + static java.lang.String LAST_MODIFIED_HEADER @@ -200,6 +224,14 @@ static com.hp.hpl.jena.rdf.model.Property +outputURI + +
      +            + + + +static com.hp.hpl.jena.rdf.model.Property Property
      @@ -314,6 +346,21 @@

      +

      +GRAPH_PARAMETER_NAME

      +
      +public static final java.lang.String GRAPH_PARAMETER_NAME
      +
      +
      When doing an HTTP POST to a Semantic MOBY provider (i.e. + engaging the provider), the graph that the provider is to + operate on is stored in a parameter with this name, whose + value is a serialized RDF/XML graph. +

      +

      +
      See Also:
      Constant Field Values
      +
      +
      +

      Provider

      @@ -384,6 +431,26 @@
       

      +

      +inputURI

      +
      +public static final com.hp.hpl.jena.rdf.model.Property inputURI
      +
      +
      +
      +
      +
      + +

      +outputURI

      +
      +public static final com.hp.hpl.jena.rdf.model.Property outputURI
      +
      +
      +
      +
      +
      +

      operatesOn

      @@ -432,6 +499,16 @@
       
      +
      + +

      +keyword

      +
      +public static final com.hp.hpl.jena.rdf.model.Property keyword
      +
      +
      +
      +
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html 2004/07/15 20:27:14 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/vocabulary/package-frame.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + org.smoby.vocabulary From gss at pub.open-bio.org Thu Nov 18 23:33:09 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:09 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX9FM017006@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/class-use Modified Files: UnparsableGraphException.html NonCanonicalException.html Parser.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use UnparsableGraphException.html,1.1,1.2 NonCanonicalException.html,1.1,1.2 Parser.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/UnparsableGraphException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.UnparsableGraphException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/NonCanonicalException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.NonCanonicalException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/class-use/Parser.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.Parser From gss at pub.open-bio.org Thu Nov 18 23:33:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINXAVF017034@pub.open-bio.org> gss Thu Nov 18 18:33:09 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/http/class-use Modified Files: HTTPRequest.html HTTPException.html HTTPResponse.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use HTTPRequest.html,1.1,1.2 HTTPException.html,1.1,1.2 HTTPResponse.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPRequest.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPRequest @@ -119,6 +119,14 @@
                  + + +static HTTPRequest +HTTPRequest.newHeadRequest(java.lang.String uri) + +
      +            +  

      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPException.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html 2004/07/15 20:27:17 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/http/class-use/HTTPResponse.html 2004/11/18 23:33:09 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.http.HTTPResponse From gss at pub.open-bio.org Thu Nov 18 23:33:10 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 18:33:10 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINXA26017061@pub.open-bio.org> gss Thu Nov 18 18:33:10 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/parser/test/class-use Modified Files: ParserTest.html Test.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use ParserTest.html,1.1,1.2 Test.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/ParserTest.html 2004/11/18 23:33:10 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.test.ParserTest =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html 2004/07/15 20:27:16 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/parser/test/class-use/Test.html 2004/11/18 23:33:10 1.2 @@ -2,7 +2,7 @@ - + Uses of Class org.smoby.parser.test.Test From gss at pub.open-bio.org Fri Nov 19 17:11:39 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:11:39 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191711.iAJHBdQ7020079@pub.open-bio.org> gss Fri Nov 19 12:11:39 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20054/src/org/sgd/vocabulary Modified Files: SGD.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary SGD.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java 2004/06/17 17:38:59 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/sgd.org/src/org/sgd/vocabulary/SGD.java 2004/11/19 17:11:39 1.4 @@ -1,6 +1,6 @@ package org.sgd.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 17:11:51 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:11:51 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191711.iAJHBpnd020109@pub.open-bio.org> gss Fri Nov 19 12:11:51 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20084/src/org/pubs/vocabulary Modified Files: Pubs.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary Pubs.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java 2004/06/17 17:39:00 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/pubs.org/src/org/pubs/vocabulary/Pubs.java 2004/11/19 17:11:51 1.5 @@ -1,6 +1,6 @@ package org.pubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 17:12:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC1l8020158@pub.open-bio.org> gss Fri Nov 19 12:12:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20114/src/com/megapubs/vocabulary Modified Files: MegaPubs.java Log Message: moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary MegaPubs.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java 2004/06/17 17:38:59 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/vocabulary/MegaPubs.java 2004/11/19 17:12:01 1.5 @@ -1,6 +1,6 @@ package com.megapubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 17:12:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC1Ci020139@pub.open-bio.org> gss Fri Nov 19 12:12:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets In directory pub.open-bio.org:/tmp/cvs-serv20114/src/com/megapubs/servlets Modified Files: CitationSearchServlet.java Log Message: moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets CitationSearchServlet.java,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java 2004/05/19 18:26:48 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/megapubs.com/src/com/megapubs/servlets/CitationSearchServlet.java 2004/11/19 17:12:01 1.5 @@ -4,8 +4,8 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.*; -import org.smoby.graph.*; +import org.semanticmoby.servlet.*; +import org.semanticmoby.graph.*; /** * This class is a concrete subclass of AbstractMobyServlet that illustrates From gss at pub.open-bio.org Fri Nov 19 17:12:08 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:08 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHC850020191@pub.open-bio.org> gss Fri Nov 19 12:12:08 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20166/src/org/go/vocabulary Modified Files: Go.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary Go.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java 2004/06/17 17:38:59 1.3 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/go.org/src/org/go/vocabulary/Go.java 2004/11/19 17:12:08 1.4 @@ -1,6 +1,6 @@ package org.go.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 17:12:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:15 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHCFSu020221@pub.open-bio.org> gss Fri Nov 19 12:12:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets In directory pub.open-bio.org:/tmp/cvs-serv20196/src/com/acmepubs/servlets Modified Files: CitationSearchServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets CitationSearchServlet.java,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java 2004/07/29 23:44:37 1.12 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/servlets/CitationSearchServlet.java 2004/11/19 17:12:14 1.13 @@ -4,9 +4,9 @@ import java.util.*; import javax.servlet.*; import javax.servlet.http.*; -import org.smoby.servlet.*; -import org.smoby.graph.*; -import org.smoby.vocabulary.*; +import org.semanticmoby.servlet.*; +import org.semanticmoby.graph.*; +import org.semanticmoby.vocabulary.*; import com.acmepubs.vocabulary.*; /** From gss at pub.open-bio.org Fri Nov 19 17:12:15 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:12:15 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191712.iAJHCFQ8020240@pub.open-bio.org> gss Fri Nov 19 12:12:14 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20196/src/com/acmepubs/vocabulary Modified Files: AcmePubs.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary AcmePubs.java,1.5,1.6 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java 2004/06/17 17:38:59 1.5 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/acmepubs.com/src/com/acmepubs/vocabulary/AcmePubs.java 2004/11/19 17:12:14 1.6 @@ -1,6 +1,6 @@ package com.acmepubs.vocabulary; -import org.smoby.vocabulary.*; +import org.semanticmoby.vocabulary.*; import com.hp.hpl.jena.rdf.model.*; From gss at pub.open-bio.org Fri Nov 19 17:16:35 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:16:35 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191716.iAJHGZ55020374@pub.open-bio.org> gss Fri Nov 19 12:16:35 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org In directory pub.open-bio.org:/tmp/cvs-serv20350/brebiou.cshl.org Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:00 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH0Qk020411@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse In directory pub.open-bio.org:/tmp/cvs-serv20387/.myeclipse Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.myeclipse/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:00 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH0vM020429@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings In directory pub.open-bio.org:/tmp/cvs-serv20387/.settings Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1LZ020612@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage In directory pub.open-bio.org:/tmp/cvs-serv20387/queries/engage Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5gE020783@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org In directory pub.open-bio.org:/tmp/cvs-serv20747 Added Files: build.xml .project .classpath .mymetadata kanani.sql Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org build.xml,NONE,1.1 .project,NONE,1.1 .classpath,NONE,1.1 .mymetadata,NONE,1.1 kanani.sql,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5JK020768@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot Added Files: get-individuals.html index.html get-individuals.rdf get-individuals.n3 Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot get-individuals.html,NONE,1.1 index.html,NONE,1.1 get-individuals.rdf,NONE,1.1 get-individuals.n3,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1wW020632@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src In directory pub.open-bio.org:/tmp/cvs-serv20387/src Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1CD020466@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/META-INF Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5Zs020799@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/ontologies Added Files: individualName.n3 individualName index.html Panel panelName.n3 Panel.n3 panelName Individual.n3 Individual Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies individualName.n3,NONE,1.1 individualName,NONE,1.1 index.html,NONE,1.1 Panel,NONE,1.1 panelName.n3,NONE,1.1 Panel.n3,NONE,1.1 panelName,NONE,1.1 Individual.n3,NONE,1.1 Individual,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1sb020548@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/images Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5F2020868@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/META-INF Added Files: MANIFEST.MF Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/META-INF MANIFEST.MF,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH191020569@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/ontologies Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/ontologies/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5FO020833@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/WEB-INF Added Files: web.xml Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF web.xml,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH6t5020920@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings In directory pub.open-bio.org:/tmp/cvs-serv20747/.settings Added Files: org.eclipse.core.resources.prefs Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/.settings org.eclipse.core.resources.prefs,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH15R020447@pub.open-bio.org> gss Fri Nov 19 12:17:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Oj020485@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Dn020506@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF/classes Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/classes/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1jn020527@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib In directory pub.open-bio.org:/tmp/cvs-serv20387/WebRoot/WEB-INF/lib Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/WEB-INF/lib/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH1Xc020587@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries In directory pub.open-bio.org:/tmp/cvs-serv20387/queries Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2Jg020655@pub.open-bio.org> gss Fri Nov 19 12:17:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2XY020674@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2fr020695@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl/servlets Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH2MV020719@pub.open-bio.org> gss Fri Nov 19 12:17:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20387/src/org/cshl/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary added to the repository moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5KO020814@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets In directory pub.open-bio.org:/tmp/cvs-serv20747/src/org/cshl/servlets Added Files: GetIndividualsWrapperServlet.java GetIndividualsServlet.java Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/servlets GetIndividualsWrapperServlet.java,NONE,1.1 GetIndividualsServlet.java,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH5jC020850@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage In directory pub.open-bio.org:/tmp/cvs-serv20747/queries/engage Added Files: example.rdf example.n3 Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/queries/engage example.rdf,NONE,1.1 example.n3,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:05 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:05 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH56j020886@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv20747/src/org/cshl/vocabulary Added Files: CSHL.java Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/src/org/cshl/vocabulary CSHL.java,NONE,1.1 From gss at pub.open-bio.org Fri Nov 19 17:17:06 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Fri, 19 Nov 2004 12:17:06 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411191717.iAJHH65I020905@pub.open-bio.org> gss Fri Nov 19 12:17:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images In directory pub.open-bio.org:/tmp/cvs-serv20747/WebRoot/images Added Files: cshl-logo.jpg Log Message: Initial version moby-live/S-MOBY/ref-impl/example-providers/brebiou.cshl.org/WebRoot/images cshl-logo.jpg,NONE,1.1 From gordonp at pub.open-bio.org Mon Nov 22 17:22:23 2004 From: gordonp at pub.open-bio.org (Paul Gordon) Date: Mon, 22 Nov 2004 12:22:23 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411221722.iAMHMN91008721@pub.open-bio.org> gordonp Mon Nov 22 12:22:22 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory pub.open-bio.org:/tmp/cvs-serv8696/client Modified Files: CentralImpl.java Log Message: Just got rid of deprecation warnings caused by StringBufferInputStream. Replaced with ByteArrayInputStream (based on locale-dependent String.getBytes()) moby-live/Java/src/main/org/biomoby/client CentralImpl.java,1.17,1.18 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2004/10/18 14:35:06 1.17 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2004/11/22 17:22:22 1.18 @@ -203,7 +203,7 @@ // parse returned XML Document document = null; try { - document=docBuilder.parse(new StringBufferInputStream(xml)); + document=docBuilder.parse(new ByteArrayInputStream(xml.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -432,7 +432,7 @@ Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(xml)); + document = docBuilder.parse(new ByteArrayInputStream(xml.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -628,7 +628,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -668,7 +668,7 @@ // parse returned XML Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -710,7 +710,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result));} + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("serviceType"); @@ -758,7 +758,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -816,7 +816,7 @@ Map results = new HashMap(); Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream(result)); + document = docBuilder.parse(new ByteArrayInputStream(result.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -893,7 +893,7 @@ // parse returned XML Document document = null; try { - document = docBuilder.parse(new StringBufferInputStream (xmlSource)); + document = docBuilder.parse(new ByteArrayInputStream (xmlSource.getBytes())); } catch (Exception e) { throw new MobyException(e.toString()); } @@ -1002,7 +1002,7 @@ // parse returned XML Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} Element service = document.getDocumentElement(); @@ -1378,7 +1378,7 @@ // parse returned XML Vector v = new Vector(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); @@ -1436,7 +1436,7 @@ // parse returned XML Map results = new HashMap(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); @@ -1493,7 +1493,7 @@ // parse returned XML Vector v = new Vector(); Document document = null; - try{document=docBuilder.parse(new StringBufferInputStream(result));} + try{document=docBuilder.parse(new ByteArrayInputStream(result.getBytes()));} catch(Exception e){throw new MobyException(e.toString());} NodeList list = document.getElementsByTagName ("Relationship"); From kawas at pub.open-bio.org Mon Nov 22 17:48:45 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Mon, 22 Nov 2004 12:48:45 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411221748.iAMHmjgQ008806@pub.open-bio.org> kawas Mon Nov 22 12:48:45 EST 2004 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util In directory pub.open-bio.org:/tmp/cvs-serv8780/org/biomoby/client/gui/util Modified Files: REGEXP.java Log Message: URI typo. Eddie moby-live/Java/src/main/org/biomoby/client/gui/util REGEXP.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java 2004/09/27 21:26:54 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/gui/util/REGEXP.java 2004/11/22 17:48:45 1.4 @@ -21,7 +21,7 @@ private final static String URI = //"(^(http:\\/\\/www\\.|HTTP:\\/\\/www\\.|www\\.|http:\\/\\/|HTTP:\\/\\/)?[\\w]+\\.[\\w].*\\w$)"; //"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?"; // as per rfc 2396 appendix a. - "^([\\w]+\\.[\\w]+(\\.[\\w]+)*)$"; + "^([\\w]+\\.[\\w]+(\\.[\\w]+)+)$"; private final static String URL = "(^(http:\\/\\/www\\.|HTTP:\\/\\/www\\.|http:\\/\\/|HTTP:\\/\\/)[\\w]+\\.[\\w].*(\\/\\w+(\\.{1}\\w+)*)$)"; From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaqW009799@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaLM009762@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwai4009780@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/meeting Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:37 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:37 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwbjr009922@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwa9L009859@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaPV009841@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets/dev Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:37 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:37 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwb2Z009944@pub.open-bio.org> gss Mon Nov 22 17:58:37 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/vocabulary/example Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaZP009818@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/servlets Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwa6B009881@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:36 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:36 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwaUD009902@pub.open-bio.org> gss Mon Nov 22 17:58:36 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9738/src/org/semanticmoby/ref/tools/db Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweEq010074@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/tools Added Files: ProviderRemover.java KeywordQuery.java URIInvestigator.java MissingPropertyException.java DiscoveryQuery.java KeywordList.java InvocationBroker.java MOBYProperties.java KeywordFinder.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools ProviderRemover.java,NONE,1.1 KeywordQuery.java,NONE,1.1 URIInvestigator.java,NONE,1.1 MissingPropertyException.java,NONE,1.1 DiscoveryQuery.java,NONE,1.1 KeywordList.java,NONE,1.1 InvocationBroker.java,NONE,1.1 MOBYProperties.java,NONE,1.1 KeywordFinder.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweM5010027@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets Removed Files: DiscoveryServlet.java KeywordSearchServlet.java ProviderEngagementServlet.java BaseServlet.java ResultsDisplayServlet.java ProviderInvestigationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets DiscoveryServlet.java,1.2,NONE KeywordSearchServlet.java,1.4,NONE ProviderEngagementServlet.java,1.2,NONE BaseServlet.java,1.3,NONE ResultsDisplayServlet.java,1.1,NONE ProviderInvestigationServlet.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/DiscoveryServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/KeywordSearchServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ProviderEngagementServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/BaseServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ResultsDisplayServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/RCS/ProviderInvestigationServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweWR009990@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets/dev Removed Files: RepositoryPrintServlet.java OWLValidationServlet.java MOBYGraphValidationServlet.java ProviderListServlet.java GraphConversionServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev RepositoryPrintServlet.java,1.1,NONE OWLValidationServlet.java,1.2,NONE MOBYGraphValidationServlet.java,1.2,NONE ProviderListServlet.java,1.2,NONE GraphConversionServlet.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/RepositoryPrintServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/OWLValidationServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/MOBYGraphValidationServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/ProviderListServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/dev/RCS/GraphConversionServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweBZ010107@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/servlets/example Removed Files: HelloWorldDisplayServlet.java HelloWorldServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example HelloWorldDisplayServlet.java,1.1,NONE HelloWorldServlet.java,1.3,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example/RCS/HelloWorldDisplayServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/servlets/example/RCS/HelloWorldServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweCf010005@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets/dev Added Files: RepositoryPrintServlet.java ProviderListServlet.java GraphConversionServlet.java OWLValidationServlet.java MOBYGraphValidationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/dev RepositoryPrintServlet.java,NONE,1.1 ProviderListServlet.java,NONE,1.1 GraphConversionServlet.java,NONE,1.1 OWLValidationServlet.java,NONE,1.1 MOBYGraphValidationServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 22:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwflo010219@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/meeting Added Files: MeetingRegistrationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/meeting MeetingRegistrationServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 22:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwf5O010164@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/tools/db Removed Files: StorageManager.java StorageException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db StorageManager.java,1.3,NONE StorageException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db/RCS/StorageManager.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/db/RCS/StorageException.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwecY010126@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/vocabulary/example Added Files: Hello.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/vocabulary/example Hello.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwewW010090@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets/example Added Files: HelloWorldDisplayServlet.java HelloWorldServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets/example HelloWorldDisplayServlet.java,NONE,1.1 HelloWorldServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 22:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfIR010144@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/servlets Added Files: ProviderInvestigationServlet.java DiscoveryServlet.java ResultsDisplayServlet.java KeywordSearchServlet.java BaseServlet.java ProviderEngagementServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/servlets ProviderInvestigationServlet.java,NONE,1.1 DiscoveryServlet.java,NONE,1.1 ResultsDisplayServlet.java,NONE,1.1 KeywordSearchServlet.java,NONE,1.1 BaseServlet.java,NONE,1.1 ProviderEngagementServlet.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 22:58:40 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:40 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMweg7010057@pub.open-bio.org> gss Mon Nov 22 17:58:40 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/tools Removed Files: InvocationBroker.java KeywordList.java URIInvestigator.java ProviderRemover.java KeywordFinder.java MOBYProperties.java DiscoveryQuery.java MissingPropertyException.java KeywordQuery.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools InvocationBroker.java,1.1,NONE KeywordList.java,1.1,NONE URIInvestigator.java,1.3,NONE ProviderRemover.java,1.1,NONE KeywordFinder.java,1.2,NONE MOBYProperties.java,1.1,NONE DiscoveryQuery.java,1.2,NONE MissingPropertyException.java,1.1,NONE KeywordQuery.java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/InvocationBroker.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordList.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/URIInvestigator.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/ProviderRemover.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordFinder.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/MOBYProperties.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/DiscoveryQuery.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/MissingPropertyException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/tools/RCS/KeywordQuery.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfSl010201@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/semanticmoby/ref/tools/db Added Files: StorageManager.java StorageException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/semanticmoby/ref/tools/db StorageManager.java,NONE,1.1 StorageException.java,NONE,1.1 From gss at pub.open-bio.org Mon Nov 22 22:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfkM010235@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/meeting Removed Files: MeetingRegistrationServlet.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting MeetingRegistrationServlet.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/meeting/RCS/MeetingRegistrationServlet.java,v: No such file or directory From gss at pub.open-bio.org Mon Nov 22 22:58:41 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 17:58:41 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411222258.iAMMwfep010183@pub.open-bio.org> gss Mon Nov 22 17:58:41 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example In directory pub.open-bio.org:/tmp/cvs-serv9964/src/org/smoby/ref/vocabulary/example Removed Files: Hello.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example Hello.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/src/org/smoby/ref/vocabulary/example/RCS/Hello.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuZX010518@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/http Removed Files: HTTPResponse.java HTTPRequest.java HTTPException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/http HTTPResponse.java,1.1,NONE HTTPRequest.java,1.2,NONE HTTPException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPResponse.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPRequest.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/http/RCS/HTTPException.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hu2i010500@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/servlet Removed Files: AbstractMobyServlet.java ParamReader.java ParameterException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet AbstractMobyServlet.java,1.2,NONE ParamReader.java,1.1,NONE ParameterException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/AbstractMobyServlet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/ParamReader.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/servlet/RCS/ParameterException.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuKg010577@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/vocabulary Removed Files: MOBY.java VocabularyDescription.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary MOBY.java,1.7,NONE VocabularyDescription.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/RCS/MOBY.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/vocabulary/RCS/VocabularyDescription.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HtFX010480@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/graph/tools Removed Files: MOBYProviderXMLGenerator.java MOBYProviderTraversalException.java MOBYProviderTraverser.java MOBYProviderVisitor.java MOBYProviderVisitorAdapter.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools MOBYProviderXMLGenerator.java,1.2,NONE MOBYProviderTraversalException.java,1.1,NONE MOBYProviderTraverser.java,1.2,NONE MOBYProviderVisitor.java,1.2,NONE MOBYProviderVisitorAdapter.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderXMLGenerator.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderTraversalException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderTraverser.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderVisitor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/tools/RCS/MOBYProviderVisitorAdapter.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HuLw010556@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/tools Removed Files: Util.java ModelRetriever.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools Util.java,1.2,NONE ModelRetriever.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools/RCS/Util.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/tools/RCS/ModelRetriever.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hui6010536@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/parser/test Removed Files: ParserTest.java Test.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test ParserTest.java,1.1,NONE Test.java,1.3,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test/RCS/ParserTest.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/test/RCS/Test.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0HtH3010460@pub.open-bio.org> gss Mon Nov 22 19:17:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/graph Removed Files: MOBYIntegerConstraint.java MOBYDocument.java MOBYLiteral.java MOBYResource.java MOBYFixedCollection.java MOBYResizableCollection.java MOBYNonNegativeIntegerConstraint.java MOBYPropertyValueStatement.java MOBYPropertyValue.java MOBYOntology.java MOBYMappingElement.java MOBYDescriptor.java MOBYCollection.java MOBYUnorderedCollection.java MOBYGraphNode.java MOBYObject.java MOBYSubject.java MOBYNumericConstraint.java MOBYNonPositiveIntegerConstraint.java MOBYDateConstraint.java MOBYGraphVisitor.java MOBYSingleElement.java MOBYPropertyValueConstraint.java MOBYEnumeration.java MOBYProvider.java MOBYProviderSet.java MOBYOrderedCollection.java MOBYGraph.java MOBYPropertyValueException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph MOBYIntegerConstraint.java,1.1,NONE MOBYDocument.java,1.2,NONE MOBYLiteral.java,1.2,NONE MOBYResource.java,1.2,NONE MOBYFixedCollection.java,1.2,NONE MOBYResizableCollection.java,1.2,NONE MOBYNonNegativeIntegerConstraint.java,1.1,NONE MOBYPropertyValueStatement.java,1.2,NONE MOBYPropertyValue.java,1.2,NONE MOBYOntology.java,1.2,NONE MOBYMappingElement.java,1.2,NONE MOBYDescriptor.java,1.3,NONE MOBYCollection.java,1.2,NONE MOBYUnorderedCollection.java,1.2,NONE MOBYGraphNode.java,1.2,NONE MOBYObject.java,1.2,NONE MOBYSubject.java,1.2,NONE MOBYNumericConstraint.java,1.1,NONE MOBYNonPositiveIntegerConstraint.java,1.1,NONE MOBYDateConstraint.java,1.1,NONE MOBYGraphVisitor.java,1.1,NONE MOBYSingleElement.java,1.2,NONE MOBYPropertyValueConstraint.java,1.2,NONE MOBYEnumeration.java,1.2,NONE MOBYProvider.java,1.2,NONE MOBYProviderSet.java,1.2,NONE MOBYOrderedCollection.java,1.2,NONE MOBYGraph.java,1.2,NONE MOBYPropertyValueException.! java,1.2,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDocument.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYLiteral.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYResource.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYFixedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYResizableCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNonNegativeIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueStatement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValue.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYOntology.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYMappingElement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDescriptor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYUnorderedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraphNode.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYObject.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYSubject.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNumericConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYNonPositiveIntegerConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYDateConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraphVisitor.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYSingleElement.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueConstraint.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYEnumeration.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYProvider.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYProviderSet.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYOrderedCollection.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYGraph.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/graph/RCS/MOBYPropertyValueException.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:17:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:17:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230017.iAN0Hufd010599@pub.open-bio.org> gss Mon Nov 22 19:17:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10409/src/org/smoby/parser Removed Files: Parser.java NonCanonicalException.java UnparsableGraphException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser Parser.java,1.8,NONE NonCanonicalException.java,1.1,NONE UnparsableGraphException.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/Parser.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/NonCanonicalException.java,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/smoby/parser/RCS/UnparsableGraphException.java,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgKf010635@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Igwb010653@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/graph Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ig62010691@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/http Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgLU010672@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgSa010733@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/servlet Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ig4r010756@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Igrx010777@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:42 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:42 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IgUt010712@pub.open-bio.org> gss Mon Nov 22 19:18:42 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10611/src/org/semanticmoby/parser Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser added to the repository moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ikhc010899@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/http Added Files: package.html HTTPRequest.java HTTPResponse.java HTTPException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/http package.html,NONE,1.1 HTTPRequest.java,NONE,1.1 HTTPResponse.java,NONE,1.1 HTTPException.java,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ikfb010832@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/graph Added Files: MOBYProviderSet.java MOBYSubject.java MOBYOntology.java MOBYResizableCollection.java MOBYNonPositiveIntegerConstraint.java MOBYDateConstraint.java MOBYFixedCollection.java MOBYProvider.java MOBYNumericConstraint.java MOBYObject.java MOBYLiteral.java MOBYPropertyValueException.java MOBYResource.java MOBYUnorderedCollection.java MOBYGraphVisitor.java MOBYCollection.java MOBYPropertyValueConstraint.java MOBYDescriptor.java MOBYDocument.java MOBYGraphNode.java MOBYOrderedCollection.java MOBYEnumeration.java MOBYPropertyValue.java MOBYSingleElement.java MOBYIntegerConstraint.java package.html MOBYNonNegativeIntegerConstraint.java MOBYPropertyValueStatement.java MOBYGraph.java MOBYMappingElement.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph MOBYProviderSet.java,NONE,1.1 MOBYSubject.java,NONE,1.1 MOBYOntology.java,NONE,1.1 MOBYResizableCollection.java,NONE,1.1 MOBYNonPositiveIntegerConstraint.java,NONE,1.1 MOBYDateConstraint.java,NONE,1.1 MOBYFixedCollection.java,NONE,1.1 MOBYProvider.java,NONE,1.1 MOBYNumericConstraint.java,NONE,1.1 MOBYObject.java,NONE,1.1 MOBYLiteral.java,NONE,1.1 MOBYPropertyValueException.java,NONE,1.1 MOBYResource.java,NONE,1.1 MOBYUnorderedCollection.java,NONE,1.1 MOBYGraphVisitor.java,NONE,1.1 MOBYCollection.java,NONE,1.1 MOBYPropertyValueConstraint.java,NONE,1.1 MOBYDescriptor.java,NONE,1.1 MOBYDocument.java,NONE,1.1 MOBYGraphNode.java,NONE,1.1 MOBYOrderedCollection.java,NONE,1.1 MOBYEnumeration.java,NONE,1.1 MOBYPropertyValue.java,NONE,1.1 MOBYSingleElement.java,NONE,1.1 MOBYIntegerConstraint.java,NONE,1.1 package.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.java,NONE,1.1 MOBYPropertyValueStatement.java,NONE,1.1 MOBYGraph.java! ,NONE,1.1 MOBYMappingElement.java,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IklA010883@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/parser Added Files: UnparsableGraphException.java Parser.java package.html NonCanonicalException.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/parser UnparsableGraphException.java,NONE,1.1 Parser.java,NONE,1.1 package.html,NONE,1.1 NonCanonicalException.java,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ik2b010847@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/tools Added Files: Util.java ModelRetriever.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/tools Util.java,NONE,1.1 ModelRetriever.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IkJp010816@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/graph/tools Added Files: package.html MOBYProviderTraverser.java MOBYProviderVisitor.java MOBYProviderVisitorAdapter.java MOBYProviderTraversalException.java MOBYProviderXMLGenerator.java Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/graph/tools package.html,NONE,1.1 MOBYProviderTraverser.java,NONE,1.1 MOBYProviderVisitor.java,NONE,1.1 MOBYProviderVisitorAdapter.java,NONE,1.1 MOBYProviderTraversalException.java,NONE,1.1 MOBYProviderXMLGenerator.java,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0Ik4Y010916@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/vocabulary Added Files: MOBY.java VocabularyDescription.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/vocabulary MOBY.java,NONE,1.1 VocabularyDescription.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:18:46 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:18:46 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230018.iAN0IkRr010865@pub.open-bio.org> gss Mon Nov 22 19:18:46 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10795/src/org/semanticmoby/servlet Added Files: AbstractMobyServlet.java ParameterException.java ParamReader.java package.html Log Message: Use new package names (org.semanticmoby... instead of org.smoby...) moby-live/S-MOBY/ref-impl/core/src/org/semanticmoby/servlet AbstractMobyServlet.java,NONE,1.1 ParameterException.java,NONE,1.1 ParamReader.java,NONE,1.1 package.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSQq011030@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSf4011110@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTY5011195@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JT1X011173@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/servlet Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUQC011342@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSYq011008@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSaM010990@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSrv010971@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/graph Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSuX010953@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTaV011213@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSeU011071@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/http/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSo1011089@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JSw1011131@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTV4011274@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTs8011296@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/vocabulary Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUWq011314@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JU92011403@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTtl011151@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JU2T011384@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/test Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTgc011232@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/test/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:28 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:28 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JS0Y011050@pub.open-bio.org> gss Mon Nov 22 19:19:28 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/http Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:29 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:29 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JTwG011254@pub.open-bio.org> gss Mon Nov 22 19:19:29 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/semanticmoby/tools Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:19:30 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:30 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JUUT011362@pub.open-bio.org> gss Mon Nov 22 19:19:30 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv10929/WebRoot/developer/java-api/org/smoby/graph/tools/class-use Log Message: Directory /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use added to the repository moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use - New directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use/RCS/directory,v: No such file or directory From gss at pub.open-bio.org Tue Nov 23 00:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K1gb011957@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org In directory pub.open-bio.org:/tmp/cvs-serv11428 Modified Files: .classpath Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org .classpath,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/04 22:31:36 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/.classpath 2004/11/23 00:20:01 1.3 @@ -11,6 +11,7 @@ + @@ -19,6 +20,5 @@ - From gss at pub.open-bio.org Tue Nov 23 00:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Ut012070@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/test/class-use Added Files: Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test/class-use Test.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JuiK011506@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/test Added Files: package-use.html package-frame.html package-tree.html package-summary.html Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test package-use.html,NONE,1.1 package-frame.html,NONE,1.1 package-tree.html,NONE,1.1 package-summary.html,NONE,1.1 Test.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jw6l011813@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/tools/class-use Added Files: MOBYProviderXMLGenerator.html MOBYProviderVisitorAdapter.html MOBYProviderTraverser.html MOBYProviderTraversalException.html MOBYProviderVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools/class-use MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 MOBYProviderVisitor.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:55 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:55 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jt1I011459@pub.open-bio.org> gss Mon Nov 22 19:19:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph Added Files: MOBYOntology.html MOBYUnorderedCollection.html MOBYIntegerConstraint.html MOBYPropertyValue.html MOBYObject.html MOBYPropertyValueException.html MOBYNonPositiveIntegerConstraint.html package-frame.html MOBYProvider.html MOBYNonNegativeIntegerConstraint.html package-tree.html MOBYNumericConstraint.html MOBYCollection.html MOBYResizableCollection.html MOBYPropertyValueStatement.html MOBYGraphVisitor.html MOBYDateConstraint.html MOBYEnumeration.html MOBYProviderSet.html MOBYResource.html MOBYSingleElement.html MOBYDescriptor.html package-summary.html MOBYGraph.html MOBYPropertyValueConstraint.html package-use.html MOBYDocument.html MOBYLiteral.html MOBYMappingElement.html MOBYOrderedCollection.html MOBYGraphNode.html MOBYFixedCollection.html MOBYSubject.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph MOBYOntology.html,NONE,1.1 MOBYUnorderedCollection.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 MOBYPropertyValue.html,NONE,1.1 MOBYObject.html,NONE,1.1 MOBYPropertyValueException.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 package-frame.html,NONE,1.1 MOBYProvider.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYNumericConstraint.html,NONE,1.1 MOBYCollection.html,NONE,1.1 MOBYResizableCollection.html,NONE,1.1 MOBYPropertyValueStatement.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYEnumeration.html,NONE,1.1 MOBYProviderSet.html,NONE,1.1 MOBYResource.html,NONE,1.1 MOBYSingleElement.html,NONE,1.1 MOBYDescriptor.html,NONE,1.1 package-summary.html,NONE,1.1 MOBYGraph.html,NONE,1.1 MOBYPropertyValueConstraint.html,NONE,1.1 package-use.html,NONE,1.1 MOBYDocument.html,NONE,1.1 MOBYLiteral.html! ,NONE,1.1 MOBYMappingElement.html,NONE,1.1 MOBYOrderedCollection.html,NONE,1.1 MOBYGraphNode.html,NONE,1.1 MOBYFixedCollection.html,NONE,1.1 MOBYSubject.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Juqh011490@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/tools Added Files: MOBYProviderVisitor.html package-frame.html MOBYProviderVisitorAdapter.html MOBYProviderTraverser.html package-use.html MOBYProviderXMLGenerator.html package-summary.html package-tree.html MOBYProviderTraversalException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools MOBYProviderVisitor.html,NONE,1.1 package-frame.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 package-use.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K11J011996@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use Added Files: AbstractMobyServlet.html ParameterException.html ParamReader.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet/class-use AbstractMobyServlet.html,NONE,1.1 ParameterException.html,NONE,1.1 ParamReader.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:59 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JxTO011885@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/vocabulary Added Files: MOBY.html package-use.html VocabularyDescription.html package-tree.html package-frame.html package-summary.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary MOBY.html,NONE,1.1 package-use.html,NONE,1.1 VocabularyDescription.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 package-summary.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:59 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JxCi011916@pub.open-bio.org> gss Mon Nov 22 19:19:59 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/tools Added Files: ModelRetriever.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools ModelRetriever.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:00 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:00 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K0Zs011931@pub.open-bio.org> gss Mon Nov 22 19:20:00 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/tools/class-use Added Files: ModelRetriever.html Util.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools/class-use ModelRetriever.html,NONE,1.1 Util.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jwb6011847@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/test Added Files: package-use.html Test.html package-summary.html package-tree.html package-frame.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/test package-use.html,NONE,1.1 Test.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:01 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:01 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K1Yt011973@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/http Added Files: HTTPResponse.html HTTPRequest.html HTTPException.html package-tree.html package-frame.html package-use.html package-summary.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http HTTPResponse.html,NONE,1.1 HTTPRequest.html,NONE,1.1 HTTPException.html,NONE,1.1 package-tree.html,NONE,1.1 package-frame.html,NONE,1.1 package-use.html,NONE,1.1 package-summary.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwCJ011831@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/test Added Files: package-use.html Test.html package-summary.html package-frame.html ParserTest.html package-tree.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test package-use.html,NONE,1.1 Test.html,NONE,1.1 package-summary.html,NONE,1.1 package-frame.html,NONE,1.1 ParserTest.html,NONE,1.1 package-tree.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Juwu011526@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/class-use Added Files: MOBYNonPositiveIntegerConstraint.html MOBYNumericConstraint.html MOBYDateConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYGraphVisitor.html MOBYIntegerConstraint.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/class-use MOBYNonPositiveIntegerConstraint.html,NONE,1.1 MOBYNumericConstraint.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jv9M011732@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/class-use Added Files: MOBYIntegerConstraint.html MOBYLiteral.html MOBYResizableCollection.html MOBYPropertyValueStatement.html MOBYOntology.html MOBYResource.html MOBYDateConstraint.html MOBYMappingElement.html MOBYSingleElement.html MOBYProviderSet.html MOBYObject.html MOBYProvider.html MOBYPropertyValueException.html MOBYEnumeration.html MOBYGraphNode.html MOBYGraphVisitor.html MOBYDocument.html MOBYOrderedCollection.html MOBYFixedCollection.html MOBYCollection.html MOBYDescriptor.html MOBYPropertyValueConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYUnorderedCollection.html MOBYSubject.html MOBYGraph.html MOBYPropertyValue.html MOBYNumericConstraint.html MOBYNonPositiveIntegerConstraint.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/class-use MOBYIntegerConstraint.html,NONE,1.1 MOBYLiteral.html,NONE,1.1 MOBYResizableCollection.html,NONE,1.1 MOBYPropertyValueStatement.html,NONE,1.1 MOBYOntology.html,NONE,1.1 MOBYResource.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYMappingElement.html,NONE,1.1 MOBYSingleElement.html,NONE,1.1 MOBYProviderSet.html,NONE,1.1 MOBYObject.html,NONE,1.1 MOBYProvider.html,NONE,1.1 MOBYPropertyValueException.html,NONE,1.1 MOBYEnumeration.html,NONE,1.1 MOBYGraphNode.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 MOBYDocument.html,NONE,1.1 MOBYOrderedCollection.html,NONE,1.1 MOBYFixedCollection.html,NONE,1.1 MOBYCollection.html,NONE,1.1 MOBYDescriptor.html,NONE,1.1 MOBYPropertyValueConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYUnorderedCollection.html,NONE,1.1 MOBYSubject.html,NONE,1.1 MOBYGraph.html,NONE,1.1 MOBYPropertyValue.html,NONE,1.1 MOBYNumericConstr! aint.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JvUT011631@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/index-files Modified Files: index-8.html index-9.html index-12.html index-16.html index-2.html index-13.html index-6.html index-14.html index-15.html index-11.html index-10.html index-5.html index-3.html index-1.html index-4.html index-7.html Added Files: index-18.html index-17.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files index-18.html,NONE,1.1 index-17.html,NONE,1.1 index-8.html,1.2,1.3 index-9.html,1.2,1.3 index-12.html,1.2,1.3 index-16.html,1.2,1.3 index-2.html,1.2,1.3 index-13.html,1.2,1.3 index-6.html,1.2,1.3 index-14.html,1.2,1.3 index-15.html,1.2,1.3 index-11.html,1.2,1.3 index-10.html,1.2,1.3 index-5.html,1.2,1.3 index-3.html,1.2,1.3 index-1.html,1.2,1.3 index-4.html,1.2,1.3 index-7.html,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-8.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + K-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-9.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + L-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-12.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + O-Index @@ -85,7 +85,9 @@ Static variable in class org.semanticmoby.vocabulary.MOBY

       
      org.semanticmoby.graph - package org.semanticmoby.graph
      Contains classes for manipulating the Semantic MOBY canonical graph -structure, which is potentially embedded in a larger graph structure.
      org.semanticmoby.graph.tools - package org.semanticmoby.graph.tools
      Utility classes that work with the org.semanticmoby.graph classes.
      org.semanticmoby.http - package org.semanticmoby.http
       
      org.semanticmoby.parser - package org.semanticmoby.parser
       
      org.semanticmoby.parser.test - package org.semanticmoby.parser.test
       
      org.semanticmoby.servlet - package org.semanticmoby.servlet
       
      org.semanticmoby.test - package org.semanticmoby.test
      &nbs! p;
      org.semanticmoby.tools - package org.semanticmoby.tools
       
      org.semanticmoby.vocabulary - package org.semanticmoby.vocabulary
       
      outputURI - +structure, which is potentially embedded in a larger graph structure.
      org.semanticmoby.graph.tools - package org.semanticmoby.graph.tools
      Utility classes that work with the org.semanticmoby.graph classes.
      org.semanticmoby.http - package org.semanticmoby.http
      Classes that facilitate making HTTP requests.
      org.semanticmoby.parser - package org.semanticmoby.parser
      Classes for parsing a Jena2 graph into a canonical graph structure +represented by classes in the org.semanticmoby.graph package.
      org.semanticmoby.servlet - package org.semanticmoby.servlet
      Classes to facilitate building Semantic MOBY services using Java servlets.
      org.semanticmoby.tools - package org.semanticmoby.tools
      Utility classes that are useful when building providers.
      org.semanticmoby.vocabulary - package org.semanticmoby.vocabulary
      A package containing constant classes with predefined constant +objects for RDF classes and properties.
      outputURI - Static variable in class org.semanticmoby.vocabulary.MOBY
        =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-16.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + T-Index @@ -75,33 +75,6 @@

      T

      -
      Test - class org.semanticmoby.parser.test.Test.
       
      Test() - -Constructor for class org.semanticmoby.parser.test.Test -
        -
      Test - class org.semanticmoby.test.Test.
       
      Test() - -Constructor for class org.semanticmoby.test.Test -
        -
      testMinimalParsableFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
        -
      testMultipleProviders() - -Method in class org.semanticmoby.parser.test.ParserTest -
        -
      testNonExistentFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
      Test that trying to parse from a non-existent file correctly throws - an UnparsableGraphException -
      testNullFileName() - -Method in class org.semanticmoby.parser.test.ParserTest -
      Test that trying to parse from a non-existent file correctly throws - an UnparsableGraphException -
      testSingleProvider() - -Method in class org.semanticmoby.parser.test.ParserTest -
        -
      testUnparsableFile() - -Method in class org.semanticmoby.parser.test.ParserTest -
      Test that trying to parse from an unparsable file correctly - throws an UnparsableGraphException
      toString() - Method in class org.semanticmoby.graph.MOBYPropertyValueStatement
        =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-2.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + D-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-13.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + P-Index @@ -87,9 +87,6 @@ objects that implement interfaces from the org.semanticmoby.graph package.
      Parser(Model) - Constructor for class org.semanticmoby.parser.Parser
      Create an instance for parsing the given model. -
      ParserTest - class org.semanticmoby.parser.test.ParserTest.
       
      ParserTest(String, String) - -Constructor for class org.semanticmoby.parser.test.ParserTest -
      Create a test case with the given name and file name
      Property - Static variable in class org.semanticmoby.vocabulary.MOBY
        =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-6.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + H-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-14.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + R-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-15.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + S-Index @@ -101,9 +101,6 @@
      size() - Method in class org.semanticmoby.graph.MOBYProviderSet
      Return the size of the set -
      suite() - -Static method in class org.semanticmoby.parser.test.ParserTest -
       

      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-11.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + N-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-10.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + M-Index @@ -199,13 +199,7 @@ which the order of the elements is not defined.
      MOBYUnorderedCollection(Resource, List, Model) - Constructor for class org.semanticmoby.graph.MOBYUnorderedCollection
        -
      ModelRetriever - class org.semanticmoby.tools.ModelRetriever.
       
      main(String[]) - -Static method in class org.semanticmoby.parser.test.Test -
        -
      main(String[]) - -Static method in class org.semanticmoby.test.Test -
        -
      mapsTo - +
      ModelRetriever - class org.semanticmoby.tools.ModelRetriever.
       
      mapsTo - Static variable in class org.semanticmoby.vocabulary.MOBY
        =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-5.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + G-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-3.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + E-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-1.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + A-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-4.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + F-Index =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html 2004/11/18 23:33:08 1.2 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/index-files/index-7.html 2004/11/23 00:19:56 1.3 @@ -2,7 +2,7 @@ - + I-Index From gss at pub.open-bio.org Tue Nov 23 00:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Ju3A011543@pub.open-bio.org> gss Mon Nov 22 19:19:56 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser Added Files: package-use.html UnparsableGraphException.html package-tree.html package-summary.html NonCanonicalException.html Parser.html package-frame.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser package-use.html,NONE,1.1 UnparsableGraphException.html,NONE,1.1 package-tree.html,NONE,1.1 package-summary.html,NONE,1.1 NonCanonicalException.html,NONE,1.1 Parser.html,NONE,1.1 package-frame.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:56 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:56 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JuH0011474@pub.open-bio.org> gss Mon Nov 22 19:19:55 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/tools Added Files: package-summary.html package-frame.html ModelRetriever.html Util.html package-use.html package-tree.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/tools package-summary.html,NONE,1.1 package-frame.html,NONE,1.1 ModelRetriever.html,NONE,1.1 Util.html,NONE,1.1 package-use.html,NONE,1.1 package-tree.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jvkq011747@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use Added Files: MOBYProviderVisitor.html MOBYProviderTraverser.html MOBYProviderVisitorAdapter.html MOBYProviderXMLGenerator.html MOBYProviderTraversalException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/graph/tools/class-use MOBYProviderVisitor.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderTraversalException.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K21t012052@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use Added Files: ParserTest.html Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/test/class-use ParserTest.html,NONE,1.1 Test.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:57 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:57 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JvC6011646@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph Added Files: MOBYNumericConstraint.html MOBYIntegerConstraint.html MOBYNonPositiveIntegerConstraint.html MOBYDateConstraint.html MOBYNonNegativeIntegerConstraint.html MOBYGraphVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph MOBYNumericConstraint.html,NONE,1.1 MOBYIntegerConstraint.html,NONE,1.1 MOBYNonPositiveIntegerConstraint.html,NONE,1.1 MOBYDateConstraint.html,NONE,1.1 MOBYNonNegativeIntegerConstraint.html,NONE,1.1 MOBYGraphVisitor.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2ha012037@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/http/class-use Added Files: HTTPRequest.html HTTPResponse.html HTTPException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/http/class-use HTTPRequest.html,NONE,1.1 HTTPResponse.html,NONE,1.1 HTTPException.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:59 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:59 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jxsm011900@pub.open-bio.org> gss Mon Nov 22 19:19:59 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use Added Files: VocabularyDescription.html MOBY.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/vocabulary/class-use VocabularyDescription.html,NONE,1.1 MOBY.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2u8012134@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot Modified Files: index.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot index.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/04 22:27:42 1.4 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/index.html 2004/11/23 00:20:02 1.5 @@ -1,71 +1,120 @@ + Semantic MOBY +
      -

      -Semantic -MOBY -

      +

      Semantic MOBY

      +
      +
      + + +
      + + + + +
      + MOBY Autumn 2004 Meeting +
      + November 20-21 — Santa Fe, New Mexico +
      + Register Now! +
      +
      +

      - +
      +
      + +
      - - - - - - - - + + + + + + + + + + + + + + +
      ProviderSubjectObject
      ProviderSubjectObject
      +
      +
      + +
      Type any terms into the boxes above and +press Search
      +(for example type 'hello' (without quotes) into the Provider field,
      +or to see all providers, type just an asterisk (*) into the
      +Provider field and leave the other fields blank)

      -
      -Type any terms into the boxes above and press Search -
      -(for example type 'hello' (without quotes) into the Provider field, -
      -or to see all providers, type just an asterisk (*) into the -
      -Provider field and leave the other fields blank) -

      - +
      +
      + +

      +About Semantic MOBY   Help on Searching

      -About Semantic MOBY   -Help on Searching -


      - - - - - - - - - - - -
      - - CSHL - - NCGR - - NSF
      - CSHL - NCGR - NSF

      - + +

      +
      +
      + From gss at pub.open-bio.org Tue Nov 23 00:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0Jw9a011762@pub.open-bio.org> gss Mon Nov 22 19:19:57 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/graph/tools Added Files: MOBYProviderTraversalException.html package-frame.html package-use.html MOBYProviderTraverser.html package-summary.html package-tree.html MOBYProviderVisitorAdapter.html MOBYProviderXMLGenerator.html MOBYProviderVisitor.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/tools MOBYProviderTraversalException.html,NONE,1.1 package-frame.html,NONE,1.1 package-use.html,NONE,1.1 MOBYProviderTraverser.html,NONE,1.1 package-summary.html,NONE,1.1 package-tree.html,NONE,1.1 MOBYProviderVisitorAdapter.html,NONE,1.1 MOBYProviderXMLGenerator.html,NONE,1.1 MOBYProviderVisitor.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwvO011865@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/servlet Added Files: package-frame.html package-use.html ParamReader.html package-summary.html ParameterException.html package-tree.html AbstractMobyServlet.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/servlet package-frame.html,NONE,1.1 package-use.html,NONE,1.1 ParamReader.html,NONE,1.1 package-summary.html,NONE,1.1 ParameterException.html,NONE,1.1 package-tree.html,NONE,1.1 AbstractMobyServlet.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Zt012019@pub.open-bio.org> gss Mon Nov 22 19:20:01 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/parser/class-use Added Files: NonCanonicalException.html Parser.html UnparsableGraphException.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/parser/class-use NonCanonicalException.html,NONE,1.1 Parser.html,NONE,1.1 UnparsableGraphException.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:19:58 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:19:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230019.iAN0JwoF011798@pub.open-bio.org> gss Mon Nov 22 19:19:58 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/meeting Modified Files: index.html lodging.html registration-form.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting index.html,1.1,1.2 lodging.html,1.1,1.2 registration-form.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/index.html 2004/11/23 00:19:57 1.2 @@ -1,56 +1,57 @@ - -MOBY Autumn 2004 Meeting + + MOBY Autumn 2004 Meeting - + - - - - - - - + style="width: 100%; background-color: rgb(239, 201, 144); text-align: left;" + border="1" cellpadding="0" cellspacing="0"> + + + + + + +

      -
      -
      -
      - MOBY logo
      -
      -

      MOBY Autumn 2004 Meeting

      -
      -

      November - 20-21* (Sat-Sun)

      - -
      -

      Santa - Fe, New Mexico USA

      -
      * Mark Wilkinson will - give a talk on MOBY Services at NCGR on
      - Friday, November 19 at 4:00 - PM MST, so consider coming a day early.
      - All conference participants are welcome!
      -
      -
      -

      -
      -
      -
      -     NCGR logo    -
      -

      +
      +
      +
      + MOBY logo
      +
      +

      MOBY Autumn 2004 Meeting

      +

      November +20-21* (Sat-Sun)

      + +

      Santa +Fe, New Mexico USA

      +

      Register Now!

      +
      * Mark Wilkinson will +give a talk on MOBY Services at NCGR on
      + Friday, November 19 at +4:00 PM MST, so consider coming a day early.
      +All conference participants are welcome!
      +
      +
      +

      +
      +
      +
      +    NCGR logo   
      +

      Audience

      @@ -66,19 +67,190 @@ provides a good overview of the city and its attractions.

      Agenda

      -The agenda has not yet been set, but please post suggestions to either -of the MOBY mailing lists ( +The agenda is as follows; however, feel free to post suggestions for +additions to either of the MOBY mailing lists ( moby-l for general discussions, moby-dev -for developers) and check back here for updates. We will start no later -than 9:00 a.m. on Saturday, and finish no later than 3:00 p.m. on Sunday -in order to allow those participants wishing to leave on Sunday to reach -the airport for early evening flights. +for developers) and check back here for updates. +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        
      +
      Saturday, +November 20

      +
      8:00 +am   Van/car picks up participants at Hotel Santa Fe and Garrett's +Desert Inn

      +
      8:30 +am   
      +
      Bagels and coffee

      +
      9:00 +am   
      +
      Semantic MOBY (Damian Gessler)

      +
      10:00 +am   
      +
      Taverna (Martin Senger)

      +
      10:45 +am   
      +
      Break

      +
      11:00 +am   
      +
      MOBY Services (Mark Wilkinson)

      +
      12:00 +pm   
      +
      Lunch provided

      +
      1:00 +pm   
      +
      Virtual Plant Network (Bill Beavis, discussion leader)

      +
      2:00 +pm   
      +
      Conceptual ways to merge S-MOBY, MOBY-S, and MyGrid in a +real-world application (joined by Phil Lord via telecon; Manchester is +seven hours ahead of Santa Fe)

      +
      3:00 pm  
      +
      Break
      +

      +
      6:00 +pm   
      +
      Dinner

      +

      +

      +

      +
      Sunday, +November 21, 2004
      +

      +
      8:30 +am    Van/car picks up participants at Hotel Santa Fe and Garrett's +Desert Inn

      +
      9:00 +am   
      +
      Bagels and coffee

      +
      9:30 +am   
      +
      Technical challenges to merging S-MOBY, MOBY-S, and MyGrid

      +
      10:45 pm  
      +
      Break
      +

      +
      12:00 pm   
      +
      Lunch

      +
      1:00 pm   
      +
      Next steps
      +

      +
      3:00 pm   
      +
      End of meeting
      +

      Meals

      -A contentinental breakfast and lunch will be provided on Saturday and -Sunday as part of the registration fee; please contact Gary Schiltz +A contentinental breakfast (bagels, coffee, tea) and lunch (sandwiches) +will be provided on Saturday and Sunday as part of the registration +fee; +please contact Gary Schiltz <gss at ncgr.org> with any special food requirements you may have. We will self organize for dinners and social events at the end of the meeting days. @@ -87,8 +259,8 @@ The Hotel Santa Fe has been chosen as the de facto conference hotel to facilitate informal -discussions and socializing after the meeting. However, as a popular -tourist destination, Santa Fe has a wide range of +discussions and socializing after the meeting on Saturday evening. +However, as a popular tourist destination, Santa Fe has a wide range of acommodations from hostels to inexpensive hotels to luxury hotels. Since the conference date is well past the summer tourist season and before ski @@ -105,7 +277,8 @@ ABQ ), located slightly over one hour from Santa Fe. Several shuttle services -offer inexpensive transportation between the Sunport and major hotels in +offer inexpensive transportation between the Sunport and major hotels +in Santa Fe.

      Local Transportation

      @@ -118,7 +291,10 @@

      Registration

      Please fill out the following registration form -in advance of the conference date. +in advance of the conference date. Registration cost for the meeting is +$50 US, which covers continental breakfast and lunch on Saturday and +Sunday, and transportation between your hotel and NCGR. We will accept +cash or check made payable to NCGR.

      Questions

      Please contact Gary Schiltz =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/lodging.html 2004/11/23 00:19:57 1.2 @@ -1,12 +1,16 @@ + + Santa Fe Acommodations - -

      Accommodations

      +

      Accommodations

      +


      The Hotel Santa Fe has been chosen as the de facto conference hotel to facilitate informal @@ -16,68 +20,113 @@ date is well past the summer tourist season and before ski season, a quick glance at online travel sites confirms that prices are at their lowest of the year during the conference.

      +

      The following hotels, except the Residence Inn, are within walking distance of the Santa Fe Plaza (famous downtown area). Less conveniently -located hotels and motels are considerably less expensive.
      -

      - + +
      - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + - - - - + + + + + + + - - - - + + + + + +
        Hotel  Single - Rate *  PhoneWeb Site
        Hotel Santa - Fe   $99  - 800-727-5531 www.hotelsantafe.com
        Garrett's Desert Inn   $79  800-888-2145   Hotel  Single Rate + 1  PhoneWeb Site
        Hotel Santa Fe +

         $124

      +
        800-727-5531 www.hotelsantafe.com/home.html 2
        Garrett's Desert Inn +

         $94

      +
        800-888-2145 www.garrettsdesertinn.com
        Hotel Loretto   $159  800-727-5531   Hotel Loretto +

         $159

      +
        800-727-5531 www.hotelloretto.com
        Eldorado Hotel   $159  800-955-4455   Eldorado Hotel +

         $209

      +
        800-955-4455 www.eldoradohotel.com
        Residence Inn Santa Fe   $129  505-988-7300   Residence Inn Santa Fe +

         $109

      +
        505-988-7300 marriott.com/property/propertyPage.mi?
        marshaCode=SAFNM
      -
      -* These rates are approximate, and should be used for information only -as they are subject to change by the respective hotels. Prices are the -least expensive price per night, in US dollars, listed on the hotel's -web site for one person for the conference dates. -
      -
      -
      -
      +

      Notes:

      +
        +
      1. These rates are approximate, and should be used for information + only as they are subject to change by the respective hotels. Prices are + the least expensive price per night, in US dollars, listed on the + hotel's web site for one person for the conference dates.
        +
        +
      2. +
      3. From the Hotel Santa Fe web site, click on "RATES & + RESERVATIONS" link on the left side of the page. In the new + browser window that opens, select arrival and departure dates and click + the "Check Availability" button. Under "Rate Type - Hot Internet + Rates," the "Hotel Santa Fe-Traditional King" rate seems to be the + least expensive ($124/night the last I checked), although the rate has + changed several times since I started checking. + +
        +
      4. +
      + =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html 2004/11/04 22:30:48 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/meeting/registration-form.html 2004/11/23 00:19:57 1.2 @@ -1,32 +1,40 @@ + MOBY Meeting Registration Form - - - - @@ -43,46 +51,69 @@ * Indicates a Required field

      -
      Note: There will be a -small fee to cover meeting expenses, which we
      -will collect at the time of the meeting; details to follow shortly.
      -
      -
      +
      Note: There is a fee of $50 +US per person to cover meeting expenses, which we
      +will collect at the time of the meeting. This covers continental +breakfast and lunch
      +
      on Saturday and Sunday, +plus transportation between your hotel and NCGR.
      +
       
      +
      We will accept cash or +checks made payable to NCGR.
      +
      + + -
      MOBY logo
      -

      Registration + +

      +

      Registration Form

      -

      MOBY + +

      MOBY Autumn 2004 Meeting

      -

      November 20-21 - (Sat-Sun), 2004

      -

      Santa Fe, New Mexico USA

      + +

      November + 20-21 (Sat-Sun), 2004

      + +

      Santa Fe, New Mexico USA

            NCGR logo   
      - + + + - + + + - + + + - + + + - + + + - + +
      Name *
      Institution *
      Email address *
      Work phone
      Cell phone
      Hotel where you will be staying
      in Santa Fe (if known)

      - + +

      From gss at pub.open-bio.org Tue Nov 23 00:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2p0012108@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/semanticmoby/test/class-use Added Files: Test.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/semanticmoby/test/class-use Test.html,NONE,1.1 From gss at pub.open-bio.org Tue Nov 23 00:20:02 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Mon, 22 Nov 2004 19:20:02 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411230020.iAN0K2Yr012087@pub.open-bio.org> gss Mon Nov 22 19:20:02 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use In directory pub.open-bio.org:/tmp/cvs-serv11428/WebRoot/developer/java-api/org/smoby/tools/class-use Added Files: ModelRetriever.html Log Message: Misc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/tools/class-use ModelRetriever.html,NONE,1.1 From kawas at pub.open-bio.org Tue Nov 30 15:15:58 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Tue, 30 Nov 2004 10:15:58 -0500 Subject: [MOBY-guts] biomoby commit Message-ID: <200411301515.iAUFFwgf018653@pub.open-bio.org> kawas Tue Nov 30 10:15:57 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv18632 Added Files: MobyXMLConstants.pm Log Message: The all important file that I forgot to add!?! Includes constants, etc moby-live/Perl/MOBY MobyXMLConstants.pm,NONE,1.1 From kawas at pub.open-bio.org Thu Nov 18 17:38:44 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Thu, 18 Nov 2004 17:38:44 -0000 Subject: [MOBY-guts] biomoby commit Message-ID: <200411181741.iAIHfGVX013940@pub.open-bio.org> kawas Thu Nov 18 12:41:15 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY In directory pub.open-bio.org:/tmp/cvs-serv13854 Modified Files: Central.pm CommonSubs.pm Config.pm CrossReference.pm OntologyServer.pm authority.pm central_db_connection.pm collection_input.pm collection_output.pm dbConfig.pm mysql.pm secondary_input.pm service_instance.pm service_type.pm simple_input.pm simple_output.pm Log Message: Converted XML:DOM -> XML::LibXML and applicable module calls Eddie moby-live/Perl/MOBY Central.pm,1.141,1.142 CommonSubs.pm,1.53,1.54 Config.pm,1.5,1.6 CrossReference.pm,1.2,1.3 OntologyServer.pm,1.45,1.46 authority.pm,1.1,1.2 central_db_connection.pm,1.5,1.6 collection_input.pm,1.2,1.3 collection_output.pm,1.2,1.3 dbConfig.pm,1.3,1.4 mysql.pm,1.1,1.2 secondary_input.pm,1.1,1.2 service_instance.pm,1.8,1.9 service_type.pm,1.1,1.2 simple_input.pm,1.4,1.5 simple_output.pm,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Central.pm,v retrieving revision 1.141 retrieving revision 1.142 diff -u -r1.141 -r1.142 --- /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/09/16 22:21:01 1.141 +++ /home/repository/moby/moby-live/Perl/MOBY/Central.pm 2004/11/18 17:41:14 1.142 @@ -10,7 +10,7 @@ use strict; use Carp; use vars qw($AUTOLOAD $WSDL_TEMPLATE); -use XML::DOM; +use XML::LibXML; use MOBY::OntologyServer; use MOBY::service_type; use MOBY::authority; @@ -30,10 +30,14 @@ use RDF::Core::Model::Serializer; use RDF::Core::Storage::Memory; use RDF::Core::Constants qw(:xml :rdf :rdfs); - +use MOBY::MobyXMLConstants; my $debug = 0; -if ($debug){open (OUT, ">/tmp/CentralRegistryLogOut.txt") || die "cant open logfile\n";print OUT "created logfile\n";close OUT;} +if ( $debug ) { + open( OUT, ">/tmp/CentralRegistryLogOut.txt" ) || die "cant open logfile\n"; + print OUT "created logfile\n"; + close OUT; +} =head1 SYNOPSIS @@ -86,7 +90,6 @@ =cut - =head1 CONFIGURATION This depends on a config file to get its database connection information. At a minimum @@ -130,7 +133,6 @@ =cut - =head1 Registration XML Object This is sent back to you for all registration and @@ -155,22 +157,20 @@ =cut - sub Registration { - my ( $details) = @_; - my $id = $details->{id}; - my $success = $details->{success}; - my $message = $details->{message}; - my $RDF = ""; - $RDF = $details->{RDF}; - - -# return " -# $id -# $success -# -# -# "; + my ( $details ) = @_; + my $id = $details->{id}; + my $success = $details->{success}; + my $message = $details->{message}; + my $RDF = ""; + $RDF = $details->{RDF}; + + # return " + # $id + # $success + # + # + # "; return " $id $success @@ -178,9 +178,12 @@ $RDF "; } - =cut + + + + =head1 METHODS @@ -192,14 +195,12 @@ =cut - sub new { - my ($caller, %args) = @_; + my ( $caller, %args ) = @_; print STDERR "\nuse of MOBY::Central->new is deprecated\n"; return 0; } - =head2 registerObjectClass The registerObjectClass call is: @@ -253,137 +254,185 @@ =cut - sub registerObjectClass { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message); - my $OntologyServer = &_getOntologyServer(ontology => 'object'); - my $RelOntologyServer = &_getOntologyServer(ontology => 'relationship'); - - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $desc, $relationships, $email, $auth, $clobber) = &_registerObjectPayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nemail $email\nauth $auth\nclobber $clobber\n\n"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - if ($term =~ /FAILED/){return &_error("Malformed XML;","");} - return &_error("Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; - return &_error("Object name may not contain spaces or other characters invalid in a URN","") if $term =~ /\s\"\&\<\>\[\]\^\`\{\|\}\~/; - if ($term =~ m"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?"){ # matches a URI - return &_error("Object name may not be an URN or URI","") if $1; - } - - my $ISAs; - # validate that the final ontology will be valid by testing against existing relationships and such - while (my ($reltype, $obj) = each %{$relationships}){ - my ($success, $message, $URI) = $RelOntologyServer->relationshipExists(term => $reltype, ontology => 'object'); # success = 1 if it does - $success==0 && return &_error($message, $URI ); - foreach (@{$obj}){ - ++$ISAs if ($URI =~ /isa$/i); - my ($objectType, $articleName) = @{$_}; - my ($success, $message, $URI) = $OntologyServer->objectExists(term => $objectType); # success = 1 if it does - $success==0 && return &_error($message, $URI ); - } - } - return &_error("Object must have exactly one ISA parent in the MOBY Object ontology") unless $ISAs == 1; - - $clobber = defined($clobber)?$clobber:0; - $clobber = 0 unless ($clobber eq 0 || $clobber eq 1 || $clobber eq 2); # safety! - my ($exists, $exists_message, $URI) = $OntologyServer->objectExists(term => $term); # success = 1 if it does - (($exists==1 && !$clobber) && return &_error("Object $term already exists", $URI)); - - $clobber = 0 unless ($exists); # it makes no sense to clobber something that doesnt' exist - if ($exists){ - if ($clobber == 1){ - my ($success, $message) = $OntologyServer->deprecateObject(term => $term); - $success==0 && return &_error($message, $URI); - } elsif ($clobber == 2) { - my ($success, $message) = $OntologyServer->deleteObject(term => $term); - $success==0 && return &_error($message, $URI); - } - } - - ($success, $message, $URI) = $OntologyServer->createObject( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - + my ( $pkg, $payload ) = @_; + my ( $success, $message ); + my $OntologyServer = &_getOntologyServer( ontology => 'object' ); + my $RelOntologyServer = &_getOntologyServer( ontology => 'relationship' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $desc, $relationships, $email, $auth, $clobber ) = + &_registerObjectPayload( $payload ); + $debug + && &_LOG( +"\n\nterm $term\ndesc $desc\nemail $email\nauth $auth\nclobber $clobber\n\n" ); + + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + if ( $term =~ /FAILED/ ) { return &_error( "Malformed XML;", "" ); } + return &_error( +"Malformed XML; may be missing required parameters objectType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; + return &_error( +"Object name may not contain spaces or other characters invalid in a URN", + "" + ) + if $term =~ /\s\"\&\<\>\[\]\^\`\{\|\}\~/; + if ( $term =~ m"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?" ) + { # matches a URI + return &_error( "Object name may not be an URN or URI", "" ) if $1; + } + my $ISAs; + +# validate that the final ontology will be valid by testing against existing relationships and such + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + my ( $success, $message, $URI ) = + $RelOntologyServer->relationshipExists( term => $reltype, + ontology => 'object' ); # success = 1 if it does + $success == 0 && return &_error( $message, $URI ); + foreach ( @{$obj} ) { + ++$ISAs if ( $URI =~ /isa$/i ); + my ( $objectType, $articleName ) = @{$_}; + my ( $success, $message, $URI ) = + $OntologyServer->objectExists( term => $objectType ) + ; # success = 1 if it does + $success == 0 && return &_error( $message, $URI ); + } + } + return &_error( + "Object must have exactly one ISA parent in the MOBY Object ontology" ) + unless $ISAs == 1; + $clobber = defined( $clobber ) ? $clobber : 0; + $clobber = 0 + unless ( $clobber eq 0 || $clobber eq 1 || $clobber eq 2 ); # safety! + my ( $exists, $exists_message, $URI ) = + $OntologyServer->objectExists( term => $term ); # success = 1 if it does + ( ( $exists == 1 && !$clobber ) + && return &_error( "Object $term already exists", $URI ) ); + $clobber = 0 + unless ( $exists ) + ; # it makes no sense to clobber something that doesnt' exist + if ( $exists ) { + + if ( $clobber == 1 ) { + my ( $success, $message ) = + $OntologyServer->deprecateObject( term => $term ); + $success == 0 && return &_error( $message, $URI ); + } elsif ( $clobber == 2 ) { + my ( $success, $message ) = + $OntologyServer->deleteObject( term => $term ); + $success == 0 && return &_error( $message, $URI ); + } + } + ( $success, $message, $URI ) = $OntologyServer->createObject( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); my @failures; - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - foreach (@{$obj}){ - my ($objectType, $articleName) = @{$_}; - my ($success, $message) = $OntologyServer->addObjectRelationship( - subject_node => $term, - relationship => $reltype, - object_node => $objectType, - articleName => $articleName, - authority => $auth, - contact_email => $email); - $success==0 && push @failures, $objectType; - } - } - } - - if (scalar(@failures)){ - my ($success, $message, $deleteURI) = $OntologyServer->deleteObject(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error("object failed ISA and/or HASA connections, + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + foreach ( @{$obj} ) { + my ( $objectType, $articleName ) = @{$_}; + my ( $success, $message ) = + $OntologyServer->addObjectRelationship( + subject_node => $term, + relationship => $reltype, + object_node => $objectType, + articleName => $articleName, + authority => $auth, + contact_email => $email + ); + $success == 0 && push @failures, $objectType; + } + } + } + if ( scalar( @failures ) ) { + my ( $success, $message, $deleteURI ) = + $OntologyServer->deleteObject( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( + "object failed ISA and/or HASA connections, and subsequently failed deletion. This is a critical error, - and may indicate corruption of the MOBY Central registry.", $deleteURI); - return &_error("object failed to register due to failure during registration of ISA/HASA relationships".(join ",", (@failures))."\n", ""); + and may indicate corruption of the MOBY Central registry.", $deleteURI + ); + return &_error( +"object failed to register due to failure during registration of ISA/HASA relationships" + . ( join ",", ( @failures ) ) . "\n", + "" + ); } - return &_success("Object $term registered successfully.", $URI); + return &_success( "Object $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerObjectPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerObjectClass'); - - my $term = &_nodeTextContent($Object, "objectType"); - my $desc = &_nodeTextContent($Object, "Description"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my $clobber = &_nodeTextContent($Object, "Clobber"); + my ( $payload ) = @_; #EDDIE - assuming that payload is a string + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->documentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerObjectClass' ); + my $term = &_nodeTextContent( $Object, "objectType" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my $clobber = &_nodeTextContent( $Object, "Clobber" ); + #my @ISA = &_nodeArrayContent($Object, "ISA"); #my @HASA = &_nodeArrayExtraContent($Object, "HASA","articleName"); - my %att_value; my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my $article = $_->getAttributeNode('articleName'); # may or may not have a name - if ($article){$article = $article->getValue()} - - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, [$_->toString, $article]; + my %att_value; + my %relationships; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size; + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my $article = + $_->getAttributeNode( 'articleName' ) + ; # may or may not have a name + if ( $article ) { $article = $article->getValue() } + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, + [ $_->toString, $article ]; } } } - return ($term, $desc, \%relationships, $email,$authURI, $clobber); - + return ( $term, $desc, \%relationships, $email, $authURI, $clobber ); } - - =head2 deregisterObjectClass =over 3 @@ -413,51 +462,72 @@ =cut - sub deregisterObjectClass { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'object'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($class) = &_deregisterObjectPayload($payload); - $debug && &_LOG("deregister object type $class\n"); - return &_error("Must include class of object to deregister","") unless ($class); - - my ($success, $message, $existingURI) = $OntologyServer->objectExists(term => $class); - return &_error("Object class $class does not exist","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'object' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $class ) = &_deregisterObjectPayload( $payload ); + $debug && &_LOG( "deregister object type $class\n" ); + return &_error( "Must include class of object to deregister", "" ) + unless ( $class ); + my ( $success, $message, $existingURI ) = + $OntologyServer->objectExists( term => $class ); + return &_error( "Object class $class does not exist", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new()->dbh; - my ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join simple_input where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join simple_output where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join collection_input natural join simple_input where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance natural join collection_output natural join simple_output where object_type_uri = ?},undef,$existingURI); - return &_error("Object class $class is used by a service and may not be deregistered","") if ($id); - - my ($success2, $message2, $URI) = $OntologyServer->deleteObject(term => $class); - $success2==0 && return &_error($message2, $URI); - return &_success($message2, $URI); - + my ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join simple_input where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join simple_output where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join collection_input natural join simple_input where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance natural join collection_output natural join simple_output where object_type_uri = ?}, + undef, $existingURI + ); + return &_error( + "Object class $class is used by a service and may not be deregistered", + "" + ) + if ( $id ); + my ( $success2, $message2, $URI ) = + $OntologyServer->deleteObject( term => $class ); + $success2 == 0 && return &_error( $message2, $URI ); + return &_success( $message2, $URI ); } +#Eddie - converted sub _deregisterObjectPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterObjectClass'); - - return &_nodeTextContent($Object, "objectType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'deregisterObjectClass' ); + return &_nodeTextContent( $Object, "objectType" ); } - =head2 registerServiceType =over 3 @@ -499,127 +569,167 @@ =cut - sub registerServiceType { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message, $URI); - my $OntologyServer = &_getOntologyServer(ontology => 'service'); - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $desc, $relationships, $email, $auth) = &_registerServiceTypePayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nrel $relationships\nemail $email\nauth $auth"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - if ($term =~ /FAILED/){ return &_error("Malformed XML\n $term","");} - return &_error("Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; + my ( $pkg, $payload ) = @_; + my ( $success, $message, $URI ); + my $OntologyServer = &_getOntologyServer( ontology => 'service' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $desc, $relationships, $email, $auth ) = + &_registerServiceTypePayload( $payload ); + $debug + && &_LOG( +"\n\nterm $term\ndesc $desc\nrel $relationships\nemail $email\nauth $auth" ); + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + + if ( $term =~ /FAILED/ ) { + return &_error( "Malformed XML\n $term", "" ); + } + return &_error( +"Malformed XML\n may be missing required parameters serviceType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; # validate that the final ontology will be valid - - my ($exists, $exists_message, $existingURI) = $OntologyServer->serviceExists(term => $term); # success = 1 if it does - (($exists==1) && return &_error("Service type $term already exists", $existingURI)); - + my ( $exists, $exists_message, $existingURI ) = + $OntologyServer->serviceExists( term => $term ); # success = 1 if it does + ( ( $exists == 1 ) + && return &_error( "Service type $term already exists", $existingURI ) + ); # is the relationship valid? - my $OSrel = MOBY::OntologyServer->new(ontology => 'relationship'); - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - my ($success, $desc, $URI) = $OSrel->relationshipExists(term => $reltype, ontology => 'service'); - (!$success) && return &_error("Relationship type $reltype does not exist in the relationship ontology",""); + my $OSrel = MOBY::OntologyServer->new( ontology => 'relationship' ); + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + my ( $success, $desc, $URI ) = $OSrel->relationshipExists( + term => $reltype, + ontology => 'service' ); + ( !$success ) && return &_error( +"Relationship type $reltype does not exist in the relationship ontology", + "" + ); } } # are the predicate service types valid? - my $OSsrv = MOBY::OntologyServer->new(ontology => 'service'); - if (keys %{$relationships}){ - while (my ($srvtype, $svcs) = each %{$relationships}){ - foreach my $svc(@{$svcs}){ - my ($success, $desc,$URI) = $OSsrv->serviceExists(term => $svc); - (!$success) && return &_error("Service type $srvtype does not exist in the service ontology",""); + my $OSsrv = MOBY::OntologyServer->new( ontology => 'service' ); + if ( keys %{$relationships} ) { + while ( my ( $srvtype, $svcs ) = each %{$relationships} ) { + foreach my $svc ( @{$svcs} ) { + my ( $success, $desc, $URI ) = + $OSsrv->serviceExists( term => $svc ); + ( !$success ) && return &_error( +"Service type $srvtype does not exist in the service ontology", + "" + ); } } } # hunky dorey. Now register! - - ($success, $message, $URI) = $OntologyServer->createServiceType( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - + ( $success, $message, $URI ) = $OntologyServer->createServiceType( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); my @failures; - if (keys %{$relationships}){ - while (my ($reltype, $obj) = each %{$relationships}){ - foreach my $serviceType(@{$obj}){ - my ($success, $message) = $OntologyServer->addServiceRelationship( - subject_node => $term, - relationship => $reltype, - object_node => $serviceType, - authority => $auth, - contact_email => $email); - $success==0 && push @failures, $serviceType; - } - } - } - if (scalar(@failures)){ - my ($success, $message, $deleteURI) = $OntologyServer->deleteServiceType(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error("Service registration failed ISA connections, + if ( keys %{$relationships} ) { + while ( my ( $reltype, $obj ) = each %{$relationships} ) { + foreach my $serviceType ( @{$obj} ) { + my ( $success, $message ) = + $OntologyServer->addServiceRelationship( + subject_node => $term, + relationship => $reltype, + object_node => $serviceType, + authority => $auth, + contact_email => $email + ); + $success == 0 && push @failures, $serviceType; + } + } + } + if ( scalar( @failures ) ) { + my ( $success, $message, $deleteURI ) = + $OntologyServer->deleteServiceType( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( + "Service registration failed ISA connections, and subsequently failed deletion. This is a critical error, - and may indicate corruption of the MOBY Central registry", $deleteURI); - return &_error("Service failed to register due to failure during registration of relationships".(join ",", (@failures))."\n", ""); + and may indicate corruption of the MOBY Central registry", $deleteURI + ); + return &_error( +"Service failed to register due to failure during registration of relationships" + . ( join ",", ( @failures ) ) . "\n", + "" + ); } - - return &_success("Service type $term registered successfully.", $URI); - + return &_success( "Service type $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerServiceTypePayload { - my ($payload) = @_; - $debug && &_LOG("_registerServiceTypePayload payload=$payload\n"); - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); + my ( $payload ) = @_; + $debug && &_LOG( "_registerServiceTypePayload payload=$payload\n" ); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerServiceType'); - - my $type = &_nodeTextContent($Object, "serviceType"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my $auth = &_nodeTextContent($Object, "authURI"); - my $desc = &_nodeTextContent($Object, "Description"); - + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerServiceType' ); + my $type = &_nodeTextContent( $Object, "serviceType" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my $auth = &_nodeTextContent( $Object, "authURI" ); + my $desc = &_nodeTextContent( $Object, "Description" ); my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, $_->toString; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, $_->toString; } } } - - $debug && &_LOG("got $type, $desc, \%relationships, $email, $auth from registerServiceTypePayload\n"); - return ($type, $desc, \%relationships, $email, $auth); - + $debug + && &_LOG( +"got $type, $desc, \%relationships, $email, $auth from registerServiceTypePayload\n" + ); + return ( $type, $desc, \%relationships, $email, $auth ); } - - - =head2 deregisterServiceType =over 3 @@ -645,44 +755,46 @@ =cut - sub deregisterServiceType { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'service'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($term) = &_deregisterServiceTypePayload($payload); - $debug && &_LOG("deregister serviceType accession $term\n"); - return &_error("Must include an accession number to deregister a serviceType","") unless ($term); - - my ($success, $message, $existingURI) = $OntologyServer->serviceExists(term => $term); # hopefully this situation will never happen! - return &_error("Service Type $term does not exist in the ontology","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'service' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $term ) = &_deregisterServiceTypePayload( $payload ); + $debug && &_LOG( "deregister serviceType accession $term\n" ); + return &_error( + "Must include an accession number to deregister a serviceType", + "" ) + unless ( $term ); + my ( $success, $message, $existingURI ) = + $OntologyServer->serviceExists( term => $term ) + ; # hopefully this situation will never happen! + return &_error( "Service Type $term does not exist in the ontology", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new()->dbh; - my ($id) = $dbh->selectrow_array(q{select service_instance.service_instance_id from service_instance where service_type_uri = ?}, undef, $existingURI); - return &_error("A registered service depends on this service type","") if ($id); - - my ($success2, $message2, $deleteURI) = $OntologyServer->deleteServiceType(term => $term); # hopefully this situation will never happen! - $success==0 && return &_error($message2, $deleteURI); - return &_success("Service type $term deleted.", $deleteURI); + my ( $id ) = $dbh->selectrow_array( +q{select service_instance.service_instance_id from service_instance where service_type_uri = ?}, + undef, $existingURI + ); + return &_error( "A registered service depends on this service type", "" ) + if ( $id ); + my ( $success2, $message2, $deleteURI ) = + $OntologyServer->deleteServiceType( term => $term ) + ; # hopefully this situation will never happen! + $success == 0 && return &_error( $message2, $deleteURI ); + return &_success( "Service type $term deleted.", $deleteURI ); } - +#Eddie - converted sub _deregisterServiceTypePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterServiceType'); - - return &_nodeTextContent($Object, "serviceType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; #Eddie- unsure + return undef unless ( $obj eq 'deregisterServiceType' ); + return &_nodeTextContent( $Object, "serviceType" ); } - - - =head2 registerNamespace =over 3 @@ -715,57 +827,65 @@ =cut - - sub registerNamespace { + # this contacts the ontology server to register # the ontology and writes the resulting URI into # the MOBY Central database - my ($pkg, $payload) = @_; - my ($success, $message); - my $OntologyServer = &_getOntologyServer(ontology => 'namespace'); - $debug && &_LOG("\n\npayload\n**********************\n$payload\n***********************\n\n"); - my ($term, $auth, $desc, $email) = &_registerNamespacePayload($payload); - $debug && &_LOG("\n\nterm $term\ndesc $desc\nemail $email\nauth $auth"); - unless (defined $term && defined $desc && defined $auth && defined $email){ - return &_error("Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail",""); - } - return &_error("Malformed authURI - must not have an http:// prefix","") if $auth =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $auth =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $email =~ /\S\@\S+\.\S+/; - - my ($exists, $exists_message, $URI) = $OntologyServer->namespaceExists(term => $term); # success = 1 if it does - (($exists==1) && return &_error("Namespace $term already exists", $URI)); - - ($success, $message, $URI) = $OntologyServer->createNamespace( - node => $term, - description => $desc, - authority => $auth, - contact_email => $email); - $success==0 && return &_error($message, $URI); - - return &_success("Namespace type $term registered successfully.", $URI); - + my ( $pkg, $payload ) = @_; + my ( $success, $message ); + my $OntologyServer = &_getOntologyServer( ontology => 'namespace' ); + $debug + && &_LOG( +"\n\npayload\n**********************\n$payload\n***********************\n\n" ); + my ( $term, $auth, $desc, $email ) = &_registerNamespacePayload( $payload ); + $debug && &_LOG( "\n\nterm $term\ndesc $desc\nemail $email\nauth $auth" ); + unless ( defined $term && defined $desc && defined $auth && defined $email ) + { + return &_error( +"Malformed XML; may be missing required parameters namespaceType, Description, authURI or contactEmail", + "" + ); + } + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $auth =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $auth =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $email =~ /\S\@\S+\.\S+/; + my ( $exists, $exists_message, $URI ) = + $OntologyServer->namespaceExists( term => $term ) + ; # success = 1 if it does + ( ( $exists == 1 ) + && return &_error( "Namespace $term already exists", $URI ) ); + ( $success, $message, $URI ) = $OntologyServer->createNamespace( + node => $term, + description => $desc, + authority => $auth, + contact_email => $email + ); + $success == 0 && return &_error( $message, $URI ); + return &_success( "Namespace type $term registered successfully.", $URI ); } - +#Eddie - converted sub _registerNamespacePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerNamespace'); - - my $type = &_nodeTextContent($Object, "namespaceType"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $desc = &_nodeTextContent($Object, "Description"); - my $contact = &_nodeTextContent($Object, "contactEmail"); - - return ($type, $authURI, $desc, $contact); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerNamespace' ); + my $type = &_nodeTextContent( $Object, "namespaceType" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $contact = &_nodeTextContent( $Object, "contactEmail" ); + return ( $type, $authURI, $desc, $contact ); } - =head2 deregisterNamespace =over @@ -792,81 +912,101 @@ =cut - sub deregisterNamespace { - my ($pkg, $payload) = @_; - my $OntologyServer = &_getOntologyServer(ontology => 'namespace'); - - return &_error("Message Format Incorrect","") unless ($payload); - - my ($term) = &_deregisterNamespacePayload($payload); - $debug && &_LOG("deregister namespaceType accession $term\n"); - return &_error("Must include a Namespace type to deregister.","") unless ($term); - - my ($success, $message, $existingURI) = $OntologyServer->namespaceExists(term => $term); - return &_error("Namespace Type $term does not exist","") unless ($existingURI); - + my ( $pkg, $payload ) = @_; + my $OntologyServer = &_getOntologyServer( ontology => 'namespace' ); + return &_error( "Message Format Incorrect", "" ) unless ( $payload ); + my ( $term ) = &_deregisterNamespacePayload( $payload ); + $debug && &_LOG( "deregister namespaceType accession $term\n" ); + return &_error( "Must include a Namespace type to deregister.", "" ) + unless ( $term ); + my ( $success, $message, $existingURI ) = + $OntologyServer->namespaceExists( term => $term ); + return &_error( "Namespace Type $term does not exist", "" ) + unless ( $existingURI ); my $dbh = MOBY::central_db_connection->new->dbh; - - my $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_input where INSTR(namespace_type_uris,'$existingURI')"); + my $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_input where INSTR(namespace_type_uris,'$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_output where INSTR(namespace_type_uris,'$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join simple_output where INSTR(namespace_type_uris,'$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_input natural join simple_input where INSTR(namespace_type_uris, '$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_input natural join simple_input where INSTR(namespace_type_uris, '$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); } } - - $sth = $dbh->prepare("select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_output natural join simple_output where INSTR(namespace_type_uris, '$existingURI')"); + $sth = + $dbh->prepare( +"select service_instance.service_instance_id, namespace_type_uris from service_instance natural join collection_output natural join simple_output where INSTR(namespace_type_uris, '$existingURI')" + ); $sth->execute; - while (my ($id, $ns) = $sth->fetchrow_array()){ + while ( my ( $id, $ns ) = $sth->fetchrow_array() ) { my @nss = split ",", $ns; - foreach (@nss){ - $_=~s/\s//g; - return &_error("Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered","") if ($_ eq $existingURI); - } - } - - my ($success2, $message2, $URI) = $OntologyServer->deleteNamespace( - term => $term); - $success2==0 && return &_error($message2, $URI); - - return &_success("Namespace type $term deregistered successfully.", $URI); + foreach ( @nss ) { + $_ =~ s/\s//g; + return &_error( +"Namespace Type $term ($_) is used by a service (service ID number $id) and may not be deregistered", + "" + ) + if ( $_ eq $existingURI ); + } + } + my ( $success2, $message2, $URI ) = + $OntologyServer->deleteNamespace( term => $term ); + $success2 == 0 && return &_error( $message2, $URI ); + return &_success( "Namespace type $term deregistered successfully.", $URI ); } +#Eddie - converted sub _deregisterNamespacePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterNamespace'); - - return &_nodeTextContent($Object, "namespaceType"); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'deregisterNamespace' ); + return &_nodeTextContent( $Object, "namespaceType" ); } - =head2 registerService =over 3 @@ -1063,7 +1203,7 @@ =cut - + # inputXML (FOR CGI GET SERVICES): # # cgi @@ -1085,316 +1225,414 @@ # human readable description of your service]]> # # - -sub registerService { - my ($pkg, $payload) = @_; - my ($serviceName, $serviceType, $AuthURI, $contactEmail, $URL, $authoritativeService, $desc, $Category, $INPUTS, $OUTPUTS, $SECONDARY, $signatureURL) = &_registerServicePayload($payload); - $authoritativeService = defined($authoritativeService)?1:0; +sub registerService { + my ( $pkg, $payload ) = @_; + my ( + $serviceName, $serviceType, $AuthURI, + $contactEmail, $URL, $authoritativeService, + $desc, $Category, $INPUTS, + $OUTPUTS, $SECONDARY, $signatureURL + ) + = &_registerServicePayload( $payload ); + $authoritativeService = defined( $authoritativeService ) ? 1 : 0; my $error; - $error .="missing serviceName \n" unless defined $serviceName; - $error .="missing serviceType \n" unless defined $serviceType; -# $error .="missing signatureURL \n" unless defined $signatureURL; - $error .="missing authURI \n" unless defined $AuthURI; - $error .="missing contactEmail \n" unless defined $contactEmail; - return &_error("Malformed authURI - must not have an http:// prefix","") if $AuthURI =~ '[/:]'; - return &_error("Malformed authURI - must take the form NNN.NNN.NNN","") unless $AuthURI =~ /\./; - return &_error("Malformed email - must be a valid email address of the form name\@organization.foo","") unless $contactEmail =~ /\S\@\S+\.\S+/; - $error .="missing URL \n" unless defined $URL; - $error .="missing description \n" unless defined $desc; - $error .="missing Category \n" unless defined $Category; - - return &_error("malformed payload $error\n\n","") if ($error); - return &_error("Category may take the (case sensitive) values 'moby', 'cgi', 'soap'\n","") unless ( - ($Category eq "wsdl") -# || ($Category eq "cgi") - || ($Category eq "moby") - ); - $debug && &_LOG("Entering switch with $Category method\n"); + $error .= "missing serviceName \n" unless defined $serviceName; + $error .= "missing serviceType \n" unless defined $serviceType; - return &_error("Service categories other than 'moby' and 'wsdl' are not yet implemented","") unless (($Category eq "moby") || ($Category eq "wsdl")); - my @IN = @{$INPUTS}; - my @OUT = @{$OUTPUTS}; + # $error .="missing signatureURL \n" unless defined $signatureURL; + $error .= "missing authURI \n" unless defined $AuthURI; + $error .= "missing contactEmail \n" unless defined $contactEmail; + return &_error( "Malformed authURI - must not have an http:// prefix", "" ) + if $AuthURI =~ '[/:]'; + return &_error( "Malformed authURI - must take the form NNN.NNN.NNN", "" ) + unless $AuthURI =~ /\./; + return &_error( +"Malformed email - must be a valid email address of the form name\@organization.foo", + "" + ) + unless $contactEmail =~ /\S\@\S+\.\S+/; + $error .= "missing URL \n" unless defined $URL; + $error .= "missing description \n" unless defined $desc; + $error .= "missing Category \n" unless defined $Category; + return &_error( "malformed payload $error\n\n", "" ) if ( $error ); + return &_error( + "Category may take the (case sensitive) values 'moby', 'cgi', 'soap'\n", + "" + ) + unless ( + ( $Category eq "wsdl" ) + + # || ($Category eq "cgi") + || ( $Category eq "moby" ) + ); + $debug && &_LOG( "Entering switch with $Category method\n" ); + return &_error( +"Service categories other than 'moby' and 'wsdl' are not yet implemented", + "" + ) + unless ( ( $Category eq "moby" ) || ( $Category eq "wsdl" ) ); + my @IN = @{$INPUTS}; + my @OUT = @{$OUTPUTS}; my @SECS = @{$SECONDARY}; - - return &_error("must include at least one input and/or one output object type","") unless (scalar @IN || scalar @OUT); + return &_error( + "must include at least one input and/or one output object type", + "" ) + unless ( scalar @IN || scalar @OUT ); my %objects_to_be_validated; - foreach (@IN, @OUT){ - foreach my $objectName(&_extractObjectTypes($_)){ + foreach ( @IN, @OUT ) { + + foreach my $objectName ( &_extractObjectTypes( $_ ) ) { $objects_to_be_validated{$objectName} = 1; } } - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - - foreach (keys %objects_to_be_validated){ - my ($valid, $message, $URI) = $OS->objectExists(term => $_); - return &_error("$message","$URI") unless ($valid || (($_ =~ /urn:lsid/i) && !($_ =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-moby LSID - } - - $debug && &_LOG("\n\n\aall objects okay - either valid MOBY objects, or LSID's\n"); + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + foreach ( keys %objects_to_be_validated ) { + my ( $valid, $message, $URI ) = $OS->objectExists( term => $_ ); + return &_error( "$message", "$URI" ) + unless ( $valid + || ( ( $_ =~ /urn:lsid/i ) && !( $_ =~ /urn:lsid:biomoby.org/i ) ) + ); # either valid, or a non-moby LSID + } + $debug + && &_LOG( + "\n\n\aall objects okay - either valid MOBY objects, or LSID's\n" ); + $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my ( $valid, $message, $URI ) = $OS->serviceExists( term => $serviceType ); - $OS = MOBY::OntologyServer->new(ontology => 'service'); - my ($valid, $message, $URI) = $OS->serviceExists(term => $serviceType); #print STDERR "\n\nChecking $URI\n\n"; - return &_error("$message","$URI") unless ($valid || (($serviceType =~ /urn:lsid/i) && !($serviceType =~ /urn:lsid:biomoby.org/i))); # either valid, or a non-MOBY LSID - #print STDERR "\n\nChecking $URI OK!!\n\n"; - # right, registration should be successful now! - + return &_error( "$message", "$URI" ) + unless ( + $valid + || ( ( $serviceType =~ /urn:lsid/i ) + && !( $serviceType =~ /urn:lsid:biomoby.org/i ) ) + ); # either valid, or a non-MOBY LSID + #print STDERR "\n\nChecking $URI OK!!\n\n"; + # right, registration should be successful now! my $SVC = MOBY::service_instance->new( - category => $Category, - servicename => $serviceName, - service_type => $serviceType, - authority_uri => $AuthURI, - url => $URL, - contact_email => $contactEmail, - authoritative => $authoritativeService, - description => $desc, - signatureURL => $signatureURL, - ); - - return &_error("Service registration failed for unknown reasons","") if (!defined $SVC); - return &_error("Service with this authority/servicename already exists","") if ($SVC == -1); - - $debug && &_LOG("new service instance created\n"); - - foreach my $IN(@IN){ - my ($success,$msg) = &_registerArticles($SVC, "input", $IN, undef); - return &_error("Registration Failed During INPUT Article Registration: $msg","") unless ($success==1); - } - foreach my $OUT(@OUT){ - my ($success,$msg) = &_registerArticles($SVC, "output", $OUT, undef); - return &_error("Registration Failed During OUTPUT Article Registration: $msg","") unless ($success==1); - } - foreach my $SEC(@SECS){ - my ($success,$msg) = &_registerArticles($SVC, "secondary", $SEC, undef); - return &_error("Registration Failed During SECONDARY Article Registration: $msg","") unless ($success==1); - } - - # we're going to do a findService here to find the service that we just created - # and use the resulting XML to create a MOBY::Client::ServiceInstance object - # that we can then use to retrieve the RDF for that service signature. - # this is roundabout, I agree, but it is the most re-usable way to go at - # the moment. - - my ($si, $reg) = &findService(''," + category => $Category, + servicename => $serviceName, + service_type => $serviceType, + authority_uri => $AuthURI, + url => $URL, + contact_email => $contactEmail, + authoritative => $authoritativeService, + description => $desc, + signatureURL => $signatureURL, + ); + return &_error( "Service registration failed for unknown reasons", "" ) + if ( !defined $SVC ); + return &_error( "Service with this authority/servicename already exists", + "" ) + if ( $SVC == -1 ); + $debug && &_LOG( "new service instance created\n" ); + + foreach my $IN ( @IN ) { + my ( $success, $msg ) = &_registerArticles( $SVC, "input", $IN, undef ); + return &_error( + "Registration Failed During INPUT Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + foreach my $OUT ( @OUT ) { + my ( $success, $msg ) = + &_registerArticles( $SVC, "output", $OUT, undef ); + return &_error( + "Registration Failed During OUTPUT Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + foreach my $SEC ( @SECS ) { + my ( $success, $msg ) = + &_registerArticles( $SVC, "secondary", $SEC, undef ); + return &_error( + "Registration Failed During SECONDARY Article Registration: $msg", + "" ) + unless ( $success == 1 ); + } + + # we're going to do a findService here to find the service that we just created + # and use the resulting XML to create a MOBY::Client::ServiceInstance object + # that we can then use to retrieve the RDF for that service signature. + # this is roundabout, I agree, but it is the most re-usable way to go at + # the moment. + my ( $si, $reg ) = &findService( + '', " $AuthURI; $serviceName; - "); - unless ($si){ - $SVC->DELETE_THYSELF; - return &_error("Registration Failed - newly registered service could not be discovered",""); - } - use MOBY::Client::Central; - my $services = MOBY::Client::Central::_parseServices('', '', $si); - my $service_instance = shift @{$services}; - my $storage = new RDF::Core::Storage::Memory; - my $model = new RDF::Core::Model (Storage => $storage); - my $RDF_MODEL = MOBY::RDF::ServiceInstanceRDF->new(model => $model, service_instance => $service_instance); - my $RDF_XML = $RDF_MODEL->serialize; - return &_success("Registration successful", $SVC->service_instance_id, $RDF_XML); + " + ); + unless ( $si ) { + $SVC->DELETE_THYSELF; + return &_error( +"Registration Failed - newly registered service could not be discovered", + "" + ); + } + use MOBY::Client::Central; + my $services = MOBY::Client::Central::_parseServices( '', '', $si ); + my $service_instance = shift @{$services}; + my $storage = new RDF::Core::Storage::Memory; + my $model = new RDF::Core::Model( Storage => $storage ); + my $RDF_MODEL = MOBY::RDF::ServiceInstanceRDF->new( + model => $model, + service_instance => $service_instance ); + my $RDF_XML = $RDF_MODEL->serialize; + return &_success( "Registration successful", + $SVC->service_instance_id, $RDF_XML ); } +#Eddie - Converted sub _registerArticles { - my ($SVC, $inout, $node,$collid) = @_; # node is a node of the XML dom representing an article to be registered - my $dbh = $SVC->dbh; - return (-1,'Bad node') unless $node->getNodeType == ELEMENT_NODE; - - # this is a Simple, Collection, or Parameter object - my $simp_coll = $node->getTagName; - $debug && &_LOG("TAGNAME in $inout _registerArticle is $simp_coll"); - - my $article = $node->getAttributeNode("articleName"); # may or may not have a name - if ($article){$article = $article->getValue()} - $debug && &_LOG("ARTICLENAME in _registerArticle is $article"); - - my ($object_type, @namespaces); - - if ($simp_coll eq "Collection"){ - $debug && &_LOG("Collection!\n"); - my $collection_id; - if ($inout eq 'input'){ - $collection_id = $SVC->add_collection_input(article_name => $article); - } elsif ($inout eq 'output') { - $collection_id = $SVC->add_collection_output(article_name => $article); - } else { - $SVC->DELETE_THYSELF; return (-1,"found article that was neither input nor output"); - } - - # the following SQl belongs in the service_instance object, but screw it, I'm running out of time! - #$dbh->do("insert into collection_$inout (service_instance_id, article_name) values (?,?)", undef, ($SVC->service_instance_id, $article)); - #my $collection_id=$dbh->{mysql_insertid}; - - my $Simples = $node->getElementsByTagName('Simple'); - my $length = $Simples->getLength; - unless ($length > 0){return (-1, "Your collection must be a collection of one or more Simple types");} - for (my $x=0; $x<$length; ++$x){ - my ($success, $message) = &_registerArticles($SVC, $inout, $Simples->item($x),$collection_id); - unless ($success == 1){return (-1, $message);} + my ( $SVC, $inout, $node, $collid ) = @_ + ; # node is a node of the XML dom representing an article to be registered + my $dbh = $SVC->dbh; + return ( -1, 'Bad node' ) unless $node->nodeType == ELEMENT_NODE; + + # this is a Simple, Collection, or Parameter object + my $simp_coll = $node->nodeName; + $debug && &_LOG( "TAGNAME in $inout _registerArticle is $simp_coll" ); + my $article = + $node->getAttributeNode( "articleName" ); # may or may not have a name + if ( $article ) { $article = $article->getValue() } + $debug && &_LOG( "ARTICLENAME in _registerArticle is $article" ); + my ( $object_type, @namespaces ); + if ( $simp_coll eq "Collection" ) { + $debug && &_LOG( "Collection!\n" ); + my $collection_id; + if ( $inout eq 'input' ) { + $collection_id = + $SVC->add_collection_input( article_name => $article ); + } elsif ( $inout eq 'output' ) { + $collection_id = + $SVC->add_collection_output( article_name => $article ); + } else { + $SVC->DELETE_THYSELF; + return ( -1, "found article that was neither input nor output" ); + } + +# the following SQl belongs in the service_instance object, but screw it, I'm running out of time! +#$dbh->do("insert into collection_$inout (service_instance_id, article_name) values (?,?)", undef, ($SVC->service_instance_id, $article)); +#my $collection_id=$dbh->{mysql_insertid}; + my $Simples = $node->getElementsByTagName( 'Simple' ); + my $length = $Simples->size(); + unless ( $length > 0 ) { + return ( + -1, +"Your collection must be a collection of one or more Simple types" + ); + } + for ( my $x = 1 ; $x <= $length ; ++$x ) { + my ( $success, $message ) = + &_registerArticles( $SVC, $inout, $Simples->get_node( $x ), + $collection_id ); + unless ( $success == 1 ) { return ( -1, $message ); } } - } elsif ($simp_coll eq "Simple") { - my $article = $node->getAttributeNode("articleName"); + } elsif ( $simp_coll eq "Simple" ) { + my $article = $node->getAttributeNode( "articleName" ); $article = $article->getValue() if $article; # get object type and its URI from the ontoogy server - my $types = $node->getElementsByTagName('objectType'); - my $OE = MOBY::OntologyServer->new(ontology => "object"); - foreach ($types->item(0)->getChildNodes) { # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($object_type = $_->toString); - } - my ($success, $message, $typeURI) = $OE->objectExists(term => $object_type); - if ((!($success) && ($object_type =~ /urn:lsid:biomoby.org/i)) || (!($success) && !($object_type =~ /urn:lsid/i))) { # if the object doesn't exist, and it isn't an LSID - $SVC->DELETE_THYSELF; return (-1,"object: $object_type does not exist, and is not an LSID"); - } # kill it all unless this was successful! - + my $types = $node->getElementsByTagName( 'objectType' ); + my $OE = MOBY::OntologyServer->new( ontology => "object" ); + foreach ( $types->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $object_type = $_->toString ); + } + my ( $success, $message, $typeURI ) = + $OE->objectExists( term => $object_type ); + if ( ( !( $success ) && ( $object_type =~ /urn:lsid:biomoby.org/i ) ) + || ( !( $success ) && !( $object_type =~ /urn:lsid/i ) ) ) + { # if the object doesn't exist, and it isn't an LSID + $SVC->DELETE_THYSELF; + return ( -1, + "object: $object_type does not exist, and is not an LSID" + ); + } # kill it all unless this was successful! my $namespace_string; - my $namespaces = $node->getElementsByTagName('Namespace'); - my $num_ns = $namespaces->getLength; - $OE = MOBY::OntologyServer->new(ontology => "namespace"); - for (my $n = 0; $n<$num_ns;++$n) { - foreach my $name ($namespaces->item($n)->getChildNodes) { - if ($name->getNodeType == TEXT_NODE) { + my $namespaces = $node->getElementsByTagName( 'Namespace' ); + my $num_ns = $namespaces->size(); + $OE = MOBY::OntologyServer->new( ontology => "namespace" ); + for ( my $n = 1 ; $n <= $num_ns ; ++$n ) { + foreach my $name ( $namespaces->get_node( $n )->childNodes ) { + if ( $name->nodeType == TEXT_NODE ) { my $term = $name->toString; - my ($success, $message, $URI) = $OE->namespaceExists(term => $term); - if ((!($success) && ($term =~ /urn:lsid:biomoby.org/i)) || (!($success) && !($term =~ /urn:lsid/i))) { # if the object doesn't exist, and it isn't an LSID + my ( $success, $message, $URI ) = + $OE->namespaceExists( term => $term ); + if ( + ( + !( $success ) && ( $term =~ /urn:lsid:biomoby.org/i ) + ) + || ( !( $success ) && !( $term =~ /urn:lsid/i ) ) + ) + { # if the object doesn't exist, and it isn't an LSID $SVC->DELETE_THYSELF; - return (-1,"namespace: $term doesn't exist and is not an LSID"); + return ( + -1, + "namespace: $term doesn't exist and is not an LSID" + ); } - $namespace_string .=$URI.","; + $namespace_string .= $URI . ","; } } } - chop($namespace_string); # remove trailing comma + chop( $namespace_string ); # remove trailing comma my $dbh = $SVC->dbh; my $service_instance_id; - unless ($collid) { # this SIMPLE is either alone, or is part of a COLLECTION ($collid > 0) - # therefore we want either its service instance ID, or its Collection ID. + unless ( $collid ) + { # this SIMPLE is either alone, or is part of a COLLECTION ($collid > 0) + # therefore we want either its service instance ID, or its Collection ID. $service_instance_id = $SVC->service_instance_id; - } # one or the other, but not both - - if ($inout eq 'input'){ - my $sinput = $SVC->add_simple_input( - object_type_uri => $typeURI, - namespace_type_uris => $namespace_string, - article_name => $article, - collection_input_id => $collid, - ); - unless ($sinput){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of input object $typeURI. Unknown reasons."); - } - - } elsif ($inout eq 'output'){ - my $soutput = $SVC->add_simple_output( - object_type_uri => $typeURI, - namespace_type_uris => $namespace_string, - article_name => $article, - collection_output_id => $collid, - ); - unless ($soutput){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of output object $typeURI. Unknown reasons."); - } - } - - } elsif ($simp_coll eq "Parameter"){ - my $parameter = $node; - my $article = $parameter->getAttributeNode("articleName"); - $article = $article->getValue() if $article; - my ($datatype, $def, $max, $min, @enums); - my $types = $parameter->getElementsByTagName('datatype'); - if ($types->item(0)){ - foreach ($types->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($datatype = $_->toString); - } - } - my $defs = $parameter->getElementsByTagName('default'); - if ($defs->item(0)){ - foreach ($defs->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($def = $_->toString); - } - } - my $maxs = $parameter->getElementsByTagName('max'); - if ($maxs->item(0)){ - foreach ($maxs->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($max = $_->toString); - } - } - my $mins = $parameter->getElementsByTagName('min'); - if ($mins->item(0)){ - foreach ($mins->item(0)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && ($min = $_->toString); - } - } - my $enums = $parameter->getElementsByTagName('enum'); - my $numenums = $enums->getLength; - for (my $n=0;$n<$numenums;++$n){ - foreach ($enums->item($n)->getChildNodes){ # should only ever be one! - ($_->getNodeType == TEXT_NODE) && (push @enums, $_->toString); - } - } - my $enum_string = join "",(map {$_.","} @enums); - chop $enum_string; # get rid of trailing comma - my $sec = $SVC->add_secondary_input( - default_value => $def, - maximum_value => $max, - minimum_value => $min, - enum_value => $enum_string, - datatype => $datatype, - article_name => $article, - ); - unless ($sec){ - $SVC->DELETE_THYSELF; return (-1,"registration failed during registration of parameter $article. Must be of type Integer, String, DateTime, or Float."); - } + } # one or the other, but not both + if ( $inout eq 'input' ) { + my $sinput = $SVC->add_simple_input( + object_type_uri => $typeURI, + namespace_type_uris => $namespace_string, + article_name => $article, + collection_input_id => $collid, + ); + unless ( $sinput ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of input object $typeURI. Unknown reasons." + ); + } + } elsif ( $inout eq 'output' ) { + my $soutput = $SVC->add_simple_output( + object_type_uri => $typeURI, + namespace_type_uris => $namespace_string, + article_name => $article, + collection_output_id => $collid, + ); + unless ( $soutput ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of output object $typeURI. Unknown reasons." + ); + } + } + } elsif ( $simp_coll eq "Parameter" ) { + my $parameter = $node; + my $article = $parameter->getAttributeNode( "articleName" ); + $article = $article->getValue() if $article; + my ( $datatype, $def, $max, $min, @enums ); + my $types = $parameter->getElementsByTagName( 'datatype' ); + if ( $types->get_node( 1 ) ) { + foreach ( $types->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) + && ( $datatype = $_->toString ); + } + } + my $defs = $parameter->getElementsByTagName( 'default' ); + if ( $defs->get_node( 1 ) ) { + foreach ( $defs->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $def = $_->toString ); + } + } + my $maxs = $parameter->getElementsByTagName( 'max' ); + if ( $maxs->get_node( 1 ) ) { + foreach ( $maxs->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $max = $_->toString ); + } + } + my $mins = $parameter->getElementsByTagName( 'min' ); + if ( $mins->get_node( 1 ) ) { + foreach ( $mins->get_node( 1 )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) && ( $min = $_->toString ); + } + } + my $enums = $parameter->getElementsByTagName( 'enum' ); + my $numenums = $enums->size(); + for ( my $n = 1 ; $n <= $numenums ; ++$n ) { + foreach ( $enums->get_node( $n )->childNodes ) + { # should only ever be one! + ( $_->nodeType == TEXT_NODE ) + && ( push @enums, $_->toString ); + } + } + my $enum_string = join "", ( map { $_ . "," } @enums ); + chop $enum_string; # get rid of trailing comma + my $sec = $SVC->add_secondary_input( + default_value => $def, + maximum_value => $max, + minimum_value => $min, + enum_value => $enum_string, + datatype => $datatype, + article_name => $article, + ); + unless ( $sec ) { + $SVC->DELETE_THYSELF; + return ( + -1, +"registration failed during registration of parameter $article. Must be of type Integer, String, DateTime, or Float." + ); + } } return 1; } - +#Eddie - converted sub _registerServicePayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'registerService'); - - my $serviceName = &_nodeTextContent($Object, "serviceName"); - my $Category = &_nodeTextContent($Object, "Category"); - my $serviceType = &_nodeTextContent($Object, "serviceType"); - my $AuthURI = &_nodeTextContent($Object, "authURI"); - my $contactEmail = &_nodeTextContent($Object, "contactEmail"); - my $authoritativeService = &_nodeTextContent($Object, "authoritativeService"); - my $URL = &_nodeTextContent($Object, "URL"); - my $signatureURL = &_nodeTextContent($Object, "signatureURL"); - my $desc = &_nodeTextContent($Object, "Description"); - my $INPUTS = &_nodeRawContent($Object, "Input"); # returns array ref - my $OUTPUTS = &_nodeRawContent($Object, "Output"); # returns array ref - my $SECONDARIES = &_nodeRawContent($Object, "secondaryArticles"); # returns array ref - - return ($serviceName, $serviceType, $AuthURI, $contactEmail, $URL, $authoritativeService, $desc, $Category, $INPUTS, $OUTPUTS, $SECONDARIES, $signatureURL); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'registerService' ); + my $serviceName = &_nodeTextContent( $Object, "serviceName" ); + my $Category = &_nodeTextContent( $Object, "Category" ); + my $serviceType = &_nodeTextContent( $Object, "serviceType" ); + my $AuthURI = &_nodeTextContent( $Object, "authURI" ); + my $contactEmail = &_nodeTextContent( $Object, "contactEmail" ); + my $authoritativeService = + &_nodeTextContent( $Object, "authoritativeService" ); + my $URL = &_nodeTextContent( $Object, "URL" ); + my $signatureURL = &_nodeTextContent( $Object, "signatureURL" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $INPUTS = &_nodeRawContent( $Object, "Input" ); # returns array ref + my $OUTPUTS = &_nodeRawContent( $Object, "Output" ); # returns array ref + my $SECONDARIES = + &_nodeRawContent( $Object, "secondaryArticles" ); # returns array ref + return ( + $serviceName, $serviceType, $AuthURI, + $contactEmail, $URL, $authoritativeService, + $desc, $Category, $INPUTS, + $OUTPUTS, $SECONDARIES, $signatureURL + ); } +#Eddie - converted sub _extractObjectTypes { - my ($DOM) = @_; # DOM is either a or a article - $debug && &_LOG("\n\n\nExtracting object types from \n$DOM \n\n"); - unless (ref($DOM) =~ /^XML/){ - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($DOM); + my ( $DOM ) = @_; # DOM is either a or a article + $debug && &_LOG( "\n\n\nExtracting object types from \n$DOM \n\n" ); + unless ( ref( $DOM ) =~ /^XML/ ) { + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $DOM ); $DOM = $doc->getDocumentElement(); } - my $x = $DOM->getElementsByTagName("objectType"); + my $x = $DOM->getElementsByTagName( "objectType" ); my @objectnames; - my $l = $x->getLength; # might be a Collection object with multiple simples... - for (my $n=0; $n < $l; ++$n){ - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; + my $l = $x->size(); # might be a Collection object with multiple simples... + for ( my $n = 1 ; $n <= $l ; ++$n ) { + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + $debug + && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ) + ; #hopefully uses MobyXMLConstants.pm + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; push @objectnames, $name; } } - return (@objectnames); + return ( @objectnames ); } - =head2 registerServiceWSDL Title : NOT YET IMPLEMENTED @@ -1403,13 +1641,11 @@ =cut - sub registerServiceWSDL { - my ( $pkg, $serviceType, $wsdl) = @_; - return &_error("not yet implemented", ""); + my ( $pkg, $serviceType, $wsdl ) = @_; + return &_error( "not yet implemented", "" ); } - =head2 deregisterService Title : deregisterService @@ -1427,40 +1663,51 @@ =cut - - sub deregisterService { - my ($pkg, $payload) = @_; - $debug && &_LOG("\nstarting deregistration\n"); - my ($authURI, $serviceName) = &_deregisterServicePayload($payload); - return &_error("must provide an authority and a service name\n", "") unless ($authURI && $serviceName); - - - return &_error("The service specified by authority=$authURI servicename=$serviceName does not exist in the registry", "") unless (MOBY::service_instance->new(servicename => $serviceName, authority_uri => $authURI, test => 1)); - my $SERVICE = MOBY::service_instance->new(servicename => $serviceName, authority_uri => $authURI); - if ($SERVICE->signatureURL){ - return &_error("it is illegal to deregister a service that has a signatureURL. Such services must be deregistered by deleting the RDF at the location identified by the signatureURL",""); - } - - my $result = $SERVICE->DELETE_THYSELF; - if ($result){ - return &_success("Service Deregistered Successfully",""); + my ( $pkg, $payload ) = @_; + $debug && &_LOG( "\nstarting deregistration\n" ); + my ( $authURI, $serviceName ) = &_deregisterServicePayload( $payload ); + return &_error( "must provide an authority and a service name\n", "" ) + unless ( $authURI && $serviceName ); + return &_error( +"The service specified by authority=$authURI servicename=$serviceName does not exist in the registry", + "" + ) + unless ( + MOBY::service_instance->new( + servicename => $serviceName, + authority_uri => $authURI, + test => 1 + ) + ); + my $SERVICE = MOBY::service_instance->new( servicename => $serviceName, + authority_uri => $authURI ); + if ( $SERVICE->signatureURL ) { + return &_error( +"it is illegal to deregister a service that has a signatureURL. Such services must be deregistered by deleting the RDF at the location identified by the signatureURL", + "" + ); + } + my $result = $SERVICE->DELETE_THYSELF; + if ( $result ) { + return &_success( "Service Deregistered Successfully", "" ); } else { - return &_error("Service deletion failed for unknown reasons",""); + return &_error( "Service deletion failed for unknown reasons", "" ); } } +#Eddie - converted sub _deregisterServicePayload { - my ($payload) = @_; - $debug && &_LOG("deregisterService payload: ",($payload),"\n"); - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); + my ( $payload ) = @_; + $debug && &_LOG( "deregisterService payload: ", ( $payload ), "\n" ); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'deregisterService'); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $name = &_nodeTextContent($Object, "serviceName"); - return ($authURI, $name); + my $obj = $Object->nodeName; #Eddie - unsure + return undef unless ( $obj eq 'deregisterService' ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $name = &_nodeTextContent( $Object, "serviceName" ); + return ( $authURI, $name ); } =head2 findService @@ -1567,11 +1814,11 @@ =cut sub findService { - my ($pkg, $payload) = @_; - $debug && &_LOG("\nLOOKING FOR SERVICES\n"); - my %findme = &_findServicePayload($payload); - - $debug && &_LOG ("'serviceType' => $findme{serviceType}, + my ( $pkg, $payload ) = @_; + $debug && &_LOG( "\nLOOKING FOR SERVICES\n" ); + my %findme = &_findServicePayload( $payload ); + $debug && &_LOG( + "'serviceType' => $findme{serviceType}, 'authURI' => $findme{AuthURI}, 'servicename' => $findme{servicename}, 'expandObjects' => $findme{expandObjects}, @@ -1579,281 +1826,393 @@ 'authoritative' => $findme{authoritative}, 'category' => $findme{Category}, 'keywords' => $findme{keywords}, - "); - + " + ); my %valid_service_ids; - my $criterion_count=0; - # we want to avoid joins, since they slow things down, so... - # the logic is that we keep a hash of valid id's - # and the number of times they are discovered - # we also count the number of criterion - # we only want the service_id's that appear as many times as the criterion we have - # since they will have matched every criterion. + my $criterion_count = 0; + +# we want to avoid joins, since they slow things down, so... +# the logic is that we keep a hash of valid id's +# and the number of times they are discovered +# we also count the number of criterion +# we only want the service_id's that appear as many times as the criterion we have +# since they will have matched every criterion. my $dbh = MOBY::central_db_connection->new()->dbh; - if ($findme{authoritative}){ + if ( $findme{authoritative} ) { ++$criterion_count; - $debug && _LOG("authoritative added; criterion count is now $criterion_count\n"); - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where authoritative=?}, undef, $findme{authoritative}); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "authoritative added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where authoritative=?}, + undef, $findme{authoritative} + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{serviceType}){ # must have something more than empty content - my $OS = MOBY::OntologyServer->new(ontology => 'service'); + if ( $findme{serviceType} ) { # must have something more than empty content + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); $findme{serviceType} =~ s/^moby\://; - my ($exists, $message, $URI) = $OS->serviceExists(term =>$findme{serviceType}); - unless ($exists){ - return &_serviceListResponse($dbh,undef); + my ( $exists, $message, $URI ) = + $OS->serviceExists( term => $findme{serviceType} ); + unless ( $exists ) { + return &_serviceListResponse( $dbh, undef ); } ++$criterion_count; - $debug && _LOG("serviceType added; criterion count is now $criterion_count\n"); - + $debug + && _LOG( + "serviceType added; criterion count is now $criterion_count\n" ); my $children_string = "'$URI',"; - if ($findme{'expandServices'}){ - $debug && _LOG("Expanding Services\n"); - my $OS = MOBY::OntologyServer->new(ontology => 'service'); - my %relationships = %{$OS->traverseDAG($URI, "leaves")}; - my (@children) = @{$relationships{'urn:lsid:biomoby.org:servicerelation:isa'}}; - $children_string .= (join ',', map {"\'$_\'"} @children); + if ( $findme{'expandServices'} ) { + $debug && _LOG( "Expanding Services\n" ); + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my %relationships = %{ $OS->traverseDAG( $URI, "leaves" ) }; + my ( @children ) = + @{ $relationships{'urn:lsid:biomoby.org:servicerelation:isa'} }; + $children_string .= ( join ',', map { "\'$_\'" } @children ); } $children_string =~ s/\,$//; - my $ids = $dbh->selectall_arrayref("select service_instance_id from service_instance where service_type_uri in ($children_string)"); - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + my $ids = + $dbh->selectall_arrayref( +"select service_instance_id from service_instance where service_type_uri in ($children_string)" + ); + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{authURI}){ + if ( $findme{authURI} ) { ++$criterion_count; - $debug && _LOG("authURI added; criterion count is now $criterion_count\n"); - - my ($id) = $dbh->selectrow_array(q{select authority_id from authority where authority_uri = ? or authority_common_name = ?},undef,($findme{authURI}, $findme{authURI})); - unless ($id){ - return &_serviceListResponse($dbh,undef); - } - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where authority_id=?}, undef, $id); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( "authURI added; criterion count is now $criterion_count\n" ); + my ( $id ) = $dbh->selectrow_array( +q{select authority_id from authority where authority_uri = ? or authority_common_name = ?}, + undef, + ( $findme{authURI}, $findme{authURI} ) + ); + unless ( $id ) { + return &_serviceListResponse( $dbh, undef ); + } + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where authority_id=?}, + undef, $id + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{servicename}){ + if ( $findme{servicename} ) { ++$criterion_count; - $debug && _LOG("servicename added; criterion count is now $criterion_count\n"); - - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where servicename=?}, undef, $findme{servicename}); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "servicename added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where servicename=?}, + undef, $findme{servicename} + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } $findme{category} = 'moby' unless $findme{category}; - if ($findme{category}){ + if ( $findme{category} ) { ++$criterion_count; - $debug && _LOG("category added; criterion count is now $criterion_count\n"); - - my $ids = $dbh->selectall_arrayref(q{select service_instance_id from service_instance where category=?}, undef, lc($findme{category})); - unless (scalar @{$ids}){ - return &_serviceListResponse($dbh,undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $debug + && _LOG( + "category added; criterion count is now $criterion_count\n" ); + my $ids = $dbh->selectall_arrayref( +q{select service_instance_id from service_instance where category=?}, + undef, + lc( $findme{category} ) + ); + unless ( scalar @{$ids} ) { + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{keywords} && (scalar @{$findme{keywords}})){ + if ( $findme{keywords} && ( scalar @{ $findme{keywords} } ) ) { ++$criterion_count; - $debug && _LOG("Keywords added; criterion count is now $criterion_count\n"); + $debug + && _LOG( + "Keywords added; criterion count is now $criterion_count\n" ); my $searchstring; - foreach my $kw(@{$findme{keywords}}){ - $debug && &_LOG("KEYWORD $kw\n"); + foreach my $kw ( @{ $findme{keywords} } ) { + $debug && &_LOG( "KEYWORD $kw\n" ); $kw =~ s/\*//g; - $kw = $dbh->quote("%$kw%"); + $kw = $dbh->quote( "%$kw%" ); $searchstring .= " OR description like $kw "; } - $searchstring =~ s/OR//; # just the first one - $debug && &_LOG("search $searchstring\n"); - - my $ids = $dbh->selectall_arrayref("select service_instance_id from service_instance where $searchstring"); - unless (scalar @{$ids}){ - $debug && &_LOG("found no ids @{$ids}!\nselect service_instance_id from service_instance where $searchstring\n"); - return &_serviceListResponse($dbh, undef); - } - $debug && _LOG("services ".(join ',', @{$ids})." incrememted\n"); - foreach (@{$ids}){ - $debug && &_LOG("found id $_->[0]\n"); - ++$valid_service_ids{$_->[0]}; # increment that particular id's count by one + $searchstring =~ s/OR//; # just the first one + $debug && &_LOG( "search $searchstring\n" ); + my $ids = + $dbh->selectall_arrayref( +"select service_instance_id from service_instance where $searchstring" ); + unless ( scalar @{$ids} ) { + $debug + && &_LOG( "found no ids @{$ids}!\nselect service_instance_id from service_instance where $searchstring\n" + ); + return &_serviceListResponse( $dbh, undef ); + } + $debug + && _LOG( "services " . ( join ',', @{$ids} ) . " incrememted\n" ); + foreach ( @{$ids} ) { + $debug && &_LOG( "found id $_->[0]\n" ); + ++$valid_service_ids{ $_->[0] + }; # increment that particular id's count by one } } - if ($findme{inputObjects} && (scalar @{$findme{inputObjects}})){ + if ( $findme{inputObjects} && ( scalar @{ $findme{inputObjects} } ) ) { ++$criterion_count; - $debug && _LOG("inputObject added; criterion count is now $criterion_count\n"); - my $obj = (shift @{$findme{inputObjects}}); + $debug + && _LOG( + "inputObject added; criterion count is now $criterion_count\n" ); + my $obj = ( shift @{ $findme{inputObjects} } ); my @si_ids; - @si_ids = &_searchForServicesWithArticle($dbh, "input", $obj, $findme{'expandObjects'}, '') if defined $obj; - $debug && _LOG("Initial Search For Services with INPUT Article found @si_ids\n"); + @si_ids = + &_searchForServicesWithArticle( $dbh, "input", $obj, + $findme{'expandObjects'}, '' ) + if defined $obj; + $debug + && _LOG( + "Initial Search For Services with INPUT Article found @si_ids\n" ); my %instances; + # we need to do a join, without doing a join... - if (scalar @si_ids){ - map {$instances{$_}=1} @si_ids; # get an id of the good services from the first object - while (my $obj = shift(@{$findme{inputObjects}})){ # iterate through the rest of the objects + if ( scalar @si_ids ) { + map { $instances{$_} = 1 } + @si_ids; # get an id of the good services from the first object + while ( my $obj = shift( @{ $findme{inputObjects} } ) ) + { # iterate through the rest of the objects next unless $obj; - $debug && _LOG("FIRST: ", $dbh, "input", $obj, $findme{'expandObjects'}, ''); - my @new_ids = &_searchForServicesWithArticle($dbh, "input", $obj, $findme{'expandObjects'}, ''); # get their service ids - $debug && _LOG("Subsequent Search For Services with INPUT Article found @new_ids\n"); - my @good_ids;my %good_ids; - foreach my $id(@new_ids){ # check the new id set against the set we know is already valid + $debug + && _LOG( "FIRST: ", $dbh, "input", $obj, + $findme{'expandObjects'}, '' ); + my @new_ids = + &_searchForServicesWithArticle( $dbh, "input", $obj, + $findme{'expandObjects'}, '' ); # get their service ids + $debug + && _LOG( "Subsequent Search For Services with INPUT Article found @new_ids\n" + ); + my @good_ids; + my %good_ids; + foreach my $id ( @new_ids ) + { # check the new id set against the set we know is already valid next unless defined $id; - if ($instances{$id}){push @good_ids, $id} # if they are in common, then that id is still good + if ( $instances{$id} ) { + push @good_ids, $id; + } # if they are in common, then that id is still good } - map {$good_ids{$_}=1} @good_ids; # make a hash of the new good id's - %instances = %good_ids; # and replace the original list with this more limited one + map { $good_ids{$_} = 1 } + @good_ids; # make a hash of the new good id's + %instances = %good_ids + ; # and replace the original list with this more limited one } } - # now %instances contains only valid ID numbers - $debug && _LOG("Final results incremented of search for INPUT: ".(join ',',(keys %instances))."\n"); - foreach (keys %instances){ - $debug && &_LOG("found id $_\n"); + # now %instances contains only valid ID numbers + $debug + && _LOG( "Final results incremented of search for INPUT: " + . ( join ',', ( keys %instances ) ) + . "\n" ); + foreach ( keys %instances ) { + $debug && &_LOG( "found id $_\n" ); ++$valid_service_ids{$_}; } } - if ($findme{outputObjects} && (scalar @{$findme{outputObjects}})){ + if ( $findme{outputObjects} && ( scalar @{ $findme{outputObjects} } ) ) { ++$criterion_count; - $debug && _LOG("outputObject added; criterion count is now $criterion_count\n"); - my $obj = (shift @{$findme{outputObjects}}); + $debug + && _LOG( + "outputObject added; criterion count is now $criterion_count\n" ); + my $obj = ( shift @{ $findme{outputObjects} } ); my @si_ids; - @si_ids = &_searchForServicesWithArticle($dbh, "output", $obj, '') if defined $obj; - $debug && _LOG("Initial Search For Services with OUTPUT Article found @si_ids\n"); + @si_ids = &_searchForServicesWithArticle( $dbh, "output", $obj, '' ) + if defined $obj; + $debug + && _LOG( + "Initial Search For Services with OUTPUT Article found @si_ids\n" ); my %instances; + # we need to do a join, without doing a join... - if (scalar @si_ids){ - map {$instances{$_}=1} @si_ids; # get an id of the good services from the first object - while (my $obj = shift(@{$findme{outputObjects}})){ # iterate through the rest of the objects + if ( scalar @si_ids ) { + map { $instances{$_} = 1 } + @si_ids; # get an id of the good services from the first object + while ( my $obj = shift( @{ $findme{outputObjects} } ) ) + { # iterate through the rest of the objects next unless $obj; - my @new_ids = &_searchForServicesWithArticle($dbh, "output", $obj,''); # get their service ids - $debug && _LOG("Subsequent Search For Services with OUTPUT Article found @new_ids\n"); - my @good_ids;my %good_ids; - foreach my $id(@new_ids){ # check the new id set against the set we know is already valid + my @new_ids = + &_searchForServicesWithArticle( $dbh, "output", $obj, '' ) + ; # get their service ids + $debug + && _LOG( "Subsequent Search For Services with OUTPUT Article found @new_ids\n" + ); + my @good_ids; + my %good_ids; + foreach my $id ( @new_ids ) + { # check the new id set against the set we know is already valid next unless defined $id; - if ($instances{$id}){push @good_ids, $id} # if they are in common, then that id is still good + if ( $instances{$id} ) { + push @good_ids, $id; + } # if they are in common, then that id is still good } - map {$good_ids{$_}=1} @good_ids; # make a hash of the new good id's - %instances = %good_ids; # and replace the original list with this more limited one + map { $good_ids{$_} = 1 } + @good_ids; # make a hash of the new good id's + %instances = %good_ids + ; # and replace the original list with this more limited one } } + # now %instances contains only valid ID numbers - $debug && _LOG("Final results incremented of search for OUTPUT: ".(join ',',(keys %instances))."\n"); - foreach (keys %instances){ - $debug && &_LOG("found id $_\n"); + $debug + && _LOG( "Final results incremented of search for OUTPUT: " + . ( join ',', ( keys %instances ) ) + . "\n" ); + foreach ( keys %instances ) { + $debug && &_LOG( "found id $_\n" ); ++$valid_service_ids{$_}; } } my @final; - while (my ($id, $freq) = each %valid_service_ids){ - $debug && _LOG("TALLY IS ID: $id FREQ:$freq\n CRITERION COUNT $criterion_count\n"); - next unless $freq == $criterion_count; # has to have matched every criterion + while ( my ( $id, $freq ) = each %valid_service_ids ) { + $debug + && _LOG( "TALLY IS ID: $id FREQ:$freq\n CRITERION COUNT $criterion_count\n" + ); + next + unless $freq == + $criterion_count; # has to have matched every criterion push @final, $id; } - return &_serviceListResponse($dbh, @final); - + return &_serviceListResponse( $dbh, @final ); } +#Eddie - converted sub _searchForServicesWithArticle { - my ($dbh, $inout, $node, $expand, $coll) = @_; - - return () unless $node->getNodeType == ELEMENT_NODE; # this will erase all current successful service instances! - $debug && _LOG("searchServWthArticle ",$dbh, $inout, $node, $expand, $coll); - # this element node may be a Simple or a Collection object - my $simp_coll = $node->getTagName; - $debug && &_LOG("TAGNAME in _searchForArticle is $simp_coll"); - + my ( $dbh, $inout, $node, $expand, $coll ) = @_; + return () + unless $node->nodeType == + ELEMENT_NODE; # this will erase all current successful service instances! + $debug + && _LOG( "searchServWthArticle ", $dbh, $inout, $node, $expand, $coll ); + + # this element node may be a Simple or a Collection object + my $simp_coll = $node->nodeName; + $debug && &_LOG( "TAGNAME in _searchForArticle is $simp_coll" ); my @valid_ids; - if ($simp_coll eq "Collection"){ - @valid_ids = &_searchForCollection($dbh, $node, $expand, $inout); - } elsif ($simp_coll eq "Simple") { - @valid_ids = &_searchForSimple($dbh,$node, $expand, $inout); - } - return @valid_ids; + if ( $simp_coll eq "Collection" ) { + @valid_ids = &_searchForCollection( $dbh, $node, $expand, $inout ); + } elsif ( $simp_coll eq "Simple" ) { + @valid_ids = &_searchForSimple( $dbh, $node, $expand, $inout ); + } + return @valid_ids; } + sub _searchForSimple { + # returns list of service_instance ID's # that match this simple - my ($dbh,$node, $expand, $inout) = @_; - $debug && _LOG($dbh,$node, $expand, $inout); - my ($objectURI, $namespaceURIs) = &_extractObjectTypesAndNamespaces($node); # (objectType, [ns1, ns2, ns3]) - unless ($objectURI){return ()}; + my ( $dbh, $node, $expand, $inout ) = @_; + $debug && _LOG( $dbh, $node, $expand, $inout ); + my ( $objectURI, $namespaceURIs ) = + &_extractObjectTypesAndNamespaces( $node ) + ; # (objectType, [ns1, ns2, ns3]) + unless ( $objectURI ) { return () } my $ancestor_string = "'$objectURI',"; - if ($expand){ - $debug && _LOG("Expanding Objects\n"); - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my %relationships = %{$OS->traverseDAG($objectURI, "root")}; - my (@ancestors) = @{$relationships{'urn:lsid:biomoby.org:objectrelation:isa'}}; - $ancestor_string .= (join ',', map {"\'$_\'"} @ancestors); + if ( $expand ) { + $debug && _LOG( "Expanding Objects\n" ); + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my %relationships = %{ $OS->traverseDAG( $objectURI, "root" ) }; + my ( @ancestors ) = + @{ $relationships{'urn:lsid:biomoby.org:objectrelation:isa'} }; + $ancestor_string .= ( join ',', map { "\'$_\'" } @ancestors ); } $ancestor_string =~ s/\,$//; - - my $query = "select service_instance_id, namespace_type_uris from simple_$inout where object_type_uri in ($ancestor_string) and service_instance_id IS NOT NULL ";# if service_instance_id is null then it must be a collection input. - + my $query = +"select service_instance_id, namespace_type_uris from simple_$inout where object_type_uri in ($ancestor_string) and service_instance_id IS NOT NULL " + ; # if service_instance_id is null then it must be a collection input. my $nsquery; - foreach my $ns(@{$namespaceURIs}){ # namespaces are already URI's - $nsquery .=" OR INSTR(namespace_type_uris, '$ns') "; + foreach my $ns ( @{$namespaceURIs} ) { # namespaces are already URI's + $nsquery .= " OR INSTR(namespace_type_uris, '$ns') "; } - if ($nsquery){ - $nsquery =~ s/OR//; # just the first + if ( $nsquery ) { + $nsquery =~ s/OR//; # just the first $nsquery .= " OR namespace_type_uris IS NULL"; - $query .=" AND ($nsquery) "; + $query .= " AND ($nsquery) "; } - $debug && _LOG("\nQUERY $query\n"); - + $debug && _LOG( "\nQUERY $query\n" ); my @valid_services; - - my $sth = $dbh->prepare($query); + my $sth = $dbh->prepare( $query ); $sth->execute; - while (my ($id, $nss) = $sth->fetchrow_array){ # get the service instance ID and the namespaces that matched - if ($nss && scalar @{$namespaceURIs}){ # if this service cares about namespaces at all, - # and if namespaces were specified in the query, - # then validate the discovered service against this list - my @ns = split ",", $nss; # because of the database structure we have to re-test for *identity*, not just like%% similarity - my %nshash = map {($_, 1)} @ns,@{$namespaceURIs}; #we're going to test identity by building a hash of namespaces as keys - if (scalar(keys %nshash) < scalar(@ns)+scalar(@{$namespaceURIs})){ # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical - push @valid_services, $id; # and therefore it really is a match, and is valid + while ( my ( $id, $nss ) = $sth->fetchrow_array ) + { # get the service instance ID and the namespaces that matched + if ( $nss && scalar @{$namespaceURIs} ) + { # if this service cares about namespaces at all, + # and if namespaces were specified in the query, + # then validate the discovered service against this list + my @ns = split ",", $nss + ; # because of the database structure we have to re-test for *identity*, not just like%% similarity + my %nshash = map { ( $_, 1 ) } @ns, @{ $namespaceURIs + }; #we're going to test identity by building a hash of namespaces as keys + if ( + scalar( keys %nshash ) < + scalar( @ns ) + scalar( @{$namespaceURIs} ) ) + { # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical + push @valid_services, + $id; # and therefore it really is a match, and is valid } - } else { # if no namespace was specified, then all of them are valid - push @valid_services, $id + } else { # if no namespace was specified, then all of them are valid + push @valid_services, $id; } } - $debug && _LOG("Resulting IDs were ".(join ',', @valid_services)."\n"); - return @valid_services; + $debug + && _LOG( "Resulting IDs were " . ( join ',', @valid_services ) . "\n" ); + return @valid_services; } +#Eddie - converted sub _searchForCollection { - my ($dbh, $node, $expand, $inout)= @_; # $node in this case is a Collection object + my ( $dbh, $node, $expand, $inout ) = + @_; # $node in this case is a Collection object my $query; + # luckily, we can return a redundant list of service id's and # this will be cleaned up in the caller - - my @validservices; - foreach my $simple($node->getChildNodes()){ - next unless ($simple->getNodeType == ELEMENT_NODE); - next unless ($simple->getTagName =~ /simple/i); - my ($objectURI, $namespaceURIs) = &_extractObjectTypesAndNamespaces($simple); - + my @validservices; + foreach my $simple ( $node->childNodes() ) { + next unless ( $simple->nodeType == ELEMENT_NODE ); + next unless ( $simple->nodeName =~ /simple/i ); + my ( $objectURI, $namespaceURIs ) = + &_extractObjectTypesAndNamespaces( $simple ); $query = "select c.service_instance_id, s.namespace_type_uris @@ -1864,119 +2223,134 @@ s.collection_${inout}_id IS NOT NULL AND s.collection_${inout}_id = c.collection_${inout}_id AND object_type_uri = '$objectURI' "; - my $nsquery; - foreach my $ns(@{$namespaceURIs}){ # namespaces are already URI's - $nsquery .=" OR INSTR(namespace_type_uris, '$ns') "; + foreach my $ns ( @{$namespaceURIs} ) { # namespaces are already URI's + $nsquery .= " OR INSTR(namespace_type_uris, '$ns') "; } - if ($nsquery){ - $nsquery =~ s/^\sOR//; # just the first + if ( $nsquery ) { + $nsquery =~ s/^\sOR//; # just the first $nsquery .= " OR namespace_type_uris IS NULL"; - $query .= " AND ($nsquery) "; # add the AND clause - } - - $debug && &_LOG("QUERY: $query"); - my $sth = $dbh->prepare($query); + $query .= " AND ($nsquery) "; # add the AND clause + } + $debug && &_LOG( "QUERY: $query" ); + my $sth = $dbh->prepare( $query ); $sth->execute; - while (my ($id, $nss) = $sth->fetchrow_array){ # get the service instance ID and the namespaces that matched - if ($nss && scalar @{$namespaceURIs}){ # if this service cares about namespaces at all, - # and if namespaces were specified in the query, - # then validate the discovered service against this list - my @ns = split ",", $nss; # because of the database structure we have to re-test for *identity*, not just like%% similarity - my %nshash = map {($_, 1)} @ns,@{$namespaceURIs}; #we're going to test identity by building a hash of namespaces as keys - if (scalar(keys %nshash) < scalar(@ns)+scalar(@{$namespaceURIs})){ # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical - push @validservices, $id; # and therefore it really is a match, and is valid + while ( my ( $id, $nss ) = $sth->fetchrow_array ) + { # get the service instance ID and the namespaces that matched + if ( $nss && scalar @{$namespaceURIs} ) + { # if this service cares about namespaces at all, + # and if namespaces were specified in the query, + # then validate the discovered service against this list + my @ns = split ",", $nss + ; # because of the database structure we have to re-test for *identity*, not just like%% similarity + my %nshash = map { ( $_, 1 ) } @ns, @{ $namespaceURIs + }; #we're going to test identity by building a hash of namespaces as keys + if ( + scalar( keys %nshash ) < + scalar( @ns ) + scalar( @{$namespaceURIs} ) ) + { # if the number of keys is less than the sum of the number of keys goign into the hash, then one of them was identical + push @validservices, + $id; # and therefore it really is a match, and is valid } - } else { # if no namespace was specified, then all of them are valid - push @validservices, $id + } else { # if no namespace was specified, then all of them are valid + push @validservices, $id; } } - } + } return @validservices; } +#Eddie - converted sub _findServicePayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'findService'); - - my $serviceType = &_nodeTextContent($Object, "serviceType"); - $serviceType && ($serviceType =~ s/\s+//g); - my $servicename = &_nodeTextContent($Object, "serviceName"); - $servicename && ($servicename =~ s/\s+//g); - my $authoritative = &_nodeTextContent($Object, "authoritative"); - $authoritative && ($authoritative =~ s/\s+//g); - my $Category = &_nodeTextContent($Object, "Category"); - $Category && ($Category =~ s/\s+//g); - my $AuthURI = &_nodeTextContent($Object, "authURI"); - $AuthURI && ($AuthURI =~ s/\s+//g); - my $expandObjects = &_nodeTextContent($Object, "expandObjects"); - $expandObjects && ($expandObjects =~ s/\s+//g); - my $expandServices = &_nodeTextContent($Object, "expandServices"); - $expandServices && ($expandServices =~ s/\s+//g); - my @kw = &_nodeArrayContent($Object, "keywords"); - my $INPUTS = &_nodeRawContent($Object, "Input"); # returns array ref - my $OUTPUTS = &_nodeRawContent($Object, "Output"); # returns array ref - - return ('serviceType' => $serviceType, - 'authURI' => $AuthURI, - 'servicename' => $servicename, - 'expandObjects' => $expandObjects, - 'expandServices' => $expandServices, - 'authoritative' => $authoritative, - 'Category' => $Category, - 'inputObjects' => $INPUTS, - 'outputObjects' => $OUTPUTS, - 'keywords' => \@kw); - + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'findService' ); + my $serviceType = &_nodeTextContent( $Object, "serviceType" ); + $serviceType && ( $serviceType =~ s/\s+//g ); + my $servicename = &_nodeTextContent( $Object, "serviceName" ); + $servicename && ( $servicename =~ s/\s+//g ); + my $authoritative = &_nodeTextContent( $Object, "authoritative" ); + $authoritative && ( $authoritative =~ s/\s+//g ); + my $Category = &_nodeTextContent( $Object, "Category" ); + $Category && ( $Category =~ s/\s+//g ); + my $AuthURI = &_nodeTextContent( $Object, "authURI" ); + $AuthURI && ( $AuthURI =~ s/\s+//g ); + my $expandObjects = &_nodeTextContent( $Object, "expandObjects" ); + $expandObjects && ( $expandObjects =~ s/\s+//g ); + my $expandServices = &_nodeTextContent( $Object, "expandServices" ); + $expandServices && ( $expandServices =~ s/\s+//g ); + my @kw = &_nodeArrayContent( $Object, "keywords" ); + my $INPUTS = &_nodeRawContent( $Object, "Input" ); # returns array ref + my $OUTPUTS = &_nodeRawContent( $Object, "Output" ); # returns array ref + return ( + 'serviceType' => $serviceType, + 'authURI' => $AuthURI, + 'servicename' => $servicename, + 'expandObjects' => $expandObjects, + 'expandServices' => $expandServices, + 'authoritative' => $authoritative, + 'Category' => $Category, + 'inputObjects' => $INPUTS, + 'outputObjects' => $OUTPUTS, + 'keywords' => \@kw + ); } +#Eddie - converted sub _extractObjectTypesAndNamespaces { - # takes a SINGLE simple article and return regular list ($objectURI, [nsURI1, nsURI2, nsURI3]) - my ($DOM) = @_; - $debug && &_LOG("\n\n_extractObjectTypesAndNamespaces\nExtracting object types from \n$DOM \n\n"); - unless (ref($DOM) =~ /^XML/){ - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($DOM); + +# takes a SINGLE simple article and return regular list ($objectURI, [nsURI1, nsURI2, nsURI3]) + my ( $DOM ) = @_; + $debug + && &_LOG( +"\n\n_extractObjectTypesAndNamespaces\nExtracting object types from \n$DOM \n\n" + ); + unless ( ref( $DOM ) =~ /^XML/ ) { + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $DOM ); $DOM = $doc->getDocumentElement(); } - my $x = $DOM->getElementsByTagName("objectType"); + my $x = $DOM->getElementsByTagName( "objectType" ); my $objectname; - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; $objectname = $name; } - $objectname =~ s/^moby\://; # damn XML DOM can't deal with namespaces... so get rid of it if it exists, though this is going to limit us to only MOBY objects again :-( - my $OS= MOBY::OntologyServer->new(ontology => 'object'); - my ($exists, $message, $objectURI) = $OS->objectExists(term => $objectname); - return (undef, []) unless $objectURI; - - my $ns = $DOM->getElementsByTagName("Namespace"); + $objectname =~ s/^moby\:// + ; # damn XML DOM can't deal with namespaces... so get rid of it if it exists, though this is going to limit us to only MOBY objects again :-( + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my ( $exists, $message, $objectURI ) = + $OS->objectExists( term => $objectname ); + return ( undef, [] ) unless $objectURI; + my $ns = $DOM->getElementsByTagName( "Namespace" ); my @namespaces; - my $nonamespaces = $ns->getLength; - $OS= MOBY::OntologyServer->new(ontology => 'namespace'); - for (my $n=0; $n<$nonamespaces; ++$n){ - my @child = $ns->item($n)->getChildNodes; - foreach (@child){ - $debug && &_LOG ($_->getNodeTypeName, "\t", $_->toString,"\n"); - next unless ($_->getNodeType == TEXT_NODE); - my $name = $_->toString; chomp $name; - my ($success, $message, $URI) = $OS->namespaceExists(term => $name); - $URI?(push @namespaces, $URI):(push @namespaces, "__MOBY__INVALID__NAMESPACE__"); + my $nonamespaces = $ns->size(); + $OS = MOBY::OntologyServer->new( ontology => 'namespace' ); + + for ( my $n = 1 ; $n <= $nonamespaces ; ++$n ) { + my @child = $ns->get_node( $n )->childNodes; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + next unless ( $_->nodeType == TEXT_NODE ); + my $name = $_->toString; + chomp $name; + my ( $success, $message, $URI ) = + $OS->namespaceExists( term => $name ); + $URI + ? ( push @namespaces, $URI ) + : ( push @namespaces, "__MOBY__INVALID__NAMESPACE__" ); } } - return ($objectURI, \@namespaces); + return ( $objectURI, \@namespaces ); } - - =head2 retrieveService Title : retrieveService @@ -1998,67 +2372,67 @@ =cut -sub retrieveService { - my ($pkg, $payload) = @_; - # the payload here is actually the full XML from the findService call above... - #return "NOT YET IMPLEMENTED"; - my ($AuthURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML) = &_retrieveServicePayload($payload); - unless ($AuthURI && $serviceName){return ""} - my $SI = MOBY::service_instance->new(authority_uri => $AuthURI, servicename => $serviceName); +sub retrieveService { + my ( $pkg, $payload ) = @_; + + # the payload here is actually the full XML from the findService call above... + #return "NOT YET IMPLEMENTED"; + my ( $AuthURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML ) = + &_retrieveServicePayload( $payload ); + unless ( $AuthURI && $serviceName ) { return "" } + my $SI = MOBY::service_instance->new( authority_uri => $AuthURI, + servicename => $serviceName ); my $wsdls; - return "" unless ($SI); - - if ($SI->category eq 'moby'){ - my $wsdl = &_getServiceWSDL($SI, $InputXML, $OutputXML, $SecondaryXML); - if ($wsdl){ - $wsdls .= "\n"; - } - #$debug && &_LOG("WSDL_________________$wsdls\n____________________"); - return $wsdls; + return "" unless ( $SI ); + if ( $SI->category eq 'moby' ) { + my $wsdl = + &_getServiceWSDL( $SI, $InputXML, $OutputXML, $SecondaryXML ); + if ( $wsdl ) { + $wsdls .= "\n"; + } + + #$debug && &_LOG("WSDL_________________$wsdls\n____________________"); + return $wsdls; } } - - +#Eddie - converted sub _retrieveServicePayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $x = $doc->getElementsByTagName("Service"); - my $authURI = ""; + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "Service" ); + my $authURI = ""; my $serviceName = ""; - my $l = $x->getLength; # might be a Collection object with multiple simples... - for (my $n=0; $n < $l; ++$n){ - $authURI= $x->item($n)->getAttributeNode("authURI"); # may or may not have a name - if ($authURI){$authURI = $authURI->getValue()} - $serviceName = $x->item($n)->getAttributeNode("serviceName"); # may or may not have a name - if ($serviceName){$serviceName = $serviceName->getValue()} - } - - my $INPUT = $doc->getElementsByTagName("Input"); - my $InputXML = ""; - if ($INPUT->item(0)){ - $InputXML = $INPUT->item(0)->toString; + my $l = $x->size(); # might be a Collection object with multiple simples... + for ( my $n = 1 ; $n <= $l ; ++$n ) { + $authURI = + $x->get_node( $n )->getAttributeNode( "authURI" ) + ; # may or may not have a name + if ( $authURI ) { $authURI = $authURI->getValue() } + $serviceName = + $x->get_node( $n )->getAttributeNode( "serviceName" ) + ; # may or may not have a name + if ( $serviceName ) { $serviceName = $serviceName->getValue() } + } + my $INPUT = $doc->getElementsByTagName( "Input" ); + my $InputXML = ""; + if ( $INPUT->get_node( 1 ) ) { + $InputXML = $INPUT->get_node( 1 )->toString; + } + my $OUTPUT = $doc->getElementsByTagName( "Output" ); + my $OutputXML = ""; + if ( $OUTPUT->get_node( 1 ) ) { + $OutputXML = $OUTPUT->get_node( 1 )->toString; + } + my $SECONDARY = $doc->getElementsByTagName( "Output" ); + my $SecondaryXML = ""; + if ( $SECONDARY->get_node( 1 ) ) { + $SecondaryXML = $SECONDARY->get_Node( 1 )->toString; } - - my $OUTPUT = $doc->getElementsByTagName("Output"); - my $OutputXML = ""; - if ($OUTPUT->item(0)){ - $OutputXML = $OUTPUT->item(0)->toString; - } - - my $SECONDARY = $doc->getElementsByTagName("Output"); - my $SecondaryXML = ""; - if ($SECONDARY->item(0)){ - $SecondaryXML = $SECONDARY->item(0)->toString; - } - - return ($authURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML); - + return ( $authURI, $serviceName, $InputXML, $OutputXML, $SecondaryXML ); } - =head2 retrieveServiceProviders Title : retrieveServiceProviders @@ -2075,18 +2449,17 @@ =cut - sub retrieveServiceProviders { - my ($pkg) = @_; + my ( $pkg ) = @_; my $dbh = MOBY::central_db_connection->new()->dbh; - my $sth = $dbh->prepare("select distinct authority_uri from authority"); + my $sth = $dbh->prepare( "select distinct authority_uri from authority" ); $sth->execute; my $providers = "\n"; - while (my ($prov) = $sth->fetchrow_array){ + while ( my ( $prov ) = $sth->fetchrow_array ) { $providers .= "\n"; } $providers .= "\n"; - return $providers; + return $providers; } =head2 retrieveServiceNames @@ -2106,22 +2479,22 @@ =cut - sub retrieveServiceNames { - my ($pkg) = shift; - - my $dbh = MOBY::central_db_connection->new()->dbh; - my $sth = $dbh->prepare("select authority_uri, servicename from authority as a, service_instance as s where s.authority_id = a.authority_id"); + my ( $pkg ) = shift; + my $dbh = MOBY::central_db_connection->new()->dbh; + my $sth = + $dbh->prepare( +"select authority_uri, servicename from authority as a, service_instance as s where s.authority_id = a.authority_id" + ); $sth->execute; my $names = "\n"; - while (my ($auth, $name) = $sth->fetchrow_array){ + while ( my ( $auth, $name ) = $sth->fetchrow_array ) { $names .= "\n"; } $names .= "\n"; - return $names; + return $names; } - =head2 retrieveServiceTypes Title : retrieveServiceTypes @@ -2140,22 +2513,19 @@ =cut - - sub retrieveServiceTypes { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'service'); - my %types = %{$OS->retrieveAllServiceTypes()}; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'service' ); + my %types = %{ $OS->retrieveAllServiceTypes() }; my $types = "\n"; - while (my ($serv, $desc) = each %types){ - $types .= "\n\n\n"; + while ( my ( $serv, $desc ) = each %types ) { + $types .= +"\n\n\n"; } $types .= "\n"; - return $types; + return $types; } - - =head2 retrieveRelationshipTypes Title : retrieveRelationshipTypes @@ -2176,29 +2546,25 @@ =cut - - +#Eddie - converted sub retrieveRelationshipTypes { - my ($pkg, $payload) = @_; - - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $ontology = &_nodeTextContent($doc, "Ontology"); - my $OS = MOBY::OntologyServer->new(ontology => 'relationship'); - my %types = %{$OS->getRelationshipTypes(ontology => $ontology)}; - my $types = "\n"; - while (my ($name, $authdesc) = each %types){ + my ( $pkg, $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $ontology = &_nodeTextContent( $doc, "Ontology" ); + my $OS = MOBY::OntologyServer->new( ontology => 'relationship' ); + my %types = %{ $OS->getRelationshipTypes( ontology => $ontology ) }; + my $types = "\n"; + while ( my ( $name, $authdesc ) = each %types ) { my $auth = $authdesc->[0]; my $desc = $authdesc->[1]; - $types .= "\n\n\n"; + $types .= +"\n\n\n"; } $types .= "\n"; - return $types; + return $types; } - - - =head2 retrieveObjectNames Title : retrieveObjectNames @@ -2217,21 +2583,19 @@ =cut - sub retrieveObjectNames { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my %types = %{$OS->retrieveAllObjectTypes()}; - my $obj = "\n"; - while (my ($name, $desc) = each %types){ - $obj .= "\n\n\n"; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my %types = %{ $OS->retrieveAllObjectTypes() }; + my $obj = "\n"; + while ( my ( $name, $desc ) = each %types ) { + $obj .= +"\n\n\n"; } $obj .= "\n"; - return $obj; + return $obj; } - - =head2 retrieveObjectDefinition Title : retrieveObjectDefinition @@ -2262,37 +2626,41 @@ =cut +#Eddie - converted sub retrieveObjectDefinition { - my ($pkg, $payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $term = &_nodeTextContent($doc, "objectType"); + my ( $pkg, $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $term = &_nodeTextContent( $doc, "objectType" ); return "" unless $term; - my $OS = MOBY::OntologyServer->new(ontology => 'object'); - my $def = $OS->retrieveObject(node => $term); # will return undef if this term does not exist, and does not look like an LSID + my $OS = MOBY::OntologyServer->new( ontology => 'object' ); + my $def = + $OS->retrieveObject( node => $term ) + ; # will return undef if this term does not exist, and does not look like an LSID return "" unless $def; - my %def = %{$OS->retrieveObject(node => $term)}; + my %def = %{ $OS->retrieveObject( node => $term ) }; my $response; $response = " $def{objectType} $def{authURI} $def{contactEmail}\n"; - my %relationships = %{$def{Relationships}}; - while (my ($rel, $objdefs) = each %relationships){ + my %relationships = %{ $def{Relationships} }; + + while ( my ( $rel, $objdefs ) = each %relationships ) { $response .= "\n"; - foreach my $def(@{$objdefs}){ - my ($lsid, $articlename) = @{$def}; - $articlename="" unless defined $articlename; - $response .="$lsid\n"; + foreach my $def ( @{$objdefs} ) { + my ( $lsid, $articlename ) = @{$def}; + $articlename = "" unless defined $articlename; + $response .= + "$lsid\n"; } - $response .="\n"; + $response .= "\n"; } - $response .="\n"; + $response .= "\n"; return $response; } - =head2 retrieveNamespaces Title : retrieveNamespaces @@ -2311,20 +2679,19 @@ =cut - sub retrieveNamespaces { - my ($pkg) = @_; - my $OS = MOBY::OntologyServer->new(ontology => 'namespace'); - my %types = %{$OS->retrieveAllNamespaceTypes()}; - my $ns = "\n"; - while (my ($namespace, $desc) = each %types){ - $ns .= "\n\n\n"; + my ( $pkg ) = @_; + my $OS = MOBY::OntologyServer->new( ontology => 'namespace' ); + my %types = %{ $OS->retrieveAllNamespaceTypes() }; + my $ns = "\n"; + while ( my ( $namespace, $desc ) = each %types ) { + $ns .= +"\n\n\n"; } - $ns .=""; - return $ns; + $ns .= ""; + return $ns; } - =head2 retrieveObject NOT YET IMPLEMENTED @@ -2350,30 +2717,26 @@ =cut - sub retrieveObject { - my ($pkg, $payload) = @_; - my $response = "\n"; - $response .="\n"; - $response .= "\n"; - return $response; + my ( $pkg, $payload ) = @_; + my $response = "\n"; + $response .= "\n"; + $response .= "\n"; + return $response; } - +#Eddie - converted sub _retrieveObjectPayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'retrieveObject'); - my $type = &_nodeTextContent($Object, "objectType"); - return ($type); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'retrieveObject' ); + my $type = &_nodeTextContent( $Object, "objectType" ); + return ( $type ); } - - =head2 Relationships Title : Relationships @@ -2429,71 +2792,75 @@ =cut - sub Relationships { - my ($pkg, $payload) = @_; + my ( $pkg, $payload ) = @_; my $ontology; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - - my $x = $doc->getElementsByTagName("relationshipType"); - my $l = $x->getLength; - - my $exp = $doc->getElementsByTagName("expandRelationship"); - my $expl = $exp->getLength; - - my $expand_relationship = &_nodeTextContent($doc, 'expandRelationship'); + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "relationshipType" ); + my $l = $x->size(); + my $exp = $doc->getElementsByTagName( "expandRelationship" ); + my $expl = $exp->size(); + my $expand_relationship = &_nodeTextContent( $doc, 'expandRelationship' ); $expand_relationship =~ s/\s//g; - $expand_relationship ||=0; - + $expand_relationship ||= 0; my %reltypes; - for (my $n=0; $n < $l; ++$n){ - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless ($_->getNodeType == TEXT_NODE); - my $name .= $_->toString; $name =~ s/\s//g; + + for ( my $n = 1 ; $n <= $l ; ++$n ) { + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless ( $_->nodeType == TEXT_NODE ); + my $name .= $_->toString; + $name =~ s/\s//g; $reltypes{$name} = 1; } } - - my $term = &_nodeTextContent($doc, "objectType"); - $ontology = "object" if $term; # pick up the ontology "object" that we used here if we got an object term - $term ||= &_nodeTextContent($doc, "serviceType"); # if we didn't get anything using objectType try serviceType - return undef unless $term; # and bail out if we didn't succeed - - $ontology ||="service"; # if we have now succeeded and haven't already taken the ontology then it must be the service ontology - &_LOG("Ontology was $ontology; Term was $term\n"); - my $OS = MOBY::OntologyServer->new(ontology => $ontology); - my %rels = %{$OS->Relationships(term => $term, expand => $expand_relationship)}; # %rels = $rels{relationship} = [lsid, lsid,lsid] - - my $response="\n"; - my $OSrel = MOBY::OntologyServer->new(ontology => 'relationship'); - foreach (keys %reltypes){ # for each of our desired types - my $rellsid = $OSrel->getRelationshipURI($ontology, $_); # get the LSID - delete $reltypes{$_}; # remove the non-LSID version from the hash + my $term = &_nodeTextContent( $doc, "objectType" ); + $ontology = "object" + if $term + ; # pick up the ontology "object" that we used here if we got an object term + $term ||= + &_nodeTextContent( $doc, "serviceType" ) + ; # if we didn't get anything using objectType try serviceType + return undef unless $term; # and bail out if we didn't succeed + $ontology ||= "service" + ; # if we have now succeeded and haven't already taken the ontology then it must be the service ontology + &_LOG( "Ontology was $ontology; Term was $term\n" ); + my $OS = MOBY::OntologyServer->new( ontology => $ontology ); + my %rels = + %{ $OS->Relationships( term => $term, expand => $expand_relationship ) + }; # %rels = $rels{relationship} = [lsid, lsid,lsid] + my $response = "\n"; + my $OSrel = MOBY::OntologyServer->new( ontology => 'relationship' ); + + foreach ( keys %reltypes ) { # for each of our desired types + my $rellsid = + $OSrel->getRelationshipURI( $ontology, $_ ); # get the LSID + delete $reltypes{$_}; # remove the non-LSID version from the hash $reltypes{$rellsid} = 1; # set the LSID as valid } + # now for each of the relationship types that we were returned - foreach (keys %rels){ - my $rellsid = $OSrel->getRelationshipURI($ontology, $_); + foreach ( keys %rels ) { + my $rellsid = $OSrel->getRelationshipURI( $ontology, $_ ); next unless $rellsid; - if (keys %reltypes){ - next unless $reltypes{$rellsid}; # next unless it is one ofthe relationship types we requested + if ( keys %reltypes ) { + next + unless $reltypes{ $rellsid + }; # next unless it is one ofthe relationship types we requested } my $lsids = $rels{$rellsid}; next unless $lsids->[0]; - $response .="\n"; - foreach my $lsid(@{$lsids}){ - $response .="<${ontology}Type>$lsid\n"; + $response .= "\n"; + foreach my $lsid ( @{$lsids} ) { + $response .= "<${ontology}Type>$lsid\n"; } $response .= "\n"; } - $response .="\n"; + $response .= "\n"; return $response; } - - =head2 DUMP_MySQL Title : DUMP_MySQL @@ -2504,58 +2871,60 @@ =cut - sub DUMP_MySQL { - my ($pkg) = @_; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobycentral |") || die "can't open mobycentral for dumping"; + my ( $pkg ) = @_; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobycentral |" ) + || die "can't open mobycentral for dumping"; my @response; - while (){ + while ( ) { push @response, $_; } - my $mobycentral = (join "", @response); - + my $mobycentral = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyobject |") || die "can't open mobyobject for dumping"; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyobject |" ) + || die "can't open mobyobject for dumping"; @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyobject = (join "", @response); - + my $mobyobject = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyservice |") || die "can't open mobyservice for dumping"; + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyservice |" ) + || die "can't open mobyservice for dumping"; @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyservice = (join "", @response); - + my $mobyservice = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobynamespace |"); + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobynamespace |" ); @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobynamespace = (join "", @response); + my $mobynamespace = ( join "", @response ); close IN; - open (IN, "/usr/local/bin/mysqldump -u mobycentral mobyrelationship |"); + open( IN, "/usr/local/bin/mysqldump -u mobycentral mobyrelationship |" ); @response = (); - while (){ + while ( ) { push @response, $_; } - my $mobyrelationship = (join "", @response); + my $mobyrelationship = ( join "", @response ); close IN; - return [$mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship]; + return [ + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ]; } - -*DUMP = \&DUMP_MySQL; # alias it for backward compatibility -*DUMP = \&DUMP_MySQL; # alias it for backward compatibility +*DUMP = \&DUMP_MySQL; # alias it for backward compatibility +*DUMP = \&DUMP_MySQL; # alias it for backward compatibility sub _flatten { + # from a given term, traverse the ontology # and flatten it into a list of parent terms - my ($dbh,$type,$term, $seen) = @_; - my $sth = $dbh->prepare(" + my ( $dbh, $type, $term, $seen ) = @_; + my $sth = $dbh->prepare( " select OE1.term from @@ -2567,30 +2936,31 @@ and ontologyentry1_id = OE1.id and relationship_type_id = $type and OE2.term = ?" - ); - $sth->execute($term); - while (my ($term) = $sth->fetchrow_array){ + ); + $sth->execute( $term ); + while ( my ( $term ) = $sth->fetchrow_array ) { next if ${$seen}{$term}; - &_flatten($dbh, $type, $term, $seen); + &_flatten( $dbh, $type, $term, $seen ); ${$seen}{$term} = 1; } - -} +} +#Eddie - Converted sub _ISAPayload { - - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'ISA'); - my $type = &_nodeTextContent($Object, "objectType"); - return ($type); + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'ISA' ); + my $type = &_nodeTextContent( $Object, "objectType" ); + return ( $type ); } +=cut + + -=cut =head1 Internal Object Methods @@ -2598,7 +2968,6 @@ =cut - =head2 _getValidServices Title : _getValidServices @@ -2609,35 +2978,39 @@ =cut - sub _getValidServices { - my ( $dbh, $sth_hash, $query, $max_return) = @_; + my ( $dbh, $sth_hash, $query, $max_return ) = @_; my %sth = %{$sth_hash}; - $debug && &_LOG("QUERY: \n$query\n\n"); - my $this_query = $dbh->prepare($query); + $debug && &_LOG( "QUERY: \n$query\n\n" ); + my $this_query = $dbh->prepare( $query ); $this_query->execute; my $response; my %seen; - $response = "\n"; - while (my ($serviceName, $objectOUT, $AuthURI,$desc, $type, $cat) =$this_query->fetchrow_array()){ - $debug && &_LOG("$serviceName, $objectOUT, $AuthURI,$desc, $type, $cat\n"); - next if $seen{"$AuthURI"."||"."$serviceName"}; # non-redundant list please - $seen{"$AuthURI"."||"."$serviceName"} = 1; - $response .="\n"; - $response .="$cat\n"; - $response .="$type\n"; - $response .="$objectOUT\n"; - $response .= "\n"; - $response .= "\n"; - - if ($max_return){--$max_return;last unless $max_return} + $response = "\n"; + + while ( my ( $serviceName, $objectOUT, $AuthURI, $desc, $type, $cat ) = + $this_query->fetchrow_array() ) + { + $debug + && &_LOG( "$serviceName, $objectOUT, $AuthURI,$desc, $type, $cat\n" ); + next + if $seen{ "$AuthURI" . "||" + . "$serviceName" }; # non-redundant list please + $seen{ "$AuthURI" . "||" . "$serviceName" } = 1; + $response .= + "\n"; + $response .= "$cat\n"; + $response .= "$type\n"; + $response .= "$objectOUT\n"; + $response .= "\n"; + $response .= "\n"; + if ( $max_return ) { --$max_return; last unless $max_return } } - $response .= "\n"; - $debug && &_LOG("\nFINAL RESPONSE IS \n$response\n\n"); + $response .= "\n"; + $debug && &_LOG( "\nFINAL RESPONSE IS \n$response\n\n" ); return $response; } - =head2 _getServiceWSDL Title : _getServiceWSDL @@ -2648,60 +3021,63 @@ =cut - sub _getServiceWSDL { - my ($SI, $InputXML, $OutputXML, $SecondaryXML) = @_; - # the lines below causes no end of grief. It is now in a variable. - #open (WSDL, "./MOBY/Central_WSDL_SandR.wsdl") || die "can't open WSDL file for search and replace\n"; - #my $wsdl = join "", (); - my $wsdl = $WSDL_TEMPLATE; - $wsdl =~ s/^\n//gs; + my ( $SI, $InputXML, $OutputXML, $SecondaryXML ) = @_; + +# the lines below causes no end of grief. It is now in a variable. +#open (WSDL, "./MOBY/Central_WSDL_SandR.wsdl") || die "can't open WSDL file for search and replace\n"; +#my $wsdl = join "", (); + my $wsdl = $WSDL_TEMPLATE; + $wsdl =~ s/^\n//gs; + #close WSDL; # do substitutions - my $serviceName = $SI->servicename; - my $AuthURI = $SI->authority_uri; - my $desc = $SI->description; - my $URL = $SI->url; - my $IN = "NOT_YET_DEFINED_INPUTS"; - my $OUT = "NOT_YET_DEFINED_OUTPUTS"; - - my $INxsd = &_getInputXSD($InputXML, $SecondaryXML); - my $OUTxsd = &_getOutputXSD($OutputXML); - - $INxsd ||= ""; - $OUTxsd ||=""; - - $wsdl =~ s/MOBY__SERVICE__NAME__/$serviceName/g; # replace all of the goofy portbindingpottype crap - $wsdl =~ s/\<\!\-\-\s*MOBY__SERVICE__DESCRIPTION\s*\-\-\>/Authority: $AuthURI - $desc/g; # add a sensible description - $wsdl =~ s/MOBY__SERVICE__URL/$URL/g; # the URL to the service - #if (scalar @in){my ($IN, $INxsd) = @{shift @in}}; - #if (scalar @out){my ($OUT, $OUTxsd) = @{shift @out}}; - $wsdl =~ s/MOBY__INPUT__OBJECT__NAME/$IN/g; # SINGLE input object (for now) - $wsdl =~ s/MOBY__OUTPUT__OBJECT__NAME/$OUT/g; # SINGLE output object (for now) - $wsdl =~ s/\<\!\-\-\s*MOBY__INPUT__OBJECT__XSD\s*\-\-\>/$INxsd/g; # XSD stright from the database - $wsdl =~ s/\<\!\-\-\s*MOBY__OUTPUT__OBJECT__XSD\s*\-\-\>/$OUTxsd/g; # XSD straight from the database - $wsdl =~ s/MOBY__SERVICE__NAME/$serviceName/g; # finally replace the actual subroutine call + my $AuthURI = $SI->authority_uri; + my $desc = $SI->description; + my $URL = $SI->url; + my $IN = "NOT_YET_DEFINED_INPUTS"; + my $OUT = "NOT_YET_DEFINED_OUTPUTS"; + my $INxsd = &_getInputXSD( $InputXML, $SecondaryXML ); + my $OUTxsd = &_getOutputXSD( $OutputXML ); + $INxsd ||= ""; + $OUTxsd ||= ""; + $wsdl =~ s/MOBY__SERVICE__NAME__/$serviceName/g + ; # replace all of the goofy portbindingpottype crap + $wsdl =~ +s/\<\!\-\-\s*MOBY__SERVICE__DESCRIPTION\s*\-\-\>/Authority: $AuthURI - $desc/g + ; # add a sensible description + $wsdl =~ s/MOBY__SERVICE__URL/$URL/g; # the URL to the service + #if (scalar @in){my ($IN, $INxsd) = @{shift @in}}; + #if (scalar @out){my ($OUT, $OUTxsd) = @{shift @out}}; + $wsdl =~ s/MOBY__INPUT__OBJECT__NAME/$IN/g; # SINGLE input object (for now) + $wsdl =~ + s/MOBY__OUTPUT__OBJECT__NAME/$OUT/g; # SINGLE output object (for now) + $wsdl =~ s/\<\!\-\-\s*MOBY__INPUT__OBJECT__XSD\s*\-\-\>/$INxsd/g + ; # XSD stright from the database + $wsdl =~ s/\<\!\-\-\s*MOBY__OUTPUT__OBJECT__XSD\s*\-\-\>/$OUTxsd/g + ; # XSD straight from the database + $wsdl =~ s/MOBY__SERVICE__NAME/$serviceName/g + ; # finally replace the actual subroutine call return $wsdl; } - sub _getCGIService { - my ( $dbh, $sth_hash, $id, $serviceName, $AuthURI,$URL, $desc, $category) = @_; + my ( $dbh, $sth_hash, $id, $serviceName, $AuthURI, $URL, $desc, $category ) + = @_; my %sth = %{$sth_hash}; - # "Select OE.term, O.xsd, SP.type - # from Object as O, OntologyEntry as OE, ServiceParameter as SP, Service as S - # where O.ontologyentry_id = OE.id - # AND SP.ontologyentry_id = OE.id - # and SP.service_id = ? - - my $sth = $dbh->prepare($sth{get_server_parameters}); - $sth->execute($id); - my ($Object, $sprintf, $in) = $sth->fetchrow_array(); + + # "Select OE.term, O.xsd, SP.type + # from Object as O, OntologyEntry as OE, ServiceParameter as SP, Service as S + # where O.ontologyentry_id = OE.id + # AND SP.ontologyentry_id = OE.id + # and SP.service_id = ? + my $sth = $dbh->prepare( $sth{get_server_parameters} ); + $sth->execute( $id ); + my ( $Object, $sprintf, $in ) = $sth->fetchrow_array(); return ""; } - =head2 _traverseServiceDAG Title : _traverseServiceDAG @@ -2713,35 +3089,41 @@ =cut - sub _traverseServiceDAG { - my ( $dbh, $serviceType, $sth_hash) = @_; + my ( $dbh, $serviceType, $sth_hash ) = @_; my %sth = %{$sth_hash}; my %ServiceIDs; - my $sth = $dbh->prepare($sth{get_service_type_id}); - $sth->execute($serviceType); - my ($root_id) = $sth->fetchrow_array; + my $sth = $dbh->prepare( $sth{get_service_type_id} ); + $sth->execute( $serviceType ); + my ( $root_id ) = $sth->fetchrow_array; return undef unless $root_id; - - # we have to do a traversal of the DAG here to get all child nodes... - # this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... - $ServiceIDs{$root_id} = "untested"; # mark the one in-hand as untested - while (grep /untested/, (values %ServiceIDs)){ # now, while there are untested services in our list... - foreach my $service(keys %ServiceIDs){ # start parsing through the list - next if ($ServiceIDs{$service} eq "tested"); # if it has been tested already then move on - my $sth = $dbh->prepare($sth{get_service_hierarchy_list}); - $sth->execute($service); # execute the query for child nodes - $ServiceIDs{$service} = "tested"; # mark it as tested - while (my $new = $sth->fetchrow_array){ # now get each of the child nodes - next if (defined $ServiceIDs{$new}); # if we have already heard about it then move on - $ServiceIDs{$new} = "untested"; #otherwise mark it as untested, and start all over again + +# we have to do a traversal of the DAG here to get all child nodes... +# this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... + $ServiceIDs{$root_id} = "untested"; # mark the one in-hand as untested + while ( grep /untested/, ( values %ServiceIDs ) ) + { # now, while there are untested services in our list... + foreach my $service ( keys %ServiceIDs ) + { # start parsing through the list + next + if ( $ServiceIDs{$service} eq "tested" ) + ; # if it has been tested already then move on + my $sth = $dbh->prepare( $sth{get_service_hierarchy_list} ); + $sth->execute( $service ); # execute the query for child nodes + $ServiceIDs{$service} = "tested"; # mark it as tested + while ( my $new = $sth->fetchrow_array ) + { # now get each of the child nodes + next + if ( defined $ServiceIDs{$new} ) + ; # if we have already heard about it then move on + $ServiceIDs{$new} = "untested" + ; #otherwise mark it as untested, and start all over again } } } return keys %ServiceIDs; } - =head2 _traverseObjectDAG Title : _traverseObjectDAG @@ -2753,270 +3135,339 @@ =cut - - sub _traverseObjectDAG { - my ( $dbh, $objectType, $sth_hash, $dir) = @_; + my ( $dbh, $objectType, $sth_hash, $dir ) = @_; my %sth = %{$sth_hash}; my %ObjectIDs; - my $sth = $dbh->prepare($sth{get_object_type_id}); - $sth->execute($objectType); - my ($root_id) = $sth->fetchrow_array; + my $sth = $dbh->prepare( $sth{get_object_type_id} ); + $sth->execute( $objectType ); + my ( $root_id ) = $sth->fetchrow_array; return undef unless $root_id; - - if ($dir eq "p"){ - $debug && &_LOG("getting parents"); - $sth = $dbh->prepare($sth{get_object_parent_list}); - } - else { - $debug && &_LOG("getting children"); - $sth = $dbh->prepare($sth{get_object_child_list}); - } - - # we have to do a traversal of the DAG here to get all child nodes... - # this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... - $ObjectIDs{$root_id} = "untested"; # mark the one in-hand as untested - - while (grep /untested/, (values %ObjectIDs)){ # now, while there are untested services in our list... - foreach my $object(keys %ObjectIDs){ # start parsing through the list - next if ($ObjectIDs{$object} eq "tested"); # if it has been tested already then move on - $sth->execute($object); # execute the query for child nodes - $ObjectIDs{$object} = "tested"; # mark it as tested - while (my $new = $sth->fetchrow_array){ # now get each of the child nodes - next if (defined $ObjectIDs{$new}); # if we have already heard about it then move on - $ObjectIDs{$new} = "untested"; #otherwise mark it as untested, and start all over again + if ( $dir eq "p" ) { + $debug && &_LOG( "getting parents" ); + $sth = $dbh->prepare( $sth{get_object_parent_list} ); + } else { + $debug && &_LOG( "getting children" ); + $sth = $dbh->prepare( $sth{get_object_child_list} ); + } + +# we have to do a traversal of the DAG here to get all child nodes... +# this is one UGLY piece of code written in a hurry! Please, someone, shoot it and put it out of its misery... + $ObjectIDs{$root_id} = "untested"; # mark the one in-hand as untested + while ( grep /untested/, ( values %ObjectIDs ) ) + { # now, while there are untested services in our list... + foreach my $object ( keys %ObjectIDs ) + { # start parsing through the list + next + if ( $ObjectIDs{$object} eq "tested" ) + ; # if it has been tested already then move on + $sth->execute( $object ); # execute the query for child nodes + $ObjectIDs{$object} = "tested"; # mark it as tested + while ( my $new = $sth->fetchrow_array ) + { # now get each of the child nodes + next + if ( defined $ObjectIDs{$new} ) + ; # if we have already heard about it then move on + $ObjectIDs{$new} = "untested" + ; #otherwise mark it as untested, and start all over again } } } return keys %ObjectIDs; } +#Eddie - converted sub _nodeTextContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeTextContent received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my $x = $DOM->getElementsByTagName($node); - return undef unless $x->item(0); - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - $debug && &_LOG($_->getNodeTypeName, "\t", $_->toString,"\n"); - #next unless $_->getNodeType == TEXT_NODE; - $content .= $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeTextContent received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my $x = $DOM->getElementsByTagName( $node ); + return undef unless $x->get_node( 1 ); + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + $debug + && &_LOG( $_->nodeType, "\t", $_->toString, "\n" ); + + #next unless $_->nodeType == TEXT_NODE; + $content .= $_->toString; + } + return $content; } +#Eddie - converted sub _nodeRawContent { + # will get raw child nodes of $node from the given $DOM - my ($DOM, $nodename) = @_; - my @content; - $debug && &_LOG("_nodeRawContent received DOM: ", $DOM->toString,"\nsearching for node $nodename\n"); - my $x = $DOM->getElementsByTagName($nodename); - my $node = $x->item(0); + my ( $DOM, $nodename ) = @_; + my @content; + $debug && &_LOG( "_nodeRawContent received DOM: ", + $DOM->toString, "\nsearching for node $nodename\n" ); + my $x = $DOM->getElementsByTagName( $nodename ); + my $node = $x->get_node( 1 ); return [] unless $node; - foreach my $child($node->getChildNodes){ - next unless $child->getNodeType == ELEMENT_NODE; + foreach my $child ( $node->childNodes ) { + next unless $child->nodeType == ELEMENT_NODE; push @content, $child; } - return \@content; + return \@content; } +#Eddie - converted sub _nodeArrayContent { + # will get array content of all child $node from given $DOM # regardless of depth! # e.g. the following XML: # # first # second - # + # #will return the list "first", "second" - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeArrayContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my @result; - my $x = $DOM->getElementsByTagName($node); - return @result unless $x->item(0); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - next unless (length($_->toString) > 0); - push @result, $_->toString; - } - } - $debug && _LOG("_nodeArrayContent resulted in @result\n"); - return @result; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeArrayContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my @result; + my $x = $DOM->getElementsByTagName( $node ); + return @result unless $x->get_node( 1 ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + next unless ( length( $_->toString ) > 0 ); + push @result, $_->toString; + } + } + $debug && _LOG( "_nodeArrayContent resulted in @result\n" ); + return @result; } +#Eddie - converted sub _nodeArrayExtraContent { + # will get array content of all child $node from given $DOM # regardless of depth! # e.g. the following XML: # # first # second - # + # #will return the list # ['first',{'articleName' => 'thisone'}], # ['second',{'articleName' => 'otherone'},... - - my ($DOM, $node, at attrs) = @_; - $debug && &_LOG("_nodeArrayExtraContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); + my ( $DOM, $node, @attrs ) = @_; + $debug && &_LOG( "_nodeArrayExtraContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); my @result; my %att_value; - my $x = $DOM->getElementsByTagName($node); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - foreach my $attr(@attrs){ - $debug && &_LOG("_nodeArrayExtraContext received DOM: ", $DOM->toString,"\nsearching for attributre $attr\n"); - my $article = $_->getAttributeNode($attr); # may or may not have a name - if ($article){$article = $article->getValue()} + my $x = $DOM->getElementsByTagName( $node ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + foreach my $attr ( @attrs ) { + $debug && &_LOG( "_nodeArrayExtraContext received DOM: ", + $DOM->toString, "\nsearching for attributre $attr\n" ); + my $article = + $_->getAttributeNode( $attr ); # may or may not have a name + if ( $article ) { $article = $article->getValue() } $att_value{$attr} = $article; } - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @result, [$_->toString,\%att_value]; - } - } - $debug && &_LOG(@result); - return @result; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @result, [ $_->toString, \%att_value ]; + } + } + $debug && &_LOG( @result ); + return @result; } sub _serviceListResponse { - - my ($dbh, @ids) = @_; - - my $output=""; - my $sth = $dbh->prepare(q{ + my ( $dbh, @ids ) = @_; + my $output = ""; + my $sth = $dbh->prepare( + q{ select category, url, servicename, service_type_uri, authority_id, description, authoritative, contact_email, signatureURL from service_instance where - service_instance_id = ?}); - my $sth_simple_in = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id=? and collection_input_id IS NULL"); - my $sth_simple_out = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id=? and collection_output_id IS NULL"); - my $sth_collection_ins = $dbh->prepare("select collection_input_id, article_name from collection_input where service_instance_id=?"); - my $sth_collection_outs = $dbh->prepare("select collection_output_id, article_name from collection_output where service_instance_id=?"); - my $sth_collection_in = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id IS NULL and collection_input_id =?"); - my $sth_collection_out = $dbh->prepare("select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id IS NULL and collection_output_id =?"); - my $sth_secondary_in = $dbh->prepare("select default_value, maximum_value, minimum_value, enum_value, datatype, article_name from secondary_input where service_instance_id=?"); - - - my $OSobj = MOBY::OntologyServer->new(ontology => 'object'); - my $OSns = MOBY::OntologyServer->new(ontology => 'namespace'); - my $OSserv = MOBY::OntologyServer->new(ontology => 'service'); - - foreach (@ids){ - $sth->execute($_); - my ($category, $url, $servicename, $service_type_uri, $authority_id, $desc, $authoritative, $email, $signatureURL) = $sth->fetchrow_array; - #print "\n\nAFTER EXECUTE $category, $servicename, $service_type_uri, $authority_id, $desc, $authoritative\n\n"; - $signatureURL ||=""; - next unless ($servicename && $authority_id); - my $service_type = $OSserv->getServiceCommonName($service_type_uri); - my ($authURI) = $dbh->selectrow_array(q{select authority_uri from authority where authority_id=?},undef,$authority_id); - $output .= "\t\n"; + service_instance_id = ?} + ); + my $sth_simple_in = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id=? and collection_input_id IS NULL" + ); + my $sth_simple_out = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id=? and collection_output_id IS NULL" + ); + my $sth_collection_ins = + $dbh->prepare( +"select collection_input_id, article_name from collection_input where service_instance_id=?" + ); + my $sth_collection_outs = + $dbh->prepare( +"select collection_output_id, article_name from collection_output where service_instance_id=?" + ); + my $sth_collection_in = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_input where service_instance_id IS NULL and collection_input_id =?" + ); + my $sth_collection_out = + $dbh->prepare( +"select object_type_uri, namespace_type_uris, article_name from simple_output where service_instance_id IS NULL and collection_output_id =?" + ); + my $sth_secondary_in = + $dbh->prepare( +"select default_value, maximum_value, minimum_value, enum_value, datatype, article_name from secondary_input where service_instance_id=?" + ); + my $OSobj = MOBY::OntologyServer->new( ontology => 'object' ); + my $OSns = MOBY::OntologyServer->new( ontology => 'namespace' ); + my $OSserv = MOBY::OntologyServer->new( ontology => 'service' ); + + foreach ( @ids ) { + $sth->execute( $_ ); + my ( + $category, $url, $servicename, + $service_type_uri, $authority_id, $desc, + $authoritative, $email, $signatureURL + ) + = $sth->fetchrow_array; + +#print "\n\nAFTER EXECUTE $category, $servicename, $service_type_uri, $authority_id, $desc, $authoritative\n\n"; + $signatureURL ||= ""; + next unless ( $servicename && $authority_id ); + my $service_type = $OSserv->getServiceCommonName( $service_type_uri ); + my ( $authURI ) = + $dbh->selectrow_array( + q{select authority_uri from authority where authority_id=?}, + undef, $authority_id ); + $output .= + "\t\n"; $output .= "\t$service_type\n"; $output .= "\t$authoritative\n"; $output .= "\t$category\n"; $output .= "\t\n$desc\n\t\n"; $output .= "\t$email\n"; - $output .= "\t$signatureURL\n"; - $output .= "\t$url\n"; - $output .="\t\n"; - $sth_simple_in->execute($_); - while (my ($objURI, $nsURI, $article) = $sth_simple_in->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $output .= "\t$signatureURL\n"; + $output .= "\t$url\n"; + $output .= "\t\n"; + $sth_simple_in->execute( $_ ); + + while ( my ( $objURI, $nsURI, $article ) = + $sth_simple_in->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\n"; - $output .="\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t$NSname\n" if $NSname; - } - $output .="\t\t\n"; - } - $sth_collection_ins->execute($_); - while (my ($collid, $articlename) = $sth_collection_ins->fetchrow_array){ - $output .="\t\t\n"; - $sth_collection_in->execute($collid); - while (my ($objURI, $nsURI, $article) = $sth_collection_in->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $article ||= ""; + $output .= "\t\t\n"; + $output .= "\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t$NSname\n" if $NSname; + } + $output .= "\t\t\n"; + } + $sth_collection_ins->execute( $_ ); + while ( my ( $collid, $articlename ) = + $sth_collection_ins->fetchrow_array ) + { + $output .= "\t\t\n"; + $sth_collection_in->execute( $collid ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_collection_in->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\t\n"; - $output .="\t\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t\t$NSname\n" if $NSname; + $article ||= ""; + $output .= "\t\t\t\n"; + $output .= "\t\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t\t$NSname\n" + if $NSname; } - $output .="\t\t\t\n"; + $output .= "\t\t\t\n"; } - $output .="\t\t\n"; - } - - $output .="\t\n"; - - $output .="\t\n"; - $sth_simple_out->execute($_); - while (my ($objURI, $nsURI, $article) = $sth_simple_out->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $output .= "\t\t\n"; + } + $output .= "\t\n"; + $output .= "\t\n"; + $sth_simple_out->execute( $_ ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_simple_out->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\n"; - $output .="\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t$NSname\n" if $NSname; - } - $output .="\t\t\n"; - } - $sth_collection_outs->execute($_); - while (my ($collid, $articlename) = $sth_collection_outs->fetchrow_array){ - $output .="\t\t\n"; - $sth_collection_out->execute($collid); - while (my ($objURI, $nsURI, $article) = $sth_collection_out->fetchrow_array()){ - my $objName = $OSobj->getObjectCommonName($objURI); - $nsURI ||=""; + $article ||= ""; + $output .= "\t\t\n"; + $output .= "\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t$NSname\n" if $NSname; + } + $output .= "\t\t\n"; + } + $sth_collection_outs->execute( $_ ); + while ( my ( $collid, $articlename ) = + $sth_collection_outs->fetchrow_array ) + { + $output .= "\t\t\n"; + $sth_collection_out->execute( $collid ); + while ( my ( $objURI, $nsURI, $article ) = + $sth_collection_out->fetchrow_array() ) + { + my $objName = $OSobj->getObjectCommonName( $objURI ); + $nsURI ||= ""; my @nsURIs = split ",", $nsURI; - $article ||=""; - $output .="\t\t\t\n"; - $output .="\t\t\t\t$objName\n"; - foreach my $ns(@nsURIs){ - my $NSname = $OSns->getNamespaceCommonName($ns); - $output .="\t\t\t\t$NSname\n" if $NSname; + $article ||= ""; + $output .= "\t\t\t\n"; + $output .= "\t\t\t\t$objName\n"; + foreach my $ns ( @nsURIs ) { + my $NSname = $OSns->getNamespaceCommonName( $ns ); + $output .= "\t\t\t\t$NSname\n" + if $NSname; } - $output .="\t\t\t\n"; + $output .= "\t\t\t\n"; } - $output .="\t\t\n"; - } - $output .="\t\n"; - - $output .="\t\n"; - $sth_secondary_in->execute($_); - while (my ($default_value, $maximum_value, $minimum_value, $enum_value, $datatype, $article_name) = $sth_secondary_in->fetchrow_array()){ - $article_name ||=""; - $datatype ||=""; - $default_value ||=""; - $maximum_value ||=""; - $minimum_value ||=""; + $output .= "\t\t\n"; + } + $output .= "\t\n"; + $output .= "\t\n"; + $sth_secondary_in->execute( $_ ); + while ( + my ( + $default_value, $maximum_value, $minimum_value, + $enum_value, $datatype, $article_name + ) + = $sth_secondary_in->fetchrow_array() + ) + { + $article_name ||= ""; + $datatype ||= ""; + $default_value ||= ""; + $maximum_value ||= ""; + $minimum_value ||= ""; $output .= "\t\t\t\n"; $output .= "\t\t\t\t$datatype\n"; - $output .="\t\t\t\t$default_value\n"; - $output .="\t\t\t\t$maximum_value\n"; - $output .="\t\t\t\t$minimum_value\n"; + $output .= "\t\t\t\t$default_value\n"; + $output .= "\t\t\t\t$maximum_value\n"; + $output .= "\t\t\t\t$minimum_value\n"; my @enums = split ",", $enum_value; - if (scalar(@enums)){ - foreach my $enum(@enums){ + + if ( scalar( @enums ) ) { + foreach my $enum ( @enums ) { $output .= "\t\t\t\t$enum\n"; } } else { @@ -3024,64 +3475,63 @@ } $output .= "\t\t\t\n"; } - $output .="\t\t\n"; + $output .= "\t\t\n"; $output .= "\t\n"; } return "\n$output\n\n"; - } - sub _error { - my ($message, $id) = @_; - my $reg = &Registration({ - success => 0, - message => "$message", - id => "$id", - }); + my ( $message, $id ) = @_; + my $reg = &Registration( + { + success => 0, + message => "$message", + id => "$id", + } + ); return $reg; } sub _success { - my ($message, $id, $RDF) = @_; - my $reg = &Registration({ - success => 1, - message => "$message", - id => "$id", - RDF => $RDF, - }); + my ( $message, $id, $RDF ) = @_; + my $reg = &Registration( + { + success => 1, + message => "$message", + id => "$id", + RDF => $RDF, + } + ); return $reg; } -sub _getOntologyServer { # may want to make this more complex - my (%args) = @_; - my $OS = MOBY::OntologyServer->new(%args); +sub _getOntologyServer { # may want to make this more complex + my ( %args ) = @_; + my $OS = MOBY::OntologyServer->new( %args ); return $OS; } - - -sub DESTROY {} - +sub DESTROY { } sub _LOG { + #return unless $debug; #print join "\n", @_; #print "\n---\n"; #return; - open LOG, ">>/tmp/CentralRegistryLogOut.txt" or die "can't open logfile $!\n"; + open LOG, ">>/tmp/CentralRegistryLogOut.txt" + or die "can't open logfile $!\n"; print LOG join "\n", @_; print LOG "\n---\n"; close LOG; } + # # # -------------------------------------------------------------------------------------------------------- # ## ## - - - $WSDL_TEMPLATE = < 1; -use constant SIMPLE => 2; -use constant SECONDARY => 3; -use constant PARAMETER => 3; # be friendly in case they use this instead -use constant BE_NICE => 1; -use constant BE_STRICT => 0; - -our @ISA = qw(Exporter); -our @EXPORT = qw(COLLECTION SIMPLE SECONDARY PARAMETER BE_NICE BE_STRICT); +use constant SIMPLE => 2; +use constant SECONDARY => 3; +use constant PARAMETER => 3; # be friendly in case they use this instead +use constant BE_NICE => 1; +use constant BE_STRICT => 0; +our @ISA = qw(Exporter); +our @EXPORT = qw(COLLECTION SIMPLE SECONDARY PARAMETER BE_NICE BE_STRICT); our @EXPORT_OK = qw( - getSimpleArticleIDs - getSimpleArticleNamespaceURI - simpleResponse - responseHeader - responseFooter - getInputArticles - getInputs - getInputID - getArticles - getCollectedSimples - getNodeContentWithArticle - extractRawContent - collectionResponse - validateNamespaces - validateThisNamespace - isSimpleArticle - isCollectionArticle - isSecondaryArticle - extractResponseArticles - getResponseArticles - getCrossReferences - genericServiceInputParser - genericServiceInputParserAsObject - complexServiceInputParser - whichDeepestParentObject - getServiceNotes - COLLECTION - SIMPLE - SECONDARY - PARAMETER - BE_NICE - BE_STRICT - ); -our %EXPORT_TAGS =(all => [qw( - getSimpleArticleIDs - getSimpleArticleNamespaceURI - simpleResponse - responseHeader - responseFooter - getInputArticles - getInputs - getInputID - getArticles - getCollectedSimples - getNodeContentWithArticle - extractRawContent - collectionResponse - validateNamespaces - validateThisNamespace - isSimpleArticle - isCollectionArticle - isSecondaryArticle - extractResponseArticles - getResponseArticles - getCrossReferences - genericServiceInputParser - genericServiceInputParserAsObject - complexServiceInputParser - whichDeepestParentObject - getServiceNotes - COLLECTION - SIMPLE - SECONDARY - PARAMETER - BE_NICE - BE_STRICT - )]); - - + getSimpleArticleIDs + getSimpleArticleNamespaceURI + simpleResponse + responseHeader + responseFooter + getInputArticles + getInputs + getInputID + getArticles + getCollectedSimples + getNodeContentWithArticle + extractRawContent + collectionResponse + validateNamespaces + validateThisNamespace + isSimpleArticle + isCollectionArticle + isSecondaryArticle + extractResponseArticles + getResponseArticles + getCrossReferences + genericServiceInputParser + genericServiceInputParserAsObject + complexServiceInputParser + whichDeepestParentObject + getServiceNotes + COLLECTION + SIMPLE + SECONDARY + PARAMETER + BE_NICE + BE_STRICT +); +our %EXPORT_TAGS = ( + all => [ + qw( + getSimpleArticleIDs + getSimpleArticleNamespaceURI + simpleResponse + responseHeader + responseFooter + getInputArticles + getInputs + getInputID + getArticles + getCollectedSimples + getNodeContentWithArticle + extractRawContent + collectionResponse + validateNamespaces + validateThisNamespace + isSimpleArticle + isCollectionArticle + isSecondaryArticle + extractResponseArticles + getResponseArticles + getCrossReferences + genericServiceInputParser + genericServiceInputParserAsObject + complexServiceInputParser + whichDeepestParentObject + getServiceNotes + COLLECTION + SIMPLE + SECONDARY + PARAMETER + BE_NICE + BE_STRICT + ) + ] +); =head2 genericServiceInputParser @@ -302,33 +299,33 @@ =cut - sub genericServiceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticles($query); # get the Simple/Collection/Secondary articles making up this query ... or ... or ... - foreach my $input(@input_articles){ # input is a listref - my ($articleName, $article) = @{$input}; # get the named article - if (isCollectionArticle($article)){ - my @simples = getCollectedSimples($article); - push @inputs, [COLLECTION,$queryID, \@simples]; - } elsif (isSimpleArticle($article)){ - push @inputs, [SIMPLE,$queryID,$article]; - } elsif (isSecondaryArticle($article)){ # should never happen in a generic service parser! - push @inputs, [SECONDARY,$queryID,$article]; - } - } - } - return @inputs; + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticles( $query ) + ; # get the Simple/Collection/Secondary articles making up this query ... or ... or ... + foreach my $input ( @input_articles ) { # input is a listref + my ( $articleName, $article ) = @{$input}; # get the named article + if ( isCollectionArticle( $article ) ) { + my @simples = getCollectedSimples( $article ); + push @inputs, [ COLLECTION, $queryID, \@simples ]; + } elsif ( isSimpleArticle( $article ) ) { + push @inputs, [ SIMPLE, $queryID, $article ]; + } elsif ( isSecondaryArticle( $article ) ) + { # should never happen in a generic service parser! + push @inputs, [ SECONDARY, $queryID, $article ]; + } + } + } + return @inputs; } - - - =head2 serviceInputParser name : DO NOT USE!! @@ -345,32 +342,33 @@ =cut - sub serviceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... # mark, this doesn't work for complex services. We need to allow more than one input per invocation - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticlesAsObjects($query); # get the Simple/Collection articles making up this query ... or ... or ...isCollection){ - my @simples = getCollectedSimples($article->XML); - push @inputs, [COLLECTION,$queryID, \@simples]; - } elsif ($article->isSimple){ - push @inputs, [SIMPLE,$queryID,$article]; - } elsif ($article->isSecondary){ - push @inputs, [SECONDARY,$queryID,$article]; - } - } - } - return @inputs; + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticlesAsObjects( $query ) + ; # get the Simple/Collection articles making up this query ... or ... or ...isCollection ) { + my @simples = getCollectedSimples( $article->XML ); + push @inputs, [ COLLECTION, $queryID, \@simples ]; + } elsif ( $article->isSimple ) { + push @inputs, [ SIMPLE, $queryID, $article ]; + } elsif ( $article->isSecondary ) { + push @inputs, [ SECONDARY, $queryID, $article ]; + } + } + } + return @inputs; } - =head2 complexServiceInputParser name : complexServiceInputParser @@ -439,32 +437,34 @@ =cut - sub complexServiceInputParser { - my ($message) = @_; # get the incoming MOBY query XML - my @inputs; # set empty response - my @queries = getInputs($message); # returns XML::DOM nodes ... - my %input_parameters; # $input_parameters{$queryID} = [ - - foreach my $query(@queries){ - my $queryID = getInputID($query); # get the queryID attribute of the mobyData - my @input_articles = getArticles($query); # get the Simple/Collection/Secondary articles making up this query ... or ... or ... - foreach my $input(@input_articles){ # input is a listref - my ($articleName, $article) = @{$input}; # get the named article - if (isCollectionArticle($article)){ - my @simples = getCollectedSimples($article); - push @{$input_parameters{$queryID}}, [COLLECTION, \@simples]; - } elsif (isSimpleArticle($article)){ - push @{$input_parameters{$queryID}}, [SIMPLE, $article]; - } elsif (isSecondaryArticle($article)){ - push @{$input_parameters{$queryID}}, [SECONDARY, $article]; - } - } - } - return \%input_parameters; + my ( $message ) = @_; # get the incoming MOBY query XML + my @inputs; # set empty response + my @queries = + getInputs( $message ); # returns XML::DOM nodes ... + my %input_parameters; # $input_parameters{$queryID} = [ + foreach my $query ( @queries ) { + my $queryID = + getInputID( $query ); # get the queryID attribute of the mobyData + my @input_articles = + getArticles( $query ) + ; # get the Simple/Collection/Secondary articles making up this query ... or ... or ... + foreach my $input ( @input_articles ) { # input is a listref + my ( $articleName, $article ) = @{$input}; # get the named article + if ( isCollectionArticle( $article ) ) { + my @simples = getCollectedSimples( $article ); + push @{ $input_parameters{$queryID} }, + [ COLLECTION, \@simples ]; + } elsif ( isSimpleArticle( $article ) ) { + push @{ $input_parameters{$queryID} }, [ SIMPLE, $article ]; + } elsif ( isSecondaryArticle( $article ) ) { + push @{ $input_parameters{$queryID} }, [ SECONDARY, $article ]; + } + } + } + return \%input_parameters; } - =head2 getArticles name : getArticles @@ -506,37 +506,39 @@ =cut - sub getArticles { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless (($moby->getTagName =~ /queryInput/) || ($moby->getTagName =~ /queryResponse/) || ($moby->getTagName =~ /mobyData/)); - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/ || $child->getTagName =~ /Collection/ || $child->getTagName =~ /Parameter/); - my $articleName = $child->getAttribute('articleName'); - $articleName ||= $child->getAttribute('moby:articleName'); - push @articles, [$articleName, $child]; # push the named child DOM elements (which are or , ) - } - return @articles; # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef + unless ( ( $moby->nodeName =~ /queryInput/ ) + || ( $moby->nodeName =~ /queryResponse/ ) + || ( $moby->nodeName =~ /mobyData/ ) ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next + unless ( $child->nodeName =~ /Simple/ + || $child->nodeName =~ /Collection/ + || $child->nodeName =~ /Parameter/ ); + my $articleName = $child->getAttribute( 'articleName' ); + $articleName ||= $child->getAttribute( 'moby:articleName' ); + push @articles, [ $articleName, $child ] + ; # push the named child DOM elements (which are or , ) + } + return @articles; # return them. } - - - ################################################# - ################################## - ################################## - # COMMON SUBROUTINES for Clients and Services - ################################## - ################################## +################################## +################################## +# COMMON SUBROUTINES for Clients and Services +################################## +################################## ################################################# =head2 getSimpleArticleIDs @@ -560,60 +562,74 @@ =cut - +#Eddie - converted sub getSimpleArticleIDs { - my ($desired_namespace, $input_nodes) = @_; - if ($desired_namespace && !($input_nodes)){ # if called with ONE argument, then these are the input nodes! - $input_nodes = $desired_namespace; - $desired_namespace = undef; + my ( $desired_namespace, $input_nodes ) = @_; + if ( $desired_namespace && !( $input_nodes ) ) + { # if called with ONE argument, then these are the input nodes! + $input_nodes = $desired_namespace; + $desired_namespace = undef; } - $input_nodes = [$input_nodes] unless ref($input_nodes) =~ /ARRAY/; # be flexible! + $input_nodes = [$input_nodes] + unless ref( $input_nodes ) =~ /ARRAY/; # be flexible! return undef unless scalar @{$input_nodes}; - my @input_nodes = @{$input_nodes}; - my $OS = MOBY::Client::OntologyServer->new; - my ($s, $m); - if ($desired_namespace){ - ($s, $m, $desired_namespace) = $OS->namespaceExists(term => $desired_namespace); # returns (success, message, lsid) - unless ($s){ # bail if not successful - print STDERR "MOBY::CommonSubs WARNING ** the namespace $desired_namespace does not exist in the MOBY ontology, and is not a valid LSID\n"; - return undef; - } - } + my $OS = MOBY::Client::OntologyServer->new; + my ( $s, $m ); + if ( $desired_namespace ) { + ( $s, $m, $desired_namespace ) = + $OS->namespaceExists( term => $desired_namespace ) + ; # returns (success, message, lsid) + unless ( $s ) { # bail if not successful + print STDERR +"MOBY::CommonSubs WARNING ** the namespace $desired_namespace does not exist in the MOBY ontology, and is not a valid LSID\n"; + return undef; + } + } + my @ids; + foreach my $in ( @input_nodes ) { + next unless $in; - my @ids; - foreach my $in(@input_nodes){ - next unless $in; #$in = "" - next unless $in->getNodeName =~ /simple/i; # only allow simples - my @simples = $in->getChildNodes; - foreach (@simples){ # $_ = - next unless $_->getNodeType == ELEMENT_NODE; - if ($desired_namespace){ - my $ns = $_->getAttributeNode('namespace'); # get the namespace DOM node - $ns = $_->getAttributeNode('moby:namespace') unless ($ns); # perhaps it is namespaced... - unless ($ns){ # if we don't get it at all, then move on to the next input - push @ids, undef; # but push an undef onto teh stack in order - next; - } - $ns = $ns->getValue; # if we have a namespace, then get its value - ($s, $m, $ns) = $OS->namespaceExists(term => $ns); - - unless ($ns eq $desired_namespace){ # we are registering as working in a particular namespace, so check this - push @ids, undef; # and push undef onto the stack if it isn't - next; - } + next unless $in->nodeName =~ /simple/i; # only allow simples + my @simples = $in->childNodes; + foreach ( @simples ) { # $_ = + next unless $_->nodeType == ELEMENT_NODE; + if ( $desired_namespace ) { + my $ns = + $_->getAttributeNode( 'namespace' ) + ; # get the namespace DOM node + $ns = $_->getAttributeNode( 'moby:namespace' ) + unless ( $ns ); # perhaps it is namespaced... + unless ( $ns ) + { # if we don't get it at all, then move on to the next input + push @ids, + undef; # but push an undef onto teh stack in order + next; + } + $ns = + $ns->getValue; # if we have a namespace, then get its value + ( $s, $m, $ns ) = $OS->namespaceExists( term => $ns ); + unless ( $ns eq $desired_namespace ) + { # we are registering as working in a particular namespace, so check this + push @ids, + undef; # and push undef onto the stack if it isn't + next; + } } + # Now do the same thing for ID's - my $id = $_->getAttributeNode('id'); - $id = $_->getAttributeNode('moby:id') unless ($id); - unless ($id){ + my $id = $_->getAttributeNode( 'id' ); + $id = $_->getAttributeNode( 'moby:id' ) unless ( $id ); + unless ( $id ) { push @ids, undef; next; } $id = $id->getValue; - unless (defined $id){ # it has to have a hope in hell of retrieving something... - push @ids, undef; # otherwise push undef onto the stack if it isn't + unless ( defined $id ) + { # it has to have a hope in hell of retrieving something... + push @ids, + undef; # otherwise push undef onto the stack if it isn't next; } push @ids, $id; @@ -622,7 +638,6 @@ return @ids; } - =head2 getSimpleArticleNamespaceURI name : getSimpleArticleNamespaceURI @@ -636,32 +651,35 @@ =cut - +#Eddie - converted sub getSimpleArticleNamespaceURI { - # pass me a input node and I will give you the lsid of the namespace of that input object - - my ($input_node) = @_; +# pass me a input node and I will give you the lsid of the namespace of that input object + my ( $input_node ) = @_; return undef unless $input_node; my $OS = MOBY::Client::OntologyServer->new; - + #$input_node = "" - my @simples = $input_node->getChildNodes; - foreach (@simples){ # $_ = # should be just one, so I will return at will from this routine - next unless $_->getNodeType == ELEMENT_NODE; - my $ns = $_->getAttributeNode('namespace'); # get the namespace DOM node - $ns = $_->getAttributeNode('moby:namespace') unless ($ns); # perhaps it is namespaced... - unless ($ns){ # if we don't get it at all, then move on to the next input - return undef + my @simples = $input_node->childNodes; + foreach ( @simples ) + { # $_ = # should be just one, so I will return at will from this routine + next unless $_->nodeType == ELEMENT_NODE; + my $ns = + $_->getAttributeNode( 'namespace' ); # get the namespace DOM node + $ns = $_->getAttributeNode( 'moby:namespace' ) + unless ( $ns ); # perhaps it is namespaced... + unless ( $ns ) + { # if we don't get it at all, then move on to the next input + return undef; } - my ($s, $m, $lsid) = $OS->namespaceExists(term => $ns->getValue); # if we have a namespace, then get its value + my ( $s, $m, $lsid ) = + $OS->namespaceExists( term => $ns->getValue ) + ; # if we have a namespace, then get its value return undef unless $s; - return $lsid + return $lsid; } } - - =head2 simpleResponse name : simpleResponse @@ -678,47 +696,49 @@ =cut - sub simpleResponse { - my ($data, $articleName, $qID) = @_; # articleName optional - $qID = &_getQueryID($qID) if ref($qID) =~ /XML::DOM/; # in case they send the DOM instead of the ID - - $data ||=''; # initialize to avoid uninit value errors - $qID ||=""; - $articleName ||=""; - if ($articleName) { - return " + my ( $data, $articleName, $qID ) = @_; # articleName optional + $qID = &_getQueryID( $qID ) + if ref( $qID ) =~ + /XML::DOM/; # in case they send the DOM instead of the ID + $data ||= ''; # initialize to avoid uninit value errors + $qID ||= ""; + $articleName ||= ""; + if ( $articleName ) { + return " $data "; - } elsif($data) { - return " + } elsif ( $data ) { + return " $data "; - } else { - return " + } else { + return " "; } } +#Eddie - converted sub _getQueryID { - my ($query) = @_; - unless (ref($query) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($query); - $query = $doc->getDocumentElement(); - } - return '' unless ($query->getTagName =~/queryInput/ || $query->getTagName =~/mobyData/); - my $id = $query->getAttribute('queryID'); - $id ||= $query->getAttribute('moby:queryID'); - return $id; + my ( $query ) = @_; + unless ( ref( $query ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $query ); + $query = $doc->getDocumentElement(); + } + return '' + unless ( $query->nodeName =~ /queryInput/ + || $query->nodeName =~ /mobyData/ ); #Eddie - unsure + my $id = $query->getAttribute( 'queryID' ); + $id ||= $query->getAttribute( 'moby:queryID' ); + return $id; } - =head2 collectionResponse name : collectionResponse @@ -735,45 +755,43 @@ =cut - sub collectionResponse { - my ($data, $articleName, $qID) = @_; # articleName optional - my $content = ""; - $data ||=[]; - $qID ||= ''; - unless ((ref($data) =~ /array/i) && $data->[0]){ # we're expecting an arrayref as input data,and it must not be empty - return ""; - } - - foreach (@{$data}){ - if($_) { - $content .= " + my ( $data, $articleName, $qID ) = @_; # articleName optional + my $content = ""; + $data ||= []; + $qID ||= ''; + unless ( ( ref( $data ) =~ /array/i ) && $data->[0] ) + { # we're expecting an arrayref as input data,and it must not be empty + return ""; + } + foreach ( @{$data} ) { + if ( $_ ) { + $content .= " $_ "; - } else { - $content .= " + } else { + $content .= " "; - } - } - if ($articleName) { - return " + } + } + if ( $articleName ) { + return " $content "; - } else { - return " + } else { + return " $content "; - } + } } - =head2 responseHeader name : responseHeader @@ -795,23 +813,22 @@ =cut - sub responseHeader { - use HTML::Entities (); - my ($auth, $notes) = &_rearrange([qw[AUTHORITY NOTE]], @_); - $auth ||="not_provided"; - $notes ||=""; - my $xml = "". - "". - ""; - if ($notes){ - my $encodednotes = HTML::Entities::encode($notes); - $xml .="$encodednotes"; - } - return $xml; + use HTML::Entities (); + my ( $auth, $notes ) = &_rearrange( [qw[AUTHORITY NOTE]], @_ ); + $auth ||= "not_provided"; + $notes ||= ""; + my $xml = + "" + . "" + . ""; + if ( $notes ) { + my $encodednotes = HTML::Entities::encode( $notes ); + $xml .= "$encodednotes"; + } + return $xml; } - =head2 responseFooter name : responseFooter @@ -825,13 +842,10 @@ =cut - sub responseFooter { - return ""; + return ""; } - - =head2 getInputs name : getInputs @@ -845,28 +859,29 @@ =cut - +#Eddie - converted sub getInputs { - - my ($XML) = @_; - my $moby; - unless (ref($XML) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $moby = $doc->getDocumentElement(); - } - my @queries; - - foreach my $querytag('queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData'){ - my $x = $moby->getElementsByTagName($querytag); # get the mobyData block - for (0..$x->getLength-1){ # there may be more than one mobyData per message - push @queries, $x->item($_); - } - } - return @queries; # return them in the order that they were discovered. + my ( $XML ) = @_; + my $moby; + unless ( ref( $XML ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $moby = $doc->getDocumentElement(); + } + my @queries; + foreach my $querytag ( 'queryInput', 'moby:queryInput', 'mobyData', + 'moby:mobyData' ) + { + my $x = + $moby->getElementsByTagName( $querytag ); # get the mobyData block + for ( 1 .. $x->size() ) + { # there may be more than one mobyData per message + push @queries, $x->get_node( $_ ); + } + } + return @queries; # return them in the order that they were discovered. } - =head2 getInputID name : getInputID @@ -881,23 +896,21 @@ =cut - sub getInputID { - my ($XML) = @_; - unless (ref($XML) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $XML = $doc->getDocumentElement(); - } - return '' unless (($XML->getTagName =~ /queryInput/) || ($XML->getTagName =~ /mobyData/)); - my $qid = $XML->getAttribute('queryID'); - $qid ||= $XML->getAttribute('moby:queryID'); - - return defined($qid)?$qid:''; + my ( $XML ) = @_; + unless ( ref( $XML ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $XML = $doc->getDocumentElement(); + } + return '' + unless ( ( $XML->nodeName =~ /queryInput/ ) + || ( $XML->nodeName =~ /mobyData/ ) ); + my $qid = $XML->getAttribute( 'queryID' ); + $qid ||= $XML->getAttribute( 'moby:queryID' ); + return defined( $qid ) ? $qid : ''; } - - =head2 getArticlesAsObjects name : DO NOT USE!! @@ -910,37 +923,42 @@ =cut - +#Eddie - converted sub getArticlesAsObjects { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless (($moby->getTagName =~ /queryInput/) || ($moby->getTagName =~ /queryResponse/) || ($moby->getTagName =~ /mobyData/)); - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/ || $child->getTagName =~ /Collection/ || $child->getTagName =~ /Parameter/); - my $object; - if ($child->getTagName =~ /Simple/){ - $object = MOBY::Client::SimpleArticle->new(XML_DOM => $child); - } elsif ($child->getTagName =~ /Collection/){ - $object = MOBY::Client::CollectionArticle->new(XML_DOM => $child); - } elsif ($child->getTagName =~ /Parameter/){ - $object = MOBY::Client::SecondaryArticle->new(XML_DOM => $child); - } - next unless $object; - push @articles, $object; # take the child elements, which are or - } - return @articles; # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef + unless ( ( $moby->nodeName =~ /queryInput/ ) + || ( $moby->nodeName =~ /queryResponse/ ) + || ( $moby->nodeName =~ /mobyData/ ) ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next + unless ( $child->nodeName =~ /Simple/ + || $child->nodeName =~ /Collection/ + || $child->nodeName =~ /Parameter/ ); + my $object; + if ( $child->nodeName =~ /Simple/ ) { + $object = MOBY::Client::SimpleArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName =~ /Collection/ ) { + $object = MOBY::Client::CollectionArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName =~ /Parameter/ ) { + $object = MOBY::Client::SecondaryArticle->new( XML_DOM => $child ); + } + next unless $object; + push @articles, $object + ; # take the child elements, which are or + } + return @articles; # return them. } - =head2 getCollectedSimples name : getCollectedSimples @@ -951,29 +969,26 @@ =cut - sub getCollectedSimples { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - return undef unless $moby->getNodeType == ELEMENT_NODE; - return undef unless ($moby->getTagName =~ /Collection/); - - my @articles; - foreach my $child($moby->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - next unless ($child->getTagName =~ /Simple/); - push @articles, $child; # take the child elements, which are or - } - return (@articles); # return them. + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + return undef unless $moby->nodeType == ELEMENT_NODE; + return undef unless ( $moby->nodeName =~ /Collection/ ); + my @articles; + foreach my $child ( $moby->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + next unless ( $child->nodeName =~ /Simple/ ); + push @articles, $child + ; # take the child elements, which are or + } + return ( @articles ); # return them. } - =head2 getInputArticles name : getInputArticles @@ -1006,36 +1021,34 @@ =cut - +#Eddie - converted sub getInputArticles { - - my ($moby) = @_; - unless (ref($moby) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($moby); - $moby = $doc->getDocumentElement(); - } - - my $x; - foreach ('queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData'){ - $x = $moby->getElementsByTagName($_); # get the mobyData block - last if $x->item(0); - } - return undef unless $x->item(0); # in case there was no match at all - - my @queries; - for (0..$x->getLength-1){ # there may be more than one mobyData per message + my ( $moby ) = @_; + unless ( ref( $moby ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $moby ); + $moby = $doc->getDocumentElement(); + } + my $x; + foreach ( 'queryInput', 'moby:queryInput', 'mobyData', 'moby:mobyData' ) { + $x = $moby->getElementsByTagName( $_ ); # get the mobyData block + last if $x->get_node( 1 ); + } + return undef unless $x->get_node( 1 ); # in case there was no match at all + my @queries; + for ( 1 .. $x->size() ) { # there may be more than one mobyData per message my @this_query; - foreach my $child($x->item($_)->getChildNodes){ # there may be more than one Simple/Collection per input; iterate over them - next unless $child->getNodeType == ELEMENT_NODE; # ignore whitespace - push @this_query, $child; # take the child elements, which are or - } - push @queries, \@this_query; + foreach my $child ( $x->get_node( $_ )->childNodes ) + { # there may be more than one Simple/Collection per input; iterate over them + next unless $child->nodeType == ELEMENT_NODE; # ignore whitespace + push @this_query, $child + ; # take the child elements, which are or + } + push @queries, \@this_query; } - return @queries; # return them in the order that they were discovered. + return @queries; # return them in the order that they were discovered. } - =head2 isSimpleArticle name : isSimpleArticle @@ -1046,18 +1059,19 @@ =cut +#Eddie - converted sub isSimpleArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Simple/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse_string( $DOM ); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Simple/ ); + return 0; } =head2 isCollectionArticle @@ -1070,21 +1084,21 @@ =cut +#Eddie - converted sub isCollectionArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Collection/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse_string( $DOM ); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Collection/ ); + return 0; } - =head2 isSecondaryArticle name : isSecondaryArticle @@ -1095,21 +1109,21 @@ =cut +#Eddie - converted sub isSecondaryArticle { - my ($DOM) = @_; - unless (ref($DOM) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc; - eval {$doc = $parser->parse($DOM);}; - return 0 if ($@); - $DOM = $doc->getDocumentElement(); - } - $DOM = $DOM->getDocumentElement if ($DOM->isa("XML::DOM::Document")); - return 1 if ($DOM->getTagName =~ /Parameter/); - return 0; + my ( $DOM ) = @_; + unless ( ref( $DOM ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc; + eval { $doc = $parser->parse( _string $DOM); }; + return 0 if ( $@ ); + $DOM = $doc->getDocumentElement(); + } + $DOM = $DOM->getDocumentElement if ( $DOM->isa( "XML::LibXML::Document" ) ); + return 1 if ( $DOM->nodeName =~ /Parameter/ ); + return 0; } - =head2 extractRawContent name : extractRawContent @@ -1121,20 +1135,17 @@ =cut - sub extractRawContent { - my ($article) = @_; - return "" unless $article; - return "" unless ref($article) =~ /XML::DOM/; - my $response; - foreach ($article->getChildNodes){ - $response .= $_->toString; - } - return $response; - + my ( $article ) = @_; + return "" unless $article; + return "" unless ref( $article ) =~ /XML::DOM/; + my $response; + foreach ( $article->childNodes ) { + $response .= $_->toString; + } + return $response; } - =head2 getNodeContentWithArticle name : getNodeContentWithArticle @@ -1219,62 +1230,73 @@ =cut -sub getNodeContentWithArticle{ - # give me a DOM, a TagName, an articleName and I will return you the content - # of that node **as a string** (beware if there are additional XML tags in there!) - # this is meant for MOBYesque PRIMITIVES - things like: - # TAGCTGATCGAGCTGATGCTGA - # call _getNodeContentsWithAttribute($DOM_NODE, "String", "SequenceString") - # and I will return "TACGATGCTAGCTAGCGATCGG" - # Caveat Emptor - I will NOT chop off leading and trailing whitespace or - # carriage returns, as these might be meaningful! - my ($node, $element, $articleName) = @_; - my @contents; - return () unless ref($node)=~/XML::DOM/; - return () unless $element; - return () unless $articleName; - my $nodes = $node->getElementsByTagName($element); - unless ($nodes->item(0)){ - $nodes = $node->getElementsByTagName("moby:$element"); - } +#Eddie - converted +sub getNodeContentWithArticle { - for (0..$nodes->getLength-1){ - my $child = $nodes->item($_); - if ( - (($child->getAttribute("articleName")) && (($child->getAttribute("articleName") eq $articleName))) - || (($child->getAttribute("moby:articleName")) && (($child->getAttribute("moby:articleName") eq $articleName)))){ - # now we have a valid child, get the content... stringified... regardless of what it is - - if (isSecondaryArticle($child)){ - my $resp; - my $valuenodes = $child->getElementsByTagName('Value'); - unless ($valuenodes->item(0)){ - $valuenodes = $child->getElementsByTagName("moby:Value"); - } - for (0..$valuenodes->getLength-1){ - my $valuenode = $valuenodes->item($_); - foreach my $amount ($valuenode->getChildNodes){ - next unless $amount->getNodeType == TEXT_NODE; - $resp .= $amount->toString; - } - } - push @contents, $resp; - - } else { - my $resp; - foreach ($child->getChildNodes){ - next unless $_->getNodeType == TEXT_NODE; - $resp .= $_->toString; - } - push @contents, $resp; - } - } +# give me a DOM, a TagName, an articleName and I will return you the content +# of that node **as a string** (beware if there are additional XML tags in there!) +# this is meant for MOBYesque PRIMITIVES - things like: +# TAGCTGATCGAGCTGATGCTGA +# call _getNodeContentsWithAttribute($DOM_NODE, "String", "SequenceString") +# and I will return "TACGATGCTAGCTAGCGATCGG" +# Caveat Emptor - I will NOT chop off leading and trailing whitespace or +# carriage returns, as these might be meaningful! + my ( $node, $element, $articleName ) = @_; + my @contents; + return () unless ref( $node ) =~ /XML::DOM/; + return () unless $element; + return () unless $articleName; + my $nodes = $node->getElementsByTagName( $element ); + unless ( $nodes->get_node( 1 ) ) { + $nodes = $node->getElementsByTagName( "moby:$element" ); + } + for ( 1 .. $nodes->size() ) { + my $child = $nodes->get_node( $_ ); + if ( + ( + ( $child->getAttribute( "articleName" ) ) + && ( ( $child->getAttribute( "articleName" ) eq $articleName ) ) + ) + || ( + ( $child->getAttribute( "moby:articleName" ) ) + && ( + ( + $child->getAttribute( "moby:articleName" ) eq + $articleName + ) + ) + ) + ) + { + +# now we have a valid child, get the content... stringified... regardless of what it is + if ( isSecondaryArticle( $child ) ) { + my $resp; + my $valuenodes = $child->getElementsByTagName( 'Value' ); + unless ( $valuenodes->get_node( 1 ) ) { + $valuenodes = $child->getElementsByTagName( "moby:Value" ); + } + for ( 1 .. $valuenodes->size() ) { + my $valuenode = $valuenodes->get_node( $_ ); + foreach my $amount ( $valuenode->childNodes ) { + next unless $amount->nodeType == TEXT_NODE; + $resp .= $amount->toString; + } + } + push @contents, $resp; + } else { + my $resp; + foreach ( $child->childNodes ) { + next unless $_->nodeType == TEXT_NODE; + $resp .= $_->toString; + } + push @contents, $resp; + } + } } return @contents; } - - =head2 validateNamespaces name : validateNamespaces @@ -1287,22 +1309,19 @@ =cut - sub validateNamespaces { - # give me a list of namespaces and I will return the LSID's in order - # I return undef in that list position if the namespace is invalid - my (@namespaces) = @_; - my $OS = MOBY::Client::OntologyServer->new; - my @lsids; - foreach (@namespaces){ - my ($s, $m, $LSID) = $OS->namespaceExists(term => $_); - push @lsids, $s?$LSID:undef; - } - return @lsids; -} - - + # give me a list of namespaces and I will return the LSID's in order + # I return undef in that list position if the namespace is invalid + my ( @namespaces ) = @_; + my $OS = MOBY::Client::OntologyServer->new; + my @lsids; + foreach ( @namespaces ) { + my ( $s, $m, $LSID ) = $OS->namespaceExists( term => $_ ); + push @lsids, $s ? $LSID : undef; + } + return @lsids; +} =head2 validateThisNamespace @@ -1315,19 +1334,21 @@ =cut - sub validateThisNamespace { - my ($ns, @namespaces) = @_; - return 1 unless scalar @namespaces; # if you don't give me a list, I assume everything is valid... - if (ref($namespaces[1]) =~ /ARRAY/){@namespaces = @{$namespaces[1]}} # if you send me an arrayref I should be kind... DWIM! - foreach (@namespaces){ - next unless $_; - return 1 if $ns eq $_; - } - return 0; + my ( $ns, @namespaces ) = @_; + return 1 + unless scalar @namespaces + ; # if you don't give me a list, I assume everything is valid... + if ( ref( $namespaces[1] ) =~ /ARRAY/ ) { + @namespaces = @{ $namespaces[1] }; + } # if you send me an arrayref I should be kind... DWIM! + foreach ( @namespaces ) { + next unless $_; + return 1 if $ns eq $_; + } + return 0; } - =head2 getResponseArticles (a.k.a. extractResponseArticles) name : getResponseArticles @@ -1343,56 +1364,63 @@ *getResponseArticles = \&extractResponseArticles; *getResponseArticles = \&extractResponseArticles; +#Eddie - converted sub extractResponseArticles { - my ($result) = @_; - return ([], []) unless $result; - my $moby; - unless (ref($result) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($result); - $moby = $doc->getDocumentElement(); - } else { - $moby = $result->getDocumentElement(); - } - my @objects; - my @collections; - my @Xrefs; - my $success = 0; - foreach my $which ('moby:queryResponse', 'queryResponse', 'mobyData', 'moby:mobyData'){ - my $responses = $moby->getElementsByTagName($which); - next unless $responses; - foreach my $n(0..($responses->getLength - 1)){ - my $resp = $responses->item($n); - foreach my $response_component($resp->getChildNodes){ - next unless $response_component->getNodeType == ELEMENT_NODE; - if (($response_component->getTagName eq "Simple") || ($response_component->getTagName eq "moby:Simple")){ - foreach my $Object($response_component->getChildNodes) { - next unless $Object->getNodeType == ELEMENT_NODE; - $success = 1; - push @objects,$Object; - } - } elsif (($response_component->getTagName eq "Collection") || ($response_component->getTagName eq "moby:Collection")){ - my @objects; - foreach my $simple($response_component->getChildNodes){ - next unless $simple->getNodeType == ELEMENT_NODE; - next unless (($simple->getTagName eq "Simple") || ($simple->getTagName eq "moby:Simple")); - foreach my $Object($simple->getChildNodes) { - next unless $Object->getNodeType == ELEMENT_NODE; - $success = 1; - push @objects,$Object; - } - } - push @collections, \@objects; #I'm not using collections yet, so we just use Simples. - } - } - } - } - return (\@collections, \@objects); + my ( $result ) = @_; + return ( [], [] ) unless $result; + my $moby; + unless ( ref( $result ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $result ); + $moby = $doc->getDocumentElement(); + } else { + $moby = $result->getDocumentElement(); + } + my @objects; + my @collections; + my @Xrefs; + my $success = 0; + foreach my $which ( 'moby:queryResponse', 'queryResponse', 'mobyData', + 'moby:mobyData' ) + { + my $responses = $moby->getElementsByTagName( $which ); + next unless $responses; + foreach my $n ( 1 .. ( $responses->size() ) ) { + my $resp = $responses->get_node( $n ); + foreach my $response_component ( $resp->childNodes ) { + next unless $response_component->nodeType == ELEMENT_NODE; + if ( ( $response_component->nodeName eq "Simple" ) + || ( $response_component->nodeName eq "moby:Simple" ) ) + { + foreach my $Object ( $response_component->childNodes ) { + next unless $Object->nodeType == ELEMENT_NODE; + $success = 1; + push @objects, $Object; + } + } elsif ( ( $response_component->nodeName eq "Collection" ) + || ( $response_component->nodeName eq "moby:Collection" ) ) + { + my @objects; + foreach my $simple ( $response_component->childNodes ) { + next unless $simple->nodeType == ELEMENT_NODE; + next + unless ( ( $simple->nodeName eq "Simple" ) + || ( $simple->nodeName eq "moby:Simple" ) ); + foreach my $Object ( $simple->childNodes ) { + next unless $Object->nodeType == ELEMENT_NODE; + $success = 1; + push @objects, $Object; + } + } + push @collections, \@objects + ; #I'm not using collections yet, so we just use Simples. + } + } + } + } + return ( \@collections, \@objects ); } - - - =head2 getServiceNotes name : getServiceNotes @@ -1403,37 +1431,38 @@ =cut - +#Eddie - converted sub getServiceNotes { - my ($result) = @_; - return ("") unless $result; - my $moby; - unless (ref($result) =~ /XML\:\:DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($result); - $moby = $doc->getDocumentElement(); - } else { - $moby = $result->getDocumentElement(); - } - my @objects; - my @collections; - my @Xrefs; - my $success = 0; - my $responses = $moby->getElementsByTagName('moby:serviceNotes'); - $responses ||= $moby->getElementsByTagName('serviceNotes'); - my $content; - foreach my $n(0..($responses->getLength - 1)){ - my $resp = $responses->item($n); - foreach my $response_component($resp->getChildNodes){ -# $content .= $response_component->toString; - $content .= $response_component->getNodeValue if ($response_component->getNodeType == TEXT_NODE); - } - } - return ($content); + my ( $result ) = @_; + return ( "" ) unless $result; + my $moby; + unless ( ref( $result ) =~ /XML\:\:DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $result ); + $moby = $doc->getDocumentElement(); + } else { + $moby = $result->getDocumentElement(); + } + my @objects; + my @collections; + my @Xrefs; + my $success = 0; + my $responses = $moby->getElementsByTagName( 'moby:serviceNotes' ); + $responses ||= $moby->getElementsByTagName( 'serviceNotes' ); + my $content; + + foreach my $n ( 1 .. ( $responses->size() ) ) { + my $resp = $responses->get_node( $n ); + foreach my $response_component ( $resp->childNodes ) { + + # $content .= $response_component->toString; + $content .= $response_component->getNodeValue + if ( $response_component->nodeType == TEXT_NODE ); + } + } + return ( $content ); } - - =head2 getCrossReferences name : getCrossReferences @@ -1460,43 +1489,44 @@ =cut - +#Eddie - converted sub getCrossReferences { - - my ($XML) = @_; - unless (ref($XML) =~ /XML::DOM/){ - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($XML); - $XML = $doc->getDocumentElement(); - } - my @xrefs; my @XREFS; - my @simples; - return @XREFS if ($XML->getTagName =~/Collection/); - if ($XML->getTagName =~/Simple/){ - foreach my $child ($XML->getChildNodes){ - next unless $child->getNodeType == ELEMENT_NODE; - $XML = $child; - last; # enforce proper MOBY message structure - } - } - foreach ($XML->getChildNodes){ - next unless $_->getNodeType == ELEMENT_NODE; - next unless $_->getTagName =~/CrossReference/; - foreach my $xref($_->getChildNodes){ - next unless $xref->getNodeType == ELEMENT_NODE; - next unless ($xref->getTagName =~/Xref/ || $xref->getTagName =~ /Object/); - push @xrefs, $xref; - } - } - foreach (@xrefs){ - my $x = &_makeXrefType($_) if $_->getTagName =~/Xref/; - $x = &_makeObjectType($_) if $_->getTagName =~ /Object/; - push @XREFS, $x if $x; - } + my ( $XML ) = @_; + unless ( ref( $XML ) =~ /XML::DOM/ ) { + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $XML ); + $XML = $doc->getDocumentElement(); + } + my @xrefs; + my @XREFS; + my @simples; + return @XREFS if ( $XML->nodeName =~ /Collection/ ); + if ( $XML->nodeName =~ /Simple/ ) { + foreach my $child ( $XML->childNodes ) { + next unless $child->nodeType == ELEMENT_NODE; + $XML = $child; + last; # enforce proper MOBY message structure + } + } + foreach ( $XML->childNodes ) { + next unless $_->nodeType == ELEMENT_NODE; + next unless $_->nodeName =~ /CrossReference/; + foreach my $xref ( $_->childNodes ) { + next unless $xref->nodeType == ELEMENT_NODE; + next + unless ( $xref->nodeName =~ /Xref/ + || $xref->nodeName =~ /Object/ ); + push @xrefs, $xref; + } + } + foreach ( @xrefs ) { + my $x = &_makeXrefType( $_ ) if $_->nodeName =~ /Xref/; + $x = &_makeObjectType( $_ ) if $_->nodeName =~ /Object/; + push @XREFS, $x if $x; + } return @XREFS; } - =head2 whichDeepestParentObject name : whichDeepestParentObject @@ -1515,76 +1545,87 @@ =cut - sub whichDeepestParentObject { - use MOBY::Client::OntologyServer; - my ($CENTRAL, $queryTerm, $termlist) = @_; - return (undef,undef) unless ($CENTRAL && $queryTerm && $termlist && (ref($termlist) =~ /ARRAY/)); - my %nodeLSIDs; - my $queryLSID = $CENTRAL->ObjLSID($queryTerm); - foreach (@$termlist){ # get list of known LSIDs - my $lsid = $CENTRAL->ObjLSID($_); - return ($_, $lsid) if ($lsid eq $queryLSID); # of course, if we find it in the list, then return it right away! - $nodeLSIDs{$lsid}=$_; - } - return (undef, undef) unless keys(%nodeLSIDs); - my $isa = $CENTRAL->ISA($queryTerm, 'Object'); # set the complete parentage in the cache if it isn't already - return (undef, undef) unless $isa; # this should return true or we are in BIIIG trouble! - my @ISAlsids = $CENTRAL->ISA_CACHE($queryTerm); # returns **LSIDs** in order, so we can shift our way back to root - while (my $thislsid = shift @ISAlsids){ # @isas are lsid's - return ($nodeLSIDs{$thislsid},$thislsid) if $nodeLSIDs{$thislsid}; - } - return (undef, undef); + use MOBY::Client::OntologyServer; + my ( $CENTRAL, $queryTerm, $termlist ) = @_; + return ( undef, undef ) + unless ( $CENTRAL + && $queryTerm + && $termlist + && ( ref( $termlist ) =~ /ARRAY/ ) ); + my %nodeLSIDs; + my $queryLSID = $CENTRAL->ObjLSID( $queryTerm ); + foreach ( @$termlist ) { # get list of known LSIDs + my $lsid = $CENTRAL->ObjLSID( $_ ); + return ( $_, $lsid ) + if ( $lsid eq $queryLSID ) + ; # of course, if we find it in the list, then return it right away! + $nodeLSIDs{$lsid} = $_; + } + return ( undef, undef ) unless keys( %nodeLSIDs ); + my $isa = + $CENTRAL->ISA( $queryTerm, 'Object' ) + ; # set the complete parentage in the cache if it isn't already + return ( undef, undef ) + unless $isa; # this should return true or we are in BIIIG trouble! + my @ISAlsids = + $CENTRAL->ISA_CACHE( $queryTerm ) + ; # returns **LSIDs** in order, so we can shift our way back to root + while ( my $thislsid = shift @ISAlsids ) { # @isas are lsid's + return ( $nodeLSIDs{$thislsid}, $thislsid ) if $nodeLSIDs{$thislsid}; + } + return ( undef, undef ); } +#Eddie - converted sub _makeXrefType { - my ($xref) = @_; - my $ns = $xref->getAttributeNode('namespace'); - $ns = $xref->getAttributeNode('moby:namespace') unless $ns; - return undef unless $ns; - my $id = $xref->getAttributeNode('id'); - $id = $xref->getAttributeNode('moby:id') unless $id; - return undef unless $id; - my $xr = $xref->getAttributeNode('xref_type'); - $xr = $xref->getAttributeNode('moby:xref_type') unless $xr; - return undef unless $xr; - my $ec = $xref->getAttributeNode('evidence_code'); - $ec = $xref->getAttributeNode('moby:evidence_code') unless $ec; - return undef unless $ec; - my $au = $xref->getAttributeNode('authURI'); - $au = $xref->getAttributeNode('moby:authURI') unless $au; - return undef unless $au; - my $sn = $xref->getAttributeNode('serviceName'); - $sn = $xref->getAttributeNode('moby:serviceName') unless $sn; - return undef unless $sn; - my $XREF = MOBY::CrossReference->new( - type => "xref", - namespace => $ns->getValue, - id => $id->getValue, - authURI => $au->getValue, - serviceName => $sn->getValue, - evidence_code => $ec->getValue, - xref_type => $xr->getValue - ); - return $XREF; + my ( $xref ) = @_; + my $ns = $xref->getAttributeNode( 'namespace' ); + $ns = $xref->getAttributeNode( 'moby:namespace' ) unless $ns; + return undef unless $ns; + my $id = $xref->getAttributeNode( 'id' ); + $id = $xref->getAttributeNode( 'moby:id' ) unless $id; + return undef unless $id; + my $xr = $xref->getAttributeNode( 'xref_type' ); + $xr = $xref->getAttributeNode( 'moby:xref_type' ) unless $xr; + return undef unless $xr; + my $ec = $xref->getAttributeNode( 'evidence_code' ); + $ec = $xref->getAttributeNode( 'moby:evidence_code' ) unless $ec; + return undef unless $ec; + my $au = $xref->getAttributeNode( 'authURI' ); + $au = $xref->getAttributeNode( 'moby:authURI' ) unless $au; + return undef unless $au; + my $sn = $xref->getAttributeNode( 'serviceName' ); + $sn = $xref->getAttributeNode( 'moby:serviceName' ) unless $sn; + return undef unless $sn; + my $XREF = MOBY::CrossReference->new( + type => "xref", + namespace => $ns->getValue, + id => $id->getValue, + authURI => $au->getValue, + serviceName => $sn->getValue, + evidence_code => $ec->getValue, + xref_type => $xr->getValue + ); + return $XREF; } +#Eddie - converted sub _makeObjectType { - my ($xref) = @_; - my $ns = $xref->getAttributeNode('namespace'); - $ns = $xref->getAttributeNode('moby:namespace') unless $ns; - return undef unless $ns; - my $id = $xref->getAttributeNode('id'); - $id = $xref->getAttributeNode('moby:id') unless $ns; - return undef unless $id; - my $XREF = MOBY::CrossReference->new( - type => "object", - namespace => $ns->getValue, - id => $id->getValue, - ); + my ( $xref ) = @_; + my $ns = $xref->getAttributeNode( 'namespace' ); + $ns = $xref->getAttributeNode( 'moby:namespace' ) unless $ns; + return undef unless $ns; + my $id = $xref->getAttributeNode( 'id' ); + $id = $xref->getAttributeNode( 'moby:id' ) unless $ns; + return undef unless $id; + my $XREF = MOBY::CrossReference->new( + type => "object", + namespace => $ns->getValue, + id => $id->getValue, + ); } - # _rearrange stolen from BioPerl's Bio::RootI.pm # because it is just so useful! @@ -1653,18 +1694,17 @@ =cut - sub _rearrange { -# my $dummy = shift; - my $order = shift; - return @_ unless (substr($_[0]||'',0,1) eq '-'); - push @_,undef unless $#_ %2; - my %param; - while( @_ ) { - (my $key = shift) =~ tr/a-z\055/A-Z/d; #deletes all dashes! - $param{$key} = shift; - } - map { $_ = uc($_) } @$order; # for bug #1343, but is there perf hit here? - return @param{@$order}; + # my $dummy = shift; + my $order = shift; + return @_ unless ( substr( $_[0] || '', 0, 1 ) eq '-' ); + push @_, undef unless $#_ % 2; + my %param; + while ( @_ ) { + ( my $key = shift ) =~ tr/a-z\055/A-Z/d; #deletes all dashes! + $param{$key} = shift; + } + map { $_ = uc( $_ ) } @$order; # for bug #1343, but is there perf hit here? + return @param{@$order}; } =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Config.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/Config.pm 2004/08/24 20:43:33 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/Config.pm 2004/11/18 17:41:14 1.6 @@ -2,168 +2,152 @@ BEGIN { } - - use strict; use Carp; use MOBY::dbConfig; use vars qw($AUTOLOAD); use Text::Shellwords; -use vars '$VERSION','@ISA','@EXPORT','$CONFIG'; - - at ISA = qw(Exporter); +use vars '$VERSION', '@ISA', '@EXPORT', '$CONFIG'; + at ISA = qw(Exporter); @EXPORT = ('$CONFIG'); - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - mobycentral => [undef, 'read/write'], - mobyobject => [undef, 'read/write'], - mobynamespace=> [undef, 'read/write'], - mobyservice => [undef, 'read/write'], - mobyrelationship => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + mobycentral => [ undef, 'read/write' ], + mobyobject => [ undef, 'read/write' ], + mobynamespace => [ undef, 'read/write' ], + mobyservice => [ undef, 'read/write' ], + mobyrelationship => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } # the expected sectionons (listed above) will have their dbCOnfig objects available # as methods. The unexpected sections will have their dbConfig objects available # by $dbConfig = $CONFIG->{section_title} - sub new { - my ($caller, %args) = @_; - -#print STDERR "creating MOBY::Config\n"; + my ( $caller, %args ) = @_; + + #print STDERR "creating MOBY::Config\n"; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $file = $ENV{MOBY_CENTRAL_CONFIG}; + ( -e $file ) || die "MOBY Configuration file $file doesn't exist $!\n"; + chomp $file; + if ( ( -e $file ) && ( !( -d $file ) ) ) { + open IN, + $file + || die + "can't open MOBY Configuration file $file for unknown reasons$!\n"; + } + my @sections = split /(\[\s*\S+\s*\][^\[]*)/s, join "", ; - my $self = bless {}, $class; + #print STDERR "split into @sections\n"; + foreach my $section (@sections) { - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - my $file = $ENV{MOBY_CENTRAL_CONFIG}; - (-e $file) || die "MOBY Configuration file $file doesn't exist $!\n"; - - chomp $file; - if ((-e $file) && (!(-d $file))){ - open IN, $file || die "can't open MOBY Configuration file $file for unknown reasons$!\n"; - } - my @sections = split /(\[\s*\S+\s*\][^\[]*)/s, join "", ; -#print STDERR "split into @sections\n"; - foreach my $section (@sections){ -#print STDERR "calling MOBY::dbConfig\n"; - my $dbConfig = MOBY::dbConfig->new(section => $section); # this is an object full of strings, no actual connections. It represents the information in the config file + #print STDERR "calling MOBY::dbConfig\n"; + my $dbConfig = + MOBY::dbConfig->new( section => $section ) + ; # this is an object full of strings, no actual connections. It represents the information in the config file next unless $dbConfig; my $dbname = $dbConfig->section_title; next unless $dbname; + #print STDERR "setting the COnfig dbConfig for the title $dbname with object $dbConfig\n\n"; $self->{$dbname} = $dbConfig; } - $CONFIG = $self; - return $self; - + return $self; } sub getDataAdaptor { - my ($self, %args) = @_; - + my ( $self, %args ) = @_; my $source = $args{datasource}; $source ||= $args{source}; - $source ||="mobycentral"; - - if ($self->{"${source}Adaptor"}){return $self->{"${source}Adaptor"}}; # read from cache - - my $username = $self->$source->{username}; # $self->$source returns a MOBY::dbConfig object - my $password = $self->$source->{password}; - my $port = $self->$source->{port}; - my $dbname = $self->$source->{dbname}; - my $url = $self->$source->{url}; - my $adaptor = $self->$source->{adaptor}; - + $source ||= "mobycentral"; + if ( $self->{"${source}Adaptor"} ) { return $self->{"${source}Adaptor"} } + ; # read from cache + my $username = + $self->$source + ->{username}; # $self->$source returns a MOBY::dbConfig object + my $password = $self->$source->{password}; + my $port = $self->$source->{port}; + my $dbname = $self->$source->{dbname}; + my $url = $self->$source->{url}; + my $adaptor = $self->$source->{adaptor}; eval "require $adaptor"; return undef if $@; - - my $ADAPTOR = $adaptor->new( # by default, this is queryapi::mysql - username => $username, - password => $password, - port => $port, - dbname => $dbname, - url => $url, - ); - if ($ADAPTOR){ - $self->{"${source}Adaptor"} = $ADAPTOR; # cache it + my $ADAPTOR = $adaptor->new( # by default, this is queryapi::mysql + username => $username, + password => $password, + port => $port, + dbname => $dbname, + url => $url, + ); + if ($ADAPTOR) { + $self->{"${source}Adaptor"} = $ADAPTOR; # cache it return $ADAPTOR; } else { - return undef + return undef; } - } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm 2003/10/25 22:21:29 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/CrossReference.pm 2004/11/18 17:41:14 1.3 @@ -1,13 +1,10 @@ package MOBY::CrossReference; #$Id$ - use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::CrossReference - a small object describing a MOBY Simple input/output article @@ -54,7 +51,6 @@ =cut - =head2 type Title : type @@ -86,8 +82,6 @@ =cut - - =head2 authURI Title : authURI @@ -98,7 +92,6 @@ =cut - =head2 serviceName Title : serviceName @@ -109,7 +102,6 @@ =cut - =head2 evidence_code Title : evidence_code @@ -120,7 +112,6 @@ =cut - =head2 xref_type Title : xref_type @@ -131,7 +122,6 @@ =cut - =head2 Object Title : Object @@ -141,107 +131,100 @@ =cut - { - sub type { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_type}; - $self->{_type} = $type; - return $old; - } - return $self->{_type}; - } - - sub namespace { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_namespace}; - $self->{_namespace} = $type; - return $old; - } - return $self->{_namespace}; - - } - - sub id { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_id}; - $self->{_id}=$type; - return $old; - } - return $self->{_id}; - - } - - sub authURI { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_authURI}; - $self->{_authURI}= $type; - return $old; - } - return $self->{_authURI}; - - } - - sub serviceName { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_serviceName}; - $self->{_serviceName}=$type; - return $old; - } - return $self->{_serviceName}; - - } - - sub evidence_code { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_evidenceCode}; - $self->{_evidenceCode}=$type; - return $old; - } - return $self->{_evidenceCode}; - } - - sub xref_type { - my ($self, $type) = @_; - if ($type){ - my $old = $self->{_xref_type}; - $self->{_xref_type}=$type; - return $old; - } - return $self->{_xref_type}; - } + + sub type { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_type}; + $self->{_type} = $type; + return $old; + } + return $self->{_type}; + } + + sub namespace { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_namespace}; + $self->{_namespace} = $type; + return $old; + } + return $self->{_namespace}; + } + + sub id { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_id}; + $self->{_id} = $type; + return $old; + } + return $self->{_id}; + } + + sub authURI { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_authURI}; + $self->{_authURI} = $type; + return $old; + } + return $self->{_authURI}; + } + + sub serviceName { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_serviceName}; + $self->{_serviceName} = $type; + return $old; + } + return $self->{_serviceName}; + } + + sub evidence_code { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_evidenceCode}; + $self->{_evidenceCode} = $type; + return $old; + } + return $self->{_evidenceCode}; + } + + sub xref_type { + my ( $self, $type ) = @_; + if ($type) { + my $old = $self->{_xref_type}; + $self->{_xref_type} = $type; + return $old; + } + return $self->{_xref_type}; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - while (my ($key, $value) = each %args){ - $self->$key($value); - } - return undef unless ($self->type && $self->namespace && $self->id); - return $self; - + my $self = bless {}, $class; + while ( my ( $key, $value ) = each %args ) { + $self->$key($value); + } + return undef unless ( $self->type && $self->namespace && $self->id ); + return $self; } sub Object { - my ($self) = @_; - return "" unless ($self->namespace && $self->id); - return ""; + my ($self) = @_; + return "" unless ( $self->namespace && $self->id ); + return ""; } - - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm 2004/06/24 22:32:38 1.45 +++ /home/repository/moby/moby-live/Perl/MOBY/OntologyServer.pm 2004/11/18 17:41:14 1.46 @@ -1,10 +1,8 @@ #$Id$ - # this module needs to talk to the 'real' ontology # server as well as the MOBY Central database # in order to ensure that they are both in sync - =head1 NAME MOBY::OntologyServer - A way for MOBY Central to query the @@ -12,7 +10,6 @@ =cut - =head1 SYNOPSIS use MOBY::OntologyServer; @@ -65,112 +62,115 @@ =cut - - package MOBY::OntologyServer; - use strict; use Carp; use vars qw($AUTOLOAD); use DBI; use DBD::mysql; use MOBY::Config; - my $debug = 0; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - ontology => [undef, 'read/write'], - database => [undef, 'read/write'], - host => [undef, 'read/write'], - username=> [undef, 'read/write'], - password=> [undef, 'read/write'], - port => [undef, 'read/write'], - dbh => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + ontology => [ undef, 'read/write' ], + database => [ undef, 'read/write' ], + host => [ undef, 'read/write' ], + username => [ undef, 'read/write' ], + password => [ undef, 'read/write' ], + port => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + $self->ontology eq 'object' && $self->database('mobyobject'); + $self->ontology eq 'namespace' && $self->database('mobynamespace'); + $self->ontology eq 'service' && $self->database('mobyservice'); + $self->ontology eq 'relationship' && $self->database('mobyrelationship'); - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - $self->ontology eq 'object' && $self->database('mobyobject'); - $self->ontology eq 'namespace' && $self->database('mobynamespace'); - $self->ontology eq 'service' && $self->database('mobyservice'); - $self->ontology eq 'relationship' && $self->database('mobyrelationship'); + #print STDERR "\n\nCONFIG object is $CONFIG\n\n"; + $CONFIG ||= MOBY::Config->new; -#print STDERR "\n\nCONFIG object is $CONFIG\n\n"; - $CONFIG ||=MOBY::Config->new; #print STDERR "got username ",($CONFIG->{mobycentral}->{username})," for mobycentral\n"; - $self->username($CONFIG->{$self->database}->{username}) unless $self->username; - $self->password($CONFIG->{$self->database}->{password}) unless $self->password; - $self->port($CONFIG->{$self->database}->{port}) unless $self->port; - $self->host($CONFIG->{$self->database}->{url}) unless $self->host; - - my $host = $self->host?$self->host:$ENV{MOBY_CENTRAL_URL}; chomp $host; - my $username = $self->username?$self->username:$ENV{MOBY_CENTRAL_DBUSER}; chomp $username; - my $password = $self->password?$self->password:$ENV{MOBY_CENTRAL_DBPASS}; chomp $password if $password; $password =~ s/\s//g if $password; - my $port = $self->port?$self->port:$ENV{MOBY_CENTRAL_DBPORT}; chomp $port; - - my ($dsn) = "DBI:mysql:".($CONFIG->{$self->database}->{dbname}).":".($host).":".($port); - -#print STDERR "\n\nDSN was $dsn\n\n"; - - my $dbh; + $self->username( $CONFIG->{ $self->database }->{username} ) + unless $self->username; + $self->password( $CONFIG->{ $self->database }->{password} ) + unless $self->password; + $self->port( $CONFIG->{ $self->database }->{port} ) unless $self->port; + $self->host( $CONFIG->{ $self->database }->{url} ) unless $self->host; + my $host = $self->host ? $self->host : $ENV{MOBY_CENTRAL_URL}; + chomp $host; + my $username = + $self->username ? $self->username : $ENV{MOBY_CENTRAL_DBUSER}; + chomp $username; + my $password = + $self->password ? $self->password : $ENV{MOBY_CENTRAL_DBPASS}; + chomp $password if $password; + $password =~ s/\s//g if $password; + my $port = $self->port ? $self->port : $ENV{MOBY_CENTRAL_DBPORT}; + chomp $port; + my ($dsn) = + "DBI:mysql:" + . ( $CONFIG->{ $self->database }->{dbname} ) . ":" + . ($host) . ":" + . ($port); + + #print STDERR "\n\nDSN was $dsn\n\n"; + my $dbh; + # $debug && &_LOG("connecting to db with params ",$self->database, $self->username, $self->password,"\n"); - if (defined $password){ - $dbh = DBI->connect($dsn, $username, $password, {RaiseError => 1}) or die "can't connect to database"; - } else { - $dbh = DBI->connect($dsn, $username, undef, {RaiseError => 1}) or die "can't connect to database"; - } -# $debug && &_LOG("CONNECTED!\n"); - if ($dbh){ - $self->dbh($dbh); - return $self; - } else { - return undef - } + if ( defined $password ) { + $dbh = DBI->connect( $dsn, $username, $password, { RaiseError => 1 } ) + or die "can't connect to database"; + } else { + $dbh = DBI->connect( $dsn, $username, undef, { RaiseError => 1 } ) + or die "can't connect to database"; + } + + # $debug && &_LOG("CONNECTED!\n"); + if ($dbh) { + $self->dbh($dbh); + return $self; + } else { + return undef; + } } =head2 objectExists @@ -181,133 +181,164 @@ newLSID will return (0, $desc, $lsid) =cut +sub objectExists { + my ( $self, %args ) = @_; + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $sth; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); -sub objectExists{ - my ($self, %args) = @_; - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $sth; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objecttype/)){ # return (1, "external ontology", $term); # } - - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_type = ?"); - } - $sth->execute($term); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ # if it is in there, then it has been discovered regardless of being foreign or not - return (1,$desc,$lsid); - } elsif (_isForeignLSID($term)){ # if not in our ontology, but is a foreign LSID, then pass it back verbatim - return (0, "LSID $term does not exist in the biomoby.org Object Class system\n", $term); + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_type = ?" + ); + } + $sth->execute($term); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) + { # if it is in there, then it has been discovered regardless of being foreign or not + return ( 1, $desc, $lsid ); + } elsif ( _isForeignLSID($term) ) + { # if not in our ontology, but is a foreign LSID, then pass it back verbatim + return ( + 0, +"LSID $term does not exist in the biomoby.org Object Class system\n", + $term + ); } else { # under all other circumstances (i.e. not a term, or a non-existent biomoby LSID) then fail - return (0, "Object type $term does not exist in the biomoby.org Object Class system\n", ''); + return ( + 0, +"Object type $term does not exist in the biomoby.org Object Class system\n", + '' + ); } } - sub _isMOBYLSID { my ($lsid) = @_; return 1 if $lsid =~ /^urn\:lsid\:biomoby.org/; - return 0 + return 0; } - sub _isForeignLSID { my ($lsid) = @_; return 0 if $lsid =~ /^urn\:lsid\:biomoby.org/; - return 1 + return 1; } - =head2 createObject =cut - sub createObject { - my ($self, %args) = @_; - #node => $term, - #desc => $desc, - #authURI => $auth, - #contact => $email - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - return (0, "requires a object type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; + my ( $self, %args ) = @_; + + #node => $term, + #desc => $desc, + #authURI => $auth, + #contact => $email + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + return ( 0, "requires a object type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objectclass/)){ # if it is an LSID, but not a MOBY LSID, than barf # return (0, "can't create a term in a non-MOBY ontology!", $term); # } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } my $sth; - if ($args{'node'} =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select object_lsid, object_type, description, authority, contact_email from object where object_type = ?"); - } - $sth->execute($term); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ # if it is in there, then the object exists - return (0,"This term already exists: $lsid",$lsid); + if ( $args{'node'} =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select object_lsid, object_type, description, authority, contact_email from object where object_type = ?" + ); } - - - $args{description} =~ s/^\s+(.*?)\s+$/$1/s; - $args{node} =~ s/^\s+(.*?)\s+$/$1/s; - $args{contact_email} =~ s/^\s+(.*?)\s+$/$1/s; - $args{authority} =~ s/^\s+(.*?)\s+$/$1/s; - $self->dbh->do(q{insert into object (object_type, object_lsid, description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Object creation failed for unknown reasons",''); - } - return (1, "Object creation succeeded",$LSID); - + $sth->execute($term); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) { # if it is in there, then the object exists + return ( 0, "This term already exists: $lsid", $lsid ); + } + $args{description} =~ s/^\s+(.*?)\s+$/$1/s; + $args{node} =~ s/^\s+(.*?)\s+$/$1/s; + $args{contact_email} =~ s/^\s+(.*?)\s+$/$1/s; + $args{authority} =~ s/^\s+(.*?)\s+$/$1/s; + $self->dbh->do( +q{insert into object (object_type, object_lsid, description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Object creation failed for unknown reasons", '' ); + } + return ( 1, "Object creation succeeded", $LSID ); } - =head2 retrieveObject =cut - sub retrieveObject { - my ($self, %args) = @_; + my ( $self, %args ) = @_; my $term = $args{'node'}; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - return (0, "requires a object type node as an argument",'') unless ($args{'node'}); - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->getObjectURI($term); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - my ($id, $type, $lsid, $desc, $auth, $contact)= $self->dbh->selectrow_array(q{select object_id, object_type, object_lsid, description, authority,contact_email from object where object_lsid = ?}, undef, $LSID); - unless ($id){return (0, "Object doesn't exist in ontology", "")} - # my $OS = MOBY::OntologyServer->new(ontology => "relationship"); - my $sth = $self->dbh->prepare(q{select relationship_type, object_lsid, object2_articlename from object_term2term, object where object1_id = ? and object2_id = object_id}); - $sth->execute($id); - my %rel; - while (my ($relationship_type, $objectlsid, $article) = $sth->fetchrow_array){ - push @{$rel{$relationship_type}}, [$objectlsid, $article]; - } - return {objectType => $lsid, - description => $desc, - contactEmail => $contact, - authURI => $auth, - Relationships => \%rel}; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + return ( 0, "requires a object type node as an argument", '' ) + unless ( $args{'node'} ); + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->getObjectURI($term); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + my ( $id, $type, $lsid, $desc, $auth, $contact ) = + $self->dbh->selectrow_array( +q{select object_id, object_type, object_lsid, description, authority,contact_email from object where object_lsid = ?}, + undef, $LSID + ); + unless ($id) { return ( 0, "Object doesn't exist in ontology", "" ) } + + # my $OS = MOBY::OntologyServer->new(ontology => "relationship"); + my $sth = + $self->dbh->prepare( +q{select relationship_type, object_lsid, object2_articlename from object_term2term, object where object1_id = ? and object2_id = object_id} + ); + $sth->execute($id); + my %rel; + while ( my ( $relationship_type, $objectlsid, $article ) = + $sth->fetchrow_array ) + { + push @{ $rel{$relationship_type} }, [ $objectlsid, $article ]; + } + return { + objectType => $lsid, + description => $desc, + contactEmail => $contact, + authURI => $auth, + Relationships => \%rel + }; } =head2 deprecateObject @@ -315,35 +346,45 @@ =cut sub deprecateObject { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY",'') unless ($self->ontology eq 'object'); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY", '' ) unless ( $self->ontology eq 'object' ); + my $term = $args{term}; - my $term = $args{term}; # if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:objectclass/)){ # return (0, "can't delete from external ontology", $term); # } - - my $LSID; - unless ($term =~ /urn\:lsid/){$LSID = $self->getObjectURI($term)} else {$LSID=$term} - return (0, q{Object type $term cannot be resolved to an LSID},"") unless $LSID; - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$LSID); - # object1_id ISA object2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from object_term2term where object2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Object type $term has object dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from object where object_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Object Class table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from object_term2term where object1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Object term2term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Object $term Deleted",$lsid); + my $LSID; + unless ( $term =~ /urn\:lsid/ ) { $LSID = $self->getObjectURI($term) } else { $LSID = $term } + return ( 0, q{Object type $term cannot be resolved to an LSID}, "" ) + unless $LSID; + my ( $id, $lsid ) = + $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $LSID ); + + # object1_id ISA object2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from object_term2term where object2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, + qq{Object type $term has object dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from object where object_id = ?}, undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from Object Class table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from object_term2term where object1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( 0, + "Delete from Object term2term table failed: $self->dbh->errstr", + $lsid ); + } + return ( 1, "Object $term Deleted", $lsid ); } =head2 deleteObject @@ -351,129 +392,193 @@ =cut sub deleteObject { - my $self = shift; - $self->deprecateObject(@_); + my $self = shift; + $self->deprecateObject(@_); } =head2 relationshipExists =cut -sub relationshipExists{ - # term => $term - # ontology => $ontology - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'relationship'); - - my $term = lc($args{term}); - $term =~ s/^moby://; # if the term is namespaced, then remove that - - my $ont = $args{ontology}; - return (0, "requires both term and ontology arguments\n",'') unless (defined($term) && defined($ont)); - my $sth; - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_lsid = ? and ontology=?"); - } else { - $sth = $self->dbh->prepare("select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_type = ? and ontology=?"); - } - $sth->execute($term, $ont); - my ($lsid, $type, $desc, $auth, $email) = $sth->fetchrow_array; - if ($lsid){ - return (1,$desc,$lsid); - } else { - return (0, "Relationship Type $term does not exist in the biomoby.org Relationship Type system\n",''); - } +sub relationshipExists { + + # term => $term + # ontology => $ontology + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'relationship' ); + my $term = lc( $args{term} ); + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ont = $args{ontology}; + return ( 0, "requires both term and ontology arguments\n", '' ) + unless ( defined($term) && defined($ont) ); + my $sth; + + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_lsid = ? and ontology=?" + ); + } else { + $sth = + $self->dbh->prepare( +"select relationship_lsid, relationship_type, description, authority, contact_email from relationship where relationship_type = ? and ontology=?" + ); + } + $sth->execute( $term, $ont ); + my ( $lsid, $type, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($lsid) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Relationship Type $term does not exist in the biomoby.org Relationship Type system\n", + '' + ); + } } =head2 addObjectRelationship =cut -sub addObjectRelationship{ -# adds a relationship -#subject_node => $term, -#relationship => $reltype, -#object_node => $objectType, -#articleName => $articleName, -#authority => $auth, -#contact_email => $email - my ($self, %args) = @_; - - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'object'); - - my ($subj_id, $subj_lsid, $obj_id, $obj_lsid); - if ($args{subject_node} =~ /^urn:lsid/){ - ($subj_id, $subj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$args{subject_node}); +sub addObjectRelationship { + + # adds a relationship + #subject_node => $term, + #relationship => $reltype, + #object_node => $objectType, + #articleName => $articleName, + #authority => $auth, + #contact_email => $email + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'object' ); + my ( $subj_id, $subj_lsid, $obj_id, $obj_lsid ); + if ( $args{subject_node} =~ /^urn:lsid/ ) { + ( $subj_id, $subj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $args{subject_node} + ); } else { - ($subj_id, $subj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_type = ?},undef,$args{subject_node}); + ( $subj_id, $subj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_type = ?}, + undef, $args{subject_node} + ); } - return (0, qq{Object type $args{subject_node} does not exist in the ontology},'') unless defined $subj_id; - - if ($args{object_node} =~ /^urn:lsid/){ - ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_lsid = ?},undef,$args{object_node}); + return ( 0, + qq{Object type $args{subject_node} does not exist in the ontology}, + '' ) + unless defined $subj_id; + if ( $args{object_node} =~ /^urn:lsid/ ) { + ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_lsid = ?}, + undef, $args{object_node} + ); } else { - ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select object_id, object_lsid from object where object_type = ?},undef,$args{object_node}); + ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select object_id, object_lsid from object where object_type = ?}, + undef, $args{object_node} + ); + } + return ( 0, + qq{Object type $args{object_node} does not exist in the ontology}, + '' ) + unless defined $obj_id; + my (@isa) = + $self->dbh->selectrow_array( + q{select * from object_term2term where object2_id = ?}, + undef, $subj_id ); + if ( scalar @isa ) { + return ( + 0, +qq{Object type $args{subject_node} has existing object dependencies in the ontology. It cannot be changed.}, + $subj_lsid + ); + } + my $OE = MOBY::OntologyServer->new( ontology => 'relationship' ); + my ( $success, $desc, $rel_lsid ) = $OE->relationshipExists( + term => $args{relationship}, + ontology => 'object' ); + ($success) + || return ( 0, + qq{Relationship $args{relationship} does not exist in the ontology}, + '' ); + $self->dbh->do( +q{insert into object_term2term (relationship_type, object1_id, object2_id, object2_articlename) values (?,?,?,?)}, + undef, + ( $rel_lsid, $subj_id, $obj_id, $args{articleName} ) + ); + if ( $self->dbh->{mysql_insertid} ) { + return ( 1, "Object relationsihp created successfully", '' ); + } else { + return ( 0, "Object relationship creation failed for unknown reasons", + '' ); } - return (0, qq{Object type $args{object_node} does not exist in the ontology},'') unless defined $obj_id; - - - my (@isa) = $self->dbh->selectrow_array(q{select * from object_term2term where object2_id = ?},undef, $subj_id); - if (scalar @isa){return (0, qq{Object type $args{subject_node} has existing object dependencies in the ontology. It cannot be changed.},$subj_lsid);} - - - my $OE = MOBY::OntologyServer->new(ontology => 'relationship'); - my ($success, $desc, $rel_lsid) = $OE->relationshipExists(term => $args{relationship}, ontology => 'object'); - ($success) || return (0, qq{Relationship $args{relationship} does not exist in the ontology},''); - - $self->dbh->do( - q{insert into object_term2term (relationship_type, object1_id, object2_id, object2_articlename) values (?,?,?,?)}, - undef, - ($rel_lsid,$subj_id,$obj_id,$args{articleName})); - if ($self->dbh->{mysql_insertid}){ - return (1,"Object relationsihp created successfully",''); - } else { - return (0, "Object relationship creation failed for unknown reasons",''); - } } =head2 addServiceRelationship =cut +sub addServiceRelationship { -sub addServiceRelationship{ -# adds an ISA relationship -# fail if another object is in relation to this objevt - #subject_node => $term, - #relationship => $relationship, - #predicate_node => $pred - #authority => $auth, - #contact_email => $email); - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my ($sbj_id, $sbj_lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_type = ?},undef,$args{subject_node}); - return (0, qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed},$sbj_lsid) unless defined $sbj_id; - - my (@isa) = $self->dbh->selectrow_array(q{select * from service_term2term where service2_id = ?},undef, $sbj_id); - if (scalar @isa){ - return (0, qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed},$sbj_lsid); - } - - my ($obj_id, $obj_lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_type = ?},undef,$args{object_node}); # get ID of the related service - defined $obj_id || return (0, qq{Service $args{object_node} does not exist in the service ontology},''); - - my $OE = MOBY::OntologyServer->new(ontology => 'relationship'); - my ($success, $desc, $rel_lsid) = $OE->relationshipExists(term => $args{relationship}, ontology => 'service'); - ($success) || return (0, qq{Relationship $args{relationship} does not exist in the ontology},''); - - $self->dbh->do(q{insert into service_term2term (relationship_type, service1_id, service2_id) values (?,?,?)}, - undef, - ($rel_lsid,$sbj_id,$obj_id)); - if ($self->dbh->{mysql_insertid}){ - return (1,"Service relationship created successfully",''); - } else { - return (0, "Service relationship creation failed for unknown reasons",''); - } + # adds an ISA relationship + # fail if another object is in relation to this objevt + #subject_node => $term, + #relationship => $relationship, + #predicate_node => $pred + #authority => $auth, + #contact_email => $email); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my ( $sbj_id, $sbj_lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_type = ?}, + undef, $args{subject_node} + ); + return ( + 0, +qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed}, + $sbj_lsid + ) + unless defined $sbj_id; + my (@isa) = + $self->dbh->selectrow_array( + q{select * from service_term2term where service2_id = ?}, + undef, $sbj_id ); + if ( scalar @isa ) { + return ( + 0, +qq{Service type $args{subject_node} has object dependencies in the ontology. It can not be changed}, + $sbj_lsid + ); + } + my ( $obj_id, $obj_lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_type = ?}, + undef, $args{object_node} + ); # get ID of the related service + defined $obj_id + || return ( 0, + qq{Service $args{object_node} does not exist in the service ontology}, + '' ); + my $OE = MOBY::OntologyServer->new( ontology => 'relationship' ); + my ( $success, $desc, $rel_lsid ) = $OE->relationshipExists( + term => $args{relationship}, + ontology => 'service' ); + ($success) + || return ( 0, + qq{Relationship $args{relationship} does not exist in the ontology}, + '' ); + $self->dbh->do( +q{insert into service_term2term (relationship_type, service1_id, service2_id) values (?,?,?)}, + undef, + ( $rel_lsid, $sbj_id, $obj_id ) + ); + if ( $self->dbh->{mysql_insertid} ) { + return ( 1, "Service relationship created successfully", '' ); + } else { + return ( 0, "Service relationship creation failed for unknown reasons", + '' ); + } } =head2 serviceExists @@ -481,29 +586,38 @@ =cut sub serviceExists { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ - return (1, "external ontology", $term); - } - - my $sth; - if ($term =~ /^urn\:lsid/){ - $sth = $self->dbh->prepare("select service_id, service_type, service_lsid, description, authority, contact_email from service where service_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select service_id, service_type, service_lsid, description, authority, contact_email from service where service_type = ?"); - } - - $sth->execute($term); - my ($id, $type, $lsid, $desc, $auth, $email) = $sth->fetchrow_array; - if ($id){ - return (1,$desc,$lsid); - } else { - return (0, "Service Type $term does not exist in the biomoby.org Service Type ontology\n",''); - } + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { + return ( 1, "external ontology", $term ); + } + my $sth; + if ( $term =~ /^urn\:lsid/ ) { + $sth = + $self->dbh->prepare( +"select service_id, service_type, service_lsid, description, authority, contact_email from service where service_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select service_id, service_type, service_lsid, description, authority, contact_email from service where service_type = ?" + ); + } + $sth->execute($term); + my ( $id, $type, $lsid, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($id) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Service Type $term does not exist in the biomoby.org Service Type ontology\n", + '' + ); + } } =head2 createServiceType @@ -511,203 +625,257 @@ =cut sub createServiceType { - my ($self, %args) = @_; - #node => $term, - #descrioption => $desc, - #authority => $auth, - #contact_email => $email); - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - return (0, "requires a object type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ # if it is an LSID, but not a MOBY LSID, than barf - return (0, "can't create a term in a non-MOBY ontology!", $term); - } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - - $self->dbh->do(q{insert into service (service_type, service_lsid, description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Service creation failed for unknown reasons",''); - } - return (1, "Service creation succeeded",$LSID); + my ( $self, %args ) = @_; + #node => $term, + #descrioption => $desc, + #authority => $auth, + #contact_email => $email); + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + return ( 0, "requires a object type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { # if it is an LSID, but not a MOBY LSID, than barf + return ( 0, "can't create a term in a non-MOBY ontology!", $term ); + } + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + $self->dbh->do( +q{insert into service (service_type, service_lsid, description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Service creation failed for unknown reasons", '' ); + } + return ( 1, "Service creation succeeded", $LSID ); } =head2 deleteServiceType =cut - sub deleteServiceType { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'service'); - my $term = $args{term}; - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:servicetype/)){ - return (0, "can't delete from external ontology", $term); - } - - my $LSID; - unless ($term =~ /^urn:lsid:biomoby.org:servicetype/){$LSID = $self->getServiceURI($term)} else {$LSID=$term} - return (0, q{Service type $term cannot be resolved to an LSID in the MOBY ontologies},"") unless $LSID; - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select service_id, service_lsid from service where service_lsid = ?}, undef, $LSID); - - if (!defined $id){ - return (0, q{Service type $term does not exist in the ontology},$lsid); - } - # service1_id ISA service2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from service_term2term where service2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Service type $term has dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from service where service_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Service Type table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from service_term2term where service1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from Service Type Term2Term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Service Type $term Deleted",$lsid); -} + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) unless ( $self->ontology eq 'service' ); + my $term = $args{term}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) ) + { + return ( 0, "can't delete from external ontology", $term ); + } + my $LSID; + unless ( $term =~ /^urn:lsid:biomoby.org:servicetype/ ) { + $LSID = $self->getServiceURI($term); + } else { + $LSID = $term; + } + return ( + 0, +q{Service type $term cannot be resolved to an LSID in the MOBY ontologies}, + "" + ) + unless $LSID; + my ( $id, $lsid ) = $self->dbh->selectrow_array( + q{select service_id, service_lsid from service where service_lsid = ?}, + undef, $LSID + ); + if ( !defined $id ) { + return ( 0, q{Service type $term does not exist in the ontology}, + $lsid ); + } + # service1_id ISA service2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from service_term2term where service2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, qq{Service type $term has dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from service where service_id = ?}, undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from Service Type table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from service_term2term where service1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( + 0, +"Delete from Service Type Term2Term table failed: $self->dbh->errstr", + $lsid + ); + } + return ( 1, "Service Type $term Deleted", $lsid ); +} =head2 namespaceExists =cut - sub namespaceExists { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - my $term = $args{term}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - - my $sth; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ - return (1, "external ontology", $term); - } - - if ($term =~ /^urn:lsid:biomoby.org:namespacetype/){ - $sth = $self->dbh->prepare("select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_lsid = ?"); - } else { - $sth = $self->dbh->prepare("select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_type = ?"); - } - $sth->execute($term); - my ($id, $type, $lsid,$desc, $auth, $email) = $sth->fetchrow_array; - if ($id){ - return (1,$desc,$lsid); - } else { - return (0, "Namespace Type $term does not exist in the biomoby.org Namespace Type ontology\n",''); - } + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + my $term = $args{term}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $sth; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { + return ( 1, "external ontology", $term ); + } + if ( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) { + $sth = + $self->dbh->prepare( +"select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_lsid = ?" + ); + } else { + $sth = + $self->dbh->prepare( +"select namespace_id, namespace_type, namespace_lsid,description, authority, contact_email from namespace where namespace_type = ?" + ); + } + $sth->execute($term); + my ( $id, $type, $lsid, $desc, $auth, $email ) = $sth->fetchrow_array; + if ($id) { + return ( 1, $desc, $lsid ); + } else { + return ( + 0, +"Namespace Type $term does not exist in the biomoby.org Namespace Type ontology\n", + '' + ); + } } =head2 createNamespace =cut - sub createNamespace { - my ($self, %args) = @_; - #node => $term, - #descrioption => $desc, - #authority => $auth, - #contact_email => $email); - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - return (0, "requires a namespace type node",'') unless ($args{node}); - return (0, "requires an authURI ",'') unless ($args{authority}); - return (0, "requires a contact email address",'') unless ($args{contact_email}); - return (0, "requires a object description",'') unless ($args{description}); - my $term = $args{node}; - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ # if it is an LSID, but not a MOBY LSID, than barf - return (0, "can't create a term in a non-MOBY ontology!", $term); - } - - my $LSID = ($args{'node'} =~ /urn\:lsid/)?$args{'node'}:$self->setURI($args{'node'}); - unless ($LSID){return (0, "Failed during creation of an LSID",'')} - - $self->dbh->do(q{insert into namespace (namespace_type, namespace_lsid,description, authority,contact_email) values (?,?,?,?,?)}, - undef, - ($args{'node'}, - $LSID, - $args{'description'}, - $args{'authority'}, - $args{'contact_email'})); - - - unless ($self->dbh->{mysql_insertid}){ - return (0, "Namespace creation failed for unknown reasons",''); - } - return (1, "Namespace creation succeeded",$LSID); + my ( $self, %args ) = @_; + + #node => $term, + #descrioption => $desc, + #authority => $auth, + #contact_email => $email); + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + return ( 0, "requires a namespace type node", '' ) unless ( $args{node} ); + return ( 0, "requires an authURI ", '' ) unless ( $args{authority} ); + return ( 0, "requires a contact email address", '' ) + unless ( $args{contact_email} ); + return ( 0, "requires a object description", '' ) + unless ( $args{description} ); + my $term = $args{node}; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { # if it is an LSID, but not a MOBY LSID, than barf + return ( 0, "can't create a term in a non-MOBY ontology!", $term ); + } + my $LSID = + ( $args{'node'} =~ /urn\:lsid/ ) + ? $args{'node'} + : $self->setURI( $args{'node'} ); + unless ($LSID) { return ( 0, "Failed during creation of an LSID", '' ) } + $self->dbh->do( +q{insert into namespace (namespace_type, namespace_lsid,description, authority,contact_email) values (?,?,?,?,?)}, + undef, + ( + $args{'node'}, $LSID, $args{'description'}, + $args{'authority'}, $args{'contact_email'} + ) + ); + unless ( $self->dbh->{mysql_insertid} ) { + return ( 0, "Namespace creation failed for unknown reasons", '' ); + } + return ( 1, "Namespace creation succeeded", $LSID ); } =head2 deleteNamespace =cut - sub deleteNamespace { - my ($self, %args) = @_; - return (0, "WRONG ONTOLOGY!",'') unless ($self->ontology eq 'namespace'); - my $term = $args{term}; - my $LSID; - unless ($term =~ /urn\:lsid/){$LSID = $self->getNamespaceURI($term)} else {$LSID=$term} - return (0, q{Namespace type $term cannot be resolved to an LSID},"") unless $LSID; - - if ($term =~ /^urn:lsid/ && !($term =~ /^urn:lsid:biomoby.org:namespacetype/)){ - return (0, "cannot delete a term from an external ontology", $term); - } - - my ($id, $lsid) = $self->dbh->selectrow_array(q{select namespace_id, namespace_lsid from namespace where namespace_lsid = ?},undef,$LSID); - unless ($id){return (0, q{Namespace type $term does not exist in the ontology},$lsid)} - - # service1_id ISA service2_id? - my (@isa) = $self->dbh->selectrow_array(q{select * from namespace_term2term where namespace2_id = ?},undef, $id); - if (scalar @isa){ - return (0, qq{Namespace type $term has dependencies in the ontology},$lsid); - } - - $self->dbh->do(q{delete from namespace where namespace_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from namespace table failed: $self->dbh->errstr", $lsid); - } - $self->dbh->do(q{delete from namespace_term2term where namespace1_id = ?}, undef,$id ); - if ($self->dbh->err){ - return (0, "Delete from namespace term2term table failed: $self->dbh->errstr", $lsid); - } - - return (1,"Namespace Type $term Deleted",$lsid); + my ( $self, %args ) = @_; + return ( 0, "WRONG ONTOLOGY!", '' ) + unless ( $self->ontology eq 'namespace' ); + my $term = $args{term}; + my $LSID; + unless ( $term =~ /urn\:lsid/ ) { $LSID = $self->getNamespaceURI($term) } else { $LSID = $term } + return ( 0, q{Namespace type $term cannot be resolved to an LSID}, "" ) + unless $LSID; + if ( $term =~ /^urn:lsid/ + && !( $term =~ /^urn:lsid:biomoby.org:namespacetype/ ) ) + { + return ( 0, "cannot delete a term from an external ontology", $term ); + } + my ( $id, $lsid ) = $self->dbh->selectrow_array( +q{select namespace_id, namespace_lsid from namespace where namespace_lsid = ?}, + undef, $LSID + ); + unless ($id) { + return ( 0, q{Namespace type $term does not exist in the ontology}, + $lsid ); + } + + # service1_id ISA service2_id? + my (@isa) = + $self->dbh->selectrow_array( + q{select * from namespace_term2term where namespace2_id = ?}, + undef, $id ); + if ( scalar @isa ) { + return ( 0, qq{Namespace type $term has dependencies in the ontology}, + $lsid ); + } + $self->dbh->do( q{delete from namespace where namespace_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( 0, "Delete from namespace table failed: $self->dbh->errstr", + $lsid ); + } + $self->dbh->do( q{delete from namespace_term2term where namespace1_id = ?}, + undef, $id ); + if ( $self->dbh->err ) { + return ( + 0, + "Delete from namespace term2term table failed: $self->dbh->errstr", + $lsid + ); + } + return ( 1, "Namespace Type $term Deleted", $lsid ); } =head2 retrieveAllServiceTypes =cut - sub retrieveAllServiceTypes { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select service_type, description from service}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select service_type, description from service}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } =head2 retrieveAllNamespaceTypes @@ -715,14 +883,16 @@ =cut sub retrieveAllNamespaceTypes { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select namespace_type, description from namespace}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select namespace_type, description from namespace}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } =head2 retrieveAllObjectClasses @@ -730,16 +900,17 @@ =cut sub retrieveAllObjectClasses { - my ($self) = @_; - my $types = $self->dbh->selectall_arrayref(q{select object_type, description from object}); - my @types = @{$types}; - my %response; - foreach (@types){ - $response{$_->[0]} = $_->[1]; - } - return \%response; + my ($self) = @_; + my $types = + $self->dbh->selectall_arrayref( + q{select object_type, description from object}); + my @types = @{$types}; + my %response; + foreach (@types) { + $response{ $_->[0] } = $_->[1]; + } + return \%response; } - *retrieveAllObjectTypes = \&retrieveAllObjectClasses; *retrieveAllObjectTypes = \&retrieveAllObjectClasses; @@ -748,10 +919,13 @@ =cut sub getObjectCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select object_type from object where object_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select object_type from object where object_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getNamespaceCommonName @@ -759,22 +933,27 @@ =cut sub getNamespaceCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select namespace_type from namespace where namespace_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select namespace_type from namespace where namespace_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getServiceCommonName =cut - sub getServiceCommonName { - my ($self, $URI) = @_; - return undef unless $URI =~ /urn\:lsid/; - my ($name) = $self->dbh->selectrow_array(q{select service_type from service where service_lsid = ?}, undef, $URI); - return $name?$name:$URI; + my ( $self, $URI ) = @_; + return undef unless $URI =~ /urn\:lsid/; + my ($name) = + $self->dbh->selectrow_array( + q{select service_type from service where service_lsid = ?}, + undef, $URI ); + return $name ? $name : $URI; } =head2 getServiceURI @@ -782,10 +961,13 @@ =cut sub getServiceURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select service_lsid from service where service_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select service_lsid from service where service_type = ?}, + undef, $term ); + return $id; } =head2 getObjectURI @@ -793,10 +975,13 @@ =cut sub getObjectURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select object_lsid from object where object_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select object_lsid from object where object_type = ?}, + undef, $term ); + return $id; } =head2 getNamespaceURI @@ -804,22 +989,27 @@ =cut sub getNamespaceURI { - my ($self, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select namespace_lsid from namespace where namespace_type = ?},undef,$term); - return $id; + my ( $self, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = + $self->dbh->selectrow_array( + q{select namespace_lsid from namespace where namespace_type = ?}, + undef, $term ); + return $id; } - =head2 getNamespaceURI =cut sub getRelationshipURI { - my ($self, $ontology, $term) = @_; - return $term if $term =~ /urn\:lsid/; - my ($id) = $self->dbh->selectrow_array(q{select relationship_lsid from relationship where relationship_type = ? and ontology = ?},undef,$term, $ontology); - return $id; + my ( $self, $ontology, $term ) = @_; + return $term if $term =~ /urn\:lsid/; + my ($id) = $self->dbh->selectrow_array( +q{select relationship_lsid from relationship where relationship_type = ? and ontology = ?}, + undef, $term, $ontology + ); + return $id; } =head2 getRelationshipTypes @@ -827,16 +1017,18 @@ =cut sub getRelationshipTypes { - my ($self, %args) = @_; - my $ontology = $args{'ontology'}; - my $OS = MOBY::OntologyServer->new(ontology => "relationship"); - - my $defs = $OS->dbh->selectall_arrayref(q{select relationship_lsid, relationship_type, authority, description from relationship where ontology = ?}, undef, $ontology); - my %result; - foreach (@{$defs}){ - $result{$_->[0]} = [$_->[1], $_->[2], $_->[3]]; - } - return \%result; + my ( $self, %args ) = @_; + my $ontology = $args{'ontology'}; + my $OS = MOBY::OntologyServer->new( ontology => "relationship" ); + my $defs = $OS->dbh->selectall_arrayref( +q{select relationship_lsid, relationship_type, authority, description from relationship where ontology = ?}, + undef, $ontology + ); + my %result; + foreach ( @{$defs} ) { + $result{ $_->[0] } = [ $_->[1], $_->[2], $_->[3] ]; + } + return \%result; } =head2 Relationships @@ -844,44 +1036,56 @@ =cut sub Relationships { - # this entire subroutine assumes that there is NOT multiple parenting!! - my ($self, %args) = @_; - my $ontology = $args{ontology}?$args{ontology}:$self->ontology; - my $term = $args{term}; - my $relationship = $args{relationship}; - my $direction = $args{direction}?$args{direction}:'root'; - my $expand = $args{expand}?1:0; - - return unless ($ontology && $term && (($ontology eq 'service') || ($ontology eq 'object'))); - # convert $term into an LSID if it isn't already - if ($ontology eq 'service'){ - $term = $self->getServiceURI($term); - } elsif ($ontology eq 'object'){ - $term = $self->getObjectURI($term); - } - my %results; - while (($term ne 'urn:lsid:biomoby.org:objectclass:Object') && ($term ne 'urn:lsid:biomoby.org:servicetype:Service')){ - my $defs = $self->_doRelationshipsQuery($ontology, $term, $relationship, $direction); - my $lsid; my $rel; - foreach (@{$defs}){ - $lsid = $_->[0]; - $rel = $_->[1]; - $debug && _LOG("\t\tADDING RELATIONSHIP $_ : $lsid to $rel\n"); - push @{$results{$rel}}, $lsid; - } - last unless ($expand); - last unless ($direction eq "root"); # if we aren't going to root, then be careful or we'll loop infnitely - $term = $lsid; # this entire subroutine assumes that there is NOT multiple parenting... - } - return \%results; #results(relationship} = [lsid1, lsid2, lsid3] + + # this entire subroutine assumes that there is NOT multiple parenting!! + my ( $self, %args ) = @_; + my $ontology = $args{ontology} ? $args{ontology} : $self->ontology; + my $term = $args{term}; + my $relationship = $args{relationship}; + my $direction = $args{direction} ? $args{direction} : 'root'; + my $expand = $args{expand} ? 1 : 0; + return + unless ( $ontology + && $term + && ( ( $ontology eq 'service' ) || ( $ontology eq 'object' ) ) ); + + # convert $term into an LSID if it isn't already + if ( $ontology eq 'service' ) { + $term = $self->getServiceURI($term); + } elsif ( $ontology eq 'object' ) { + $term = $self->getObjectURI($term); + } + my %results; + while ( ( $term ne 'urn:lsid:biomoby.org:objectclass:Object' ) + && ( $term ne 'urn:lsid:biomoby.org:servicetype:Service' ) ) + { + my $defs = $self->_doRelationshipsQuery( $ontology, $term, + $relationship, $direction ); + my $lsid; + my $rel; + foreach ( @{$defs} ) { + $lsid = $_->[0]; + $rel = $_->[1]; + $debug + && _LOG("\t\tADDING RELATIONSHIP $_ : $lsid to $rel\n"); + push @{ $results{$rel} }, $lsid; + } + last unless ($expand); + last + unless ( $direction eq "root" ) + ; # if we aren't going to root, then be careful or we'll loop infnitely + $term = $lsid + ; # this entire subroutine assumes that there is NOT multiple parenting... + } + return \%results; #results(relationship} = [lsid1, lsid2, lsid3] } sub _doRelationshipsQuery { - my ($self, $ontology, $term, $relationship, $direction) = @_; - my $defs; - if ($direction eq 'root'){ - unless (defined $relationship){ - $defs = $self->dbh->selectall_arrayref(" + my ( $self, $ontology, $term, $relationship, $direction ) = @_; + my $defs; + if ( $direction eq 'root' ) { + unless ( defined $relationship ) { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -889,9 +1093,9 @@ where s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s1.${ontology}_lsid = ?", undef, $term); # ") - } else { - $defs = $self->dbh->selectall_arrayref(" + s1.${ontology}_lsid = ?", undef, $term ); # ") + } else { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -900,11 +1104,11 @@ relationship_type = ? and s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s1.${ontology}_lsid = ?", undef, $relationship, $term); # ") - } - } else { - unless (defined $relationship){ - $defs = $self->dbh->selectall_arrayref(" + s1.${ontology}_lsid = ?", undef, $relationship, $term ); # ") + } + } else { + unless ( defined $relationship ) { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -912,9 +1116,9 @@ where s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s2.${ontology}_lsid = ?", undef, $term); # ") - } else { - $defs = $self->dbh->selectall_arrayref(" + s2.${ontology}_lsid = ?", undef, $term ); # ") + } else { + $defs = $self->dbh->selectall_arrayref( " select distinct s2.${ontology}_lsid, relationship_type from ${ontology}_term2term as t2t, $ontology as s1, @@ -923,10 +1127,10 @@ relationship_type = ? and s1.${ontology}_id = t2t.${ontology}1_id and s2.${ontology}_id = t2t.${ontology}2_id and - s2.${ontology}_lsid = ?", undef, $relationship, $term); # ") - } - } - return $defs; + s2.${ontology}_lsid = ?", undef, $relationship, $term ); # ") + } + } + return $defs; } =head2 setURI @@ -934,82 +1138,102 @@ =cut sub setURI { - my ($self, $id) = @_; - my $URI; - # $id = lc($id); - if ($self->ontology eq 'object'){ - $URI = "urn:lsid:biomoby.org:objectclass:$id" - } elsif ($self->ontology eq 'namespace'){ - $URI = "urn:lsid:biomoby.org:namespacetype:$id" - } elsif ($self->ontology eq 'service'){ - $URI = "urn:lsid:biomoby.org:servicetype:$id" - } elsif ($self->ontology eq 'relationship'){ - $URI = "urn:lsid:biomoby.org:relationshiptype:$id" - } else { - $URI = 0 - } - return $URI; -} + my ( $self, $id ) = @_; + my $URI; + # $id = lc($id); + if ( $self->ontology eq 'object' ) { + $URI = "urn:lsid:biomoby.org:objectclass:$id"; + } elsif ( $self->ontology eq 'namespace' ) { + $URI = "urn:lsid:biomoby.org:namespacetype:$id"; + } elsif ( $self->ontology eq 'service' ) { + $URI = "urn:lsid:biomoby.org:servicetype:$id"; + } elsif ( $self->ontology eq 'relationship' ) { + $URI = "urn:lsid:biomoby.org:relationshiptype:$id"; + } else { + $URI = 0; + } + return $URI; +} =head2 traverseDAG =cut sub traverseDAG { - my ($self, $term, $direction) = @_; - my $ontology = $self->ontology; - return {} unless $ontology; - return {} unless $term; - $direction="root" unless ($direction); - return {} unless (($direction eq 'root') || ($direction eq 'leaves')); - if ($ontology eq 'service'){ - $term = $self->getServiceURI($term); - } elsif ($ontology eq 'object'){ - $term = $self->getObjectURI($term); - } - return {} unless $term =~ /^urn\:lsid/; # now its a URI - - my $relhash = $self->getRelationshipTypes(ontology => $ontology); # get teh types of relationships for the object/service ontology - return {} unless $relhash; - my @rels = keys %{$relhash}; #@rels is the list of relationship types for that ontology - my %relationships; - foreach my $relationship (@rels){ - my %IDS; - my $OS = MOBY::OntologyServer->new(ontology => 'relationship'); - my $reluri = $OS->getRelationshipURI($ontology, $relationship); # get the URI for that relationship type if it ins't already a URI - $IDS{$term} = "untestedroot"; # mark the one in-hand as being untested - while (grep /untested/, (values %IDS)){ # now, while there are untested services in our list... - foreach my $termthingy(keys %IDS){ # start parsing through the current list (hash keys) - $debug && _LOG("testing $relationship of $termthingy\n"); - next if ($IDS{$termthingy} eq "tested"); # if it has been tested already then move on - my $lsids = $self->Relationships(term => $termthingy, relationship => $relationship, direction => $direction); # get the related terms for this type; this should return a single hash value - if ($IDS{$termthingy} =~ /root/){ # here is where we remove self - delete $IDS{$termthingy}; - $debug && _LOG("deleting $termthingy\n"); - } else { - $debug && _LOG("marking $termthingy as TESTED\n"); - $IDS{$termthingy} = "tested"; # mark the current one as now being "done" - } - #${$lsids}{relationshiptype}=[lsid, lsid, lsid]; - foreach my $lsid(@{$lsids->{$relationship}}){ # go through the related terms - $debug && _LOG("found $lsid as relationship"); - next if (defined $IDS{$lsid}); # if we have already seen that term, skip it - $debug && _LOG("setting $lsid as untested\n"); - $IDS{$lsid} = "untested" # otherwise add it to the list and loop again. - } - } - } - my @IDS = keys %IDS; - $relationships{$relationship} = \@IDS; # and associate them all with the current relationship type - } - return \%relationships; + my ( $self, $term, $direction ) = @_; + my $ontology = $self->ontology; + return {} unless $ontology; + return {} unless $term; + $direction = "root" unless ($direction); + return {} unless ( ( $direction eq 'root' ) || ( $direction eq 'leaves' ) ); + if ( $ontology eq 'service' ) { + $term = $self->getServiceURI($term); + } elsif ( $ontology eq 'object' ) { + $term = $self->getObjectURI($term); + } + return {} unless $term =~ /^urn\:lsid/; # now its a URI + my $relhash = + $self->getRelationshipTypes( ontology => $ontology ) + ; # get teh types of relationships for the object/service ontology + return {} unless $relhash; + my @rels = keys + %{$relhash}; #@rels is the list of relationship types for that ontology + my %relationships; + foreach my $relationship (@rels) { + my %IDS; + my $OS = MOBY::OntologyServer->new( ontology => 'relationship' ); + my $reluri = + $OS->getRelationshipURI( $ontology, $relationship ) + ; # get the URI for that relationship type if it ins't already a URI + $IDS{$term} = "untestedroot"; # mark the one in-hand as being untested + while ( grep /untested/, ( values %IDS ) ) + { # now, while there are untested services in our list... + foreach my $termthingy ( keys %IDS ) + { # start parsing through the current list (hash keys) + $debug && _LOG("testing $relationship of $termthingy\n"); + next + if ( $IDS{$termthingy} eq "tested" ) + ; # if it has been tested already then move on + my $lsids = $self->Relationships( + term => $termthingy, + relationship => $relationship, + direction => $direction + ) + ; # get the related terms for this type; this should return a single hash value + if ( $IDS{$termthingy} =~ /root/ ) + { # here is where we remove self + delete $IDS{$termthingy}; + $debug && _LOG("deleting $termthingy\n"); + } else { + $debug && _LOG("marking $termthingy as TESTED\n"); + $IDS{$termthingy} = + "tested"; # mark the current one as now being "done" + } + + #${$lsids}{relationshiptype}=[lsid, lsid, lsid]; + foreach my $lsid ( @{ $lsids->{$relationship} } ) + { # go through the related terms + $debug && _LOG("found $lsid as relationship"); + next + if ( defined $IDS{$lsid} ) + ; # if we have already seen that term, skip it + $debug && _LOG("setting $lsid as untested\n"); + $IDS{$lsid} = + "untested" # otherwise add it to the list and loop again. + } + } + } + my @IDS = keys %IDS; + $relationships{$relationship} = + \@IDS; # and associate them all with the current relationship type + } + return \%relationships; } - - sub _LOG { return unless $debug; + #print join "\n", @_; #print "\n---\n"; #return; @@ -1018,37 +1242,31 @@ print LOG "\n---\n"; close LOG; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/authority.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/authority.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/authority.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::authority; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::authority - a lightweight connection to the @@ -37,104 +34,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - authority_id => [undef, 'read/write'], - authority_common_name => [undef, 'read/write'], - authority_uri => [undef, 'read/write'], - contact_email => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - #_____________________________________________________________ - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + authority_id => [ undef, 'read/write' ], + authority_common_name => [ undef, 'read/write' ], + authority_uri => [ undef, 'read/write' ], + contact_email => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - my $dbh = $self->dbh; - my ($authority_id, $common, $uri, $contact) = $dbh->selectrow_array(q{select authority_id, authority_common_name,authority_uri,contact_email from authority where authority_uri = ?},undef,$self->authority_uri); - unless ($authority_id){ - $dbh->do(q{insert into authority (authority_common_name, authority_uri, contact_email) values (?,?,?)}, undef,($self->authority_common_name, $self->authority_uri, $self->contact_email)); - $self->authority_id($dbh->{mysql_insertid}); - } else { - $self->authority_id($authority_id); - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $dbh = $self->dbh; + my ( $authority_id, $common, $uri, $contact ) = $dbh->selectrow_array( +q{select authority_id, authority_common_name,authority_uri,contact_email from authority where authority_uri = ?}, + undef, $self->authority_uri + ); + unless ($authority_id) { + $dbh->do( +q{insert into authority (authority_common_name, authority_uri, contact_email) values (?,?,?)}, + undef, + ( + $self->authority_common_name, $self->authority_uri, + $self->contact_email + ) + ); + $self->authority_id( $dbh->{mysql_insertid} ); + } else { + $self->authority_id($authority_id); + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm 2004/06/24 22:32:38 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/central_db_connection.pm 2004/11/18 17:41:14 1.6 @@ -1,7 +1,6 @@ package MOBY::central_db_connection; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); use MOBY::Config; @@ -37,121 +36,105 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - db_connect_object => ["MOBY::mysql", 'read/write'], - datasource => ['mobycentral', 'read/write'], - #username => ["mobycentral", 'read/write'], - #password => ["mobycentral", 'read/write'], - #dbname => ["mobycentral", 'read/write'], - #host => ["localhost", 'read/write'], - #port => [3306, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub db_connect_object { - my ($self, $attr) = @_; - $self->{db_connect_object} = $attr if defined $attr; - return $self->{db_connect_object} - } - - sub dbh { - my ($self, $attr) = @_; - $self->{dbh} = $attr if defined $attr; - return $self->{dbh} - } -} + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + db_connect_object => [ "MOBY::mysql", 'read/write' ], + datasource => [ 'mobycentral', 'read/write' ], + + #username => ["mobycentral", 'read/write'], + #password => ["mobycentral", 'read/write'], + #dbname => ["mobycentral", 'read/write'], + #host => ["localhost", 'read/write'], + #port => [3306, 'read/write'], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub db_connect_object { + my ( $self, $attr ) = @_; + $self->{db_connect_object} = $attr if defined $attr; + return $self->{db_connect_object}; + } + + sub dbh { + my ( $self, $attr ) = @_; + $self->{dbh} = $attr if defined $attr; + return $self->{dbh}; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + $CONFIG ||= MOBY::Config->new; - $CONFIG ||= MOBY::Config->new; - # getting the dbh is bad bad bad!!! - my $dbh = $CONFIG->getDataAdaptor(datasource => 'mobycentral')->dbh; - - $self->dbh($dbh); + my $dbh = $CONFIG->getDataAdaptor( datasource => 'mobycentral' )->dbh; + $self->dbh($dbh); return $self; - } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm 2004/06/24 22:32:38 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/collection_input.pm 2004/11/18 17:41:14 1.3 @@ -1,12 +1,9 @@ package MOBY::collection_input; use strict; use Carp; -use XML::DOM; use MOBY::Config; - use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::collection_input - a lightweight connection to the @@ -38,114 +35,95 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - collection_input_id => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + collection_input_id => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->collection_input_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_collection_input( - service_instance => $self->service_instance_id, - article_name => $self->article_name, - ); - - return $id; + service_instance => $self->service_instance_id, + article_name => $self->article_name, ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm 2004/06/24 22:32:38 1.2 +++ /home/repository/moby/moby-live/Perl/MOBY/collection_output.pm 2004/11/18 17:41:14 1.3 @@ -1,14 +1,10 @@ #!/usr/bin/perl -w - package MOBY::collection_output; use strict; use Carp; -use XML::DOM; use MOBY::Config; - use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::collection_output - a lightweight connection to the @@ -38,115 +34,95 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - collection_output_id => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + collection_output_id => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->collection_output_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_collection_output( - service_instance => $self->service_instance_id, - article_name => $self->article_name, - ); - - return $id; + service_instance => $self->service_instance_id, + article_name => $self->article_name, ); + return $id; } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm 2004/07/09 00:21:53 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/dbConfig.pm 2004/11/18 17:41:14 1.4 @@ -1,149 +1,135 @@ package MOBY::dbConfig; - use strict; use Carp; use vars qw($AUTOLOAD); use Text::Shellwords; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - section_title => [undef, 'read/write'], - username => [undef, 'read/write'], - password => [undef, 'read/write'], - dbname => [undef, 'read/write'], - port => [undef, 'read/write'], - proxy => [undef, 'read/write'], - adaptor => ["MOBY::Adaptor::moby::queryapi::mysql", 'read/write'], - url => [undef, 'read/write'], - section => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + section_title => [ undef, 'read/write' ], + username => [ undef, 'read/write' ], + password => [ undef, 'read/write' ], + dbname => [ undef, 'read/write' ], + port => [ undef, 'read/write' ], + proxy => [ undef, 'read/write' ], + adaptor => [ "MOBY::Adaptor::moby::queryapi::mysql", 'read/write' ], + url => [ undef, 'read/write' ], + section => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } - sub database_title { - my ($self, $val) = @_; + sub database_title { + my ( $self, $val ) = @_; $self->section_title($val) if $val; return $self->section_title; - } - + } } # this object will contain the full hash of what is in the config file, even if # the key/value pairs are not expected. Only the expected key/value pairs will be available as # methods, however (i.e. those in the _standard_keys hash above) - sub new { - my ($caller, %args) = @_; + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + my $key; - my $key; #eval {$key = $self->_readSections($self->section);}; - $key = $self->_readSections($self->section); - #if ($@){die "MOBY Configuration file is misconfigured: dbConfig line 71\n";} -#print STDERR "I received the key $key\n"; - return undef unless $key; - return undef unless $key =~ /\S/; -#print STDERR "returning the dbConfig object for database title $key\n"; - $self->section_title($key); - - return $self; + $key = $self->_readSections( $self->section ); + #if ($@){die "MOBY Configuration file is misconfigured: dbConfig line 71\n";} + #print STDERR "I received the key $key\n"; + return undef unless $key; + return undef unless $key =~ /\S/; + + #print STDERR "returning the dbConfig object for database title $key\n"; + $self->section_title($key); + return $self; } sub _readSections { - my ($self, $section) = @_; + my ( $self, $section ) = @_; my $key; - my @lines = split "\n", $section; - while (my $l = shift @lines){ - chomp $l; - next unless $l; - next if $l=~/\s*\#/; # ignore comments - next unless $l =~ /\S/; # ignore pure whitespace; -#print STDERR "reading line $l\n"; - if ($l=~/\[(\w+)\]/){ - $key = $1; - while (my $l2 = shift @lines){ - chomp $l2; - last unless ($l2 =~ /\S/); - my @terms = shellwords($l2); - last unless (scalar @terms > 2); - $self->{$terms[0]} = $terms[2]; - } - } - } -#print STDERR "returning key $key with terms ",(keys %{$self->{$key}})," \n"; - return $key; # will be undef if this was not a valid section -} - + my @lines = split "\n", $section; + while ( my $l = shift @lines ) { + chomp $l; + next unless $l; + next if $l =~ /\s*\#/; # ignore comments + next unless $l =~ /\S/; # ignore pure whitespace; + + #print STDERR "reading line $l\n"; + if ( $l =~ /\[(\w+)\]/ ) { + $key = $1; + while ( my $l2 = shift @lines ) { + chomp $l2; + last unless ( $l2 =~ /\S/ ); + my @terms = shellwords($l2); + last unless ( scalar @terms > 2 ); + $self->{ $terms[0] } = $terms[2]; + } + } + } -sub DESTROY {} + #print STDERR "returning key $key with terms ",(keys %{$self->{$key}})," \n"; + return $key; # will be undef if this was not a valid section +} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/mysql.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/mysql.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/mysql.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::mysql; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::mysql - makes a MYSQL database connection. @@ -39,92 +36,77 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + (); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, $dbname, $username, $password, $host, $port) = @_; -my $debug = 0; + my ( $caller, $dbname, $username, $password, $host, $port ) = @_; + my $debug = 0; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - + my $self = bless {}, $class; my ($dsn) = "DBI:mysql:$dbname:$host:$port"; - - - $debug && &_LOG("connecting to db with params $dbname, $username, $password\n"); - my $dbh = DBI->connect($dsn, $username, $password, {RaiseError => 1}) or die "can't connect to database"; + $debug + && &_LOG("connecting to db with params $dbname, $username, $password\n"); + my $dbh = DBI->connect( $dsn, $username, $password, { RaiseError => 1 } ) + or die "can't connect to database"; $debug && &_LOG("CONNECTED!\n"); $self->databasehandle($dbh); return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm 2004/06/16 01:15:30 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/secondary_input.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::secondary_input; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::secondary_input - a lightweight connection to the @@ -36,140 +33,122 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - secondary_input_id => [undef, 'read/write'], - default_value => [undef, 'read/write'], - maximum_value => [undef, 'read/write'], - minimum_value => [undef, 'read/write'], - enum_value => [undef, 'read/write'], - datatype => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + secondary_input_id => [ undef, 'read/write' ], + default_value => [ undef, 'read/write' ], + maximum_value => [ undef, 'read/write' ], + minimum_value => [ undef, 'read/write' ], + enum_value => [ undef, 'read/write' ], + datatype => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub _dbh { - my ($self) = @_; - - my $central_connect = MOBY::central_db_connection->new(); - $self->dbh($central_connect->dbh); + my ($self) = @_; + my $central_connect = MOBY::central_db_connection->new(); + $self->dbh( $central_connect->dbh ); return $central_connect->dbh; - } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $datatype = $self->datatype; - unless (($datatype =~ /Integer/) || ($datatype =~ /Float/) || ($datatype =~ /String/) || ($datatype =~ /DateTime/)){ - return undef + unless ( ( $datatype =~ /Integer/ ) + || ( $datatype =~ /Float/ ) + || ( $datatype =~ /String/ ) + || ( $datatype =~ /DateTime/ ) ) + { + return undef; } - my $id = $self->WRITE; $self->secondary_input_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; my $dbh = $self->_dbh; - $dbh->do(q{insert into secondary_input (default_value,maximum_value,minimum_value,enum_value,datatype,article_name,service_instance_id) values (?,?,?,?,?,?,?)}, - undef, - ($self->default_value, - $self->maximum_value, - $self->minimum_value, - $self->enum_value, - $self->datatype, - $self->article_name, - $self->service_instance_id, - ) - ); - my $id=$dbh->{mysql_insertid}; - return $id; + $dbh->do( +q{insert into secondary_input (default_value,maximum_value,minimum_value,enum_value,datatype,article_name,service_instance_id) values (?,?,?,?,?,?,?)}, + undef, + ( + $self->default_value, $self->maximum_value, + $self->minimum_value, $self->enum_value, + $self->datatype, $self->article_name, + $self->service_instance_id, + ) + ); + my $id = $dbh->{mysql_insertid}; + return $id; } - sub AUTOLOAD { - - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm 2004/07/30 00:40:09 1.8 +++ /home/repository/moby/moby-live/Perl/MOBY/service_instance.pm 2004/11/18 17:41:14 1.9 @@ -1,9 +1,7 @@ package MOBY::service_instance; - use SOAP::Lite; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); use MOBY::central_db_connection; use MOBY::OntologyServer; @@ -49,405 +47,420 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service_instance_id => [undef, 'read/write'], - category => [undef, 'read/write'], - servicename => [undef, 'read/write'], - _authority => [undef, 'read/write'], # the authority object - service_type => [undef, 'read/write'], - service_type_uri => [undef, 'read/write'], - authority => [undef, 'read/write'], - authority_uri => [undef, 'read/write'], - signatureURL => [undef, 'read/write'], - url => [undef, 'read/write'], - inputs => [undef, 'read/write'], - outputs => [undef, 'read/write'], - secondaries => [undef, 'read/write'], - contact_email => [undef, 'read/write'], - authoritative => [0, 'read/write'], - description => [undef, 'read/write'], - registry => ['MOBY_Central', 'read/write'], - test => [0, 'read/write'], # toggles create or test_existence behaviour - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub service_name { # give them a break if they chose service_name or servicename as the parameter - my ($self, $val) = @_; - if (defined $val){ - if (defined $self->{servicename}){ - return undef # you are not allowed to change it once it has been set! - } else { - $self->{servicename} = $val; - } - } - return $self->{servicename} - } - - sub category { - my ($self, $val) = @_; - if ((defined $val) && $self->category){return undef} - (defined $val) && ($self->{category} = $val); - return $self->{category} - } - sub service_type { - my ($self, $val) = @_; - if (defined $val && $self->service_type){return undef} - (defined $val) && ($self->{service_type} = $val); - return $self->{service_type} - } - sub url{ - my ($self, $val) = @_; - if (defined $val && $self->url){return undef} - (defined $val) && ($self->{url} = $val); - return $self->{url} - } - sub signatureURL{ - my ($self, $val) = @_; - if (defined $val && $self->signatureURL){return undef} - (defined $val) && ($self->{signatureURL} = $val); - return $self->{signatureURL} - } - sub contact_email { - my ($self, $val) = @_; - if (defined $val && $self->contact_email){return undef} - (defined $val) && ($self->{contact_email} = $val); - return $self->{contact_email} - } - sub description { - my ($self, $val) = @_; - if (defined $val && $self->description){return undef} - (defined $val) && ($self->{description} = $val); - return $self->{description} - } - + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service_instance_id => [ undef, 'read/write' ], + category => [ undef, 'read/write' ], + servicename => [ undef, 'read/write' ], + _authority => [ undef, 'read/write' ], # the authority object + service_type => [ undef, 'read/write' ], + service_type_uri => [ undef, 'read/write' ], + authority => [ undef, 'read/write' ], + authority_uri => [ undef, 'read/write' ], + signatureURL => [ undef, 'read/write' ], + url => [ undef, 'read/write' ], + inputs => [ undef, 'read/write' ], + outputs => [ undef, 'read/write' ], + secondaries => [ undef, 'read/write' ], + contact_email => [ undef, 'read/write' ], + authoritative => [ 0, 'read/write' ], + description => [ undef, 'read/write' ], + registry => [ 'MOBY_Central', 'read/write' ], + test => [ 0, 'read/write' ] + , # toggles create or test_existence behaviour + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub service_name + { # give them a break if they chose service_name or servicename as the parameter + my ( $self, $val ) = @_; + if ( defined $val ) { + if ( defined $self->{servicename} ) { + return + undef # you are not allowed to change it once it has been set! + } else { + $self->{servicename} = $val; + } + } + return $self->{servicename}; + } + + sub category { + my ( $self, $val ) = @_; + if ( ( defined $val ) && $self->category ) { return undef } + ( defined $val ) && ( $self->{category} = $val ); + return $self->{category}; + } + + sub service_type { + my ( $self, $val ) = @_; + if ( defined $val && $self->service_type ) { return undef } + ( defined $val ) && ( $self->{service_type} = $val ); + return $self->{service_type}; + } + + sub url { + my ( $self, $val ) = @_; + if ( defined $val && $self->url ) { return undef } + ( defined $val ) && ( $self->{url} = $val ); + return $self->{url}; + } + + sub signatureURL { + my ( $self, $val ) = @_; + if ( defined $val && $self->signatureURL ) { return undef } + ( defined $val ) && ( $self->{signatureURL} = $val ); + return $self->{signatureURL}; + } + + sub contact_email { + my ( $self, $val ) = @_; + if ( defined $val && $self->contact_email ) { return undef } + ( defined $val ) && ( $self->{contact_email} = $val ); + return $self->{contact_email}; + } + + sub description { + my ( $self, $val ) = @_; + if ( defined $val && $self->description ) { return undef } + ( defined $val ) && ( $self->{description} = $val ); + return $self->{description}; + } + sub dbh { - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral')->dbh; + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = + $CONFIG->getDataAdaptor( datasource => 'mobycentral' )->dbh; } + sub adaptor { - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); } } #sub _dbh { # my ($self) = @_; -# +# # my $central_connect = MOBY::central_db_connection->new(); # $self->dbh($central_connect->dbh); #} - sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my ($self) = bless {}, $class; + my ($self) = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } -# category => $Category, -# servicename => $serviceName, -# service_type => $serviceType, -# authority_uri => $AuthURI, -# url => $URL, -# contact_email => $contactEmail, -# authoritative => $authoritativeService, -# description => $desc, -# - return undef unless $self->authority_uri; - return undef unless $self->servicename; - - #$self->_dbh(); - #return undef unless $self->dbh; - #my $dbh = $self->dbh; - - if ($self->test){ return $self->service_instance_exists} - - $self->authority($self->_get_authority()); # this might not be necessary - it simply converts auth_uri to auth_id and v.v.? - # it actually is necessary for the moment. We need to put the logic of determining - # service id into the mysql.pm module!! - - if ($self->service_type){ - my $OE = MOBY::OntologyServer->new(ontology => 'service'); - my ($success, $message, $servicetypeURI) = $OE->serviceExists(term => $self->service_type); - unless (($success || (($self->service_type =~ /urn:lsid/i) && !($self->service_type =~ /urn:lsid:biomoby.org/i)))){return undef} - ($self->service_type =~ /urn:lsid/)?$self->service_type_uri($self->service_type):$self->service_type_uri($servicetypeURI); - } - - my $existing_service = $self->adaptor->query_service_instance (servicename => $self->servicename, authURI => $self->authority_uri); - - - - if (($existing_service) # if it exists, you are not allowed to have passed anything other than service name and authorityURI - && ((defined $self->category) - || (defined $self->service_type) - || (defined $self->url) - || (defined $self->contact_email) - || (defined $self->description))){ - return -1; # no no no, not alowed to do that! I will not give you an object - } elsif ($existing_service){ # if service exists, then instantiate it from the database retrieval we just did - $self->service_instance_id($existing_service->{'serviceid'}); - $self->category($existing_service->{'category'}); - $self->service_type($existing_service->{'servicetype'}); - $self->url($existing_service->{'url'}); - $self->contact_email($existing_service->{'email'}); - $self->description($existing_service->{'desc'}); - $self->authority($existing_service->{'authURI'}); - $self->signatureURL($existing_service->{'signatureURL'}); - - $self->{__exists__} = 1; # this service already existed - } elsif (!($existing_service) # if it doesn't exist - && (defined $self->category) # and you have given me things I need to create it - && (defined $self->service_type) - && (defined $self->url) - && (defined $self->contact_email) - && (defined $self->description)) - { # then create it de novo if we have enough information + # category => $Category, + # servicename => $serviceName, + # service_type => $serviceType, + # authority_uri => $AuthURI, + # url => $URL, + # contact_email => $contactEmail, + # authoritative => $authoritativeService, + # description => $desc, + # + return undef unless $self->authority_uri; + return undef unless $self->servicename; + + #$self->_dbh(); + #return undef unless $self->dbh; + #my $dbh = $self->dbh; + if ( $self->test ) { return $self->service_instance_exists } + $self->authority( $self->_get_authority() ) + ; # this might not be necessary - it simply converts auth_uri to auth_id and v.v.? + # it actually is necessary for the moment. We need to put the logic of determining + # service id into the mysql.pm module!! + if ( $self->service_type ) { + my $OE = MOBY::OntologyServer->new( ontology => 'service' ); + my ( $success, $message, $servicetypeURI ) = + $OE->serviceExists( term => $self->service_type ); + unless ( + ( + $success + || ( ( $self->service_type =~ /urn:lsid/i ) + && !( $self->service_type =~ /urn:lsid:biomoby.org/i ) ) + ) + ) + { + return undef; + } + ( $self->service_type =~ /urn:lsid/ ) + ? $self->service_type_uri( $self->service_type ) + : $self->service_type_uri($servicetypeURI); + } + my $existing_service = $self->adaptor->query_service_instance( + servicename => $self->servicename, + authURI => $self->authority_uri ); + if ( + ($existing_service + ) # if it exists, you are not allowed to have passed anything other than service name and authorityURI + && ( ( defined $self->category ) + || ( defined $self->service_type ) + || ( defined $self->url ) + || ( defined $self->contact_email ) + || ( defined $self->description ) ) + ) + { + return + -1; # no no no, not alowed to do that! I will not give you an object + } elsif ($existing_service) + { # if service exists, then instantiate it from the database retrieval we just did + $self->service_instance_id( $existing_service->{'serviceid'} ); + $self->category( $existing_service->{'category'} ); + $self->service_type( $existing_service->{'servicetype'} ); + $self->url( $existing_service->{'url'} ); + $self->contact_email( $existing_service->{'email'} ); + $self->description( $existing_service->{'desc'} ); + $self->authority( $existing_service->{'authURI'} ); + $self->signatureURL( $existing_service->{'signatureURL'} ); + $self->{__exists__} = 1; # this service already existed + } elsif ( + !($existing_service) # if it doesn't exist + && ( + defined $self->category + ) # and you have given me things I need to create it + && ( defined $self->service_type ) + && ( defined $self->url ) + && ( defined $self->contact_email ) + && ( defined $self->description ) + ) + { # then create it de novo if we have enough information my $id = $self->adaptor->insert_service_instance( - category => $self->category, - servicename => $self->servicename, - service_type_uri => $self->service_type_uri, - authority_id => $self->authority_id, - url => $self->url, - contact_email => $self->contact_email, - authoritative => $self->authoritative, - description => $self->description, - signatureURL => $self->signatureURL, - ); - - $self->service_instance_id($id); - $self->{__exists__} = 1; # this service now exists - } else { # if it doesn't exist, and you havne't given me anyting I need to create it, then bail out - return undef; - } - return $self; - + category => $self->category, + servicename => $self->servicename, + service_type_uri => $self->service_type_uri, + authority_id => $self->authority_id, + url => $self->url, + contact_email => $self->contact_email, + authoritative => $self->authoritative, + description => $self->description, + signatureURL => $self->signatureURL, + ); + $self->service_instance_id($id); + $self->{__exists__} = 1; # this service now exists + } else { # if it doesn't exist, and you havne't given me anyting I need to create it, then bail out + return undef; + } + return $self; } sub DELETE_THYSELF { - my ($self) = @_; - my $dbh = $self->dbh; - unless ($self->{__exists__}){ - return undef - } - $CONFIG ||=MOBY::Config->new; - - $dbh->do(q{delete from service_instance where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from simple_input where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from simple_output where service_instance_id = ?},undef,$self->service_instance_id); - my $sth = $dbh->prepare(q{select collection_input_id from collection_input where service_instance_id = ?}); - $sth->execute($self->service_instance_id); - while (my ($id) = $sth->fetchrow_array){ - $dbh->do(q{delete from simple_input where collection_input_id = ?},undef,$id); - } - $sth = $dbh->prepare(q{select collection_output_id from collection_output where service_instance_id = ?}); - $sth->execute($self->service_instance_id); - while (my ($id) = $sth->fetchrow_array){ - $dbh->do(q{delete from simple_output where collection_output_id = ?},undef,$id); - } - $dbh->do(q{delete from collection_input where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from collection_output where service_instance_id = ?},undef,$self->service_instance_id); - $dbh->do(q{delete from secondary_input where service_instance_id=?}, undef, $self->service_instance_id); - return 1; + my ($self) = @_; + my $dbh = $self->dbh; + unless ( $self->{__exists__} ) { + return undef; + } + $CONFIG ||= MOBY::Config->new; + $dbh->do( q{delete from service_instance where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from simple_input where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from simple_output where service_instance_id = ?}, + undef, $self->service_instance_id ); + my $sth = + $dbh->prepare( +q{select collection_input_id from collection_input where service_instance_id = ?} + ); + $sth->execute( $self->service_instance_id ); + while ( my ($id) = $sth->fetchrow_array ) { + $dbh->do( q{delete from simple_input where collection_input_id = ?}, + undef, $id ); + } + $sth = + $dbh->prepare( +q{select collection_output_id from collection_output where service_instance_id = ?} + ); + $sth->execute( $self->service_instance_id ); + while ( my ($id) = $sth->fetchrow_array ) { + $dbh->do( q{delete from simple_output where collection_output_id = ?}, + undef, $id ); + } + $dbh->do( q{delete from collection_input where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from collection_output where service_instance_id = ?}, + undef, $self->service_instance_id ); + $dbh->do( q{delete from secondary_input where service_instance_id=?}, + undef, $self->service_instance_id ); + return 1; } - sub authority_id { - my ($self) = @_; - return $self->authority->authority_id; + my ($self) = @_; + return $self->authority->authority_id; } sub service_instance_exists { - my ($self) = @_; - my $dbh = $self->dbh; - my $authority; - my ($id) = $dbh->selectrow_array(q{select authority_id from authority where authority_uri = ?},undef,$self->authority_uri); - return undef unless $id; - my ($svc) = $dbh->selectrow_array(q{select service_instance_id from service_instance where authority_id = ? and servicename = ?}, undef, ($id, $self->servicename)); - return $svc; -} - - -sub _get_authority { # there's somethign fishy here... the authority.pm object already knows about authority_id and authorty_uri, doens't it? - my ($self) = @_; - my $dbh = $self->dbh; - my $authority; - my ($id,$name,$uri,$email) = $dbh->selectrow_array(q{select authority_id, authority_common_name, authority_uri, contact_email from authority where authority_uri = ?},undef,$self->authority_uri); - if (defined $id){ - $authority = MOBY::authority->new( - dbh => $self->dbh, - authority_id => $id, - authority_uri => $uri, - contact_email => $email, - ); - } else { - $authority = MOBY::authority->new( - dbh => $self->dbh, - authority_uri => $self->authority_uri, - contact_email => $self->contact_email, - ); - } - return $authority; + my ($self) = @_; + my $dbh = $self->dbh; + my $authority; + my ($id) = + $dbh->selectrow_array( + q{select authority_id from authority where authority_uri = ?}, + undef, $self->authority_uri ); + return undef unless $id; + my ($svc) = $dbh->selectrow_array( +q{select service_instance_id from service_instance where authority_id = ? and servicename = ?}, + undef, + ( $id, $self->servicename ) + ); + return $svc; +} + +sub _get_authority +{ # there's somethign fishy here... the authority.pm object already knows about authority_id and authorty_uri, doens't it? + my ($self) = @_; + my $dbh = $self->dbh; + my $authority; + my ( $id, $name, $uri, $email ) = $dbh->selectrow_array( +q{select authority_id, authority_common_name, authority_uri, contact_email from authority where authority_uri = ?}, + undef, $self->authority_uri + ); + if ( defined $id ) { + $authority = MOBY::authority->new( + dbh => $self->dbh, + authority_id => $id, + authority_uri => $uri, + contact_email => $email, + ); + } else { + $authority = MOBY::authority->new( + dbh => $self->dbh, + authority_uri => $self->authority_uri, + contact_email => $self->contact_email, + ); + } + return $authority; } sub add_simple_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $simple = MOBY::simple_input->new( - object_type_uri => $a{'object_type_uri'}, - namespace_type_uris => $a{'namespace_type_uris'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - collection_input_id => $a{'collection_input_id'} - ); - - push @{$self->{inputs}}, $simple; + object_type_uri => $a{'object_type_uri'}, + namespace_type_uris => $a{'namespace_type_uris'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + collection_input_id => $a{'collection_input_id'} + ); + push @{ $self->{inputs} }, $simple; return $simple->simple_input_id; } - sub add_simple_output { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $simple = MOBY::simple_output->new( - object_type_uri => $a{'object_type_uri'}, - namespace_type_uris => $a{'namespace_type_uris'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - collection_output_id => $a{'collection_output_id'} - ); - - push @{$self->{outputs}}, $simple; + object_type_uri => $a{'object_type_uri'}, + namespace_type_uris => $a{'namespace_type_uris'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + collection_output_id => $a{'collection_output_id'} + ); + push @{ $self->{outputs} }, $simple; return $simple->simple_output_id; } - sub add_collection_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $coll = MOBY::collection_input->new( - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{inputs}}, $coll; + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, ); + push @{ $self->{inputs} }, $coll; return $coll->collection_input_id; } - sub add_collection_output { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $coll = MOBY::collection_output->new( - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{outputs}}, $coll; + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, ); + push @{ $self->{outputs} }, $coll; return $coll->collection_output_id; } - sub add_secondary_input { - my ($self, %a) = @_; - -# validate here... one day... + my ( $self, %a ) = @_; + # validate here... one day... my $sec = MOBY::secondary_input->new( - default_value => $a{'default_value'}, - maximum_value => $a{'maximum_value'}, - minimum_value => $a{'minimum_value'}, - enum_value => $a{'enum_value'}, - datatype => $a{'datatype'}, - article_name => $a{'article_name'}, - service_instance_id => $self->service_instance_id, - ); - - push @{$self->{inputs}}, $sec; - return $sec->secondary_input_id; - + default_value => $a{'default_value'}, + maximum_value => $a{'maximum_value'}, + minimum_value => $a{'minimum_value'}, + enum_value => $a{'enum_value'}, + datatype => $a{'datatype'}, + article_name => $a{'article_name'}, + service_instance_id => $self->service_instance_id, + ); + push @{ $self->{inputs} }, $sec; + return $sec->secondary_input_id; } - - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/service_type.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/service_type.pm 2003/05/07 19:20:27 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/service_type.pm 2004/11/18 17:41:14 1.2 @@ -1,12 +1,9 @@ #!/usr/bin/perl -w - package MOBY::service_type; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::service_type - a lightweight connection to the @@ -35,97 +32,81 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service_type_id=> [undef, 'read/write'], - rdf_definition => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service_type_id => [ undef, 'read/write' ], + rdf_definition => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm 2004/06/24 22:32:38 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/simple_input.pm 2004/11/18 17:41:14 1.5 @@ -1,13 +1,10 @@ #!/usr/bin/perl -w - package MOBY::simple_input; use strict; use Carp; -use XML::DOM; use MOBY::Config; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::simple_input - a lightweight connection to the @@ -40,120 +37,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - simple_input_id => [undef, 'read/write'], - object_type_uri => [undef, 'read/write'], - namespace_type_uris => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - collection_input_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + simple_input_id => [ undef, 'read/write' ], + object_type_uri => [ undef, 'read/write' ], + namespace_type_uris => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + collection_input_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->simple_input_id($id) if defined $id; - return $self; - + return $self; } - sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_simple_input( - object_type_uri => $self->object_type_uri, - namespace_type_uris => $self->namespace_type_uris, - article_name => $self->article_name, - service_instance_id => $self->service_instance_id, - collection_input_id => $self->collection_input_id, - ); - - return $id; + object_type_uri => $self->object_type_uri, + namespace_type_uris => $self->namespace_type_uris, + article_name => $self->article_name, + service_instance_id => $self->service_instance_id, + collection_input_id => $self->collection_input_id, + ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm 2004/06/24 22:32:38 1.3 +++ /home/repository/moby/moby-live/Perl/MOBY/simple_output.pm 2004/11/18 17:41:15 1.4 @@ -1,13 +1,10 @@ #!/usr/bin/perl -w - package MOBY::simple_output; use strict; use Carp; use MOBY::Config; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::simple_output - a lightweight connection to the @@ -39,120 +36,102 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - simple_output_id => [undef, 'read/write'], - object_type_uri => [undef, 'read/write'], - namespace_type_uris => [undef, 'read/write'], - article_name => [undef, 'read/write'], - service_instance_id => [undef, 'read/write'], - collection_output_id => [undef, 'read/write'], - dbh => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + simple_output_id => [ undef, 'read/write' ], + object_type_uri => [ undef, 'read/write' ], + namespace_type_uris => [ undef, 'read/write' ], + article_name => [ undef, 'read/write' ], + service_instance_id => [ undef, 'read/write' ], + collection_output_id => [ undef, 'read/write' ], + dbh => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } -} + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } +} sub new { - my ($caller, %args) = @_; - + my ( $caller, %args ) = @_; my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ($caller_is_obj) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for($attrname); + } + } my $id = $self->WRITE; $self->simple_output_id($id) if defined $id; - return $self; - + return $self; } sub WRITE { my ($self) = @_; - $CONFIG ||=MOBY::Config->new; # exported by Config.pm - my $adaptor = $CONFIG->getDataAdaptor(datasource => 'mobycentral'); + $CONFIG ||= MOBY::Config->new; # exported by Config.pm + my $adaptor = $CONFIG->getDataAdaptor( datasource => 'mobycentral' ); my $id = $adaptor->insert_simple_output( - object_type_uri => $self->object_type_uri, - namespace_type_uris => $self->namespace_type_uris, - article_name => $self->article_name, - service_instance_id => $self->service_instance_id, - collection_output_id => $self->collection_output_id, - ); - - return $id; + object_type_uri => $self->object_type_uri, + namespace_type_uris => $self->namespace_type_uris, + article_name => $self->article_name, + service_instance_id => $self->service_instance_id, + collection_output_id => $self->collection_output_id, + ); + return $id; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; From kawas at pub.open-bio.org Thu Nov 18 17:38:56 2004 From: kawas at pub.open-bio.org (Eddie Kawas) Date: Thu, 18 Nov 2004 17:38:56 -0000 Subject: [MOBY-guts] biomoby commit Message-ID: <200411181741.iAIHfGjw013992@pub.open-bio.org> kawas Thu Nov 18 12:41:16 EST 2004 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory pub.open-bio.org:/tmp/cvs-serv13854/Client Modified Files: Central.pm CollectionArticle.pm OntologyServer.pm Registration.pm SecondaryArticle.pm Service.pm ServiceInstance.pm SimpleArticle.pm SimpleInput.pm Log Message: Converted XML:DOM -> XML::LibXML and applicable module calls Eddie moby-live/Perl/MOBY/Client Central.pm,1.80,1.81 CollectionArticle.pm,1.9,1.10 OntologyServer.pm,1.6,1.7 Registration.pm,1.6,1.7 SecondaryArticle.pm,1.4,1.5 Service.pm,1.12,1.13 ServiceInstance.pm,1.12,1.13 SimpleArticle.pm,1.5,1.6 SimpleInput.pm,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/09/16 22:21:02 1.80 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Central.pm 2004/11/18 17:41:15 1.81 @@ -1,18 +1,18 @@ #$Id$ - package MOBY::Client::Central; use SOAP::Lite; + #use SOAP::Lite + trace; # for debugging use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use MOBY::Client::ServiceInstance; use MOBY::Client::Registration; use MOBY::Client::SimpleArticle; use MOBY::Client::CollectionArticle; use MOBY::Client::SecondaryArticle; use MOBY::Client::OntologyServer; - use vars qw($AUTOLOAD @ISA $MOBY_server $MOBY_uri); =head1 NAME @@ -21,7 +21,6 @@ =cut - =head1 SYNOPSIS use MOBY::Client::Central; @@ -126,198 +125,219 @@ =cut my $debug = 0; - -if ($debug){open (OUT, ">/tmp/CentralLogOut.txt") || die "cant open logfile CentralLogOut.txt $!\n";close OUT;} - +if ( $debug ) { + open( OUT, ">/tmp/CentralLogOut.txt" ) + || die "cant open logfile CentralLogOut.txt $!\n"; + close OUT; +} { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - Connections => [undef, 'read/write'], - default_MOBY_servername => ['mobycentral', 'read/write'], - default_MOBY_server => ['http://mobycentral.cbr.nrc.ca/cgi-bin/MOBY05/mobycentral.pl', 'read/write'], - default_MOBY_uri => ['http://mobycentral.cbr.nrc.ca/MOBY/Central', 'read/write'], - default_MOBY_proxy => [undef, 'read/write'], - default_MOBY_type => ['soap', 'read/write'], - Registries => [undef, 'read/write'], - multiple_registries => [undef, 'read/write'], - # SWITCH TO THESE FOR A LOCAL MOBY CENTRAL REGISTRY - #default_MOBY_server => ['http://localhost/cgi-bin/MOBY-Central.pl', 'read/write'], - #default_MOBY_uri => ['http://localhost/MOBY/Central', 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + Connections => [ undef, 'read/write' ], + default_MOBY_servername => [ 'mobycentral', 'read/write' ], + default_MOBY_server => [ + 'http://mobycentral.cbr.nrc.ca/cgi-bin/MOBY05/mobycentral.pl', + 'read/write' + ], + default_MOBY_uri => + [ 'http://mobycentral.cbr.nrc.ca/MOBY/Central', 'read/write' ], + default_MOBY_proxy => [ undef, 'read/write' ], + default_MOBY_type => [ 'soap', 'read/write' ], + Registries => [ undef, 'read/write' ], + multiple_registries => [ undef, 'read/write' ], + +# SWITCH TO THESE FOR A LOCAL MOBY CENTRAL REGISTRY +#default_MOBY_server => ['http://localhost/cgi-bin/MOBY-Central.pl', 'read/write'], +#default_MOBY_uri => ['http://localhost/MOBY/Central', 'read/write'], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + return 0 unless ( $mode && $_attr_data{$attr} ); + $_attr_data{$attr}[1] =~ /$mode/; + } - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - return 0 unless ($mode && $_attr_data{$attr}); - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } - # List of names of all specified object attributes - sub _standard_keys { + # List of names of all specified object attributes + sub _standard_keys { keys %_attr_data; - } - + } + sub Connection { - my ($self, $desired) = @_; - if ($desired){ - while (my ($name, $type, $connect) = (@{$self->Connections->[0]})){ - return ($type, $connect) if $name eq $desired; - } + my ( $self, $desired ) = @_; + if ( $desired ) { + while ( my ( $name, $type, $connect ) = + ( @{ $self->Connections->[0] } ) ) + { + return ( $type, $connect ) if $name eq $desired; + } } else { - my ($name, $type, $connect) = @{$self->Connections->[0]}; - return ($type,$connect); + my ( $name, $type, $connect ) = @{ $self->Connections->[0] }; + return ( $type, $connect ); } - return (undef, undef); + return ( undef, undef ); } - } sub _call { - # this method replaces the former calls directly - # to teh SOAP_Connection, to give more flexibility - # in how that call is made - # most subroutines in here do the following: - # $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; - # or $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - # so intercept that and figure out if we are actually making a SOAP call or not - # and determine which registry it is - - my ($self, $reg, $method, @params) = @_; +# this method replaces the former calls directly +# to teh SOAP_Connection, to give more flexibility +# in how that call is made +# most subroutines in here do the following: +# $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; +# or $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; +# so intercept that and figure out if we are actually making a SOAP call or not +# and determine which registry it is + my ( $self, $reg, $method, @params ) = @_; $reg = $self->default_MOBY_servername if $reg eq "default"; $reg = $self->default_MOBY_servername if !$reg; - - my ($type, $connect) = $self->Connection($reg); - return "EXECUTION ERROR - registry $reg not found" unless ($type && $connect); + my ( $type, $connect ) = $self->Connection( $reg ); + return "EXECUTION ERROR - registry $reg not found" + unless ( $type && $connect ); + my $param = join "", @params; # must be a single message! + if ( lc( $type ) eq "get" ) { - my $param = join "", @params; # must be a single message! - - if (lc($type) eq "get"){ #print STDERR "executing CGI call\n"; use LWP::UserAgent; my $ua = LWP::UserAgent->new; use CGI; - $param =~s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; + $param =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg; my $paramstring = "?action=$method"; - $paramstring .=";payload=$param" if $param; - my $req = HTTP::Request->new(GET => $connect.$paramstring); - my $res = $ua->request($req); - if ($res->is_success){ + $paramstring .= ";payload=$param" if $param; + my $req = HTTP::Request->new( GET => $connect . $paramstring ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { return $res->content; } else { - return "EXECUTION ERROR - unsuccessful call to MOBY Central registry named '$reg'" + return +"EXECUTION ERROR - unsuccessful call to MOBY Central registry named '$reg'"; } } else { + #print STDERR "executing SOAP call\n"; - my @payload = $connect->call($method => $param)->paramsall; + my @payload = $connect->call( $method => $param )->paramsall; return @payload; - } + } } - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - $self->Connections([]); # initialize; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->Connections( [] ); # initialize; + # if user has set up preferred servers, then use those by default - $self->default_MOBY_server($ENV{MOBY_SERVER}) if $ENV{MOBY_SERVER}; - $self->default_MOBY_uri($ENV{MOBY_URI}) if $ENV{MOBY_URI}; - $self->default_MOBY_type($ENV{MOBY_TYPE}) if $ENV{MOBY_TYPE}; - $self->default_MOBY_proxy($ENV{MOBY_PROXY}) if $ENV{MOBY_PROXY}; - - - if ($self->Registries){ + $self->default_MOBY_server( $ENV{MOBY_SERVER} ) if $ENV{MOBY_SERVER}; + $self->default_MOBY_uri( $ENV{MOBY_URI} ) if $ENV{MOBY_URI}; + $self->default_MOBY_type( $ENV{MOBY_TYPE} ) if $ENV{MOBY_TYPE}; + $self->default_MOBY_proxy( $ENV{MOBY_PROXY} ) if $ENV{MOBY_PROXY}; + if ( $self->Registries ) { my $regno = 0; - my %reg = %{$self->Registries}; - while (my ($name, $acc) = each %reg){ - $regno++; # count how many registries we have in total - my $url = $acc->{URL}?$acc->{URL}:$self->default_MOBY_server; - my $uri = $acc->{URI}?$acc->{URI}:$self->default_MOBY_uri; - my $type = $acc->{TYPE}?$acc->{TYPE}:$self->default_MOBY_type; - my $proxy = $acc->{PROXY}?$acc->{PROXY}:$self->default_MOBY_proxy; - $type ||='soap'; - if (lc($type) eq "get"){ - push @{$self->Connections}, [$name, $type, $url]; + my %reg = %{ $self->Registries }; + while ( my ( $name, $acc ) = each %reg ) { + $regno++; # count how many registries we have in total + my $url = $acc->{URL} ? $acc->{URL} : $self->default_MOBY_server; + my $uri = $acc->{URI} ? $acc->{URI} : $self->default_MOBY_uri; + my $type = $acc->{TYPE} ? $acc->{TYPE} : $self->default_MOBY_type; + my $proxy = + $acc->{PROXY} ? $acc->{PROXY} : $self->default_MOBY_proxy; + $type ||= 'soap'; + if ( lc( $type ) eq "get" ) { + push @{ $self->Connections }, [ $name, $type, $url ]; } else { - my @soapargs; - if ($proxy){ - @soapargs = ($url, - proxy => ['http' => $proxy]); - } else { - @soapargs = ($url); - } - push @{$self->Connections}, [$name, $type, SOAP::Lite->proxy(@soapargs)->uri($uri)->on_fault( - sub{ - my($soap, $res) = @_; - die ref $res ? $res->faultstring : $soap->transport->status, "\n ERROR ERROR ERROR\n"; - })]; + my @soapargs; + if ( $proxy ) { + @soapargs = ( $url, proxy => [ 'http' => $proxy ] ); + } else { + @soapargs = ( $url ); + } + push @{ $self->Connections }, [ + $name, $type, + SOAP::Lite->proxy( @soapargs )->uri( $uri )->on_fault( + sub { + my ( $soap, $res ) = @_; + die ref $res + ? $res->faultstring + : $soap->transport->status, + "\n ERROR ERROR ERROR\n"; + } + ) + ]; } } - $self->multiple_registries($regno-1); # one is not "multiple", it is just a change in default -> set to "false" if only one + $self->multiple_registries( $regno - 1 ) + ; # one is not "multiple", it is just a change in default -> set to "false" if only one } else { - $self->multiple_registries(0); - if (lc($self->default_MOBY_type) eq "get"){ - push @{$self->Connections}, [$self->default_MOBY_servername, $self->default_MOBY_type,$self->default_MOBY_server]; + $self->multiple_registries( 0 ); + if ( lc( $self->default_MOBY_type ) eq "get" ) { + push @{ $self->Connections }, + [ + $self->default_MOBY_servername, $self->default_MOBY_type, + $self->default_MOBY_server + ]; } else { - $self->Registries({$self->default_MOBY_servername => { - URL => $self->default_MOBY_server, - URI => $self->default_MOBY_uri - }} - ); - my @soapargs; - if ($self->default_MOBY_proxy){ - @soapargs = ($self->default_MOBY_server, - proxy => ['http' => $self->default_MOBY_proxy]); - } else { - @soapargs = ($self->default_MOBY_server); - } - push @{$self->Connections},[$self->default_MOBY_servername, - $self->default_MOBY_type, - SOAP::Lite->proxy(@soapargs)->uri($self->default_MOBY_uri)->on_fault( - sub{ - my($soap, $res) = @_; - die ref $res ? $res->faultstring : $soap->transport->status, "\n ERROR ERROR ERROR\n"; - })]; + $self->Registries( + { + $self->default_MOBY_servername => { + URL => $self->default_MOBY_server, + URI => $self->default_MOBY_uri + } + } + ); + my @soapargs; + if ( $self->default_MOBY_proxy ) { + @soapargs = ( + $self->default_MOBY_server, + proxy => [ 'http' => $self->default_MOBY_proxy ] + ); + } else { + @soapargs = ( $self->default_MOBY_server ); + } + push @{ $self->Connections }, [ + $self->default_MOBY_servername, + $self->default_MOBY_type, + SOAP::Lite->proxy( @soapargs )->uri( $self->default_MOBY_uri ) + ->on_fault( + sub { + my ( $soap, $res ) = @_; + die ref $res + ? $res->faultstring + : $soap->transport->status, "\n ERROR ERROR ERROR\n"; + } + ) + ]; } } - return undef unless $self->Connection(); # gotta have at least one... - return $self; - + return undef unless $self->Connection(); # gotta have at least one... + return $self; } - =head2 registerObject a.k.a registerObjectClass Title : registerObject ; registerObjectClass @@ -338,50 +358,59 @@ =cut - sub registerObjectClass { - my ($self, %a) = @_; - return $self->registerObject(%a); + my ( $self, %a ) = @_; + return $self->registerObject( %a ); } -sub registerObject { - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - return $self->errorRegXML("Contact email address (contactEmail parameter) is required for object registration") if (!$a{contactEmail}); - - my $term = $a{'objectType'}; $term ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $contactEmail = $a{'contactEmail'}; $contactEmail ||=""; - my $authURI = $a{'authURI'}; $authURI ||=""; $authURI ||=""; - my %Relationships = %{$a{'Relationships'}}; - my $clobber = $a{'Clobber'}?$a{'Clobber'}:0; - my $message = " +sub registerObject { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + return $self->errorRegXML( +"Contact email address (contactEmail parameter) is required for object registration" + ) + if ( !$a{contactEmail} ); + my $term = $a{'objectType'}; + $term ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $contactEmail = $a{'contactEmail'}; + $contactEmail ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + $authURI ||= ""; + my %Relationships = %{ $a{'Relationships'} }; + my $clobber = $a{'Clobber'} ? $a{'Clobber'} : 0; + my $message = " $term $authURI $contactEmail $clobber\n"; - while (my ($type, $objlistref) = each %Relationships){ - $message .="\n"; - foreach my $objnamepair(@{$objlistref}){ - my $object = $objnamepair->[0]; + + while ( my ( $type, $objlistref ) = each %Relationships ) { + $message .= "\n"; + foreach my $objnamepair ( @{$objlistref} ) { + my $object = $objnamepair->[0]; my $article = $objnamepair->[1]; - return $self->errorRegXML("Object name missing from one of your $type relationships") unless ($object); - $article ||=""; - $message .="$object\n"; - } - $message .="\n"; + return $self->errorRegXML( + "Object name missing from one of your $type relationships" ) + unless ( $object ); + $article ||= ""; + $message .= + "$object\n"; + } + $message .= "\n"; } - $message .=""; - -# my $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerObjectClass', $message); - - return ($self->parseRegXML($return)); + $message .= ""; +# my $return = $self->SOAP_connection->call(registerObjectClass => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerObjectClass', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterObject a.k.a. deregisterObjectClass Title : deregisterObject ; deregisterObjectClass @@ -395,27 +424,28 @@ =cut sub deregisterObjectClass { - my ($self, %a) = @_; - return $self->deregisterObject(%a); + my ( $self, %a ) = @_; + return $self->deregisterObject( %a ); } -sub deregisterObject { - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'objectType'}; $id ||=""; +sub deregisterObject { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'objectType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterObjectClass => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterObjectClass', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterObjectClass => ($message))->paramsall; + my ( $return ) = + $self->_call( 'default', 'deregisterObjectClass', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 retrieveObjectDefinition Title : retrieveObjectDefinition @@ -442,66 +472,76 @@ =cut sub retrieveObjectDefinition { - - my ($self, $id, $reg) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; + my ( $self, $id, $reg ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; my %def; return \%def unless $id; - my $message = " $id "; - my ($return) = $self->_call('default', 'retrieveObjectDefinition', $message); - + my ( $return ) = + $self->_call( 'default', 'retrieveObjectDefinition', $message ); return \%def unless $return; - my ($term, $desc, $relationships, $email, $authURI) = &_ObjectDefinitionPayload($return); - $def{objectType} = $term; - $def{description} = $desc; - $def{contactEmail} = $email; - $def{authURI} = $authURI; + my ( $term, $desc, $relationships, $email, $authURI ) = + &_ObjectDefinitionPayload( $return ); + $def{objectType} = $term; + $def{description} = $desc; + $def{contactEmail} = $email; + $def{authURI} = $authURI; $def{Relationships} = $relationships; - $def{XML} = $return; - return (\%def); - + $def{XML} = $return; + return ( \%def ); } sub _ObjectDefinitionPayload { - my ($payload) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'retrieveObjectDefinition'); - - my $term = &_nodeTextContent($Object, "objectType"); - my $desc = &_nodeTextContent($Object, "Description"); - my $authURI = &_nodeTextContent($Object, "authURI"); - my $email = &_nodeTextContent($Object, "contactEmail"); - my %att_value; my %relationships; - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my $article = $_->getAttributeNode('articleName'); # may or may not have a name - if ($article){$article = $article->getValue()} - - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, [$_->toString, $article]; + my ( $payload ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $Object = $doc->getDocumentElement(); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'retrieveObjectDefinition' ); + my $term = &_nodeTextContent( $Object, "objectType" ); + my $desc = &_nodeTextContent( $Object, "Description" ); + my $authURI = &_nodeTextContent( $Object, "authURI" ); + my $email = &_nodeTextContent( $Object, "contactEmail" ); + my %att_value; + my %relationships; + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { #get_node starts at one + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my $article = + $_->getAttributeNode( 'articleName' ) + ; # may or may not have a name + if ( $article ) { $article = $article->getValue() } + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, + [ $_->toString, $article ]; } } } - return ($term, $desc, \%relationships, $email,$authURI); + return ( $term, $desc, \%relationships, $email, $authURI ); } - =head2 registerServiceType Title : registerServiceType @@ -518,37 +558,40 @@ =cut sub registerServiceType { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $type = $a{'serviceType'}; $type ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $email = $a{'contactEmail'}; $email ||=""; - my $auth = $a{'authURI'}; $auth ||=""; - my %Relationships = %{$a{'Relationships'}}; - - my $message = " + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $type = $a{'serviceType'}; + $type ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $email = $a{'contactEmail'}; + $email ||= ""; + my $auth = $a{'authURI'}; + $auth ||= ""; + my %Relationships = %{ $a{'Relationships'} }; + my $message = " $type $email $auth\n"; - while (my ($type, $servlistref) = each %Relationships){ - $message .="\n"; - foreach my $servicetype(@{$servlistref}){ - $message .="$servicetype\n"; + + while ( my ( $type, $servlistref ) = each %Relationships ) { + $message .= "\n"; + foreach my $servicetype ( @{$servlistref} ) { + $message .= "$servicetype\n"; } - $message .="\n"; + $message .= "\n"; } $message .= ""; -# my $return = $self->SOAP_connection->call(registerServiceType => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerServiceType', $message); - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(registerServiceType => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerServiceType', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 deregisterServiceType Title : deregisterServiceType @@ -560,21 +603,22 @@ =cut - sub deregisterServiceType { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'serviceType'}; $id ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'serviceType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterServiceType => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterServiceType', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterServiceType => ($message))->paramsall; + my ( $return ) = + $self->_call( 'default', 'deregisterServiceType', $message ); + return ( $self->parseRegXML( $return ) ); } =head2 registerNamespace @@ -592,13 +636,18 @@ =cut sub registerNamespace { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $type = $a{'namespaceType'}; $type ||=""; - my $authURI = $a{'authURI'}; $authURI ||=""; - my $desc = $a{'description'}; $desc ||=""; - my $contact = $a{'contactEmail'};; $contact ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $type = $a{'namespaceType'}; + $type ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + my $desc = $a{'description'}; + $desc ||= ""; + my $contact = $a{'contactEmail'}; + $contact ||= ""; my $message = " $type @@ -606,15 +655,12 @@ $authURI $contact "; - -# my $return = $self->SOAP_connection->call(registerNamespace => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerNamespace', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(registerNamespace => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerNamespace', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterNamespace Title : deregisterNamespace @@ -627,23 +673,22 @@ =cut sub deregisterNamespace { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $id = $a{'namespaceType'}; $id ||=""; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $id = $a{'namespaceType'}; + $id ||= ""; my $message = " $id "; -# my $return = $self->SOAP_connection->call(deregisterNamespace => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterNamespace', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterNamespace => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'deregisterNamespace', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 registerService Title : registerService @@ -697,21 +742,41 @@ =cut sub registerService { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $name = $a{serviceName}; $name ||=""; - my $type = $a{serviceType}; $type ||=""; - my $authURI = $a{authURI}; $authURI ||=""; - my $email = $a{contactEmail}; $email ||=""; - my $URL = $a{URL}; $URL ||=""; - my $desc = $a{description}; $desc ||=""; - my $signatureURL = $a{signatureURL}; $signatureURL ||=""; - my $Category = lc($a{category}); chomp $Category; $Category ||=""; - return $self->errorRegXML("Only 'moby' and 'wsdl' Service Categories are currently allowed - you gave me $Category") unless (($Category eq 'moby') || ($Category eq 'wsdl')); - return $self->errorRegXML("All Fields Required: serviceName, serviceType, authURI, contactEmail, URL, description, Category, input, output, secondary") unless ( - $name && $type && $authURI && $email && $URL && $desc && $Category); - + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $name = $a{serviceName}; + $name ||= ""; + my $type = $a{serviceType}; + $type ||= ""; + my $authURI = $a{authURI}; + $authURI ||= ""; + my $email = $a{contactEmail}; + $email ||= ""; + my $URL = $a{URL}; + $URL ||= ""; + my $desc = $a{description}; + $desc ||= ""; + my $signatureURL = $a{signatureURL}; + $signatureURL ||= ""; + my $Category = lc( $a{category} ); + chomp $Category; + $Category ||= ""; + return $self->errorRegXML( +"Only 'moby' and 'wsdl' Service Categories are currently allowed - you gave me $Category" + ) + unless ( ( $Category eq 'moby' ) || ( $Category eq 'wsdl' ) ); + return $self->errorRegXML( +"All Fields Required: serviceName, serviceType, authURI, contactEmail, URL, description, Category, input, output, secondary" + ) + unless ( $name + && $type + && $authURI + && $email + && $URL + && $desc + && $Category ); my $message = " $Category @@ -723,127 +788,153 @@ $authURI $email"; - if ($Category eq "moby" || $Category eq 'soap') { + if ( $Category eq "moby" || $Category eq 'soap' ) { my %SEC; - if ($a{'secondary'} && (ref($a{'secondary'}) =~ /hash/i)){ - %SEC = %{$a{secondary}}; - } elsif ($a{'secondary'} && !(ref($a{'secondary'}) =~ /hash/i)){ - return $self->errorRegXML("invalid structure of secondary parameters. Expected hashref.") - } - - - my %funkyhash = ( Input => $a{input}, Output => $a{output}); - while (my ($inout, $param) = each %funkyhash){ - my $inout_lc = lc ($inout); + if ( $a{'secondary'} && ( ref( $a{'secondary'} ) =~ /hash/i ) ) { + %SEC = %{ $a{secondary} }; + } elsif ( $a{'secondary'} && !( ref( $a{'secondary'} ) =~ /hash/i ) ) { + return $self->errorRegXML( + "invalid structure of secondary parameters. Expected hashref." ); + } + my %funkyhash = ( Input => $a{input}, Output => $a{output} ); + while ( my ( $inout, $param ) = each %funkyhash ) { + my $inout_lc = lc( $inout ); my @ALLARTICLES = @{$param}; $message .= "<${inout_lc}Objects><${inout}>\n"; - + # input =>[ # [articleName1,[objType1 => \@namespaces]], # Simple # [articleName2, [[objType2 => \@namespaces]]], # collection of one object type # [articleName3,[[objType3 => \@namespaces], # [objType4 => \@namespaces]]] # collection of multiple object types # ] + foreach my $article ( @ALLARTICLES ) { + my ( $articleName, $def ) = @{$article}; + $articleName ||= ""; + my @Objects; # + unless ( ref( $def ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of $inout objects, expected arrayref for article $articleName" + ); + } + my @objectdefs; + if ( ( ref $def->[0] ) =~ /array/i ) { # collection + # def= [[objType2 => [ns3, ns4...]], ...] + $message .= "\n"; + @objectdefs = @{$def}; + } else { # Nipple + @objectdefs = ( $def ); - foreach my $article(@ALLARTICLES){ - my ($articleName, $def) = @{$article}; - $articleName ||=""; - my @Objects; # - unless (ref($def) =~ /array/i){return $self->errorRegXML("invalid structure of $inout objects, expected arrayref for article $articleName")} - my @objectdefs; - if ((ref $def->[0]) =~ /array/i){ # collection - # def= [[objType2 => [ns3, ns4...]], ...] - $message .="\n"; - @objectdefs = @{$def}; - } else { # Nipple - @objectdefs = ($def); # def = [objType1 => [ns1, ns2...]], } - - foreach my $objectdef(@objectdefs){ - if ((ref($def->[0])) =~ /array/i){ - $message .="\n"; + foreach my $objectdef ( @objectdefs ) { + if ( ( ref( $def->[0] ) ) =~ /array/i ) { + $message .= "\n"; } else { - $message .="\n"; - } - my ($type, $Namespaces) = @{$objectdef}; - $message .="$type\n"; - unless (ref($Namespaces) =~ /array/i){return $self->errorRegXML("invalid structure of $inout namespaces for object $type in article $articleName; expected arrayref")} - foreach my $ns(@{$Namespaces}){ - $message .="$ns\n"; + $message .= "\n"; + } + my ( $type, $Namespaces ) = @{$objectdef}; + $message .= "$type\n"; + unless ( ref( $Namespaces ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of $inout namespaces for object $type in article $articleName; expected arrayref" + ); } - $message .="\n"; + foreach my $ns ( @{$Namespaces} ) { + $message .= "$ns\n"; + } + $message .= "\n"; } - if ((ref($def->[0])) =~ /array/i){ - $message .="\n"; + if ( ( ref( $def->[0] ) ) =~ /array/i ) { + $message .= "\n"; } } $message .= "\n"; } -# secondary => {parametername1 => {datatype => TYPE, -# default => DEFAULT, -# max => MAX, -# min => MIN, -# enum => [one, two]}, -# parametername2 => {datatype => TYPE, -# default => DEFAULT, -# max => MAX, -# min => MIN, -# enum => [one, two]} -# } -# - - $message .="\n"; - while (my ($param, $desc) = each %SEC){ - unless ((ref($desc)) =~ /hash/i){return $self->errorRegXML("invalid structure of secondary article $param; expected hashref of limitations")} - my %data = %{$desc}; - my $default = $data{default}; - my $max = $data{max}; - my $min = $data{min}; + + # secondary => {parametername1 => {datatype => TYPE, + # default => DEFAULT, + # max => MAX, + # min => MIN, + # enum => [one, two]}, + # parametername2 => {datatype => TYPE, + # default => DEFAULT, + # max => MAX, + # min => MIN, + # enum => [one, two]} + # } + # + $message .= "\n"; + while ( my ( $param, $desc ) = each %SEC ) { + unless ( ( ref( $desc ) ) =~ /hash/i ) { + return $self->errorRegXML( +"invalid structure of secondary article $param; expected hashref of limitations" + ); + } + my %data = %{$desc}; + my $default = $data{default}; + my $max = $data{max}; + my $min = $data{min}; my $datatype = $data{datatype}; - unless ($datatype){return $self->errorRegXML("a secondaryArticle must contain at least a datatype value in secondary article $param");} - unless (($datatype =~ /Integer/) || ($datatype =~ /Float/) || ($datatype =~ /String/) || ($datatype =~ /DateTime/)){return $self->errorRegXML("a secondaryArticle must have a datatype of Integer, Float, String, or DateTime");} - unless ((ref($data{enum})) =~ /array/i){return $self->errorRegXML("invalid structure of enum limits in secondary article $param; expected arrayref")} - my @enums = @{$data{enum}}; - $message .="\n"; - $message .="$default\n"; - $message .="$datatype\n"; - $message .="$max\n"; - $message .="$min\n"; - foreach (@enums){ - $message .="$_\n"; + unless ( $datatype ) { + return $self->errorRegXML( +"a secondaryArticle must contain at least a datatype value in secondary article $param" + ); + } + unless ( ( $datatype =~ /Integer/ ) + || ( $datatype =~ /Float/ ) + || ( $datatype =~ /String/ ) + || ( $datatype =~ /DateTime/ ) ) + { + return $self->errorRegXML( +"a secondaryArticle must have a datatype of Integer, Float, String, or DateTime" + ); + } + unless ( ( ref( $data{enum} ) ) =~ /array/i ) { + return $self->errorRegXML( +"invalid structure of enum limits in secondary article $param; expected arrayref" + ); } - $message .="\n"; + my @enums = @{ $data{enum} }; + $message .= "\n"; + $message .= "$default\n"; + $message .= "$datatype\n"; + $message .= "$max\n"; + $message .= "$min\n"; + foreach ( @enums ) { + $message .= "$_\n"; + } + $message .= "\n"; } $message .= "\n"; $message .= ""; - } else { return $self->errorRegXML("only 'moby' and 'wsdl' service types are allowed to be registered at this time.")} - - #elsif ($Category eq "cgi") { - # my $IN = $a{input}; - # $message .= " - # - # - # - # "; - #} else { - # $message .= " - # "; - #} - - - #unless ($message =~ /\<\/registerService/){ return MOBY::Registration->new( - # success => "0", - # error_messsage => "missing parameters or other failure leading to incorrectly formatted XML", - # registration_id => "0")}; + } else { + return $self->errorRegXML( +"only 'moby' and 'wsdl' service types are allowed to be registered at this time." + ); + } +#elsif ($Category eq "cgi") { +# my $IN = $a{input}; +# $message .= " +# +# +# +# "; +#} else { +# $message .= " +# "; +#} +#unless ($message =~ /\<\/registerService/){ return MOBY::Registration->new( +# success => "0", +# error_messsage => "missing parameters or other failure leading to incorrectly formatted XML", +# registration_id => "0")}; # print STDERR $message; - $debug && &_LOG(" message\n\n$message\n\n"); -# my $return = $self->SOAP_connection->call(registerService => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerService', $message); - - return ($self->parseRegXML($return)); + $debug && &_LOG( " message\n\n$message\n\n" ); +# my $return = $self->SOAP_connection->call(registerService => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'registerService', $message ); + return ( $self->parseRegXML( $return ) ); } =head2 registerServiceWSDL @@ -854,20 +945,18 @@ =cut - sub registerServiceWSDL { + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; + my $message = ""; - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; - my $message = ""; # my $return = $self->SOAP_connection->call(registerServiceWSDL => ($message))->paramsall; - my ($return) = $self->_call('default', 'registerServiceWSDL', $message); - - return ($self->parseRegXML($return)); - + my ( $return ) = $self->_call( 'default', 'registerServiceWSDL', $message ); + return ( $self->parseRegXML( $return ) ); } - =head2 deregisterService Title : deregisterService @@ -879,35 +968,32 @@ =cut - - sub deregisterService { - - my ($self, %a) = @_; - return $self->errorRegXML("Function not allowed when querying multiple registries") if $self->multiple_registries; + my ( $self, %a ) = @_; + return $self->errorRegXML( + "Function not allowed when querying multiple registries" ) + if $self->multiple_registries; my $name = $a{'serviceName'}; my $auth = $a{'authURI'}; - (defined($name) && defined($auth)) || return (&parseRegXML(" + ( defined( $name ) && defined( $auth ) ) || return ( + &parseRegXML( " 0 - ")); + " ) + ); my $message = " $name $auth "; - -# my $return = $self->SOAP_connection->call(deregisterService => ($message))->paramsall; - my ($return) = $self->_call('default', 'deregisterService', $message); - - return ($self->parseRegXML($return)); +# my $return = $self->SOAP_connection->call(deregisterService => ($message))->paramsall; + my ( $return ) = $self->_call( 'default', 'deregisterService', $message ); + return ( $self->parseRegXML( $return ) ); } - - =head2 findService Title : findService @@ -942,102 +1028,143 @@ =cut - sub findService { - - my ($self, %a) = @_; - my $reg = ($a{Registry})?$a{Registry}:$self->default_MOBY_servername; - + my ( $self, %a ) = @_; + my $reg = ( $a{Registry} ) ? $a{Registry} : $self->default_MOBY_servername; my $id = $a{'serviceID'}; - my $servicename = $a{'serviceName'}; $servicename ||=""; - my $authoritative = $a{'authoritative'}; $authoritative ||= 0; - my $serviceType = $a{'serviceType'}; $serviceType ||= ""; - my $authURI = $a{'authURI'}; $authURI ||=""; - my $category = $a{'category'}; $category ||= "moby" ; - my $exObj = $a{'expandObjects'}; $exObj ||=0; - my $exServ = $a{'expandServices'}; $exServ ||= 0; - my $kw = $a{'keywords'}; $kw ||=[]; - ref($kw) =~ /array/i || return (undef, $self->errorRegXML("invalid structure of keywords. Expected arrayref")); - my @kw = @{$kw}; - + my $servicename = $a{'serviceName'}; + $servicename ||= ""; + my $authoritative = $a{'authoritative'}; + $authoritative ||= 0; + my $serviceType = $a{'serviceType'}; + $serviceType ||= ""; + my $authURI = $a{'authURI'}; + $authURI ||= ""; + my $category = $a{'category'}; + $category ||= "moby"; + my $exObj = $a{'expandObjects'}; + $exObj ||= 0; + my $exServ = $a{'expandServices'}; + $exServ ||= 0; + my $kw = $a{'keywords'}; + $kw ||= []; + ref( $kw ) =~ /array/i || return ( + undef, + $self->errorRegXML( + "invalid structure of keywords. Expected arrayref" + ) + ); + my @kw = @{$kw}; my $message = "\n"; - - defined($authoritative) && ($message .="$authoritative\n"); - $category && ($message .="$category\n"); - $serviceType && ($message .="$serviceType\n"); - $servicename && ($message .="$servicename\n"); - $authURI && ($message .="$authURI\n"); - defined($exObj) && ($message .="$exObj \n"); - defined($exServ) && ($message .="$exServ\n"); - if (scalar(@kw)){ - $message .=" \n"; - foreach my $kwd(@kw){ - $message .="$kwd\n"; + defined( $authoritative ) + && ( $message .= "$authoritative\n" ); + $category && ( $message .= "$category\n" ); + $serviceType && ( $message .= "$serviceType\n" ); + $servicename && ( $message .= "$servicename\n" ); + $authURI && ( $message .= "$authURI\n" ); + defined( $exObj ) + && ( $message .= "$exObj \n" ); + defined( $exServ ) + && ( $message .= "$exServ\n" ); + + if ( scalar( @kw ) ) { + $message .= " \n"; + foreach my $kwd ( @kw ) { + $message .= "$kwd\n"; } - $message .="\n"; - } + $message .= "\n"; + } + #$a{input} = [[]] unless (defined $a{input}); #$a{output} = [[]] unless (defined $a{output}); - if (defined $a{input} && !(ref($a{input}) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of input objects, expected arrayref for input"))} - if (defined $a{output} && !(ref($a{output}) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of output objects, expected arrayref for output"))} + if ( defined $a{input} && !( ref( $a{input} ) =~ /array/i ) ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of input objects, expected arrayref for input" + ) + ); + } + if ( defined $a{output} && !( ref( $a{output} ) =~ /array/i ) ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of output objects, expected arrayref for output" + ) + ); + } my %funkyhash; - - $funkyhash{Input} = $a{input} if (defined $a{input}) ; - $funkyhash{Output} = $a{output} if (defined $a{output}) ; - #input =>[ - # [objType1 => [ns1, ns2...]], # Simple - # [[objType2 => [ns3, ns4...]]], # collection of one object type - # [[objType3 => [ns3, ns4...]], - # [objType4 => [ns5, ns6...]]], # collection of multiple object types - # ] - while (my ($inout, $param) = each %funkyhash){ + $funkyhash{Input} = $a{input} if ( defined $a{input} ); + $funkyhash{Output} = $a{output} if ( defined $a{output} ); + + #input =>[ + # [objType1 => [ns1, ns2...]], # Simple + # [[objType2 => [ns3, ns4...]]], # collection of one object type + # [[objType3 => [ns3, ns4...]], + # [objType4 => [ns5, ns6...]]], # collection of multiple object types + # ] + while ( my ( $inout, $param ) = each %funkyhash ) { die "no inout parameter from teh funkyhash" unless defined $inout; die "no param parameter from teh funkyhash" unless defined $param; - die "param parameter should be a listref" unless (ref($param) =~ /ARRAY/); - - my $inout_lc = lc ($inout); - my @PARAM = @{$param}; + die "param parameter should be a listref" + unless ( ref( $param ) =~ /ARRAY/ ); + my $inout_lc = lc( $inout ); + my @PARAM = @{$param}; $message .= "<${inout_lc}Objects><${inout}>\n"; - foreach my $param(@PARAM){ - unless (ref($param) =~ /array/i){return (undef, $self->errorRegXML("invalid structure of $inout objects, expected arrayref of class and \@namespaces"))} - my ($class, $namespaces) = @{$param}; + foreach my $param ( @PARAM ) { + unless ( ref( $param ) =~ /array/i ) { + return ( + undef, + $self->errorRegXML( +"invalid structure of $inout objects, expected arrayref of class and \@namespaces" + ) + ); + } + my ( $class, $namespaces ) = @{$param}; die "no class part of param " unless defined $class; + #warn "no namespace part of the param" unless defined $namespaces; my @objectdefs; - if ((ref $class) =~ /array/i){ # collection - $message .="\n"; - @objectdefs = $class; - } else { # Nipple - @objectdefs = ($param); + if ( ( ref $class ) =~ /array/i ) { # collection + $message .= "\n"; + @objectdefs = $class; + } else { # Nipple + @objectdefs = ( $param ); } - - foreach my $objectdef(@objectdefs){ - $message .="\n"; - my ($type, $Namespaces) = @{$objectdef}; + foreach my $objectdef ( @objectdefs ) { + $message .= "\n"; + my ( $type, $Namespaces ) = @{$objectdef}; die "type is missing from objectdef " unless $type; - $message .="$type\n"; - if (defined($Namespaces) && !(ref($Namespaces) =~ /array/i)){return (undef, $self->errorRegXML("invalid structure of $inout namespaces for object $type; expected arrayref"))} - foreach my $ns(@{$Namespaces}){ + $message .= "$type\n"; + if ( defined( $Namespaces ) + && !( ref( $Namespaces ) =~ /array/i ) ) + { + return ( + undef, + $self->errorRegXML( +"invalid structure of $inout namespaces for object $type; expected arrayref" + ) + ); + } + foreach my $ns ( @{$Namespaces} ) { next unless $ns; - $message .="$ns\n"; + $message .= "$ns\n"; } - $message .="\n"; + $message .= "\n"; } - if ((ref($class)) =~ /array/i){ - $message .="\n"; + if ( ( ref( $class ) ) =~ /array/i ) { + $message .= "\n"; } } $message .= "\n"; } $message .= "\n"; - -# my $return = $self->SOAP_connection($reg)->call('findService' => ($message))->paramsall; - my ($return) = $self->_call($reg, 'findService', $message); - return ($self->_parseServices($reg, $return), undef); +# my $return = $self->SOAP_connection($reg)->call('findService' => ($message))->paramsall; + my ( $return ) = $self->_call( $reg, 'findService', $message ); + return ( $self->_parseServices( $reg, $return ), undef ); } - =head2 retrieveService Title : retrieveService @@ -1048,48 +1175,37 @@ =cut - sub retrieveService { - - my ($self, $SI)=@_; - return undef unless $SI && $SI->isa('MOBY::Client::ServiceInstance'); - + my ( $self, $SI ) = @_; + return undef unless $SI && $SI->isa( 'MOBY::Client::ServiceInstance' ); my $auth = $SI->authority; my $name = $SI->name; - my $reg = $SI->registry; - - return undef unless ($auth && $name && $self->Connection($reg)); - + my $reg = $SI->registry; + return undef unless ( $auth && $name && $self->Connection( $reg ) ); my $message = " - ".($SI->XML)." + " . ( $SI->XML ) . " "; - # my $return = $self->SOAP_connection($reg)->call(retrieveService => ($message))->paramsall; - my ($return) = $self->_call($reg, 'retrieveService', $message); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - - my $de = $doc->getDocumentElement; - my @child = $de->getChildNodes; - my $content; - foreach (@child){ - $debug && &_LOG($_->getNodeTypeName, "\t", $_->toString,"\n"); - if ($_->getNodeType == TEXT_NODE) { - $content .= $_->getNodeValue; + my ( $return ) = $self->_call( $reg, 'retrieveService', $message ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $de = $doc->getDocumentElement; + my @child = $de->childNodes; + my $content; + foreach ( @child ) { + $debug && &_LOG( getNodeTypeName($_), "\t", $_->toString, "\n" ); + if ( $_->nodeType == TEXT_NODE ) { + $content .= $_->nodeValue; #else try $_->textContent } else { - $content .= $_->toString; + $content .= $_->toString; } - } - - $content =~ s/^\n//gs; - return $content; - + } + $content =~ s/^\n//gs; + return $content; } - =head2 retrieveServiceNames Title : retrieveServiceNames @@ -1102,32 +1218,30 @@ =cut - sub retrieveServiceNames { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; - - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); # my $return = $self->SOAP_connection($reg)->call('retrieveServiceNames' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceNames', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $names_list = $root->getChildNodes; - my %servicenames; - for (my $x = 0; $x < $names_list->getLength; $x++){ - next unless $names_list->item($x)->getNodeType == ELEMENT_NODE; - my $name = $names_list->item($x)->getAttributeNode('name')->getValue; - my $auth = $names_list->item($x)->getAttributeNode('authURI')->getValue; - push @{$servicenames{$auth}}, $name; - } - return \%servicenames; + my ( $return ) = $self->_call( $reg, 'retrieveServiceNames', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $names_list = $root->childNodes; + my %servicenames; + for ( my $x = 1 ; $x <= $names_list->size() ; $x++ ) { + next unless $names_list->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $names_list->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $auth = + $names_list->get_node( $x )->getAttributeNode( 'authURI' )->getValue; + push @{ $servicenames{$auth} }, $name; + } + return \%servicenames; } - =head2 retrieveServiceProviders Title : retrieveServiceProviders @@ -1138,26 +1252,26 @@ =cut - -sub retrieveServiceProviders{ - my ($self) = shift; +sub retrieveServiceProviders { + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveServiceProviders' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceProviders', ""); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $providers = $root->getChildNodes; - my @serviceproviders; - for (my $x = 0; $x < $providers->getLength; $x++){ - next unless $providers->item($x)->getNodeType == ELEMENT_NODE; - push @serviceproviders, $providers->item($x)->getAttributeNode('name')->getValue; - } - return @serviceproviders; -} + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); +# my $return = $self->SOAP_connection($reg)->call('retrieveServiceProviders' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveServiceProviders', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $providers = $root->childNodes; + my @serviceproviders; + for ( my $x = 1 ; $x <= $providers->size() ; $x++ ) { + next unless $providers->get_node( $x )->nodeType == ELEMENT_NODE; + push @serviceproviders, + $providers->get_node( $x )->getAttributeNode( 'name' )->getValue; + } + return @serviceproviders; +} =head2 retrieveServiceTypes @@ -1170,35 +1284,33 @@ =cut - sub retrieveServiceTypes { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveServiceTypes' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveServiceTypes', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $types = $root->getChildNodes; - my %servicetypes; - for (my $x = 0; $x < $types->getLength; $x++){ - next unless $types->item($x)->getNodeType == ELEMENT_NODE; - my $type = $types->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($types->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild->toString; - } - $servicetypes{$type} = $desc; - } - return \%servicetypes; - + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); +# my $return = $self->SOAP_connection($reg)->call('retrieveServiceTypes' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveServiceTypes', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $types = $root->childNodes; + my %servicetypes; + for ( my $x = 1 ; $x <= $types->size() ; $x++ ) { + next unless $types->get_node( $x )->nodeType == ELEMENT_NODE; + my $type = $types->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $types->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild->toString; + } + $servicetypes{$type} = $desc; + } + return \%servicetypes; } - =head2 retrieveObjectNames Title : retrieveObjectNames @@ -1210,35 +1322,34 @@ =cut - sub retrieveObjectNames { - my ($self) = shift; + my ( $self ) = shift; my $reg = shift; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); - #my $return = $self->SOAP_connection($reg)->call('retrieveObjectNames' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveObjectNames', ""); - - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $obnames = $root->getChildNodes; - my %objectnames; - for (my $x = 0; $x < $obnames->getLength; $x++){ - next unless $obnames->item($x)->getNodeType == ELEMENT_NODE; - my $name = $obnames->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($obnames->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild->toString; - } - $objectnames{$name} = $desc; - } - return \%objectnames; - +#my $return = $self->SOAP_connection($reg)->call('retrieveObjectNames' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveObjectNames', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $obnames = $root->childNodes; + my %objectnames; + for ( my $x = 1 ; $x <= $obnames->size() ; $x++ ) { + next unless $obnames->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $obnames->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $obnames->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild->toString; + } + $objectnames{$name} = $desc; + } + return \%objectnames; } - =head2 retrieveNamespaces Title : retrieveNamespaces @@ -1250,34 +1361,34 @@ =cut - sub retrieveNamespaces { - my ($self)= shift; + my ( $self ) = shift; my $reg = shift; - $reg = $reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); -# my $return = $self->SOAP_connection($reg)->call('retrieveNamespaces' => (@_))->paramsall; - my ($return) = $self->_call($reg, 'retrieveNamespaces', ""); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $namesp = $root->getChildNodes; - my %namespaces; - for (my $x = 0; $x < $namesp->getLength; $x++){ - next unless $namesp->item($x)->getNodeType == ELEMENT_NODE; - my $ns = $namesp->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($namesp->item($x)->getElementsByTagName('Description')){ - $desc = $elem->getFirstChild; - $desc = $desc?$desc->toString:""; - } - $namespaces{$ns} = $desc; - } - return \%namespaces; +# my $return = $self->SOAP_connection($reg)->call('retrieveNamespaces' => (@_))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveNamespaces', "" ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $namesp = $root->childNodes; + my %namespaces; + for ( my $x = 1 ; $x <= $namesp->size() ; $x++ ) { + next unless $namesp->get_node( $x )->nodeType == ELEMENT_NODE; + my $ns = $namesp->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $namesp->get_node( $x )->getElementsByTagName( 'Description' ) ) + { + $desc = $elem->firstChild; + $desc = $desc ? $desc->toString : ""; + } + $namespaces{$ns} = $desc; + } + return \%namespaces; } - =head2 retrieveObject NOT YET IMPLEMENTED @@ -1291,38 +1402,39 @@ =cut - sub retrieveObject { - my ($self)= shift; - my ($reg) = shift; - my $type = shift; - my $message = " + my ( $self ) = shift; + my ( $reg ) = shift; + my $type = shift; + my $message = " $type "; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# my $return = $self->SOAP_connection($reg)->call('retrieveObject' => ($message))->paramsall; - my ($return) = $self->_call($reg, 'retrieveObject', $message); - my $parser = new XML::DOM::Parser; - my $doc = $parser->parse($return); - my $root = $doc->getDocumentElement; - my $objects = $root->getChildNodes; - my %objects; - for (my $x = 0; $x < $objects->getLength; $x++){ - next unless $objects->item($x)->getNodeType == ELEMENT_NODE; - my $name = $objects->item($x)->getAttributeNode('name')->getValue; - my $desc; - for my $elem($objects->item($x)->getElementsByTagName('Schema')){ - $desc = $elem->getFirstChild->getNodeValue; - } - $objects{$name} = $desc; - } - return \%objects; +# my $return = $self->SOAP_connection($reg)->call('retrieveObject' => ($message))->paramsall; + my ( $return ) = $self->_call( $reg, 'retrieveObject', $message ); + my $parser = XML::LibXML->new(); + my $doc = $parser->parse_string( $return ); + my $root = $doc->getDocumentElement; + my $objects = $root->childNodes; + my %objects; + for ( my $x = 1 ; $x <= $objects->size() ; $x++ ) { + next unless $objects->get_node( $x )->nodeType == ELEMENT_NODE; + my $name = + $objects->get_node( $x )->getAttributeNode( 'name' )->getValue; + my $desc; + for my $elem ( + $objects->get_node( $x )->getElementsByTagName( 'Schema' ) ) + { + $desc = $elem->firstChild->nodeValue; + } + $objects{$name} = $desc; + } + return \%objects; } - =head2 Relationships Title : Relationships @@ -1338,77 +1450,86 @@ =cut - sub Relationships { - my ($self, %args) = @_; - my $object = $args{'objectType'}; + my ( $self, %args ) = @_; + my $object = $args{'objectType'}; my $service = $args{'serviceType'}; - my $expand = $args{'expandRelationships'}; - $expand = $args{'expandRelationship'} unless defined($expand); # be forgiving of typos - + my $expand = $args{'expandRelationships'}; + $expand = $args{'expandRelationship'} + unless defined( $expand ); # be forgiving of typos my @relationships; - @relationships = @{$args{'Relationships'}} if ($args{'Relationships'} && (ref($args{'Relationships'}) =~ /array/i)); + @relationships = @{ $args{'Relationships'} } + if ( $args{'Relationships'} + && ( ref( $args{'Relationships'} ) =~ /array/i ) ); my $reg = $args{'Registry'}; - my $m; my $payload; - return {} unless ($object || $service); - if ($object){ + my $m; + my $payload; + return {} unless ( $object || $service ); + + if ( $object ) { $m = " $object\n"; - foreach (@relationships){ + foreach ( @relationships ) { $m .= "$_\n"; } $m .= "1\n" if $expand; - $m .= ""; - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); - #$payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - ($payload) = $self->_call($reg, 'Relationships', $m); - } elsif ($service){ + $m .= ""; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + +#$payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; + ( $payload ) = $self->_call( $reg, 'Relationships', $m ); + } elsif ( $service ) { $m = " $service\n"; - foreach (@relationships){ + foreach ( @relationships ) { $m .= "$_\n"; } $m .= "1\n" if $expand; - $m .= ""; - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); + $m .= ""; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + # $payload = $self->SOAP_connection($reg)->call('Relationships' => ($m))->paramsall; - ($payload) = $self->_call($reg, 'Relationships', $m); + ( $payload ) = $self->_call( $reg, 'Relationships', $m ); } - return &_relationshipsPayload($payload); + return &_relationshipsPayload( $payload ); } - - -sub _relationshipsPayload{ - my ($payload) = @_; +sub _relationshipsPayload { + my ( $payload ) = @_; return undef unless $payload; - my %att_value; my %relationships; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($payload); - my $x = $doc->getElementsByTagName("Relationship"); - my $no_relationships = $x->getLength; - for (my $n=0; $n<$no_relationships; ++$n){ - my $relationshipType = $x->item($n)->getAttributeNode('relationshipType'); # may or may not have a name - if ($relationshipType){$relationshipType = $relationshipType->getValue()} else {return "FAILED! must include a relationshipType in every relationship\n"} - my @child = $x->item($n)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - next unless $_->getNodeType == TEXT_NODE; - push @{$relationships{$relationshipType}}, $_->toString; + my %att_value; + my %relationships; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $payload ); + my $x = $doc->getElementsByTagName( "Relationship" ); + my $no_relationships = $x->size(); + for ( my $n = 1 ; $n <= $no_relationships ; ++$n ) { + my $relationshipType = + $x->get_node( $n )->getAttributeNode( 'relationshipType' ) + ; # may or may not have a name + if ( $relationshipType ) { + $relationshipType = $relationshipType->getValue(); + } else { + return + "FAILED! must include a relationshipType in every relationship\n"; + } + my @child = $x->get_node( $n )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + next unless $_->nodeType == TEXT_NODE; + push @{ $relationships{$relationshipType} }, $_->toString; } } } return \%relationships; } - - =head2 ISA Title : ISA @@ -1421,35 +1542,40 @@ =cut - sub ISA { - my ($self, $class1, $class2) = @_; - return 1 if (($class1 eq $class2) || ("moby:$class1" eq $class2) || ($class1 eq "moby:$class2")); - my $lsid1 = $self->ObjLSID($class1); - my $lsid2 = $self->ObjLSID($class2); + my ( $self, $class1, $class2 ) = @_; + return 1 + if ( ( $class1 eq $class2 ) + || ( "moby:$class1" eq $class2 ) + || ( $class1 eq "moby:$class2" ) ); + my $lsid1 = $self->ObjLSID( $class1 ); + my $lsid2 = $self->ObjLSID( $class2 ); return 0 unless $lsid1 && $lsid2; my @lsids; - unless (@lsids = $self->ISA_CACHE($lsid1)){ - my $resp = $self->Relationships(objectType => $lsid1, expandRelationship => 1, Relationships => ['ISA']); + unless ( @lsids = $self->ISA_CACHE( $lsid1 ) ) { + my $resp = $self->Relationships( + objectType => $lsid1, + expandRelationship => 1, + Relationships => ['ISA'] + ); my $lsids = $resp->{'urn:lsid:biomoby.org:objectrelation:isa'}; @lsids = @$lsids; - $self->ISA_CACHE($lsid1, [@lsids]); - $self->ISA_CACHE($class1, [@lsids]); + $self->ISA_CACHE( $lsid1, [@lsids] ); + $self->ISA_CACHE( $class1, [@lsids] ); my @hold = @lsids; - while (shift @hold){ - $self->ISA_CACHE($_, [@hold]); - if ($_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/){ - $self->ISA_CACHE($1, [@lsids]); - } + while ( shift @hold ) { + $self->ISA_CACHE( $_, [@hold] ); + if ( $_ =~ /^urn:lsid:biomoby.org.\w+\.(\S+)/ ) { + $self->ISA_CACHE( $1, [@lsids] ); + } } } - foreach (@lsids){ + foreach ( @lsids ) { return 1 if $_ eq $lsid2; } return 0; } - =head2 DUMP @@ -1462,100 +1588,113 @@ =cut - sub DUMP { - my ($self)= shift; - my ($reg) = shift; - my $type = shift; - - $reg =$reg?$reg:$self->default_MOBY_servername; - return undef unless ($self->Connection($reg)); -# return $self->SOAP_connection($reg)->call('DUMP')->paramsall; - my ($SQLs) = $self->_call($reg, 'DUMP_MySQL', ""); - my ($mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship) = @{$SQLs}; - return ($mobycentral, $mobyobject, $mobyservice, $mobynamespace, $mobyrelationship); + my ( $self ) = shift; + my ( $reg ) = shift; + my $type = shift; + $reg = $reg ? $reg : $self->default_MOBY_servername; + return undef unless ( $self->Connection( $reg ) ); + + # return $self->SOAP_connection($reg)->call('DUMP')->paramsall; + my ( $SQLs ) = $self->_call( $reg, 'DUMP_MySQL', "" ); + my ( + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ) + = @{$SQLs}; + return ( + $mobycentral, $mobyobject, $mobyservice, + $mobynamespace, $mobyrelationship + ); } - -*DUMP_MySQL =\&DUMP; -*DUMP_MySQL =\&DUMP; +*DUMP_MySQL = \&DUMP; +*DUMP_MySQL = \&DUMP; sub _parseServices { - my ($self, $Registry, $XML) = @_; - my $Parser = new XML::DOM::Parser; - my $doc = $Parser->parse($XML); - my $Object = $doc->getDocumentElement(); - my $Services = $Object->getElementsByTagName("Service"); - my $num = $Services->getLength; - my @Services; - for (my $x = 0; $x < $num; $x++){ - my $Service = $Services->item($x); - my $AuthURI = $Service->getAttributeNode('authURI')->getValue; - my $servicename = $Service->getAttributeNode('serviceName')->getValue; - my $Type = &_nodeTextContent($Service, 'serviceType'); - my $authoritative = &_nodeTextContent($Service, 'authoritative'); - my $contactEmail = &_nodeTextContent($Service, 'contactEmail'); - my $URL = &_nodeTextContent($Service, 'URL'); - #my $Output = &_nodeTextContent($Service, 'outputObject'); - my $Description = &_nodeTextContent($Service, 'Description'); - my $cat = &_nodeTextContent($Service, 'Category'); - + my ( $self, $Registry, $XML ) = @_; + my $Parser = XML::LibXML->new(); + my $doc = $Parser->parse_string( $XML ); + my $Object = $doc->getDocumentElement(); + my $Services = $Object->getElementsByTagName( "Service" ); + my $num = $Services->size(); + my @Services; + for ( my $x = 1 ; $x <= $num ; $x++ ) { + my $Service = $Services->get_node( $x ); + my $AuthURI = $Service->getAttributeNode( 'authURI' )->getValue; + my $servicename = $Service->getAttributeNode( 'serviceName' )->getValue; + my $Type = &_nodeTextContent( $Service, 'serviceType' ); + my $authoritative = &_nodeTextContent( $Service, 'authoritative' ); + my $contactEmail = &_nodeTextContent( $Service, 'contactEmail' ); + my $URL = &_nodeTextContent( $Service, 'URL' ); + + #my $Output = &_nodeTextContent($Service, 'outputObject'); + my $Description = &_nodeTextContent( $Service, 'Description' ); + my $cat = &_nodeTextContent( $Service, 'Category' ); my @INPUTS; my @OUTPUTS; - - foreach my $inout("Input", "Output"){ - my $xPuts = $Service->getElementsByTagName($inout); # there should only be one, but... who knows what - for my $in(0..$xPuts->getLength-1){ - my $current = $xPuts->item($in); - - foreach my $child($current->getChildNodes){ # child nodes will be either "Simple" or "Complex" tagnames - next unless $child->getNodeType == ELEMENT_NODE; + foreach my $inout ( "Input", "Output" ) { + my $xPuts = + $Service->getElementsByTagName( $inout ) + ; # there should only be one, but... who knows what + for my $in ( 1 .. $xPuts->size() ) { + my $current = $xPuts->get_node( $in ); + foreach my $child ( $current->childNodes ) + { # child nodes will be either "Simple" or "Complex" tagnames + next unless $child->nodeType == ELEMENT_NODE; my $THIS; - if ($child->getTagName eq "Simple"){ - $THIS = MOBY::Client::SimpleArticle->new(XML_DOM => $child); - } elsif ($child->getTagName eq "Collection"){ - $THIS = MOBY::Client::CollectionArticle->new(XML_DOM => $child); + if ( $child->nodeName eq "Simple" ) { + $THIS = + MOBY::Client::SimpleArticle->new( XML_DOM => $child ); + } elsif ( $child->nodeName eq "Collection" ) { + $THIS = + MOBY::Client::CollectionArticle->new( + XML_DOM => $child ); } else { - next + next; } - if ($inout eq "Input"){ + if ( $inout eq "Input" ) { push @INPUTS, $THIS; } else { push @OUTPUTS, $THIS; } } } - } - my @SECONDARIES; - my $secs = $Service->getElementsByTagName("secondaryArticles"); # there should only be one, but... who knows what - for my $in(0..$secs->getLength-1){ - my $current = $secs->item($in); - - foreach my $param($current->getChildNodes){ # child nodes will be "Parameter" tag names - next unless $param->getNodeType == ELEMENT_NODE && $param->getTagName eq "Parameter"; - my $THIS; - $THIS = MOBY::Client::SecondaryArticle->new(XML_DOM => $param); - push @SECONDARIES, $THIS; - } - } - - my $Instance = MOBY::Client::ServiceInstance->new( - authority => $AuthURI, - authoritative => $authoritative, - URL => $URL, - contactEmail => $contactEmail, - name => $servicename, - type => $Type, - category => $cat, - input => \@INPUTS, - output => \@OUTPUTS, - secondary => \@SECONDARIES, - description => $Description, - registry => $Registry, - XML => $Service->toString, - ); - push @Services, $Instance; - } - return \@Services; + } + my @SECONDARIES; + my $secs = + $Service->getElementsByTagName( "secondaryArticles" ) + ; # there should only be one, but... who knows what + for my $in ( 1 .. $secs->size() ) { + my $current = $secs->get_node( $in ); + foreach my $param ( $current->childNodes ) + { # child nodes will be "Parameter" tag names + next + unless $param->nodeType == ELEMENT_NODE + && $param->nodeName eq "Parameter"; + my $THIS; + $THIS = + MOBY::Client::SecondaryArticle->new( XML_DOM => $param ); + push @SECONDARIES, $THIS; + } + } + my $Instance = MOBY::Client::ServiceInstance->new( + authority => $AuthURI, + authoritative => $authoritative, + URL => $URL, + contactEmail => $contactEmail, + name => $servicename, + type => $Type, + category => $cat, + input => \@INPUTS, + output => \@OUTPUTS, + secondary => \@SECONDARIES, + description => $Description, + registry => $Registry, + XML => $Service->toString, + ); + push @Services, $Instance; + } + return \@Services; } # my ($e, $m, $lsid) = $OS->objectExists(term => $_); @@ -1565,20 +1704,20 @@ =cut sub ObjLSID { - my ($self, $term) = @_; + my ( $self, $term ) = @_; return undef unless $term; my $lsid; - if ($lsid = $self->LSID_CACHE($term)){ + if ( $lsid = $self->LSID_CACHE( $term ) ) { return $lsid; } else { my $os = MOBY::Client::OntologyServer->new; - my ($s, $m, $tlsid) = $os->objectExists(term => $term); - if ($tlsid){ - $self->LSID_CACHE($term, $tlsid); # link both the term - $self->LSID_CACHE($tlsid, $tlsid); # and the lsid to itself - return $tlsid + my ( $s, $m, $tlsid ) = $os->objectExists( term => $term ); + if ( $tlsid ) { + $self->LSID_CACHE( $term, $tlsid ); # link both the term + $self->LSID_CACHE( $tlsid, $tlsid ); # and the lsid to itself + return $tlsid; } else { - return undef + return undef; } } } @@ -1594,20 +1733,18 @@ =cut - sub LSID_CACHE { - my ($self, $term, $lsid) = @_; - if ($term && $lsid){ + my ( $self, $term, $lsid ) = @_; + if ( $term && $lsid ) { $self->{LSID_CACHE}->{$term} = $lsid; - return $self->{LSID_CACHE}->{$term}; - } elsif ($term){ + return $self->{LSID_CACHE}->{$term}; + } elsif ( $term ) { return $self->{LSID_CACHE}->{$term}; } else { - return undef + return undef; } } - =head2 ISA_CACHE Title : ISA_CACHE @@ -1623,143 +1760,146 @@ =cut sub ISA_CACHE { - my ($self, $desiredterm, $isas) = @_; + my ( $self, $desiredterm, $isas ) = @_; my $term = $desiredterm; - return (undef) if $isas && !(ref($isas)=~/ARRAY/); - if ($term && $isas){ + return ( undef ) if $isas && !( ref( $isas ) =~ /ARRAY/ ); + if ( $term && $isas ) { $self->{ISA_CACHE}->{$desiredterm} = [@$isas]; - while (my $term = shift(@$isas)){ + while ( my $term = shift( @$isas ) ) { $self->{ISA_CACHE}->{$term} = [@$isas]; } - return @{$self->{ISA_CACHE}->{$desiredterm}}; - } elsif ($term && $self->{ISA_CACHE}->{$desiredterm}){ - return @{$self->{ISA_CACHE}->{$desiredterm}}; + return @{ $self->{ISA_CACHE}->{$desiredterm} }; + } elsif ( $term && $self->{ISA_CACHE}->{$desiredterm} ) { + return @{ $self->{ISA_CACHE}->{$desiredterm} }; } else { return (); } } - sub parseRegXML { - # - # $id - # $success - # - # - my ($self, $xml) = @_; - my $Parser = new XML::DOM::Parser; + + # + # $id + # $success + # + # + my ( $self, $xml ) = @_; + my $Parser = XML::LibXML->new(); + #print STDERR $xml; - my $doc = $Parser->parse($xml); + my $doc = $Parser->parse_string( $xml ); my $Object = $doc->getDocumentElement(); - my $obj = $Object->getTagName; - return undef unless ($obj eq 'MOBYRegistration'); - my $id = &_nodeTextContent($Object, 'id'); - my $success = &_nodeTextContent($Object, 'success'); - my $message = &_nodeTextContent($Object, 'message'); - my $RDF = &_nodeRawContent($Object, 'RDF'); + my $obj = $Object->nodeName; + return undef unless ( $obj eq 'MOBYRegistration' ); + my $id = &_nodeTextContent( $Object, 'id' ); + my $success = &_nodeTextContent( $Object, 'success' ); + my $message = &_nodeTextContent( $Object, 'message' ); + my $RDF = &_nodeRawContent( $Object, 'RDF' ); my $reg = MOBY::Client::Registration->new( - success => $success, - message => $message, - registration_id => $id, - RDF => $RDF, - id => $id); - return $reg; + success => $success, + message => $message, + registration_id => $id, + RDF => $RDF, + id => $id + ); + return $reg; } sub errorRegXML { - my ($self, $message) = @_; + my ( $self, $message ) = @_; my $reg = MOBY::Client::Registration->new( - success => 0, - message => $message, - registration_id => -1,); - return $reg; + success => 0, + message => $message, + registration_id => -1, + ); + return $reg; } sub _nodeTextContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - my $x = $DOM->getElementsByTagName($node); - unless ($x->item(0)){return}; - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - $content = $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + my $x = $DOM->getElementsByTagName( $node ); + unless ( $x->get_node( 1 ) ) { return } + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + $content = $_->toString; + } + return $content; } sub _nodeRawContent { + # will get text of **all** child $node from the given $DOM # regardless of their depth!! - my ($DOM, $node) = @_; - my $x = $DOM->getElementsByTagName($node); - unless ($x->item(0)){return}; - my @child = $x->item(0)->getChildNodes; - my $content; - foreach (@child){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; -# next unless $_->getNodeType == TEXT_NODE; - $content .= $_->toString; - } - return $content; + my ( $DOM, $node ) = @_; + my $x = $DOM->getElementsByTagName( $node ); + unless ( $x->get_node( 1 ) ) { return } + my @child = $x->get_node( 1 )->childNodes; + my $content; + foreach ( @child ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + # next unless $_->nodeType == TEXT_NODE; + $content .= $_->toString; + } + return $content; } - sub _nodeArrayContent { + # will get array content of all child $node from given $DOM # regardless of depth! - my ($DOM, $node) = @_; - $debug && &_LOG("_nodeArrayContext received DOM: ", $DOM->toString,"\nsearching for node $node\n"); - my @result; - my $x = $DOM->getElementsByTagName($node); - my @child = $x->item(0)->getChildNodes; - foreach (@child){ - next unless $_->getNodeType == ELEMENT_NODE; - my @child2 = $_->getChildNodes; - foreach (@child2){ - #print $_->getNodeTypeName, "\t", $_->toString,"\n"; - next unless $_->getNodeType == TEXT_NODE; - push @result, $_->toString; - } - } - return @result; + my ( $DOM, $node ) = @_; + $debug && &_LOG( "_nodeArrayContext received DOM: ", + $DOM->toString, "\nsearching for node $node\n" ); + my @result; + my $x = $DOM->getElementsByTagName( $node ); + my @child = $x->get_node( 1 )->childNodes; + foreach ( @child ) { + next unless $_->nodeType == ELEMENT_NODE; + my @child2 = $_->childNodes; + foreach ( @child2 ) { + + #print getNodeTypeName($_), "\t", $_->toString,"\n"; + next unless $_->nodeType == TEXT_NODE; + push @result, $_->toString; + } + } + return @result; } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} +sub DESTROY { } sub _LOG { return unless $debug; @@ -1768,5 +1908,4 @@ print LOG "\n---\n"; close LOG; } - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2004/07/27 22:56:32 1.9 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2004/11/18 17:41:16 1.10 @@ -1,12 +1,11 @@ package MOBY::Client::CollectionArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); use MOBY::Client::SimpleArticle; - =head1 NAME MOBY::Client::CollectionArticle - a small object describing the Collection articles from the findService Response message of MOBY Central or representing the collection part of a MOBY invocation or response block @@ -106,7 +105,6 @@ =cut - =head2 articleName Title : articleName @@ -138,8 +136,6 @@ =cut - - =head2 XML Title : XML @@ -150,7 +146,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -161,7 +156,6 @@ =cut - =head2 isSimple Title : isSimple @@ -175,7 +169,6 @@ =cut - =head2 isCollection Title : isCollection @@ -189,7 +182,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -200,150 +192,133 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - Simples => [[], 'read/write'], - isSimple => [0, 'read' ], - isSecondary => [0, 'read' ], - isCollection => [1, 'read' ], - XML => [undef, 'read/write'], - XML_DOM => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + Simples => [ [], 'read/write' ], + isSimple => [ 0, 'read' ], + isSecondary => [ 0, 'read' ], + isCollection => [ 1, 'read' ], + XML => [ undef, 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } - sub addSimple { - my ($self, $s) = @_; - return $self->{Simples} unless $s; - return 0 unless $s->isa("MOBY::Client::SimpleArticle"); - push @{$self->{Simples}}, $s; - return $self->{Simples}; - } + sub addSimple { + my ( $self, $s ) = @_; + return $self->{Simples} unless $s; + return 0 unless $s->isa( "MOBY::Client::SimpleArticle" ); + push @{ $self->{Simples} }, $s; + return $self->{Simples}; + } } - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } - - sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Collection")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Collection" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Collection")); - $self->XML($dom->toString); # set the string version of the DOM - $self->articleName(""); - $self->Simples([]); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName); - my $objects = $dom->getElementsByTagName("Simple"); - for my $n(0..$objects->getLength - 1){ - $self->addSimple(MOBY::Client::SimpleArticle->new(articleName=>$self->articleName, XML_DOM => $objects->item($n))); - } - return $self; + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Collection" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->articleName( "" ); + $self->Simples( [] ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ); + my $objects = $dom->getElementsByTagName( "Simple" ); + + for my $n ( 1 .. $objects->size ) { + $self->addSimple( + MOBY::Client::SimpleArticle->new( + articleName => $self->articleName, + XML_DOM => $objects->get_node( $n ) + ) + ); + } + return $self; } - - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm 2004/08/10 15:57:48 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/OntologyServer.pm 2004/11/18 17:41:16 1.7 @@ -1,6 +1,5 @@ #$Id$ - =head1 NAME MOBY::Client::OntologyServer - A client interface to the Ontology @@ -8,7 +7,6 @@ =cut - =head1 SYNOPSIS use MOBY::Client::OntologyServer; @@ -72,200 +70,178 @@ =cut - - package MOBY::Client::OntologyServer; - use strict; use Carp; use vars qw($AUTOLOAD); use LWP::UserAgent; - my $debug = 0; - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - host => ["http://mobycentral.cbr.nrc.ca/cgi-bin/OntologyServer.cgi", 'read/write'], - proxy => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + host => [ + "http://mobycentral.cbr.nrc.ca/cgi-bin/OntologyServer.cgi", + 'read/write' + ], + proxy => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - - return undef unless $self->host; - return $self; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return undef unless $self->host; + return $self; } =head2 objectExists =cut - -sub objectExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("objectExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub objectExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "objectExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } - =head2 serviceExists =cut - -sub serviceExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("serviceExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub serviceExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "serviceExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } =head2 namespaceExists =cut - -sub namespaceExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("namespaceExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub namespaceExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "namespaceExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } =head2 relationshipExists =cut - -sub relationshipsExists{ - my ($self, %args) = @_; - - my $term = $args{'term'}; - $term =~ s/^moby://; # if the term is namespaced, then remove that - my $ua = $self->getUserAgent; - my $req = HTTP::Request->new(POST => $self->host); - $req->content("relationshipExists=$term"); - my $res = $ua->request($req); - if ($res->is_success) { - return split "\n", $res->content; - } else { - return (0,"Request Failed for unknown reasons",""); - } +sub relationshipsExists { + my ( $self, %args ) = @_; + my $term = $args{'term'}; + $term =~ s/^moby://; # if the term is namespaced, then remove that + my $ua = $self->getUserAgent; + my $req = HTTP::Request->new( POST => $self->host ); + $req->content( "relationshipExists=$term" ); + my $res = $ua->request( $req ); + if ( $res->is_success ) { + return split "\n", $res->content; + } else { + return ( 0, "Request Failed for unknown reasons", "" ); + } } -sub getUserAgent{ - my ($self, @args) = @_; - my $ua = LWP::UserAgent->new; - my $proxy = $ENV{MOBY_PROXY} if $ENV{MOBY_PROXY}; # first check the environment - $proxy = $self->proxy if $self->proxy; # but if the object was initialized with a proxy argument then use that instead - if($proxy){ - $ua->proxy('http', $proxy); - } - return $ua; +sub getUserAgent { + my ( $self, @args ) = @_; + my $ua = LWP::UserAgent->new; + my $proxy = $ENV{MOBY_PROXY} + if $ENV{MOBY_PROXY}; # first check the environment + $proxy = $self->proxy + if $self->proxy + ; # but if the object was initialized with a proxy argument then use that instead + if ( $proxy ) { + $ua->proxy( 'http', $proxy ); + } + return $ua; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm 2004/08/24 20:43:33 1.6 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Registration.pm 2004/11/18 17:41:16 1.7 @@ -1,13 +1,11 @@ #$Id$ - =head1 NAME MOBY::Client::Registration - an object to wrap the registration XML from MOBY Central =cut - =head1 SYNOPSIS my $reg = $Central->registerService(%args); @@ -68,110 +66,90 @@ =cut - package MOBY::Client::Registration; - use strict; use Carp; use vars qw($AUTOLOAD); - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - success => [0, 'read/write'], - message => ["OK", 'read/write'], - registration_id => [undef, 'read/write'], - RDF => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + success => [ 0, 'read/write' ], + message => [ "OK", 'read/write' ], + registration_id => [ undef, 'read/write' ], + RDF => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub id { - my ($self, $val) =@_; - $self->registration_id($val) if defined $val; + my ( $self, $val ) = @_; + $self->registration_id( $val ) if defined $val; return $self->registration_id; } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname} && defined $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} && defined $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return $self; } - -sub DESTROY {} +sub DESTROY { } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - - - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2004/08/17 17:48:10 1.4 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2004/11/18 17:41:16 1.5 @@ -1,11 +1,10 @@ package MOBY::Client::SecondaryArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SecondaryArticle - a small object describing the Simple articles from the findService Response message of MOBY Central @@ -45,7 +44,6 @@ =cut - =head2 articleName Title : articleName @@ -76,7 +74,6 @@ =cut - =head2 XML Title : XML @@ -87,7 +84,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -98,7 +94,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -135,243 +130,213 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - XML_DOM => [undef, 'read/write'], - XML => [undef, 'read/write'], - isSecondary => [1, 'read' ], - isSimple => [0, 'read' ], - isCollection => [0, 'read' ], - datatype => [undef, 'read/write' ], - default => [undef, 'read/write' ], - max => [undef, 'read/write' ], - min => [undef, 'read/write' ], - enum => [undef, 'read/write' ], - value => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addEnum { - my ($self, $enum) = @_; - $self->{enum} = [] unless $self->{enum}; - return $self->{enum} unless defined($enum); - push @{$self->{enum}}, $enum; - return $self->{enum}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + XML => [ undef, 'read/write' ], + isSecondary => [ 1, 'read' ], + isSimple => [ 0, 'read' ], + isCollection => [ 0, 'read' ], + datatype => [ undef, 'read/write' ], + default => [ undef, 'read/write' ], + max => [ undef, 'read/write' ], + min => [ undef, 'read/write' ], + enum => [ undef, 'read/write' ], + value => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + sub addEnum { + my ( $self, $enum ) = @_; + $self->{enum} = [] unless $self->{enum}; + return $self->{enum} unless defined( $enum ); + push @{ $self->{enum} }, $enum; + return $self->{enum}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - $self->{enum} = [] unless $self->enum; - - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->{enum} = [] unless $self->enum; + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Parameter")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Parameter" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Parameter")); - $self->XML($dom->toString); # set the string version of the DOM - - $self->namespaces([]); # reset! - $self->articleName(""); - $self->objectType(""); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName); - - if (@{$dom->getElementsByTagName('Value')}[0]){ - return $self->_createInstantiatedArticle($dom) - } else { - return $self->_createTemplateArticle($dom) - } + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Parameter" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->namespaces( [] ); # reset! + $self->articleName( "" ); + $self->objectType( "" ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ); + + if ( @{ $dom->getElementsByTagName( 'Value' ) }[0] ) { + return $self->_createInstantiatedArticle( $dom ); + } else { + return $self->_createTemplateArticle( $dom ); + } } sub _createTemplateArticle { - my ($self, $dom) = @_; - #datatype => [undef, 'read/write' ], - #default => [undef, 'read/write' ], - #max => [undef, 'read/write' ], - #min => [undef, 'read/write' ], - #enum => [[], 'read/write' ], - - my $objects = $dom->getElementsByTagName("datatype"); - if ($objects->item(0)){ - my $data; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $data .= $child->toString; - $data =~ s/\s//g; - } - $self->datatype($data); - } - - $objects = $dom->getElementsByTagName("default"); - if ($objects->item(0)){ - my $def; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $def .= $child->toString; - $def =~ s/\s//g; - } - $self->default($def); - } - - $objects = $dom->getElementsByTagName("max"); - if ($objects->item(0)){ - my $max; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $max .= $child->toString; - $max =~ s/\s//g; - } - $self->max($max); - } - - $objects = $dom->getElementsByTagName("min"); - if ($objects->item(0)){ - my $min; - foreach my $child($objects->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $min .= $child->toString; - $min =~ s/\s//g; - } - $self->min($min); - } - - $objects = $dom->getElementsByTagName("enum"); - if ($objects->item(0)){ - foreach (0..$objects->getLength-1){ - foreach my $child($objects->item($_)->getChildNodes){ - my $val; - next unless $child->getNodeType == TEXT_NODE; - $val = $child->toString; - next unless defined($val); - $val =~ s/^\s//; $val =~ s/\s$//; - $self->addEnum($val); - } - } - } - - return $self; - -} + my ( $self, $dom ) = @_; -sub _createInstantiatedArticle { - my ($self, $dom) = @_; -#43764 - my $values = $dom->getElementsByTagName('Value'); - foreach my $child($values->item(0)->getChildNodes){ - next unless $child->getNodeType == TEXT_NODE; - $self->value($self->value . $child->toString); - } - + #datatype => [undef, 'read/write' ], + #default => [undef, 'read/write' ], + #max => [undef, 'read/write' ], + #min => [undef, 'read/write' ], + #enum => [[], 'read/write' ], + my $objects = $dom->getElementsByTagName( "datatype" ); + if ( $objects->get_node( 1 ) ) { + my $data; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $data .= $child->toString; + $data =~ s/\s//g; + } + $self->datatype( $data ); + } + $objects = $dom->getElementsByTagName( "default" ); + if ( $objects->get_node( 1 ) ) { + my $def; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $def .= $child->toString; + $def =~ s/\s//g; + } + $self->default( $def ); + } + $objects = $dom->getElementsByTagName( "max" ); + if ( $objects->get_node( 1 ) ) { + my $max; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $max .= $child->toString; + $max =~ s/\s//g; + } + $self->max( $max ); + } + $objects = $dom->getElementsByTagName( "min" ); + if ( $objects->get_node( 1 ) ) { + my $min; + foreach my $child ( $objects->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $min .= $child->toString; + $min =~ s/\s//g; + } + $self->min( $min ); + } + $objects = $dom->getElementsByTagName( "enum" ); + if ( $objects->get_node( 1 ) ) { + foreach ( 1 .. $objects->size() ) { + foreach my $child ( $objects->get_node( $_ )->childNodes ) { + my $val; + next unless $child->nodeType == TEXT_NODE; + $val = $child->toString; + next unless defined( $val ); + $val =~ s/^\s//; + $val =~ s/\s$//; + $self->addEnum( $val ); + } + } + } + return $self; } +sub _createInstantiatedArticle { + my ( $self, $dom ) = @_; - - + #43764 + my $values = $dom->getElementsByTagName( 'Value' ); + foreach my $child ( $values->get_node( 1 )->childNodes ) { + next unless $child->nodeType == TEXT_NODE; + $self->value( $self->value . $child->toString ); + } +} sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/08/10 15:57:48 1.12 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/Service.pm 2004/11/18 17:41:16 1.13 @@ -40,90 +40,77 @@ =cut - package MOBY::Client::Service; use SOAP::Lite; + #use SOAP::Lite + 'trace'; use strict; use Carp; use Cwd; use URI::Escape; - use vars qw($AUTOLOAD @ISA); - my $debug = 0; - -if ($debug){open (OUT, ">/tmp/ServiceCallLogOut.txt") || die "cant open logfile\n";close OUT;} - +if ( $debug ) { + open( OUT, ">/tmp/ServiceCallLogOut.txt" ) || die "cant open logfile\n"; + close OUT; +} sub BEGIN { - - } - { + #Encapsulated class data - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - service => [undef, 'read/write'], - uri => [undef, 'read/write'], - ServiceName => [undef, 'read/write'], - _soapService => [undef, 'read/write'], - - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + service => [ undef, 'read/write' ], + uri => [ undef, 'read/write' ], + ServiceName => [ undef, 'read/write' ], + _soapService => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } my $queryID = 0; + sub _nextQueryID { - return ++$queryID + return ++$queryID; } - } - - sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - my $class = $caller_is_obj || $caller; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + my $class = $caller_is_obj || $caller; + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } #my $dir = cwd; - # seems to be a bug in SOAP::Lite that the WSDL document # fails a parse if it is passed as a scalar rather than a file # this section can be removed when this bug is fixed @@ -131,20 +118,16 @@ #print OUT $self->service; #close OUT; # ________________________________________ - - my $wsdl = URI::Escape::uri_escape($self->service); # this seems to fix the bug - return undef unless $wsdl; - my $soap = SOAP::Lite->service("data:,$wsdl"); - if ($self->uri){$soap->uri($self->uri)} - - $self->ServiceName(&getServiceName($soap)); - $self->_soapService($soap); - return $self; - + my $wsdl = + URI::Escape::uri_escape( $self->service ); # this seems to fix the bug + return undef unless $wsdl; + my $soap = SOAP::Lite->service( "data:,$wsdl" ); + if ( $self->uri ) { $soap->uri( $self->uri ) } + $self->ServiceName( &getServiceName( $soap ) ); + $self->_soapService( $soap ); + return $self; } - - =head2 execute Title : execute @@ -196,36 +179,41 @@ =cut - sub execute { - my ($self, %args) = @_; - return "ERROR: expected listref for XMLinputlist" unless (ref($args{XMLinputlist}) =~ /array/i); - my @inputs = @{$args{XMLinputlist}}; - my $data; - foreach (@inputs){ - return "ERROR: expected listref [articleName, XML] for data element" unless (ref($_) =~ /array/i); + my ( $self, %args ) = @_; + return "ERROR: expected listref for XMLinputlist" + unless ( ref( $args{XMLinputlist} ) =~ /array/i ); + my @inputs = @{ $args{XMLinputlist} }; + my $data; + foreach ( @inputs ) { + return "ERROR: expected listref [articleName, XML] for data element" + unless ( ref( $_ ) =~ /array/i ); my $qID = $self->_nextQueryID; - $data .= ""; - while (my ($articleName, $XML) = splice (@{$_}, 0, 2)){ - if (!(ref($XML)=~/array/i)){ - $articleName ||=""; - $XML ||= ""; - if (($XML =~ /\/) || ($XML =~ /\/)){ - $data .= "$XML"; - } else { - $data .= "\n$XML\n\n"; - } - # need to do this for collections also!!!!!! - } elsif (ref($XML)=~/array/i){ - my @objs = @{$XML}; - $data .="\n"; - foreach (@objs){ - $data .= "$_\n"; - } - $data .="\n"; - } - } - $data .="\n"; + $data .= ""; + while ( my ( $articleName, $XML ) = splice( @{$_}, 0, 2 ) ) { + if ( !( ref( $XML ) =~ /array/i ) ) { + $articleName ||= ""; + $XML ||= ""; + if ( ( $XML =~ /\/ ) || ( $XML =~ /\/ ) ) + { + $data .= +"$XML"; + } else { + $data .= +"\n$XML\n\n"; + } + + # need to do this for collections also!!!!!! + } elsif ( ref( $XML ) =~ /array/i ) { + my @objs = @{$XML}; + $data .= "\n"; + foreach ( @objs ) { + $data .= "$_\n"; + } + $data .= "\n"; + } + } + $data .= "\n"; } $data = " @@ -234,13 +222,12 @@ ]]>"; my $METHOD = $self->ServiceName; - &_LOG(%args, $METHOD); + &_LOG( %args, $METHOD ); my $response; - eval {($response) = $self->_soapService->$METHOD($data)}; - return $@?"":$response; # the service execution failed then pass back "" + eval { ( $response ) = $self->_soapService->$METHOD( $data ) }; + return $@ ? "" : $response; # the service execution failed then pass back "" } - =head2 ServiceName Title : ServiceName @@ -251,58 +238,51 @@ =cut - sub getServiceName { - my ($service) = @_; + my ( $service ) = @_; no strict; - my($method) = @{join '::', ref $service, 'EXPORT_OK'}; + my ( $method ) = @{ join '::', ref $service, 'EXPORT_OK' }; return $method; - } sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } sub SOAP::Transport::HTTP::Client::get_basic_credentials { - my ($username, $password); - print "ENTER USERNAME: "; $username=; chomp $username; - print "ENTER PASSWORD: "; $password=; chomp $password; - - return $username => $password; + my ( $username, $password ); + print "ENTER USERNAME: "; + $username = ; + chomp $username; + print "ENTER PASSWORD: "; + $password = ; + chomp $password; + return $username => $password; } - sub _LOG { return unless $debug; open LOG, ">>/tmp/ServiceCallLogOut.txt" or die "can't open logfile $!\n"; @@ -310,12 +290,11 @@ print LOG "\n---\n"; close LOG; } + # # # -------------------------------------------------------------------------------------------------------- # ## ## - - 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm 2004/08/18 23:06:03 1.12 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/ServiceInstance.pm 2004/11/18 17:41:16 1.13 @@ -1,10 +1,8 @@ package MOBY::Client::ServiceInstance; use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::ServiceInstance - a small object describing a MOBY service @@ -67,7 +65,6 @@ =cut - =head2 authority Title : authority @@ -130,7 +127,6 @@ =cut - =head2 authoritative Title : authoritative @@ -141,7 +137,6 @@ =cut - =head2 URL Title : URL @@ -152,7 +147,6 @@ =cut - =head2 contactEmail Title : contactEmail @@ -163,7 +157,6 @@ =cut - =head2 registry Title : registry @@ -174,110 +167,96 @@ =cut { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - authority => [undef, 'read/write'], - name => [undef, 'read/write'], - type => [undef, 'read/write'], - input => [undef, 'read/write'], # listref of Simple and Collection articles - output => [undef, 'read/write'], # listref of Simple and Collection articles - secondary => [undef, 'read/write'], # listref of SecondaryArticles - category => [undef, 'read/write'], - description => [undef, 'read/write'], - registry => ['MOBY_Central', 'read/write'], - XML => [undef, 'read/write'], - authoritative => [undef, 'read/write'], - URL => [undef, 'read/write'], - contactEmail => [undef, 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + authority => [ undef, 'read/write' ], + name => [ undef, 'read/write' ], + type => [ undef, 'read/write' ], + input => [ undef, 'read/write' ] + , # listref of Simple and Collection articles + output => [ undef, 'read/write' ] + , # listref of Simple and Collection articles + secondary => [ undef, 'read/write' ], # listref of SecondaryArticles + category => [ undef, 'read/write' ], + description => [ undef, 'read/write' ], + registry => [ 'MOBY_Central', 'read/write' ], + XML => [ undef, 'read/write' ], + authoritative => [ undef, 'read/write' ], + URL => [ undef, 'read/write' ], + contactEmail => [ undef, 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - $self->input([]) unless $self->input; - $self->output([]) unless $self->output; - $self->secondary([]) unless $self->secondary; - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + $self->input( [] ) unless $self->input; + $self->output( [] ) unless $self->output; + $self->secondary( [] ) unless $self->secondary; + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2004/06/15 00:37:55 1.5 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2004/11/18 17:41:16 1.6 @@ -1,11 +1,10 @@ package MOBY::Client::SimpleArticle; - use strict; use Carp; -use XML::DOM; +use XML::LibXML; +use MOBY::MobyXMLConstants; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SimpleArticle - a small object describing the Simple articles from the findService Response message of MOBY Central @@ -67,7 +66,6 @@ =cut - =head2 articleName Title : articleName @@ -98,7 +96,6 @@ =cut - =head2 XML Title : XML @@ -109,7 +106,6 @@ =cut - =head2 XML_DOM Title : XML_DOM @@ -120,7 +116,6 @@ =cut - =head2 addNamespace Title : addNamespace @@ -143,7 +138,6 @@ =cut - =head2 isCollection Title : isCollection @@ -157,7 +151,6 @@ =cut - =head2 isSecondary Title : isSecondary @@ -168,202 +161,185 @@ =cut - { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - id => [undef, 'read/write'], - XML_DOM => [undef, 'read/write'], - XML => [undef, 'read/write'], - isSecondary => [0, 'read' ], - isSimple => [1, 'read' ], - isCollection => [0, 'read' ], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addNamespace { - my ($self, $ns) = @_; - return $self->{namespaces} unless $ns; - push @{$self->{namespaces}}, $ns; - return $self->{namespaces}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + id => [ undef, 'read/write' ], + XML_DOM => [ undef, 'read/write' ], + XML => [ undef, 'read/write' ], + isSecondary => [ 0, 'read' ], + isSimple => [ 1, 'read' ], + isCollection => [ 0, 'read' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + sub addNamespace { + my ( $self, $ns ) = @_; + return $self->{namespaces} unless $ns; + push @{ $self->{namespaces} }, $ns; + return $self->{namespaces}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - if ($self->XML && ref($self->XML)){ - return 0; - } elsif ($self->XML_DOM && !(ref($self->XML_DOM) =~ /dom/i)){ - return 0; - } - - $self->createFromXML if ($self->XML); - $self->createFromDOM($self->XML_DOM) if ($self->XML_DOM); - - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + if ( $self->XML && ref( $self->XML ) ) { + return 0; + } elsif ( $self->XML_DOM && !( ref( $self->XML_DOM ) =~ /dom/i ) ) { + return 0; + } + $self->createFromXML if ( $self->XML ); + $self->createFromDOM( $self->XML_DOM ) if ( $self->XML_DOM ); + return $self; } sub createFromXML { - my ($self) = @_; - my $p = XML::DOM::Parser->new; - my $doc = $p->parse($self->XML); - my $root = $doc->getDocumentElement; - return 0 unless ($root && ($root->getTagName eq "Simple")); - return $self->createFromDOM($root); + my ( $self ) = @_; + my $p = XML::LibXML->new; + my $doc = $p->parse_string( $self->XML ); + my $root = $doc->getDocumentElement; + return 0 unless ( $root && ( $root->nodeName eq "Simple" ) ); + return $self->createFromDOM( $root ); } sub createFromDOM { - my ($self, $dom) = @_; - return 0 unless ($dom && ($dom->getTagName eq "Simple")); - $self->XML($dom->toString); # set the string version of the DOM - $self->namespaces([]); # reset! - $self->articleName(""); - $self->objectType(""); - - my $attr = $dom->getAttributeNode('articleName'); - my $articleName = ""; - $articleName = $attr->getValue if $attr; - $self->articleName($articleName) if $articleName; # it may have already been set if this Simple is part of a Collection... - + my ( $self, $dom ) = @_; + return 0 unless ( $dom && ( $dom->nodeName eq "Simple" ) ); + $self->XML( $dom->toString ); # set the string version of the DOM + $self->namespaces( [] ); # reset! + $self->articleName( "" ); + $self->objectType( "" ); + my $attr = $dom->getAttributeNode( 'articleName' ); + my $articleName = ""; + $articleName = $attr->getValue if $attr; + $self->articleName( $articleName ) + if $articleName + ; # it may have already been set if this Simple is part of a Collection... + # fork here - it may be an instantiated object (coming from a service invocation/response) # or it may be a template object as in the SimpleArticle element of a registration call - # if the objectType tag exists, then it is a template object - if (@{$dom->getElementsByTagName("objectType")}[0]){ - return $self->_createTemplateArticle($dom) - } - else { return $self->_createInstantiatedArticle($dom)} -# otherwise it should simpy contain an instantiated MOBY object - + if ( @{ $dom->getElementsByTagName( "objectType" ) }[0] ) { + return $self->_createTemplateArticle( $dom ); + } else { + return $self->_createInstantiatedArticle( $dom ); + } + # otherwise it should simpy contain an instantiated MOBY object } sub _createInstantiatedArticle { - my ($self, $dom) = @_; - - # this will take a node from a MOBY invocation message - # and extract the object-type and namespace from the - # contained data object - - foreach my $child($dom->getChildNodes){ # there should be only one child node, and that is the data object itself; ignore whitespace - next unless $child->getNodeType == ELEMENT_NODE; - $self->objectType($child->getTagName); - my $attr = $child->getAttributeNode('namespace'); - $self->addNamespace($attr->getValue) if $attr; - my $id = $child->getAttributeNode('id'); - $self->id($id->getValue) if $id; - } - return $self; + my ( $self, $dom ) = @_; + + # this will take a node from a MOBY invocation message + # and extract the object-type and namespace from the + # contained data object + foreach my $child ( $dom->childNodes ) + { # there should be only one child node, and that is the data object itself; ignore whitespace + next unless $child->nodeType == ELEMENT_NODE; + $self->objectType( $child->nodeName ); + my $attr = $child->getAttributeNode( 'namespace' ); + $self->addNamespace( $attr->getValue ) if $attr; + my $id = $child->getAttributeNode( 'id' ); + $self->id( $id->getValue ) if $id; + } + return $self; } sub _createTemplateArticle { - my ($self, $dom) = @_; - - # this will take a node from a MOBY findServiceResponse - # message and extract the objectType and namespace array - # from the service signature. - - my $objects = $dom->getElementsByTagName("objectType"); - foreach my $child($objects->item(0)->getChildNodes){ # there must be only one in a simple! so take element 0 - next unless $child->getNodeType == TEXT_NODE; - $self->objectType($child->toString); - } - - $objects = $dom->getElementsByTagName("Namespace"); - foreach (0..$objects->getLength-1){ - foreach my $child($objects->item($_)->getChildNodes){ # there must be only one in a simple! so take element 0 - next unless $child->getNodeType == TEXT_NODE; - next unless $child->toString; - $self->addNamespace($child->toString); - } - } - return $self; -} + my ( $self, $dom ) = @_; -sub value { - my ($self) = @_; - # ????? what to do here ???? - + # this will take a node from a MOBY findServiceResponse + # message and extract the objectType and namespace array + # from the service signature. + my $objects = $dom->getElementsByTagName( "objectType" ); + foreach my $child ( $objects->get_node( 1 )->getChildNodes ) + { # there must be only one in a simple! so take first element + next unless $child->nodeType == TEXT_NODE; + $self->objectType( $child->toString ); + } + $objects = $dom->getElementsByTagName( "Namespace" ); + foreach ( 1 .. $objects->size() ) { + foreach my $child ( $objects->get_node( $_ )->childNodes ) + { # there must be only one in a simple! so take element 0 + next unless $child->nodeType == TEXT_NODE; + next unless $child->toString; + $self->addNamespace( $child->toString ); + } + } + return $self; } -sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { +sub value { + my ( $self ) = @_; - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine + # ????? what to do here ???? +} +sub AUTOLOAD { + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm 2004/06/16 01:15:30 1.1 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleInput.pm 2004/11/18 17:41:16 1.2 @@ -1,11 +1,8 @@ package MOBY::Client::SimpleInput; - use strict; use Carp; -use XML::DOM; use vars qw($AUTOLOAD @ISA); - =head1 NAME MOBY::Client::SimpleInput - a small object describing a MOBY service @@ -34,7 +31,6 @@ namespaces => \@namesapces (optional) =cut - =head2 articleName Title : articleName @@ -62,7 +58,6 @@ =cut - =head2 addNamespace Title : addNamespace @@ -73,103 +68,88 @@ =cut { + # Encapsulated: # DATA - #___________________________________________________________ #ATTRIBUTES - my %_attr_data = # DEFAULT ACCESSIBILITY - ( - articleName => [undef, 'read/write'], - objectType => [undef, 'read/write'], - namespaces => [[], 'read/write'], - ); - - #_____________________________________________________________ - - # METHODS, to operate on encapsulated class data - - # Is a specified object attribute accessible in a given mode - sub _accessible { - my ($self, $attr, $mode) = @_; - $_attr_data{$attr}[1] =~ /$mode/ - } - - # Classwide default value for a specified object attribute - sub _default_for { - my ($self, $attr) = @_; - $_attr_data{$attr}[0]; - } - - # List of names of all specified object attributes - sub _standard_keys { - keys %_attr_data; - } - - sub addNamespace { - my ($self, $ns) = @_; - return $self->{namespaces} unless $ns; - push @{$self->{namespaces}}, $ns; - return $self->{namespaces}; - } + my %_attr_data = # DEFAULT ACCESSIBILITY + ( + articleName => [ undef, 'read/write' ], + objectType => [ undef, 'read/write' ], + namespaces => [ [], 'read/write' ], + ); + + #_____________________________________________________________ + # METHODS, to operate on encapsulated class data + # Is a specified object attribute accessible in a given mode + sub _accessible { + my ( $self, $attr, $mode ) = @_; + $_attr_data{$attr}[1] =~ /$mode/; + } + # Classwide default value for a specified object attribute + sub _default_for { + my ( $self, $attr ) = @_; + $_attr_data{$attr}[0]; + } + + # List of names of all specified object attributes + sub _standard_keys { + keys %_attr_data; + } + + sub addNamespace { + my ( $self, $ns ) = @_; + return $self->{namespaces} unless $ns; + push @{ $self->{namespaces} }, $ns; + return $self->{namespaces}; + } } sub new { - my ($caller, %args) = @_; - - my $caller_is_obj = ref($caller); - return $caller if $caller_is_obj; - my $class = $caller_is_obj || $caller; + my ( $caller, %args ) = @_; + my $caller_is_obj = ref( $caller ); + return $caller if $caller_is_obj; + my $class = $caller_is_obj || $caller; my $proxy; - - my $self = bless {}, $class; - - foreach my $attrname ( $self->_standard_keys ) { - if (exists $args{$attrname}) { - $self->{$attrname} = $args{$attrname} } - elsif ($caller_is_obj) { - $self->{$attrname} = $caller->{$attrname} } - else { - $self->{$attrname} = $self->_default_for($attrname) } - } - - return $self; - + my $self = bless {}, $class; + foreach my $attrname ( $self->_standard_keys ) { + if ( exists $args{$attrname} ) { + $self->{$attrname} = $args{$attrname}; + } elsif ( $caller_is_obj ) { + $self->{$attrname} = $caller->{$attrname}; + } else { + $self->{$attrname} = $self->_default_for( $attrname ); + } + } + return $self; } - sub AUTOLOAD { - no strict "refs"; - my ($self, $newval) = @_; - - $AUTOLOAD =~ /.*::(\w+)/; - - my $attr=$1; - if ($self->_accessible($attr,'write')) { - - *{$AUTOLOAD} = sub { - if (defined $_[1]) { $_[0]->{$attr} = $_[1] } - return $_[0]->{$attr}; - }; ### end of created subroutine - + no strict "refs"; + my ( $self, $newval ) = @_; + $AUTOLOAD =~ /.*::(\w+)/; + my $attr = $1; + if ( $self->_accessible( $attr, 'write' ) ) { + *{$AUTOLOAD} = sub { + if ( defined $_[1] ) { $_[0]->{$attr} = $_[1] } + return $_[0]->{$attr}; + }; ### end of created subroutine ### this is called first time only - if (defined $newval) { - $self->{$attr} = $newval + if ( defined $newval ) { + $self->{$attr} = $newval; + } + return $self->{$attr}; + } elsif ( $self->_accessible( $attr, 'read' ) ) { + *{$AUTOLOAD} = sub { + return $_[0]->{$attr}; + }; ### end of created subroutine + return $self->{$attr}; } - return $self->{$attr}; - - } elsif ($self->_accessible($attr,'read')) { - - *{$AUTOLOAD} = sub { - return $_[0]->{$attr} }; ### end of created subroutine - return $self->{$attr} } - - # Must have been a mistake then... - croak "No such method: $AUTOLOAD"; + # Must have been a mistake then... + croak "No such method: $AUTOLOAD"; } - -sub DESTROY {} - +sub DESTROY { } 1; From gss at pub.open-bio.org Thu Nov 18 23:30:31 2004 From: gss at pub.open-bio.org (Gary Schlitz) Date: Thu, 18 Nov 2004 23:30:31 -0000 Subject: [MOBY-guts] biomoby commit Message-ID: <200411182333.iAINX6qI016391@pub.open-bio.org> gss Thu Nov 18 18:33:05 EST 2004 Update of /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph In directory pub.open-bio.org:/tmp/cvs-serv16239/WebRoot/developer/java-api/org/smoby/graph Modified Files: MOBYFixedCollection.html MOBYPropertyValueStatement.html MOBYSingleElement.html package-summary.html MOBYObject.html MOBYResource.html MOBYPropertyValueConstraint.html MOBYCollection.html MOBYSubject.html MOBYResizableCollection.html MOBYUnorderedCollection.html MOBYPropertyValue.html MOBYLiteral.html MOBYGraph.html MOBYProvider.html MOBYDescriptor.html MOBYMappingElement.html MOBYPropertyValueException.html MOBYDocument.html MOBYProviderSet.html MOBYGraphNode.html package-frame.html MOBYOntology.html package-tree.html MOBYOrderedCollection.html MOBYEnumeration.html package-use.html Log Message: Generated JavaDoc moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph MOBYFixedCollection.html,1.1,1.2 MOBYPropertyValueStatement.html,1.1,1.2 MOBYSingleElement.html,1.1,1.2 package-summary.html,1.1,1.2 MOBYObject.html,1.1,1.2 MOBYResource.html,1.1,1.2 MOBYPropertyValueConstraint.html,1.1,1.2 MOBYCollection.html,1.1,1.2 MOBYSubject.html,1.1,1.2 MOBYResizableCollection.html,1.1,1.2 MOBYUnorderedCollection.html,1.1,1.2 MOBYPropertyValue.html,1.1,1.2 MOBYLiteral.html,1.1,1.2 MOBYGraph.html,1.1,1.2 MOBYProvider.html,1.1,1.2 MOBYDescriptor.html,1.1,1.2 MOBYMappingElement.html,1.1,1.2 MOBYPropertyValueException.html,1.1,1.2 MOBYDocument.html,1.1,1.2 MOBYProviderSet.html,1.1,1.2 MOBYGraphNode.html,1.1,1.2 package-frame.html,1.1,1.2 MOBYOntology.html,1.1,1.2 package-tree.html,1.1,1.2 MOBYOrderedCollection.html,1.1,1.2 MOBYEnumeration.html,1.1,1.2 package-use.html,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYFixedCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYFixedCollection - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
      -Interface MOBYFixedCollection -
      -
      All Superinterfaces:
      MOBYCollection, MOBYDescriptor, MOBYGraphNode
      -
      +Class MOBYFixedCollection +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYCollection
      +              extended byorg.smoby.graph.MOBYFixedCollection
      +

      -
      public interface MOBYFixedCollection
      extends MOBYCollection
      +
      public class MOBYFixedCollection
      extends MOBYCollection

      -An interface representing unordered, fixed sized collection +A class representing unordered, fixed sized collection of objects.

      @@ -109,34 +113,81 @@ + + + + + + + + +
      +Constructor Summary
      MOBYFixedCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      - + + + + + + + + + + + + + +
      +Method Summary
      + booleanisFixedSized() + +
      +          Return whether or not the collection is fixed in size
      + booleanisResizable() + +
      +          Return whether or not the collection is resizable
      - + - +
      Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
      isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -147,9 +198,65 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYFixedCollection

      +
      +public MOBYFixedCollection(com.hp.hpl.jena.rdf.model.Resource resource,
      +                           java.util.List elements,
      +                           com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      + + + + + +
      +Method Detail
      + +

      +isResizable

      +
      +public boolean isResizable()
      +
      +
      Description copied from class: MOBYCollection
      +
      Return whether or not the collection is resizable +

      +

      +
      Specified by:
      isResizable in class MOBYCollection
      +
      +
      +
      +
      +
      +
      + +

      +isFixedSized

      +
      +public boolean isFixedSized()
      +
      +
      Description copied from class: MOBYCollection
      +
      Return whether or not the collection is fixed in size +

      +

      +
      Specified by:
      isFixedSized in class MOBYCollection
      +
      +
      +
      +
      +

      @@ -181,8 +288,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -201,9 +308,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueStatement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValueStatement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,10 +84,15 @@ org.smoby.graph
      -Interface MOBYPropertyValueStatement +Class MOBYPropertyValueStatement +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYPropertyValueStatement
      +

      -
      public interface MOBYPropertyValueStatement
      +
      public class MOBYPropertyValueStatement
      extends MOBYDescriptor


      @@ -101,7 +106,21 @@ + + + + + + + + +
      +Constructor Summary
      MOBYPropertyValueStatement(com.hp.hpl.jena.rdf.model.Statement jenaStatement, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -120,7 +139,7 @@ - MOBYPropertyValue + MOBYPropertyValue getValue()
      @@ -129,7 +148,7 @@  void -setConstraint(MOBYPropertyValueConstraint constraint) +setConstraint(MOBYPropertyValueConstraint constraint)
                Set the given constraint for this property value statement @@ -137,11 +156,37 @@  void -setPropertyValue(MOBYPropertyValue newValue) +setPropertyValue(MOBYPropertyValue newValue)
                Set the property value. + + + java.lang.String +toString() + +
      +            + + +  + + + + + + + +
      Methods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
       

      @@ -151,6 +196,21 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYPropertyValueStatement

      +
      +public MOBYPropertyValueStatement(com.hp.hpl.jena.rdf.model.Statement jenaStatement,
      +                                  com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -175,10 +235,21 @@
      +

      +toString

      +
      +public java.lang.String toString()
      +
      +
      +
      +
      +
      +
      +

      getValue

      -public MOBYPropertyValue getValue()
      +public MOBYPropertyValue getValue()
      Return the value currently associated with this property

      @@ -191,7 +262,7 @@

      setPropertyValue

      -public void setPropertyValue(MOBYPropertyValue newValue)
      +public void setPropertyValue(MOBYPropertyValue newValue)
                             throws MOBYPropertyValueException
      Set the property value. This is just a placeholder; values of @@ -209,7 +280,7 @@

      setConstraint

      -public void setConstraint(MOBYPropertyValueConstraint constraint)
      +public void setConstraint(MOBYPropertyValueConstraint constraint)
      Set the given constraint for this property value statement

      @@ -248,8 +319,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -268,9 +339,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSingleElement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYSingleElement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,22 @@ org.smoby.graph
      -Interface MOBYSingleElement +Class MOBYSingleElement +

      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYSingleElement
      +
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYGraphNode
      -
      -
      -
      All Known Subinterfaces:
      MOBYGraph, MOBYMappingElement, MOBYObject, MOBYSubject
      -
      -
      -
      All Known Implementing Classes:
      MOBYMappingElementImpl, org.smoby.graph.impl.MOBYSingleElementImpl
      +
      Direct Known Subclasses:
      MOBYGraph, MOBYMappingElement

      -
      public interface MOBYSingleElement
      extends MOBYGraphNode
      +
      public abstract class MOBYSingleElement
      extends MOBYGraphNode

      -An interface to represent singular objects, i.e. those that are +A class to represent singular objects, i.e. those that are not collections.

      @@ -115,25 +115,71 @@ + + + + + + + + +
      +Constructor Summary
      MOBYSingleElement(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      - + + + + + + + + + + + + + +
      +Method Summary
      + booleanisCollection() + +
      +          Return whether or not this object is a collection.
      + booleanisSingular() + +
      +          Return whether or not this object is a singular element.
      - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -144,9 +190,64 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYSingleElement

      +
      +public MOBYSingleElement(com.hp.hpl.jena.rdf.model.Resource resource,
      +                         com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      + + + + + +
      +Method Detail
      + +

      +isSingular

      +
      +public boolean isSingular()
      +
      +
      Description copied from class: MOBYGraphNode
      +
      Return whether or not this object is a singular element. +

      +

      +
      Specified by:
      isSingular in class MOBYGraphNode
      +
      +
      +
      +
      +
      +
      + +

      +isCollection

      +
      +public boolean isCollection()
      +
      +
      Description copied from class: MOBYGraphNode
      +
      Return whether or not this object is a collection. +

      +

      +
      Specified by:
      isCollection in class MOBYGraphNode
      +
      +
      +
      +
      +

      @@ -178,8 +279,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -198,9 +299,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-summary.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph @@ -51,7 +51,7 @@  PREV PACKAGE  - NEXT PACKAGENEXT PACKAGE FRAMES    NO FRAMES   @@ -76,6 +76,13 @@

      Package org.smoby.graph

      +Contains classes for manipulating the Semantic MOBY canonical graph +structure, which is potentially embedded in a larger graph structure. +

      +See: +
      +          Description +

      @@ -83,103 +90,136 @@ Interface Summary - - + + + +
      MOBYCollectionA common interface for collections, both fixed sized and resizeable, of - elements in MOBY graphs.MOBYGraphVisitor 
      +  + +

      + + + + + + + + - - + + + + + - - + - - + - - + - - + + - - + - + + + + + + + + + + + + + + + + + - + - + - - + - - + + - - + - + - + - - + - - + + - - + + - + - - + + - + - - +
      +Class Summary
      MOBYCollectionA common abstract class for collections, both fixed sized and resizeable, + of elements in MOBY graphs.
      MOBYDescriptorThe Resource interface represents things that are available +MOBYDateConstraint 
      MOBYDescriptorThe MOBYDescriptor class represents things that are available at a URI.
      MOBYDocumentThis interface represents a document to be incorporated into +MOBYDocumentThis class represents a document to be incorporated into the S-MOBY metadata repository.
      MOBYEnumerationAn interface representing a resizable collection of objects, in +MOBYEnumerationA class representing a resizable collection of objects, in which the order of the elements is not defined; the intention is for the elements to represent possible choices for a value.
      MOBYFixedCollectionAn interface representing unordered, fixed sized collection +MOBYFixedCollectionA class representing unordered, fixed sized collection of objects.
      MOBYGraphThis interface represents singular (i.e.MOBYGraphThis class represents singular (i.e.
      MOBYGraphNodeAn interface for nodes in an RDF graph; these nodes are either +MOBYGraphNodeAn abstract class for nodes in an RDF graph; these nodes are either collections or singular elements.
      MOBYLiteralMOBYIntegerConstraint 
      MOBYLiteral 
      MOBYMappingElement 
      MOBYNonNegativeIntegerConstraint 
      MOBYNonPositiveIntegerConstraint  
      MOBYMappingElementMOBYNumericConstraint  
      MOBYObjectMOBYObject An object that represents the object of a mapping.
      MOBYOntologyThis interface represents a collection of RDF statements to be +MOBYOntologyThis class represents a collection of RDF statements to be incorporated into the S-MOBY metadata repository.
      MOBYOrderedCollectionAn interface representing resizable collection of objects, in - which the order of the elements is defined.MOBYOrderedCollection 
      MOBYPropertyValueA superinterface for things that can appear as the subject +MOBYPropertyValueA superclass for things that can appear as the subject or object of a statement.
      MOBYPropertyValueConstraintMOBYPropertyValueConstraint  
      MOBYPropertyValueStatementMOBYPropertyValueStatement  
      MOBYProviderThe Provider interface represents a resource that provides a +MOBYProviderThe Provider class represents a resource that provides a service in MOBY.
      MOBYProviderSetAn interface to represent a set of providersMOBYProviderSetAn class to represent a set of providers
      MOBYResizableCollectionAn interface representing collections that can be resized (i.e.MOBYResizableCollectionA class representing collections that can be resized (i.e.
      MOBYResourceMOBYResource  
      MOBYSingleElementAn interface to represent singular objects, i.e.MOBYSingleElementA class to represent singular objects, i.e.
      MOBYSubjectMOBYSubject An object that represents the subject of one or more mappings.
      MOBYUnorderedCollectionAn interface representing resizable collection of objects, in +MOBYUnorderedCollectionA class representing resizable collection of objects, in which the order of the elements is not defined.
      @@ -200,6 +240,16 @@  

      +

      +Package org.smoby.graph Description +

      + +

      +Contains classes for manipulating the Semantic MOBY canonical graph +structure, which is potentially embedded in a larger graph structure. +

      + +


      @@ -231,7 +281,7 @@  PREV PACKAGE  - NEXT PACKAGENEXT PACKAGE
      FRAMES    NO FRAMES   =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYObject.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYObject - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,18 @@ org.smoby.graph
      -Interface MOBYObject -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYGraphNode, MOBYMappingElement, MOBYSingleElement
      -
      +Class MOBYObject +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYSingleElement
      +              extended byorg.smoby.graph.MOBYMappingElement
      +                  extended byorg.smoby.graph.MOBYObject
      +

      -
      public interface MOBYObject
      extends MOBYMappingElement
      +
      public class MOBYObject
      extends MOBYMappingElement

      An object that represents the object of a mapping. @@ -108,34 +113,68 @@ + + + + + + + + +
      +Constructor Summary
      MOBYObject(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYCollection nestedElements, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      - +
      Methods inherited from interface org.smoby.graph.MOBYMappingElementMethods inherited from class org.smoby.graph.MOBYMappingElement
      getNestedElements, getPropertyValueStatements
      + + + + + + + +
      Methods inherited from class org.smoby.graph.MOBYSingleElement
      isCollection, isSingular
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -146,6 +185,23 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYObject

      +
      +public MOBYObject(com.hp.hpl.jena.rdf.model.Resource resource,
      +                  MOBYFixedCollection statements,
      +                  MOBYCollection nestedElements,
      +                  com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -180,8 +236,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -200,9 +256,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResource.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYResource - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,15 @@ org.smoby.graph
      -Interface MOBYResource -
      -
      All Superinterfaces:
      MOBYPropertyValue
      -
      +Class MOBYResource +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYPropertyValue
      +      extended byorg.smoby.graph.MOBYResource
      +

      -
      public interface MOBYResource
      extends MOBYPropertyValue
      +
      public class MOBYResource
      extends MOBYPropertyValue


      @@ -104,7 +106,20 @@ + + + + + + + + +
      +Constructor Summary
      MOBYResource(com.hp.hpl.jena.rdf.model.Resource resourceValue) +
      +           
      @@ -129,14 +144,32 @@
                  + + + boolean +isLiteral() + +
      +          Return whether or not this property value represents + a literal value + + + + boolean +isResource() + +
      +          Return whether or not this property value represents + a resource + -  - + - +
      Methods inherited from interface org.smoby.graph.MOBYPropertyValueMethods inherited from class java.lang.Object
      isLiteral, isResourceequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -147,6 +180,20 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYResource

      +
      +public MOBYResource(com.hp.hpl.jena.rdf.model.Resource resourceValue)
      +
      +
      @@ -166,6 +213,39 @@
      + +
      + +

      +isLiteral

      +
      +public boolean isLiteral()
      +
      +
      Description copied from class: MOBYPropertyValue
      +
      Return whether or not this property value represents + a literal value +

      +

      +
      Specified by:
      isLiteral in class MOBYPropertyValue
      +
      +
      +
      +
      +
      +
      + +

      +isResource

      +
      +public boolean isResource()
      +
      +
      Description copied from class: MOBYPropertyValue
      +
      Return whether or not this property value represents + a resource +

      +

      +
      Specified by:
      isResource in class MOBYPropertyValue
      +
      @@ -180,9 +260,6 @@
      -
      -
      -

      @@ -215,8 +292,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -235,9 +312,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueConstraint.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValueConstraint - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,17 @@ org.smoby.graph
      -Interface MOBYPropertyValueConstraint +Class MOBYPropertyValueConstraint +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYPropertyValueConstraint
      +
      -
      All Known Implementing Classes:
      org.smoby.graph.impl.MOBYPropertyValueConstraintImpl
      +
      Direct Known Subclasses:
      MOBYDateConstraint, MOBYNumericConstraint

      -
      public interface MOBYPropertyValueConstraint
      +
      public abstract class MOBYPropertyValueConstraint
      extends java.lang.Object


      @@ -104,7 +108,20 @@ + + + + + + + + +
      +Constructor Summary
      MOBYPropertyValueConstraint() +
      +           
      @@ -115,14 +132,23 @@ - void -validatePropertyValue(MOBYPropertyValueStatement stmt, - MOBYPropertyValue newValue) +abstract  void +validatePropertyValue(MOBYPropertyValueStatement stmt, + MOBYPropertyValue newValue)
                  +  + + + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
       

      @@ -131,6 +157,20 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYPropertyValueConstraint

      +
      +public MOBYPropertyValueConstraint()
      +
      +
      @@ -145,9 +185,9 @@

      validatePropertyValue

      -public void validatePropertyValue(MOBYPropertyValueStatement stmt,
      -                                  MOBYPropertyValue newValue)
      -                           throws MOBYPropertyValueException
      +public abstract void validatePropertyValue(MOBYPropertyValueStatement stmt, + MOBYPropertyValue newValue) + throws MOBYPropertyValueException
      @@ -186,8 +226,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -206,9 +246,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYCollection - + @@ -51,7 +51,7 @@  PREV CLASS  - NEXT CLASSNEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,20 +84,23 @@ org.smoby.graph
      -Interface MOBYCollection -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYGraphNode
      -
      +Class MOBYCollection +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYCollection
      +
      -
      All Known Subinterfaces:
      MOBYEnumeration, MOBYFixedCollection, MOBYOrderedCollection, MOBYResizableCollection, MOBYUnorderedCollection
      +
      Direct Known Subclasses:
      MOBYFixedCollection, MOBYResizableCollection

      -
      public interface MOBYCollection
      extends MOBYGraphNode
      +
      public abstract class MOBYCollection
      extends MOBYGraphNode

      -A common interface for collections, both fixed sized and resizeable, of - elements in MOBY graphs. +A common abstract class for collections, both fixed sized and resizeable, + of elements in MOBY graphs.

      @@ -112,7 +115,22 @@ + + + + + + + + +
      +Constructor Summary
      MOBYCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -124,6 +142,14 @@  boolean +isCollection() + +
      +          Return whether or not this object is a collection. + + + +abstract  boolean isFixedSized()
      @@ -131,7 +157,7 @@ - boolean +abstract  boolean isResizable()
      @@ -139,6 +165,14 @@ + boolean +isSingular() + +
      +          Return whether or not this object is a singular element. + + +  java.util.Iterator iterator() @@ -157,19 +191,28 @@   - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -180,6 +223,22 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYCollection

      +
      +public MOBYCollection(com.hp.hpl.jena.rdf.model.Resource resource,
      +                      java.util.List elements,
      +                      com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -191,47 +250,68 @@ -

      -isFixedSized

      +

      +size

      -public boolean isFixedSized()
      +public int size()
      -
      Return whether or not the collection is fixed in size +
      Return the size of the collection.

      +
      +
      + +

      +iterator

      +
      +public java.util.Iterator iterator()
      +
      +
      Return an iterator for traversing the elements +


      -

      -isResizable

      +

      +isFixedSized

      -public boolean isResizable()
      +public abstract boolean isFixedSized()
      -
      Return whether or not the collection is resizable +
      Return whether or not the collection is fixed in size

      +
      +
      + +

      +isResizable

      +
      +public abstract boolean isResizable()
      +
      +
      Return whether or not the collection is resizable +


      -

      -iterator

      +

      +isSingular

      -public java.util.Iterator iterator()
      +public boolean isSingular()
      -
      Return an iterator for traversing the elements +
      Description copied from class: MOBYGraphNode
      +
      Return whether or not this object is a singular element.

      -
      +
      Specified by:
      isSingular in class MOBYGraphNode
      @@ -239,15 +319,16 @@

      -

      -size

      +

      +isCollection

      -public int size()
      +public boolean isCollection()
      -
      Return the size of the collection. +
      Description copied from class: MOBYGraphNode
      +
      Return whether or not this object is a collection.

      -
      +
      Specified by:
      isCollection in class MOBYGraphNode
      @@ -285,7 +366,7 @@  PREV CLASS  - NEXT CLASSNEXT CLASS FRAMES    NO FRAMES   @@ -304,9 +385,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYSubject.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYSubject - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,18 @@ org.smoby.graph
      -Interface MOBYSubject -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYGraphNode, MOBYMappingElement, MOBYSingleElement
      -
      +Class MOBYSubject +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYSingleElement
      +              extended byorg.smoby.graph.MOBYMappingElement
      +                  extended byorg.smoby.graph.MOBYSubject
      +

      -
      public interface MOBYSubject
      extends MOBYMappingElement
      +
      public class MOBYSubject
      extends MOBYMappingElement

      An object that represents the subject of one or more mappings. In @@ -119,7 +124,24 @@ + + + + + + + + +
      +Constructor Summary
      MOBYSubject(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYUnorderedCollection directMappings, + MOBYCollection nestedMappings, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -130,7 +152,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection getDirectMappings()
      @@ -141,28 +163,46 @@   - +
      Methods inherited from interface org.smoby.graph.MOBYMappingElementMethods inherited from class org.smoby.graph.MOBYMappingElement
      getNestedElements, getPropertyValueStatements
      + + + + + + + +
      Methods inherited from class org.smoby.graph.MOBYSingleElement
      isCollection, isSingular
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + - + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getURIgetResource, getUnderlying, getURI
      + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -173,6 +213,24 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYSubject

      +
      +public MOBYSubject(com.hp.hpl.jena.rdf.model.Resource resource,
      +                   MOBYFixedCollection statements,
      +                   MOBYUnorderedCollection directMappings,
      +                   MOBYCollection nestedMappings,
      +                   com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -187,7 +245,7 @@

      getDirectMappings

      -public MOBYUnorderedCollection getDirectMappings()
      +public MOBYUnorderedCollection getDirectMappings()
      Return a resizable, unordered collection of the MOBYNode instances, which are objects of mapsTo statements, whose subjects are this. @@ -195,9 +253,6 @@
      -
      -
      -

      @@ -230,8 +285,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -250,9 +305,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYResizableCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYResizableCollection - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,23 @@ org.smoby.graph
      -Interface MOBYResizableCollection -
      -
      All Superinterfaces:
      MOBYCollection, MOBYDescriptor, MOBYGraphNode
      -
      +Class MOBYResizableCollection +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYCollection
      +              extended byorg.smoby.graph.MOBYResizableCollection
      +
      -
      All Known Subinterfaces:
      MOBYEnumeration, MOBYOrderedCollection, MOBYUnorderedCollection
      +
      Direct Known Subclasses:
      MOBYOrderedCollection, MOBYUnorderedCollection

      -
      public interface MOBYResizableCollection
      extends MOBYCollection
      +
      public abstract class MOBYResizableCollection
      extends MOBYCollection

      -An interface representing collections that can be resized (i.e. +A class representing collections that can be resized (i.e. elements added to or removed from); such collections can be either ordered or unordered.

      @@ -113,7 +117,22 @@ + + + + + + + + +
      +Constructor Summary
      MOBYResizableCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -125,37 +144,62 @@  boolean +isFixedSized() + +
      +          Return whether or not the collection is fixed in size + + + +abstract  boolean isOrdered()
                Return whether or not this collection is ordered. + + + boolean +isResizable() + +
      +          Return whether or not the collection is resizable +   - + - +
      Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
      isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -166,6 +210,22 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYResizableCollection

      +
      +public MOBYResizableCollection(com.hp.hpl.jena.rdf.model.Resource resource,
      +                               java.util.List elements,
      +                               com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -180,13 +240,44 @@

      isOrdered

      -public boolean isOrdered()
      +public abstract boolean isOrdered()
      Return whether or not this collection is ordered.

      +
      +
      + +

      +isResizable

      +
      +public boolean isResizable()
      +
      +
      Description copied from class: MOBYCollection
      +
      Return whether or not the collection is resizable +

      +

      +
      Specified by:
      isResizable in class MOBYCollection
      +
      +
      +
      +
      +
      +
      + +

      +isFixedSized

      +
      +public boolean isFixedSized()
      +
      +
      Description copied from class: MOBYCollection
      +
      Return whether or not the collection is fixed in size +

      +

      +
      Specified by:
      isFixedSized in class MOBYCollection
      +
      @@ -222,8 +313,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -242,9 +333,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYUnorderedCollection.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYUnorderedCollection - + @@ -50,7 +50,7 @@ PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,24 @@ org.smoby.graph
      -Interface MOBYUnorderedCollection -
      -
      All Superinterfaces:
      MOBYCollection, MOBYDescriptor, MOBYGraphNode, MOBYResizableCollection
      -
      +Class MOBYUnorderedCollection +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYCollection
      +              extended byorg.smoby.graph.MOBYResizableCollection
      +                  extended byorg.smoby.graph.MOBYUnorderedCollection
      +
      -
      All Known Subinterfaces:
      MOBYEnumeration
      +
      Direct Known Subclasses:
      MOBYEnumeration

      -
      public interface MOBYUnorderedCollection
      extends MOBYResizableCollection
      +
      public class MOBYUnorderedCollection
      extends MOBYResizableCollection

      -An interface representing resizable collection of objects, in +A class representing resizable collection of objects, in which the order of the elements is not defined.

      @@ -112,7 +117,22 @@ + + + + + + + + +
      +Constructor Summary
      MOBYUnorderedCollection(com.hp.hpl.jena.rdf.model.Resource resource, + java.util.List elements, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -130,41 +150,58 @@           Return whether or not the elements of this collection represent choices (i.e. + + + boolean +isOrdered() + +
      +          Return whether or not this collection is ordered. +   - + - +
      Methods inherited from interface org.smoby.graph.MOBYResizableCollectionMethods inherited from class org.smoby.graph.MOBYResizableCollection
      isOrderedisFixedSized, isResizable
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYCollectionMethods inherited from class org.smoby.graph.MOBYCollection
      isFixedSized, isResizable, iterator, sizeisCollection, isSingular, iterator, size
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -175,6 +212,22 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYUnorderedCollection

      +
      +public MOBYUnorderedCollection(com.hp.hpl.jena.rdf.model.Resource resource,
      +                               java.util.List elements,
      +                               com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -186,6 +239,23 @@ +

      +isOrdered

      +
      +public boolean isOrdered()
      +
      +
      Description copied from class: MOBYResizableCollection
      +
      Return whether or not this collection is ordered. +

      +

      +
      Specified by:
      isOrdered in class MOBYResizableCollection
      +
      +
      +
      +
      +
      +
      +

      isEnumeration

      @@ -197,9 +267,6 @@
       
      -
      -
      -

      @@ -232,7 +299,7 @@ PREV CLASS  + PREV CLASS   NEXT CLASS FRAMES   @@ -252,9 +319,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValue.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYPropertyValue - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
      -Interface MOBYPropertyValue +Class MOBYPropertyValue +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYPropertyValue
      +
      -
      All Known Subinterfaces:
      MOBYLiteral, MOBYResource
      +
      Direct Known Subclasses:
      MOBYLiteral, MOBYResource

      -
      public interface MOBYPropertyValue
      +
      public abstract class MOBYPropertyValue
      extends java.lang.Object

      -A superinterface for things that can appear as the subject +A superclass for things that can appear as the subject or object of a statement.

      @@ -109,7 +113,20 @@ + + + + + + + + +
      +Constructor Summary
      MOBYPropertyValue() +
      +           
      @@ -120,19 +137,30 @@ - boolean +abstract  boolean isLiteral()
      -          Return whether or not this property value represents a literal +          Return whether or not this property value represents + a literal value - boolean +abstract  boolean isResource()
      -          Return whether or not this property value represents a resource +          Return whether or not this property value represents + a resource + + +  + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -143,6 +171,20 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYPropertyValue

      +
      +public MOBYPropertyValue()
      +
      +
      @@ -157,9 +199,10 @@

      isLiteral

      -public boolean isLiteral()
      +public abstract boolean isLiteral()
      -
      Return whether or not this property value represents a literal +
      Return whether or not this property value represents + a literal value

      @@ -170,9 +213,10 @@

      isResource

      -public boolean isResource()
      +public abstract boolean isResource()
      -
      Return whether or not this property value represents a resource +
      Return whether or not this property value represents + a resource

      @@ -209,8 +253,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -229,9 +273,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYLiteral.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYLiteral - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,13 +84,15 @@ org.smoby.graph
      -Interface MOBYLiteral -
      -
      All Superinterfaces:
      MOBYPropertyValue
      -
      +Class MOBYLiteral +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYPropertyValue
      +      extended byorg.smoby.graph.MOBYLiteral
      +

      -
      public interface MOBYLiteral
      extends MOBYPropertyValue
      +
      public class MOBYLiteral
      extends MOBYPropertyValue


      @@ -104,7 +106,20 @@ + + + + + + + + +
      +Constructor Summary
      MOBYLiteral(java.lang.String stringValue) +
      +           
      @@ -121,14 +136,32 @@
                  + + + boolean +isLiteral() + +
      +          Return whether or not this property value represents + a literal value + + + + boolean +isResource() + +
      +          Return whether or not this property value represents + a resource + -  - + - +
      Methods inherited from interface org.smoby.graph.MOBYPropertyValueMethods inherited from class java.lang.Object
      isLiteral, isResourceequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -139,6 +172,20 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYLiteral

      +
      +public MOBYLiteral(java.lang.String stringValue)
      +
      +
      @@ -158,6 +205,39 @@
      +
      +
      + +

      +isLiteral

      +
      +public boolean isLiteral()
      +
      +
      Description copied from class: MOBYPropertyValue
      +
      Return whether or not this property value represents + a literal value +

      +

      +
      Specified by:
      isLiteral in class MOBYPropertyValue
      +
      +
      +
      +
      +
      +
      + +

      +isResource

      +
      +public boolean isResource()
      +
      +
      Description copied from class: MOBYPropertyValue
      +
      Return whether or not this property value represents + a resource +

      +

      +
      Specified by:
      isResource in class MOBYPropertyValue
      +
      @@ -193,8 +273,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -213,9 +293,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraph.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYGraph - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,20 @@ org.smoby.graph
      -Interface MOBYGraph -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYGraphNode, MOBYSingleElement
      -
      +Class MOBYGraph +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYSingleElement
      +              extended byorg.smoby.graph.MOBYGraph
      +

      -
      public interface MOBYGraph
      extends MOBYSingleElement
      +
      public class MOBYGraph
      extends MOBYSingleElement

      -This interface represents singular (i.e. not collection) subgraphs +This class represents singular (i.e. not collection) subgraphs that have a single mapping.

      @@ -109,7 +113,22 @@ + + + + + + + + +
      +Constructor Summary
      MOBYGraph(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYGraphNode hasMapping, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -120,29 +139,47 @@ - MOBYGraphNode -gethasMapping() + MOBYGraphNode +getHasMapping()
                Return the object of this graph's hasMapping property. +  + + + + + + + +
      Methods inherited from class org.smoby.graph.MOBYSingleElement
      isCollection, isSingular
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + - + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getURIgetResource, getUnderlying, getURI
      + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -153,6 +190,22 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYGraph

      +
      +public MOBYGraph(com.hp.hpl.jena.rdf.model.Resource resource,
      +                 MOBYGraphNode hasMapping,
      +                 com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -164,19 +217,16 @@ -

      -gethasMapping

      +

      +getHasMapping

      -public MOBYGraphNode gethasMapping()
      +public MOBYGraphNode getHasMapping()
      Return the object of this graph's hasMapping property.

      -
      -
      -

      @@ -209,8 +259,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -229,9 +279,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProvider.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYProvider - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,19 @@ org.smoby.graph
      -Interface MOBYProvider -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYDocument
      -
      -
      -
      All Known Implementing Classes:
      MOBYProviderImpl
      -
      +Class MOBYProvider +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYDocument
      +          extended byorg.smoby.graph.MOBYProvider
      +

      -
      public interface MOBYProvider
      extends MOBYDocument
      +
      public class MOBYProvider
      extends MOBYDocument

      -The Provider interface represents a resource that provides a +The Provider class represents a resource that provides a service in MOBY.

      @@ -112,7 +112,25 @@ + + + + + + + + +
      +Constructor Summary
      MOBYProvider(com.hp.hpl.jena.rdf.model.Resource resource, + java.lang.String name, + java.lang.String oneLineDescription, + java.lang.String moreInfoURI, + MOBYUnorderedCollection operatesOn, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -148,7 +166,7 @@ - MOBYUnorderedCollection + MOBYUnorderedCollection getOperatesOn()
      @@ -160,17 +178,34 @@ serialize(java.io.OutputStream out)
      -          Provider implementations should be capable of serializing themselves +          Providers should be capable of serializing themselves to an output stream + + + java.lang.String +toString() + +
      +            +   - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, wait, wait, wait
        @@ -181,6 +216,25 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYProvider

      +
      +public MOBYProvider(com.hp.hpl.jena.rdf.model.Resource resource,
      +                    java.lang.String name,
      +                    java.lang.String oneLineDescription,
      +                    java.lang.String moreInfoURI,
      +                    MOBYUnorderedCollection operatesOn,
      +                    com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -202,9 +256,6 @@
      -
      -
      -

      @@ -218,9 +269,6 @@
      -
      -
      -

      @@ -235,16 +283,13 @@
      -
      -
      -

      getOperatesOn

      -public MOBYUnorderedCollection getOperatesOn()
      +public MOBYUnorderedCollection getOperatesOn()
      Return a collection of graph nodes that this provider operates on. Each graph node represents either a Graph or GraphCollection. @@ -252,6 +297,14 @@
      +
      +
      + +

      +toString

      +
      +public java.lang.String toString()
      +
      @@ -263,15 +316,12 @@
       public void serialize(java.io.OutputStream out)
      -
      Provider implementations should be capable of serializing themselves +
      Providers should be capable of serializing themselves to an output stream

      -
      -
      -

      @@ -304,8 +354,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -324,9 +374,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDescriptor.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYDescriptor - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,20 @@ org.smoby.graph
      -Interface MOBYDescriptor -
      -
      All Known Subinterfaces:
      MOBYCollection, MOBYDocument, MOBYEnumeration, MOBYFixedCollection, MOBYGraph, MOBYGraphNode, MOBYMappingElement, MOBYObject, MOBYOntology, MOBYOrderedCollection, MOBYProvider, MOBYProviderSet, MOBYResizableCollection, MOBYSingleElement, MOBYSubject, MOBYUnorderedCollection
      -
      +Class MOBYDescriptor +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +
      -
      All Known Implementing Classes:
      MOBYDescriptorImpl, MOBYDocumentImpl, org.smoby.graph.impl.MOBYGraphNodeImpl, MOBYMappingElementImpl, MOBYProviderImpl, MOBYProviderSetImpl, org.smoby.graph.impl.MOBYSingleElementImpl
      +
      Direct Known Subclasses:
      MOBYDocument, MOBYGraphNode, MOBYPropertyValueStatement

      -
      public interface MOBYDescriptor
      +
      public abstract class MOBYDescriptor
      extends java.lang.Object

      -The Resource interface represents things that are available +The MOBYDescriptor class represents things that are available at a URI.

      @@ -112,7 +113,21 @@ + + + + + + + + +
      +Constructor Summary
      MOBYDescriptor(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -123,11 +138,36 @@ + com.hp.hpl.jena.rdf.model.Resource +getResource() + +
      +          Return the resource associated with this descriptor. + + + + com.hp.hpl.jena.rdf.model.Model +getUnderlying() + +
      +          Return the underlying Jena model + + +  java.lang.String getURI()
      -          Return the URI represented by this node. +          Return the URI of the underlying resource, if any. + + +  + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -138,6 +178,21 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYDescriptor

      +
      +public MOBYDescriptor(com.hp.hpl.jena.rdf.model.Resource resource,
      +                      com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -149,12 +204,38 @@ +

      +getResource

      +
      +public com.hp.hpl.jena.rdf.model.Resource getResource()
      +
      +
      Return the resource associated with this descriptor. +

      +

      +
      +
      +
      +
      + +

      +getUnderlying

      +
      +public com.hp.hpl.jena.rdf.model.Model getUnderlying()
      +
      +
      Return the underlying Jena model +

      +

      +
      +
      +
      +
      +

      getURI

       public java.lang.String getURI()
      -
      Return the URI represented by this node. +
      Return the URI of the underlying resource, if any.

      @@ -191,8 +272,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -211,9 +292,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYMappingElement.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYMappingElement - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,20 @@ org.smoby.graph
      -Interface MOBYMappingElement -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYGraphNode, MOBYSingleElement
      -
      -
      -
      All Known Subinterfaces:
      MOBYObject, MOBYSubject
      -
      +Class MOBYMappingElement +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +          extended byorg.smoby.graph.MOBYSingleElement
      +              extended byorg.smoby.graph.MOBYMappingElement
      +
      -
      All Known Implementing Classes:
      MOBYMappingElementImpl
      +
      Direct Known Subclasses:
      MOBYObject, MOBYSubject

      -
      public interface MOBYMappingElement
      extends MOBYSingleElement
      +
      public class MOBYMappingElement
      extends MOBYSingleElement


      @@ -110,7 +111,23 @@ + + + + + + + + +
      +Constructor Summary
      MOBYMappingElement(com.hp.hpl.jena.rdf.model.Resource resource, + MOBYFixedCollection statements, + MOBYCollection nestedElements, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -121,39 +138,57 @@ - MOBYCollection + MOBYCollection getNestedElements()
      -          Return the collection of mappings that are nested within this subject - through its role as a data structure. +          Return the collection of mappings that are nested within this + mapping element through its role as a data structure. - MOBYFixedCollection + MOBYFixedCollection getPropertyValueStatements()
                Return the collection of property-setting statements associated - with this subject. + with this mapping element. + + +  + + + + + +
      Methods inherited from class org.smoby.graph.MOBYSingleElement
      isCollection, isSingular
        - + - +
      Methods inherited from interface org.smoby.graph.MOBYGraphNodeMethods inherited from class org.smoby.graph.MOBYGraphNode
      isBlank, isCollection, isSingularisBlank
        - + - + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getURIgetResource, getUnderlying, getURI
      + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -164,6 +199,23 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYMappingElement

      +
      +public MOBYMappingElement(com.hp.hpl.jena.rdf.model.Resource resource,
      +                          MOBYFixedCollection statements,
      +                          MOBYCollection nestedElements,
      +                          com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -178,34 +230,28 @@

      getPropertyValueStatements

      -public MOBYFixedCollection getPropertyValueStatements()
      +public MOBYFixedCollection getPropertyValueStatements()
      Return the collection of property-setting statements associated - with this subject. + with this mapping element.

      -
      -
      -

      getNestedElements

      -public MOBYCollection getNestedElements()
      +public MOBYCollection getNestedElements()
      -
      Return the collection of mappings that are nested within this subject - through its role as a data structure. +
      Return the collection of mappings that are nested within this + mapping element through its role as a data structure.

      -
      -
      -

      @@ -238,8 +284,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -258,9 +304,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYPropertyValueException.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + MOBYPropertyValueException =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYDocument.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYDocument - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,21 @@ org.smoby.graph
      -Interface MOBYDocument +Class MOBYDocument +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYDocument
      +
      -
      All Superinterfaces:
      MOBYDescriptor
      -
      -
      -
      All Known Subinterfaces:
      MOBYOntology, MOBYProvider, MOBYProviderSet
      -
      -
      -
      All Known Implementing Classes:
      MOBYDocumentImpl, MOBYProviderImpl, MOBYProviderSetImpl
      +
      Direct Known Subclasses:
      MOBYOntology, MOBYProvider, MOBYProviderSet

      -
      public interface MOBYDocument
      extends MOBYDescriptor
      +
      public abstract class MOBYDocument
      extends MOBYDescriptor

      -This interface represents a document to be incorporated into +This class represents a document to be incorporated into the S-MOBY metadata repository.

      @@ -115,16 +114,39 @@ + + + + + + + + +
      +Constructor Summary
      MOBYDocument(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      - + - + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getURIgetResource, getUnderlying, getURI
      + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -135,6 +157,21 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYDocument

      +
      +public MOBYDocument(com.hp.hpl.jena.rdf.model.Resource resource,
      +                    com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -169,8 +206,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -189,9 +226,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYProviderSet.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYProviderSet - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,19 +84,19 @@ org.smoby.graph
      -Interface MOBYProviderSet -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYDocument
      -
      -
      -
      All Known Implementing Classes:
      MOBYProviderSetImpl
      -
      +Class MOBYProviderSet +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYDocument
      +          extended byorg.smoby.graph.MOBYProviderSet
      +

      -
      public interface MOBYProviderSet
      extends MOBYDocument
      +
      public class MOBYProviderSet
      extends MOBYDocument

      -An interface to represent a set of providers +An class to represent a set of providers

      @@ -111,7 +111,20 @@ + + + + + + + + +
      +Constructor Summary
      MOBYProviderSet() +
      +           
      @@ -123,7 +136,7 @@  void -addProvider(MOBYProvider provider) +addProvider(MOBYProvider provider)
                Add a provider to the set @@ -149,10 +162,19 @@   - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -163,6 +185,20 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYProviderSet

      +
      +public MOBYProviderSet()
      +
      +
      @@ -174,35 +210,29 @@ -

      -addProvider

      +

      +size

      -public void addProvider(MOBYProvider provider)
      +public int size()
      -
      Add a provider to the set +
      Return the size of the set

      -
      -
      -

      -

      -size

      +

      +addProvider

      -public int size()
      +public void addProvider(MOBYProvider provider)
      -
      Return the size of the set +
      Add a provider to the set

      -
      -
      -

      @@ -217,9 +247,6 @@
      -
      -
      -

      @@ -252,8 +279,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -272,9 +299,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYGraphNode.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYGraphNode - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,22 +84,21 @@ org.smoby.graph
      -Interface MOBYGraphNode -
      -
      All Superinterfaces:
      MOBYDescriptor
      -
      -
      -
      All Known Subinterfaces:
      MOBYCollection, MOBYEnumeration, MOBYFixedCollection, MOBYGraph, MOBYMappingElement, MOBYObject, MOBYOrderedCollection, MOBYResizableCollection, MOBYSingleElement, MOBYSubject, MOBYUnorderedCollection
      -
      +Class MOBYGraphNode +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYGraphNode
      +
      -
      All Known Implementing Classes:
      org.smoby.graph.impl.MOBYGraphNodeImpl, MOBYMappingElementImpl, org.smoby.graph.impl.MOBYSingleElementImpl
      +
      Direct Known Subclasses:
      MOBYCollection, MOBYSingleElement

      -
      public interface MOBYGraphNode
      extends MOBYDescriptor
      +
      public abstract class MOBYGraphNode
      extends MOBYDescriptor

      -An interface for nodes in an RDF graph; these nodes are either +An abstract class for nodes in an RDF graph; these nodes are either collections or singular elements.

      @@ -115,7 +114,21 @@ + + + + + + + + +
      +Constructor Summary
      MOBYGraphNode(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      @@ -134,7 +147,7 @@ - boolean +abstract  boolean isCollection()
      @@ -142,7 +155,7 @@ - boolean +abstract  boolean isSingular()
      @@ -152,10 +165,19 @@   - + + + + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getResource, getUnderlying, getURI
      + + + - +
      Methods inherited from class java.lang.Object
      getURIequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -166,6 +188,21 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYGraphNode

      +
      +public MOBYGraphNode(com.hp.hpl.jena.rdf.model.Resource resource,
      +                     com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -187,41 +224,32 @@
      -
      -
      -

      isCollection

      -public boolean isCollection()
      +public abstract boolean isCollection()
      Return whether or not this object is a collection.

      -
      -
      -

      isSingular

      -public boolean isSingular()
      +public abstract boolean isSingular()
      Return whether or not this object is a singular element.

      -
      -
      -

      @@ -254,8 +282,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -274,9 +302,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-frame.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph @@ -23,49 +23,70 @@ Interfaces 
      -MOBYCollection +MOBYGraphVisitor
      + + + + + + + +MOBYUnorderedCollection
      +Classes  + +
      +MOBYCollection +
      +MOBYDateConstraint +
      +MOBYDescriptor +
      +MOBYDocument +
      +MOBYEnumeration +
      +MOBYFixedCollection
      -MOBYDescriptor +MOBYGraph
      -MOBYDocument +MOBYGraphNode
      -MOBYEnumeration +MOBYIntegerConstraint
      -MOBYFixedCollection +MOBYLiteral
      -MOBYGraph +MOBYMappingElement
      -MOBYGraphNode +MOBYNonNegativeIntegerConstraint
      -MOBYLiteral +MOBYNonPositiveIntegerConstraint
      -MOBYMappingElement +MOBYNumericConstraint
      -MOBYObject +MOBYObject
      -MOBYOntology +MOBYOntology
      -MOBYOrderedCollection +MOBYOrderedCollection
      -MOBYPropertyValue +MOBYPropertyValue
      -MOBYPropertyValueConstraint +MOBYPropertyValueConstraint
      -MOBYPropertyValueStatement +MOBYPropertyValueStatement
      -MOBYProvider +MOBYProvider
      -MOBYProviderSet +MOBYProviderSet
      -MOBYResizableCollection +MOBYResizableCollection
      -MOBYResource +MOBYResource
      -MOBYSingleElement +MOBYSingleElement
      -MOBYSubject +MOBYSubject
      -MOBYUnorderedCollection
      =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/MOBYOntology.html 2004/11/18 23:33:05 1.2 @@ -2,12 +2,12 @@ - + MOBYOntology - + @@ -50,8 +50,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -70,9 +70,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD @@ -84,16 +84,19 @@ org.smoby.graph
      -Interface MOBYOntology -
      -
      All Superinterfaces:
      MOBYDescriptor, MOBYDocument
      -
      +Class MOBYOntology +
      +java.lang.Object
      +  extended byorg.smoby.graph.MOBYDescriptor
      +      extended byorg.smoby.graph.MOBYDocument
      +          extended byorg.smoby.graph.MOBYOntology
      +

      -
      public interface MOBYOntology
      extends MOBYDocument
      +
      public class MOBYOntology
      extends MOBYDocument

      -This interface represents a collection of RDF statements to be +This class represents a collection of RDF statements to be incorporated into the S-MOBY metadata repository.

      @@ -109,16 +112,39 @@ + + + + + + + + +
      +Constructor Summary
      MOBYOntology(com.hp.hpl.jena.rdf.model.Resource resource, + com.hp.hpl.jena.rdf.model.Model underlying) +
      +           
      - + - + + +
      Methods inherited from interface org.smoby.graph.MOBYDescriptorMethods inherited from class org.smoby.graph.MOBYDescriptor
      getURIgetResource, getUnderlying, getURI
      + + + + + +
      Methods inherited from class java.lang.Object
      equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
        @@ -129,6 +155,21 @@ + + + + + +
      +Constructor Detail
      + +

      +MOBYOntology

      +
      +public MOBYOntology(com.hp.hpl.jena.rdf.model.Resource resource,
      +                    com.hp.hpl.jena.rdf.model.Model underlying)
      +
      +
      @@ -163,8 +204,8 @@ PREV CLASS  - NEXT CLASSPREV CLASS  + NEXT CLASS FRAMES    NO FRAMES   @@ -183,9 +224,9 @@ - SUMMARY: NESTED | FIELD | CONSTR | METHOD + SUMMARY: NESTED | FIELD | CONSTR | METHOD -DETAIL: FIELD | CONSTR | METHOD +DETAIL: FIELD | CONSTR | METHOD =================================================================== RCS file: /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html 2004/07/15 20:27:13 1.1 +++ /home/repository/moby/moby-live/S-MOBY/ref-impl/semanticmoby.org/WebRoot/developer/java-api/org/smoby/graph/package-tree.html 2004/11/18 23:33:05 1.2 @@ -2,7 +2,7 @@ - + org.smoby.graph Class Hierarchy @@ -50,7 +50,7 @@  PREV  - NEXTNEXT FRAMES    NO FRAMES   @@ -85,6 +85,30 @@