[Minor] trimming of strings in privilege from import and update

This commit is contained in:
Robert von Burg 2021-06-21 16:13:18 +02:00
parent 77a18aa5b1
commit 323ecfce23
5 changed files with 47 additions and 45 deletions

View File

@ -30,7 +30,7 @@ public class PrivilegeElementFromJsonVisitor {
JsonElement nameE = jsonObject.get("name"); JsonElement nameE = jsonObject.get("name");
JsonElement privilegesE = jsonObject.get("privileges"); JsonElement privilegesE = jsonObject.get("privileges");
String name = nameE == null ? null : nameE.getAsString(); String name = nameE == null ? null : nameE.getAsString().trim();
List<PrivilegeRep> privileges = new ArrayList<>(); List<PrivilegeRep> privileges = new ArrayList<>();
if (privilegesE != null) { if (privilegesE != null) {
@ -51,15 +51,15 @@ public class PrivilegeElementFromJsonVisitor {
JsonElement denyListE = privilegeJ.get("denyList"); JsonElement denyListE = privilegeJ.get("denyList");
JsonElement allowListE = privilegeJ.get("allowList"); JsonElement allowListE = privilegeJ.get("allowList");
String privilegeName = privilegeNameE == null ? null : privilegeNameE.getAsString(); String privilegeName = privilegeNameE == null ? null : privilegeNameE.getAsString().trim();
String policy = policyE == null ? null : policyE.getAsString(); String policy = policyE == null ? null : policyE.getAsString().trim();
boolean allAllowed = allAllowedE != null && allAllowedE.getAsBoolean(); boolean allAllowed = allAllowedE != null && allAllowedE.getAsBoolean();
Set<String> denyList = new HashSet<>(); Set<String> denyList = new HashSet<>();
if (denyListE != null) { if (denyListE != null) {
JsonArray denyListArr = denyListE.getAsJsonArray(); JsonArray denyListArr = denyListE.getAsJsonArray();
for (JsonElement denyValueE : denyListArr) { for (JsonElement denyValueE : denyListArr) {
denyList.add(denyValueE.getAsString()); denyList.add(denyValueE.getAsString().trim());
} }
} }
@ -67,7 +67,7 @@ public class PrivilegeElementFromJsonVisitor {
if (allowListE != null) { if (allowListE != null) {
JsonArray allowListArr = allowListE.getAsJsonArray(); JsonArray allowListArr = allowListE.getAsJsonArray();
for (JsonElement allowValueE : allowListArr) { for (JsonElement allowValueE : allowListArr) {
allowList.add(allowValueE.getAsString()); allowList.add(allowValueE.getAsString().trim());
} }
} }
@ -85,19 +85,19 @@ public class PrivilegeElementFromJsonVisitor {
JsonElement rolesE = jsonObject.get("roles"); JsonElement rolesE = jsonObject.get("roles");
JsonElement propertiesE = jsonObject.get("properties"); JsonElement propertiesE = jsonObject.get("properties");
String userId = userIdE == null ? null : userIdE.getAsString(); String userId = userIdE == null ? null : userIdE.getAsString().trim();
String username = userNameE == null ? null : userNameE.getAsString(); String username = userNameE == null ? null : userNameE.getAsString().trim();
String firstname = firstNameE == null ? null : firstNameE.getAsString(); String firstname = firstNameE == null ? null : firstNameE.getAsString().trim();
String lastname = lastNameE == null ? null : lastNameE.getAsString(); String lastname = lastNameE == null ? null : lastNameE.getAsString().trim();
UserState userState = userStateE == null ? null : UserState.valueOf(userStateE.getAsString()); UserState userState = userStateE == null ? null : UserState.valueOf(userStateE.getAsString().trim());
Locale locale = localeE == null ? null : new Locale(localeE.getAsString()); Locale locale = localeE == null ? null : new Locale(localeE.getAsString().trim());
Set<String> roles = null; Set<String> roles = null;
if (rolesE != null) { if (rolesE != null) {
roles = new HashSet<>(); roles = new HashSet<>();
JsonArray rolesArr = rolesE.getAsJsonArray(); JsonArray rolesArr = rolesE.getAsJsonArray();
for (JsonElement role : rolesArr) { for (JsonElement role : rolesArr) {
roles.add(role.getAsString()); roles.add(role.getAsString().trim());
} }
} }
@ -107,7 +107,7 @@ public class PrivilegeElementFromJsonVisitor {
JsonArray propertiesArr = propertiesE.getAsJsonArray(); JsonArray propertiesArr = propertiesE.getAsJsonArray();
for (JsonElement propertyE : propertiesArr) { for (JsonElement propertyE : propertiesArr) {
JsonObject property = propertyE.getAsJsonObject(); JsonObject property = propertyE.getAsJsonObject();
properties.put(property.get("key").getAsString(), property.get("value").getAsString()); properties.put(property.get("key").getAsString().trim(), property.get("value").getAsString().trim());
} }
} }

View File

@ -61,15 +61,15 @@ public class CertificateStubsSaxReader extends DefaultHandler {
case XML_CERTIFICATE: case XML_CERTIFICATE:
CertificateStub stub = new CertificateStub(); CertificateStub stub = new CertificateStub();
stub.usage = Usage.valueOf(attributes.getValue(XML_ATTR_USAGE)); stub.usage = Usage.valueOf(attributes.getValue(XML_ATTR_USAGE).trim());
stub.sessionId = attributes.getValue(XML_ATTR_SESSION_ID); stub.sessionId = attributes.getValue(XML_ATTR_SESSION_ID).trim();
stub.username = attributes.getValue(XML_ATTR_USERNAME); stub.username = attributes.getValue(XML_ATTR_USERNAME).trim();
stub.authToken = attributes.getValue(XML_ATTR_AUTH_TOKEN); stub.authToken = attributes.getValue(XML_ATTR_AUTH_TOKEN).trim();
stub.source = attributes.getValue(XML_ATTR_SOURCE); stub.source = attributes.getValue(XML_ATTR_SOURCE).trim();
stub.locale = Locale.forLanguageTag(attributes.getValue(XML_ATTR_LOCALE)); stub.locale = Locale.forLanguageTag(attributes.getValue(XML_ATTR_LOCALE).trim());
stub.loginTime = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LOGIN_TIME)); stub.loginTime = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LOGIN_TIME).trim());
stub.lastAccess = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LAST_ACCESS)); stub.lastAccess = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LAST_ACCESS).trim());
stub.keepAlive = Boolean.parseBoolean(attributes.getValue(XML_ATTR_KEEP_ALIVE)); stub.keepAlive = Boolean.parseBoolean(attributes.getValue(XML_ATTR_KEEP_ALIVE).trim());
DBC.INTERIM.assertNotEmpty("sessionId missing on sessions data!", stub.sessionId); DBC.INTERIM.assertNotEmpty("sessionId missing on sessions data!", stub.sessionId);
DBC.INTERIM.assertNotEmpty("username missing on sessions data!", stub.username); DBC.INTERIM.assertNotEmpty("username missing on sessions data!", stub.username);

