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 2010/12/31 19:27:47 UTC

svn commit: r1054155 - in /oodt/trunk: ./ filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/ filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/ filemgr/src/main/resources/ filemgr/src/test/org/apache/oodt/cas/filemgr/system/

Author: mattmann
Date: Fri Dec 31 18:27:47 2010
New Revision: 1054155

URL: http://svn.apache.org/viewvc?rev=1054155&view=rev
Log:
- fix for OODT-72 Unable to set Metadata based off Product Versioning during Product ingestion

Added:
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/ProductMetKeys.java   (with props)
    oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java   (with props)
Modified:
    oodt/trunk/CHANGES.txt
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java
    oodt/trunk/filemgr/src/main/resources/filemgr.properties

Modified: oodt/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1054155&r1=1054154&r2=1054155&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Fri Dec 31 18:27:47 2010
@@ -4,6 +4,9 @@ Apache OODT Change Log
 Release 0.2 (Current Development)
 --------------------------------------------
 
+* OODT-72 Unable to set Metadata based off Product Versioning during 
+  Product ingestion (mattmann, bfoster)
+
 * OODT-68 Add Number of Product Hits to ProductPage (bfoster, mattmann)
 
 * OODT-107 Typo identified in filemgr-client usage statement (Rishi Verma via mattmann)

Added: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/ProductMetKeys.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/ProductMetKeys.java?rev=1054155&view=auto
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/ProductMetKeys.java (added)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/ProductMetKeys.java Fri Dec 31 18:27:47 2010
@@ -0,0 +1,54 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.oodt.cas.filemgr.metadata;
+
+//OODT imports
+import org.apache.oodt.cas.filemgr.system.XmlRpcFileManagerClient;
+
+/**
+ * 
+ * Met key field names used to augment {@link Product} {@link Metadata} in
+ * {@link XmlRpcFileManagerClient#getMetadata(org.apache.oodt.cas.filemgr.structs.Product)}
+ * and in
+ * {@link XmlRpcFileManagerClient#getReducedMetadata(org.apache.oodt.cas.filemgr.structs.Product, java.util.List)}
+ * .
+ * 
+ * @see http://issues.apache.org/jira/browse/OODT-72
+ * 
+ */
+public interface ProductMetKeys {
+
+  public static final String PRODUCT_ID = "ProductId";
+
+  public static final String PRODUCT_NAME = "ProductName";
+
+  public static final String PRODUCT_STRUCTURE = "ProductStructure";
+
+  public static final String PRODUCT_TRANSFER_STATUS = "ProductTransferStatus";
+
+  public static final String PRODUCT_ROOT_REFERENCE = "ProductRootReference";
+
+  public static final String PRODUCT_DATASTORE_REFS = "ProductDataStoreReferences";
+
+  public static final String PRODUCT_ORIG_REFS = "ProductOrigReferences";
+
+  public static final String PRODUCT_MIME_TYPES = "ProductMimeType";
+
+  public static final String PRODUCT_FILE_SIZES = "ProductFileSize";
+
+}

Propchange: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/metadata/ProductMetKeys.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java?rev=1054155&r1=1054154&r2=1054155&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java Fri Dec 31 18:27:47 2010
@@ -25,6 +25,7 @@ import org.apache.oodt.cas.metadata.Meta
 import org.apache.oodt.cas.metadata.exceptions.MetExtractionException;
 import org.apache.oodt.commons.date.DateUtils;
 import org.apache.oodt.cas.filemgr.catalog.Catalog;
+import org.apache.oodt.cas.filemgr.metadata.ProductMetKeys;
 import org.apache.oodt.cas.filemgr.metadata.extractors.FilemgrMetExtractor;
 import org.apache.oodt.cas.filemgr.repository.RepositoryManager;
 import org.apache.oodt.cas.filemgr.structs.Element;
