summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control
diff options
context:
space:
mode:
authorJonathan Bauer2017-12-01 18:31:35 +0100
committerJonathan Bauer2017-12-01 18:31:35 +0100
commit315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7 (patch)
treee7d48dd0d273388db99687496e66d7d0e6343b09 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/control
parentLecture name should not be multiline! (diff)
downloadtutor-module-315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7.tar.gz
tutor-module-315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7.tar.xz
tutor-module-315a8dc67200b9c101cdb4b26dfe944fb5d0f0d7.zip
[netshare] add warning for unencrypted password
+ fix formatting + unused import
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/control')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java65
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java2
2 files changed, 45 insertions, 22 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java
index 7c412f1c..816331a0 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/NetshareConfigurator.java
@@ -8,7 +8,6 @@ import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.EventListener;
import java.util.EventObject;
import java.util.List;
@@ -31,10 +30,12 @@ import javax.swing.event.TableModelListener;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.NetShare;
import org.openslx.bwlp.thrift.iface.NetShareAuth;
+import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.control.ComboBox.ComboBoxRenderer;
import org.openslx.dozmod.gui.control.table.NetshareTable;
import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.helper.GridManager;
+import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.util.FormatHelper;
/**
@@ -48,7 +49,9 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
// mount points / win drive letters - ideally, we would check whether the image is linux or windows based
// and either show a drive selection list like this one, or a textfield for a user-defined mount point...
- private Character[] mountPoints = { 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
+ private Character[] mountPoints = { 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',
+ 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
+
public NetshareConfigurator() {
super();
@@ -56,7 +59,8 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
tblNetshare.getModel().addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
- fireNetshareConfigurationChangeEvent(new NetshareConfigurationChangeEvent(NetshareConfigurator.this));
+ fireNetshareConfigurationChangeEvent(
+ new NetshareConfigurationChangeEvent(NetshareConfigurator.this));
}
});
@@ -129,8 +133,9 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
return;
}
input.displayname = inputShareName;
-
- NetShareAuth inputNetShareAuth = cboNetshareAuth.getItemAt(cboNetshareAuth.getSelectedIndex());
+
+ NetShareAuth inputNetShareAuth = cboNetshareAuth
+ .getItemAt(cboNetshareAuth.getSelectedIndex());
if (inputNetShareAuth == null) {
lblError.setText("Kein Authentifizierungstyp angegeben!");
return;
@@ -146,7 +151,6 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
input.username = tfUsername.getText();
char[] inputPassword = tfPassword.getPassword();
input.password = new String(inputPassword);
- Arrays.fill(inputPassword, '0'); // prolly not relevant/sufficiant...
// if password is set but no username, error
if (!input.password.isEmpty() && input.username.isEmpty()) {
lblError.setText("Kein Nutzername angegeben!");
@@ -163,7 +167,8 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
return;
}
// now check for optional mount path
- Character inputMountPoint = cboNetshareMountPoint.getItemAt(cboNetshareMountPoint.getSelectedIndex());
+ Character inputMountPoint = cboNetshareMountPoint
+ .getItemAt(cboNetshareMountPoint.getSelectedIndex());
if (inputMountPoint == null) {
lblError.setText("Kein Ziel angegeben!");
return;
@@ -187,12 +192,23 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
LOGGER.error("Network share already in the list, aborting.");
return;
}
+ // if a password is set, warn the user about its unsafe storage
+ // which we might want to implement one day...
+ if (input.password != null && !input.password.isEmpty()) {
+ if (!Gui.showMessageBox(
+ "Das eingebene Passwort wird im Klartext gespeichert "
+ + "und ist in der VM für jeden Nutzer sichtbar.\n"
+ + "Verwenden Sie auf keinen Fall sicherheitskritische Passwörter!"
+ + "\n\nMöchten Sie diesen Netzwerk-Share trotzdem hinzufügen?",
+ MessageType.QUESTION_YESNO, LOGGER, null)) {
+ return;
+ }
+ }
lblError.setText(null);
tblNetshareData.add(input);
tblNetshare.getModel().setData(tblNetshareData);
- }
}
- );
+ });
btnDel.addActionListener(new ActionListener() {
@Override
@@ -264,11 +280,13 @@ public class NetshareConfigurator extends NetshareConfiguratorLayout {
public void stateChanged(NetshareConfigurationChangeEvent event);
}
- public void addNetshareConfigurationChangeEventListener(NetshareConfigurationChangeEventListener listener) {
+ public void addNetshareConfigurationChangeEventListener(
+ NetshareConfigurationChangeEventListener listener) {
listenerList.add(NetshareConfigurationChangeEventListener.class, listener);
}
- public void removeNetshareConfigurationChangeEventListener(NetshareConfigurationChangeEventListener listener) {
+ public void removeNetshareConfigurationChangeEventListener(
+ NetshareConfigurationChangeEventListener listener) {
listenerList.remove(NetshareConfigurationChangeEventListener.class, listener);
}
@@ -292,7 +310,8 @@ class NetshareConfiguratorLayout extends JPanel {
private final static String txtNetshareDesc = "Hier können Sie Netzlaufwerke angeben,"
+ " die automatisch beim Start der Veranstaltung eingebunden werden sollen.";
- protected QLabel lblShareAuth, lblSharePath, lblShareName, lblMountPoint, lblUsername, lblPassword, lblError;
+ protected QLabel lblShareAuth, lblSharePath, lblShareName, lblMountPoint, lblUsername, lblPassword,
+ lblError;
protected NetshareTable tblNetshare = new NetshareTable();
protected JTextField tfSharePath, tfShareName, tfUsername;
protected JPasswordField tfPassword;
@@ -325,31 +344,35 @@ class NetshareConfiguratorLayout extends JPanel {
grid.nextRow();
JPanel pnlNewShare = new JPanel();
- GridManager gridNewShare = new GridManager(pnlNewShare, 5, true);
+ GridManager gridNewShare = new GridManager(pnlNewShare, 6, true);
pnlNewShare.setBorder(BorderFactory.createTitledBorder("Details"));
lblSharePath = new QLabel("Pfad");
gridNewShare.add(lblSharePath);
tfSharePath = new JTextField();
- gridNewShare.add(tfSharePath, 4).fill(true, false).expand(true, false);
+ gridNewShare.add(tfSharePath, 5).fill(true, false).expand(true, false);
gridNewShare.nextRow();
// bottom form to add a new share
lblShareName = new QLabel("Anzeigename");
lblMountPoint = new QLabel("Ziel");
tfShareName = new JTextField();
-
+ // extra panel for fancy layout purposes...
+ JPanel pnlShareName = new JPanel();
+ pnlShareName.setLayout(new BoxLayout(pnlShareName, BoxLayout.LINE_AXIS));
+ pnlShareName.add(lblShareName);
+ pnlShareName.add(tfShareName);
+ pnlShareName.add(lblMountPoint);
+ pnlShareName.add(cboNetshareMountPoint);
gridNewShare.add(lblShareName);
- gridNewShare.add(tfShareName, 2).fill(true, false).expand(true, false);
- gridNewShare.add(lblMountPoint);
- gridNewShare.add(cboNetshareMountPoint);
+ gridNewShare.add(pnlShareName, 5).fill(true, false).expand(true, false);
gridNewShare.nextRow();
lblShareAuth = new QLabel("Authentifizierung");
gridNewShare.add(lblShareAuth);
- gridNewShare.add(cboNetshareAuth, 4).fill(true, false).expand(true, false);
+ gridNewShare.add(cboNetshareAuth, 5).fill(true, false).expand(true, false);
gridNewShare.nextRow();
lblUsername = new QLabel("Username");
gridNewShare.add(lblUsername);
tfUsername = new JTextField(20);
- gridNewShare.add(tfUsername, 1).fill(true, false).expand(true, false);
+ gridNewShare.add(tfUsername, 2).fill(true, false).expand(true, false);
lblPassword = new QLabel("Passwort");
gridNewShare.add(lblPassword);
tfPassword = new JPasswordField(20);
@@ -360,7 +383,7 @@ class NetshareConfiguratorLayout extends JPanel {
pnlShowPass.setLayout(new BoxLayout(pnlShowPass, BoxLayout.LINE_AXIS));
pnlShowPass.add(Box.createGlue());
pnlShowPass.add(chkShowPass, BorderLayout.LINE_END);
- gridNewShare.add(pnlShowPass, 5).fill(true, false).expand(true, false);
+ gridNewShare.add(pnlShowPass, 6).fill(true, false).expand(true, false);
gridNewShare.nextRow();
grid.add(pnlNewShare, 5).fill(true, false).expand(true, false);
grid.nextRow();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java
index f8e4d138..adeae987 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java
@@ -41,7 +41,7 @@ public class NetshareTable extends ListTable<NetShare> {
if (column == COL_NAME)
return (String) object;
if (column == COL_MOUNT)
- return (String) object;
+ return (String) object + ":";
if (column == COL_PATH)
return (String) object;
if (column == COL_AUTH) {