summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui
diff options
context:
space:
mode:
authorJonathan Bauer2019-01-31 16:22:50 +0100
committerJonathan Bauer2019-01-31 16:22:50 +0100
commite025340c3e3056ca050b52ad05271a43846a2642 (patch)
tree733ca7ea725a84f5870827f7e89e3f9c08b59680 /dozentenmodul/src/main/java/org/openslx/dozmod/gui
parent[*] Fix accidental use of Boolean.getBoolean. (-> .parseBoolean()) (diff)
downloadtutor-module-e025340c3e3056ca050b52ad05271a43846a2642.tar.gz
tutor-module-e025340c3e3056ca050b52ad05271a43846a2642.tar.xz
tutor-module-e025340c3e3056ca050b52ad05271a43846a2642.zip
[client] introduce branding, --dump and --pack
Application name, service name, master server endpoints, documentation websites needed to be configurable to allow for an easy rebranding of the suite. Two new options allow this: use '--dump <folder>' to dump the jar's configurable files into that folder. Aside from text templates in 'txt', logos and icons in 'img', the 'branding.properties' file contains: * masterserver.address : self-explanatory * application.name : name to be shown on graphical elements like the main window * service.name : name to be used as a prefix for formulation like 'bwLehrpool-Team' or 'bwLehrpool-System' etc * service.faq.website : link to FAQ website * service.email : support contact address Once edited, the whole folder can be integrated into the Suite with '--pack <folder> <new_jar>'. The path to the new jar is then the rebranded version of the suite.
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java9
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetshareConfigurator.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/BwIdmLinkWindow.java3
-rwxr-xr-xdozentenmodul/src/main/java/org/openslx/dozmod/gui/window/DisclaimerWindow.java46
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java5
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImagePublishedWindow.java5
-rwxr-xr-xdozentenmodul/src/main/java/org/openslx/dozmod/gui/window/PrivacyNoticeWindow.java98
-rwxr-xr-xdozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ConfigWindowLayout.java3
-rwxr-xr-xdozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/GenericNoticeWindowLayout.java3
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java5
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java3
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java3
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java4
15 files changed, 95 insertions, 107 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
index 051def34..11b02f58 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/MainWindow.java
@@ -32,6 +32,7 @@ import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.SatelliteStatus;
import org.openslx.bwlp.thrift.iface.TransferState;
import org.openslx.dozmod.App;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.filetransfer.DownloadTask;
import org.openslx.dozmod.filetransfer.PassiveTransfer;
@@ -129,7 +130,7 @@ public abstract class MainWindow {
mainWindow = Gui.syncExec(new GuiCallable<JFrame>() {
@Override
public JFrame run() {
- return new JFrame("bwLehrpool-Suite");
+ return new JFrame(Branding.getApplicationName());
}
});
mainContainer = Gui.syncExec(new GuiCallable<JPanel>() {
@@ -166,7 +167,7 @@ public abstract class MainWindow {
});
// Set up thrift error message displaying
- ThriftManager.setMasterErrorCallback(new GuiErrorCallback(mainWindow, "dem bwLehrpool-Zentralserver"));
+ ThriftManager.setMasterErrorCallback(new GuiErrorCallback(mainWindow, "dem " + Branding.getServiceName() + "-Zentralserver"));
ThriftManager.setSatelliteErrorCallback(new GuiErrorCallback(mainWindow, "dem Satellitenserver"));
// Same for config errors
@@ -287,7 +288,7 @@ public abstract class MainWindow {
// Show main menu by default
showPage(MainMenuWindow.class);
createMenu();
- mainWindow.setTitle("bwLehrpool-Suite - " + Session.getFirstName() + " " + Session.getLastName() + " ["
+ mainWindow.setTitle(Branding.getApplicationName() + " - " + Session.getFirstName() + " " + Session.getLastName() + " ["
+ Session.getSatelliteAddress() + "]");
if (DisclaimerWindow.shouldBeShown()) {
DisclaimerWindow.open(mainWindow);
@@ -433,7 +434,7 @@ public abstract class MainWindow {
JMenuItem disclaimerItem = new JMenuItem("Nutzungsvereinbarung");
JMenuItem privacyNoticeItem = new JMenuItem("Datenschutzerklärung");
JMenuItem virtualizerNoticeItem = new JMenuItem("Virtualisierer");
- JMenuItem wikiItem = new JMenuItem("www.bwlehrpool.de");
+ JMenuItem wikiItem = new JMenuItem(Branding.getServiceFAQWebsite());
JMenuItem updateCheckItem = new JMenuItem("Software-Aktualisierung");
cascadeAboutMenu.add(disclaimerItem);
cascadeAboutMenu.add(privacyNoticeItem);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetshareConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetshareConfigurator.java
index ec0c9009..37abf135 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetshareConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetshareConfigurator.java
@@ -151,7 +151,7 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
input.auth = inputNetShareAuth;
switch (inputNetShareAuth) {
case LOGIN_USER:
- // this uses the bwLehrpool client's logged in user
+ // this uses the service client's logged in user
// we don't need to have anything
break;
case OTHER_USER:
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/BwIdmLinkWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/BwIdmLinkWindow.java
index f97f0330..d24378ab 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/BwIdmLinkWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/BwIdmLinkWindow.java
@@ -17,6 +17,7 @@ import javax.swing.JPanel;
import javax.swing.JTextArea;
import org.apache.log4j.Logger;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.authentication.ShibbolethEcp;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.GridManager;
@@ -30,7 +31,7 @@ import org.openslx.dozmod.util.DesktopEnvironment;
public class BwIdmLinkWindow extends JDialog implements UiFeedback {
private static final String title = "Registrierung erforderlich";
private static final String infoText = "<html><body style='width:100%'>"
- + "Sie sind nicht bei bwLehrpool registriert. "
+ + "Sie sind nicht bei " + Branding.getServiceName() + " registriert. "
+ "Bitte rufen Sie die angegebene Seite auf um sich zu registrieren und versuchen Sie es erneut."
+ "</body></html>";
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/DisclaimerWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/DisclaimerWindow.java
index cc763152..5289841e 100755
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/DisclaimerWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/DisclaimerWindow.java
@@ -3,9 +3,19 @@ package org.openslx.dozmod.gui.window;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import javax.xml.bind.DatatypeConverter;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.log4j.Logger;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.gui.helper.UiFeedback;
+import org.openslx.dozmod.util.ResourceLoader;
/**
* Window for showing the disclaimer.
@@ -13,40 +23,46 @@ import org.openslx.dozmod.gui.helper.UiFeedback;
@SuppressWarnings("serial")
public class DisclaimerWindow extends GenericNoticeWindow implements UiFeedback {
- /**
- * Use a version number for the disclaimer. Whenever we add/change
- * something, this will be increased
- */
- public static final int DISCLAIMER_VERSION = 1;
- protected String notice = "bwLehrpool-Suite (Dozentenmodul)\nCopyright © 2016 Universität Freiburg\n\n"
- + "Die Verwendung dieses Programms ist nur in Abstimmung mit der jeweils beteiligten Hochschulinstitution zulässig und unterliegt deren Bestimmungen und Einschränkungen. Im Rahmen des bwLehrpool-Systems erstellte und bereitgestellte Virtuelle Maschinen, die unfrei lizensierte Software enthalten, dürfen nur mit Erlaubnis bzw. Lizenzierung der betreffenden Rechteinhaber eingesetzt und weitergegeben werden.\n\n"
- + "Insbesondere wird ausdrücklich darauf hingewiesen, dass die Verantwortung in Bezug auf eventuell notwendige Lizenzierung sämtlicher Software innerhalb einer Virtuellen Maschine, regelmäßiger Aktualisierung und rechtzeitigen Einspielens von Sicherheitsupdates ausschließlich beim erstellenden Personal liegt.\n\n\n"
- + "Lizenzierung des Programms\n\n"
- + "Dieses Programm ist freie Software. Es kann unter den Bedingungen der GNU General Public License (GPL) Version 2 verändert und weitergegeben werden. Der vollständige Text der GNU General Public Licence der Version 2 (GPL2) kann hier http://www.gnu.org/licenses/old-licenses/gpl-2.0.html eingesehen werden.\n\n"
- + "Es wird, soweit gesetzlich zulässig, keinerlei Gewährleistung für dieses Programm, weder ausdrücklich noch implizit, geleistet. Der Urheberrechtsinhaber stellt das Programm „wie es ist“ zur Verfügung. Es werden einschließlich Marktreife oder Verwendbarkeit für einen bestimmten Zweck keinerlei Eigenschaften zugesichert."
- + "Das volle Risiko bezüglich Qualität, Leistungsfähigkeit oder jeglicher allgemeiner oder spezieller Schäden, Schäden durch Nebenwirkungen oder Folgeschäden, die aus Benutzung oder Unbenutzbarkeit des Programms folgen (einschließlich Datenverlusten oder fehlerhafter Verarbeitung von Daten)liegt auf Seiten des Anwenders / der Anwenderin.\n\n";
+ private final static Logger LOGGER = Logger.getLogger(PrivacyNoticeWindow.class);
final DisclaimerWindow me = this;
+ protected String DISCLAIMER_NOTICE;
+ private static String DISCLAIMER_NOTICE_MD5 = null;
+ private static String DISCLAIMER_NOTICE_CONTENT = null;
+
+ static {
+ try (InputStream noticeStream = ResourceLoader.getStream("/txt/disclaimer_notice")) {
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ byte[] content = IOUtils.toByteArray(noticeStream);
+ md.update(content);
+ byte[] md5 = md.digest();
+ DISCLAIMER_NOTICE_CONTENT = new String(content, StandardCharsets.UTF_8);
+ DISCLAIMER_NOTICE_MD5 = DatatypeConverter.printHexBinary(md5);
+ } catch (IOException | NoSuchAlgorithmException e) {
+ LOGGER.error("Failed to get hash of disclaimer notice: ", e);
+ }
+ }
+
public DisclaimerWindow(Frame modalParent) {
super(modalParent, shouldBeShown());
// Set the actual text
- setNoticeText(notice);
+ setNoticeText(DISCLAIMER_NOTICE_CONTENT);
// function for continue button
btnContinue.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// save the agreement to config
- Config.setDisclaimerAgreement(DISCLAIMER_VERSION);
+ Config.setDisclaimerAgreement(DISCLAIMER_NOTICE_MD5);
me.dispose();
}
});
}
public static boolean shouldBeShown() {
- return Config.getDisclaimerAgreement() < DISCLAIMER_VERSION;
+ return !Config.getDisclaimerAgreement().equals(DISCLAIMER_NOTICE_MD5);
}
public static void open(Frame modalParent) {
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
index 1dacf8df..396e58a6 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java
@@ -40,6 +40,7 @@ import org.openslx.bwlp.thrift.iface.OperatingSystem;
import org.openslx.bwlp.thrift.iface.ShareMode;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.bwlp.thrift.iface.Virtualizer;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.changemonitor.AbstractControlWrapper;
@@ -536,8 +537,8 @@ public class ImageDetailsWindow extends ImageDetailsWindowLayout implements UiFe
// Inform user
Gui.showMessageBox(ImageDetailsWindow.this,
"Die Übertragung läuft direkt zwischen Satellitenserver und"
- + " dem Zentral-Server in Freiburg.\n"
- + "Wenn Sie die bwLehrpool-Suite schließen, wird der Transfer trotzdem"
+ + " dem " + Branding.getServiceName() + " Zentral-Server.\n"
+ + "Wenn Sie die " + Branding.getApplicationName() + " schließen, wird der Transfer trotzdem"
+ "weiterlaufen.",
MessageType.INFO, null, null);
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImagePublishedWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImagePublishedWindow.java
index c81af1a6..b02b5cf7 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImagePublishedWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImagePublishedWindow.java
@@ -27,6 +27,7 @@ import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.bwlp.thrift.iface.Organization;
import org.openslx.bwlp.thrift.iface.UserInfo;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.control.table.ListTable.ListModel;
@@ -118,8 +119,8 @@ public class ImagePublishedWindow extends ImagePublishedWindowLayout implements
MainWindow.addPassiveTransfer(transferToken, item.imageName, false);
Gui.showMessageBox(ImagePublishedWindow.this,
"Die Übertragung läuft direkt zwischen Satellitenserver und"
- + " dem Zentral-Server in Freiburg.\n"
- + "Wenn Sie die bwLehrpool-Suite schließen, wird der Transfer trotzdem"
+ + " dem " + Branding.getServiceName() + " Zentral-Server.\n"
+ + "Wenn Sie die " + Branding.getApplicationName() + " schließen, wird der Transfer trotzdem"
+ "weiterlaufen.",
MessageType.INFO, null, null);
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/PrivacyNoticeWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/PrivacyNoticeWindow.java
index 9e6ffd7d..eed17d34 100755
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/PrivacyNoticeWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/PrivacyNoticeWindow.java
@@ -3,9 +3,19 @@ package org.openslx.dozmod.gui.window;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import javax.xml.bind.DatatypeConverter;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.log4j.Logger;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.gui.helper.UiFeedback;
+import org.openslx.dozmod.util.ResourceLoader;
/**
* Window for showing the privacy notice.
@@ -13,93 +23,45 @@ import org.openslx.dozmod.gui.helper.UiFeedback;
@SuppressWarnings("serial")
public class PrivacyNoticeWindow extends GenericNoticeWindow implements UiFeedback {
- /**
- * Use a version number for the privacy notice. Whenever we add/change
- * something, this will be increased
- */
- public static final int PRIVACY_VERSION = 1;
- protected String notice = "Datenschutz \n"
- + "-----------------------------------------------------\n"
- + "Wenn Sie sich an der bwLehrpool-Suite anmelden bzw. diese nutzen, werden "
- + "verschiedene Informationen über Sie erfasst und gespeichert. Die "
- + "nachfolgenden Punkte sollen Ihnen helfen zu verstehen, welche Daten zu "
- + "welchem Zweck verwendet werden und wohin Sie sich bei Fragen wenden "
- + "können.\n\n"
- + "Was wird gesammelt?\n"
- + "-----------------------------------------------------\n"
- + "Beim Login werden Name, E-Mail, Hochschule sowie Zeitpunkt des letzten "
- + "Logins gespeichert und einer eindeutigen Nutzer-ID zugeordnet. Dies "
- + "umfasst auch Informationen darüber, wann Sie sich für die Nutzung "
- + "erstmalig registriert haben. Außerdem werden Informationen über einige "
- + "Ihrer Aktivitäten innerhalb der bwLehrpool-Suite erfasst "
- + "(beispielsweise wenn Sie eine VM hochladen oder löschen).\n\n"
- + "Wozu werden diese Daten gesammelt?\n"
- + "-----------------------------------------------------\n"
- + "Die Informationen sind notwendig, um VMs und Veranstaltungen Ihnen bzw. "
- + "Ihren Kollegen eindeutig zuordnen und ggf. bei rechtlichen Verstößen "
- + "eingreifen zu können.\n\n"
- + "Wenn Sie VMs herunterladen (vom Satellitenserver oder öffentlichen "
- + "Speicher), möchten Sie sicherlich wissen, von wem eine VM erstellt "
- + "wurde und wen Sie ggf. kontaktieren können, falls die VM nicht wie "
- + "erwartet funktioniert. \n\n"
- + "Außerdem sind Nutzungsdaten für Diagnosezwecke wichtig, damit ein "
- + "Administrator Ihnen helfen kann, falls Sie z.B. Ihre VM nicht mehr "
- + "finden können und vermuten, dass diese von jemandem fälschlicherweise "
- + "gelöscht wurde.\n\n"
- + "Mit wem werden diese Daten geteilt?\n"
- + "-----------------------------------------------------\n"
- + "Die erhobenen Daten werden ausschließlich auf dem Satellitenserver "
- + "gespeichert, mit dem Sie sich während des Logins verbunden haben. "
- + "Dieser steht in der Regel unter der Kontrolle des Rechenzentrums Ihrer "
- + "Hochschule.\n\n"
- + "Bei der erstmaligen Nutzung der Suite wurden Sie aufgefordert, sich "
- + "über ein Webportal zu registrieren. Dies ist notwendig, um Ihre "
- + "Zustimmung zur Speicherung und Verarbeitung Ihrer Daten zum Zweck des "
- + "hochschulübergreifenden VM-Austauschs einzuholen. Die dort angegebenen "
- + "Informationen stehen unter der Verwaltung des bwLehrpool-Teams in "
- + "Freiburg.\n\n"
- + "Wenn Sie eine VM auf den öffentlichen Speicher hochladen, wird die VM "
- + "sowie damit verknüpfte Metadaten (Name des Besitzers/Erstellers, "
- + "Zeitpunkt der Erstellung und letzten Änderung) auf den zentralen Server "
- + "des bwLehrpool-Teams in Freiburg übertragen. Auch Nutzer anderer an "
- + "bwLehrpool teilnehmenden Hochschulen können nun Ihre VM sowie die damit "
- + "verbundenen (Kontakt-)Daten einsehen.\n\n"
- + "Wie lange werden Daten gespeichert?\n"
- + "-----------------------------------------------------\n"
- + "Informationen werden gespeichert, bis sie nicht mehr benötigt werden, "
- + "um die notwendige Funktionalität bereitzustellen. Dies hängt auch von "
- + "Faktoren wie der Art der Informationen, warum sie gesammelt und "
- + "verarbeitet werden sowie den relevanten rechtlichen oder betrieblichen "
- + "Speicherbedürfnissen ab.\n\n"
- + "Wohin kann ich mich bei Fragen wenden?\n"
- + "-----------------------------------------------------\n"
- + "Kontaktieren Sie als erstes Ihr Rechenzentrum. In der Regel wird dort "
- + "der Satellitenserver, mit dem sich Ihre bwLehrpool-Suite standardmäßig "
- + "verbindet, betrieben. Falls Sie dort keinen Ansprechpartner finden, "
- + "können Sie sich an das Entwickler-Team von bwLehrpool "
- + "(bwlehrpool@hs-offenburg.de) wenden. \n\n";
+ private final static Logger LOGGER = Logger.getLogger(PrivacyNoticeWindow.class);
final PrivacyNoticeWindow me = this;
+ private static String PRIVACY_NOTICE_MD5 = null;
+ private static String PRIVACY_NOTICE_CONTENT = null;
+
+ static {
+ try (InputStream noticeStream = ResourceLoader.getStream("/txt/privacy_notice")) {
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ byte[] content = IOUtils.toByteArray(noticeStream);
+ md.update(content);
+ byte[] md5 = md.digest();
+ PRIVACY_NOTICE_CONTENT = new String(content, StandardCharsets.UTF_8);
+ PRIVACY_NOTICE_MD5 = DatatypeConverter.printHexBinary(md5);
+ } catch (IOException | NoSuchAlgorithmException e) {
+ LOGGER.error("Failed to get hash of privacy_notice: ", e);
+ }
+ }
+
public PrivacyNoticeWindow(Frame modalParent) {
super(modalParent, shouldBeShown());
// Set the actual text
- setNoticeText(notice);
+ setNoticeText(PRIVACY_NOTICE_CONTENT);
// function for continue button
btnContinue.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// save the agreement to config
- Config.setPrivacyAgreement(PRIVACY_VERSION);
+ Config.setPrivacyAgreement(PRIVACY_NOTICE_MD5);
me.dispose();
}
});
}
public static boolean shouldBeShown() {
- return Config.getPrivacyAgreement() < PRIVACY_VERSION;
+ return !Config.getPrivacyAgreement().equals(PRIVACY_NOTICE_MD5);
}
public static void open(Frame modalParent) {
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ConfigWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ConfigWindowLayout.java
index f2f8bfbe..bf37dc42 100755
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ConfigWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ConfigWindowLayout.java
@@ -18,6 +18,7 @@ import javax.swing.JSlider;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.QLabel;
@@ -27,7 +28,7 @@ import org.openslx.dozmod.gui.helper.GridManager;
@SuppressWarnings("serial")
public class ConfigWindowLayout extends JDialog {
- private static String title = "bwLehrpool Suite - Konfiguration";
+ private static String title = Branding.getApplicationName() + " - Konfiguration";
protected final JRadioButton btnProxyNone;
protected final JRadioButton btnProxyAuto;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/GenericNoticeWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/GenericNoticeWindowLayout.java
index 022950d1..bd28189a 100755
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/GenericNoticeWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/GenericNoticeWindowLayout.java
@@ -13,6 +13,7 @@ import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.helper.GridManager;
@@ -26,7 +27,7 @@ public abstract class GenericNoticeWindowLayout extends JDialog {
protected String checkboxText = "Ja, ich akzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen.";
- private static String title = "bwLehrpool-Suite";
+ private static String title = Branding.getApplicationName();
private static String noticeLabel = "Hinweis";
private static String continueButtonLabel = "Weiter";
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java
index 4eae542c..0dc3cee2 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureDetailsWindowLayout.java
@@ -26,6 +26,7 @@ import javax.swing.text.DateFormatter;
import org.jdatepicker.JDatePicker;
import org.openslx.bwlp.thrift.iface.ImageVersionDetails;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.configurator.LdapFilterConfigurator;
import org.openslx.dozmod.gui.configurator.LecturePermissionConfigurator;
@@ -317,8 +318,8 @@ public abstract class LectureDetailsWindowLayout extends JDialog {
grdRestrictions.add(
new WordWrapLabel(
"Markieren Sie diese Veranstaltung als E-Prüfung.\n"
- + "Die Veranstaltung wird nur dann startbar sein, wenn bwLehrpool in den"
- + " Prüfungsmodus versetzt wird. Kontaktieren Sie dazu Ihren lokalen bwLehrpool-Administrator.",
+ + "Die Veranstaltung wird nur dann startbar sein, wenn " + Branding.getServiceName() + " in den"
+ + " Prüfungsmodus versetzt wird. Kontaktieren Sie dazu Ihren lokalen " + Branding.getServiceName() + "-Administrator.",
false, true), 2)
.fill(true, false)
.expand(true, false)
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
index 6705ac20..18e7133e 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
@@ -19,6 +19,7 @@ import javax.swing.border.TitledBorder;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.Organization;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.ComboBox;
import org.openslx.dozmod.gui.control.ComboBox.ComboBoxRenderer;
@@ -47,7 +48,7 @@ public abstract class LoginWindowLayout extends JDialog {
// authentication method to use for login attempts
protected LOGIN_TYPE loginType = null;
- private static final String TITLE = "bwLehrpool-Suite - Login";
+ private static final String TITLE = Branding.getApplicationName() + " - Login";
private static final String AUTH_TYPE_LABEL = "Authentifizierungsart";
private static final String LOGIN_FORM_LABEL = "Zugangsdaten";
private static final String ADVANCED_LABEL = "Erweitert";
@@ -176,12 +177,12 @@ public abstract class LoginWindowLayout extends JDialog {
}
/**
- * @return ImageIcon of the standard bwLehrpool logo scaled to the login
+ * @return ImageIcon of the standard service logo scaled to the login
* window size
*/
private ImageIcon getScaledLogo() {
try {
- ImageIcon image = ResourceLoader.getIcon("/img/bwLehrpool-logo.png");
+ ImageIcon image = ResourceLoader.getIcon("/img/service-logo.png");
Rectangle screenSize = Gui.getMonitorFromRectangle(getBounds(), true)
.getDefaultConfiguration()
.getBounds();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java
index 045ec5eb..88b49bae 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java
@@ -4,6 +4,7 @@ import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.gui.helper.CompositePage;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.util.ResourceLoader;
@@ -31,7 +32,7 @@ public abstract class MainMenuWindowLayout extends CompositePage {
protected final JButton btnShowLectures;
public MainMenuWindowLayout() {
- this.setBorder(BorderFactory.createTitledBorder("bwLehrpool-Suite Hauptmenü"));
+ this.setBorder(BorderFactory.createTitledBorder(Branding.getApplicationName() + " Hauptmenü"));
GridManager grid = new GridManager(this, 2);
lblVirtualMachinesLogo = new JLabel(ResourceLoader.getIcon("/img/virtualization.png", "VM-Übersicht"));
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java
index f4ef24b2..8509eee6 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java
@@ -11,6 +11,7 @@ import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.GridManager;
@@ -18,7 +19,7 @@ import org.openslx.dozmod.gui.helper.GridManager;
public abstract class VirtualizerNoticeWindowLayout extends JDialog {
private static final String title = "Hinweis VMWare Player";
private static final String infoText = "<html><body style='width:100%'>"
- + "Für die Arbeit mit der bwLehrpool-Suite wird zwingend der <b>VMWare Player</b> benötigt. "
+ + "Für die Arbeit mit der " + Branding.getApplicationName() + " wird zwingend der <b>VMWare Player</b> benötigt. "
+ "Diesen können Sie sich unter folgendem Link kostenfrei herunterladen. "
+ "Wenn Sie bereits den VMWare Player oder die VMWare Workstation installiert haben, können Sie diesen Hinweis ignorieren."
+ "</body></html>";
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
index 16ca257e..d0431b2e 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
@@ -16,6 +16,7 @@ import javax.swing.filechooser.FileNameExtensionFilter;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.bwlp.thrift.iface.Virtualizer;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.MessageType;
@@ -33,7 +34,6 @@ import org.openslx.sat.thrift.version.Feature;
import org.openslx.thrifthelper.TConst;
import org.openslx.util.vm.DiskImage;
import org.openslx.util.vm.DiskImage.UnknownImageFormatException;
-import org.openslx.util.vm.UnsupportedVirtualizerFormatException;
import org.openslx.util.vm.VmMetaData;
import org.openslx.util.vm.VmMetaData.HardDisk;
import org.openslx.util.vm.VmwareMetaData;
@@ -203,7 +203,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
// Warn user about snapshot
if (diskImage.isSnapshot || state.meta.isMachineSnapshot()) {
Gui.showMessageBox("Von der ausgewählten VM wurde ein Snapshot erstellt. In diesem Zustand kann\n"
- + "die VM leider nicht ins bwLehrpool-System geladen werden. Bitte konsolidieren Sie zunächst\n"
+ + "die VM leider nicht ins " + Branding.getServiceName() + "-System geladen werden. Bitte konsolidieren Sie zunächst\n"
+ "den Snapshot und versuchen Sie es erneut.", MessageType.WARNING, null, null);
setErrorMessage("Die gewählte VM befindet sich im Snapshot-Zustand.");
setPageComplete(false);
@@ -212,7 +212,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
if (!diskImage.isStandalone) {
Gui.showMessageBox("Die zu dieser VM gehörige Virtuelle Festplatte ist im Format '"
+ diskImage.subFormat + "'.\n"
- + "Dieses Format wird von bwLehrpool nicht unterstützt. Bitte konvertieren Sie die VM\n"
+ + "Dieses Format wird von " + Branding.getApplicationName() + " nicht unterstützt. Bitte konvertieren Sie die VM\n"
+ "in das Format 'monolithicSparse'.", MessageType.WARNING, null, null);
setErrorMessage("Die VMDK Datei der VM hat ein inkompatibles Format");
setPageComplete(false);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java
index 6370e204..9bac2a17 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadSummaryPage.java
@@ -6,6 +6,7 @@ import java.awt.Window;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageSummaryRead;
import org.openslx.bwlp.thrift.iface.TransferState;
+import org.openslx.dozmod.Branding;
import org.openslx.dozmod.filetransfer.TransferEvent;
import org.openslx.dozmod.filetransfer.TransferEventListener;
import org.openslx.dozmod.gui.Gui;
@@ -14,7 +15,6 @@ import org.openslx.dozmod.gui.wizard.LectureWizard;
import org.openslx.dozmod.gui.wizard.Wizard;
import org.openslx.dozmod.gui.wizard.layout.ImageUploadSummaryPageLayout;
import org.openslx.dozmod.state.UploadWizardState;
-import org.openslx.dozmod.thrift.ThriftActions;
import org.openslx.dozmod.thrift.UploadInitiator.UploadInitState;
import org.openslx.dozmod.thrift.cache.ImageCache;
import org.openslx.util.QuickTimer;
@@ -99,7 +99,7 @@ public class ImageUploadSummaryPage extends ImageUploadSummaryPageLayout {
text = "Die Initialisierung des Uploads auf den Server ist fehlgeschlagen."
+ " Sie können versuchen, den Vorgang erneut zu starten."
+ " Falls das Problem weiterhin besteht,"
- + " kontaktieren Sie den bwLehrpool-Support Ihrer Einrichtung.";
+ + " kontaktieren Sie den " + Branding.getServiceName() + "-Support Ihrer Einrichtung.";
if (state.upload.getErrorMessage() != null) {
text += "<br><br>Weitere Informationen:<br>" + state.upload.getErrorMessage();
}