@@ -52,6 +53,7 @@ import org.apache.oodt.cas.filemgr.datat
 import org.apache.oodt.cas.filemgr.util.GenericFileManagerObjectFactory;
 import org.apache.oodt.cas.filemgr.util.XmlRpcStructFactory;
 import org.apache.oodt.cas.filemgr.versioning.Versioner;
+import org.apache.oodt.cas.filemgr.versioning.VersioningUtils;
 import org.apache.oodt.cas.filemgr.datatransfer.TransferStatusTracker;
 
 //JDK imports
@@ -105,6 +107,9 @@ public class XmlRpcFileManager {
     /* our data transfer status tracker */
     private TransferStatusTracker transferStatusTracker = null;
     
+    /* whether or not to expand a product instance into met */
+    private boolean expandProductMet;
+    
     /**
      * <p>
      * Creates a new XmlRpcFileManager with the given metadata store factory,
@@ -1138,6 +1143,7 @@ public class XmlRpcFileManager {
             }else {
                 m = this.getMetadata(product);
             }
+            if(this.expandProductMet) m = this.buildProductMetadata(product, m);            
             return this.getOrigValues(m, product.getProductType());
         } catch (Exception e) {
             e.printStackTrace();
@@ -1152,6 +1158,7 @@ public class XmlRpcFileManager {
     private Metadata getMetadata(Product product) throws CatalogException {
         try {
             Metadata m = catalog.getMetadata(product);
+            if(this.expandProductMet) m = this.buildProductMetadata(product, m);
             return this.getOrigValues(m, product.getProductType());
         } catch (Exception e) {
             e.printStackTrace();
@@ -1229,15 +1236,52 @@ public class XmlRpcFileManager {
         return filteredQueryResults;
     }
 
-    private List<QueryResult> sortQueryResultList(
-            List<QueryResult> queryResults, String sortByMetKey) {
-        QueryResult[] resultsArray = queryResults
-                .toArray(new QueryResult[queryResults.size()]);
-        QueryResultComparator qrComparator = new QueryResultComparator();
-        qrComparator.setSortByMetKey(sortByMetKey);
-        Arrays.sort(resultsArray, qrComparator);
-        return Arrays.asList(resultsArray);
+    private List<QueryResult> sortQueryResultList(List<QueryResult> queryResults,
+      String sortByMetKey) {
+    QueryResult[] resultsArray = queryResults
+        .toArray(new QueryResult[queryResults.size()]);
+    QueryResultComparator qrComparator = new QueryResultComparator();
+    qrComparator.setSortByMetKey(sortByMetKey);
+    Arrays.sort(resultsArray, qrComparator);
+    return Arrays.asList(resultsArray);
+  }
+
+    private Metadata buildProductMetadata(Product product, Metadata metadata)
+      throws CatalogException {
+    Metadata pMet = new Metadata();
+    pMet.replaceMetadata(ProductMetKeys.PRODUCT_ID, product.getProductId() != null ? 
+        product.getProductId():"unknown");
+    pMet.replaceMetadata(ProductMetKeys.PRODUCT_NAME, product.getProductName() != null ? 
+        product.getProductName():"unknown");
+    pMet.replaceMetadata(ProductMetKeys.PRODUCT_STRUCTURE, product
+        .getProductStructure() != null ? product.getProductStructure():"unknown");
+    pMet.replaceMetadata(ProductMetKeys.PRODUCT_TRANSFER_STATUS, product
+        .getTransferStatus() != null ? product.getTransferStatus():"unknown");
+    pMet.replaceMetadata(ProductMetKeys.PRODUCT_ROOT_REFERENCE, product.getRootRef() != null ? 
+        VersioningUtils
+        .getAbsolutePathFromUri(product.getRootRef().getDataStoreReference()):"unknown");
+
+    List<Reference> refs = product.getProductReferences();
+
+    if (refs == null || (refs != null && refs.size() == 0)) {
+      refs = this.catalog.getProductReferences(product);
+    }
+
+    for (Reference r : refs) {
+      pMet.replaceMetadata(ProductMetKeys.PRODUCT_ORIG_REFS, r.getOrigReference() != null
+          ? VersioningUtils
+          .getAbsolutePathFromUri(r.getOrigReference()):"unknown");
+      pMet.replaceMetadata(ProductMetKeys.PRODUCT_DATASTORE_REFS,
+          r.getDataStoreReference() != null ? 
+              VersioningUtils.getAbsolutePathFromUri(r.getDataStoreReference()):"unknown");
+      pMet.replaceMetadata(ProductMetKeys.PRODUCT_FILE_SIZES, String.valueOf(r
+          .getFileSize()));
+      pMet.replaceMetadata(ProductMetKeys.PRODUCT_MIME_TYPES,
+          r.getMimeType() != null ? r.getMimeType().getName() : "unknown");
     }
+
+    return pMet;
+  }
     
     private void loadConfiguration() throws FileNotFoundException, IOException {
     // set up the configuration, if there is any
@@ -1274,6 +1318,9 @@ public class XmlRpcFileManager {
     // checks for a live server
     dataTransfer
         .setFileManagerUrl(new URL("http://localhost:" + webServerPort));
+
+    expandProductMet = Boolean
+        .getBoolean("org.apache.oodt.cas.filemgr.metadata.expandProduct");
   }
 
 }

Modified: oodt/trunk/filemgr/src/main/resources/filemgr.properties
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/resources/filemgr.properties?rev=1054155&r1=1054154&r2=1054155&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/resources/filemgr.properties (original)
+++ oodt/trunk/filemgr/src/main/resources/filemgr.properties Fri Dec 31 18:27:47 2010
@@ -76,3 +76,25 @@ org.apache.oodt.cas.filemgr.datatransfer
 
 # location of Mime-Type repository
 org.apache.oodt.cas.filemgr.mime.type.repository=/path/to/mime-types.xml
+
+# tells the file manager system layer to include product instance metadata
+# NOTE: here are the expected field mappings
+#
+#      product.getProductId() -> ProductId
+#      product.getProductName() -> ProductName
+#      product.getProductStructure() -> ProductStructure
+#      product.getTransferStatus() -> ProductTransferStatus
+#      product.getRootRef() -> ProductRootReference
+
+# for the references returned by product.getProductReferences() the following 
+# metadata fields will be added (order will be maintained, such that data store 
+# ref at index 0 will map to orig ref at index 0, etc.)
+#
+#      ProductDataStoreReferences (list of all data store references: 
+#       note already translated into path, not URI)
+#      ProductOrigReferences (list of all orig references: 
+#       note already translated into path, not URI)
+#      ProductMimeType (list of all references' mime-types)
+#      ProductFileSize (list of all references' file sizes)
+
+org.apache.oodt.cas.filemgr.metadata.expandProduct=false

Added: oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java?rev=1054155&view=auto
==============================================================================
--- oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java (added)
+++ oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java Fri Dec 31 18:27:47 2010
@@ -0,0 +1,277 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.oodt.cas.filemgr.system;
+
+//JDK imports
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+
+//OODT imports
+import org.apache.oodt.cas.filemgr.ingest.StdIngester;
+import org.apache.oodt.cas.filemgr.metadata.CoreMetKeys;
+import org.apache.oodt.cas.filemgr.metadata.ProductMetKeys;
+import org.apache.oodt.cas.filemgr.structs.Product;
+import org.apache.oodt.cas.filemgr.structs.exceptions.CatalogException;
+import org.apache.oodt.cas.metadata.Metadata;
+import org.apache.oodt.cas.metadata.SerializableMetadata;
+
+//Junit imports
+import junit.framework.TestCase;
+
+/**
+ * 
+ * Test harness for the XmlRpcFileManager.
+ * 
+ * @since OODT-72
+ * 
+ */
+public class TestXmlRpcFileManager extends TestCase {
+
+  private static final int FM_PORT = 50001;
+
+  private XmlRpcFileManager fm;
+
+  private String luceneCatLoc;
+
+  private static final String transferServiceFacClass = "org.apache.oodt.cas."
+      + "filemgr.datatransfer.LocalDataTransferFactory";
+
+  /**
+   * @since OODT-72
+   */
+  public void testExpandProductMet() {
+    XmlRpcFileManagerClient fmc = null;
+    try {
+      fmc = new XmlRpcFileManagerClient(new URL("http://localhost:" + FM_PORT));
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+
+    Metadata met = null;
+    try {
+      met = fmc.getMetadata(fmc.getProductByName("test.txt"));
+    } catch (CatalogException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+
+    assertNotNull(met);
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_ID));
+    assertNotNull(met.getMetadata(ProductMetKeys.PRODUCT_ID));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_NAME));
+    assertNotNull(met.getMetadata(ProductMetKeys.PRODUCT_NAME));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_STRUCTURE));
+    assertEquals("Flat", met.getMetadata(ProductMetKeys.PRODUCT_STRUCTURE));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_TRANSFER_STATUS));
+    assertEquals(Product.STATUS_RECEIVED, met
+        .getMetadata(ProductMetKeys.PRODUCT_TRANSFER_STATUS));
+
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_ORIG_REFS));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_DATASTORE_REFS));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_FILE_SIZES));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_MIME_TYPES));
+
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_ORIG_REFS).size());
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_DATASTORE_REFS)
+        .size());
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_FILE_SIZES)
+        .size());
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_MIME_TYPES)
+        .size());
+
+    String origPath = null;
+    try {
+      origPath = new File("./src/testdata/ingest/test.txt").getCanonicalPath();
+    } catch (IOException e) {
+      fail(e.getMessage());
+    }
+    assertEquals(origPath, met.getMetadata(ProductMetKeys.PRODUCT_ORIG_REFS));
+    assertEquals("/tmp/test.txt/test.txt", met
+        .getMetadata(ProductMetKeys.PRODUCT_DATASTORE_REFS));
+
+    assertNotNull(met.getMetadata(ProductMetKeys.PRODUCT_FILE_SIZES));
+    assertEquals("text/plain", met
+        .getMetadata(ProductMetKeys.PRODUCT_MIME_TYPES));
+
+    try {
+      met = fmc.getReducedMetadata(fmc.getProductByName("test.txt"),
+          Collections.EMPTY_LIST);
+    } catch (CatalogException e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+
+    assertNotNull(met);
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_ID));
+    assertNotNull(met.getMetadata(ProductMetKeys.PRODUCT_ID));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_NAME));
+    assertNotNull(met.getMetadata(ProductMetKeys.PRODUCT_NAME));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_STRUCTURE));
+    assertEquals("Flat", met.getMetadata(ProductMetKeys.PRODUCT_STRUCTURE));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_TRANSFER_STATUS));
+    assertEquals(Product.STATUS_RECEIVED, met
+        .getMetadata(ProductMetKeys.PRODUCT_TRANSFER_STATUS));
+
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_ORIG_REFS));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_DATASTORE_REFS));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_FILE_SIZES));
+    assertTrue(met.containsKey(ProductMetKeys.PRODUCT_MIME_TYPES));
+
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_ORIG_REFS).size());
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_DATASTORE_REFS)
+        .size());
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_FILE_SIZES)
+        .size());
+    assertEquals(1, met.getAllMetadata(ProductMetKeys.PRODUCT_MIME_TYPES)
+        .size());
+
+    origPath = null;
+    try {
+      origPath = new File("./src/testdata/ingest/test.txt").getCanonicalPath();
+    } catch (IOException e) {
+      fail(e.getMessage());
+    }
+    assertEquals(origPath, met.getMetadata(ProductMetKeys.PRODUCT_ORIG_REFS));
+    assertEquals("/tmp/test.txt/test.txt", met
+        .getMetadata(ProductMetKeys.PRODUCT_DATASTORE_REFS));
+
+    assertNotNull(met.getMetadata(ProductMetKeys.PRODUCT_FILE_SIZES));
+    assertEquals("text/plain", met
+        .getMetadata(ProductMetKeys.PRODUCT_MIME_TYPES));
+
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see junit.framework.TestCase#setUp()
+   */
+  protected void setUp() throws Exception {
+    startXmlRpcFileManager();
+    ingestTestFile();
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see junit.framework.TestCase#tearDown()
+   */
+  protected void tearDown() throws Exception {
+    fm.shutdown();
+    fm = null;
+
+    // blow away lucene cat
+    deleteAllFiles(luceneCatLoc);
+
+    // blow away test file
+    deleteAllFiles("/tmp/test.txt");
+  }
+
+  private void deleteAllFiles(String startDir) {
+    File startDirFile = new File(startDir);
+    File[] delFiles = startDirFile.listFiles();
+
+    if (delFiles != null && delFiles.length > 0) {
+      for (int i = 0; i < delFiles.length; i++) {
+        delFiles[i].delete();
+      }
+    }
+
+    startDirFile.delete();
+
+  }
+
+  private void ingestTestFile() {
+    Metadata prodMet = null;
+    StdIngester ingester = new StdIngester(transferServiceFacClass);
+
+    try {
+      prodMet = new SerializableMetadata(new FileInputStream(
+          "./src/testdata/ingest/test.txt.met"));
+
+      // now add the right file location
+      prodMet.addMetadata(CoreMetKeys.FILE_LOCATION, new File(
+          "./src/testdata/ingest").getCanonicalPath());
+      prodMet.addMetadata(CoreMetKeys.FILENAME, "test.txt");
+      prodMet.addMetadata(CoreMetKeys.PRODUCT_TYPE, "GenericFile");
+      ingester.ingest(new URL("http://localhost:" + FM_PORT), new File(
+          "./src/testdata/ingest/test.txt"), prodMet);
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+  }
+
+  private void startXmlRpcFileManager() {
+    // first make sure to load properties for the file manager
+    // and make sure to load logging properties as well
+
+    // set the log levels
+    System.setProperty("java.util.logging.config.file", new File(
+        "./src/main/resources/logging.properties").getAbsolutePath());
+
+    // first load the example configuration
+    try {
+      System.getProperties().load(
+          new FileInputStream("./src/main/resources/filemgr.properties"));
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+
+    // override the catalog to use: we'll use lucene
+    try {
+      luceneCatLoc = new File("./src/testdata/ingest/cat").getCanonicalPath();
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+
+    System.setProperty("filemgr.catalog.factory",
+        "org.apache.oodt.cas.filemgr.catalog.LuceneCatalogFactory");
+    System.setProperty("org.apache.oodt.cas.filemgr.catalog.lucene.idxPath",
+        luceneCatLoc);
+
+    // now override the repo mgr policy
+    try {
+      System.setProperty("org.apache.oodt.cas.filemgr.repositorymgr.dirs",
+          "file://"
+              + new File("./src/testdata/ingest/fmpolicy").getCanonicalPath());
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+
+    // now override the val layer ones
+    System.setProperty("org.apache.oodt.cas.filemgr.validation.dirs", "file://"
+        + new File("./src/testdata/ingest/fmpolicy").getAbsolutePath());
+
+    // set up mime repo path
+    System.setProperty("org.apache.oodt.cas.filemgr.mime.type.repository",
+        new File("./src/main/resources/mime-types.xml").getAbsolutePath());
+
+    // override expand product met
+    System.setProperty("org.apache.oodt.cas.filemgr.metadata.expandProduct",
+        "true");
+
+    try {
+      fm = new XmlRpcFileManager(FM_PORT);
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+  }
+}

Propchange: oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java
------------------------------------------------------------------------------
    svn:eol-style = native