View File

@ -100,37 +100,37 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
break; break;
case XmlConstants.XML_HANDLER_ENCRYPTION: { case XmlConstants.XML_HANDLER_ENCRYPTION: {
this.currentElement = qName; this.currentElement = qName;
String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim();
getContainerModel().setEncryptionHandlerClassName(className); getContainerModel().setEncryptionHandlerClassName(className);
break; break;
} }
case XmlConstants.XML_HANDLER_PASSWORD_STRENGTH: { case XmlConstants.XML_HANDLER_PASSWORD_STRENGTH: {
this.currentElement = qName; this.currentElement = qName;
String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim();
getContainerModel().setPasswordStrengthHandlerClassName(className); getContainerModel().setPasswordStrengthHandlerClassName(className);
break; break;
} }
case XmlConstants.XML_HANDLER_PERSISTENCE: { case XmlConstants.XML_HANDLER_PERSISTENCE: {
this.currentElement = qName; this.currentElement = qName;
String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim();
getContainerModel().setPersistenceHandlerClassName(className); getContainerModel().setPersistenceHandlerClassName(className);
break; break;
} }
case XmlConstants.XML_HANDLER_USER_CHALLENGE: { case XmlConstants.XML_HANDLER_USER_CHALLENGE: {
this.currentElement = qName; this.currentElement = qName;
String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim();
getContainerModel().setUserChallengeHandlerClassName(className); getContainerModel().setUserChallengeHandlerClassName(className);
break; break;
} }
case XmlConstants.XML_HANDLER_SSO: { case XmlConstants.XML_HANDLER_SSO: {
this.currentElement = qName; this.currentElement = qName;
String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim();
getContainerModel().setSsoHandlerClassName(className); getContainerModel().setSsoHandlerClassName(className);
break; break;
} }
case XmlConstants.XML_HANDLER_PRIVILEGE: { case XmlConstants.XML_HANDLER_PRIVILEGE: {
this.currentElement = qName; this.currentElement = qName;
String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim();
getContainerModel().setPrivilegeHandlerClassName(className); getContainerModel().setPrivilegeHandlerClassName(className);
break; break;
} }
@ -180,8 +180,8 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
public void startElement(String uri, String localName, String qName, Attributes attributes) public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException { throws SAXException {
if (qName.equals(XmlConstants.XML_PARAMETER)) { if (qName.equals(XmlConstants.XML_PARAMETER)) {
String key = attributes.getValue(XmlConstants.XML_ATTR_NAME); String key = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim();
String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE); String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE).trim();
this.parameterMap.put(key, value); this.parameterMap.put(key, value);
} }
} }
@ -202,8 +202,8 @@ public class PrivilegeConfigSaxReader extends DefaultHandler {
public void startElement(String uri, String localName, String qName, Attributes attributes) public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException { throws SAXException {
if (qName.equals(XmlConstants.XML_POLICY)) { if (qName.equals(XmlConstants.XML_POLICY)) {
String policyName = attributes.getValue(XmlConstants.XML_ATTR_NAME); String policyName = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim();
String policyClassName = attributes.getValue(XmlConstants.XML_ATTR_CLASS); String policyClassName = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim();
getContainerModel().addPolicy(policyName, policyClassName); getContainerModel().addPolicy(policyName, policyClassName);
} }

View File

@ -36,9 +36,9 @@ public class PrivilegeRolesSaxReader extends DefaultHandler {
protected static final Logger logger = LoggerFactory.getLogger(PrivilegeRolesSaxReader.class); protected static final Logger logger = LoggerFactory.getLogger(PrivilegeRolesSaxReader.class);
private Deque<ElementParser> buildersStack = new ArrayDeque<>(); private final Deque<ElementParser> buildersStack = new ArrayDeque<>();
private List<Role> roles; private final List<Role> roles;
public PrivilegeRolesSaxReader() { public PrivilegeRolesSaxReader() {
this.roles = new ArrayList<>(); this.roles = new ArrayList<>();
@ -135,10 +135,10 @@ public class PrivilegeRolesSaxReader extends DefaultHandler {
this.text = new StringBuilder(); this.text = new StringBuilder();
if (qName.equals(XmlConstants.XML_ROLE)) { if (qName.equals(XmlConstants.XML_ROLE)) {
this.roleName = attributes.getValue(XmlConstants.XML_ATTR_NAME); this.roleName = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim();
} else if (qName.equals(XmlConstants.XML_PRIVILEGE)) { } else if (qName.equals(XmlConstants.XML_PRIVILEGE)) {
this.privilegeName = attributes.getValue(XmlConstants.XML_ATTR_NAME); this.privilegeName = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim();
this.privilegePolicy = attributes.getValue(XmlConstants.XML_ATTR_POLICY); this.privilegePolicy = attributes.getValue(XmlConstants.XML_ATTR_POLICY).trim();
} else if (qName.equals(XmlConstants.XML_ALLOW) || qName.equals(XmlConstants.XML_DENY) || qName } else if (qName.equals(XmlConstants.XML_ALLOW) || qName.equals(XmlConstants.XML_DENY) || qName
.equals(XmlConstants.XML_ALL_ALLOWED)) { .equals(XmlConstants.XML_ALL_ALLOWED)) {
// no-op // no-op
@ -185,7 +185,7 @@ public class PrivilegeRolesSaxReader extends DefaultHandler {
} }
} }
class PropertyParser extends ElementParserAdapter { static class PropertyParser extends ElementParserAdapter {
// <Property name="organizationalUnit" value="Development" /> // <Property name="organizationalUnit" value="Development" />
@ -195,8 +195,8 @@ public class PrivilegeRolesSaxReader extends DefaultHandler {
public void startElement(String uri, String localName, String qName, Attributes attributes) public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException { throws SAXException {
if (qName.equals(XmlConstants.XML_PROPERTY)) { if (qName.equals(XmlConstants.XML_PROPERTY)) {
String key = attributes.getValue(XmlConstants.XML_ATTR_NAME); String key = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim();
String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE); String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE).trim();
this.parameterMap.put(key, value); this.parameterMap.put(key, value);
} else if (qName.equals(XmlConstants.XML_PROPERTIES)) { } else if (qName.equals(XmlConstants.XML_PROPERTIES)) {
// NO-OP // NO-OP

View File

@ -139,8 +139,8 @@ public class PrivilegeUsersSaxReader extends DefaultHandler {
this.text = new StringBuilder(); this.text = new StringBuilder();
if (qName.equals(XML_USER)) { if (qName.equals(XML_USER)) {
this.userId = attributes.getValue(XML_ATTR_USER_ID); this.userId = attributes.getValue(XML_ATTR_USER_ID).trim();
this.username = attributes.getValue(XML_ATTR_USERNAME); this.username = attributes.getValue(XML_ATTR_USERNAME).trim();
String password = attributes.getValue(XML_ATTR_PASSWORD); String password = attributes.getValue(XML_ATTR_PASSWORD);
String salt = attributes.getValue(XML_ATTR_SALT); String salt = attributes.getValue(XML_ATTR_SALT);
@ -153,11 +153,13 @@ public class PrivilegeUsersSaxReader extends DefaultHandler {
private void parsePassword(String passwordS, String salt) { private void parsePassword(String passwordS, String salt) {
if (StringHelper.isNotEmpty(salt)) if (StringHelper.isNotEmpty(salt))
this.salt = StringHelper.fromHexString(salt); this.salt = StringHelper.fromHexString(salt.trim());
if (StringHelper.isEmpty(passwordS)) if (StringHelper.isEmpty(passwordS))
return; return;
passwordS = passwordS.trim();
if (!passwordS.startsWith("$")) { if (!passwordS.startsWith("$")) {
this.password = StringHelper.fromHexString(passwordS); this.password = StringHelper.fromHexString(passwordS);
} else { } else {
@ -287,8 +289,8 @@ public class PrivilegeUsersSaxReader extends DefaultHandler {
switch (qName) { switch (qName) {
case XML_PROPERTY: case XML_PROPERTY:
String key = attributes.getValue(XML_ATTR_NAME); String key = attributes.getValue(XML_ATTR_NAME).trim();
String value = attributes.getValue(XML_ATTR_VALUE); String value = attributes.getValue(XML_ATTR_VALUE).trim();
this.parameterMap.put(key, value); this.parameterMap.put(key, value);
break; break;