OODT-781 fix removal of files from the local data transferer
Project: http://git-wip-us.apache.org/repos/asf/oodt/repo Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/e9f262c5 Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/e9f262c5 Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/e9f262c5 Branch: refs/heads/avrorpc Commit: e9f262c5cc02b170897b979ac0229e9c6bfef080 Parents: 6409d71 Author: Tom Barber <[email protected]> Authored: Mon Dec 28 11:31:19 2015 +0000 Committer: Tom Barber <[email protected]> Committed: Mon Dec 28 11:31:19 2015 +0000 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../datatransfer/LocalDataTransferer.java | 9 ++++++- .../filemgr/system/TestXmlRpcFileManager.java | 4 --- .../system/TestXmlRpcFileManagerClient.java | 26 ++++++++++++++++++++ 4 files changed, 35 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/oodt/blob/e9f262c5/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index d003f88..1275ae8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -106,6 +106,7 @@ Release 0.10 - 08/30/2015 * OODT-854 Enable File Manager and Resource Manager to collect configuration files by parsing a directory tree recursively (luca) +* OODT-781 Fix removal of files from the LocalDataTransferer Release 0.9 - 05/31/2015 http://git-wip-us.apache.org/repos/asf/oodt/blob/e9f262c5/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java ---------------------------------------------------------------------- diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java index 200813c..3d6ed95 100644 --- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java +++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/datatransfer/LocalDataTransferer.java @@ -176,7 +176,14 @@ public class LocalDataTransferer implements DataTransfer { @Override public void deleteProduct(Product product) throws DataTransferException, IOException { for (Reference ref : product.getProductReferences()) { - File dataFile = new File(URI.create(ref.getDataStoreReference()).toURL().getPath()); + String u; + try { + u = URI.create(ref.getDataStoreReference()).toURL().getPath(); + } + catch (IllegalArgumentException e) { + u = URI.create("file://"+ref.getDataStoreReference()).toURL().getPath(); + } + File dataFile = new File(u); if (!dataFile.delete()) { throw new IOException(String.format("Failed to delete file %s - delete returned false", dataFile)); http://git-wip-us.apache.org/repos/asf/oodt/blob/e9f262c5/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java ---------------------------------------------------------------------- diff --git a/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java b/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java index c10922f..3fbe72a 100644 --- a/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java +++ b/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManager.java @@ -17,8 +17,6 @@ package org.apache.oodt.cas.filemgr.system; -//JDK 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; @@ -38,8 +36,6 @@ import java.util.logging.Logger; import junit.framework.TestCase; -//OODT imports -//Junit imports /** * http://git-wip-us.apache.org/repos/asf/oodt/blob/e9f262c5/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManagerClient.java ---------------------------------------------------------------------- diff --git a/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManagerClient.java b/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManagerClient.java index 02d6412..c864bd5 100644 --- a/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManagerClient.java +++ b/filemgr/src/test/java/org/apache/oodt/cas/filemgr/system/TestXmlRpcFileManagerClient.java @@ -142,6 +142,32 @@ public class TestXmlRpcFileManagerClient extends TestCase { deleteAllFiles("/tmp/test-type"); } + public void testRemoveFile() throws Exception { + URL ingestUrl = this.getClass().getResource("/ingest"); + URL refUrl = this.getClass().getResource("/ingest/test.txt"); + + Metadata prodMet = new Metadata(); + prodMet.addMetadata(CoreMetKeys.FILE_LOCATION, new File( + ingestUrl.getFile()).getCanonicalPath()); + prodMet.addMetadata(CoreMetKeys.FILENAME, "test.txt"); + prodMet.addMetadata(CoreMetKeys.PRODUCT_NAME, "TestFile"); + prodMet.addMetadata(CoreMetKeys.PRODUCT_TYPE, "GenericFile"); + + StdIngester ingester = new StdIngester(transferServiceFacClass); + String productId = ingester.ingest( + new URL("http://localhost:" + FM_PORT), + new File(refUrl.getFile()), prodMet); + XmlRpcFileManagerClient fmc = new XmlRpcFileManagerClient(new URL( + "http://localhost:" + FM_PORT)); + Metadata m = fmc.getMetadata(fmc.getProductById(productId)); + assertEquals(m.getMetadata("Filename"), "test.txt"); + String loc = m.getMetadata("FileLocation"); + fmc.removeFile(loc+"/"+m.getMetadata("Filename")); + + fmc.getProductById(productId); + deleteAllFiles("/tmp/test-type"); + } + /** * @since OODT-404 *
