knguyen 2005/10/10 10:42:28 CEST
Modified files:
core/src/java/org/jahia/engines/importexport
ManageContentPicker.java
Log:
- check for npe & metadata case sensitive
Revision Changes Path
1.34 +32 -5
jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java.diff?r1=1.33&r2=1.34&f=h
Index: ManageContentPicker.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- ManageContentPicker.java 7 Oct 2005 12:45:28 -0000 1.33
+++ ManageContentPicker.java 10 Oct 2005 08:42:28 -0000 1.34
@@ -35,7 +35,7 @@
*
* @author Thomas Draier, joe Pillot
* @author ${User}
- * @version $Id: ManageContentPicker.java,v 1.33 2005/10/07 12:45:28 knguyen
Exp $
+ * @version $Id: ManageContentPicker.java,v 1.34 2005/10/10 08:42:28 knguyen
Exp $
*/
public class ManageContentPicker {
private static org.apache.log4j.Logger logger =
@@ -357,10 +357,10 @@
List metadata =
contentContainer.getMetadatas();
logger.debug("metadata : "+metadata);
Hashtable fields =
hit.getParsedObject().getFields();
-
fields.put(JahiaSearchConstant.METADATA_PREFIX + "creator", new String[]
{((ContentSmallTextSharedLangField)
contentContainer.getMetadata("creator")).getValue(processingContext)});
-
fields.put(JahiaSearchConstant.METADATA_PREFIX + "lastcontributor", new
String[] {((ContentSmallTextSharedLangField)
contentContainer.getMetadata("lastContributor")).getValue(processingContext)});
-
fields.put(JahiaSearchConstant.METADATA_PREFIX + "creationdate", new String[]
{((ContentDateField)
contentContainer.getMetadata("creationDate")).getValue(processingContext)});
-
fields.put(JahiaSearchConstant.METADATA_PREFIX + "lastpublishingdate", new
String[] {((ContentDateField)
contentContainer.getMetadata("lastPublishingDate")).getValue(processingContext)});
+
fillSearchHitWithMetadataValues(fields,contentContainer,"creator",new
String[]{""},processingContext);
+
fillSearchHitWithMetadataValues(fields,contentContainer,"lastContributor",new
String[]{""},processingContext);
+
fillSearchHitWithMetadataValues(fields,contentContainer,"creationDate",new
String[]{""},processingContext);
+
fillSearchHitWithMetadataValues(fields,contentContainer,"lastPublishingDate",new
String[]{""},processingContext);
while (current != null) {
current = current.getParent(null);
@@ -426,6 +426,30 @@
}
/**
+ * @param fields
+ * @param container
+ * @param metadataName
+ * @param defaultValues the default values if metadata is null or
returns empty values
+ * @param context
+ * @throws JahiaException
+ */
+ private void fillSearchHitWithMetadataValues( Hashtable fields,
+ ContentContainer
container,
+ String metadataName,
+ String[] defaultValues,
+ ProcessingContext
context )
+ throws JahiaException {
+ if ( container.getMetadata(metadataName) != null ){
+ String value =
((ContentField)container.getMetadata(metadataName)).getValue(context);
+ if ( value == null ){
+ fields.put(metadataName.toLowerCase(),defaultValues);
+ } else {
+ fields.put(metadataName.toLowerCase(),new String[]{value});
+ }
+ }
+ }
+
+ /**
* @param key string key to order by
* @param engineMap The engine map
* @param myResults output results
@@ -502,6 +526,9 @@
}
/**
* $Log: ManageContentPicker.java,v $
+ * Revision 1.34 2005/10/10 08:42:28 knguyen
+ * - check for npe & metadata case sensitive
+ *
* Revision 1.33 2005/10/07 12:45:28 knguyen
* - synchro
*