1 23 24 package org.infoglue.cms.applications.managementtool.actions; 25 26 import java.util.List ; 27 28 import org.apache.log4j.Logger; 29 import org.dom4j.Document; 30 import org.dom4j.Node; 31 import org.infoglue.cms.applications.common.VisualFormatter; 32 import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction; 33 import org.infoglue.cms.controllers.kernel.impl.simple.ContentTypeDefinitionController; 34 import org.infoglue.cms.controllers.kernel.impl.simple.LanguageController; 35 import org.infoglue.cms.controllers.kernel.impl.simple.UserControllerProxy; 36 import org.infoglue.cms.controllers.kernel.impl.simple.UserPropertiesController; 37 import org.infoglue.cms.entities.management.ContentTypeDefinitionVO; 38 import org.infoglue.cms.entities.management.LanguageVO; 39 import org.infoglue.cms.entities.management.UserPropertiesVO; 40 import org.infoglue.cms.security.InfoGluePrincipal; 41 import org.infoglue.cms.util.dom.DOMBuilder; 42 43 public class ViewSystemUserPropertiesAction extends InfoGlueAbstractAction 44 { 45 private final static Logger logger = Logger.getLogger(ViewSystemUserPropertiesAction.class.getName()); 46 47 private static final long serialVersionUID = 1L; 48 49 private final String currentAction = "ViewSystemUserProperties.action"; 50 private final String updateAction = "UpdateSystemUserProperties"; 51 private final String labelKey = "SystemUser Properties"; 52 private final String title = "SystemUser Properties"; 53 private final String extraParameters = ""; 54 55 private String userName; 56 private UserPropertiesVO userPropertiesVO; 57 private List userPropertiesVOList; 58 private List availableLanguages; 59 private List contentTypeDefinitionVOList; 60 private List attributes; 61 private ContentTypeDefinitionVO contentTypeDefinitionVO; 62 private Integer contentTypeDefinitionId; 63 private Integer languageId; 64 private Integer currentEditorId; 65 private String attributeName = ""; 66 private String textAreaId = ""; 67 68 69 74 75 protected void initialize(String userName) throws Exception 76 { 77 this.availableLanguages = LanguageController.getController().getLanguageVOList(); 78 79 if(this.languageId == null && this.availableLanguages.size() > 0) 80 this.languageId = ((LanguageVO)this.availableLanguages.get(0)).getLanguageId(); 81 82 logger.info("Language:" + this.languageId); 83 84 List contentTypeDefinitionVOList = UserPropertiesController.getController().getContentTypeDefinitionVOList(userName); 85 if(contentTypeDefinitionVOList != null && contentTypeDefinitionVOList.size() > 0) 86 this.contentTypeDefinitionVO = (ContentTypeDefinitionVO)contentTypeDefinitionVOList.get(0); 87 88 logger.info("contentTypeDefinitionVO:" + contentTypeDefinitionVO.getName()); 89 90 InfoGluePrincipal infoGluePrincipal = UserControllerProxy.getController().getUser(userName); 91 userPropertiesVOList = UserPropertiesController.getController().getUserPropertiesVOList(userName, this.languageId); 92 if(userPropertiesVOList != null && userPropertiesVOList.size() > 0) 93 { 94 this.userPropertiesVO = (UserPropertiesVO)userPropertiesVOList.get(0); 95 this.contentTypeDefinitionId = this.userPropertiesVO.getLanguageId(); 96 } 97 else 98 { 99 this.contentTypeDefinitionId = this.contentTypeDefinitionVO.getContentTypeDefinitionId(); 100 } 101 102 this.attributes = ContentTypeDefinitionController.getController().getContentTypeAttributes(this.contentTypeDefinitionVO.getSchemaValue()); 103 104 logger.info("attributes:" + this.attributes.size()); 105 logger.info("availableLanguages:" + this.availableLanguages.size()); 106 } 107 108 public String doExecute() throws Exception 109 { 110 this.initialize(getUserName()); 111 112 return "success"; 113 } 114 115 119 120 public String getAttributeValue(String key) 121 { 122 logger.info("Getting: " + key); 123 String value = ""; 124 try 125 { 126 String xml = this.getXML(); 127 if(xml != null) 128 { 129 logger.info("key:" + key); 130 logger.info("XML:" + this.getXML()); 131 132 DOMBuilder domBuilder = new DOMBuilder(); 133 134 Document document = domBuilder.getDocument(this.getXML()); 135 logger.info("rootElement:" + document.getRootElement().asXML()); 136 137 Node node = document.getRootElement().selectSingleNode("attributes/" + key); 138 if(node != null) 139 { 140 value = node.getStringValue(); 141 logger.info("Getting value: " + value); 142 if(value != null) 143 value = new VisualFormatter().escapeHTML(value); 144 } 145 } 146 } 147 catch(Exception e) 148 { 149 e.printStackTrace(); 150 } 151 152 return value; 153 } 154 155 public List getAvailableLanguages() 156 { 157 return this.availableLanguages; 158 } 159 160 public Integer getContentTypeDefinitionId() 161 { 162 return this.contentTypeDefinitionId; 163 } 164 165 public UserPropertiesVO getUserPropertiesVO() 166 { 167 return userPropertiesVO; 168 } 169 170 public String getExtraParameters() 171 { 172 return extraParameters; 173 } 174 175 public String getLabelKey() 176 { 177 return labelKey; 178 } 179 180 public String getTitle() 181 { 182 return title; 183 } 184 185 public String getUpdateAction() 186 { 187 return updateAction; 188 } 189 190 public String getCurrentAction() 191 { 192 return currentAction; 193 } 194 195 public String getXML() 196 { 197 return (this.userPropertiesVO == null) ? null : this.userPropertiesVO.getValue(); 198 } 199 200 public Integer getLanguageId() 201 { 202 return languageId; 203 } 204 205 public void setLanguageId(Integer languageId) 206 { 207 this.languageId = languageId; 208 } 209 210 public Integer getCurrentEditorId() 211 { 212 return currentEditorId; 213 } 214 215 public void setCurrentEditorId(Integer integer) 216 { 217 currentEditorId = integer; 218 } 219 220 public String getAttributeName() 221 { 222 return this.attributeName; 223 } 224 225 public void setAttributeName(String attributeName) 226 { 227 this.attributeName = attributeName; 228 } 229 230 public String getTextAreaId() 231 { 232 return this.textAreaId; 233 } 234 235 public void setTextAreaId(String textAreaId) 236 { 237 this.textAreaId = textAreaId; 238 } 239 240 243 244 public List getContentTypeAttributes() 245 { 246 return this.attributes; 247 } 248 249 public String getUserName() 250 { 251 return this.userName; 252 } 253 254 public void setUserName(String userName) 255 { 256 this.userName = userName; 257 } 258 259 } 260 | Popular Tags |