From 1ff6e276b430f728c62514574aa63cf71d10f6cc Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 7 Jun 2022 12:51:39 +0200 Subject: [PATCH] Remove strong dependencies to various classes not supported by Android --- .../org/argeo/cms/acr/fs/SyncFileVisitor.java | 12 +++++----- .../org/argeo/cms/acr/xml/XmlNormalizer.java | 6 ++--- .../argeo/cms/internal/osgi/DeployConfig.java | 17 +++++++------- .../cms/internal/runtime/CmsUserAdmin.java | 23 ++++++++----------- 4 files changed, 26 insertions(+), 32 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/acr/fs/SyncFileVisitor.java b/org.argeo.cms/src/org/argeo/cms/acr/fs/SyncFileVisitor.java index 1370702cb..2a372878c 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/fs/SyncFileVisitor.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/fs/SyncFileVisitor.java @@ -1,13 +1,13 @@ package org.argeo.cms.acr.fs; -import java.lang.System.Logger; -import java.lang.System.Logger.Level; import java.nio.file.Path; import java.util.Objects; +import org.argeo.api.cms.CmsLog; + /** Synchronises two directory structures. */ public class SyncFileVisitor extends BasicSyncFileVisitor { - private final static Logger logger = System.getLogger(SyncFileVisitor.class.getName()); + private final static CmsLog log = CmsLog.getLog(SyncFileVisitor.class); public SyncFileVisitor(Path sourceBasePath, Path targetBasePath, boolean delete, boolean recursive) { super(sourceBasePath, targetBasePath, delete, recursive); @@ -15,16 +15,16 @@ public class SyncFileVisitor extends BasicSyncFileVisitor { @Override protected void error(Object obj, Throwable e) { - logger.log(Level.ERROR, Objects.toString(obj), e); + log.error(Objects.toString(obj), e); } @Override protected boolean isTraceEnabled() { - return logger.isLoggable(Level.TRACE); + return log.isTraceEnabled(); } @Override protected void trace(Object obj) { - logger.log(Level.TRACE, Objects.toString(obj)); + log.error(Objects.toString(obj)); } } diff --git a/org.argeo.cms/src/org/argeo/cms/acr/xml/XmlNormalizer.java b/org.argeo.cms/src/org/argeo/cms/acr/xml/XmlNormalizer.java index c3cc26cf2..7540455f7 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/xml/XmlNormalizer.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/xml/XmlNormalizer.java @@ -4,8 +4,6 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.lang.System.Logger; -import java.lang.System.Logger.Level; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; @@ -33,7 +31,7 @@ import org.xml.sax.SAXException; * versioning system). */ public class XmlNormalizer { - private final static Logger logger = System.getLogger(XmlNormalizer.class.getName()); +// private final static Logger logger = System.getLogger(XmlNormalizer.class.getName()); private DocumentBuilder documentBuilder; private Transformer transformer; @@ -67,7 +65,7 @@ public class XmlNormalizer { try (ByteArrayInputStream in = new ByteArrayInputStream(bytes); OutputStream out = Files.newOutputStream(path)) { normalizeAndIndent(in, out); - logger.log(Level.DEBUG, () -> "Normalized XML " + path); +// logger.log(Level.DEBUG, () -> "Normalized XML " + path); } } diff --git a/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java b/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java index c36658e11..e45b9508d 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java @@ -37,15 +37,6 @@ import org.osgi.service.cm.ConfigurationEvent; /** Manages the LDIF-based deployment configuration. */ public class DeployConfig { - private final static LdapName USER_ADMIN_BASE_DN; - static { - try { - USER_ADMIN_BASE_DN = new LdapName( - CmsConstants.OU + "=" + CmsConstants.NODE_USER_ADMIN_PID + "," + CmsConstants.DEPLOY_BASEDN); - } catch (InvalidNameException e) { - throw new IllegalArgumentException(e); - } - } private final CmsLog log = CmsLog.getLog(getClass()); // private final BundleContext bc = FrameworkUtil.getBundle(getClass()).getBundleContext(); @@ -269,6 +260,14 @@ public class DeployConfig { } public Set> getUserDirectoryConfigs() { + // not static because class is not supported by Android + final LdapName USER_ADMIN_BASE_DN; + try { + USER_ADMIN_BASE_DN = new LdapName( + CmsConstants.OU + "=" + CmsConstants.NODE_USER_ADMIN_PID + "," + CmsConstants.DEPLOY_BASEDN); + } catch (InvalidNameException e) { + throw new IllegalArgumentException(e); + } Set> res = new HashSet<>(); for (LdapName dn : deployConfigs.keySet()) { if (dn.endsWith(USER_ADMIN_BASE_DN)) { diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java index 7c4d80774..9364ee4a3 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java @@ -56,7 +56,7 @@ import org.osgi.service.useradmin.Role; * Aggregates multiple {@link UserDirectory} and integrates them with system * roles. */ -public class CmsUserAdmin extends AggregatingUserAdmin { +public class CmsUserAdmin extends AggregatingUserAdmin { private final static CmsLog log = CmsLog.getLog(CmsUserAdmin.class); // GSS API @@ -77,7 +77,7 @@ public class CmsUserAdmin extends AggregatingUserAdmin { public void stop() { } - + public UserDirectory enableUserDirectory(Dictionary properties) { String uri = (String) properties.get(UserAdminConf.uri.name()); Object realm = properties.get(UserAdminConf.realm.name()); @@ -113,7 +113,7 @@ public class CmsUserAdmin extends AggregatingUserAdmin { addUserDirectory(userDirectory); if (isSystemRolesBaseDn(baseDn)) { addStandardSystemRoles(); - } + } if (log.isDebugEnabled()) { log.debug("User directory " + userDirectory.getBaseDn() + (u != null ? " [" + u.getScheme() + "]" : "") + " enabled." + (realm != null ? " " + realm + " realm." : "")); @@ -121,7 +121,6 @@ public class CmsUserAdmin extends AggregatingUserAdmin { return userDirectory; } - protected void addStandardSystemRoles() { // we assume UserTransaction is already available (TODO make it more robust) try { @@ -145,7 +144,6 @@ public class CmsUserAdmin extends AggregatingUserAdmin { } } - @Override protected void addAbstractSystemRoles(Authorization rawAuthorization, Set sysRoles) { if (rawAuthorization.getName() == null) { @@ -229,6 +227,13 @@ public class CmsUserAdmin extends AggregatingUserAdmin { } private GSSCredential logInAsAcceptor(Subject subject, String servicePrincipal) { + // not static because class is not supported by Android + final Oid KERBEROS_OID; + try { + KERBEROS_OID = new Oid("1.3.6.1.5.5.2"); + } catch (GSSException e) { + throw new IllegalStateException("Cannot create Kerberos OID", e); + } // GSS Iterator krb5It = subject.getPrincipals(KerberosPrincipal.class).iterator(); if (!krb5It.hasNext()) @@ -288,12 +293,4 @@ public class CmsUserAdmin extends AggregatingUserAdmin { * STATIC */ - public final static Oid KERBEROS_OID; - static { - try { - KERBEROS_OID = new Oid("1.3.6.1.5.5.2"); - } catch (GSSException e) { - throw new IllegalStateException("Cannot create Kerberos OID", e); - } - } } -- 2.30.2