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
    *
  

Reply via email to