Bonjour,

Je ne parviens pas à obtenir que le champ de metaDonnée lastModificationDate de 
mes conteneurs soit modifié à chaque fois qu'une modification est apportée sur 
le conteneur...

Est ce que cela aurait à voir avec la classe ContentLastModificationDateListener

ou l'on trouve le code suivant 

    public void processEvent(String eventName, JahiaEvent theEvent) {
        if (metadataName == null || theEvent == null) {
            return;
        }
        try {
            String attribPrefix = Metadata_Engine.ENGINE_NAME + ".";
            ProcessingContext jParams = theEvent.getParams();
            HashMap engineMap = (HashMap) 
jParams.getSessionState().getAttribute(
                    "jahia_session_engineMap");

            FieldsEditHelper feh = (FieldsEditHelper) engineMap.get(attribPrefix
                    + FieldsEditHelperAbstract.FIELDS_EDIT_HELPER_CONTEXTID);

            JahiaField theField = feh.getField(this.getMetadataName());
            if (theField == null) {
                logger.info("Requested metadata field [" + 
this.getMetadataName() + "] not found!");
                return;
            }
            String fieldValue = null;
            if ("metadataEngineAfterInit".equals(eventName)) {
                String oldValue = "";
                if (theField.getObject() != null) {
                    oldValue = ((String) theField.getObject()).trim();
                    if (!"".equals(oldValue)) {
                        return;
                    }
                }
                fieldValue = String.valueOf(theEvent.getEventTime());

                // we want to init the creation date field
                if (fieldValue != null) {
                    theField.setObject(fieldValue);
                    feh.addUpdatedField(theField.getID(), 
theField.getLanguageCode());
                }
            } else if ("metadataEngineBeforeSave".equals(eventName)) {
//                theField.setObject(String.valueOf(theEvent.getEventTime()));
//                
feh.addUpdatedField(theField.getID(),theField.getLanguageCode());
            }
        } catch (Throwable t) {
            logger.debug("Exception processing event " + eventName, t);
        }
    }

la zone correspondant au metadataEngineBeforeSave etant mise en commentaire.... 
????


Si oui, y a til une raison particuliere pour que ce code soit commenté, ou bien 
s'agit il d'un oubli ???

Arnaud.

Répondre à