Author: luca
Date: Tue Oct 30 23:32:02 2012
New Revision: 1403927

URL: http://svn.apache.org/viewvc?rev=1403927&view=rev
Log:
Merge back fix from CuratorLuceneCatalog that happened on 10/24/09: do not 
generate a new ID when updating the metadata if an existing product (OODT-528)

Modified:
    
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java

Modified: 
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
URL: 
http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java?rev=1403927&r1=1403926&r2=1403927&view=diff
==============================================================================
--- 
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
 (original)
+++ 
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
 Tue Oct 30 23:32:02 2012
@@ -241,10 +241,13 @@ public class LuceneCatalog implements Ca
             // haven't cached this product yet, so let's cache it
             CompleteProduct completeProduct = new CompleteProduct();
 
-            synchronized (completeProduct) {
-                // now generate a unique ID for the product
-                UUID prodUUID = generator.generateTimeBasedUUID();
-                product.setProductId(prodUUID.toString());
+            // NOTE: reuse existing ID if possible
+            if (product.getProductId() == null) {
+                   synchronized (completeProduct) {
+                       // now generate a unique ID for the product
+                       UUID prodUUID = generator.generateTimeBasedUUID();
+                       product.setProductId(prodUUID.toString());
+                   }
             }
 
             completeProduct.setProduct(product);


Reply via email to