package org.tizzit.cocoon.generic;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.components.modules.input.AbstractInputModule;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
/**
* <p>Title: ConQuest</p>
* <p>Description: Enterprise Content Management</p>
* <p>Copyright: Copyright (c) 2004</p>
* @author <a href="sascha.kulawik@juwimm.com">Sascha-Matthias Kulawik</a>
* @version $Id:AllRequestParameterModule.java 4371 2008-05-28 09:37:42Z kulawik $
*/
public class AllRequestParameterModule extends AbstractInputModule implements ThreadSafe {
/* (non-Javadoc)
* @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)
*/
@SuppressWarnings("unchecked")
@Override
public Object getAttribute(String name, Configuration modeConf, Map objectModel) throws ConfigurationException {
StringBuffer rp = new StringBuffer();
Request req = ObjectModelHelper.getRequest(objectModel);
Enumeration enume = req.getParameterNames();
while (enume.hasMoreElements()) {
String attrName = (String) enume.nextElement();
rp.append(attrName).append("=").append(req.getParameter(attrName).toString()); //$NON-NLS-1$
if (enume.hasMoreElements()) rp.append("&"); //$NON-NLS-1$
}
return rp.toString();
}
/* (non-Javadoc)
* @see org.apache.cocoon.components.modules.input.InputModule#getAttributeNames(org.apache.avalon.framework.configuration.Configuration, java.util.Map)
*/
@SuppressWarnings("unchecked")
@Override
public Iterator getAttributeNames(Configuration modeConf, Map objectModel) throws ConfigurationException {
ArrayList<String> al = new ArrayList<String>(1);
al.add("allrequest"); //$NON-NLS-1$
return al.iterator();
}
/* (non-Javadoc)
* @see org.apache.cocoon.components.modules.input.InputModule#getAttributeValues(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)
*/
@SuppressWarnings("unchecked")
@Override
public Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel) throws ConfigurationException {
StringBuffer rp = new StringBuffer();
Request req = ObjectModelHelper.getRequest(objectModel);
Enumeration enume = req.getParameterNames();
while (enume.hasMoreElements()) {
String attrName = (String) enume.nextElement();
rp.append(attrName).append("=").append(req.getParameter(attrName).toString()); //$NON-NLS-1$
if (enume.hasMoreElements()) rp.append("&"); //$NON-NLS-1$
}
return new Object[] {rp.toString()};
}
}