From 940dd56ad70b235a61842614cec5ba009bfd1e02 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Wed, 18 Sep 2019 18:33:41 +0200 Subject: [PATCH] OO-4256: configuration "Inspire" for vitero --- .../org/olat/modules/vitero/ViteroModule.java | 91 +++++++++++-------- .../ui/ViteroConfigurationController.java | 9 ++ .../ui/ViteroUserToGroupController.java | 2 +- .../ui/_i18n/LocalStrings_de.properties | 3 +- .../ui/_i18n/LocalStrings_en.properties | 1 + 5 files changed, 68 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/olat/modules/vitero/ViteroModule.java b/src/main/java/org/olat/modules/vitero/ViteroModule.java index 4914bdaf0ba..f848266fbeb 100644 --- a/src/main/java/org/olat/modules/vitero/ViteroModule.java +++ b/src/main/java/org/olat/modules/vitero/ViteroModule.java @@ -57,19 +57,19 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { private static final Logger log = Tracing.createLoggerFor(ViteroModule.class); - private static final String ENABLED = "vc.vitero.enabled"; - private static final String PROTOCOL = "protocol"; - private static final String PORT = "port"; - private static final String BASE_URL = "baseUrl"; - private static final String CONTEXT_PATH = "contextPath"; - private static final String ADMIN_LOGIN = "adminLogin"; - private static final String ADMIN_CREDENTIAL = "adminPassword"; - private static final String CUSTOMER_ID = "customerId"; - private static final String OLAT_TIMEZONE_ID = "olatTimeZoneId"; + private static final String PROP_ENABLED = "vc.vitero.enabled"; + private static final String PROP_PROTOCOL = "protocol"; + private static final String PROP_PORT = "port"; + private static final String PROP_BASE_URL = "baseUrl"; + private static final String PROP_CONTEXT_PATH = "contextPath"; + private static final String PROP_ADMIN_LOGIN = "adminLogin"; + private static final String PROP_ADMIN_CREDENTIAL = "adminPassword"; + private static final String PROP_CUSTOMER_ID = "customerId"; + private static final String PROP_OLAT_TIMEZONE_ID = "olatTimeZoneId"; + private static final String PROP_INSPIRE = "inspire"; @Value("${vc.vitero.enabled}") private boolean enabled; - private String displayName; @Value("${vc.vitero.protocol}") private String protocol; @Value("${vc.vitero.port}") @@ -90,6 +90,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { private String cronExpression; @Value("${vc.vitero.deleteVmsUserOnUserDelete}") private boolean deleteVmsUserOnUserDelete; + @Value("${vc.vitero.inspire:true}") + private boolean inspire; private final Scheduler scheduler; @@ -101,44 +103,49 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { @Override public void init() { - String enabledObj = getStringPropertyValue(ENABLED, true); + String enabledObj = getStringPropertyValue(PROP_ENABLED, true); if(StringHelper.containsNonWhitespace(enabledObj)) { enabled = "true".equals(enabledObj); } - String protocolObj = getStringPropertyValue(PROTOCOL, true); + String protocolObj = getStringPropertyValue(PROP_PROTOCOL, true); if(StringHelper.containsNonWhitespace(protocolObj)) { protocol = protocolObj; } - String portObj = getStringPropertyValue(PORT, true); + String portObj = getStringPropertyValue(PROP_PORT, true); if(StringHelper.containsNonWhitespace(portObj)) { port = Integer.parseInt(portObj); } - String baseUrlObj = getStringPropertyValue(BASE_URL, true); + String baseUrlObj = getStringPropertyValue(PROP_BASE_URL, true); if(StringHelper.containsNonWhitespace(baseUrlObj)) { baseUrl = baseUrlObj; } - String contextPathObj = getStringPropertyValue(CONTEXT_PATH, true); + String contextPathObj = getStringPropertyValue(PROP_CONTEXT_PATH, true); if(StringHelper.containsNonWhitespace(contextPathObj)) { contextPath = contextPathObj; } - String adminLoginObj = getStringPropertyValue(ADMIN_LOGIN, true); + String adminLoginObj = getStringPropertyValue(PROP_ADMIN_LOGIN, true); if(StringHelper.containsNonWhitespace(adminLoginObj)) { adminLogin = adminLoginObj; } - String adminPasswordObj = getStringPropertyValue(ADMIN_CREDENTIAL, true); + String adminPasswordObj = getStringPropertyValue(PROP_ADMIN_CREDENTIAL, true); if(StringHelper.containsNonWhitespace(adminPasswordObj)) { adminPassword = adminPasswordObj; } - String customerIdObj = getStringPropertyValue(CUSTOMER_ID, true); + String customerIdObj = getStringPropertyValue(PROP_CUSTOMER_ID, true); if(StringHelper.containsNonWhitespace(customerIdObj)) { customerId = Integer.parseInt(customerIdObj); } - String olatTimeZoneIdObj = getStringPropertyValue(OLAT_TIMEZONE_ID, true); + String olatTimeZoneIdObj = getStringPropertyValue(PROP_OLAT_TIMEZONE_ID, true); if(StringHelper.containsNonWhitespace(olatTimeZoneIdObj)) { olatTimeZoneId = olatTimeZoneIdObj; } + String inspireObj = getStringPropertyValue(PROP_INSPIRE, true); + if(StringHelper.containsNonWhitespace(inspireObj)) { + inspire = "true".equals(inspireObj); + } + initCronJob(); } @@ -222,7 +229,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setEnabled(boolean enabled) { - setBooleanProperty(ENABLED, enabled, true); + this.enabled = enabled; + setBooleanProperty(PROP_ENABLED, enabled, true); } /** @@ -234,7 +242,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setTimeZoneId(String timeZoneId) { - setStringProperty(OLAT_TIMEZONE_ID, timeZoneId, true); + this.olatTimeZoneId = timeZoneId; + setStringProperty(PROP_OLAT_TIMEZONE_ID, timeZoneId, true); } public String getProtocol() { @@ -242,7 +251,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setProtocol(String protocol) { - setStringProperty(PROTOCOL, protocol == null ? "" : protocol, true); + this.protocol = protocol; + setStringProperty(PROP_PROTOCOL, protocol == null ? "" : protocol, true); } public int getPort() { @@ -250,7 +260,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setPort(int port) { - setStringProperty(PORT, Integer.toString(port), true); + this.port = port; + setStringProperty(PROP_PORT, Integer.toString(port), true); } public String getBaseUrl() { @@ -258,7 +269,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setBaseUrl(String baseUrl) { - setStringProperty(BASE_URL, baseUrl == null ? "" : baseUrl, true); + this.baseUrl = baseUrl; + setStringProperty(PROP_BASE_URL, baseUrl == null ? "" : baseUrl, true); } public String getContextPath() { @@ -266,15 +278,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setContextPath(String contextPath) { - setStringProperty(CONTEXT_PATH, contextPath == null ? "" : contextPath, true); - } - - public String getDisplayName() { - return displayName; - } - - public void setDisplayName(String displayName) { - this.displayName = displayName; + this.contextPath = contextPath; + setStringProperty(PROP_CONTEXT_PATH, contextPath == null ? "" : contextPath, true); } public String getAdminLogin() { @@ -282,7 +287,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setAdminLogin(String adminLogin) { - setStringProperty(ADMIN_LOGIN, adminLogin, true); + this.adminLogin = adminLogin; + setStringProperty(PROP_ADMIN_LOGIN, adminLogin, true); } public String getAdminPassword() { @@ -290,7 +296,8 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setAdminPassword(String adminPassword) { - setStringProperty(ADMIN_CREDENTIAL, adminPassword, true); + this.adminPassword = adminPassword; + setStringProperty(PROP_ADMIN_CREDENTIAL, adminPassword, true); } public int getCustomerId() { @@ -298,6 +305,18 @@ public class ViteroModule extends AbstractSpringModule implements ConfigOnOff { } public void setCustomerId(int customerId) { - setStringProperty(CUSTOMER_ID, Integer.toString(customerId), true); + this.customerId = customerId; + setStringProperty(PROP_CUSTOMER_ID, Integer.toString(customerId), true); } + + public boolean isInspire() { + return inspire; + } + + public void setInspire(boolean enableInspire) { + inspire = enableInspire; + setStringProperty(PROP_INSPIRE, Boolean.toString(enableInspire), true); + } + + } \ No newline at end of file diff --git a/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java b/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java index 0392aefb24c..14725395ab2 100644 --- a/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java +++ b/src/main/java/org/olat/modules/vitero/ui/ViteroConfigurationController.java @@ -65,6 +65,7 @@ public class ViteroConfigurationController extends FormBasicController { private TextElement passwordEl; private TextElement customerEl; private MultipleSelectionElement viteroEnabled; + private MultipleSelectionElement inspireEnabled; private SingleSelection timeZoneEl; private static final String[] enabledKeys = new String[]{"on"}; @@ -116,6 +117,11 @@ public class ViteroConfigurationController extends FormBasicController { timeZoneEl = uifactory.addDropdownSingleselect("option.olatTimeZone", moduleFlc, timeZoneKeys, timeZoneValues, null); timeZoneEl.select(viteroModule.getTimeZoneId(), true); + inspireEnabled = uifactory.addCheckboxesHorizontal("option.inspire", moduleFlc, enabledKeys, enabledValues); + if(viteroModule.isInspire()) { + inspireEnabled.select(enabledKeys[0], true); + } + //account configuration String vmsUri = viteroModule.getVmsURI().toString(); urlEl = uifactory.addTextElement("vitero-url", "option.baseurl", 255, vmsUri, moduleFlc); @@ -166,6 +172,9 @@ public class ViteroConfigurationController extends FormBasicController { String timeZoneId = timeZoneEl.getSelectedKey(); viteroModule.setTimeZoneId(timeZoneId); } + + viteroModule.setInspire(inspireEnabled.isAtLeastSelected(1)); + } catch (URISyntaxException e) { logError("", e); urlEl.setErrorKey("error.url.invalid", null); diff --git a/src/main/java/org/olat/modules/vitero/ui/ViteroUserToGroupController.java b/src/main/java/org/olat/modules/vitero/ui/ViteroUserToGroupController.java index 705eb6e87ec..5705ebe5f19 100644 --- a/src/main/java/org/olat/modules/vitero/ui/ViteroUserToGroupController.java +++ b/src/main/java/org/olat/modules/vitero/ui/ViteroUserToGroupController.java @@ -100,7 +100,7 @@ public class ViteroUserToGroupController extends BasicController { mainVC = createVelocityContainer("user_admin"); TableGuiConfiguration tableConfig = new TableGuiConfiguration(); - tableConfig.setTableEmptyMessage(translate("vc.table.empty")); + tableConfig.setTableEmptyMessage(translate("users.empty")); Translator trans = UserManager.getInstance().getPropertyHandlerTranslator(getTranslator()); tableCtr = new TableController(tableConfig, ureq, getWindowControl(), trans, true); diff --git a/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_de.properties index 6ace4436088..4c4865e7c19 100644 --- a/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_de.properties @@ -64,7 +64,8 @@ option.baseurl=URL vitero Server option.baseurl.example=https://vms3.vitero.de/vitero option.adminlogin=Web Service Benutzername option.adminpassword=Web Service Passwort -option.customerId=Kundenidentifikator +option.customerId=Kundenidentifikator +option.inspire="Inspire" Client error.remoteException=$\:error.unkown error.unkown=Ein unerwarteter Fehler ist aufgetreten. error.userDoesntExist=Dieser Benutzer existiert nicht. diff --git a/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_en.properties index 7447b93d081..082a2eeaf98 100644 --- a/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/vitero/ui/_i18n/LocalStrings_en.properties @@ -62,6 +62,7 @@ option.adminpassword=Web service password option.baseurl=URL vitero server option.baseurl.example=https://vms3.vitero.de/vitero option.customerId=Client identifyer +option.inspire="Inspire" client option.olatTimeZone=Time Zone OLAT server reload=Reload role.assistant=Assistant -- GitLab