1 21 22 package org.opensubsystems.core.www; 23 24 import java.util.Iterator ; 25 import java.util.List ; 26 27 import javax.servlet.jsp.JspException ; 28 import javax.servlet.jsp.tagext.TagSupport ; 29 30 import org.opensubsystems.core.util.Messages; 31 32 48 public class MessageTag extends TagSupport 49 { 50 52 55 public static final String MESSAGES_REQUEST_PARAM = "messages"; 56 57 59 62 private static final long serialVersionUID = 9202964907351336679L; 63 64 69 protected String m_strId; 70 71 74 protected String m_strCssclass; 75 76 81 protected String m_strEmpty; 82 83 85 88 public MessageTag() 89 { 90 super(); 91 92 m_strId = ""; 93 m_strCssclass = "clsMessages"; 94 } 95 96 98 101 public int doStartTag( 102 ) throws JspException 103 { 104 Messages msgs = (Messages)pageContext.getRequest().getAttribute( 105 MessageTag.MESSAGES_REQUEST_PARAM); 106 107 if ((msgs != null) || (isEmptyArea())) 108 { 109 List lstErrors = null; 110 List lstInfos = null; 111 boolean bErrors; 112 boolean bInfo; 113 114 if (msgs != null) 115 { 116 lstErrors = msgs.getAllErrorMessages(); 117 lstInfos = msgs.getInfoMessages(); 118 } 119 bErrors = ((lstErrors != null) && (!lstErrors.isEmpty())); 120 bInfo = ((lstInfos != null) && (!lstInfos.isEmpty())); 121 122 if ((bErrors) || (bInfo) || (isEmptyArea())) 123 { 124 Iterator iterator; 125 String strMessage; 126 StringBuffer sbHtml = null; 127 128 sbHtml = new StringBuffer (); 129 sbHtml.append("<div id=\""); 130 sbHtml.append(m_strId); 131 sbHtml.append("\""); 132 if ((m_strCssclass != null) && (m_strCssclass.length() > 0)) 133 { 134 sbHtml.append(" class=\""); 135 sbHtml.append(m_strCssclass); 136 if ((msgs == null) 137 || (((lstErrors == null) || (lstErrors.isEmpty())) 138 && ((lstInfos == null) || (lstInfos.isEmpty())))) 139 { 140 sbHtml.append("Empty"); 141 } 142 sbHtml.append("\""); 143 } 144 sbHtml.append(">"); 145 146 if ((bErrors) || (isEmptyArea())) 147 { 148 sbHtml.append("<div id=\""); 149 sbHtml.append(m_strId); 150 sbHtml.append("error\""); 151 if ((m_strCssclass != null) && (m_strCssclass.length() > 0)) 152 { 153 sbHtml.append(" class=\""); 154 sbHtml.append(m_strCssclass); 155 sbHtml.append("Error\""); 156 } 157 sbHtml.append(">"); 158 159 if (lstErrors != null) 160 { 161 for (iterator = lstErrors.iterator(); iterator.hasNext();) 162 { 163 strMessage = (String ) iterator.next(); 164 sbHtml.append("<div>"); 165 sbHtml.append(strMessage); 166 sbHtml.append("</div>\n"); 167 } 168 } 169 170 sbHtml.append("</div>\n"); 171 } 172 if ((bInfo) || (isEmptyArea())) 173 { 174 sbHtml.append("<div id=\""); 175 sbHtml.append(m_strId); 176 sbHtml.append("info\""); 177 if ((m_strCssclass != null) && (m_strCssclass.length() > 0)) 178 { 179 sbHtml.append(" class=\""); 180 sbHtml.append(m_strCssclass); 181 sbHtml.append("Info\""); 182 } 183 sbHtml.append(">"); 184 185 if (lstInfos != null) 186 { 187 for (iterator = lstInfos.iterator(); iterator.hasNext();) 188 { 189 strMessage = (String ) iterator.next(); 190 sbHtml.append("<div>"); 191 sbHtml.append(strMessage); 192 sbHtml.append("</div>\n"); 193 } 194 } 195 196 sbHtml.append("</div>\n"); 197 } 198 sbHtml.append("</div>\n"); 199 TagUtils.write(pageContext, sbHtml.toString()); 200 } 201 } 202 203 return (SKIP_BODY); 204 } 205 206 209 public int doEndTag( 210 ) throws JspException 211 { 212 return (EVAL_PAGE); 213 } 214 215 221 public String getId( 222 ) 223 { 224 return m_strId; 225 } 226 227 233 public String getCssclass( 234 ) 235 { 236 return m_strCssclass; 237 } 238 239 245 public void setId( 246 String string 247 ) 248 { 249 m_strId = string; 250 } 251 252 258 public void setCssclass(String string) 259 { 260 m_strCssclass = string; 261 } 262 263 267 public String getEmpty( 268 ) 269 { 270 return m_strEmpty; 271 } 272 273 277 public void setEmpty( 278 String strEmpty 279 ) 280 { 281 m_strEmpty = strEmpty; 282 } 283 284 288 public void setEmpty( 289 boolean bEmpty 290 ) 291 { 292 m_strEmpty = Boolean.toString(bEmpty); 293 } 294 295 298 public boolean isEmptyArea( 299 ) 300 { 301 return ((Boolean.TRUE.toString().equalsIgnoreCase(m_strEmpty)) 302 || ("1".equals(m_strEmpty))); 303 } 304 } 305 | Popular Tags |