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.