You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by go...@apache.org on 2012/08/29 17:38:26 UTC
svn commit: r1378613 - in /oodt/trunk: CHANGES.txt
filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataBasedProductMover.java
Author: goodale
Date: Wed Aug 29 15:38:26 2012
New Revision: 1378613
URL: http://svn.apache.org/viewvc?rev=1378613&view=rev
Log:
OODT-487 MetadataBasedProductMover to handle when the source and destinations match
Modified:
oodt/trunk/CHANGES.txt
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataBasedProductMover.java
Modified: oodt/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1378613&r1=1378612&r2=1378613&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Wed Aug 29 15:38:26 2012
@@ -3,6 +3,8 @@ Apache OODT Change Log
Release 0.5
--------------------------------------------
+* OODT-487: MetadataBasedProductMover to handle when the source and destinations match (cgoodale)
+
* OODT-488: Enhanced Solr Indexer capabilities (pramirez)
* OODT-390: Removal of optimize call in Lucene Workflow Instance Repository (pramirez)
Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataBasedProductMover.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataBasedProductMover.java?rev=1378613&r1=1378612&r2=1378613&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataBasedProductMover.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/tools/MetadataBasedProductMover.java Wed Aug 29 15:38:26 2012
@@ -99,7 +99,12 @@ public class MetadataBasedProductMover {
Reference r = ((Reference) p.getProductReferences().get(0));
String newLocPath = PathUtils.replaceEnvVariables(
this.pathSpec, met);
-
+
+ if (locationsMatch(r.getDataStoreReference(), newLocPath)) {
+ LOG.log(Level.INFO, "Current and New locations match. "+p.getProductName()+" was not moved.");
+ continue;
+ }
+
LOG.log(Level.INFO, "Moving product: ["
+ p.getProductName() + "] from: ["
+ new File(new URI(r.getDataStoreReference()))
@@ -120,6 +125,19 @@ public class MetadataBasedProductMover {
}
}
+ private boolean locationsMatch(String currentLocation, String newLocation) throws java.net.URISyntaxException {
+ String currentLocationURI = new URI(currentLocation).getSchemeSpecificPart();
+ String newLocationURI = new URI(newLocation).getSchemeSpecificPart();
+
+ if (currentLocationURI.equals(newLocationURI)) {
+ return true;
+ }
+ else {
+ return false;
+ }
+
+ }
+
public void moveProducts(String typeName) throws Exception {
moveProducts(fmgrClient.getProductTypeByName(typeName));
}