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}