001package org.nuxeo.project.sample; 002 003import java.text.SimpleDateFormat; 004import java.util.Date; 005 006import org.nuxeo.ecm.core.api.DocumentModel; 007import org.nuxeo.ecm.core.event.Event; 008import org.nuxeo.ecm.core.event.EventContext; 009import org.nuxeo.ecm.core.event.EventListener; 010import org.nuxeo.ecm.core.event.impl.DocumentEventContext; 011 012public class BookEventListener implements EventListener { 013 014 @Override 015 public void handleEvent(Event event) { 016 017 EventContext ctx = event.getContext(); 018 019 if (ctx instanceof DocumentEventContext) { 020 021 DocumentEventContext docCtx = (DocumentEventContext) ctx; 022 DocumentModel doc = docCtx.getSourceDocument(); 023 024 if (doc != null) { 025 String type = doc.getType(); 026 if ("Book".equals(type)) { 027 process(doc); 028 } 029 } 030 } 031 } 032 033 public void process(DocumentModel doc) { 034 doc.setPropertyValue("dublincore:title", "Sample Book"); 035 String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); 036 doc.setPropertyValue("dublincore:description", "(Created on " + date + ")"); 037 } 038 039}