1 16 package org.apache.webapp.balancer.rules; 17 18 import javax.servlet.http.HttpServletRequest ; 19 import javax.servlet.http.HttpSession ; 20 21 22 29 public class SessionAttributeRule extends BaseRule { 30 34 private String attributeName; 35 36 42 private Object attributeValue; 43 44 49 public void setAttributeName(String theAttributeName) { 50 if (theAttributeName == null) { 51 throw new IllegalArgumentException ( 52 "attributeName cannot be null."); 53 } else { 54 attributeName = theAttributeName; 55 } 56 } 57 58 63 protected String getAttributeName() { 64 return attributeName; 65 } 66 67 72 public void setAttributeValue(Object theAttributeValue) { 73 attributeValue = theAttributeValue; 74 } 75 76 82 protected Object getAttributeValue() { 83 return attributeValue; 84 } 85 86 89 public boolean matches(HttpServletRequest request) { 90 HttpSession session = request.getSession(); 91 Object actualAttributeValue = session.getAttribute(getAttributeName()); 92 93 if (actualAttributeValue == null) { 94 return (getAttributeValue() == null); 95 } else { 96 return (actualAttributeValue.equals(getAttributeValue())); 97 } 98 } 99 100 105 public String toString() { 106 StringBuffer buffer = new StringBuffer (); 107 108 buffer.append("["); 109 buffer.append(getClass().getName()); 110 buffer.append(": "); 111 112 buffer.append("Target attribute name: "); 113 buffer.append(getAttributeName()); 114 buffer.append(" / "); 115 116 buffer.append("Target attribute value: "); 117 buffer.append(getAttributeValue()); 118 buffer.append(" / "); 119 120 buffer.append("Redirect URL: "); 121 buffer.append(getRedirectUrl()); 122 123 buffer.append("]"); 124 125 return buffer.toString(); 126 } 127 } 128 129 130 | Popular Tags |