}
if (state.equals("addrole") == true) {
String role = request.getParameter(REQ_PARAMETER_ROLE);
if (role != null && role.trim().length() > 0) {
SourceParameters pars = new SourceParameters();
// first include all request parameters
Enumeration requestParameters = request.getParameterNames();
String current;
while (requestParameters.hasMoreElements() == true) {
current = (String)requestParameters.nextElement();
pars.setParameter(current, request.getParameter(current));
}
this.addRole(role, pars, handler);
} else {
role = null;
}
session.removeAttribute(SESSION_CONTEXT_ATTRIBUTE_ADMIN_ROLE);
}
if (state.equals("delrole") == true) {
try {
String role = request.getParameter(REQ_PARAMETER_ROLE);
if (role != null) {
// first delete user
Document userDF = this.getUsers(role, null, handler);
NodeList users = null;
if (userDF != null) users = DOMUtil.selectNodeList(userDF, "users/user", this.xpathProcessor);
if (users != null) {
for(int i = 0; i < users.getLength(); i++) {
this.deleteUser(role, DOMUtil.getValueOf(users.item(i), "ID", this.xpathProcessor), null, handler);
}
}
this.deleteRole(role, null, handler);
}
session.removeAttribute(SESSION_CONTEXT_ATTRIBUTE_ADMIN_ROLE);
} catch (javax.xml.transform.TransformerException local) {
throw new ProcessingException("TransformerException: " + local, local);
}
}
if (state.equals("chguser") == true) {
String role;
String id;
String user;
if (isAdmin == false) {
Map pars = context.getContextInfo();
id = (String) pars.get("ID");
role = (String) pars.get("role");
user = "old";
} else {
role = request.getParameter(REQ_PARAMETER_ROLE);
id = request.getParameter(REQ_PARAMETER_ID);
user = request.getParameter(REQ_PARAMETER_USER);
}
boolean addingNewUserFailed = false;
if (role != null && id != null && user != null) {
if (user.equals("new") == true) {
SourceParameters pars = new SourceParameters();
// first include all request parameters
Enumeration requestParameters = request.getParameterNames();
String current;
while (requestParameters.hasMoreElements() == true) {
current = (String)requestParameters.nextElement();
pars.setParameter(current, request.getParameter(current));
}
addingNewUserFailed = !this.addUser(role, id, pars, handler);
if (addingNewUserFailed == false) {
consumer.startElement("", "addeduser", "addeduser", attr);
consumer.characters(id.toCharArray(), 0, id.length());
consumer.endElement("", "addeduser", "addeduser");
}
} else {
String delete = request.getParameter("authdeluser");
if (delete != null && delete.equals("true") == true) {
this.deleteUser(role, id, null, handler);
} else {
SourceParameters pars = new SourceParameters();
// first include all request parameters
Enumeration requestParameters = request.getParameterNames();
String current;
while (requestParameters.hasMoreElements() == true) {
current = (String)requestParameters.nextElement();
pars.setParameter(current, request.getParameter(current));
}
this.changeUser(role, id, pars, handler);
}
}
session.removeAttribute(SESSION_CONTEXT_ATTRIBUTE_ADMIN_ROLE);
}
if (addingNewUserFailed == false) {
state = (isAdmin == true ? "adduser" : "seluser");
} else {
state = "erruser";
}
}
if (state.equals("seluser") == true) {
String role;
String id;
if (isAdmin == false) {
Map pars = context.getContextInfo();
id = (String) pars.get("ID");
role = (String) pars.get("role");
} else {
role = request.getParameter(REQ_PARAMETER_ROLE);
id = request.getParameter(REQ_PARAMETER_ID);
}
if (role != null && id != null) {
session.setAttribute(SESSION_CONTEXT_ATTRIBUTE_ADMIN_ROLE, role);
// include users
Document userDF = this.getUsers(role, id, handler);
Element users = null;
try {
if (userDF != null) users = (Element)DOMUtil.getSingleNode(userDF, "users/user", this.xpathProcessor);
} catch (javax.xml.transform.TransformerException local) {
throw new ProcessingException("TransformerException: " + local, local);
}
consumer.startElement("", "uservalues", "uservalues", attr);
if (users != null && users.hasChildNodes() == true) {
NodeList childs = users.getChildNodes();
for(int i = 0; i < childs.getLength(); i++) {
if (childs.item(i).getNodeType() == Node.ELEMENT_NODE)
IncludeXMLConsumer.includeNode(childs.item(i), consumer, consumer);
}
}
consumer.endElement("", "uservalues", "uservalues");
}
consumer.startElement("", "user", "user", attr);
consumer.characters("old".toCharArray(), 0, 3);
consumer.endElement("", "user", "user");
if (isAdmin == false) {
consumer.startElement("", "role", "role", attr);
consumer.characters(role.toCharArray(), 0, role.length());
consumer.endElement("", "role", "role");
}
}
if (state.equals("erruser") == true) {
String role;
String id;
if (isAdmin == false) {
Map pars = context.getContextInfo();
id = (String) pars.get("ID");
role = (String) pars.get("role");
} else {
role = request.getParameter(REQ_PARAMETER_ROLE);
id = request.getParameter(REQ_PARAMETER_ID);
}
if (role != null && id != null) {