From 8c3d8f7242c44c33b767d9db0e2fb4737f91f487 Mon Sep 17 00:00:00 2001 From: Peter Date: Mon, 23 Jan 2017 15:03:03 -0800 Subject: [PATCH] issue-1256 mobileCallback config to ApplicationWebConfig...waiting on api changes to get deployed --- .../webconfig/ApplicationWebConfig.java | 7 ++++ .../webconfig/MobileCallbackConfig.java | 33 +++++++++++++++++++ .../webconfig/WebConfigurationIT.groovy | 3 ++ .../DefaultApplicationWebConfig.java | 10 +++++- .../webconfig/DefaultWebFeatureConfig.java | 7 ++++ 5 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 api/src/main/java/com/stormpath/sdk/application/webconfig/MobileCallbackConfig.java diff --git a/api/src/main/java/com/stormpath/sdk/application/webconfig/ApplicationWebConfig.java b/api/src/main/java/com/stormpath/sdk/application/webconfig/ApplicationWebConfig.java index 595f98d584..8ffd3fae8d 100644 --- a/api/src/main/java/com/stormpath/sdk/application/webconfig/ApplicationWebConfig.java +++ b/api/src/main/java/com/stormpath/sdk/application/webconfig/ApplicationWebConfig.java @@ -147,6 +147,13 @@ public interface ApplicationWebConfig extends Resource, Saveable, Auditable { */ ChangePasswordConfig getChangePassword(); + /** + * Returns the {@link MobileCallbackConfig mobileCallbackConfig} associated to this {@link ApplicationWebConfig applicationWebConfig}. + * + * @return the {@link MobileCallbackConfig mobileCallbackConfig} associated to this {@link ApplicationWebConfig applicationWebConfig}. + */ + MobileCallbackConfig getMobileCallback(); + /** * Returns the {@link MeConfig meConfig} associated to this {@link ApplicationWebConfig applicationWebConfig}. * diff --git a/api/src/main/java/com/stormpath/sdk/application/webconfig/MobileCallbackConfig.java b/api/src/main/java/com/stormpath/sdk/application/webconfig/MobileCallbackConfig.java new file mode 100644 index 0000000000..cffd3ca28a --- /dev/null +++ b/api/src/main/java/com/stormpath/sdk/application/webconfig/MobileCallbackConfig.java @@ -0,0 +1,33 @@ +/* + * Copyright 2016 Stormpath, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.stormpath.sdk.application.webconfig; + +import com.stormpath.sdk.resource.ResourceException; + +/** + * @since 1.5.0 + */ +public interface MobileCallbackConfig extends WebFeatureConfig { + + /** + * Overriding to note that {@code this} configuration doesn't allow to set the {@code enable} flag to {@code null}. + * + * @param enabled {@code boolean} value to enable or disable a web features. + * @throws ResourceException when set to {@code null}. + */ + @Override + MobileCallbackConfig setEnabled(Boolean enabled); +} diff --git a/extensions/httpclient/src/test/groovy/com/stormpath/sdk/impl/application/webconfig/WebConfigurationIT.groovy b/extensions/httpclient/src/test/groovy/com/stormpath/sdk/impl/application/webconfig/WebConfigurationIT.groovy index fe251fbc58..238d88f47a 100644 --- a/extensions/httpclient/src/test/groovy/com/stormpath/sdk/impl/application/webconfig/WebConfigurationIT.groovy +++ b/extensions/httpclient/src/test/groovy/com/stormpath/sdk/impl/application/webconfig/WebConfigurationIT.groovy @@ -60,6 +60,7 @@ class WebConfigurationIT extends ClientIT { assertTrue webConfiguration.getLogin().enabled assertTrue webConfiguration.getOAuth2().enabled + assertFalse webConfiguration.getMobileCallback().enabled assertEquals requestCountingClient.requestCount, 2 } @@ -71,6 +72,7 @@ class WebConfigurationIT extends ClientIT { webConfig.getLogin().setEnabled(false) webConfig.getRegister().setEnabled(false) + webConfig.getMobileCallback().setEnabled(true) Oauth2Config oauth2Config = webConfig.getOAuth2() oauth2Config.setEnabled(false) @@ -88,6 +90,7 @@ class WebConfigurationIT extends ClientIT { assertFalse readWebConfig.getRegister().isEnabled() assertFalse readWebConfig.getLogin().isEnabled() + assertTrue readWebConfig.getMobileCallback().isEnabled() Oauth2Config readOAuth2 = readWebConfig.getOAuth2() diff --git a/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultApplicationWebConfig.java b/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultApplicationWebConfig.java index 561a38e122..dd47bea884 100644 --- a/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultApplicationWebConfig.java +++ b/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultApplicationWebConfig.java @@ -23,6 +23,7 @@ import com.stormpath.sdk.application.webconfig.ForgotPasswordConfig; import com.stormpath.sdk.application.webconfig.LoginConfig; import com.stormpath.sdk.application.webconfig.MeConfig; +import com.stormpath.sdk.application.webconfig.MobileCallbackConfig; import com.stormpath.sdk.application.webconfig.Oauth2Config; import com.stormpath.sdk.application.webconfig.RegisterConfig; import com.stormpath.sdk.application.webconfig.VerifyEmailConfig; @@ -58,6 +59,7 @@ public class DefaultApplicationWebConfig extends AbstractInstanceResource implem private static final ParentAwareObjectProperty VERIFY_EMAIL; private static final ParentAwareObjectProperty FORGOT_PASSWORD; private static final ParentAwareObjectProperty CHANGE_PASSWORD; + private static final ParentAwareObjectProperty MOBILE_CALLBACK; private static final ParentAwareObjectProperty ME; // INSTANCE RESOURCE REFERENCES: private static final ResourceReference SIGNING_API_KEY = new ResourceReference<>("signingApiKey", ApiKey.class); @@ -71,11 +73,12 @@ public class DefaultApplicationWebConfig extends AbstractInstanceResource implem VERIFY_EMAIL = new ParentAwareObjectProperty<>("verifyEmail", DefaultWebFeatureConfig.VerifyEmail.class, AbstractPropertyRetriever.class); FORGOT_PASSWORD = new ParentAwareObjectProperty<>("forgotPassword", DefaultWebFeatureConfig.ForgotPassword.class, AbstractPropertyRetriever.class); CHANGE_PASSWORD = new ParentAwareObjectProperty<>("changePassword", DefaultWebFeatureConfig.ChangePassword.class, AbstractPropertyRetriever.class); + MOBILE_CALLBACK = new ParentAwareObjectProperty<>("mobileCallback", DefaultWebFeatureConfig.MobileCallback.class, AbstractPropertyRetriever.class); ME = new ParentAwareObjectProperty<>("me", DefaultMeConfig.class, AbstractPropertyRetriever.class); } private static final Map PROPERTY_DESCRIPTORS = createPropertyDescriptorMap(CREATED_AT, MODIFIED_AT, DOMAIN_NAME, - DNS_LABEL, STATUS, OAUTH2, REGISTER, VERIFY_EMAIL, FORGOT_PASSWORD, CHANGE_PASSWORD, + DNS_LABEL, STATUS, OAUTH2, REGISTER, VERIFY_EMAIL, FORGOT_PASSWORD, CHANGE_PASSWORD, MOBILE_CALLBACK, SIGNING_API_KEY, APPLICATION, TENANT); @@ -170,6 +173,11 @@ public ChangePasswordConfig getChangePassword() { return getParentAwareObjectProperty(CHANGE_PASSWORD); } + @Override + public MobileCallbackConfig getMobileCallback() { + return getParentAwareObjectProperty(MOBILE_CALLBACK); + } + @Override public MeConfig getMe() { return getParentAwareObjectProperty(ME); diff --git a/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultWebFeatureConfig.java b/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultWebFeatureConfig.java index f196c41b29..d697936c97 100644 --- a/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultWebFeatureConfig.java +++ b/impl/src/main/java/com/stormpath/sdk/impl/application/webconfig/DefaultWebFeatureConfig.java @@ -18,6 +18,7 @@ import com.stormpath.sdk.application.webconfig.ChangePasswordConfig; import com.stormpath.sdk.application.webconfig.ForgotPasswordConfig; import com.stormpath.sdk.application.webconfig.LoginConfig; +import com.stormpath.sdk.application.webconfig.MobileCallbackConfig; import com.stormpath.sdk.application.webconfig.RegisterConfig; import com.stormpath.sdk.application.webconfig.VerifyEmailConfig; import com.stormpath.sdk.application.webconfig.WebFeatureConfig; @@ -78,4 +79,10 @@ public VerifyEmail(String name, Map properties, AbstractProperty } } + public static class MobileCallback extends DefaultWebFeatureConfig implements MobileCallbackConfig { + public MobileCallback(String name, Map properties, AbstractPropertyRetriever parent) { + super(name, properties, parent); + } + } + }