1 92 package com.ivata.groupware.web.tag; 93 94 import javax.servlet.http.HttpSession ; 95 import javax.servlet.jsp.JspException ; 96 import javax.servlet.jsp.tagext.TagSupport ; 97 98 import org.picocontainer.PicoContainer; 99 100 import com.ivata.groupware.admin.security.Security; 101 import com.ivata.groupware.admin.security.server.SecuritySession; 102 import com.ivata.groupware.admin.security.user.UserDO; 103 import com.ivata.groupware.admin.setting.Settings; 104 import com.ivata.mask.util.SystemException; 105 106 107 163 public class SetSettingTag extends TagSupport { 164 167 private String setting = null; 168 171 private String userName = null; 172 175 private Object value = null; 176 177 181 public SetSettingTag() { 182 super(); 183 } 184 185 192 public int doEndTag() { 193 return EVAL_PAGE; 195 } 196 197 209 public int doStartTag() throws JspException { 210 HttpSession session = pageContext.getSession(); 212 SecuritySession securitySession = (SecuritySession) 213 session.getAttribute("securitySession"); 214 215 if(securitySession == null) { 216 throw new JspException ("Error in SetSettingTag: no security session object was set in the servlet session"); 217 } 218 PicoContainer container = securitySession.getContainer(); 219 Settings settings = (Settings) container.getComponentInstance(Settings.class); 220 Security security = (Security) container.getComponentInstance(Security.class); 221 222 try { 223 UserDO user = userName == null ? null : security.findUserByName(securitySession, userName); 224 settings.amendSetting(securitySession, setting, value, user); 225 } catch(SystemException e) { 226 throw new JspException (e); 227 } 228 return SKIP_BODY; 230 } 231 232 240 public final String getSetting() { 241 return setting; 242 } 243 244 253 public final String getUserName() { 254 return userName; 255 } 256 257 268 public final Object getValue() { 269 return value; 270 } 271 272 280 public final void setSetting(final String setting) { 281 this.setting = setting; 282 } 283 284 293 public final void setUserName(final String userName) { 294 this.userName = userName; 295 } 296 297 308 public final void setValue(final Object value) { 309 this.value = value; 310 } 311 } 312 | Popular Tags |