public static Client valueOf(OrcidClient orcidClient) { Client client = new Client(); client.setClientId(Text.valueOf(orcidClient.getClientId())); client.setClientSecret(Text.valueOf(orcidClient.getClientSecret())); client.setDisplayName(Text.valueOf(orcidClient.getDisplayName())); client.setShortDescription(Text.valueOf(orcidClient.getShortDescription())); if (orcidClient.getType() != null) client.setType(Text.valueOf(orcidClient.getType().value())); client.setWebsite(Text.valueOf(orcidClient.getWebsite())); Checkbox persistentTokenEnabled = new Checkbox(); persistentTokenEnabled.setValue(orcidClient.isPersistentTokenEnabled()); client.setPersistentTokenEnabled(persistentTokenEnabled); List<RedirectUri> redirectUris = new ArrayList<RedirectUri>(); RedirectUris orcidRedirectUris = orcidClient.getRedirectUris(); if (orcidRedirectUris != null && orcidRedirectUris.getRedirectUri() != null) { for (org.orcid.jaxb.model.clientgroup.RedirectUri orcidRedirectUri : orcidRedirectUris.getRedirectUri()) { redirectUris.add(RedirectUri.toRedirectUri(orcidRedirectUri)); } } client.setRedirectUris(redirectUris); return client; }