You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2014/02/01 05:33:34 UTC
svn commit: r1563373 - in /oodt/trunk: ./
webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/
webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/
webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rss/
Author: mattmann
Date: Sat Feb 1 04:33:33 2014
New Revision: 1563373
URL: http://svn.apache.org/r1563373
Log:
- fix for OODT-665 CAS RDF and RSS product service doesn't allow product type met to have keys with spaces
- updated RDF and RSS services to test if there is white space in a product type met key and if so:
a) split the key string on whitespace; and then use WordUtils.capitalizeFully to turn into CamelCase and StringUtils.join to combine
b) examine the value string and use StringEscapeUtils.escapeXml
-also did this for the new JAXRS services (Ross L please make sure I got this right)
I tested this on some keys within the context of my DRAT project on Github http://github.com/chrismattmann/drat/ and it worked great.
Modified:
oodt/trunk/CHANGES.txt
oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RdfConfiguration.java
oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RssConfiguration.java
oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFDatasetServlet.java
oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFProductServlet.java
oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rss/RSSUtils.java
Modified: oodt/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1563373&r1=1563372&r2=1563373&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Sat Feb 1 04:33:33 2014
@@ -4,6 +4,9 @@ Apache OODT Change Log
Release 0.7 - Current Development
---------------------------------
+* OODT-665 CAS RDF and RSS product service doesn't allow product type met to have keys
+ with spaces (mattmann)
+
* OODT-664 RADIX deployment of opsui incorrectly uses /pcs-opsui as the web.xml context
and omits 2 key PCS properties from context.xml (mattmann, pramirez, ahart)
Modified: oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RdfConfiguration.java
URL: http://svn.apache.org/viewvc/oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RdfConfiguration.java?rev=1563373&r1=1563372&r2=1563373&view=diff
==============================================================================
--- oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RdfConfiguration.java (original)
+++ oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RdfConfiguration.java Sat Feb 1 04:33:33 2014
@@ -6,6 +6,9 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.WordUtils;
import org.apache.oodt.commons.xml.XMLUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -163,6 +166,10 @@ public class RdfConfiguration
{
// Apply the rewrite rules.
String tagName = rewriteMap.containsKey(key) ? rewriteMap.get(key) : key;
+ if (tagName.indexOf(" ") != -1) {
+ tagName = StringUtils.join(WordUtils.capitalizeFully(tagName).split(
+ " "));
+ }
// Get the tag's namespace or the default namespace.
String namespace = keyNsMap.containsKey(key)
@@ -180,7 +187,7 @@ public class RdfConfiguration
else
{
element = document.createElement(namespace + ":" + tagName);
- element.appendChild(document.createTextNode(value));
+ element.appendChild(document.createTextNode(StringEscapeUtils.escapeXml(value)));
}
return element;
Modified: oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RssConfiguration.java
URL: http://svn.apache.org/viewvc/oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RssConfiguration.java?rev=1563373&r1=1563372&r2=1563373&view=diff
==============================================================================
--- oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RssConfiguration.java (original)
+++ oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/jaxrs/configurations/RssConfiguration.java Sat Feb 1 04:33:33 2014
@@ -6,6 +6,9 @@ import java.io.IOException;
import java.util.List;
import java.util.Vector;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.WordUtils;
import org.apache.oodt.cas.metadata.Metadata;
import org.apache.oodt.cas.metadata.util.PathUtils;
import org.apache.oodt.commons.xml.XMLUtils;
@@ -147,14 +150,21 @@ public class RssConfiguration
{
for (RssTag tag : tagList)
{
+ String tagName = tag.getName();
+ if (tagName.indexOf(" ") != -1) {
+ tagName = StringUtils.join(WordUtils.capitalizeFully(tagName).split(
+ " "));
+ }
+
+
// Create a new element for the tag.
- Element element = XMLUtils.addNode(document, parent, tag.getName());
+ Element element = XMLUtils.addNode(document, parent, tagName);
// Add a value for the tag from the tag source.
if (tag.getSource() != null)
{
- element.appendChild(document.createTextNode(PathUtils
- .replaceEnvVariables(tag.getSource(), metadata)));
+ element.appendChild(document.createTextNode(StringEscapeUtils.escapeXml(PathUtils
+ .replaceEnvVariables(tag.getSource(), metadata))));
}
// Add attributes to the tag as defined in the configuration.
Modified: oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFDatasetServlet.java
URL: http://svn.apache.org/viewvc/oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFDatasetServlet.java?rev=1563373&r1=1563372&r2=1563373&view=diff
==============================================================================
--- oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFDatasetServlet.java (original)
+++ oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFDatasetServlet.java Sat Feb 1 04:33:33 2014
@@ -43,6 +43,9 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.WordUtils;
//OODT imports
import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
import org.apache.oodt.cas.filemgr.structs.exceptions.ConnectionException;
@@ -220,7 +223,18 @@ public class RDFDatasetServlet extends H
for (Iterator<String> k = vals.iterator(); k.hasNext();) {
String val = (String) k.next();
- Element rdfElem = RDFUtils.getRDFElement(key, val, this.rdfConf, doc);
+ //OODT-665 fix, take keys like
+ //PRODUCT Experiment Type
+ //and transform it into ProductExperimentType
+ String outputKey = key;
+ if (outputKey.indexOf(" ") != -1) {
+ outputKey = StringUtils.join(WordUtils.capitalizeFully(outputKey).split(
+ " "));
+ }
+
+ val = StringEscapeUtils.escapeXml(val);
+ Element rdfElem = RDFUtils.getRDFElement(outputKey, val,
+ this.rdfConf, doc);
productTypeRdfDesc.appendChild(rdfElem);
}
Modified: oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFProductServlet.java
URL: http://svn.apache.org/viewvc/oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFProductServlet.java?rev=1563373&r1=1563372&r2=1563373&view=diff
==============================================================================
--- oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFProductServlet.java (original)
+++ oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rdf/RDFProductServlet.java Sat Feb 1 04:33:33 2014
@@ -43,6 +43,9 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.WordUtils;
//OODT imports
import org.apache.oodt.cas.filemgr.structs.exceptions.CatalogException;
import org.apache.oodt.cas.filemgr.structs.exceptions.RepositoryManagerException;
@@ -248,7 +251,14 @@ public class RDFProductServlet extends H
for (Iterator<String> k = vals.iterator(); k.hasNext();) {
String val = (String) k.next();
- Element rdfElem = RDFUtils.getRDFElement(key, val,
+ String outputKey = key;
+ if (outputKey.indexOf(" ") != -1) {
+ outputKey = StringUtils.join(WordUtils.capitalizeFully(outputKey).split(
+ " "));
+ }
+
+ val = StringEscapeUtils.escapeXml(val);
+ Element rdfElem = RDFUtils.getRDFElement(outputKey, val,
this.rdfConf, doc);
productRdfDesc.appendChild(rdfElem);
}
Modified: oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rss/RSSUtils.java
URL: http://svn.apache.org/viewvc/oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rss/RSSUtils.java?rev=1563373&r1=1563372&r2=1563373&view=diff
==============================================================================
--- oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rss/RSSUtils.java (original)
+++ oodt/trunk/webapp/fmprod/src/main/java/org/apache/oodt/cas/product/rss/RSSUtils.java Sat Feb 1 04:33:33 2014
@@ -20,6 +20,10 @@ package org.apache.oodt.cas.product.rss;
//OODT imports
import static org.apache.oodt.cas.product.rss.RSSConfigMetKeys.RSS_CONTEXT_CONF_KEY;
+
+import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.WordUtils;
import org.apache.oodt.commons.xml.XMLUtils;
import org.apache.oodt.cas.metadata.Metadata;
import org.apache.oodt.cas.metadata.util.PathUtils;
@@ -54,12 +58,17 @@ public class RSSUtils {
public static Element emitRSSTag(RSSTag tag, Metadata prodMet, Document doc,
Element item) {
- Element rssMetElem = XMLUtils.addNode(doc, item, tag.getName());
+ String outputTag = tag.getName();
+ if (outputTag.indexOf(" ") != -1) {
+ outputTag = StringUtils.join(WordUtils.capitalizeFully(outputTag).split(
+ " "));
+ }
+ Element rssMetElem = XMLUtils.addNode(doc, item, outputTag);
// first check if there is a source defined, if so, use that as the value
if (tag.getSource() != null) {
- rssMetElem.appendChild(doc.createTextNode(PathUtils.replaceEnvVariables(
- tag.getSource(), prodMet)));
+ rssMetElem.appendChild(doc.createTextNode(StringEscapeUtils.escapeXml(PathUtils.replaceEnvVariables(
+ tag.getSource(), prodMet))));
}
// check if there are attributes defined, and if so, add to the attributes