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 2013/03/28 03:31:33 UTC
svn commit: r1461933 - in /oodt/trunk: CHANGES.txt
filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java
Author: mattmann
Date: Thu Mar 28 02:31:33 2013
New Revision: 1461933
URL: http://svn.apache.org/r1461933
Log:
- fix for OODT-560 XmlStructFactory::getProductTypeMapXmlDocument does not output virtual product types contributed by Varun Ratnakar
Modified:
oodt/trunk/CHANGES.txt
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java
Modified: oodt/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1461933&r1=1461932&r2=1461933&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Thu Mar 28 02:31:33 2013
@@ -3,6 +3,9 @@ Apache OODT Change Log
Release 0.6 - Current Development
--------------------------------------------
+* OODT-560 XmlStructFactory::getProductTypeMapXmlDocument does not
+ output virtual product types (Varun Ratnakar via mattmann)
+
* OODT-583 Added JUnit test class for RSSConfigReader (rlaidlaw)
* OODT-582 Fix for oodt.cas.product.rss.RSSConfigReader.readTags() for detection
Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java?rev=1461933&r1=1461932&r2=1461933&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java Thu Mar 28 02:31:33 2013
@@ -18,6 +18,7 @@
package org.apache.oodt.cas.filemgr.util;
//JDK imports
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
@@ -239,25 +240,39 @@ public final class XmlStructFactory {
root.setAttribute("xmlns:cas", "http://oodt.jpl.nasa.gov/1.0/cas");
document.appendChild(root);
- for (Iterator<String> i = productTypeMap.keySet().iterator(); i.hasNext();) {
+ // Also print types without elements but just with parents
+ ArrayList<String> allTypes = new ArrayList<String>(productTypeMap.keySet());
+ for(String type: subToSuperMap.keySet()) {
+ if(!allTypes.contains(type))
+ allTypes.add(type);
+ }
+
+ for (Iterator<String> i = allTypes.iterator(); i.hasNext();) {
String typeId = i.next();
Element typeElem = document.createElement("type");
typeElem.setAttribute("id", typeId);
+ boolean hasParent = false;
if (subToSuperMap.containsKey(typeId)) {
typeElem.setAttribute("parent", subToSuperMap
.get(typeId));
+ hasParent = true;
}
List<org.apache.oodt.cas.filemgr.structs.Element> elementIds = productTypeMap.get(typeId);
-
- for (Iterator<org.apache.oodt.cas.filemgr.structs.Element> j = elementIds.iterator(); j.hasNext();) {
- String elementId = j.next().getElementId();
-
- Element elementElem = document.createElement("element");
- elementElem.setAttribute("id", elementId);
- typeElem.appendChild(elementElem);
+ if(!hasParent && (elementIds == null || elementIds.size() == 0)) {
+ // If no parent, and no elements, don't add this type to the xml
+ continue;
+ }
+ if(elementIds != null) {
+ for (Iterator<org.apache.oodt.cas.filemgr.structs.Element> j = elementIds.iterator(); j.hasNext();) {
+ String elementId = j.next().getElementId();
+
+ Element elementElem = document.createElement("element");
+ elementElem.setAttribute("id", elementId);
+ typeElem.appendChild(elementElem);
+ }
}
root.appendChild(typeElem);