Author: riverma
Date: Tue Oct 29 22:51:32 2013
New Revision: 1536923
URL: http://svn.apache.org/r1536923
Log:
OODT-655: Ensure XmlStructFactory transcribes product type met and extractor
info
Modified:
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java
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=1536923&r1=1536922&r2=1536923&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
Tue Oct 29 22:51:32 2013
@@ -19,6 +19,7 @@ package org.apache.oodt.cas.filemgr.util
//JDK imports
import java.util.ArrayList;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
@@ -369,6 +370,51 @@ public final class XmlStructFactory {
.getVersioner());
typeElem.appendChild(versionerClassPathElem);
+ // add extractor info
+ Element metExtractorsElem =
document.createElement("metExtractors");
+ for (Object specObject : type.getExtractors()) {
+ ExtractorSpec spec = (ExtractorSpec) specObject;
+ Element extractorElem =
document.createElement("extractor");
+ extractorElem.setAttribute("class", spec.getClassName());
+
+ if (spec.getConfiguration() != null) {
+ Element extractorConfigElem =
document.createElement("configuration");
+ Enumeration e =
spec.getConfiguration().propertyNames();
+
+ while (e.hasMoreElements()) {
+ String key = (String) e.nextElement();
+
+ Element propertyElem =
document.createElement("property");
+ propertyElem.setAttribute("name", key);
+ propertyElem.setAttribute("value",
spec.getConfiguration().getProperty(key));
+
+ extractorConfigElem.appendChild(propertyElem);
+ }
+
+ extractorElem.appendChild(extractorConfigElem);
+ }
+
+ metExtractorsElem.appendChild(extractorElem);
+ }
+ typeElem.appendChild(metExtractorsElem);
+
+ // add type metadata
+ Element metElem = document.createElement("metadata");
+ for (String key : type.getTypeMetadata().getAllKeys()) {
+ Element keyValElem = document.createElement("keyval");
+ Element keyElem = document.createElement("key");
+ Element valElem = document.createElement("val");
+
+ keyElem.appendChild(document.createTextNode(key));
+ valElem.appendChild(document.createTextNode(
+ type.getTypeMetadata().getMetadata(key)));
+ keyValElem.appendChild(keyElem);
+ keyValElem.appendChild(valElem);
+
+ metElem.appendChild(keyValElem);
+ }
+ typeElem.appendChild(metElem);
+
root.appendChild(typeElem);
}