From f6743eff69ac02f9dbdd5939d2e5059632401d2d Mon Sep 17 00:00:00 2001 From: Stian Thorgersen Date: Mon, 23 Nov 2015 12:02:39 +0100 Subject: [PATCH] KEYCLOAK-2119 OTP Policy form validates both TOTP and HOTP at the same time --- .../keycloak/models/utils/RepresentationToModel.java | 12 ++++++------ .../services/resources/admin/RealmAdminResource.java | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java index dde4462b977..3916fd16a70 100755 --- a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java +++ b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java @@ -69,12 +69,12 @@ public class RepresentationToModel { private static Logger logger = Logger.getLogger(RepresentationToModel.class); public static OTPPolicy toPolicy(RealmRepresentation rep) { OTPPolicy policy = new OTPPolicy(); - policy.setType(rep.getOtpPolicyType()); - policy.setLookAheadWindow(rep.getOtpPolicyLookAheadWindow()); - policy.setInitialCounter(rep.getOtpPolicyInitialCounter()); - policy.setAlgorithm(rep.getOtpPolicyAlgorithm()); - policy.setDigits(rep.getOtpPolicyDigits()); - policy.setPeriod(rep.getOtpPolicyPeriod()); + if (rep.getOtpPolicyType() != null) policy.setType(rep.getOtpPolicyType()); + if (rep.getOtpPolicyLookAheadWindow() != null) policy.setLookAheadWindow(rep.getOtpPolicyLookAheadWindow()); + if (rep.getOtpPolicyInitialCounter() != null) policy.setInitialCounter(rep.getOtpPolicyInitialCounter()); + if (rep.getOtpPolicyAlgorithm() != null) policy.setAlgorithm(rep.getOtpPolicyAlgorithm()); + if (rep.getOtpPolicyDigits() != null) policy.setDigits(rep.getOtpPolicyDigits()); + if (rep.getOtpPolicyPeriod() != null) policy.setPeriod(rep.getOtpPolicyPeriod()); return policy; } diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java index d874d1e2d5d..90eab4a54e1 100755 --- a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java +++ b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java @@ -236,7 +236,7 @@ public class RealmAdminResource { } catch (ModelDuplicateException e) { throw e; } catch (Exception e) { - logger.error(e); + logger.error(e.getMessage(), e); return ErrorResponse.error("Failed to update " + rep.getRealm() + " Realm.", Response.Status.INTERNAL_SERVER_ERROR); } }