From 323ecfce2368aa48f18f2f8f1d7f8b44a068df7d Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Mon, 21 Jun 2021 16:13:18 +0200 Subject: [PATCH] [Minor] trimming of strings in privilege from import and update --- .../json/PrivilegeElementFromJsonVisitor.java | 26 +++++++++---------- .../xml/CertificateStubsSaxReader.java | 18 ++++++------- .../xml/PrivilegeConfigSaxReader.java | 20 +++++++------- .../xml/PrivilegeRolesSaxReader.java | 16 ++++++------ .../xml/PrivilegeUsersSaxReader.java | 12 +++++---- 5 files changed, 47 insertions(+), 45 deletions(-) diff --git a/li.strolch.model/src/main/java/li/strolch/model/json/PrivilegeElementFromJsonVisitor.java b/li.strolch.model/src/main/java/li/strolch/model/json/PrivilegeElementFromJsonVisitor.java index 8d091e670..be7c8d54d 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/json/PrivilegeElementFromJsonVisitor.java +++ b/li.strolch.model/src/main/java/li/strolch/model/json/PrivilegeElementFromJsonVisitor.java @@ -30,7 +30,7 @@ public class PrivilegeElementFromJsonVisitor { JsonElement nameE = jsonObject.get("name"); JsonElement privilegesE = jsonObject.get("privileges"); - String name = nameE == null ? null : nameE.getAsString(); + String name = nameE == null ? null : nameE.getAsString().trim(); List privileges = new ArrayList<>(); if (privilegesE != null) { @@ -51,15 +51,15 @@ public class PrivilegeElementFromJsonVisitor { JsonElement denyListE = privilegeJ.get("denyList"); JsonElement allowListE = privilegeJ.get("allowList"); - String privilegeName = privilegeNameE == null ? null : privilegeNameE.getAsString(); - String policy = policyE == null ? null : policyE.getAsString(); + String privilegeName = privilegeNameE == null ? null : privilegeNameE.getAsString().trim(); + String policy = policyE == null ? null : policyE.getAsString().trim(); boolean allAllowed = allAllowedE != null && allAllowedE.getAsBoolean(); Set denyList = new HashSet<>(); if (denyListE != null) { JsonArray denyListArr = denyListE.getAsJsonArray(); for (JsonElement denyValueE : denyListArr) { - denyList.add(denyValueE.getAsString()); + denyList.add(denyValueE.getAsString().trim()); } } @@ -67,7 +67,7 @@ public class PrivilegeElementFromJsonVisitor { if (allowListE != null) { JsonArray allowListArr = allowListE.getAsJsonArray(); 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 propertiesE = jsonObject.get("properties"); - String userId = userIdE == null ? null : userIdE.getAsString(); - String username = userNameE == null ? null : userNameE.getAsString(); - String firstname = firstNameE == null ? null : firstNameE.getAsString(); - String lastname = lastNameE == null ? null : lastNameE.getAsString(); - UserState userState = userStateE == null ? null : UserState.valueOf(userStateE.getAsString()); - Locale locale = localeE == null ? null : new Locale(localeE.getAsString()); + String userId = userIdE == null ? null : userIdE.getAsString().trim(); + String username = userNameE == null ? null : userNameE.getAsString().trim(); + String firstname = firstNameE == null ? null : firstNameE.getAsString().trim(); + String lastname = lastNameE == null ? null : lastNameE.getAsString().trim(); + UserState userState = userStateE == null ? null : UserState.valueOf(userStateE.getAsString().trim()); + Locale locale = localeE == null ? null : new Locale(localeE.getAsString().trim()); Set roles = null; if (rolesE != null) { roles = new HashSet<>(); JsonArray rolesArr = rolesE.getAsJsonArray(); for (JsonElement role : rolesArr) { - roles.add(role.getAsString()); + roles.add(role.getAsString().trim()); } } @@ -107,7 +107,7 @@ public class PrivilegeElementFromJsonVisitor { JsonArray propertiesArr = propertiesE.getAsJsonArray(); for (JsonElement propertyE : propertiesArr) { 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()); } } diff --git a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/CertificateStubsSaxReader.java b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/CertificateStubsSaxReader.java index 2785a7a7e..1a3d5d7a1 100644 --- a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/CertificateStubsSaxReader.java +++ b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/CertificateStubsSaxReader.java @@ -61,15 +61,15 @@ public class CertificateStubsSaxReader extends DefaultHandler { case XML_CERTIFICATE: CertificateStub stub = new CertificateStub(); - stub.usage = Usage.valueOf(attributes.getValue(XML_ATTR_USAGE)); - stub.sessionId = attributes.getValue(XML_ATTR_SESSION_ID); - stub.username = attributes.getValue(XML_ATTR_USERNAME); - stub.authToken = attributes.getValue(XML_ATTR_AUTH_TOKEN); - stub.source = attributes.getValue(XML_ATTR_SOURCE); - stub.locale = Locale.forLanguageTag(attributes.getValue(XML_ATTR_LOCALE)); - stub.loginTime = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LOGIN_TIME)); - stub.lastAccess = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LAST_ACCESS)); - stub.keepAlive = Boolean.parseBoolean(attributes.getValue(XML_ATTR_KEEP_ALIVE)); + stub.usage = Usage.valueOf(attributes.getValue(XML_ATTR_USAGE).trim()); + stub.sessionId = attributes.getValue(XML_ATTR_SESSION_ID).trim(); + stub.username = attributes.getValue(XML_ATTR_USERNAME).trim(); + stub.authToken = attributes.getValue(XML_ATTR_AUTH_TOKEN).trim(); + stub.source = attributes.getValue(XML_ATTR_SOURCE).trim(); + stub.locale = Locale.forLanguageTag(attributes.getValue(XML_ATTR_LOCALE).trim()); + stub.loginTime = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LOGIN_TIME).trim()); + stub.lastAccess = ISO8601.parseToZdt(attributes.getValue(XML_ATTR_LAST_ACCESS).trim()); + stub.keepAlive = Boolean.parseBoolean(attributes.getValue(XML_ATTR_KEEP_ALIVE).trim()); DBC.INTERIM.assertNotEmpty("sessionId missing on sessions data!", stub.sessionId); DBC.INTERIM.assertNotEmpty("username missing on sessions data!", stub.username); diff --git a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeConfigSaxReader.java b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeConfigSaxReader.java index 9ee821f67..dea8ad93c 100644 --- a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeConfigSaxReader.java +++ b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeConfigSaxReader.java @@ -100,37 +100,37 @@ public class PrivilegeConfigSaxReader extends DefaultHandler { break; case XmlConstants.XML_HANDLER_ENCRYPTION: { this.currentElement = qName; - String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); + String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim(); getContainerModel().setEncryptionHandlerClassName(className); break; } case XmlConstants.XML_HANDLER_PASSWORD_STRENGTH: { this.currentElement = qName; - String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); + String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim(); getContainerModel().setPasswordStrengthHandlerClassName(className); break; } case XmlConstants.XML_HANDLER_PERSISTENCE: { this.currentElement = qName; - String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); + String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim(); getContainerModel().setPersistenceHandlerClassName(className); break; } case XmlConstants.XML_HANDLER_USER_CHALLENGE: { this.currentElement = qName; - String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); + String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim(); getContainerModel().setUserChallengeHandlerClassName(className); break; } case XmlConstants.XML_HANDLER_SSO: { this.currentElement = qName; - String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); + String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim(); getContainerModel().setSsoHandlerClassName(className); break; } case XmlConstants.XML_HANDLER_PRIVILEGE: { this.currentElement = qName; - String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS); + String className = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim(); getContainerModel().setPrivilegeHandlerClassName(className); break; } @@ -180,8 +180,8 @@ public class PrivilegeConfigSaxReader extends DefaultHandler { public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if (qName.equals(XmlConstants.XML_PARAMETER)) { - String key = attributes.getValue(XmlConstants.XML_ATTR_NAME); - String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE); + String key = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim(); + String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE).trim(); 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) throws SAXException { if (qName.equals(XmlConstants.XML_POLICY)) { - String policyName = attributes.getValue(XmlConstants.XML_ATTR_NAME); - String policyClassName = attributes.getValue(XmlConstants.XML_ATTR_CLASS); + String policyName = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim(); + String policyClassName = attributes.getValue(XmlConstants.XML_ATTR_CLASS).trim(); getContainerModel().addPolicy(policyName, policyClassName); } diff --git a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeRolesSaxReader.java b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeRolesSaxReader.java index add887bce..fc692139e 100644 --- a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeRolesSaxReader.java +++ b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeRolesSaxReader.java @@ -36,9 +36,9 @@ public class PrivilegeRolesSaxReader extends DefaultHandler { protected static final Logger logger = LoggerFactory.getLogger(PrivilegeRolesSaxReader.class); - private Deque buildersStack = new ArrayDeque<>(); + private final Deque buildersStack = new ArrayDeque<>(); - private List roles; + private final List roles; public PrivilegeRolesSaxReader() { this.roles = new ArrayList<>(); @@ -135,10 +135,10 @@ public class PrivilegeRolesSaxReader extends DefaultHandler { this.text = new StringBuilder(); 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)) { - this.privilegeName = attributes.getValue(XmlConstants.XML_ATTR_NAME); - this.privilegePolicy = attributes.getValue(XmlConstants.XML_ATTR_POLICY); + this.privilegeName = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim(); + this.privilegePolicy = attributes.getValue(XmlConstants.XML_ATTR_POLICY).trim(); } else if (qName.equals(XmlConstants.XML_ALLOW) || qName.equals(XmlConstants.XML_DENY) || qName .equals(XmlConstants.XML_ALL_ALLOWED)) { // no-op @@ -185,7 +185,7 @@ public class PrivilegeRolesSaxReader extends DefaultHandler { } } - class PropertyParser extends ElementParserAdapter { + static class PropertyParser extends ElementParserAdapter { // @@ -195,8 +195,8 @@ public class PrivilegeRolesSaxReader extends DefaultHandler { public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if (qName.equals(XmlConstants.XML_PROPERTY)) { - String key = attributes.getValue(XmlConstants.XML_ATTR_NAME); - String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE); + String key = attributes.getValue(XmlConstants.XML_ATTR_NAME).trim(); + String value = attributes.getValue(XmlConstants.XML_ATTR_VALUE).trim(); this.parameterMap.put(key, value); } else if (qName.equals(XmlConstants.XML_PROPERTIES)) { // NO-OP diff --git a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeUsersSaxReader.java b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeUsersSaxReader.java index 41911c2ae..3f4d0da4e 100644 --- a/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeUsersSaxReader.java +++ b/li.strolch.privilege/src/main/java/li/strolch/privilege/xml/PrivilegeUsersSaxReader.java @@ -139,8 +139,8 @@ public class PrivilegeUsersSaxReader extends DefaultHandler { this.text = new StringBuilder(); if (qName.equals(XML_USER)) { - this.userId = attributes.getValue(XML_ATTR_USER_ID); - this.username = attributes.getValue(XML_ATTR_USERNAME); + this.userId = attributes.getValue(XML_ATTR_USER_ID).trim(); + this.username = attributes.getValue(XML_ATTR_USERNAME).trim(); String password = attributes.getValue(XML_ATTR_PASSWORD); String salt = attributes.getValue(XML_ATTR_SALT); @@ -153,11 +153,13 @@ public class PrivilegeUsersSaxReader extends DefaultHandler { private void parsePassword(String passwordS, String salt) { if (StringHelper.isNotEmpty(salt)) - this.salt = StringHelper.fromHexString(salt); + this.salt = StringHelper.fromHexString(salt.trim()); if (StringHelper.isEmpty(passwordS)) return; + passwordS = passwordS.trim(); + if (!passwordS.startsWith("$")) { this.password = StringHelper.fromHexString(passwordS); } else { @@ -287,8 +289,8 @@ public class PrivilegeUsersSaxReader extends DefaultHandler { switch (qName) { case XML_PROPERTY: - String key = attributes.getValue(XML_ATTR_NAME); - String value = attributes.getValue(XML_ATTR_VALUE); + String key = attributes.getValue(XML_ATTR_NAME).trim(); + String value = attributes.getValue(XML_ATTR_VALUE).trim(); this.parameterMap.put(key, value); break;