Changeset 25124
- Timestamp:
- 2012-02-21T16:22:47+13:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/Authentication.java
r24978 r25124 9 9 import org.w3c.dom.NodeList; 10 10 11 import java.util.HashMap; 11 12 import java.util.Vector; 12 13 import java.sql.SQLException; … … 19 20 //the services on offer 20 21 protected static final String AUTHENTICATION_SERVICE = "Authentication"; 22 protected static final String GET_USER_INFORMATION_SERVICE = "GetUserInformation"; 21 23 22 24 /** constructor */ … … 36 38 this.short_service_info.appendChild(authentication_service); 37 39 40 // set up Authentication service info - for now just has name and type 41 Element getUserInformation_service = this.doc.createElement(GSXML.SERVICE_ELEM); 42 getUserInformation_service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 43 getUserInformation_service.setAttribute(GSXML.NAME_ATT, GET_USER_INFORMATION_SERVICE); 44 this.short_service_info.appendChild(getUserInformation_service); 45 38 46 return true; 39 47 } … … 49 57 authen_service.setAttribute(GSXML.NAME_ATT, AUTHENTICATION_SERVICE); 50 58 } 59 else if (service_id.equals(GET_USER_INFORMATION_SERVICE)) 60 { 61 authen_service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 62 authen_service.setAttribute(GSXML.NAME_ATT, GET_USER_INFORMATION_SERVICE); 63 } 51 64 else 52 65 { … … 54 67 } 55 68 56 if (s ubset == null || subset.equals(GSXML.DISPLAY_TEXT_ELEM + GSXML.LIST_MODIFIER))69 if (service_id.equals(AUTHENTICATION_SERVICE) && (subset == null || subset.equals(GSXML.DISPLAY_TEXT_ELEM + GSXML.LIST_MODIFIER))) 57 70 { 58 71 authen_service.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getServiceName(service_id, lang))); … … 83 96 protected void createParameter(String name, Element param_list, String lang) 84 97 { 98 } 99 100 protected Element processGetUserInformation(Element request) 101 { 102 // Create a new (empty) result message 103 Element result = this.doc.createElement(GSXML.RESPONSE_ELEM); 104 105 result.setAttribute(GSXML.FROM_ATT, GET_USER_INFORMATION_SERVICE); 106 result.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_PROCESS); 107 108 Element paramList = (Element) GSXML.getChildByTagName(request, GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 109 if (paramList == null) 110 { 111 logger.error(GET_USER_INFORMATION_SERVICE + ": Param list does not exist "); 112 return null; 113 } 114 115 HashMap params = GSXML.extractParams(paramList, true); 116 117 String username = (String) params.get("username"); 118 119 if (username == null) 120 { 121 logger.error(GET_USER_INFORMATION_SERVICE + ": No username specified"); 122 return result; 123 } 124 125 DerbyWrapper dbWrapper = new DerbyWrapper(); 126 127 String usersDB_dir = this.site_home + File.separatorChar + "etc" + File.separatorChar + "usersDB"; 128 dbWrapper.connectDatabase(usersDB_dir, true); 129 130 UserQueryResult userQueryResult; 131 try 132 { 133 userQueryResult = dbWrapper.findUser(username); 134 Vector<UserTermInfo> terms = userQueryResult.getUserTerms(); 135 136 if (terms.size() == 0) 137 { 138 logger.error(GET_USER_INFORMATION_SERVICE + ": Requested user was not found"); 139 return result; 140 } 141 142 UserTermInfo userInfo = terms.get(0); 143 Element userInfoList = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 144 result.appendChild(userInfoList); 145 146 Element usernameField = GSXML.createParameter(this.doc, "username", userInfo.username_); 147 Element passwordField = GSXML.createParameter(this.doc, "password", userInfo.password_); 148 Element groupsField = GSXML.createParameter(this.doc, "groups", userInfo.groups_); 149 Element accountStatusField = GSXML.createParameter(this.doc, "accountstatus", userInfo.accountstatus_); 150 Element commentField = GSXML.createParameter(this.doc, "comment", userInfo.comment_); 151 152 userInfoList.appendChild(usernameField); 153 userInfoList.appendChild(passwordField); 154 userInfoList.appendChild(groupsField); 155 userInfoList.appendChild(accountStatusField); 156 userInfoList.appendChild(commentField); 157 } 158 catch (Exception ex) 159 { 160 ex.printStackTrace(); 161 } 162 163 return result; 85 164 } 86 165
Note:
See TracChangeset
for help on using the changeset viewer.