From fc27cf5830278bdc4e7fb218198eeeeafd921625 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Thu, 12 Mar 2020 06:35:40 +0100 Subject: [PATCH] OO-4566: set a default John Doe first / last name if null --- .../manager/AdobeConnect9Provider.java | 6 ++- .../manager/AdobeConnectUtils.java | 4 ++ .../adobeconnect/manager/DFNprovider.java | 8 ++-- .../manager/AdobeConnectUtilsTest.java | 45 +++++++++++++++++++ .../java/org/olat/test/AllTestsJunit4.java | 1 + 5 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 src/test/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtilsTest.java diff --git a/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnect9Provider.java b/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnect9Provider.java index 3c543a8abfc..ed476520e9d 100644 --- a/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnect9Provider.java +++ b/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnect9Provider.java @@ -19,6 +19,8 @@ */ package org.olat.modules.adobeconnect.manager; +import static org.olat.modules.adobeconnect.manager.AdobeConnectUtils.orDefault; + import java.net.URI; import java.util.List; @@ -88,8 +90,8 @@ public class AdobeConnect9Provider extends AbstractAdobeConnectProvider { UriBuilder builder = adobeConnectModule.getAdobeConnectUriBuilder(); builder .queryParam("action", "principal-update") - .queryParam("first-name", identity.getUser().getFirstName()) - .queryParam("last-name", identity.getUser().getLastName()); + .queryParam("first-name", orDefault(identity.getUser().getFirstName(), "John")) + .queryParam("last-name", orDefault(identity.getUser().getLastName(), "Doe")); if(!adobeConnectModule.isLoginCompatibilityMode()) { builder .queryParam("email", identity.getUser().getEmail()); diff --git a/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtils.java b/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtils.java index 86ff21c7baa..e1bb7d3d0f6 100644 --- a/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtils.java +++ b/src/main/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtils.java @@ -220,6 +220,10 @@ public class AdobeConnectUtils { } } + protected static String orDefault(String val, String defaultValue) { + return StringHelper.containsNonWhitespace(val) ? val : defaultValue; + } + protected static void print(Document document) { if(log.isDebugEnabled()) { try(StringWriter writer = new StringWriter()) { diff --git a/src/main/java/org/olat/modules/adobeconnect/manager/DFNprovider.java b/src/main/java/org/olat/modules/adobeconnect/manager/DFNprovider.java index 21d9f3ceae6..28e72595220 100644 --- a/src/main/java/org/olat/modules/adobeconnect/manager/DFNprovider.java +++ b/src/main/java/org/olat/modules/adobeconnect/manager/DFNprovider.java @@ -19,6 +19,9 @@ */ package org.olat.modules.adobeconnect.manager; +import static org.olat.modules.adobeconnect.manager.AdobeConnectUtils.orDefault; + + import java.util.List; import javax.ws.rs.core.UriBuilder; @@ -39,7 +42,6 @@ import org.olat.modules.adobeconnect.model.AdobeConnectPrincipal; import org.olat.modules.adobeconnect.model.AdobeConnectSco; import org.olat.modules.adobeconnect.model.BreezeSession; import org.springframework.stereotype.Service; - /** * * Initial date: 17 avr. 2019<br> @@ -92,8 +94,8 @@ public class DFNprovider extends AbstractAdobeConnectProvider { builder .queryParam("action", "lms-user-create") .queryParam("login", identity.getUser().getEmail()) - .queryParam("first-name", identity.getUser().getFirstName()) - .queryParam("last-name", identity.getUser().getLastName()); + .queryParam("first-name", orDefault(identity.getUser().getFirstName(), "John")) + .queryParam("last-name", orDefault(identity.getUser().getLastName(), "Doe")); HttpGet get = createAdminMethod(builder, errors); List<AdobeConnectPrincipal> users = null; diff --git a/src/test/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtilsTest.java b/src/test/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtilsTest.java new file mode 100644 index 00000000000..e4d1d4768d2 --- /dev/null +++ b/src/test/java/org/olat/modules/adobeconnect/manager/AdobeConnectUtilsTest.java @@ -0,0 +1,45 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.adobeconnect.manager; + +import org.junit.Assert; +import org.junit.Test; + +/** + * + * Initial date: 12 mars 2020<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class AdobeConnectUtilsTest { + + @Test + public void orDefault() { + String val = AdobeConnectUtils.orDefault("my-value", "a-default-value"); + Assert.assertEquals("my-value", val); + } + + @Test + public void orDefault_default() { + String val = AdobeConnectUtils.orDefault(null, "a-default-value"); + Assert.assertEquals("a-default-value", val); + } + +} diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java index acfc385d41d..9cb6f9cc0c2 100644 --- a/src/test/java/org/olat/test/AllTestsJunit4.java +++ b/src/test/java/org/olat/test/AllTestsJunit4.java @@ -199,6 +199,7 @@ import org.junit.runners.Suite; org.olat.modules.adobeconnect.manager.AdobeConnectProviderTest.class, org.olat.modules.adobeconnect.manager.AdobeConnectUserDAOTest.class, org.olat.modules.adobeconnect.manager.AdobeConnectMeetingDAOTest.class, + org.olat.modules.adobeconnect.manager.AdobeConnectUtilsTest.class, org.olat.modules.iq.IQManagerTest.class, org.olat.modules.fo.ForumManagerTest.class,//fail org.olat.modules.wiki.WikiUnitTest.class, -- GitLab