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 2012/01/22 05:41:20 UTC

svn commit: r1234449 - in /oodt/trunk: CHANGES.txt filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java

Author: mattmann
Date: Sun Jan 22 04:41:20 2012
New Revision: 1234449

URL: http://svn.apache.org/viewvc?rev=1234449&view=rev
Log:
- fix for OODT-256 updateMetadata needed in XmlRpcFileManager

Modified:
    oodt/trunk/CHANGES.txt
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java
    oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java

Modified: oodt/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1234449&r1=1234448&r2=1234449&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Sun Jan 22 04:41:20 2012
@@ -4,6 +4,8 @@ Apache OODT Change Log
 Release 0.4: Current Development
 --------------------------------------------
 
+* OODT-256 updateMetadata needed in XmlRpcFileManager (mattmann)
+
 * OODT-368 Refactoring of metadata extraction functionality for 
   opendapps module (Luca Cinquini, mattmann)
 

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=1234449&r1=1234448&r2=1234449&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 Sun Jan 22 04:41:20 2012
@@ -667,6 +667,17 @@ public class XmlRpcFileManager {
             throw new RepositoryManagerException(e.getMessage());
         }
     }
+    
+    public synchronized boolean updateMetadata(Hashtable<String, Object> productHash, 
+        Hashtable<String, Object> metadataHash) throws CatalogException{
+        Product product = XmlRpcStructFactory.getProductFromXmlRpc(productHash);
+        Metadata met = new Metadata();
+        met.addMetadata(metadataHash);
+        Metadata oldMetadata = catalog.getMetadata(product);
+        catalog.removeMetadata(oldMetadata, product);
+        catalog.addMetadata(met, product);
+        return true;
+    }
 
     public synchronized String catalogProduct(Hashtable<String, Object> productHash)
             throws CatalogException {

Modified: oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java?rev=1234449&r1=1234448&r2=1234449&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java (original)
+++ oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java Sun Jan 22 04:41:20 2012
@@ -706,21 +706,41 @@ public class XmlRpcFileManagerClient {
         }
     }
 
-    public void addMetadata(Product product, Metadata metadata)
-            throws CatalogException {
+  public void addMetadata(Product product, Metadata metadata)
+      throws CatalogException {
 
-        Vector<Object> argList = new Vector<Object>();
-        argList.add(XmlRpcStructFactory.getXmlRpcProduct(product));
-        argList.add(metadata.getHashtable());
+    Vector<Object> argList = new Vector<Object>();
+    argList.add(XmlRpcStructFactory.getXmlRpcProduct(product));
+    argList.add(metadata.getHashtable());
 
-        try {
-            client.execute("filemgr.addMetadata", argList);
-        } catch (XmlRpcException e) {
-            throw new CatalogException(e.getMessage());
-        } catch (IOException e) {
-            throw new CatalogException(e.getMessage());
-        }
+    try {
+      client.execute("filemgr.addMetadata", argList);
+    } catch (XmlRpcException e) {
+      throw new CatalogException(e.getMessage());
+    } catch (IOException e) {
+      throw new CatalogException(e.getMessage());
     }
+  }
+
+  public boolean updateMetadata(Product product, Metadata met)
+      throws CatalogException {
+    Vector<Object> argList = new Vector<Object>();
+    argList.add(XmlRpcStructFactory.getXmlRpcProduct(product));
+    argList.add(met.getHashtable());
+
+    boolean result = false;
+
+    try {
+      result = (Boolean) client.execute("filemgr.updateMetadata", argList);
+    } catch (XmlRpcException e) {
+      throw new CatalogException(e.getMessage());
+    } catch (IOException e) {
+      throw new CatalogException(e.getMessage());
+    }
+
+    return result;
+
+  }
 
     public String catalogProduct(Product product) throws CatalogException {
         Vector<Object> argList = new Vector<Object>();