/** * Retrieves the external identity ref from the authorizable * @param auth the authorizable * @return the ref * @throws RepositoryException if an error occurs */ @Nullable public static ExternalIdentityRef getIdentityRef(@Nullable Authorizable auth) throws RepositoryException { if (auth == null) { return null; } Value[] v = auth.getProperty(REP_EXTERNAL_ID); if (v == null || v.length == 0) { return null; } return ExternalIdentityRef.fromString(v[0].getString()); }
@Nullable private String getIdpName(@NotNull Tree userTree) { PropertyState ps = userTree.getProperty(REP_EXTERNAL_ID); if (ps != null) { return ExternalIdentityRef.fromString(ps.getValue(Type.STRING)).getProviderName(); } else { return null; } }
ExternalIdentityRef ref = ExternalIdentityRef.fromString(externalId); if (!idp.getName().equals(ref.getProviderName())) { results.add(new DefaultSyncResultImpl(new DefaultSyncedIdentity(ref.getId(), ref, false, -1), SyncResult.Status.FOREIGN));
static void assertSync(@NotNull ExternalIdentity ei, @NotNull UserManager userManager) throws Exception { Authorizable authorizable; if (ei instanceof ExternalUser) { authorizable = userManager.getAuthorizable(ei.getId(), User.class); } else { authorizable = userManager.getAuthorizable(ei.getId(), Group.class); } assertNotNull(ei.getId(), authorizable); assertEquals(ei.getId(), authorizable.getID()); assertEquals(ei.getExternalId(), ExternalIdentityRef.fromString(authorizable.getProperty(DefaultSyncContext.REP_EXTERNAL_ID)[0].getString())); }
@Test public void testFromString() { ExternalIdentityRef r = ExternalIdentityRef.fromString(refNullProvider.getString()); assertEquals(refNullProvider, r); assertEquals(USERID, r.getId()); assertEquals(refNullProvider.getString(), r.getString()); assertNull(r.getProviderName()); r = ExternalIdentityRef.fromString(refEmptyProvider.getString()); assertEquals(refEmptyProvider, r); assertEquals(USERID, r.getId()); assertEquals(refEmptyProvider.getString(), r.getString()); assertNull(r.getProviderName()); // empty provider string is converted to null r = ExternalIdentityRef.fromString(ref.getString()); assertEquals(ref, r); assertEquals(USERID, r.getId()); assertEquals(PROVIDER_NAME, r.getProviderName()); assertEquals(ref.getString(), r.getString()); }
private void assertRepExternalId(@NotNull SyncResult result) throws Exception { assertSame(SyncResult.Status.ADD, result.getStatus()); SyncedIdentity si = result.getIdentity(); assertNotNull(si); Authorizable authorizable = userManager.getAuthorizable(si.getId()); assertNotNull(authorizable); Tree userTree = r.getTree(authorizable.getPath()); assertTrue(userTree.hasProperty(DefaultSyncContext.REP_EXTERNAL_ID)); PropertyState ps = userTree.getProperty(DefaultSyncContext.REP_EXTERNAL_ID); assertNotNull(ps); assertFalse(ps.isArray()); assertSame(Type.STRING, ps.getType()); assertEquals(si.getExternalIdRef(), ExternalIdentityRef.fromString(ps.getValue(Type.STRING))); }