From 14f8a33b5ef7f0cb6fa6e20be1ee53ab7df41b04 Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Mon, 7 Jan 2019 10:23:21 +0100
Subject: [PATCH] OO-3797: Button to check the configurations

Configuration is ok, if a user is able to log in edu-sharing.
---
 .../modules/edusharing/EdusharingClient.java  |  2 --
 .../modules/edusharing/EdusharingService.java |  2 --
 .../manager/EdusharingClientImpl.java         |  6 -----
 .../manager/EdusharingServiceImpl.java        |  5 ----
 .../manager/EdusharingSoapClient.java         | 27 -------------------
 .../ui/EdusharingAdminController.java         | 14 ++++++++--
 .../ui/_i18n/LocalStrings_de.properties       |  2 ++
 .../ui/_i18n/LocalStrings_en.properties       |  2 ++
 8 files changed, 16 insertions(+), 44 deletions(-)

diff --git a/src/main/java/org/olat/modules/edusharing/EdusharingClient.java b/src/main/java/org/olat/modules/edusharing/EdusharingClient.java
index 4fb7b823a10..8200d688ec3 100644
--- a/src/main/java/org/olat/modules/edusharing/EdusharingClient.java
+++ b/src/main/java/org/olat/modules/edusharing/EdusharingClient.java
@@ -29,8 +29,6 @@ import org.olat.core.id.Identity;
  */
 public interface EdusharingClient {
 
-	void test(Identity identity);
-
 	public EdusharingProperties getRepoConfig();
 
 	public String createTicket(Identity identity) throws EdusharingException;
diff --git a/src/main/java/org/olat/modules/edusharing/EdusharingService.java b/src/main/java/org/olat/modules/edusharing/EdusharingService.java
index 88c024bc1da..ebf5613bf8d 100644
--- a/src/main/java/org/olat/modules/edusharing/EdusharingService.java
+++ b/src/main/java/org/olat/modules/edusharing/EdusharingService.java
@@ -34,8 +34,6 @@ import org.olat.core.id.OLATResourceable;
  */
 public interface EdusharingService {
 
-	void test(Identity identity);
-	
 	/**
 	 * Get the configuration values used to register OpenOLAT as an edu-sharing application.
 	 *
diff --git a/src/main/java/org/olat/modules/edusharing/manager/EdusharingClientImpl.java b/src/main/java/org/olat/modules/edusharing/manager/EdusharingClientImpl.java
index 1dd44a1d954..f09407057ff 100644
--- a/src/main/java/org/olat/modules/edusharing/manager/EdusharingClientImpl.java
+++ b/src/main/java/org/olat/modules/edusharing/manager/EdusharingClientImpl.java
@@ -47,12 +47,6 @@ public class EdusharingClientImpl implements EdusharingClient {
 	@Autowired
 	private EdusharingSoapClient soapClient;
 
-	@Override
-	public void test(Identity identity) {
-		soapClient.test(identity);
-		
-	}
-
 	@Override
 	public EdusharingProperties getRepoConfig() throws EdusharingException {
 		return httpClient.getMetadata();
diff --git a/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java b/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java
index ac772c3fd14..29e82d45e97 100644
--- a/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java
+++ b/src/main/java/org/olat/modules/edusharing/manager/EdusharingServiceImpl.java
@@ -76,11 +76,6 @@ public class EdusharingServiceImpl implements EdusharingService {
 	@Autowired
 	private EdusharingSecurityService securityService;
 
-	@Override
-	public void test(Identity identity) {
-		client.test(identity);
-	}
-
 	@Override
 	public Properties getConfigForRegistration() {
 		Properties props = new Properties();
diff --git a/src/main/java/org/olat/modules/edusharing/manager/EdusharingSoapClient.java b/src/main/java/org/olat/modules/edusharing/manager/EdusharingSoapClient.java
index dc3a0be416e..9aecf8a8e37 100644
--- a/src/main/java/org/olat/modules/edusharing/manager/EdusharingSoapClient.java
+++ b/src/main/java/org/olat/modules/edusharing/manager/EdusharingSoapClient.java
@@ -21,7 +21,6 @@ package org.olat.modules.edusharing.manager;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.UUID;
 
 import javax.ws.rs.core.UriBuilder;
 import javax.xml.ws.BindingProvider;
@@ -32,7 +31,6 @@ import javax.xml.ws.handler.PortInfo;
 import org.edu_sharing.webservices.authbyapp.AuthByApp;
 import org.edu_sharing.webservices.authbyapp.AuthByAppService;
 import org.edu_sharing.webservices.authbyapp.AuthenticationException;
-import org.edu_sharing.webservices.authentication.AuthenticationException_Exception;
 import org.edu_sharing.webservices.authentication.AuthenticationResult;
 import org.edu_sharing.webservices.types.KeyValue;
 import org.edu_sharing.webservices.usage2.Usage2;
@@ -61,31 +59,6 @@ class EdusharingSoapClient {
 	@Autowired
 	private EdusharingModule edusharingModule;
 
-	void test(Identity identity)  {
-		log.info("Test started");
-		try {
-			tryCreateUsage(identity);
-			tryTest(identity);
-		} catch (Exception e) {
-			log.error("", e);
-		}
-		log.info("Test finished");
-	}
-
-	private void tryCreateUsage(Identity identity) throws Usage2Exception_Exception {
-		CreateUsageParameter params = new CreateUsageParameter(
-				UUID.randomUUID().toString(),
-				"ccrep://OpenOLAT/633e6c18-7780-4d1a-bdf5-8bcce1acc50a", // KISS
-				identity.getName(),
-				UUID.randomUUID().toString()
-				);
-		createUsage(params);
-	}
-
-	private void tryTest(Identity identity) throws AuthenticationException_Exception, AuthenticationException {
-		createTicket(identity);
-	}
-
 	String createTicket(Identity identity) throws AuthenticationException {
 		return authenticate(identity).getTicket();
 	}
diff --git a/src/main/java/org/olat/modules/edusharing/ui/EdusharingAdminController.java b/src/main/java/org/olat/modules/edusharing/ui/EdusharingAdminController.java
index 564db94544b..624a9df6b10 100644
--- a/src/main/java/org/olat/modules/edusharing/ui/EdusharingAdminController.java
+++ b/src/main/java/org/olat/modules/edusharing/ui/EdusharingAdminController.java
@@ -50,6 +50,7 @@ import org.olat.modules.edusharing.EdusharingModule;
 import org.olat.modules.edusharing.EdusharingProperties;
 import org.olat.modules.edusharing.EdusharingSecurityService;
 import org.olat.modules.edusharing.EdusharingService;
+import org.olat.modules.edusharing.Ticket;
 import org.springframework.beans.factory.annotation.Autowired;
 
 /**
@@ -239,7 +240,16 @@ public class EdusharingAdminController extends FormBasicController {
 	}
 	
 	private void doTest() {
-		edusharingService.test(getIdentity());
-	}
+		try {
+			Ticket ticket = edusharingService.createTicket(getIdentity());
+			if (ticket != null) {
+				showInfo("admin.test.successful");
+				return;
+			}
+		} catch (Exception e) {
+			log.error("", e);
+		}
+		showInfo("admin.test.unsuccessful");
+	 }
 
 }
diff --git a/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_de.properties
index e3307f8a149..0fa698d005c 100644
--- a/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_de.properties
@@ -12,6 +12,8 @@ admin.soap.key.generate.confirm=Wollen Sie wriklich neue Schl\u00FCssel generier
 admin.soap.key.generate.error=Es konnten keine neue Schl\u00FCssel generiert werden.
 admin.soap.key.generate=Schl\u00FCssel generieren
 admin.soap.key.public=\u00D6ffentlicher Schl\u00FCssel von OpenOLAT
+admin.test.successful=Die Anmeldung bei edu-sharing war erfolgreich.
+admin.test.unsuccessful=Die Anmeldung bei edu-sharing war nicht erfolgreich.
 admin.ticket.valid=G\u00FCltickeitsdauer Ticket (Sekunden)
 admin.title=edu-sharing
 admin.url=URL
diff --git a/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_en.properties
index 6c3ebfe045b..6806df880bf 100644
--- a/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/modules/edusharing/ui/_i18n/LocalStrings_en.properties
@@ -12,6 +12,8 @@ admin.soap.key.generate.confirm=Do you want to generate new keys? The old keys w
 admin.soap.key.generate.error=Error while generating new keys.
 admin.soap.key.generate=Generate keys
 admin.soap.key.public=Public key of OpenOLAT
+admin.test.successful=Login to edu-sharing successful.
+admin.test.unsuccessful=Login to edu-sharing not successful.
 admin.ticket.valid=Valid time of ticket (seconds)
 admin.title=edu-sharing
 admin.url=URL
-- 
GitLab