diff --git a/server/src/main/java/org/cloudfoundry/identity/uaa/provider/JdbcIdentityProviderProvisioning.java b/server/src/main/java/org/cloudfoundry/identity/uaa/provider/JdbcIdentityProviderProvisioning.java index aa759a1efad..9520806f1cb 100644 --- a/server/src/main/java/org/cloudfoundry/identity/uaa/provider/JdbcIdentityProviderProvisioning.java +++ b/server/src/main/java/org/cloudfoundry/identity/uaa/provider/JdbcIdentityProviderProvisioning.java @@ -20,6 +20,7 @@ import java.sql.Timestamp; import java.util.Date; import java.util.List; +import java.util.Optional; import java.util.UUID; @Component("identityProviderProvisioning") @@ -217,15 +218,15 @@ public IdentityProvider mapRow(ResultSet rs, int rowNum) throws SQLException { switch (identityProvider.getType()) { case OriginKeys.SAML: definition = JsonUtils.readValue(config, SamlIdentityProviderDefinition.class); - ((SamlIdentityProviderDefinition) definition).setIdpEntityId(externId); + Optional.ofNullable(definition).map(SamlIdentityProviderDefinition.class::cast).ifPresent(e -> e.setIdpEntityId(externId)); break; case OriginKeys.OAUTH20: definition = JsonUtils.readValue(config, RawExternalOAuthIdentityProviderDefinition.class); - ((RawExternalOAuthIdentityProviderDefinition) definition).setIssuer(externId); + Optional.ofNullable(definition).map(RawExternalOAuthIdentityProviderDefinition.class::cast).ifPresent(e -> e.setIssuer(externId)); break; case OriginKeys.OIDC10: definition = JsonUtils.readValue(config, OIDCIdentityProviderDefinition.class); - ((OIDCIdentityProviderDefinition) definition).setIssuer(externId); + Optional.ofNullable(definition).map(OIDCIdentityProviderDefinition.class::cast).ifPresent(e -> e.setIssuer(externId)); break; case OriginKeys.UAA: definition = JsonUtils.readValue(config, UaaIdentityProviderDefinition.class); diff --git a/server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/SamlIdentityProviderConfiguratorTests.java b/server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/SamlIdentityProviderConfiguratorTests.java index be476fa76e9..86a64bab598 100644 --- a/server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/SamlIdentityProviderConfiguratorTests.java +++ b/server/src/test/java/org/cloudfoundry/identity/uaa/provider/saml/SamlIdentityProviderConfiguratorTests.java @@ -189,7 +189,7 @@ public void testGetEntityID() throws Exception { IdentityProvider idp2 = mock(IdentityProvider.class); when(idp2.getType()).thenReturn(OriginKeys.SAML); when(idp2.getConfig()).thenReturn(def); - when(provisioning.retrieveActive(anyString())).thenReturn(Arrays.asList(idp2)); + when(provisioning.retrieveActive(anyString())).thenReturn(asList(idp2)); configurator.validateSamlIdentityProviderDefinition(def); assertEquals("http://www.okta.com/k2lw4l5bPODCMIIDBRYZ", provider.getEntityID()); break; @@ -213,15 +213,12 @@ public void testGetEntityID() throws Exception { } @Test - public void testGetEntityIDExists() throws Exception { - - Timer t = new Timer(); + void testGetEntityIDExists() throws Exception { bootstrap.setIdentityProviders(BootstrapSamlIdentityProviderDataTests.parseYaml(BootstrapSamlIdentityProviderDataTests.sampleYaml)); bootstrap.afterPropertiesSet(); for (SamlIdentityProviderDefinition def : bootstrap.getIdentityProviderDefinitions()) { switch (def.getIdpEntityAlias()) { case "okta-local-2": { - ComparableProvider provider = (ComparableProvider) configurator.getExtendedMetadataDelegateFromCache(def).getDelegate(); IdentityProvider idp2 = mock(IdentityProvider.class); when(idp2.getType()).thenReturn(OriginKeys.SAML); when(idp2.getConfig()).thenReturn(def.clone().setIdpEntityAlias("okta-local-1"));