use of org.gluu.oxauth.client.uma.UmaMetadataService in project oxTrust by GluuFederation.
the class UmaPermissionService method initUmaMetadataConfiguration.
@Produces
@ApplicationScoped
@Named("umaMetadataConfiguration")
public UmaMetadata initUmaMetadataConfiguration() throws OxIntializationException {
String umaConfigurationEndpoint = getUmaConfigurationEndpoint();
if (StringHelper.isEmpty(umaConfigurationEndpoint)) {
return null;
}
log.info("##### Getting UMA metadata ...");
UmaMetadataService metaDataConfigurationService;
if (this.clientHttpEngine == null) {
metaDataConfigurationService = UmaClientFactory.instance().createMetadataService(umaConfigurationEndpoint);
} else {
metaDataConfigurationService = UmaClientFactory.instance().createMetadataService(umaConfigurationEndpoint, this.clientHttpEngine);
}
UmaMetadata metadataConfiguration = null;
int max_attempts = 10;
for (int attempt = 1; attempt <= max_attempts; attempt++) {
try {
metadataConfiguration = metaDataConfigurationService.getMetadata();
} catch (javax.ws.rs.ServiceUnavailableException ex) {
if ((attempt == max_attempts) || (ex.getResponse().getStatus() != javax.ws.rs.core.Response.Status.SERVICE_UNAVAILABLE.getStatusCode())) {
throw ex;
}
try {
java.lang.Thread.sleep(3000);
} catch (InterruptedException ex2) {
throw ex;
}
log.info("##### Attempting to load UMA metadata ... {}", attempt);
}
}
log.info("##### Getting UMA metadata ... DONE");
if (metadataConfiguration == null) {
throw new OxIntializationException("UMA meta data configuration is invalid!");
}
return metadataConfiguration;
}
use of org.gluu.oxauth.client.uma.UmaMetadataService in project oxAuth by GluuFederation.
the class MetaDataFlowHttpTest method testGetUmaMetaDataConfiguration.
/**
* Test for getting meta data configuration
*/
@Test
@Parameters({ "umaMetaDataUrl" })
public void testGetUmaMetaDataConfiguration(final String umaMetaDataUrl) throws Exception {
showTitle("testGetUmaMetaDataConfiguration");
UmaMetadataService metaDataConfigurationService = UmaClientFactory.instance().createMetadataService(umaMetaDataUrl, clientEngine(true));
// Get meta data
UmaMetadata c = null;
try {
c = metaDataConfigurationService.getMetadata();
} catch (ClientErrorException ex) {
System.err.println(ex.getResponse().readEntity(String.class));
throw ex;
}
UmaTestUtil.assert_(c);
}
Aggregations