Ecoinformatics Redmine: David Sledgehttps://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362007-07-26T17:55:15ZEcoinformatics Redmine
Redmine SEEK - Bug #2274: Ecogrid ResultSets are not properly serialized to diskhttps://projects.ecoinformatics.org/ecoinfo/issues/2274#change-77592007-07-26T17:55:15ZDavid Sledgedsledge@lternet.edu
<p>Closing this out because the API no longer uses grid services</p> Metacat - Bug #2769: XPath Returnfieldshttps://projects.ecoinformatics.org/ecoinfo/issues/2769#change-95822007-04-27T16:53:09ZDavid Sledgedsledge@lternet.edu
<p>XPath syntax has been extended to allow predicates with the following limitations:</p>
<ul>
<li>if using a comparison, xpath expression must come before the equal sign and a string literal after (the predicate may contian an xpath expression by itself)</li>
<li>'=' is the only comparison supported.</li>
<li>no function calls in predicates</li>
<li>supports multiple predicates, but not nested predicates</li>
</ul>
<p>If any more enhancements are needed so that metacat comes closer to supporting the full XPath syntax, switching to an XQuery database should be considered.</p> Metacat - Bug #2804: Nested Elements Cause the Returned Data to Be Truncated.https://projects.ecoinformatics.org/ecoinfo/issues/2804#change-97162007-03-20T18:42:06ZDavid Sledgedsledge@lternet.edu
<p>A possible solution is to require Kepler (or whatever the uploading agent is) to use entities to hide the HTML tags. So <i> would be converted to <i> so that metacat will treat them as text, then metacat's <abbr title="s">XSL</abbr> can convert them back into tags.</p> Metacat - Bug #2804 (Closed): Nested Elements Cause the Returned Data to Be Truncated.https://projects.ecoinformatics.org/ecoinfo/issues/28042007-03-20T18:27:57ZDavid Sledgedsledge@lternet.edu
<p>Metacat doesn't handle values with nested elements well. Given the following:</p>
<p><entity><br /> <property><br /> <property><br /> <configure><br /> If <i>true</i>, then display plot. If <i>false</i>, then don't. (the default)<br /> </configure><br /> </property><br /> </property><br /></entity></p>
<p>If I request the value of the "configure" element, I get:</p>
<p><param name="entity/property/property/configure">, then don't. (the default)</param></p>
<p>Metacat only gives me the text after the last inner element (the <i> element).</p> Metacat - Bug #2769 (Resolved): XPath Returnfieldshttps://projects.ecoinformatics.org/ecoinfo/issues/27692007-02-12T22:22:22ZDavid Sledgedsledge@lternet.edu
<p>Metacat can't handle angle brackets in XPath parameters, if go to the following URL (which leads to the Kepler Repository):</p>
<p><a class="external" href="http://library.kepler-project.org/kepler/metacat?action=query&operator=INTERSECT&anyfield=%25&qformat=&enableediting=false&returndoctype=entity&returndoctype=kepler://kepler-project.org/kepler-moml-1.0.0&returnfield=entity/@name">http://library.kepler-project.org/kepler/metacat?action=query&operator=INTERSECT&anyfield=%25&qformat=&enableediting=false&returndoctype=entity&returndoctype=kepler://kepler-project.org/kepler-moml-1.0.0&returnfield=entity/@name</a></p>
<p>It works fine. (The response of this URL is XML, but you need to "View Page Source" to see it.) But if I try to retrieve the karID by appending:</p>
<p>&returnfield=entity/property[@name=karID]/@value</p>
<p>to the end of the URL, this return field gets ignored.</p> SEEK - Bug #2491 (New): Get ecogrid endpoints from Ecogrid registryhttps://projects.ecoinformatics.org/ecoinfo/issues/24912006-07-17T18:31:06ZDavid Sledgedsledge@lternet.edu
<p>Sibling bug to bug <a class="issue tracker-1 status-3 priority-2 priority-default closed" title="Bug: Get ecogrid endpoints from Ecogrid registry (Resolved)" href="https://projects.ecoinformatics.org/ecoinfo/issues/2490">#2490</a> in kepler.</p>
<p>Currently, individual endpoints for SRB, metacat, GEON, and Digir ecogrid implementations are stored in a config file for the ecogrid portal. Unfortunately, these endpoint may change. Ecogrid needs to be updated to retreive these from the Ecogrid registry (daily? hourly?) so that they can change and just send new values to the registry.</p> Metacat - Bug #2377: No Default Namespace in Recordshttps://projects.ecoinformatics.org/ecoinfo/issues/2377#change-81522006-06-30T15:55:42ZDavid Sledgedsledge@lternet.edu
<p>Sorry, I meant to close this out. I looked up the XSD specs and the "elementFormDefault" attribute, and I found a workaround for bug 2054 to get it to validate.</p> SEEK - Bug #2422: Changing Logging Options Prevent Metadata Downloadshttps://projects.ecoinformatics.org/ecoinfo/issues/2422#change-82752006-04-25T22:47:11ZDavid Sledgedsledge@lternet.edu
<p>As best as I can tell it's a bug in the axis 1.3 library. I removed all the logging code from EcogridGetToStreamClient in the ecogrid API, and I put together some simple test code:</p>
<p>import java.io.ByteArrayOutputStream;<br />import java.net.URL;</p>
<p>import org.ecoinformatics.ecogrid.queryservice.EcogridGetToStreamClient;</p>
<p>public class test
{<br /> public static void main(String[] args)
{<br /> try
{<br /> URL endPoint = new <abbr title=""http://ecogrid.ecoinformatics.org/knb/services/EcoGridQuery"">URL</abbr>;<br /> EcogridGetToStreamClient client = new EcogridGetToStreamClient(endPoint);<br /> ByteArrayOutputStream baos = new ByteArrayOutputStream();</p>
<pre><code>client.get("knb.182.1", baos);<br /> System.out.println(baos.toString());<br /> }<br /> catch (Exception e)
{<br /> e.printStackTrace();<br /> }<br /> }<br />}</code></pre>
<p>The results were predictably the same as in kepler.</p>
<p>The workaround for this in a servlet container is to make sure the Commons Logging and log4j jar files are included in the webapp's WEB-INF/lib directory (versus $CATALINA_HOME/shared/lib or $CATALINA_HOME/common/lib), the files commons.properties and log4j.properties are put in WEB-INF/classes, and that the logging is set to INFO or something coarser.</p> SEEK - Bug #2422: Changing Logging Options Prevent Metadata Downloadshttps://projects.ecoinformatics.org/ecoinfo/issues/2422#change-82742006-04-21T18:02:14ZDavid Sledgedsledge@lternet.edu
<p>I'm changing the severity of this bug, due to that I'm now getting the exception again in the webapp, but I haven't changed the logging settings in log4j.properties since the file's inclusion to the webapp.</p> SEEK - Bug #2422 (New): Changing Logging Options Prevent Metadata Downloadshttps://projects.ecoinformatics.org/ecoinfo/issues/24222006-04-20T18:37:01ZDavid Sledgedsledge@lternet.edu
<p>In the file log4j.properties in kepler's base directory, changing the line that reads:</p>
<pre><code>log4j.rootLogger=WARN, CONSOLE, R</code></pre>
<p>to:</p>
<pre><code>log4j.rootLogger=DEBUG, CONSOLE, R</code></pre>
<p>prevents Metadata from being downloaded from Metacat. With the ecogrid webapp--which uses the same API that kepler uses to access data on the ecogrid--the lack of a log4j.properties file prevented the metadata from being downloaded.</p>
<p>In both cases, org.ecoinformatics.ecogrid.queryservice.stub.EcoGridQueryLevelOneServiceStub.get() threw a ClassCastException.</p>
<p>Kepler:</p>
<p>java.lang.ClassCastException: java.lang.String<br /> at <br />org.ecoinformatics.ecogrid.queryservice.stub.EcoGridQueryLevelOneServiceStub.get(EcoGridQueryLevelOneServiceStub.java:310)<br /> at <br />org.ecoinformatics.ecogrid.queryservice.EcogridGetToStreamClient.get(EcogridGetToStreamClient.java:81)<br /> ...</p>
<p>Webapp:</p>
<p>java.lang.ClassCastException: java.lang.String<br /> at org.ecoinformatics.ecogrid.queryservice.stub.EcoGridQueryLevelOneServiceStub.get(Unknown Source)<br /> at org.ecoinformatics.ecogrid.queryservice.EcogridGetToStreamClient.get(Unknown Source)<br /> ...</p> SEEK - Bug #2385 (In Progress): Querying with OR Conditions to DiGIR node for darwincore datahttps://projects.ecoinformatics.org/ecoinfo/issues/23852006-03-20T22:21:43ZDavid Sledgedsledge@lternet.edu
<p>If I query the DiGIR node with the following condition I get records back:</p>
<p><condition operator="LIKE" concept="ScientificName">trout</condition></p>
<p>But if I try the following OR statement, I don't get any records back:</p>
<p><OR><br /> <condition operator="LIKE" concept="Kingdom">trout</condition><br /> <condition operator="LIKE" concept="Phylum">trout</condition><br /> <condition operator="LIKE" concept="Class">trout</condition><br /> <condition operator="LIKE" concept="Order">trout</condition><br /> <condition operator="LIKE" concept="Genus">trout</condition><br /> <condition operator="LIKE" concept="SpecificEpithet">trout</condition><br /> <condition operator="LIKE" concept="InfraspecificEpithet">trout</condition><br /> <condition operator="LIKE" concept="ScientificName">trout</condition><br /> <condition operator="LIKE" concept="HigherTaxon">trout</condition><br /></OR></p> Metacat - Bug #2377 (Resolved): No Default Namespace in Recordshttps://projects.ecoinformatics.org/ecoinfo/issues/23772006-03-02T23:12:43ZDavid Sledgedsledge@lternet.edu
<p>Looking at this record in metacat in XML, I noticed that only the root element<br />has a prefix ("eml:"), and that there isn’t a default namespace URI declared for<br />elements without prefixes. I’ve looked at a few other records, and so far they<br />all follow the same pattern.</p>
<p>I tried to see if the records would validate against the eml*.xsd files despite<br />not having prefixes, but then I ran into bug 2054<br />(<a class="external" href="http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2054">http://bugzilla.ecoinformatics.org/show_bug.cgi?id=2054</a>).</p> SEEK - Bug #2364: Records Crossing the International Datelinehttps://projects.ecoinformatics.org/ecoinfo/issues/2364#change-81042006-02-22T15:32:37ZDavid Sledgedsledge@lternet.edu
<p>Since fixing this bug would require modifying the XML query language ecogrid<br />uses, I suggest using XQuery and/or XQueryX for querying the ecogrid.</p> SEEK - Bug #2364 (New): Records Crossing the International Datelinehttps://projects.ecoinformatics.org/ecoinfo/issues/23642006-02-21T20:33:19ZDavid Sledgedsledge@lternet.edu
<p>Because the language used for querying ecogrid nodes can only compare fields to<br />constants:</p>
<p><condition operator="LESS THAN" concept="westBoundary">-23.0</condition></p>
<p>it's possible for records whose bounding coordinates cross the International<br />Date Line to be returned when they shouldn't be and to not return when<br />circumstances dictate that they should.</p>
<p>In order to construct a query to correctly handle such records, a means is<br />needed to compare a field to another field within a record (e.g. westBoundary ><br />eastBoundary).</p>