You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2012/03/19 19:35:12 UTC

svn commit: r1302586 - in /oodt/trunk/pge/src: main/java/org/apache/oodt/cas/pge/PGETaskInstance.java main/java/org/apache/oodt/cas/pge/metadata/PgeTaskMetKeys.java test/org/apache/oodt/cas/pge/TestPGETaskInstance.java

Author: bfoster
Date: Mon Mar 19 18:35:12 2012
New Revision: 1302586

URL: http://svn.apache.org/viewvc?rev=1302586&view=rev
Log:
- CAS-PGE PgeMetadata can now be dumped to an xml file after initialization

--------------
OODT-422

Modified:
    oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/PGETaskInstance.java
    oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/metadata/PgeTaskMetKeys.java
    oodt/trunk/pge/src/test/org/apache/oodt/cas/pge/TestPGETaskInstance.java

Modified: oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/PGETaskInstance.java
URL: http://svn.apache.org/viewvc/oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/PGETaskInstance.java?rev=1302586&r1=1302585&r2=1302586&view=diff
==============================================================================
--- oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/PGETaskInstance.java (original)
+++ oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/PGETaskInstance.java Mon Mar 19 18:35:12 2012
@@ -22,6 +22,7 @@ import static org.apache.oodt.cas.pge.me
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.ATTEMPT_INGEST_ALL;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.CRAWLER_CRAWL_FOR_DIRS;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.CRAWLER_RECUR;
+import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.DUMP_METADATA;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.INGEST_CLIENT_TRANSFER_SERVICE_FACTORY;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.INGEST_FILE_MANAGER_URL;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.MET_FILE_EXT;
@@ -118,6 +119,9 @@ public class PGETaskInstance implements 
          // Initialize Logger.
          initializePgeLogger();
 
+         // Write out PgeMetadata.
+         dumpMetadataIfRequested();
+
          // Setup the PGE.
          createExeDir();
          createOuputDirsIfRequested();
@@ -275,6 +279,24 @@ public class PGETaskInstance implements 
       return instanceId;
    }
 
+   protected void dumpMetadataIfRequested() throws Exception {
+      if (Boolean.parseBoolean(pgeMetadata
+            .getMetadata(DUMP_METADATA))) {
+         new SerializableMetadata(pgeMetadata.asMetadata())
+               .writeMetadataToXmlStream(new FileOutputStream(
+                     getDumpMetadataPath()));
+      }      
+   }
+
+   protected String getDumpMetadataPath() throws Exception {
+      return new File(pgeConfig.getExeDir()).getAbsolutePath() + "/"
+            + getDumpMetadataName();
+   }
+
+   protected String getDumpMetadataName() throws Exception {
+      return "pgetask-metadata.xml";
+   }
+
    protected void createExeDir() throws Exception {
       log(Level.INFO, "Creating PGE execution working directory: ["
             + pgeConfig.getExeDir() + "]");

Modified: oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/metadata/PgeTaskMetKeys.java
URL: http://svn.apache.org/viewvc/oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/metadata/PgeTaskMetKeys.java?rev=1302586&r1=1302585&r2=1302586&view=diff
==============================================================================
--- oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/metadata/PgeTaskMetKeys.java (original)
+++ oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/metadata/PgeTaskMetKeys.java Mon Mar 19 18:35:12 2012
@@ -52,6 +52,12 @@ public enum PgeTaskMetKeys {
          "PGETask_PropertyAdderClasspath",
          true),
    /**
+    * List of {@link ConfigFilePropertyAdder}s classpaths to be run.
+    */
+   DUMP_METADATA(
+         "PGETask/DumpMetadata",
+         "PGETask/DumpMetadata"),
+   /**
     * Set by CAS-PGE to the number of milliseconds it took CAS-PGE to run.
     */
    PGE_RUNTIME(

Modified: oodt/trunk/pge/src/test/org/apache/oodt/cas/pge/TestPGETaskInstance.java
URL: http://svn.apache.org/viewvc/oodt/trunk/pge/src/test/org/apache/oodt/cas/pge/TestPGETaskInstance.java?rev=1302586&r1=1302585&r2=1302586&view=diff
==============================================================================
--- oodt/trunk/pge/src/test/org/apache/oodt/cas/pge/TestPGETaskInstance.java (original)
+++ oodt/trunk/pge/src/test/org/apache/oodt/cas/pge/TestPGETaskInstance.java Mon Mar 19 18:35:12 2012
@@ -19,6 +19,7 @@ package org.apache.oodt.cas.pge;
 //OODT static imports
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.NAME;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.CONFIG_FILE_PATH;
+import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.DUMP_METADATA;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.PGE_CONFIG_BUILDER;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.PROPERTY_ADDERS;
 import static org.apache.oodt.cas.pge.metadata.PgeTaskMetKeys.REQUIRED_METADATA;
@@ -117,6 +118,7 @@ public class TestPGETaskInstance extends
       assertEquals("1",
             pgeTask.pgeMetadata
                   .getMetadata(MockConfigFilePropertyAdder.RUN_COUNTER));
+      System.getProperties().remove(PgeTaskMetKeys.USE_LEGACY_PROPERTY);
    }
 
    public void testCreatePgeMetadata() throws Exception {
@@ -156,6 +158,7 @@ public class TestPGETaskInstance extends
             .getAllMetadata(PROPERTY_ADDERS).get(0));
    }
 
+   @SuppressWarnings("unchecked") // FileUtils.readLines cast to List<String>
    public void testLogger() throws Exception {
       File tmpFile = File.createTempFile("bogus", "bogus");
       File tmpDir = tmpFile.getParentFile();
@@ -315,6 +318,35 @@ public class TestPGETaskInstance extends
       assertTrue(sciPgeConfigFile.exists());
    }
 
+   public void testDumpMetadataIfRequested() throws Exception {
+      PGETaskInstance pgeTask = createTestInstance();
+      File dumpMetFile = new File(pgeTask.getDumpMetadataPath());
+      pgeTask.dumpMetadataIfRequested();
+      assertFalse(dumpMetFile.exists());
+      pgeTask.pgeMetadata.replaceMetadata(DUMP_METADATA, "true");
+      pgeTask.dumpMetadataIfRequested();
+      assertTrue(dumpMetFile.exists());
+      @SuppressWarnings("unchecked")
+      List<String> dumpedMet = FileUtils.readLines(dumpMetFile, "UTF-8");
+      assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
+            dumpedMet.get(0));
+      assertEquals(
+            "<cas:metadata xmlns:cas=\"http://oodt.jpl.nasa.gov/1.0/cas\">",
+            dumpedMet.get(1));
+      assertEquals("   <keyval type=\"vector\">", dumpedMet.get(2));
+      assertEquals("      <key>PGETask%2FName</key>", dumpedMet.get(3));
+      assertEquals("      <val>" + pgeTask.pgeMetadata.getMetadata(NAME)
+            + "</val>", dumpedMet.get(4));
+      assertEquals("   </keyval>", dumpedMet.get(5));
+      assertEquals("   <keyval type=\"vector\">", dumpedMet.get(6));
+      assertEquals("      <key>PGETask%2FDumpMetadata</key>", dumpedMet.get(7));
+      assertEquals(
+            "      <val>" + pgeTask.pgeMetadata.getMetadata(DUMP_METADATA)
+                  + "</val>", dumpedMet.get(8));
+      assertEquals("   </keyval>", dumpedMet.get(9));
+      assertEquals("</cas:metadata>", dumpedMet.get(10));
+   }
+
    private PGETaskInstance createTestInstance() throws Exception {
       return createTestInstance(UUID.randomUUID().toString());
    }