package org.openedit.events; import java.util.Iterator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.openedit.event.WebEvent; import org.openedit.event.WebEventListener; import com.openedit.ModuleManager; import com.openedit.WebPageRequest; /** * Listens for web events such as upload and runs the related path event * @author cburkey */ public class PathEventHandler implements WebEventListener { protected ModuleManager fieldModuleManager; private static final Log log = LogFactory.getLog(PathEventHandler.class); public ModuleManager getModuleManager() { return fieldModuleManager; } public void setModuleManager(ModuleManager inModuleManager) { fieldModuleManager = inModuleManager; } public void eventFired(WebEvent inEvent) { String runpath = "/" + inEvent.getCatalogId() + "/events/" + inEvent.getOperation() + ".html"; PathEventManager manager = (PathEventManager)getModuleManager().getBean(inEvent.getCatalogId(),"pathEventManager"); //log.info("path event running" + runpath); //log.info("web event called : " + inRunpath); WebPageRequest request = manager.getRequestUtils().createPageRequest(runpath, inEvent.getUser()); for (Iterator iterator = inEvent.getProperties().keySet().iterator(); iterator.hasNext();) { String key = (String) iterator.next(); request.setRequestParameter(key, inEvent.get(key)); } request.setRequestParameter("catalogid", inEvent.getCatalogId()); request.putPageValue("webevent", inEvent); manager.runPathEvent(runpath, request); } }