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);
}
}