You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ri...@apache.org on 2012/03/19 06:08:26 UTC
svn commit: r1302272 - in /oodt/trunk: CHANGES.txt
filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
filemgr/src/test/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java
Author: rickdn
Date: Mon Mar 19 05:08:26 2012
New Revision: 1302272
URL: http://svn.apache.org/viewvc?rev=1302272&view=rev
Log:
OODT-413 #resolve fixed getReducedMetadata handles undefined elements
Modified:
oodt/trunk/CHANGES.txt
oodt/trunk/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java
Modified: oodt/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1302272&r1=1302271&r2=1302272&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Mon Mar 19 05:08:26 2012
@@ -4,6 +4,8 @@ Apache OODT Change Log
Release 0.4: Current Development
--------------------------------------------
+* OODT-413 filemgr query throws NPE when some products have undefined metadata values (rickdn)
+
* OODT-420 CAS-PGE should fail when product ingests fail (bfoster)
* OODT-419 Make PgeConfigBuilder configuration via PgeTaskMetKeys (bfoster)
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=1302272&r1=1302271&r2=1302272&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 Mon Mar 19 05:08:26 2012
@@ -618,10 +618,9 @@ public class LuceneCatalog implements Ca
public Metadata getReducedMetadata(Product product, List<String> elements) throws CatalogException {
Metadata fullMetadata = getMetadata(product);
Metadata reducedMetadata = new Metadata();
- for (int i = 0; i < elements.size(); i++) {
- String element = elements.get(i);
- reducedMetadata.addMetadata(element, fullMetadata
- .getAllMetadata(element));
+ for (String element : elements) {
+ if (fullMetadata.containsKey(element))
+ reducedMetadata.replaceMetadata(element, fullMetadata.getAllMetadata(element));
}
return reducedMetadata;
}
Modified: oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java
URL: http://svn.apache.org/viewvc/oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java?rev=1302272&r1=1302271&r2=1302272&view=diff
==============================================================================
--- oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java (original)
+++ oodt/trunk/filemgr/src/test/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java Mon Mar 19 05:08:26 2012
@@ -203,6 +203,20 @@ public class TestLuceneCatalog extends T
assertTrue(rndTripMet.getAllMetadata(CoreMetKeys.FILE_LOCATION).contains("/loc/2"));
}
+ public void testGetReducedMetadataNull() throws CatalogException {
+ Product p = getTestProduct();
+ myCat.addProduct(p);
+ myCat.addProductReferences(p);
+ myCat.addMetadata(new Metadata(), p);
+
+ // should not throw NPE here
+ Metadata rndTripMet = myCat.getReducedMetadata(p, Lists.newArrayList(CoreMetKeys.FILENAME));
+
+ assertNotNull(rndTripMet);
+ // should return null if met key has no value
+ assertNull(rndTripMet.getAllMetadata(CoreMetKeys.FILENAME));
+ }
+
public void testRemoveProduct() {
Product productToRemove = getTestProduct();