You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ri...@apache.org on 2013/10/29 23:51:32 UTC

svn commit: r1536923 - /oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/util/XmlStructFactory.java

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);
             }