}
try {
client.setEncryptedSecret(secret.getBytes("UTF-8"));
} catch (final OAuth2EncryptionException e) {
throw new OAuth2PersistenceException(e);
}
client.setClientId(clientId);
if (this.authority != null) {
redirectUri = redirectUri.replace("%authority%", this.authority.getAuthority());
redirectUri = redirectUri.replace("%contextRoot%", this.contextRoot);
redirectUri = redirectUri.replace("%origin%", this.authority.getOrigin());
redirectUri = redirectUri.replace("%scheme", this.authority.getScheme());
}
client.setRedirectUri(redirectUri);
if (grantType == null || grantType.length() == 0) {
grantType = OAuth2Message.AUTHORIZATION;
}
client.setGrantType(grantType);
OAuth2Accessor.Type type = OAuth2Accessor.Type.UNKNOWN;
if (OAuth2Message.CONFIDENTIAL_CLIENT_TYPE.equals(typeS)) {
type = OAuth2Accessor.Type.CONFIDENTIAL;
} else if (OAuth2Message.PUBLIC_CLIENT_TYPE.equals(typeS)) {
type = OAuth2Accessor.Type.PUBLIC;
}
client.setType(type);
final JSONArray dArray = settings.optJSONArray(ALLOWED_DOMAINS);
if (dArray != null) {
final ArrayList<String> domains = new ArrayList<String>();
for (int i = 0; i < dArray.length(); i++) {
domains.add(dArray.optString(i));
}
client.setAllowedDomains(domains.toArray(new String[domains.size()]));
}
internalMap.put(clientName, client);
}
} catch (RuntimeException e) {
throw e;
} catch (final Exception e) {
LOG.logp(Level.WARNING, CLAZZ, method, "Exception loading clients.", e);
throw new OAuth2PersistenceException(e);
}
final Set<OAuth2Client> ret = new HashSet<OAuth2Client>(gadgetBindings.size());
for (final OAuth2GadgetBinding binding : gadgetBindings.values()) {
final String clientName = binding.getClientName();