1 16 package org.apache.cocoon.matching; 17 18 import org.apache.avalon.framework.configuration.Configurable; 19 import org.apache.avalon.framework.configuration.Configuration; 20 import org.apache.avalon.framework.configuration.ConfigurationException; 21 import org.apache.avalon.framework.parameters.Parameters; 22 23 import org.apache.cocoon.environment.ObjectModelHelper; 24 25 import java.util.Map ; 26 27 40 public class WildcardHeaderMatcher extends AbstractWildcardMatcher 41 implements Configurable 42 { 43 private String defaultParam; 44 45 public void configure(Configuration config) throws ConfigurationException { 46 this.defaultParam = config.getChild("parameter-name").getValue(null); 48 if (defaultParam != null) { 49 getLogger().warn("'parameter-name' is deprecated. Please use 'header-name'"); 50 } 51 this.defaultParam = config.getChild("header-name").getValue(this.defaultParam); 53 } 54 55 protected String getMatchString(Map objectModel, Parameters parameters) { 56 57 String paramName = parameters.getParameter("parameter-name", null); 59 if (paramName != null) { 60 getLogger().warn("'parameter-name' is deprecated. Please use 'header-name'"); 61 } else { 62 paramName = this.defaultParam; 63 } 64 65 paramName = parameters.getParameter("header-name", paramName); 67 68 if (paramName == null) { 69 getLogger().warn("No header name given. FAILING"); 70 return null; 71 } 72 73 String result = ObjectModelHelper.getRequest(objectModel).getHeader(paramName); 74 if (result == null) { 75 getLogger().debug("Header '" + paramName + "' not set."); 76 } 77 78 return result; 79 } 80 } 81 | Popular Tags |