public String rewriteName(final String original) { return target.rewriteName(original); }
/** * Add a name rewriter to this principal decoder. If the name is decoded, it will then be rewritten with the * given rewriter. If the rewriter deems the name invalid, then the name will be considered not decoded. * * @param nameRewriter the name rewriter * @return the combined decoder */ default PrincipalDecoder withRewriter(NameRewriter nameRewriter) { return principal -> { final String name = this.getName(principal); return name == null ? null : nameRewriter.rewriteName(name); }; }
/** * Create a name rewriter which chains the given name rewriters; the name will be rewritten through the given rewriters * in order and then returned. If any rewriter returns {@code null}, then {@code null} is returned. * * @param rewriter1 the first name rewriter (must not be {@code null}) * @param rewriter2 the second name rewriter (must not be {@code null}) * @return the name rewriter (not {@code null}) */ static NameRewriter chain(NameRewriter rewriter1, NameRewriter rewriter2) { Assert.checkNotNullParam("rewriter1", rewriter1); Assert.checkNotNullParam("rewriter2", rewriter2); return n -> { if (n != null) n = rewriter1.rewriteName(n); if (n != null) n = rewriter2.rewriteName(n); return n; }; }
/** * Get this name rewriter as a principal rewriter that applies only to {@link NamePrincipal} instances. * * @return the principal rewriter (not {@code null}) */ default UnaryOperator<Principal> asPrincipalRewriter() { return principal -> { if (principal == null) return null; if (principal instanceof NamePrincipal) { String rewritten = NameRewriter.this.rewriteName(principal.getName()); return rewritten == null ? null : new NamePrincipal(rewritten); } return principal; }; }
/** * Create a name rewriter which aggregates the given name rewriters; the first rewriter which successfully rewrites * the name is used. If all the rewriters return {@code null}, then {@code null} is returned. * * @param rewriter1 the first name rewriter (must not be {@code null}) * @param rewriter2 the second name rewriter (must not be {@code null}) * @return the name rewriter (not {@code null}) */ static NameRewriter aggregate(NameRewriter rewriter1, NameRewriter rewriter2) { Assert.checkNotNullParam("rewriter1", rewriter1); Assert.checkNotNullParam("rewriter2", rewriter2); return n -> { String rn = rewriter1.rewriteName(n); if (rn == null) rn = rewriter2.rewriteName(n); return rn; }; }
@Override public RealmIdentity getRealmIdentity(final Principal principal) { if (! (principal instanceof NamePrincipal)) { return RealmIdentity.NON_EXISTENT; } String name = rewriter.rewriteName(principal.getName()); if (name == null) { throw log.invalidName(); } return new SimpleMapRealmIdentity(name); }
/** * Create a name rewriter which chains the given name rewriters; the name will be rewritten through the given rewriters * in order and then returned. If any rewriter returns {@code null}, then {@code null} is returned. * * @param nameRewriters the name rewriters (must not be {@code null}, cannot have {@code null} elements) * @return the name rewriter (not {@code null}) */ static NameRewriter chain(NameRewriter... nameRewriters) { Assert.checkNotNullParam("nameRewriters", nameRewriters); final NameRewriter[] clone = nameRewriters.clone(); for (int i = 0; i < clone.length; i++) { Assert.checkNotNullArrayParam("nameRewriters", i, clone[i]); } return n -> { for (NameRewriter r : clone) { if (n == null) return null; n = r.rewriteName(n); } return n; }; }
/** * Create a name rewriter which aggregates the given name rewriters; the first rewriter which successfully rewrites * the name is used. If all the rewriters return {@code null}, then {@code null} is returned. * * @param nameRewriters the name rewriters (must not be {@code null}, cannot have {@code null} elements) * @return the name rewriter (not {@code null}) */ static NameRewriter aggregate(NameRewriter... nameRewriters) { Assert.checkNotNullParam("nameRewriters", nameRewriters); final NameRewriter[] clone = nameRewriters.clone(); for (int i = 0; i < clone.length; i++) { Assert.checkNotNullArrayParam("nameRewriters", i, clone[i]); } return n -> { if (n == null) return null; String rn; for (NameRewriter r : clone) { rn = r.rewriteName(n); if (rn != null) { return rn; } } return null; }; }
private ModifiableRealmIdentity getRealmIdentity(final Principal principal, final boolean exclusive) { if (! (principal instanceof NamePrincipal)) { return ModifiableRealmIdentity.NON_EXISTENT; } String name = nameRewriter.rewriteName(principal.getName()); if (name == null) { throw log.invalidName(); } // Acquire the appropriate lock for the realm identity log.debugf("Obtaining lock for identity [%s]...", name); IdentitySharedExclusiveLock realmIdentityLock = getRealmIdentityLockForName(name); IdentityLock lock; if (exclusive) { lock = realmIdentityLock.lockExclusive(); } else { lock = realmIdentityLock.lockShared(); } log.debugf("Obtained lock for identity [%s].", name); return new LdapRealmIdentity(name, lock); }
private ModifiableRealmIdentity getRealmIdentity(final String name, final boolean exclusive) { final String finalName = nameRewriter.rewriteName(name); if (finalName == null) { throw ElytronMessages.log.invalidName(); } // Acquire the appropriate lock for the realm identity IdentitySharedExclusiveLock realmIdentityLock = getRealmIdentityLockForName(finalName); IdentityLock lock; if (exclusive) { lock = realmIdentityLock.lockExclusive(); } else { lock = realmIdentityLock.lockShared(); } return new Identity(finalName, pathFor(finalName), lock); }
public String rewriteName(final String original) { return target.rewriteName(original); }
/** * Add a name rewriter to this principal decoder. If the name is decoded, it will then be rewritten with the * given rewriter. If the rewriter deems the name invalid, then the name will be considered not decoded. * * @param nameRewriter the name rewriter * @return the combined decoder */ default PrincipalDecoder withRewriter(NameRewriter nameRewriter) { return principal -> { final String name = this.getName(principal); return name == null ? null : nameRewriter.rewriteName(name); }; }
/** * Add a name rewriter to this principal decoder. If the name is decoded, it will then be rewritten with the * given rewriter. If the rewriter deems the name invalid, then the name will be considered not decoded. * * @param nameRewriter the name rewriter * @return the combined decoder */ default PrincipalDecoder withRewriter(NameRewriter nameRewriter) { return principal -> { final String name = this.getName(principal); return name == null ? null : nameRewriter.rewriteName(name); }; }
/** * Get this name rewriter as a principal rewriter that applies only to {@link NamePrincipal} instances. * * @return the principal rewriter (not {@code null}) */ default UnaryOperator<Principal> asPrincipalRewriter() { return principal -> { if (principal == null) return null; if (principal instanceof NamePrincipal) { String rewritten = NameRewriter.this.rewriteName(principal.getName()); return rewritten == null ? null : new NamePrincipal(rewritten); } return principal; }; }
/** * Add a name rewriter to this principal decoder. If the name is decoded, it will then be rewritten with the * given rewriter. If the rewriter deems the name invalid, then the name will be considered not decoded. * * @param nameRewriter the name rewriter * @return the combined decoder */ default PrincipalDecoder withRewriter(NameRewriter nameRewriter) { return principal -> { final String name = this.getName(principal); return name == null ? null : nameRewriter.rewriteName(name); }; }
/** * Get this name rewriter as a principal rewriter that applies only to {@link NamePrincipal} instances. * * @return the principal rewriter (not {@code null}) */ default UnaryOperator<Principal> asPrincipalRewriter() { return principal -> { if (principal == null) return null; if (principal instanceof NamePrincipal) { String rewritten = NameRewriter.this.rewriteName(principal.getName()); return rewritten == null ? null : new NamePrincipal(rewritten); } return principal; }; }
@Override public RealmIdentity getRealmIdentity(final Principal principal) { if (! (principal instanceof NamePrincipal)) { return RealmIdentity.NON_EXISTENT; } String name = rewriter.rewriteName(principal.getName()); if (name == null) { throw log.invalidName(); } return new SimpleMapRealmIdentity(name); }
@Override public RealmIdentity getRealmIdentity(final Principal principal) { if (! (principal instanceof NamePrincipal)) { return RealmIdentity.NON_EXISTENT; } String name = rewriter.rewriteName(principal.getName()); if (name == null) { throw log.invalidName(); } return new SimpleMapRealmIdentity(name); }
@Override public RealmIdentity getRealmIdentity(final Principal principal) { if (! (principal instanceof NamePrincipal)) { return RealmIdentity.NON_EXISTENT; } String name = rewriter.rewriteName(principal.getName()); if (name == null) { throw log.invalidName(); } return new SimpleMapRealmIdentity(name); }
private ModifiableRealmIdentity getRealmIdentity(final String name, final boolean exclusive) { final String finalName = nameRewriter.rewriteName(name); if (finalName == null) { throw ElytronMessages.log.invalidName(); } // Acquire the appropriate lock for the realm identity IdentitySharedExclusiveLock realmIdentityLock = getRealmIdentityLockForName(finalName); IdentityLock lock; if (exclusive) { lock = realmIdentityLock.lockExclusive(); } else { lock = realmIdentityLock.lockShared(); } return new Identity(finalName, pathFor(finalName), lock); }