001/*
002 * Copyright (c) 2011 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *
009 * Contributors:
010 *     Florent Guillaume
011 */
012package org.nuxeo.ecm.core.storage.sql.listeners;
013
014import org.nuxeo.ecm.core.api.DocumentModel;
015import org.nuxeo.ecm.core.api.event.CoreEventConstants;
016import org.nuxeo.ecm.core.event.Event;
017import org.nuxeo.ecm.core.event.EventListener;
018import org.nuxeo.ecm.core.event.impl.DocumentEventContext;
019
020public class DummyBeforeModificationListener implements EventListener {
021
022    // checked by unit test
023    public static String previousTitle = null;
024
025    /**
026     * Called on aboutToCreate and beforeDocumentModification events.
027     */
028    @Override
029    public void handleEvent(Event event) {
030        DocumentEventContext context = (DocumentEventContext) event.getContext();
031        // record previous title
032        DocumentModel previous = (DocumentModel) context.getProperty(CoreEventConstants.PREVIOUS_DOCUMENT_MODEL);
033        if (previous != null) {
034            // beforeDocumentModification
035            previousTitle = previous.getTitle();
036        }
037        // do the event job: rename
038        DocumentModel doc = context.getSourceDocument();
039        String name = doc.getTitle() + "-rename";
040        context.setProperty(CoreEventConstants.DESTINATION_NAME, name);
041    }
042
043}