diff options
Diffstat (limited to 'dozentenmodul/src/main/java')
35 files changed, 2111 insertions, 4083 deletions
diff --git a/dozentenmodul/src/main/java/ftp/DownloadTask.java b/dozentenmodul/src/main/java/ftp/DownloadTask.java index 9bcccdf7..ef95b8da 100644 --- a/dozentenmodul/src/main/java/ftp/DownloadTask.java +++ b/dozentenmodul/src/main/java/ftp/DownloadTask.java @@ -156,11 +156,11 @@ public class DownloadTask extends SwingWorker<Void, Void> { // now we replace the placeholder variables with the real data // for this, we first need to get the image information from the server - LOGGER.debug("Image's ID: " + Image.image.getImageId()); + LOGGER.debug("Image's ID: " + Image.ImageId); Map<String, String> imageData = null; try { imageData = ThriftManager.getSatClient().getImageData( - Image.image.getImageId(), Image.image.getVersion(), + Image.ImageId, Image.Version, SessionData.authToken); } catch (TException e) { LOGGER.error("Thrift exception during transfer, see trace: ", e); @@ -170,8 +170,8 @@ public class DownloadTask extends SwingWorker<Void, Void> { // sanity check, shouldn't happen. if (imageData == null) { LOGGER.error("Could not query the image information from the server!"); - LOGGER.error("Image's ID: " + Image.image.getImageId()); - LOGGER.error("Image's version: " + Image.image.getVersion()); + LOGGER.error("Image's ID: " + Image.ImageId); + LOGGER.error("Image's version: " + Image.Version); return false; } int hardwareVersion = extractHardwareVersion(saveDir + File.separator diff --git a/dozentenmodul/src/main/java/ftp/FTPUtility.java b/dozentenmodul/src/main/java/ftp/FTPUtility.java index 464df1b0..a7f48e4d 100644 --- a/dozentenmodul/src/main/java/ftp/FTPUtility.java +++ b/dozentenmodul/src/main/java/ftp/FTPUtility.java @@ -142,7 +142,7 @@ public class FTPUtility { throw new FTPException("Could not set binary file type."); } - outputStream = ftpClient.storeFileStream(Image.image.getNewName()); + outputStream = ftpClient.storeFileStream(Image.NewName); // ftpClient.rename(uploadFile.getName(), ); } catch (IOException ex) { diff --git a/dozentenmodul/src/main/java/ftp/UploadTask.java b/dozentenmodul/src/main/java/ftp/UploadTask.java index 2579b125..61f81c3b 100644 --- a/dozentenmodul/src/main/java/ftp/UploadTask.java +++ b/dozentenmodul/src/main/java/ftp/UploadTask.java @@ -60,7 +60,7 @@ public class UploadTask extends SwingWorker<Void, Void> { // show filesize in the GUI long fileSize = uploadFile.length(); - Image.image.setFilesize(fileSize); + Image.Filesize = fileSize; firePropertyChange("filesize", 0, fileSize); // prepare input stream diff --git a/dozentenmodul/src/main/java/gui/helper/TableFiller.java b/dozentenmodul/src/main/java/gui/helper/TableFiller.java new file mode 100644 index 00000000..2884ea37 --- /dev/null +++ b/dozentenmodul/src/main/java/gui/helper/TableFiller.java @@ -0,0 +1,41 @@ +package gui.helper; + +import java.util.List; + +import javax.swing.table.DefaultTableModel; + +import org.openslx.sat.thrift.iface.Image; +import org.openslx.sat.thrift.iface.Lecture; + +import util.FormatHelper; + +public class TableFiller { + + public static void fillModelWithImageList(DefaultTableModel model, List<Image> images) { + // TODO: Create model for image JTable + for (Image img : images) { + // erzeuge Objekte fuer die Tabelle + String[] obj = { img.imageName, img.licenseRestriction, img.osName, img.imageName, img.userData, + FormatHelper.mysqlDateToGerman(img.updateTime), img.id, img.version, img.isTemplate, + img.description, FormatHelper.byteToGigabyte((Long.parseLong(img.imageSize)), false) }; + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); + } + } + + public static void fillModelWithLectureList(DefaultTableModel model, List<Lecture> lectures) { + for (Lecture lct : lectures) { + // erzeuge Objekte fuer die Tabelle + String[] obj = { + lct.lecturename, + lct.desc, + FormatHelper.mysqlDateToGerman(lct.starttime) + " " + + FormatHelper.mysqlDateToGerman(lct.endtime), lct.isActive, + FormatHelper.mysqlDateToGerman(lct.lastused), lct.username, lct.imagename, " ", lct.id, }; + // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); + + } + } + +} diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java index a212da9f..b63ac2ae 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java @@ -3,7 +3,6 @@ package gui.image; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -22,8 +21,6 @@ import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -31,14 +28,12 @@ import javax.swing.event.InternalFrameEvent; import models.Image; import models.person; - import util.GuiManager; @SuppressWarnings("serial") public class CreateImageAllgemein_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; private JTextField Vorname; private JTextField Nachname; private JTextField Hochschule; @@ -47,15 +42,13 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { private JTextArea textAreadesc; private final int MAX_DESCRIPTION_LENGTH = 254; private JTextArea txtrGebenSieBitte_1; - Component c = null; - public static final String HELP_MESSAGE = "<html><div align = \"center\">" + - "Hier legen Sie zunächst ein Image an. <br />" + - "Dieses stellt die Grundlage Ihres Labors dar. Das Image ist der \"PC\", mit dem die Studenten arbeiten. <br />" + - "Installieren Sie alle benötigte Software und laden Sie am Ende dieses Prozesses die .vmdk-Datei hoch, um sie zu verwenden.<br />" + - "Um das Image richtig zuordnen zu können, werden hier einige grundlegende Informationen benötigt.<br />" + - "Geben Sie daher bitte einen allgemeinen Namen, sowie eine genauere Beschreibung ihres Images (Labors) an.<br />" + - "</div></html>"; - + public static final String HELP_MESSAGE = "<html><div align = \"center\">" + + "Hier legen Sie zunächst ein Image an. <br />" + + "Dieses stellt die Grundlage Ihres Labors dar. Das Image ist der \"PC\", mit dem die Studenten arbeiten. <br />" + + "Installieren Sie alle benötigte Software und laden Sie am Ende dieses Prozesses die .vmdk-Datei hoch, um sie zu verwenden.<br />" + + "Um das Image richtig zuordnen zu können, werden hier einige grundlegende Informationen benötigt.<br />" + + "Geben Sie daher bitte einen allgemeinen Namen, sowie eine genauere Beschreibung ihres Images (Labors) an.<br />" + + "</div></html>"; /** * Create the dialog. @@ -69,21 +62,9 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { }); // Verhindert das Vergroessern des Fensters setResizable(false); - - - try { - // setzt das Look & Feel - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - //LOGGER.error("Setting look and feel from system failed."); - e.printStackTrace(); - JOptionPane.showMessageDialog(c, - "Konnte das Farbschema des Systems nicht übernehmen.", "Debug-Message", - JOptionPane.ERROR_MESSAGE); - } + // Setzt den Titel - setTitle("bwLehrpool Suite - Image erzeugen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image erzeugen - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster setBounds(0, 0, 603, 722); @@ -117,8 +98,8 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_1.setBounds(10, 66, 557, 369); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -194,11 +175,8 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { imagename.setText((String) null); imagename.setColumns(10); imagename.setBounds(145, 23, 350, 20); - imagename.setText(Image.image.getImagename()); // null am Anfang, aber - // speichert die - // Eingabe, wenn man - // zurueck kommt zur - // Seite + // null am Anfang, aber speichert die Eingabe, wenn man zurueck kommt zur Seite + imagename.setText(Image.Imagename); panel_1.add(imagename); JTextArea txtrGebenSieBitte = new JTextArea(); @@ -224,11 +202,9 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); textAreadesc.setLineWrap(true); textAreadesc.setText((String) null); - textAreadesc.setText(Image.image.getDesc());// null am Anfang, aber - // speichert die Eingabe, - // wenn man zurueck kommt - // zur Seite - + // null am Anfang, aber speichert die Eingabe, wenn man zurueck kommt zur Seite + textAreadesc.setText(Image.Desc); + scrollPane.setViewportView(textAreadesc); txtrGebenSieBitte_1 = new JTextArea(); @@ -290,8 +266,8 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { JButton backButton = new JButton("Zurück"); backButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - Image.image.setImagename(imagename.getText().trim()); - Image.image.setDesc(textAreadesc.getText().trim()); + Image.Imagename = imagename.getText().trim(); + Image.Desc = textAreadesc.getText().trim(); GuiManager.show(new MainMenue_GUI()); } }); @@ -305,18 +281,10 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { // Prüfe Eingabe if (validateContent()) { // Schreibt die Daten in das Model - Image.image.setImagename(imagename.getText().trim()); - Image.image.setDesc(textAreadesc.getText().trim()); - - //LOGGER.info("Alle Eingaben in Ordnung. Imagename= \"" - // + Image.image.getImagename() - // + "\", Imagebeschreibung=\"" - // + Image.image.getDesc()+"\""); - + Image.Imagename = imagename.getText().trim(); + Image.Desc = textAreadesc.getText().trim(); + // Zeige nächsten Schritt an -// CreateImageTechnisch_GUI ea = new CreateImageTechnisch_GUI(); -// ea.setVisible(true); -// dispose(); GuiManager.show(new CreateImageTechnisch_GUI()); } } @@ -341,23 +309,18 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { * Checks if the fields of the form have content, * if the image name has only alpha-numerical characters and * if the image description has less than 254 characters. - * + * * @return true if all fields are set, false otherwise. */ private boolean validateContent() { // check if any text field is empty - if (imagename.getText().trim().isEmpty() - || textAreadesc.getText().trim().isEmpty() - || Vorname.getText().trim().isEmpty() - || Nachname.getText().trim().isEmpty() - || Hochschule.getText().trim().isEmpty() - || EMail.getText().trim().isEmpty()) { + if (imagename.getText().trim().isEmpty() || textAreadesc.getText().trim().isEmpty() + || Vorname.getText().trim().isEmpty() || Nachname.getText().trim().isEmpty() + || Hochschule.getText().trim().isEmpty() || EMail.getText().trim().isEmpty()) { // missing some fields //LOGGER.info("Form has missing fields, warning user."); - JOptionPane.showMessageDialog(c, - "Bitte geben Sie alle notwendigen Daten an!", - "Daten unvollständig", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, "Bitte geben Sie alle notwendigen Daten an!", + "Daten unvollständig", JOptionPane.ERROR_MESSAGE); return false; } @@ -366,23 +329,21 @@ public class CreateImageAllgemein_GUI extends JInternalFrame { // if (!imagename.getText().trim().trim().matches("[a-zA-Z0-9\\x2B\\x2D\\x3A\\x5F]+")) { //LOGGER.info("Image name not alpha-numerical, warn user."); - JOptionPane.showMessageDialog( - c, - "Der Imagename darf nur aus Buchstaben, Zahlen und den Zeichen + - _ : bestehen.", - "Unerlaubte Zeichen", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + "Der Imagename darf nur aus Buchstaben, Zahlen und den Zeichen + - _ : bestehen.", + "Unerlaubte Zeichen", JOptionPane.ERROR_MESSAGE); return false; } // max length for image description is 254 chars if (textAreadesc.getText().trim().length() >= MAX_DESCRIPTION_LENGTH) { - JOptionPane.showMessageDialog(c, - "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie "+textAreadesc.getText().trim().length()+".", - "Beschreibung zu umfangreich", + JOptionPane.showMessageDialog(null, + "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie " + + textAreadesc.getText().trim().length() + ".", "Beschreibung zu umfangreich", JOptionPane.ERROR_MESSAGE); return false; } - + // we passed all tests, return true! return true; } diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java index 71728840..d4f9e614 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java @@ -1,10 +1,8 @@ package gui.image; - import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -25,8 +23,6 @@ import javax.swing.JSpinner; import javax.swing.JTextArea; import javax.swing.JTextPane; import javax.swing.SpinnerNumberModel; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @@ -49,51 +45,26 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { private final static Logger LOGGER = Logger.getLogger(CreateImageTechnisch_GUI.class); private final JPanel contentPanel = new JPanel(); - String[] result; - JSpinner spinnerCPU; - JSpinner spinnerRam; + private JSpinner spinnerCPU; + private JSpinner spinnerRam; private JCheckBox chckbxIsLicensed; private JCheckBox chckbxIsInternetBlocked; - JComboBox<String> comboBox; - Component c = null; - public static final String HELP_MESSAGE = "<html><div align = \"center\">" + - "Geben Sie hier bitte einige technische Daten an, die dann mit dem Image angezeigt werden.<br />" + - "Dies wird beispielsweise benötigt, wenn ein Dozent eine Veranstaltung hat,<br />" + - "die eine hohe Rechnerleistung voraussetzt. Er hat dann die Möglichkeit, sich an diesen Daten zu orientieren und<br />" + - "sie mit den technischen Daten des PC-Pools zu vergleichen."+ - "</div></html>"; - + private JComboBox<String> comboBox; + public static final String HELP_MESSAGE = "<html><div align = \"center\">" + + "Geben Sie hier bitte einige technische Daten an, die dann mit dem Image angezeigt werden.<br />" + + "Dies wird beispielsweise benötigt, wenn ein Dozent eine Veranstaltung hat,<br />" + + "die eine hohe Rechnerleistung voraussetzt. Er hat dann die Möglichkeit, sich an diesen Daten zu orientieren und<br />" + + "sie mit den technischen Daten des PC-Pools zu vergleichen." + "</div></html>"; /** * Create the dialog. */ public CreateImageTechnisch_GUI() { -// addWindowListener(new WindowAdapter() { -// @Override -// public void windowClosing(WindowEvent arg0) { -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// System.exit(0); -// } -// }); setResizable(false); - - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Image erzeugen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image erzeugen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -107,7 +78,7 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); } - + JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); @@ -120,34 +91,33 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - + JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_1.setBounds(10, 36, 557, 166); contentPanel.add(panel_1); panel_1.setLayout(null); - - + JLabel lblInternetIstInnerhalb = new JLabel("Internet ist für dieses Image gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 82, 250, 20); panel_1.add(lblInternetIstInnerhalb); - + JButton btnInternetSettings = new JButton("Einstellungen..."); btnInternetSettings.setEnabled(false); btnInternetSettings.setBounds(439, 81, 108, 23); panel_1.add(btnInternetSettings); - - + JLabel lblNewLabel_2 = new JLabel("Image enthält lizenzpflichtige Software:"); lblNewLabel_2.setBounds(10, 54, 250, 20); panel_1.add(lblNewLabel_2); - + chckbxIsLicensed = new JCheckBox(""); chckbxIsLicensed.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //if windows is selected, always set isLicensed()=true - if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + if (comboBox.getSelectedItem().toString().startsWith("Windows")) { chckbxIsLicensed.setSelected(true); } } @@ -155,34 +125,33 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { chckbxIsLicensed.setSelected(true); chckbxIsLicensed.setBounds(266, 52, 97, 23); panel_1.add(chckbxIsLicensed); - + chckbxIsInternetBlocked = new JCheckBox(""); - chckbxIsInternetBlocked.setSelected(Image.image.isInternet()); + chckbxIsInternetBlocked.setSelected(Image.Internet); chckbxIsInternetBlocked.setBounds(266, 80, 97, 23); chckbxIsInternetBlocked.setEnabled(false); panel_1.add(chckbxIsInternetBlocked); - + JLabel lblLizenzserverEintragen = new JLabel("Lizenzserver eintragen:"); lblLizenzserverEintragen.setBounds(10, 109, 250, 20); panel_1.add(lblLizenzserverEintragen); - + JButton btnLicenseServer = new JButton("Server-Adresse..."); btnLicenseServer.setEnabled(false); btnLicenseServer.setBounds(266, 108, 157, 23); panel_1.add(btnLicenseServer); - JLabel lblBetriebssystem = new JLabel("Betriebssystem:"); lblBetriebssystem.setBounds(10, 21, 250, 20); panel_1.add(lblBetriebssystem); - + // populate comboBox with list of supported OS we get // from the server ... comboBox = new JComboBox<String>(); comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //if windows is selected, always set isLicensed()=true - if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + if (comboBox.getSelectedItem().toString().startsWith("Windows")) { chckbxIsLicensed.setSelected(true); } } @@ -190,7 +159,7 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { List<String> os = null; try { os = ThriftManager.getSatClient().getAllOS(SessionData.authToken); - for(int i=0; i<os.size();i++){ + for (int i = 0; i < os.size(); i++) { comboBox.addItem(os.get(i).toString()); } } catch (TException e1) { @@ -198,73 +167,75 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { LOGGER.error("Could not fetch list of supported OSs from server!"); } comboBox.setBounds(270, 21, 277, 20); - comboBox.setSelectedItem(Image.image.getOS() == null ? os.get(0) : Image.image.getOS()); + comboBox.setSelectedItem(Image.OS == null ? os.get(0) : Image.OS); panel_1.add(comboBox); - + JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 207, 557, 324); contentPanel.add(panel_2); - + JLabel lblGbyte = new JLabel("GByte"); lblGbyte.setBounds(424, 91, 46, 20); panel_2.add(lblGbyte); - + spinnerCPU = new JSpinner(); spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); spinnerCPU.setBounds(385, 188, 29, 20); panel_2.add(spinnerCPU); - + JTextArea txtrBeispielWindows = new JTextArea(); - txtrBeispielWindows.setText("Beispiel:\r\nWindows 7 32/64 Bit: 2 GByte\r\nLinux/Unix 32/64 Bit: 1 GByte"); + txtrBeispielWindows + .setText("Beispiel:\r\nWindows 7 32/64 Bit: 2 GByte\r\nLinux/Unix 32/64 Bit: 1 GByte"); txtrBeispielWindows.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtrBeispielWindows.setBackground(SystemColor.menu); txtrBeispielWindows.setBounds(10, 122, 280, 55); panel_2.add(txtrBeispielWindows); - - - + JLabel lblKerne = new JLabel("Kerne"); lblKerne.setBounds(424, 191, 46, 20); panel_2.add(lblKerne); - + JLabel lblWieVieleCpus = new JLabel("Wie viele CPUs empfehlen Sie für das Image:"); lblWieVieleCpus.setBounds(10, 191, 280, 20); panel_2.add(lblWieVieleCpus); - + spinnerRam = new JSpinner(); spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); spinnerRam.setBounds(385, 88, 29, 20); panel_2.add(spinnerRam); - + JLabel label_3 = new JLabel("mindestens"); label_3.setBounds(315, 191, 60, 20); panel_2.add(label_3); - + JLabel lblMindestens = new JLabel("mindestens"); lblMindestens.setBounds(315, 91, 60, 20); panel_2.add(lblMindestens); - + JTextArea txtrBeispielWindows_1 = new JTextArea(); - txtrBeispielWindows_1.setText("Beispiel:\r\nWindows 7 32/64 Bit: 1 Kern\r\nLinux/Unix 32/64 Bit: 1 Kern"); + txtrBeispielWindows_1 + .setText("Beispiel:\r\nWindows 7 32/64 Bit: 1 Kern\r\nLinux/Unix 32/64 Bit: 1 Kern"); txtrBeispielWindows_1.setFont(new Font("Tahoma", Font.PLAIN, 11)); txtrBeispielWindows_1.setBackground(SystemColor.menu); txtrBeispielWindows_1.setBounds(10, 222, 280, 55); panel_2.add(txtrBeispielWindows_1); - + JLabel lblNewLabel_3 = new JLabel("Wie viel Arbeitsspeicher empfehlen Sie für das Image:"); lblNewLabel_3.setBounds(10, 91, 280, 20); panel_2.add(lblNewLabel_3); - + JTextArea txtrHinweisSolltenSie = new JTextArea(); txtrHinweisSolltenSie.setBackground(SystemColor.menu); txtrHinweisSolltenSie.setFont(new Font("Tahoma", Font.PLAIN, 13)); - txtrHinweisSolltenSie.setText("Hinweis: Sollten Sie keine Software einsetzen, die viele Ressourcen benötigt,\r\nkönnen Sie sich an den Beispielwerten orientieren."); + txtrHinweisSolltenSie + .setText("Hinweis: Sollten Sie keine Software einsetzen, die viele Ressourcen benötigt,\r\nkönnen Sie sich an den Beispielwerten orientieren."); txtrHinweisSolltenSie.setBounds(10, 25, 537, 55); panel_2.add(txtrHinweisSolltenSie); - + JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override @@ -275,20 +246,20 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { lblHauptmen.setForeground(Color.BLUE); lblHauptmen.setBounds(10, 11, 61, 14); contentPanel.add(lblHauptmen); - + JLabel label_1 = new JLabel(">"); label_1.setBounds(69, 11, 13, 14); contentPanel.add(label_1); - + JLabel lblVlimage = new JLabel("Image"); lblVlimage.setForeground(Color.BLUE); lblVlimage.setBounds(81, 11, 45, 14); contentPanel.add(lblVlimage); - + JLabel label_2 = new JLabel(">"); label_2.setBounds(133, 11, 13, 14); contentPanel.add(label_2); - + JLabel lblNewLabel_1 = new JLabel("Neu"); lblNewLabel_1.setBounds(146, 11, 155, 14); contentPanel.add(lblNewLabel_1); @@ -298,48 +269,37 @@ public class CreateImageTechnisch_GUI extends JInternalFrame { buttonPane.setBackground(SystemColor.menu); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane); + ActionListener saveSettings = new ActionListener() { + public void actionPerformed(ActionEvent e) { + // werte die angebenen Optionen aus + Image.Internet = chckbxIsInternetBlocked.isSelected(); + Image.Licensed = chckbxIsLicensed.isSelected(); + Image.Vorlage = chckbxIsLicensed.isSelected(); + Image.Cpu = Integer.valueOf(spinnerCPU.getValue().toString()).intValue(); + Image.Ram = Integer.valueOf(spinnerRam.getValue().toString()).intValue(); + Image.OS = comboBox.getSelectedItem().toString(); + GuiManager.show(new PermissionCreateImage_GUI()); + } + }; { JButton cancelButton = new JButton("Zurück"); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - // werte die angebenen Optionen aus - Image.image.setInternet(chckbxIsInternetBlocked.isSelected()); - Image.image.setLicensed(chckbxIsLicensed.isSelected()); - Image.image.setVorlage(chckbxIsLicensed.isSelected()); - Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); - Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); - Image.image.setOS(comboBox.getSelectedItem().toString()); - GuiManager.show(new CreateImageAllgemein_GUI()); - } - }); + cancelButton.addActionListener(saveSettings); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); } { JButton continueButton = new JButton("Weiter"); - continueButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - // werte die angebenen Optionen aus - Image.image.setInternet(chckbxIsInternetBlocked.isSelected()); - Image.image.setLicensed(chckbxIsLicensed.isSelected()); - //Image.image.setVorlage(chckbxIsTemplate.isSelected()); - Image.image.setCpu(Integer.valueOf(spinnerCPU.getValue().toString()).intValue()); - Image.image.setRam(Integer.valueOf(spinnerRam.getValue().toString()).intValue()); - Image.image.setOS(comboBox.getSelectedItem().toString()); - //LOGGER.info("Betriebssystem: "+Image.image.getOS()+", istVorlage: "+Image.image.isVorlage()+", Lizenzpflichtig: "+Image.image.isLicensed()+", Internetsperre: "+Image.image.isInternet()+", CPU: "+Image.image.getCpu()+", RAM: "+Image.image.getRam()); - GuiManager.show(new PermissionCreateImage_GUI()); - } - }); + continueButton.addActionListener(saveSettings); continueButton.setActionCommand("Cancel"); buttonPane.add(continueButton); getRootPane().setDefaultButton(continueButton); } } - + JSeparator separator = new JSeparator(); separator.setBounds(0, 78, 597, 2); getContentPane().add(separator); - + JSeparator separator_1 = new JSeparator(); separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java index b5938138..21128e48 100644 --- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java @@ -1,9 +1,9 @@ package gui.image; +import gui.helper.TableFiller; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.HeadlessException; @@ -17,7 +17,6 @@ import java.awt.event.MouseEvent; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -27,7 +26,6 @@ import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; @@ -36,8 +34,6 @@ import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.ListSelectionModel; import javax.swing.RowFilter; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -61,47 +57,28 @@ import util.GuiManager; @SuppressWarnings("serial") public class DeleteImage_GUI extends JInternalFrame { - private final static Logger LOGGER = Logger - .getLogger(DeleteImage_GUI.class); + private final static Logger LOGGER = Logger.getLogger(DeleteImage_GUI.class); private final JPanel contentPanel = new JPanel(); - JLabel labelName; - JLabel labelUpdate; - JLabel labelVerantwortlicher; - JLabel labelWeitereVerantwortliche; - JLabel labelVorlage; - JLabel labelLizenzSoftware; - JLabel labelInternet; - JLabel labelRam; - JLabel labelCPU; - JLabel labelID; - JLabel labelVersion; - JTextArea textAreadesc; + private JLabel labelName; + private JLabel labelUpdate; + private JLabel labelVerantwortlicher; + private JLabel labelWeitereVerantwortliche; + private JLabel labelVorlage; + private JLabel labelLizenzSoftware; + private JLabel labelInternet; + private JLabel labelRam; + private JLabel labelCPU; + private JLabel labelID; + private JLabel labelVersion; + private JTextArea textAreadesc; private JLabel labelOS; - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JComboBox<String> comboBox; - JTable tablemyImages; + private JComboBox<String> comboBox; + private JTable tablemyImages; private JTextField textFieldName; private JLabel lblTotalResults = new JLabel("Anzahl:"); - boolean activeSearch = false; - Component c = null; - String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", - "Beschreibung" }; // Angezeigt - // werden - // aber - // nur - // Name - // (0), - // OS - // (2), - // Verantwortlicher - // (4), - // Letztes - // Update - // (5) + private String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", + "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; public static final String HELP_MESSAGE = "<html><div align = \"center\">" + "Löschen Sie hier die Images, die nicht mehr benötigt werden.<br />" + "Ein gelöschtes Image wird auch tatsächlich physisch gelöscht und kann nicht wiederhergestellt werden.<br />" @@ -114,13 +91,10 @@ public class DeleteImage_GUI extends JInternalFrame { } }; - final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( - modelMyImages); - + final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(modelMyImages); RowFilter<Object, Object> rf = null; - List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>( - 2); + List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(2); /** * Create the dialog. @@ -133,7 +107,7 @@ public class DeleteImage_GUI extends JInternalFrame { addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent arg0) { - + initTableModel(modelMyImages); // auszublendende Angaben // 1=Lizenzpflichtig @@ -166,38 +140,9 @@ public class DeleteImage_GUI extends JInternalFrame { textFieldName.requestFocusInWindow(); } }); - -// addWindowListener(new WindowAdapter() { -// @Override -// public void windowClosing(WindowEvent arg0) { -// // Beendet die Anwendung nach klick auf X -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// System.exit(0); -// } -// -// @Override -// public void windowOpened(WindowEvent arg0) { -// -// -// } -// }); - - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - e.printStackTrace(); - } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image löschen - " - + person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image löschen - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 918, 722); @@ -231,8 +176,8 @@ public class DeleteImage_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 98); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -255,24 +200,16 @@ public class DeleteImage_GUI extends JInternalFrame { String stext = textFieldName.getText().trim(); // Wenn Textfield nicht leer - if (stext != "") { - activeSearch = true; + if (!stext.isEmpty()) { // Filtere nach der Eingabe filters.clear(); - filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); // case - // insensitive - filters.add(RowFilter.regexFilter("(?i)" + stext, 9)); // case - // insensitive + filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); + filters.add(RowFilter.regexFilter("(?i)" + stext, 9)); rf = RowFilter.orFilter(filters); rowSorterMyImages.setRowFilter(rf); } else { - activeSearch = false; - filters.clear(); - filters.add(RowFilter.regexFilter(".", 0)); // case - // insensitive, - // filter for - // anything + filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); rowSorterMyImages.setRowFilter(rf); } @@ -288,8 +225,7 @@ public class DeleteImage_GUI extends JInternalFrame { comboBox = new JComboBox<String>(); try { - // Holt sich eine Liste aller verfügbaren Betriebssysteme vom - // Server + // Holt sich eine Liste aller verfügbaren Betriebssysteme vom Server List<String> list = ThriftManager.getSatClient().getAllOS(SessionData.authToken); // Leeres Item hinzufuegen comboBox.addItem(""); @@ -300,8 +236,7 @@ public class DeleteImage_GUI extends JInternalFrame { } catch (TException e2) { e2.printStackTrace(); - JOptionPane.showMessageDialog(c, - e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(null, e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } // Registriert Auswahlaenderungen der Box @@ -309,29 +244,10 @@ public class DeleteImage_GUI extends JInternalFrame { public void actionPerformed(ActionEvent arg0) { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { - activeSearch = true; - - /* - * rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox - * .getSelectedItem().toString(), 2)); - */ - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - comboBox.getSelectedItem().toString(), 2)); - /* - * rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter - * ( comboBox.getSelectedItem().toString(), 2)); - */ + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem() + .toString(), 2)); } else { - activeSearch = false; - /* - * String username = person.verantwortlicher.getName() + " " - * + person.verantwortlicher.getVorname(); - */ rowSorterMyImages.setRowFilter(null); - /* - * rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter - * ( "true", 8)); rowSorterAll.setRowFilter(null); - */ } } @@ -378,22 +294,17 @@ public class DeleteImage_GUI extends JInternalFrame { if (tablemyImages.getSelectedRowCount() != 0) { // frage, soll das selektierte Daten geloescht werden? - eingabe = JOptionPane.showConfirmDialog(c, - "Wollen Sie diese Daten löschen?", "Löschen?", - JOptionPane.YES_NO_OPTION); + eingabe = JOptionPane.showConfirmDialog(null, "Wollen Sie diese Daten löschen?", + "Löschen?", JOptionPane.YES_NO_OPTION); if (eingabe == JOptionPane.YES_OPTION) { imageid = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6) + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) .toString(); imageversion = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) .toString(); // Image darf nur geloescht werden, wenn keine @@ -401,69 +312,51 @@ public class DeleteImage_GUI extends JInternalFrame { // Unbdingt abfragen! try { - if (!ThriftManager.getSatClient().connectedToLecture(imageid, - imageversion, + if (!ThriftManager.getSatClient().connectedToLecture(imageid, imageversion, SessionData.authToken)) { try { // try to delete file from file system - if (ThriftManager.getSatClient().deleteImageServer(imageid, - imageversion, + if (ThriftManager.getSatClient().deleteImageServer(imageid, imageversion, SessionData.authToken) == true) { // successful, now delete file from DB if (ThriftManager.getSatClient().deleteImageData(imageid, - imageversion, - SessionData.authToken)) { + imageversion, SessionData.authToken)) { - LOGGER.info("Image '" + imageid - + "' erfolgreich gelöscht."); + LOGGER.info("Image '" + imageid + "' erfolgreich gelöscht."); GuiManager.show(new DeleteImage_GUI()); } else { //could not delete file from DB - LOGGER.info("Image '" - + imageid + LOGGER.info("Image '" + imageid + "' konnte nicht gelöscht werden."); - JOptionPane - .showMessageDialog( - c, - "Image konnte nicht gelöscht werden.", - "Fehler", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, + "Image konnte nicht gelöscht werden.", "Fehler", + JOptionPane.INFORMATION_MESSAGE); } } else { // could not delete file from file // system - LOGGER.info("Image '" - + imageid + LOGGER.info("Image '" + imageid + "' konnte nicht von Server gelöscht werden."); - JOptionPane - .showMessageDialog( - c, - "Image konnte nicht vom Server gelöscht werden.", - "Fehler", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, + "Image konnte nicht vom Server gelöscht werden.", "Fehler", + JOptionPane.INFORMATION_MESSAGE); } } catch (HeadlessException e) { e.printStackTrace(); - JOptionPane.showMessageDialog( - c, - e.getCause() + "\n" - + e.getStackTrace(), - "Debug-Message", + JOptionPane.showMessageDialog(null, + e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } catch (TException e) { e.printStackTrace(); - JOptionPane.showMessageDialog( - c, - e.getCause() + "\n" - + e.getStackTrace(), - "Debug-Message", + JOptionPane.showMessageDialog(null, + e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } @@ -474,16 +367,14 @@ public class DeleteImage_GUI extends JInternalFrame { JOptionPane .showMessageDialog( - c, + null, "Image kann nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.", - "Verlinkung vorhanden", - JOptionPane.INFORMATION_MESSAGE); + "Verlinkung vorhanden", JOptionPane.INFORMATION_MESSAGE); } } catch (TException e) { e.printStackTrace(); - JOptionPane.showMessageDialog(c, e.getCause() - + "\n" + e.getStackTrace(), + JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } } @@ -499,28 +390,21 @@ public class DeleteImage_GUI extends JInternalFrame { scrollPaneMyImage.setBounds(10, 158, 557, 339); contentPanel.add(scrollPaneMyImage); tablemyImages = new JTable(); - tablemyImages.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { - - if (tablemyImages.getSelectedRow() != -1) { - String imageid = modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), - 6).toString(); - String version = modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), - 7).toString(); - writeImageData(imageid, version); - } - } + tablemyImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + if (tablemyImages.getSelectedRow() != -1) { + String imageid = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) + .toString(); + String version = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) + .toString(); + writeImageData(imageid, version); + } + } - }); + }); tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); @@ -622,8 +506,7 @@ public class DeleteImage_GUI extends JInternalFrame { labelLizenzSoftware.setBounds(10, 383, 296, 14); panel.add(labelLizenzSoftware); - JLabel lblLizenzpflichtigeSoftware = new JLabel( - "Lizenzpflichtige Software:"); + JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:"); lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14); panel.add(lblLizenzpflichtigeSoftware); @@ -686,7 +569,6 @@ public class DeleteImage_GUI extends JInternalFrame { textAreadesc.setBackground(SystemColor.menu); scrollPane.setViewportView(textAreadesc); - } // Initiale Beffuelung eines Table models @@ -698,54 +580,24 @@ public class DeleteImage_GUI extends JInternalFrame { // Hole eine Liste der Images if (person.verantwortlicher.getRole() == "Admin") { // get complete list - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher - .getUserID(),SessionData.authToken); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(), + SessionData.authToken); } else { // get permitted list images = ThriftManager.getSatClient().getImageListPermissionAdmin( - person.verantwortlicher.getUserID(), - SessionData.authToken); + person.verantwortlicher.getUserID(), SessionData.authToken); } - Iterator<Image> i = images.iterator(); - - System.out.println("Size of image list=" + images.size()); - - int x = 0; - SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { images.get(x).getImageName(), - images.get(x).getLicenseRestriction(), - images.get(x).getOsName(), - images.get(x).getLectureName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), - images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate(), - images.get(x).getDescription() }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); - - } - if (x == 0) { - System.out.println("Damn... nothing to do here.."); - } + TableFiller.fillModelWithImageList(model, images); // show number if rows in GUI - lblTotalResults.setText(lblTotalResults.getText() + " " - + model.getRowCount()); + lblTotalResults.setText(lblTotalResults.getText() + " " + model.getRowCount()); return model; - } catch (TException | ParseException e1) { + } catch (TException e1) { e1.printStackTrace(); - JOptionPane.showMessageDialog(c, - e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(null, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } return model; diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java index 9ea3dee9..d8c907be 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java @@ -3,7 +3,6 @@ package gui.image; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -23,8 +22,6 @@ import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @@ -42,7 +39,6 @@ import util.GuiManager; public class EditImageAllgemein_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; private JTextField Vorname; private JTextField Nachname; private JTextField Hochschule; @@ -59,26 +55,17 @@ public class EditImageAllgemein_GUI extends JInternalFrame { private boolean nameIsOK = false; //imagename only contains letters private boolean descriptionLengthOK = false; //description may not be longer than MAX_DESCRIPTION_LENGTH private final int MAX_DESCRIPTION_LENGTH = 254; - Component c = null; - public static final String HELP_MESSAGE = "<html><div align = \"center\">" + - "Bearbeiten Sie hier die allgemeinen Angaben, die Sie beim Erzeugen des Images hinterlegt haben.<br />" + - "Sie können sowohl den Anzeigenamen als auch die Beschreibung ändern.<br />" + - "Änderungen der Informationen zum Besitzer sind nicht zulässig." + - "</div></html>"; + public static final String HELP_MESSAGE = "<html><div align = \"center\">" + + "Bearbeiten Sie hier die allgemeinen Angaben, die Sie beim Erzeugen des Images hinterlegt haben.<br />" + + "Sie können sowohl den Anzeigenamen als auch die Beschreibung ändern.<br />" + + "Änderungen der Informationen zum Besitzer sind nicht zulässig." + "</div></html>"; /** * Create the dialog. */ public EditImageAllgemein_GUI() { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - e.printStackTrace(); - } - // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image bearbeiten - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster in der Bildmitte setBounds(0, 0, 603, 722); @@ -113,8 +100,8 @@ public class EditImageAllgemein_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_1.setBounds(10, 66, 557, 369); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -185,10 +172,9 @@ public class EditImageAllgemein_GUI extends JInternalFrame { panel_1.add(lblImagename); imagename = new JTextField(); - imagename - .setToolTipText("Bitte geben Sie hier den Namen des Image ein, z.B. \"Programmieren\"."); + imagename.setToolTipText("Bitte geben Sie hier den Namen des Image ein, z.B. \"Programmieren\"."); imagename.setBackground(Color.WHITE); - imagename.setText(Image.image.getImagename()); + imagename.setText(Image.Imagename); imagename.setColumns(10); imagename.setBounds(145, 23, 350, 20); panel_1.add(imagename); @@ -201,26 +187,26 @@ public class EditImageAllgemein_GUI extends JInternalFrame { .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Java Wintersemester bei...\""); txtrGebenSieBitte.setBounds(145, 48, 350, 55); panel_1.add(txtrGebenSieBitte); - + JLabel lblBeschreibung = new JLabel("Beschreibung: *"); lblBeschreibung.setBackground(SystemColor.menu); lblBeschreibung.setBounds(10, 110, 125, 20); panel_1.add(lblBeschreibung); - + JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(145, 110, 350, 60); panel_1.add(scrollPane); - + textAreadesc = new JTextArea(); textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); textAreadesc.setLineWrap(true); textAreadesc.setText((String) null); - textAreadesc.setText(Image.image.getDesc());// null am Anfang, aber - // speichert die Eingabe, - // wenn man zurueck kommt - // zur Seite + textAreadesc.setText(Image.Desc);// null am Anfang, aber + // speichert die Eingabe, + // wenn man zurueck kommt + // zur Seite scrollPane.setViewportView(textAreadesc); - + JTextArea textArea = new JTextArea(); textArea.setText("Geben Sie bitte eine Beschreibung für das Image an.\r\nDiese soll jedoch recht spezifisch gehalten werden.\r\nBeispiel: \"Java-Enticklung mit eclipse und MySQL\""); textArea.setLineWrap(true); @@ -283,7 +269,7 @@ public class EditImageAllgemein_GUI extends JInternalFrame { // Setzen der Eingabe im Model, dadurch bleiben die // Daten bei einem erneuten Aufruf verfuegbar - // Image.image.setImagename(imagename.getText().trim()); + // Image.Imagename(imagename.getText().trim = ); GuiManager.show(new SearchEditImage_GUI()); } }); @@ -297,18 +283,13 @@ public class EditImageAllgemein_GUI extends JInternalFrame { public void actionPerformed(ActionEvent arg0) { // Prueft die Eingabe und leitet weiter zur naechsten // Seite - if (checkContent() == true && checkNameIsLettersOrNumbers() == true && descriptionLenghtOK()== true) { + if (checkContent() == true && checkNameIsLettersOrNumbers() == true + && descriptionLenghtOK() == true) { // setze Namen, egal ob alt oder nicht - Image.image.setImagename(imagename.getText().trim()); - Image.image.setDesc(textAreadesc.getText().trim()); + Image.Imagename = imagename.getText().trim(); + Image.Desc = textAreadesc.getText().trim(); // Info - //LOGGER.info("Alle Eingaben in Ordnung. Imagename= \"" - // + Image.image.getImagename() - // + ", NewImageName=\"" - // + Image.image.getNewName() - // + "\", Imagebeschreibung=\"" - // + Image.image.getDesc()+"\""); GuiManager.show(new EditImageTechnisch_GUI()); @@ -332,55 +313,51 @@ public class EditImageAllgemein_GUI extends JInternalFrame { separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - } public void initData() { try { - Map<String, String> map = ThriftManager.getSatClient().getImageData( - Image.image.getImageId(), Image.image.getVersion(),SessionData.authToken); - + Map<String, String> map = ThriftManager.getSatClient().getImageData(Image.ImageId, Image.Version, + SessionData.authToken); + if (map.get("internet").equals("0")) { - Image.image.setInternet(false); + Image.Internet = false; } else { - Image.image.setInternet(true); + Image.Internet = true; } if (map.get("license").equals("0")) { - Image.image.setLicensed(false); + Image.Licensed = false; } else { - Image.image.setLicensed(true); + Image.Licensed = true; } //LOGGER.debug(map.get("template")); if (map.get("template").equals("false")) { - Image.image.setVorlage(false); + Image.Vorlage = false; } else { - Image.image.setVorlage(true); - } - Image.image.setImagename(map.get("name")); - Image.image.setRam(Integer.parseInt(map.get("ram"))); - Image.image.setCpu(Integer.parseInt(map.get("cpu"))); - Image.image.setImagepath(map.get("path")); - Image.image.setDesc(map.get("desc")); - Image.image.setFilesize(Long.parseLong(map.get("filesize"))); - int mode=0; - if(map.get("shareMode").equals("only_local")){ - mode=0; + Image.Vorlage = true; } - else - { - mode=1; + Image.Imagename = map.get("name"); + Image.Ram = Integer.parseInt(map.get("ram")); + Image.Cpu = Integer.parseInt(map.get("cpu")); + Image.Imagepath = map.get("path"); + Image.Desc = map.get("desc"); + Image.Filesize = Long.parseLong(map.get("filesize")); + int mode = 0; + if (map.get("shareMode").equals("only_local")) { + mode = 0; + } else { + mode = 1; } - Image.image.setShareMode(mode); - Image.image.setOS(map.get("os")); + Image.ShareMode = mode; + Image.OS = map.get("os"); } catch (TException e) { e.printStackTrace(); - JOptionPane.showMessageDialog(c, - e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } }//end initData() - + public boolean checkNameIsLettersOrNumbers() { nameIsOK = false; @@ -388,23 +365,19 @@ public class EditImageAllgemein_GUI extends JInternalFrame { if (imagename.getText().trim().matches("[a-zA-Z0-9\\x2B\\x2D\\x3A\\x5F]+")) { nameIsOK = true; } else { - JOptionPane - .showMessageDialog( - c, - "Der Imagename darf nur aus Buchstaben, Zahlen und den Zeichen + - _ : bestehen.", - "Unerlaubte Zeichen", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, + "Der Imagename darf nur aus Buchstaben, Zahlen und den Zeichen + - _ : bestehen.", + "Unerlaubte Zeichen", JOptionPane.INFORMATION_MESSAGE); }// if return nameIsOK; }// end nameIsOK - - public boolean checkContent(){ - textfieldsHaveContent=false; - + + public boolean checkContent() { + textfieldsHaveContent = false; + //check if any textfield is empty - if(imagename.getText().trim().isEmpty() == false - && textAreadesc.getText().trim().isEmpty() == false + if (imagename.getText().trim().isEmpty() == false && textAreadesc.getText().trim().isEmpty() == false && Vorname.getText().trim().isEmpty() == false && Nachname.getText().trim().isEmpty() == false && Hochschule.getText().trim().isEmpty() == false @@ -412,34 +385,29 @@ public class EditImageAllgemein_GUI extends JInternalFrame { //all textfields have content textfieldsHaveContent = true; } else { - JOptionPane - .showMessageDialog( - c, - "Bitte geben Sie alle notwendigen Daten an!", - "Daten unvollständig", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, "Bitte geben Sie alle notwendigen Daten an!", + "Daten unvollständig", JOptionPane.INFORMATION_MESSAGE); }//end if - + return textfieldsHaveContent; }//end checkContent - - public boolean descriptionLenghtOK(){ - descriptionLengthOK=false; - + + public boolean descriptionLenghtOK() { + descriptionLengthOK = false; + //max length is 254 chars if (textAreadesc.getText().trim().length() >= MAX_DESCRIPTION_LENGTH) { - descriptionLengthOK=false; - JOptionPane - .showMessageDialog(c, - "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie "+textAreadesc.getText().trim().length()+".", - "Beschreibung zu umfangreich", + descriptionLengthOK = false; + JOptionPane.showMessageDialog(null, + "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie " + + textAreadesc.getText().trim().length() + ".", "Beschreibung zu umfangreich", JOptionPane.ERROR_MESSAGE); - }else { - descriptionLengthOK=true; - + } else { + descriptionLengthOK = true; + } - + return descriptionLengthOK; }// enddescriptionLenghtOK() - + }//end class diff --git a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java index f8fa5298..75719cce 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java @@ -3,7 +3,6 @@ package gui.image; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -24,8 +23,6 @@ import javax.swing.JSpinner; import javax.swing.JTextArea; import javax.swing.JTextPane; import javax.swing.SpinnerNumberModel; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @@ -46,21 +43,19 @@ public class EditImageTechnisch_GUI extends JInternalFrame { * Logger instance for this class. */ private final static Logger LOGGER = Logger.getLogger(EditImageTechnisch_GUI.class); - + private final JPanel contentPanel = new JPanel(); - String[] result; - JSpinner spinnerCPU; - JSpinner spinnerRam; + private JSpinner spinnerCPU; + private JSpinner spinnerRam; private JCheckBox chckbxIsLicensed; private JCheckBox chckbxIsInternetBlocked; - JComboBox<String> comboBox; - Component c = null; - public static final String HELP_MESSAGE = "<html><div align = \"center\">" + - "Bearbeiten Sie hier die technischen Angaben zu Ihrem Image, die Sie beim Erzeugen des Images hinterlegt haben.<br />" + - "Wenn sich die technischen Anforderungen an Ihr Image geändert haben, müssen Sie es nicht erneut hochladen,<br />" + - "sondern können die Angaben direkt hier korrigieren. Die Daten werden dann für Ihr Image übernommen." + - "</div></html>"; - + private JComboBox<String> comboBox; + public static final String HELP_MESSAGE = "<html><div align = \"center\">" + + "Bearbeiten Sie hier die technischen Angaben zu Ihrem Image, die Sie beim Erzeugen des Images hinterlegt haben.<br />" + + "Wenn sich die technischen Anforderungen an Ihr Image geändert haben, müssen Sie es nicht erneut hochladen,<br />" + + "sondern können die Angaben direkt hier korrigieren. Die Daten werden dann für Ihr Image übernommen." + + "</div></html>"; + /** * Create the dialog. */ @@ -68,16 +63,8 @@ public class EditImageTechnisch_GUI extends JInternalFrame { // Verhindert das Vergrößern des Fensters setResizable(false); - try { - // setzt das Look & Feel - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } // Setzt den Titel des Fensters - setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image bearbeiten - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster setBounds(0, 0, 603, 722); @@ -98,8 +85,7 @@ public class EditImageTechnisch_GUI extends JInternalFrame { JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Geben Sie hier bitte einige technische Daten ein."); + txtpnBitteWhlenSie.setText("Geben Sie hier bitte einige technische Daten ein."); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -111,98 +97,92 @@ public class EditImageTechnisch_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_1.setBounds(10, 25, 557, 167); contentPanel.add(panel_1); panel_1.setLayout(null); - JLabel lblNewLabel_2 = new JLabel( - "Image enthält lizenzpflichtige Software:"); + JLabel lblNewLabel_2 = new JLabel("Image enthält lizenzpflichtige Software:"); lblNewLabel_2.setBounds(10, 58, 250, 20); panel_1.add(lblNewLabel_2); - + chckbxIsLicensed = new JCheckBox(""); chckbxIsLicensed.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //if windows is selected, always set isLicensed()=true - if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + if (comboBox.getSelectedItem().toString().startsWith("Windows")) { chckbxIsLicensed.setSelected(true); } } }); chckbxIsLicensed.setBounds(266, 57, 97, 23); panel_1.add(chckbxIsLicensed); - + chckbxIsInternetBlocked = new JCheckBox(""); chckbxIsInternetBlocked.setBounds(266, 85, 97, 23); chckbxIsInternetBlocked.setEnabled(false); panel_1.add(chckbxIsInternetBlocked); - JLabel lblInternetIstInnerhalb = new JLabel( - "Internet ist innerhalb des Images gesperrt:"); + JLabel lblInternetIstInnerhalb = new JLabel("Internet ist innerhalb des Images gesperrt:"); lblInternetIstInnerhalb.setBounds(10, 86, 250, 20); panel_1.add(lblInternetIstInnerhalb); JLabel label = new JLabel("Lizenzserver eintragen:"); label.setBounds(10, 115, 250, 20); panel_1.add(label); - + JButton button = new JButton("Server-Adresse..."); button.setEnabled(false); button.setBounds(266, 114, 157, 23); panel_1.add(button); - + JLabel lblBetriebssystem = new JLabel("Betriebssystem:"); lblBetriebssystem.setBounds(10, 26, 250, 20); panel_1.add(lblBetriebssystem); - + comboBox = new JComboBox<String>(); comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - + //if windows is selected, always set isLicensed()=true - if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + if (comboBox.getSelectedItem().toString().startsWith("Windows")) { chckbxIsLicensed.setSelected(true); } } }); - - List<String> os = null; try { - os=ThriftManager.getSatClient().getAllOS(SessionData.authToken); - for(int i=0;i<os.size();i++) { + os = ThriftManager.getSatClient().getAllOS(SessionData.authToken); + for (int i = 0; i < os.size(); i++) { comboBox.addItem(os.get(i).toString()); } } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } - LOGGER.info("OS of this image: " + Image.image.getOS()); + LOGGER.info("OS of this image: " + Image.OS); // since the name of the OS is mapped to an internal value // ex: 'Ubuntu x.x 64 Bit' to 'ubuntu-64' it needs a bit // more work to set this box correctly... // TODO: use getOS(key) from the client to get the string from the key - //comboBox.setSelectedItem(Client.getOs(Image.image.getOS())); + //comboBox.setSelectedItem(Client.getOs(Image.OS)); comboBox.setBounds(270, 26, 277, 20); panel_1.add(comboBox); - + try { - comboBox.setSelectedItem(ThriftManager.getSatClient().getOsNameForGuestOs(Image.image.getOS(),SessionData.authToken)); - } catch (TException e1) - { + comboBox.setSelectedItem(ThriftManager.getSatClient().getOsNameForGuestOs(Image.OS, + SessionData.authToken)); + } catch (TException e1) { // TODO Auto-generated catch block //e1.printStackTrace(); - comboBox.setSelectedItem(Image.image.getOS()); + comboBox.setSelectedItem(Image.OS); } - - - - chckbxIsInternetBlocked.setSelected(Image.image.isInternet()); - chckbxIsLicensed.setSelected(Image.image.isLicensed()); - + + chckbxIsInternetBlocked.setSelected(Image.Internet); + chckbxIsLicensed.setSelected(Image.Licensed); + JLabel lblHauptmen = new JLabel("Hauptmenü"); lblHauptmen.addMouseListener(new MouseAdapter() { @Override @@ -235,8 +215,7 @@ public class EditImageTechnisch_GUI extends JInternalFrame { JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, - "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, + panel_2.setBorder(new TitledBorder(null, "Empfehlung bezüglich Ressourcen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 203, 557, 329); @@ -250,8 +229,7 @@ public class EditImageTechnisch_GUI extends JInternalFrame { txtrHinweisSolltenSie.setBounds(10, 43, 537, 55); panel_2.add(txtrHinweisSolltenSie); - JLabel lblNewLabel_3 = new JLabel( - "Wie viel Arbeitsspeicher empfehlen Sie für das Image:"); + JLabel lblNewLabel_3 = new JLabel("Wie viel Arbeitsspeicher empfehlen Sie für das Image:"); lblNewLabel_3.setBounds(10, 109, 280, 20); panel_2.add(lblNewLabel_3); @@ -262,7 +240,7 @@ public class EditImageTechnisch_GUI extends JInternalFrame { spinnerRam = new JSpinner(); spinnerRam.setModel(new SpinnerNumberModel(1, 1, 8, 1)); spinnerRam.setBounds(385, 106, 29, 20); - spinnerRam.setValue(Image.image.getRam()); + spinnerRam.setValue(Image.Ram); panel_2.add(spinnerRam); JLabel lblGbyte = new JLabel("GByte"); @@ -285,8 +263,7 @@ public class EditImageTechnisch_GUI extends JInternalFrame { txtrBeispielWindows_1.setBounds(20, 244, 280, 55); panel_2.add(txtrBeispielWindows_1); - JLabel lblWieVieleCpus = new JLabel( - "Wie viele CPUs empfehlen Sie für das Image:"); + JLabel lblWieVieleCpus = new JLabel("Wie viele CPUs empfehlen Sie für das Image:"); lblWieVieleCpus.setBounds(10, 219, 280, 20); panel_2.add(lblWieVieleCpus); @@ -297,7 +274,7 @@ public class EditImageTechnisch_GUI extends JInternalFrame { spinnerCPU = new JSpinner(); spinnerCPU.setModel(new SpinnerNumberModel(1, 1, 4, 1)); spinnerCPU.setBounds(385, 216, 29, 20); - spinnerCPU.setValue(Image.image.getCpu()); + spinnerCPU.setValue(Image.Cpu); panel_2.add(spinnerCPU); JLabel lblKerne = new JLabel("Kerne"); @@ -314,13 +291,11 @@ public class EditImageTechnisch_GUI extends JInternalFrame { okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Setzt die Imagewerte in das Model - Image.image.setCpu(Integer.valueOf( - spinnerCPU.getValue().toString()).intValue()); - Image.image.setRam(Integer.valueOf( - spinnerRam.getValue().toString()).intValue()); - Image.image.setInternet(chckbxIsInternetBlocked.isSelected()); - Image.image.setLicensed(chckbxIsLicensed.isSelected()); - Image.image.setOS(comboBox.getSelectedItem().toString()); + Image.Cpu = Integer.valueOf(spinnerCPU.getValue().toString()).intValue(); + Image.Ram = Integer.valueOf(spinnerRam.getValue().toString()).intValue(); + Image.Internet = chckbxIsInternetBlocked.isSelected(); + Image.Licensed = chckbxIsLicensed.isSelected(); + Image.OS = comboBox.getSelectedItem().toString(); // oeffnet das vorherige Fenster GuiManager.show(new EditImageAllgemein_GUI()); } @@ -333,23 +308,21 @@ public class EditImageTechnisch_GUI extends JInternalFrame { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - - Image.image.setCpu(Integer.valueOf( - spinnerCPU.getValue().toString()).intValue()); - Image.image.setRam(Integer.valueOf( - spinnerRam.getValue().toString()).intValue()); - Image.image.setInternet(chckbxIsInternetBlocked.isSelected()); - Image.image.setLicensed(chckbxIsLicensed.isSelected()); - Image.image.setOS(comboBox.getSelectedItem().toString()); - - - LOGGER.info("user is '"+person.verantwortlicher.getUserID()+"' and imageID is '"+Image.image.getImageId()+"'."); - - + + Image.Cpu = Integer.valueOf(spinnerCPU.getValue().toString()).intValue(); + Image.Ram = Integer.valueOf(spinnerRam.getValue().toString()).intValue(); + Image.Internet = chckbxIsInternetBlocked.isSelected(); + Image.Licensed = chckbxIsLicensed.isSelected(); + Image.OS = comboBox.getSelectedItem().toString(); + + LOGGER.info("user is '" + person.verantwortlicher.getUserID() + "' and imageID is '" + + Image.ImageId + "'."); + try { //check if user may change permissions and choose window - if(ThriftManager.getSatClient().userIsImageAdmin(Image.image.getImageId(),SessionData.authToken, person.verantwortlicher.getUserID()) == true || (person.verantwortlicher.getRole().equals("Admin"))) { + if (ThriftManager.getSatClient().userIsImageAdmin(Image.ImageId, + SessionData.authToken, person.verantwortlicher.getUserID()) == true + || (person.verantwortlicher.getRole().equals("Admin"))) { //user has permission, go to permission GUI GuiManager.show(new PermissionEditImage_GUI()); } else { diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java index 38eb2654..6638de8c 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java @@ -2,7 +2,6 @@ package gui.image; import java.awt.BorderLayout; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -29,7 +28,6 @@ import javax.swing.JSeparator; import javax.swing.JTextPane; import javax.swing.SwingConstants; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; @@ -52,46 +50,38 @@ import gui.intro.MainMenue_GUI; import gui.lecture.CreateLectureAllgemein_GUI; @SuppressWarnings("serial") -public class FTPCreateUploader_GUI extends JInternalFrame implements - PropertyChangeListener { +public class FTPCreateUploader_GUI extends JInternalFrame implements PropertyChangeListener { /** * Logger instance for this class. */ - private final static Logger LOGGER = Logger - .getLogger(FTPCreateUploader_GUI.class); + private final static Logger LOGGER = Logger.getLogger(FTPCreateUploader_GUI.class); - @SuppressWarnings("unused") - private JPanel contentPane; private final JPanel contentPanel = new JPanel(); - JLabel lblPath; - JProgressBar progressBar; - String host = SessionData.serverAdress; - int port = 21; - User user; - String filename = ""; - File uploadFile; - static String arg = ""; - UploadTask task; - JLabel lblUpSpeed; - JLabel lblFertig; - JLabel lblFilesize; - JLabel lblZeit; - JLabel lblVerbleibend; - JFileChooser fc; - long filesize; - double speed; - long bytesread; - boolean taskrun = false; - JButton btnFinish = new JButton("Fertigstellen"); - JButton btnUploadStarten = new JButton("Upload auf Server starten"); - JButton btnZurck = new JButton("Zurück"); - JButton btnUploadStoppen = new JButton("Upload abbrechen"); - int progress = 0; // progress of upload - private boolean isCurrentlyLoading = false; // currently up or downloading - // file - Component c = null; + private JLabel lblPath; + private JProgressBar progressBar; + private String host = SessionData.serverAdress; + private int port = 21; + private User user; + private File uploadFile; + private UploadTask task; + private JLabel lblUpSpeed; + private JLabel lblFertig; + private JLabel lblFilesize; + private JLabel lblZeit; + private JLabel lblVerbleibend; + private JFileChooser fc; + private long filesize; + private double speed; + private long bytesread; + private boolean taskrun = false; + private JButton btnFinish = new JButton("Fertigstellen"); + private JButton btnUploadStarten = new JButton("Upload auf Server starten"); + private JButton btnZurck = new JButton("Zurück"); + private JButton btnUploadStoppen = new JButton("Upload abbrechen"); + private int progress = 0; // progress of upload + private boolean isCurrentlyLoading = false; // currently up or downloading file private boolean isAborted = false; // down- or upload was manually aborted private String uuid; @@ -107,7 +97,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements */ public FTPCreateUploader_GUI() { - final Object[] options = { "Beenden", "Abbrechen" }; + final String[] options = { "Beenden", "Abbrechen" }; try { @@ -124,17 +114,14 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements // check if user wants to quit. int choice = JOptionPane .showOptionDialog( - c, + null, "Aktuell ist ein Upload aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", - "Upload aktiv", - JOptionPane.YES_NO_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, null, - options, options[1]); + "Upload aktiv", JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, null, options, options[1]); // 0=beenden, 1=abbrechen if (choice == 0) { try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName, - SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.authToken); } catch (TException e1) { e1.printStackTrace(); @@ -152,71 +139,11 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements } }); -// addWindowListener(new WindowAdapter() { -// -// @Override -// public void windowClosing(WindowEvent arg0) { -// -// if (taskrun == true) { -// // check if user wants to quit. -// int choice = JOptionPane -// .showOptionDialog( -// c, -// "Aktuell ist ein Upload aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", -// "Upload aktiv", -// JOptionPane.YES_NO_CANCEL_OPTION, -// JOptionPane.QUESTION_MESSAGE, null, -// options, options[1]); -// // 0=beenden, 1=abbrechen -// if (choice == 0) { -// try { -// ThriftManager.getSatClient().DeleteFtpUser(user.userName, -// SessionData.AuthToken); -// } catch (TException e1) { -// -// e1.printStackTrace(); -// } -// task.cancel(true); -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData -// .getAuthToken()); -// } catch (TException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// System.exit(0); -// }// end if choice -// } else { -// // no upload running, close window -// -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData -// .getAuthToken()); -// } catch (TException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// System.exit(0); -// } -// }// end if taskrun -// }// end window closing -// }); setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - JOptionPane.showMessageDialog(c, - e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", - JOptionPane.ERROR_MESSAGE); - } - // filename=name; setBackground(Color.WHITE); - setTitle("Dozentenmodul - Image erzeugen - " - + person.verantwortlicher.getUserID()); + setTitle("Dozentenmodul - Image erzeugen - " + person.verantwortlicher.getUserID()); // Aktion die beim Schliessen durchgefuehrt werden soll setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); @@ -233,8 +160,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements public void actionPerformed(ActionEvent arg0) { fc = new JFileChooser(Config.getLastUploadPath()); - FileNameExtensionFilter filter = new FileNameExtensionFilter( - "VMDK-Container", "vmdk"); + FileNameExtensionFilter filter = new FileNameExtensionFilter("VMDK-Container", "vmdk"); fc.setFileFilter(filter); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); @@ -244,7 +170,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements if (file != null) { // file selected uploadFile = file; - filename = uploadFile.getName(); + uploadFile.getName(); lblPath.setText(file.getAbsolutePath()); } else { // no file selected @@ -262,8 +188,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements lblPath.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent arg0) { - if (lblPath.getText().trim() == null - || !lblPath.getText().trim().endsWith(".vmdk")) { + if (lblPath.getText().trim() == null || !lblPath.getText().trim().endsWith(".vmdk")) { // Keine Auswahl oder Auswahl ist keine vmdk btnUploadStarten.setEnabled(false); btnUploadStarten.setText("Kein Image!"); @@ -327,8 +252,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements label_6.setBounds(102, 350, 71, 14); contentPanel.add(label_6); - JLabel lblGeschtzteVerbleibendeZeit = new JLabel( - "Geschätzte verbleibende Zeit:"); + JLabel lblGeschtzteVerbleibendeZeit = new JLabel("Geschätzte verbleibende Zeit:"); lblGeschtzteVerbleibendeZeit.setBounds(102, 300, 150, 14); contentPanel.add(lblGeschtzteVerbleibendeZeit); @@ -410,8 +334,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements lblSchritt_3.setBounds(20, 423, 57, 14); contentPanel.add(lblSchritt_3); - JLabel lblKlickenSieAuf = new JLabel( - "Klicken Sie auf \"Fertigstellen\"."); + JLabel lblKlickenSieAuf = new JLabel("Klicken Sie auf \"Fertigstellen\"."); lblKlickenSieAuf.setBounds(98, 423, 241, 14); contentPanel.add(lblKlickenSieAuf); @@ -421,8 +344,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements isAborted = true; // set flag try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName, - SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.authToken); LOGGER.info("Deleted FTP user."); } catch (TException e1) { @@ -452,24 +374,15 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements // save data boolean success = writeData(); if (success == true) { - LOGGER.info("Neues Image '" - + Image.image.getImagename() - + "' erfolgreich gespeichert."); - JOptionPane - .showMessageDialog( - c, - "Die Daten wurden erfolgreich gespeichert.", - "Daten gespeichert", - JOptionPane.INFORMATION_MESSAGE); + LOGGER.info("Neues Image '" + Image.Imagename + "' erfolgreich gespeichert."); + JOptionPane.showMessageDialog(null, "Die Daten wurden erfolgreich gespeichert.", + "Daten gespeichert", JOptionPane.INFORMATION_MESSAGE); } else { - LOGGER.info("Neues Image '" - + Image.image.getImagename() + LOGGER.info("Neues Image '" + Image.Imagename + "' konnte nicht gespeichert werden."); - JOptionPane - .showMessageDialog( - c, - "Die Daten konnten nicht gespeichert werden.", - "Fehler", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + "Die Daten konnten nicht gespeichert werden.", "Fehler", + JOptionPane.ERROR_MESSAGE); } File f = new File(lblPath.getText().trim()); @@ -478,8 +391,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements // case anyway Config.setLastUploadPath(f.toString()); } else if (f.getParentFile().isDirectory()) { - Config.setLastUploadPath(f.getParentFile() - .toString()); + Config.setLastUploadPath(f.getParentFile().toString()); } // save configuration @@ -493,9 +405,8 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements } catch (TException e1) { e1.printStackTrace(); - JOptionPane.showMessageDialog(c, e1.getCause() - + "\n" + e1.getStackTrace(), - "Debug-Message", + JOptionPane.showMessageDialog(null, + e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } task.cancel(true); @@ -503,17 +414,14 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements // Erstellung Array vom Datentyp Object, Hinzufügen der // Optionen - Object[] options = { "Neue Veranstaltung erstellen", - "Zum Hauptmenü zurückkehren" }; + Object[] options = { "Neue Veranstaltung erstellen", "Zum Hauptmenü zurückkehren" }; int choice = JOptionPane .showOptionDialog( - c, + null, "Möchten Sie eine neue Veranstaltung zu diesem Image erstellen oder in das Hauptmenü zurückkehren?", - "Alternativen", - JOptionPane.DEFAULT_OPTION, - JOptionPane.INFORMATION_MESSAGE, null, - options, options[0]); + "Alternativen", JOptionPane.DEFAULT_OPTION, + JOptionPane.INFORMATION_MESSAGE, null, options, options[0]); // 0=New Lecture, 1=Main Menu if (choice == 0) { @@ -528,14 +436,10 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements public void actionPerformed(ActionEvent e) { // check if loading file or not if (isCurrentlyLoading() == true) { - int choice = JOptionPane - .showOptionDialog( - c, - "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?", - "Warnung", - JOptionPane.YES_NO_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, null, - options, options[1]); + int choice = JOptionPane.showOptionDialog(null, + "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?", + "Warnung", JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, null, options, options[1]); // 0=beenden, 1=abbrechen if (choice == 0) { try { @@ -553,13 +457,10 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements int selectedOption = JOptionPane .showConfirmDialog( - c, + null, "<html>Achtung: Alle Änderungen gehen verloren!<br />Klicken Sie auf fertigstellen, wenn Sie die Änderungen dauerhaft speichern möchten.<br /><br />Möchten Sie jetzt abbrechen und zurück?</html>", - "Abbrechen und zurück", - JOptionPane.YES_NO_OPTION); + "Abbrechen und zurück", JOptionPane.YES_NO_OPTION); if (selectedOption == JOptionPane.YES_OPTION) { - // System.out.println("CreateUploader X:"+formerGUI.getLocation().getX()); - // System.out.println("CreateUploader X:"+formerGUI.getLocation().getY()); GuiManager.show(new PermissionCreateImage_GUI()); } else { // for actions if "no" is selected. tbd. @@ -575,7 +476,6 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements } } - } private void buttonUploadActionPerformed(ActionEvent event) { @@ -586,34 +486,22 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements btnUploadStarten.setText("Bitte warten"); try { - LOGGER.info("Getting FTP User..."); user = ThriftManager.getSatClient().getFtpUser(SessionData.authToken); LOGGER.info("Received FTP user."); - // LOGGER.debug("FTP name: " + user.userName); - // LOGGER.debug("FTP path: " + user.path); - // LOGGER.debug("FTP pass: " + user.password); } catch (TException e) { LOGGER.error("Konnte vom Satellit keinen FTP-User erhalten!"); e.printStackTrace(); - JOptionPane.showMessageDialog(c, - "Konnte vom Satellit keinen FTP-User erhalten!", + JOptionPane.showMessageDialog(null, "Konnte vom Satellit keinen FTP-User erhalten!", "Debug-Message", JOptionPane.ERROR_MESSAGE); } DateFormat formatter = new SimpleDateFormat("yyyMMddHHmmss"); - // LOGGER.info("Setting new name: " + formatter.format(new Date()) + "_" - // + person.verantwortlicher.getHochschule() + "_" - // + person.verantwortlicher.getUsername() + "_" - // + Image.image.getImagename() + ".vmdk"); - Image.image.setNewName(formatter.format(new Date()) + "_" - + person.verantwortlicher.getHochschule() + "_" - + person.verantwortlicher.getUsername() + "_" - + Image.image.getImagename() + ".vmdk"); + Image.NewName = formatter.format(new Date()) + "_" + person.verantwortlicher.getHochschule() + "_" + + person.verantwortlicher.getUsername() + "_" + Image.Imagename + ".vmdk"; LOGGER.info("Uploading to host: " + host); - task = new UploadTask(host, port, user.userName, user.password, - user.path + "temp/", uploadFile); + task = new UploadTask(host, port, user.userName, user.password, user.path + "temp/", uploadFile); task.addPropertyChangeListener(this); task.execute(); @@ -633,10 +521,8 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements // Fertigstellen erlauben wenn upload abgeschlossen und abbrechen // erlauben wenn kein load aktiv ist - if (isCurrentlyLoading() == false - || progressBar.getPercentComplete() == 1.0) { + if (isCurrentlyLoading() == false || progressBar.getPercentComplete() == 1.0) { // no upload - // LOGGER.info("finished uploading file"); btnUploadStoppen.setEnabled(false); btnFinish.setEnabled(true); } else { @@ -652,16 +538,13 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements lblUpSpeed.setText(String.format("%.2f", speed) + " MB/s"); } - if ("bytesread" == arg0.getPropertyName()) { + if (arg0.getPropertyName().equals("bytesread")) { bytesread = (long) arg0.getNewValue(); lblFertig.setText((bytesread / 1024 / 1024) + " MB"); - lblVerbleibend - .setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) - + " MB"); + lblVerbleibend.setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) + " MB"); lblZeit.setText(String - .valueOf( - ((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) + .valueOf(((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) .substring( 0, String.valueOf( @@ -670,7 +553,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements + " Minuten"); } - if ("filesize" == arg0.getPropertyName()) { + if (arg0.getPropertyName().equals("filesize")) { filesize = (long) arg0.getNewValue(); lblFilesize.setText((filesize / 1024 / 1024) + " MB"); @@ -682,42 +565,26 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements try { - ThriftManager.getSatClient().writeVLdata(Image.image.getImagename(), - Image.image.getDesc(), person.verantwortlicher.getTel(), - person.verantwortlicher.getFakultaet(), - Image.image.isLicensed(), Image.image.isInternet(), - Image.image.getRam(), Image.image.getCpu(), "temp/" - + Image.image.getNewName(), - Image.image.isVorlage(), Image.image.getFilesize(), - Image.image.getShareMode(), Image.image.getOS(), uuid, - SessionData.authToken, + ThriftManager.getSatClient().writeVLdata(Image.Imagename, Image.Desc, + person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Image.Licensed, + Image.Internet, Image.Ram, Image.Cpu, "temp/" + Image.NewName, Image.Vorlage, + Image.Filesize, Image.ShareMode, Image.OS, uuid, SessionData.authToken, person.verantwortlicher.getUserID()); - // System.out.println("userID is: "+person.verantwortlicher.getUserID()); System.out.println("starting file copy..."); - ThriftManager.getSatClient().startFileCopy(Image.image.getNewName(), - SessionData.authToken); + ThriftManager.getSatClient().startFileCopy(Image.NewName, SessionData.authToken); ThriftManager.getSatClient().writeImageRights(uuid, SessionData.authToken, - person.verantwortlicher.getRole(), - person.verantwortlicher.getHochschule(), + person.verantwortlicher.getRole(), person.verantwortlicher.getHochschule(), person.verantwortlicher.getUserID()); - for (int i = 0; i < RightsManagement.rightsManagement - .getPermittedUserList().size(); i++) { - // System.out.println("Writing additional rights for user "+RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID()+", User "+i+"/"+RightsManagement.rightsManagement.getPermittedUserList().size()); + for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList().size(); i++) { ThriftManager.getSatClient().writeAdditionalImageRights(uuid, - RightsManagement.rightsManagement - .getPermittedUserList().get(i).getUserID(), - RightsManagement.rightsManagement - .getPermittedUserList().get(i).isImageRead(), - RightsManagement.rightsManagement - .getPermittedUserList().get(i).isImageWrite(), - RightsManagement.rightsManagement - .getPermittedUserList().get(i) - .isImageLinkAllowed(), - RightsManagement.rightsManagement - .getPermittedUserList().get(i).isImageAdmin(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageRead(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageWrite(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageLinkAllowed(), + RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageAdmin(), SessionData.authToken); }// end for @@ -725,8 +592,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements } catch (TException e) { e.printStackTrace(); - JOptionPane.showMessageDialog(c, - e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); return false; } @@ -737,8 +603,7 @@ public class FTPCreateUploader_GUI extends JInternalFrame implements public boolean isCurrentlyLoading() { isCurrentlyLoading = false; - if (lblVerbleibend.getText().trim().equals("0 MB") - || lblVerbleibend.getText().trim().equals("0")) { + if (lblVerbleibend.getText().trim().equals("0 MB") || lblVerbleibend.getText().trim().equals("0")) { isCurrentlyLoading = false; } else { isCurrentlyLoading = true; diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java index ba6c056c..b7b0a9f4 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java @@ -2,7 +2,6 @@ package gui.image; import java.awt.BorderLayout; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -19,7 +18,6 @@ import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; -import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JOptionPane; import javax.swing.JPanel; @@ -28,7 +26,6 @@ import javax.swing.JSeparator; import javax.swing.JTextPane; import javax.swing.SwingConstants; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; @@ -58,33 +55,29 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements private final static Logger LOGGER = Logger .getLogger(FTPEditDownloader_GUI.class); - @SuppressWarnings("unused") - private JPanel contentPane; private final JPanel contentPanel = new JPanel(); - JLabel lblPath; - JLabel lblDownSpeed; - User user; - JProgressBar progressBar; - String host = SessionData.serverAdress; - int port = 21; - String downloadFile = ""; - static String arg = ""; - DownloadTask task; - JLabel lblFertig; - JLabel lblFilesize; - JLabel lblVerbleibend; - JFileChooser fc; - long filesize; - double speed; - int progress = 0; // progress of download - long bytesread; - JLabel lblZeit; - boolean taskrun = false; - JButton btnZurck = new JButton("Zurück"); - JButton btnDownloadStarten = new JButton("Download starten"); - JButton btnDownloadStoppen = new JButton("Download abbrechen"); + private JLabel lblPath; + private JLabel lblDownSpeed; + private User user; + private JProgressBar progressBar; + private String host = SessionData.serverAdress; + private int port = 21; + private String downloadFile = ""; + private DownloadTask task; + private JLabel lblFertig; + private JLabel lblFilesize; + private JLabel lblVerbleibend; + private JFileChooser fc; + private long filesize; + private double speed; + private int progress = 0; // progress of download + private long bytesread; + private JLabel lblZeit; + private boolean taskrun = false; + private JButton btnZurck = new JButton("Zurück"); + private JButton btnDownloadStarten = new JButton("Download starten"); + private JButton btnDownloadStoppen = new JButton("Download abbrechen"); private JLabel lblAnleitung; - Component c = null; private boolean isCurrentlyLoading = false; // currently up or downloading // file private boolean isAborted = false; // down- or upload was manually aborted @@ -107,7 +100,7 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements // check if user wants to quit. int choice = JOptionPane .showOptionDialog( - c, + null, "Aktuell ist ein Download aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", "Upload aktiv", JOptionPane.YES_NO_CANCEL_OPTION, @@ -133,56 +126,7 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements } } }); -// addWindowListener(new WindowAdapter() { -// @Override -// public void windowClosing(WindowEvent e) { -// if (taskrun == true) { -// // check if user wants to quit. -// int choice = JOptionPane -// .showOptionDialog( -// c, -// "Aktuell ist ein Download aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", -// "Upload aktiv", -// JOptionPane.YES_NO_CANCEL_OPTION, -// JOptionPane.QUESTION_MESSAGE, null, -// options, options[1]); -// // 0=beenden, 1=abbrechen -// if (choice == 0) { -// try { -// ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.AuthToken); -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// } catch (TException e1) { -// -// e1.printStackTrace(); -// } -// task.cancel(true); -// System.exit(0); -// }// end if coice -// } else { -// // no download running, close window -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// System.exit(0); -// }// end if taskrun -// }// end window closing -// }); setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } setBackground(Color.WHITE); setTitle("Dozentenmodul - Image herunterladen - "+person.verantwortlicher.getUserID()); @@ -425,7 +369,7 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements if (isCurrentlyLoading() == true) { int choice = JOptionPane .showOptionDialog( - c, + null, "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?", "Warnung", JOptionPane.YES_NO_CANCEL_OPTION, @@ -484,13 +428,13 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements downloadFile = user.path + "/" - + ThriftManager.getSatClient().getPathOfImage(Image.image.getImageId(), - Image.image.getVersion(),SessionData.authToken); + + ThriftManager.getSatClient().getPathOfImage(Image.ImageId, + Image.Version,SessionData.authToken); } catch (TException e) { e.printStackTrace(); - JOptionPane.showMessageDialog(c, + JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } @@ -524,7 +468,6 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements if (isCurrentlyLoading() == false || progressBar.getPercentComplete() == 1.0) { // no download - // LOGGER.info("finished downloading file"); btnDownloadStoppen.setEnabled(false); } else { // currently uploading, don't let user interact @@ -580,7 +523,6 @@ public class FTPEditDownloader_GUI extends JInternalFrame implements }// end resetValues public void resetButtons() { - // btnFinish.setEnabled(false); btnDownloadStarten.setEnabled(true); btnDownloadStarten.setText("Download starten"); btnDownloadStoppen.setEnabled(false); diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java index 19c9ba00..7777bf37 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java @@ -2,7 +2,6 @@ package gui.image; import java.awt.BorderLayout; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -22,9 +21,6 @@ import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JProgressBar; @@ -32,7 +28,6 @@ import javax.swing.JSeparator; import javax.swing.JTextPane; import javax.swing.SwingConstants; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; @@ -49,55 +44,46 @@ import org.openslx.sat.thrift.iface.User; import org.openslx.thrifthelper.ThriftManager; import util.GuiManager; -import util.OpenLinks; import config.Config; import ftp.UploadTask; -import gui.intro.About_GUI; import gui.intro.MainMenue_GUI; @SuppressWarnings("serial") -public class FTPEditUploader_GUI extends JInternalFrame implements - PropertyChangeListener { +public class FTPEditUploader_GUI extends JInternalFrame implements PropertyChangeListener { /** * Logger instance for this class. */ - private final static Logger LOGGER = Logger - .getLogger(FTPEditUploader_GUI.class); + private final static Logger LOGGER = Logger.getLogger(FTPEditUploader_GUI.class); - @SuppressWarnings("unused") - private JPanel contentPane; private final JPanel contentPanel = new JPanel(); - JLabel lblPath; - JProgressBar progressBar; - String host = SessionData.serverAdress; - int port = 21; - User user; - String filename = ""; - File uploadFile; - static String arg = ""; - UploadTask task; - JLabel lblUpSpeed; - JLabel lblFertig; - JLabel lblFilesize; - JLabel lblZeit; - JLabel lblVerbleibend; - JFileChooser fc; - long filesize; - double speed; - long bytesread; - boolean fileupload = false; - boolean taskrun = false; - int progress = 0; - JButton btnUploadStarten = new JButton("Upload auf Server starten"); - JButton btnSpeicherortAuswhlen = new JButton("Image auswählen"); - JButton btnFinish = new JButton("Fertigstellen"); - JButton btnZurck = new JButton("Zurück"); - JButton btnUploadStoppen = new JButton("Upload abbrechen"); + private JLabel lblPath; + private JProgressBar progressBar; + private String host = SessionData.serverAdress; + private int port = 21; + private User user; + private File uploadFile; + private UploadTask task; + private JLabel lblUpSpeed; + private JLabel lblFertig; + private JLabel lblFilesize; + private JLabel lblZeit; + private JLabel lblVerbleibend; + private JFileChooser fc; + private long filesize; + private double speed; + private long bytesread; + private boolean fileupload = false; + private boolean taskrun = false; + private int progress = 0; + private JButton btnUploadStarten = new JButton("Upload auf Server starten"); + private JButton btnSpeicherortAuswhlen = new JButton("Image auswählen"); + private JButton btnFinish = new JButton("Fertigstellen"); + private JButton btnZurck = new JButton("Zurück"); + private JButton btnUploadStoppen = new JButton("Upload abbrechen"); private boolean isCurrentlyLoading = false; // currently up or downloading // file private boolean isAborted = false; // down- or upload was manually aborted - Component c = null; public static final String HELP_MESSAGE = "<html><div align = \"center\">" + "Laden Sie hier Ihre bearbeitete .vmdk-Datei hoch, die dann als virtuelles Labor geladen werden kann.<br />" + "Wichtig ist, dass Sie zum Schluss auf \"Fertigstellen\" klicken, damit die Daten übernommen werden.<br />" @@ -109,8 +95,6 @@ public class FTPEditUploader_GUI extends JInternalFrame implements * Create the frame. */ public FTPEditUploader_GUI() { - - final Object[] options = { "Beenden", "Abbrechen" }; addInternalFrameListener(new InternalFrameAdapter() { @@ -120,16 +104,14 @@ public class FTPEditUploader_GUI extends JInternalFrame implements // check if user wants to quit. int choice = JOptionPane .showOptionDialog( - c, + null, "Aktuell ist ein Upload aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", - "Upload aktiv", - JOptionPane.YES_NO_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, null, - options, options[1]); + "Upload aktiv", JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, null, options, options[1]); // 0=beenden, 1=abbrechen if (choice == 0) { try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.authToken); } catch (TException e1) { e1.printStackTrace(); } @@ -151,68 +133,12 @@ public class FTPEditUploader_GUI extends JInternalFrame implements } } }); -// addWindowListener(new WindowAdapter() { -// @Override -// public void windowClosing(WindowEvent arg0) { -// -// if (taskrun == true) { -// // check if user wants to quit. -// int choice = JOptionPane -// .showOptionDialog( -// c, -// "Aktuell ist ein Upload aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", -// "Upload aktiv", -// JOptionPane.YES_NO_CANCEL_OPTION, -// JOptionPane.QUESTION_MESSAGE, null, -// options, options[1]); -// // 0=beenden, 1=abbrechen -// if (choice == 0) { -// try { -// ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.AuthToken); -// } catch (TException e1) { -// e1.printStackTrace(); -// } -// task.cancel(true); -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// System.exit(0); -// }// end if choice -// } else { -// // no upload running, close window -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// System.exit(0); -// }// end if taskrun -// }// end window closing -// }); setResizable(false); // Aktion die beim Schliessen durchgefuehrt werden soll setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - e.printStackTrace(); - } - - // filename=name; setBackground(Color.WHITE); - setTitle("Dozentenmodul - Image bearbeiten - "+person.verantwortlicher.getUserID()); + setTitle("Dozentenmodul - Image bearbeiten - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); @@ -227,8 +153,7 @@ public class FTPEditUploader_GUI extends JInternalFrame implements public void actionPerformed(ActionEvent arg0) { fc = new JFileChooser(Config.getLastUploadPath()); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); - FileNameExtensionFilter filter = new FileNameExtensionFilter( - "VMDK-Container", "vmdk"); + FileNameExtensionFilter filter = new FileNameExtensionFilter("VMDK-Container", "vmdk"); fc.setFileFilter(filter); fc.showOpenDialog(getParent()); @@ -237,7 +162,7 @@ public class FTPEditUploader_GUI extends JInternalFrame implements if (file != null) { // file selected uploadFile = file; - filename = uploadFile.getName(); + uploadFile.getName(); lblPath.setText(file.getAbsolutePath()); } else { // no file selected @@ -360,7 +285,6 @@ public class FTPEditUploader_GUI extends JInternalFrame implements GuiManager.show(new MainMenue_GUI()); } }); - JLabel label_3 = new JLabel(">"); label_3.setBounds(80, 91, 14, 14); @@ -403,7 +327,7 @@ public class FTPEditUploader_GUI extends JInternalFrame implements isAborted = true; // set flag try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.authToken); LOGGER.info("FTP user deleted."); } catch (TException e1) { e1.printStackTrace(); @@ -420,11 +344,11 @@ public class FTPEditUploader_GUI extends JInternalFrame implements btnUploadStoppen.setEnabled(false); btnUploadStoppen.setBounds(307, 238, 173, 23); contentPanel.add(btnUploadStoppen); - + JLabel lblNewLabel = new JLabel(" (opt.)"); lblNewLabel.setBounds(20, 179, 46, 14); contentPanel.add(lblNewLabel); - + JLabel lblopt = new JLabel(" (opt.)"); lblopt.setBounds(20, 257, 46, 14); contentPanel.add(lblopt); @@ -442,20 +366,17 @@ public class FTPEditUploader_GUI extends JInternalFrame implements // save data boolean success = updateData(); if (success == true) { - LOGGER.info("Bearbeitetes Image '"+Image.image.getImagename()+"' erfolgreich gespeichert."); - JOptionPane - .showMessageDialog( - c, - "Die Änderungen wurden erfolgreich gespeichert.", - "Änderungen gespeichert", - JOptionPane.INFORMATION_MESSAGE); + LOGGER.info("Bearbeitetes Image '" + Image.Imagename + + "' erfolgreich gespeichert."); + JOptionPane.showMessageDialog(null, + "Die Änderungen wurden erfolgreich gespeichert.", + "Änderungen gespeichert", JOptionPane.INFORMATION_MESSAGE); } else { - LOGGER.error("Bearbeitetes Image '"+Image.image.getImagename()+"' konnte nicht gespeichert werden."); - JOptionPane - .showMessageDialog( - c, - "Die Änderungen konnten nicht gespeichert werden.", - "Fehler", JOptionPane.ERROR_MESSAGE); + LOGGER.error("Bearbeitetes Image '" + Image.Imagename + + "' konnte nicht gespeichert werden."); + JOptionPane.showMessageDialog(null, + "Die Änderungen konnten nicht gespeichert werden.", "Fehler", + JOptionPane.ERROR_MESSAGE); } if (lblPath.getText().trim().length() > 0) { @@ -464,8 +385,7 @@ public class FTPEditUploader_GUI extends JInternalFrame implements if (f.isDirectory()) { Config.setLastUploadPath(f.toString()); } else if (f.getParentFile().isDirectory()) { - Config.setLastUploadPath(f.getParentFile() - .toString()); + Config.setLastUploadPath(f.getParentFile().toString()); } } @@ -475,13 +395,13 @@ public class FTPEditUploader_GUI extends JInternalFrame implements if (taskrun == true) { try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, + SessionData.authToken); } catch (TException e1) { e1.printStackTrace(); - JOptionPane.showMessageDialog(c, e1.getCause() - + "\n" + e1.getStackTrace(), - "Debug-Message", + JOptionPane.showMessageDialog(null, + e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } task.cancel(true); @@ -494,27 +414,26 @@ public class FTPEditUploader_GUI extends JInternalFrame implements // check if loading file or not if (isCurrentlyLoading() == true) { - int choice = JOptionPane - .showOptionDialog( - c, - "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?", - "Warnung", - JOptionPane.YES_NO_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, null, - options, options[1]); + int choice = JOptionPane.showOptionDialog(null, + "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?", + "Warnung", JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, null, options, options[1]); // 0=beenden, 1=abbrechen if (choice == 0) { try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, + SessionData.authToken); } catch (TException e1) { e1.printStackTrace(); } task.cancel(true); // not loading files, go back one page - + try { - if(ThriftManager.getSatClient().userIsImageAdmin(Image.image.getImageId(), SessionData.authToken,person.verantwortlicher.getUserID()) == true || person.verantwortlicher.getRole().equals("Admin")){ + if (ThriftManager.getSatClient().userIsImageAdmin(Image.ImageId, + SessionData.authToken, person.verantwortlicher.getUserID()) == true + || person.verantwortlicher.getRole().equals("Admin")) { //user is admin and may change permissions GuiManager.show(new PermissionEditImage_GUI()); @@ -526,23 +445,22 @@ public class FTPEditUploader_GUI extends JInternalFrame implements // TODO Auto-generated catch block e.printStackTrace(); } - }// end if coice } else { int selectedOption = JOptionPane .showConfirmDialog( - c, + null, "<html>Achtung: Alle Änderungen gehen verloren!<br />Klicken Sie auf fertigstellen, wenn Sie die Änderungen dauerhaft speichern möchten.<br /><br />Möchten Sie jetzt abbrechen und zurück?</html>", - "Abbrechen und zurück", - JOptionPane.YES_NO_OPTION); + "Abbrechen und zurück", JOptionPane.YES_NO_OPTION); if (selectedOption == JOptionPane.YES_OPTION) { try { - System.out.println("userID in editimageuploader is : "+person.verantwortlicher.getUserID()); - - if(ThriftManager.getSatClient().userIsImageAdmin(Image.image.getImageId(), SessionData.authToken,person.verantwortlicher.getUserID()) == true) - { + System.out.println("userID in editimageuploader is : " + + person.verantwortlicher.getUserID()); + + if (ThriftManager.getSatClient().userIsImageAdmin(Image.ImageId, + SessionData.authToken, person.verantwortlicher.getUserID()) == true) { //user is admin and may change permissions GuiManager.show(new PermissionEditImage_GUI()); } else { @@ -579,35 +497,21 @@ public class FTPEditUploader_GUI extends JInternalFrame implements btnUploadStarten.setText("Bitte warten"); try { - //LOGGER.info("Getting FTP-User..."); user = ThriftManager.getSatClient().getFtpUser(SessionData.authToken); LOGGER.info("Received FTP user."); - //LOGGER.debug("FTP name: " + user.userName); - //LOGGER.debug("FTP path: " + user.path); - //LOGGER.debug("FTP pass: " + user.password); } catch (TException e) { e.printStackTrace(); - JOptionPane.showMessageDialog(c, - "Konnte vom Satelliten keine FTP-User erhalten!", + JOptionPane.showMessageDialog(null, "Konnte vom Satelliten keine FTP-User erhalten!", "Debug-Message", JOptionPane.ERROR_MESSAGE); } DateFormat formatter = new SimpleDateFormat("yyyMMddHHmmss"); // set new file name and path only when uploading a new file. else use // old filename and path - //LOGGER.info("Getting imagePath: "+Image.image.getImagepath()); - //LOGGER.info("Getting old 'newName': "+Image.image.getNewName()); - //LOGGER.info("Setting new File-Name: " + formatter.format(new Date()) + "_" - // + person.verantwortlicher.getHochschule() + "_" - // + person.verantwortlicher.getUsername() + "_" - // + Image.image.getImagename() + ".vmdk"); - Image.image.setNewName(formatter.format(new Date()) + "_" - + person.verantwortlicher.getHochschule() + "_" - + person.verantwortlicher.getUsername() + "_" - + Image.image.getImagename() + ".vmdk"); - - task = new UploadTask(host, port, user.userName, user.password, - user.path + "temp/", uploadFile); + Image.NewName = formatter.format(new Date()) + "_" + person.verantwortlicher.getHochschule() + "_" + + person.verantwortlicher.getUsername() + "_" + Image.Imagename + ".vmdk"; + + task = new UploadTask(host, port, user.userName, user.password, user.path + "temp/", uploadFile); task.addPropertyChangeListener(this); task.execute(); @@ -625,8 +529,7 @@ public class FTPEditUploader_GUI extends JInternalFrame implements } // Fertigstellen erlauben wenn upload abgeschlossen - if (isCurrentlyLoading() == false - || progressBar.getPercentComplete() == 1.0) { + if (isCurrentlyLoading() == false || progressBar.getPercentComplete() == 1.0) { // no upload // LOGGER.info("finished uploading file"); btnUploadStoppen.setEnabled(false); @@ -649,13 +552,10 @@ public class FTPEditUploader_GUI extends JInternalFrame implements if ("bytesread" == arg0.getPropertyName()) { bytesread = (long) arg0.getNewValue(); lblFertig.setText((bytesread / 1024 / 1024) + " MB"); - lblVerbleibend - .setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) - + " MB"); + lblVerbleibend.setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) + " MB"); lblZeit.setText(String - .valueOf( - ((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) + .valueOf(((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) .substring( 0, String.valueOf( @@ -675,73 +575,43 @@ public class FTPEditUploader_GUI extends JInternalFrame implements public boolean updateData() { try { - //LOGGER.debug("NewFileName: " + Image.image.getNewName()); - //LOGGER.debug("ImageName: " + Image.image.getImagename()); - //if a new file has been uploaded and new filename is set - if (Image.image.getNewName() != null) { + if (Image.NewName != null) { LOGGER.debug("New file uploaded and new filename is set"); - //LOGGER.debug("(NOT NULL) new FileName is '"+Image.image.getNewName()+"', imagepath="+ Image.image.getImagepath()); - - ThriftManager.getSatClient().updateImageData( - Image.image.getImagename(), - Image.image.getImagename(), - Image.image.getDesc(), - //Image.image.getImagepath(), - "temp/"+Image.image.getNewName(), - Image.image.isLicensed(), - Image.image.isInternet(), - Image.image.getRam(), - Image.image.getCpu(), - Image.image.getImageId(), - Image.image.getVersion(), - Image.image.isVorlage(), - Image.image.getFilesize(), - Image.image.getShareMode(), - Image.image.getOS(), - SessionData.authToken - ); + + ThriftManager.getSatClient().updateImageData(Image.Imagename, Image.Imagename, + Image.Desc, + //Image.Imagepath, + "temp/" + Image.NewName, Image.Licensed, Image.Internet, Image.Ram, Image.Cpu, + Image.ImageId, Image.Version, Image.Vorlage, Image.Filesize, Image.ShareMode, + Image.OS, SessionData.authToken); if (fileupload == true) { - ThriftManager.getSatClient().startFileCopy(Image.image.getNewName(),SessionData.authToken); + ThriftManager.getSatClient().startFileCopy(Image.NewName, SessionData.authToken); } } else { //no new file uploaded and old file name stays - //LOGGER.debug("(NULL) newName is '"+Image.image.getNewName()+"', imagepath="+ Image.image.getImagepath()); LOGGER.debug("old file should remain"); - - ThriftManager.getSatClient().updateImageData( - Image.image.getImagename(), - Image.image.getImagename(), - Image.image.getDesc(), - //"temp/" + Image.image.getNewName(), //wrong - Image.image.getImagepath(), - Image.image.isLicensed(), - Image.image.isInternet(), - Image.image.getRam(), - Image.image.getCpu(), - Image.image.getImageId(), - Image.image.getVersion(), - Image.image.isVorlage(), - Image.image.getFilesize(), - Image.image.getShareMode(), - Image.image.getOS(), - SessionData.authToken - ); + + ThriftManager.getSatClient().updateImageData(Image.Imagename, Image.Imagename, + Image.Desc, + //"temp/" + Image.NewName, //wrong + Image.Imagepath, Image.Licensed, Image.Internet, Image.Ram, Image.Cpu, Image.ImageId, + Image.Version, Image.Vorlage, Image.Filesize, Image.ShareMode, Image.OS, + SessionData.authToken); if (fileupload == true) { - ThriftManager.getSatClient().startFileCopy(Image.image.getNewName(),SessionData.authToken); - // client.startFileCopy(Image.image.getImagename()); + ThriftManager.getSatClient().startFileCopy(Image.NewName, SessionData.authToken); + // client.startFileCopy(Image.Imagename); } } - // remove all additional user permissions on first stage - ThriftManager.getSatClient().deleteAllAdditionalImagePermissions(Image.image.getImageId(),SessionData.authToken,person.verantwortlicher.getUserID()); + ThriftManager.getSatClient().deleteAllAdditionalImagePermissions(Image.ImageId, + SessionData.authToken, person.verantwortlicher.getUserID()); // then, add user permissions as they have been set new - for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList().size(); i++) - { + for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList().size(); i++) { /*System.out.println("Writing additional rights for user " + RightsManagement.rightsManagement .getPermittedUserList().get(i).getUserID() @@ -750,25 +620,22 @@ public class FTPEditUploader_GUI extends JInternalFrame implements + "/" + RightsManagement.rightsManagement.getPermittedUserList().size()); */ - - ThriftManager.getSatClient().writeAdditionalImageRights(Image.image.getImageId(), + + ThriftManager.getSatClient().writeAdditionalImageRights(Image.ImageId, RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageRead(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageWrite(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageLinkAllowed(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageAdmin(), - SessionData.authToken - ); + SessionData.authToken); }// end for } catch (TException e) { e.printStackTrace(); - JOptionPane - .showMessageDialog( - c, - "Konnte die Metadaten des Images nicht in die Datenbank speichern!", - "Debug-Message", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + "Konnte die Metadaten des Images nicht in die Datenbank speichern!", "Debug-Message", + JOptionPane.ERROR_MESSAGE); return false; } return true; @@ -778,8 +645,7 @@ public class FTPEditUploader_GUI extends JInternalFrame implements public boolean isCurrentlyLoading() { isCurrentlyLoading = false; - if (lblVerbleibend.getText().trim().equals("0 MB") - || lblVerbleibend.getText().trim().equals("0")) { + if (lblVerbleibend.getText().trim().equals("0 MB") || lblVerbleibend.getText().trim().equals("0")) { isCurrentlyLoading = false; } else { isCurrentlyLoading = true; diff --git a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java index daec08e6..f92d6a5c 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java @@ -2,7 +2,6 @@ package gui.image; import java.awt.BorderLayout; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -19,9 +18,6 @@ import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JProgressBar; @@ -29,7 +25,6 @@ import javax.swing.JSeparator; import javax.swing.JTextPane; import javax.swing.SwingConstants; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; @@ -47,59 +42,51 @@ import util.GuiManager; import util.OpenLinks; import config.Config; import ftp.DownloadTask; -import gui.intro.About_GUI; import gui.intro.MainMenue_GUI; @SuppressWarnings("serial") -public class FTPSearchDownloader_GUI extends JInternalFrame implements - PropertyChangeListener { +public class FTPSearchDownloader_GUI extends JInternalFrame implements PropertyChangeListener { - private final static Logger LOGGER = Logger - .getLogger(FTPEditDownloader_GUI.class); + private final static Logger LOGGER = Logger.getLogger(FTPEditDownloader_GUI.class); - @SuppressWarnings("unused") - private JPanel contentPane; private final JPanel contentPanel = new JPanel(); - JLabel lblPath; - JLabel lblDownSpeed; - User user; - JProgressBar progressBar; - String host = SessionData.serverAdress; - int port = 21; - String downloadFile = ""; - static String arg = ""; - DownloadTask task; - JLabel lblFertig; - JLabel lblFilesize; - JLabel lblVerbleibend; - JFileChooser fc; - long filesize; - double speed; - int progress = 0; // progress of download - long bytesread; - JLabel lblZeit; - boolean taskrun = false; - JButton btnZurck = new JButton("Zurück"); - JButton btnDownloadStarten = new JButton("Download starten"); - JButton btnMainMenu = new JButton("Hauptmenü"); - JButton btnDownloadStoppen = new JButton("Download abbrechen"); + private JLabel lblPath; + private JLabel lblDownSpeed; + private User user; + private JProgressBar progressBar; + private String host = SessionData.serverAdress; + private int port = 21; + private String downloadFile = ""; + private DownloadTask task; + private JLabel lblFertig; + private JLabel lblFilesize; + private JLabel lblVerbleibend; + private JFileChooser fc; + private long filesize; + private double speed; + private int progress = 0; // progress of download + private long bytesread; + private JLabel lblZeit; + private boolean taskrun = false; + private JButton btnZurck = new JButton("Zurück"); + private JButton btnDownloadStarten = new JButton("Download starten"); + private JButton btnMainMenu = new JButton("Hauptmenü"); + private JButton btnDownloadStoppen = new JButton("Download abbrechen"); private JLabel lblAnleitung; - Component c = null; private boolean isCurrentlyLoading = false; // currently up or downloading // file private boolean isAborted = false; // down- or upload was manually aborted - public static final String HELP_MESSAGE = "<html><div align=\"center\">" + - "Hier können Sie Images herunterladen.<br />" + - "Klicken Sie anschließend auf \"Zurück\" oder \"Hauptmenü\", um zu Ihrer vorherigen Auswahl oder zum Menü zurückzugelangen.<br />" + - "</div></html>"; + public static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "Hier können Sie Images herunterladen.<br />" + + "Klicken Sie anschließend auf \"Zurück\" oder \"Hauptmenü\", um zu Ihrer vorherigen Auswahl oder zum Menü zurückzugelangen.<br />" + + "</div></html>"; /** * Create the frame. */ public FTPSearchDownloader_GUI() { - - final Object[] options = { "Beenden", "Abbrechen" }; + final String[] options = { "Beenden", "Abbrechen" }; addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameClosing(InternalFrameEvent arg0) { @@ -107,17 +94,15 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements // check if user wants to quit. int choice = JOptionPane .showOptionDialog( - c, + null, "Aktuell ist ein Download aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", - "Upload aktiv", - JOptionPane.YES_NO_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, null, - options, options[1]); + "Upload aktiv", JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, null, options, options[1]); // 0=beenden, 1=abbrechen if (choice == 0) { try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.authToken); try { ThriftManager.getSatClient().setSessionInvalid(SessionData.authToken); } catch (TException e1) { @@ -141,68 +126,11 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements } } }); -// addWindowListener(new WindowAdapter() { -// @Override -// public void windowClosing(WindowEvent e) { -// if (taskrun == true) { -// // check if user wants to quit. -// int choice = JOptionPane -// .showOptionDialog( -// c, -// "Aktuell ist ein Download aktiv. Wollen Sie diesen Abbrechen und das Programm beenden?", -// "Upload aktiv", -// JOptionPane.YES_NO_CANCEL_OPTION, -// JOptionPane.QUESTION_MESSAGE, null, -// options, options[1]); -// // 0=beenden, 1=abbrechen -// if (choice == 0) { -// -// try { -// ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.AuthToken); -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// } catch (TException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// task.cancel(true); -// -// System.exit(0); -// }// end if choice -// } else { -// // no download running, close window -// try { -// ThriftManager.getSatClient().setSessionInvalid(SessionData.AuthToken); -// } catch (TException e1) { -// // TODO Auto-generated catch block -// e1.printStackTrace(); -// } -// System.exit(0); -// }// end if taskrun -// }// end window closing -// }); - setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + setResizable(false); setBackground(Color.WHITE); - setTitle("Dozentenmodul - Image herunterladen - "+person.verantwortlicher.getUserID()); + setTitle("Dozentenmodul - Image herunterladen - " + person.verantwortlicher.getUserID()); // Aktion die beim Schliessen durchgefuehrt werden soll setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setBounds(0, 0, 603, 722); @@ -213,8 +141,7 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements getContentPane().add(contentPanel, BorderLayout.CENTER); contentPanel.setLayout(null); { - JButton btnSpeicherortAuswhlen = new JButton( - "Speicherort auswählen"); + JButton btnSpeicherortAuswhlen = new JButton("Speicherort auswählen"); btnSpeicherortAuswhlen.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { fc = new JFileChooser(Config.getLastDownloadPath()); @@ -247,7 +174,7 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements lblPath.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent arg0) { - if (lblPath.getText().trim() == null) { + if (lblPath.getText().trim().isEmpty()) { // wenn leer, dann upload button nicht freigeben btnDownloadStarten.setEnabled(false); btnDownloadStarten.setText("Bitte warten"); @@ -277,8 +204,7 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements progressBar.setBounds(102, 234, 485, 30); contentPanel.add(progressBar); - JLabel lblDownloadgeschwindigkeit = new JLabel( - "Downloadgeschwindigkeit:"); + JLabel lblDownloadgeschwindigkeit = new JLabel("Downloadgeschwindigkeit:"); lblDownloadgeschwindigkeit.setBounds(102, 275, 141, 14); contentPanel.add(lblDownloadgeschwindigkeit); @@ -310,8 +236,7 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements lblVerbleibend.setBounds(183, 350, 108, 14); contentPanel.add(lblVerbleibend); - JLabel lblGeschtzteVerbleibendeZeit = new JLabel( - "Geschätzte Verbleibende Zeit:"); + JLabel lblGeschtzteVerbleibendeZeit = new JLabel("Geschätzte Verbleibende Zeit:"); lblGeschtzteVerbleibendeZeit.setBounds(102, 300, 150, 14); contentPanel.add(lblGeschtzteVerbleibendeZeit); @@ -331,8 +256,7 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements panel.add(lblImageDownloader); JTextPane txtpnWhlenSieEinen = new JTextPane(); - txtpnWhlenSieEinen - .setText("Wählen Sie einen Ort aus, um das von Ihnen gwählte Image zu speichern."); + txtpnWhlenSieEinen.setText("Wählen Sie einen Ort aus, um das von Ihnen gwählte Image zu speichern."); txtpnWhlenSieEinen.setEditable(false); txtpnWhlenSieEinen.setBackground(SystemColor.menu); txtpnWhlenSieEinen.setBounds(10, 36, 509, 32); @@ -380,18 +304,17 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements lblSchritt_3.setBounds(20, 423, 57, 14); contentPanel.add(lblSchritt_3); - JLabel lblKlickenSieAuf = new JLabel( - "Klicken Sie auf \"Zurück\" oder \"Hauptmenü\"."); + JLabel lblKlickenSieAuf = new JLabel("Klicken Sie auf \"Zurück\" oder \"Hauptmenü\"."); lblKlickenSieAuf.setBounds(102, 423, 241, 14); contentPanel.add(lblKlickenSieAuf); - + lblAnleitung = new JLabel( "<HTML><U>Anleitung zum erstellen einer virtuellen Maschine herunterladen</U></HTML>"); lblAnleitung.setForeground(Color.BLUE); lblAnleitung.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - OpenLinks.openWebpage("vmware"); + OpenLinks.openWebpage("vmware"); } }); lblAnleitung.setBounds(102, 448, 311, 14); @@ -401,7 +324,7 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements isAborted = true; // set flag try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.authToken); LOGGER.info("Deleted FTP user."); } catch (TException e1) { // TODO Auto-generated catch block @@ -429,19 +352,16 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements public void actionPerformed(ActionEvent e) { // check if loading file or not if (isCurrentlyLoading() == true) { - int choice = JOptionPane - .showOptionDialog( - c, - "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?", - "Warnung", - JOptionPane.YES_NO_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, null, - options, options[1]); + int choice = JOptionPane.showOptionDialog(null, + "Nicht abgeschlossene Uploads werden beendet. Trotzdem zurück gehen?", + "Warnung", JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.QUESTION_MESSAGE, null, options, options[1]); // 0=beenden, 1=abbrechen if (choice == 0) { task.cancel(true); try { - ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.authToken); + ThriftManager.getSatClient().DeleteFtpUser(user.userName, + SessionData.authToken); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -489,19 +409,18 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements downloadFile = user.path + "/" - + ThriftManager.getSatClient().getPathOfImage(Image.image.getImageId(), - Image.image.getVersion(),SessionData.authToken); + + ThriftManager.getSatClient().getPathOfImage(Image.ImageId, + Image.Version, SessionData.authToken); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); - JOptionPane.showMessageDialog(c, - e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } - task = new DownloadTask(host, port, user.userName, user.password, - downloadFile, lblPath.getText().trim()); + task = new DownloadTask(host, port, user.userName, user.password, downloadFile, lblPath.getText() + .trim()); task.addPropertyChangeListener(this); task.execute(); taskrun = true; @@ -541,13 +460,10 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements if ("bytesread" == arg0.getPropertyName()) { bytesread = (long) arg0.getNewValue(); lblFertig.setText((bytesread / 1024 / 1024) + " MB"); - lblVerbleibend - .setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) - + " MB"); + lblVerbleibend.setText(((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) + " MB"); lblZeit.setText(String - .valueOf( - ((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) + .valueOf(((((filesize / 1024 / 1024) - (bytesread / 1024 / 1024)) / speed) / 60) + 1) .substring( 0, String.valueOf( @@ -567,8 +483,7 @@ public class FTPSearchDownloader_GUI extends JInternalFrame implements public boolean isCurrentlyLoading() { isCurrentlyLoading = false; - if (lblVerbleibend.getText().trim().equals("0 MB") - || lblVerbleibend.getText().trim().equals("0")) { + if (lblVerbleibend.getText().trim().equals("0 MB") || lblVerbleibend.getText().trim().equals("0")) { isCurrentlyLoading = false; } else { isCurrentlyLoading = true; diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index 8fab2da8..25848bde 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -10,7 +10,6 @@ import java.awt.Font; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; @@ -19,7 +18,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.swing.AbstractButton; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; import javax.swing.JCheckBox; @@ -360,7 +358,7 @@ public class PermissionCreateImage_GUI extends JInternalFrame { saveTableToList(); - Image.image.setShareMode(comboBox_1.getSelectedIndex()); + Image.ShareMode = comboBox_1.getSelectedIndex(); GuiManager.show(new FTPCreateUploader_GUI()); } @@ -407,19 +405,6 @@ public class PermissionCreateImage_GUI extends JInternalFrame { table.setValueAt(checkedVals[3], selectedRow, 4); }// end checkIntegrity() - // invisible userID column - class MyItemListener5 implements ItemListener { - public void itemStateChanged(ItemEvent e) { - Object source = e.getSource(); - if (source instanceof AbstractButton == false) - return; - boolean checked = e.getStateChange() == ItemEvent.SELECTED; - for (int x = 0, y = table.getRowCount(); x < y; x++) { - table.setValueAt(new Boolean(checked), x, 5); - } - } - } - // save the entered rights into the model and prepare them to be written to // the database private void saveTableToList() { @@ -431,11 +416,8 @@ public class PermissionCreateImage_GUI extends JInternalFrame { // for (int i = 0; i < map.size(); i++) { for (int i = 0; i < table.getRowCount(); i++) { - // System.out.println("in for, rowcount="+table.getRowCount()); person temp = new person(); - // table.getModel().setValueAt(map.get, i, 5); - temp.setUserID(table.getModel().getValueAt(i, 5).toString()); // get // userID temp.setImageAdmin(Boolean.parseBoolean(table.getModel().getValueAt(i, 4).toString())); // get Admin @@ -451,8 +433,6 @@ public class PermissionCreateImage_GUI extends JInternalFrame { if (temp.isImageAdmin() || temp.isImageLinkAllowed() || temp.isImageWrite() || temp.isImageRead()) { // save entry list.add(temp); - } else { - // do nothing } } diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index cbbd2eba..eb7a7769 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -9,15 +9,12 @@ import java.awt.Font; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.swing.AbstractButton; import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; import javax.swing.JComboBox; @@ -158,7 +155,7 @@ public class PermissionEditImage_GUI extends JInternalFrame { try { map = ThriftManager.getSatClient().getPermissionForUserAndImage(SessionData.authToken, - Image.image.getImageId(), person.verantwortlicher.getUserID()); + Image.ImageId, person.verantwortlicher.getUserID()); Iterator<Person> i = map.iterator(); int x = 0; @@ -244,7 +241,7 @@ public class PermissionEditImage_GUI extends JInternalFrame { final JComboBox<String> comboBox_1 = new JComboBox<>(); comboBox_1.setModel(new DefaultComboBoxModel<String>(new String[] { "Lokal (Eigene Hochschule)", "Öffentlich (Alle Hochschulen)" })); - comboBox_1.setSelectedIndex(Image.image.getShareMode()); + comboBox_1.setSelectedIndex(Image.ShareMode); comboBox_1.setBounds(270, 30, 250, 20); panel_2.add(comboBox_1); @@ -376,7 +373,7 @@ public class PermissionEditImage_GUI extends JInternalFrame { saveTableToList(); - Image.image.setShareMode(comboBox_1.getSelectedIndex()); + Image.ShareMode = comboBox_1.getSelectedIndex(); GuiManager.show(new FTPEditUploader_GUI()); } }); diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index 2c037885..2093d34c 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -1,5 +1,6 @@ package gui.image; +import gui.helper.TableFiller; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -17,7 +18,6 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -27,7 +27,6 @@ import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; @@ -36,8 +35,6 @@ import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.ListSelectionModel; import javax.swing.RowFilter; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -57,135 +54,105 @@ import org.apache.thrift.TException; import org.openslx.thrifthelper.ThriftManager; import util.GuiManager; + //import models.person; @SuppressWarnings("serial") public class SearchEditImage_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - JLabel labelName; - JLabel labelUpdate; - JLabel labelVerantwortlicher; - JLabel labelWeitereVerantwortliche; - JLabel labelVorlage; - JLabel labelLizenzSoftware; - JLabel labelInternet; - JLabel labelRam; - JLabel labelCPU; - JLabel labelID; - JLabel labelVersion; - JLabel lblNewLabel = new JLabel("Imageauswahl"); - JTextArea textAreadesc; + private JLabel labelName; + private JLabel labelUpdate; + private JLabel labelVerantwortlicher; + private JLabel labelWeitereVerantwortliche; + private JLabel labelVorlage; + private JLabel labelLizenzSoftware; + private JLabel labelInternet; + private JLabel labelRam; + private JLabel labelCPU; + private JLabel labelID; + private JLabel labelVersion; + private JLabel lblNewLabel = new JLabel("Imageauswahl"); + private JTextArea textAreadesc; private JLabel labelOS; - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JComboBox<String> comboBox; - JTable tablemyImages; - boolean activeSearch = false; + private JComboBox<String> comboBox; + private JTable tablemyImages; + private JLabel lblTotalResults; private JTextField textFieldName; - Component c = null; - int requiredPermission = 1; // 0=Read, 1= Write, 2=LinkAllowed, 3=Admin - String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" };// Angezeigt - // werden - // aber - // nur - // Name - // (0), - // OS - // (2), - // Verantwortlicher - // (4), - // Letztes - // Update - // (5) + private Component c = null; + private String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", + "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" }; public static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Suchen Sie Images und laden Sie sie direkt herunter.<br />" + "Sie können die Volltextsuche nutzen und nach Betriebssystemen filtern.<br />" + "Die Volltextsuche sucht in den Feldern Name und Beschreibung.<br />" - + "Klicken Sie auf \"Weiter\" um das Image für weitere Schritte auszuwählen." - + "</div></html>"; + + "Klicken Sie auf \"Weiter\" um das Image für weitere Schritte auszuwählen." + "</div></html>"; - - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { + private final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - - final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( - modelMyImages); + private final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(modelMyImages); RowFilter<Object, Object> rf = null; - List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2); - private JLabel lblTotalResults; - + List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(2); /** - * Create the dialog. + * Create the dialog. */ public SearchEditImage_GUI() { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); - + addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent arg0) { - initTableModel(modelMyImages); - - // auszublendende Angaben - // 1=Lizenzpflichtig - // 3=Veranstaltung - // 6=ID - // 7=Version - // 8=Template - // 9=Beschreibung (needed for full text search) - tablemyImages.getColumnModel().getColumn(1).setWidth(0); - tablemyImages.getColumnModel().getColumn(1).setMinWidth(0); - tablemyImages.getColumnModel().getColumn(1).setMaxWidth(0); - tablemyImages.getColumnModel().getColumn(3).setWidth(0); - tablemyImages.getColumnModel().getColumn(3).setMinWidth(0); - tablemyImages.getColumnModel().getColumn(3).setMaxWidth(0); - tablemyImages.getColumnModel().getColumn(8).setWidth(0); - tablemyImages.getColumnModel().getColumn(8).setMinWidth(0); - tablemyImages.getColumnModel().getColumn(8).setMaxWidth(0); - tablemyImages.getColumnModel().getColumn(6).setWidth(0); - tablemyImages.getColumnModel().getColumn(6).setMinWidth(0); - tablemyImages.getColumnModel().getColumn(6).setMaxWidth(0); - tablemyImages.getColumnModel().getColumn(7).setWidth(0); - tablemyImages.getColumnModel().getColumn(7).setMinWidth(0); - tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0); - tablemyImages.getColumnModel().getColumn(9).setWidth(0); - tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); - tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); - - tablemyImages.getTableHeader().setReorderingAllowed(false); - tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - textFieldName.requestFocusInWindow(); + initTableModel(modelMyImages); + + // auszublendende Angaben + // 1=Lizenzpflichtig + // 3=Veranstaltung + // 6=ID + // 7=Version + // 8=Template + // 9=Beschreibung (needed for full text search) + tablemyImages.getColumnModel().getColumn(1).setWidth(0); + tablemyImages.getColumnModel().getColumn(1).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(1).setMaxWidth(0); + tablemyImages.getColumnModel().getColumn(3).setWidth(0); + tablemyImages.getColumnModel().getColumn(3).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(3).setMaxWidth(0); + tablemyImages.getColumnModel().getColumn(8).setWidth(0); + tablemyImages.getColumnModel().getColumn(8).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(8).setMaxWidth(0); + tablemyImages.getColumnModel().getColumn(6).setWidth(0); + tablemyImages.getColumnModel().getColumn(6).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(6).setMaxWidth(0); + tablemyImages.getColumnModel().getColumn(7).setWidth(0); + tablemyImages.getColumnModel().getColumn(7).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0); + tablemyImages.getColumnModel().getColumn(9).setWidth(0); + tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); + + tablemyImages.getTableHeader().setReorderingAllowed(false); + tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + textFieldName.requestFocusInWindow(); } }); // Verhindert das Vergroessern Des Fensters setResizable(false); - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - e.printStackTrace(); - } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image bearbeiten - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 918, 722); - //final DefaultTableModel model = new DefaultTableModel(titles, 0); getContentPane().setLayout(null); @@ -218,8 +185,8 @@ public class SearchEditImage_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 98); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -233,7 +200,7 @@ public class SearchEditImage_GUI extends JInternalFrame { panel_1.add(lblInternetIstInnerhalb); textFieldName = new JTextField(); - + // Key Listener der Tastatureingabe registriert textFieldName.addKeyListener(new KeyAdapter() { @Override @@ -241,41 +208,33 @@ public class SearchEditImage_GUI extends JInternalFrame { // Textfield eingabe auslesen String stext = textFieldName.getText().trim(); - + //System.out.println("Help, I don't want to be filtered yet...."); // Wenn Textfield nicht leer - if (stext.trim().length() > 0) - { - - activeSearch = true; + if (!stext.isEmpty()) { // Filtere nach der Eingabe - + filters.clear(); - - filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive - + + filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive + filters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive + rf = RowFilter.orFilter(filters); - rowSorterMyImages.setRowFilter(rf); - - } - else - { - - activeSearch = false; - + rowSorterMyImages.setRowFilter(rf); + + } else { filters.clear(); filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything - + rf = RowFilter.orFilter(filters); - + rowSorterMyImages.setRowFilter(rf); - + } - + tablemyImages.clearSelection(); - + resetImageInfo(); } @@ -298,11 +257,9 @@ public class SearchEditImage_GUI extends JInternalFrame { } } catch (TException e2) { e2.printStackTrace(); - JOptionPane - .showMessageDialog( - c, - "Konnte die Liste der Betriebssysteme vom Server nicht abfragen!", - "Fehlermeldung", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(c, + "Konnte die Liste der Betriebssysteme vom Server nicht abfragen!", "Fehlermeldung", + JOptionPane.ERROR_MESSAGE); } // Registriert Auswahlaenderungen der Box comboBox.addActionListener(new ActionListener() { @@ -310,20 +267,12 @@ public class SearchEditImage_GUI extends JInternalFrame { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString().isEmpty() == false) { // Filtert nach dem ausgewaehlten Betriebssystem - activeSearch = true; - - rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); - + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem() + .toString(), 2)); + } else { - - - activeSearch = false; - /* - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); - */ rowSorterMyImages.setRowFilter(null); - + } } @@ -337,7 +286,7 @@ public class SearchEditImage_GUI extends JInternalFrame { public void mouseClicked(MouseEvent arg0) { // oeffnet das Hauuetmenue GuiManager.show(new MainMenue_GUI()); - + } }); lblHauptmen.setForeground(Color.BLUE); @@ -367,25 +316,23 @@ public class SearchEditImage_GUI extends JInternalFrame { // oeffnet den Downloader // check if user is in correct tab - /* if (tabbedPane.getSelectedIndex() == 0) { */ // check if a row is selected if (tablemyImages.getSelectedRow() != -1) { String imageid = modelMyImages.getValueAt( - tablemyImages.convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6).toString(); + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) + .toString(); - Image.image.setImageId(imageid); + Image.ImageId = imageid; String imageversion = modelMyImages.getValueAt( - tablemyImages.convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7).toString(); + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) + .toString(); - Image.image.setVersion(imageversion); + Image.Version = imageversion; GuiManager.show(new FTPEditDownloader_GUI()); } else { - JOptionPane.showMessageDialog(c, - "Bitte wählen Sie ein Image für den Download aus", + JOptionPane.showMessageDialog(c, "Bitte wählen Sie ein Image für den Download aus", "Message", JOptionPane.INFORMATION_MESSAGE); } } @@ -398,40 +345,41 @@ public class SearchEditImage_GUI extends JInternalFrame { contentPanel.add(scrollPaneMyImage); tablemyImages = new JTable(); - tablemyImages.getSelectionModel().addListSelectionListener( - new ListSelectionListener() - { - public void valueChanged(ListSelectionEvent e) - { - - //tablemyImages.clearSelection(); - //tablemyImages.setRowSelectionInterval(e.getLastIndex(), e.getLastIndex()); - - if (tablemyImages.getSelectedRow() != -1) - { - //zeige die ganzen Details an - String imageid = modelMyImages.getValueAt(tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()),6).toString(); - String version = modelMyImages.getValueAt(tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()),7).toString(); - - //write the values into the information pane on the right hand side - writeImageData(imageid, version); - - //fill the itemOwnder model with information from selected item - setItemOwnerInformation(imageid); - } - } - }); - + tablemyImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + //tablemyImages.clearSelection(); + //tablemyImages.setRowSelectionInterval(e.getLastIndex(), e.getLastIndex()); + + if (tablemyImages.getSelectedRow() != -1) { + //zeige die ganzen Details an + String imageid = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) + .toString(); + String version = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) + .toString(); + + //write the values into the information pane on the right hand side + writeImageData(imageid, version); + + //fill the itemOwnder model with information from selected item + setItemOwnerInformation(imageid); + } + } + }); + tablemyImages.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { tablemyImages.clearSelection(); //just one row is selectable - tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), tablemyImages.rowAtPoint(e.getPoint())); + tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), + tablemyImages.rowAtPoint(e.getPoint())); } }); - + tablemyImages.setModel(modelMyImages); tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); @@ -439,13 +387,12 @@ public class SearchEditImage_GUI extends JInternalFrame { tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); - + rowSorterMyImages.setRowFilter(rf); tablemyImages.setRowSorter(rowSorterMyImages); - scrollPaneMyImage.setViewportView(tablemyImages); - + lblTotalResults = new JLabel("Anzahl:"); lblTotalResults.setBounds(10, 512, 131, 20); contentPanel.add(lblTotalResults); @@ -465,7 +412,6 @@ public class SearchEditImage_GUI extends JInternalFrame { }); okButton.setActionCommand("OK"); buttonPane.add(okButton); - //getRootPane().setDefaultButton(okButton); } { JButton cancelButton = new JButton("Weiter"); @@ -476,26 +422,20 @@ public class SearchEditImage_GUI extends JInternalFrame { // if (tabbedPane.getSelectedIndex() == 0) { // check if a row is selected if (tablemyImages.getSelectedRow() != -1) { - String imageid = modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), - 6).toString(); - - Image.image.setImageId(imageid); - String imageversion = modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), - 7).toString(); - - Image.image.setVersion(imageversion); + String imageid = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) + .toString(); + + Image.ImageId = imageid; + String imageversion = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) + .toString(); + + Image.Version = imageversion; GuiManager.show(new EditImageAllgemein_GUI()); } - - }// end actionPerformed + + }// end actionPerformed }); cancelButton.setActionCommand("Cancel"); buttonPane.add(cancelButton); @@ -572,8 +512,7 @@ public class SearchEditImage_GUI extends JInternalFrame { labelLizenzSoftware.setBounds(10, 383, 296, 14); panel.add(labelLizenzSoftware); - JLabel lblLizenzpflichtigeSoftware = new JLabel( - "Lizenzpflichtige Software:"); + JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:"); lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14); panel.add(lblLizenzpflichtigeSoftware); @@ -635,68 +574,38 @@ public class SearchEditImage_GUI extends JInternalFrame { textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); textAreadesc.setBackground(SystemColor.menu); scrollPane.setViewportView(textAreadesc); - + } // Initiale Beffuelung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model) { - //LOGGER.debug("trying to init table first time... in: searcheditimage_gui"); - List<org.openslx.sat.thrift.iface.Image> images; try { - + // Hole eine Liste der passenden Images, - if(person.verantwortlicher.getRole()=="Admin"){ + if (person.verantwortlicher.getRole() == "Admin") { //get complete list - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(), + SessionData.authToken); } else { //only get permitted list - images = ThriftManager.getSatClient().getImageListPermissionWrite(person.verantwortlicher.getUserID(),SessionData.authToken); + images = ThriftManager.getSatClient().getImageListPermissionWrite( + person.verantwortlicher.getUserID(), SessionData.authToken); } - Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator(); - SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - //LOGGER.debug("Image last updated on: " - // + images.get(x).updateTime); - //LOGGER.debug("Image name: " + images.get(x).getImageName()); - - Object[] obj = { images.get(x).getImageName(), - images.get(x).getLicenseRestriction(), - images.get(x).getOsName(), - images.get(x).getLectureName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), - images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate(), - images.get(x).getDescription(), - byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) - }; - // Fuege diese Objekte der Tabelle hinzu - - model.addRow(obj); - //LOGGER.info("Counting model.getRowCount(): "+model.getRowCount()); - x++; - i.next(); - } + TableFiller.fillModelWithImageList(model, images); //show number if rows in GUI - lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); + lblTotalResults.setText(lblTotalResults.getText() + " " + model.getRowCount()); return model; - } catch (TException | ParseException e1) { + } catch (TException e1) { e1.printStackTrace(); - JOptionPane.showMessageDialog(c, - e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } return model; } - private void resetImageInfo() { //reset the detailed information on the right hand side when changing search string @@ -713,19 +622,19 @@ public class SearchEditImage_GUI extends JInternalFrame { labelInternet.setText(""); labelRam.setText(""); labelCPU.setText(""); - + } public void writeImageData(String id, String version) { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.authToken); + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version, + SessionData.authToken); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); - labelVerantwortlicher.setText(res.get("owner") + " (" - + res.get("mail") + ")"); + labelVerantwortlicher.setText(res.get("owner") + " (" + res.get("mail") + ")"); labelWeitereVerantwortliche.setText("Noch nicht Verfügbar"); if (res.get("template").equals("true")) { labelVorlage.setText("Ja"); @@ -748,49 +657,39 @@ public class SearchEditImage_GUI extends JInternalFrame { labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); res.clear(); - - List<String> contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id,SessionData.authToken); + + List<String> contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id, + SessionData.authToken); labelWeitereVerantwortliche.setText(""); - for (int i = 0; i < contacts.size(); i++) - { - labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText().trim()+(contacts.get(i))); + for (int i = 0; i < contacts.size(); i++) { + labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText().trim() + + (contacts.get(i))); } labelWeitereVerantwortliche.setToolTipText(labelWeitereVerantwortliche.getText().trim()); - - + } catch (TException | ParseException e1) { e1.printStackTrace(); } }//end writeImageData - - - public void setItemOwnerInformation(String imageid){ + + public void setItemOwnerInformation(String imageid) { Map<String, String> map = new HashMap<String, String>(); - + try { //get values from server and set them in model - map=ThriftManager.getSatClient().getItemOwner(imageid,SessionData.authToken); - + map = ThriftManager.getSatClient().getItemOwner(imageid, SessionData.authToken); + ItemOwner.itemOwner.setUserID(map.get("userID")); ItemOwner.itemOwner.setUsername(map.get("loginName")); ItemOwner.itemOwner.setNachname(map.get("Nachname")); ItemOwner.itemOwner.setVorname(map.get("Vorname")); ItemOwner.itemOwner.setEmail(map.get("mail")); ItemOwner.itemOwner.setHochschule(map.get("institution")); - - + } catch (TException e) { e.printStackTrace(); } - + }//end setItemInformation - - - public static String byteToGigabyte(long bytes, boolean si) { - int unit = si ? 1000 : 1024; - if (bytes < unit) return bytes + " B"; - int exp = (int) (Math.log(bytes) / Math.log(unit)); - String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i"); - return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre); - }//end byteToGigabyte + }// end class diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index d3b6fcc9..be3ca527 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -1,5 +1,6 @@ package gui.image;
+import gui.helper.TableFiller;
import gui.intro.MainMenue_GUI;
import java.awt.Color;
@@ -16,7 +17,6 @@ import java.awt.event.MouseEvent; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -26,7 +26,6 @@ import javax.swing.JInternalFrame; import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
-import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
@@ -36,8 +35,6 @@ import javax.swing.JTextField; import javax.swing.JTextPane;
import javax.swing.ListSelectionModel;
import javax.swing.RowFilter;
-import javax.swing.UIManager;
-import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.InternalFrameAdapter;
@@ -61,97 +58,72 @@ import util.GuiManager; public class SearchImage_GUI extends JInternalFrame {
private final JPanel contentPanel = new JPanel();
- JLabel labelName;
- JLabel labelUpdate;
- JLabel labelVerantwortlicher;
- JLabel labelWeitereVerantwortliche;
- JLabel labelVorlage;
- JLabel labelLizenzSoftware;
- JLabel labelInternet;
- JLabel labelRam;
- JLabel labelCPU;
- JLabel labelID;
- JLabel labelVersion;
- JTextArea textAreadesc;
+ private JLabel labelName;
+ private JLabel labelUpdate;
+ private JLabel labelVerantwortlicher;
+ private JLabel labelWeitereVerantwortliche;
+ private JLabel labelVorlage;
+ private JLabel labelLizenzSoftware;
+ private JLabel labelInternet;
+ private JLabel labelRam;
+ private JLabel labelCPU;
+ private JLabel labelID;
+ private JLabel labelVersion;
+ private JTextArea textAreadesc;
private JLabel labelOS;
- String[] result;
- JRadioButton rdbtnInternetJa;
- JRadioButton rdbtnInternetNein;
- JComboBox<String> comboBox;
- JTable tableAllImages;
- JTable tablemyImages;
- JTable tablePublicVorlagen;
+ private JComboBox<String> comboBox;
+ private JTable tableAllImages;
+ private JTable tablemyImages;
+ private JTable tablePublicVorlagen;
private JTextField textFieldName;
- JTabbedPane tabbedPane;
- JButton btnDownload;
- boolean activeSearch = false;
- Component c = null;
- String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung",
- "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" }; // Angezeigt
- // werden
- // aber
- // nur
- // Name
- // (0),
- // OS
- // (2),
- // Verantwortlicher
- // (4),
- // Letztes
- // Update
- // (5)
- public static final String HELP_MESSAGE = "<html><div align=\"center\">" +
- "Suchen Sie Images und laden Sie sie direkt herunter.<br />" +
- "Sie können die Volltextsuche nutzen und nach Betriebssystemen filtern.<br />" +
- "Die Volltextsuche sucht in den Feldern Name und Beschreibung." +
- "</div></html>";
-
-
- final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
+ private JTabbedPane tabbedPane;
+ private JButton btnDownload;
+ private Component c = null;
+ // Angezeigt werden aber nur Name (0), OS (2), Verantwortlicher (4), Letztes Update (5)
+ private String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher",
+ "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" };
+ public static final String HELP_MESSAGE = "<html><div align=\"center\">"
+ + "Suchen Sie Images und laden Sie sie direkt herunter.<br />"
+ + "Sie können die Volltextsuche nutzen und nach Betriebssystemen filtern.<br />"
+ + "Die Volltextsuche sucht in den Feldern Name und Beschreibung." + "</div></html>";
+
+ private final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
- final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) {
+ private final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
- final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles,
- 0) {
+ private final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
-
- final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
- modelAll);
- final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(
- modelMyImages);
- final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
+
+ private final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(modelAll);
+ private final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(modelMyImages);
+ private final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
modelPublicVorlagen);
-
-
-
-
- RowFilter<Object,Object> orFilter = null;
- List<RowFilter<Object,Object>> orFilters = new ArrayList<>();
-
+
+ RowFilter<Object, Object> orFilter = null;
+ List<RowFilter<Object, Object>> orFilters = new ArrayList<>();
+
//needed for templates, filter for name OR desc AND temp_flag --> (name || desc) && (temp_flag)
- RowFilter<Object,Object> andFilter = null;
- List<RowFilter<Object,Object>> andFilters = new ArrayList<>();
+ RowFilter<Object, Object> andFilter = null;
+ List<RowFilter<Object, Object>> andFilters = new ArrayList<>();
//the final filter which handles the search in the templates
- RowFilter<Object,Object> templateFilter = null;
+ RowFilter<Object, Object> templateFilter = null;
ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<>();
-
-
-
+
/**
* Create the dialog.
*/
- public SearchImage_GUI() { -
+ public SearchImage_GUI() {
+
addInternalFrameListener(new InternalFrameAdapter() {
@Override
public void internalFrameActivated(InternalFrameEvent arg0) {
@@ -182,8 +154,8 @@ public class SearchImage_GUI extends JInternalFrame { tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0);
tablemyImages.getColumnModel().getColumn(9).setWidth(0);
tablemyImages.getColumnModel().getColumn(9).setMinWidth(0);
- tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0);
-
+ tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0);
+
tablemyImages.getTableHeader().setReorderingAllowed(false);
tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tablemyImages.addMouseListener(new MouseAdapter() {
@@ -192,7 +164,8 @@ public class SearchImage_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) {
tablemyImages.clearSelection(); //just one row is selectable
- tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), tablemyImages.rowAtPoint(e.getPoint()));
+ tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()),
+ tablemyImages.rowAtPoint(e.getPoint()));
}
});
@@ -213,8 +186,8 @@ public class SearchImage_GUI extends JInternalFrame { tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0);
tablePublicVorlagen.getColumnModel().getColumn(9).setWidth(0);
tablePublicVorlagen.getColumnModel().getColumn(9).setMinWidth(0);
- tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0);
-
+ tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0);
+
tablePublicVorlagen.getTableHeader().setReorderingAllowed(false);
tablePublicVorlagen.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tablePublicVorlagen.addMouseListener(new MouseAdapter() {
@@ -223,7 +196,9 @@ public class SearchImage_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) {
tablePublicVorlagen.clearSelection(); //just one row is selectable
- tablePublicVorlagen.setRowSelectionInterval(tablePublicVorlagen.rowAtPoint(e.getPoint()), tablePublicVorlagen.rowAtPoint(e.getPoint()));
+ tablePublicVorlagen.setRowSelectionInterval(
+ tablePublicVorlagen.rowAtPoint(e.getPoint()),
+ tablePublicVorlagen.rowAtPoint(e.getPoint()));
}
});
@@ -245,7 +220,7 @@ public class SearchImage_GUI extends JInternalFrame { tableAllImages.getColumnModel().getColumn(9).setWidth(0);
tableAllImages.getColumnModel().getColumn(9).setMinWidth(0);
tableAllImages.getColumnModel().getColumn(9).setMaxWidth(0);
-
+
tableAllImages.getTableHeader().setReorderingAllowed(false);
tableAllImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tableAllImages.addMouseListener(new MouseAdapter() {
@@ -254,10 +229,11 @@ public class SearchImage_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) {
tableAllImages.clearSelection(); //just one row is selectable
- tableAllImages.setRowSelectionInterval(tableAllImages.rowAtPoint(e.getPoint()), tableAllImages.rowAtPoint(e.getPoint()));
+ tableAllImages.setRowSelectionInterval(tableAllImages.rowAtPoint(e.getPoint()),
+ tableAllImages.rowAtPoint(e.getPoint()));
}
});
-
+
textFieldName.requestFocusInWindow();
}
});
@@ -265,16 +241,8 @@ public class SearchImage_GUI extends JInternalFrame { // Verhindert das Vergroessern Des Fensters
setResizable(false);
- try {
- // Setzt das Look & Feel auf System
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (ClassNotFoundException | InstantiationException
- | IllegalAccessException | UnsupportedLookAndFeelException e) {
-
- e.printStackTrace();
- }
// Setzt den Fenstertitel
- setTitle("bwLehrpool Suite - Image suchen - "+person.verantwortlicher.getUserID());
+ setTitle("bwLehrpool Suite - Image suchen - " + person.verantwortlicher.getUserID());
// Zentriert das Fenster in die Bildmitte
setBounds(0, 0, 918, 722);
@@ -310,8 +278,8 @@ public class SearchImage_GUI extends JInternalFrame { JPanel panel_1 = new JPanel();
panel_1.setBackground(SystemColor.menu);
- panel_1.setBorder(new TitledBorder(null, "Filterfunktionen",
- TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP,
+ null, null));
panel_1.setBounds(10, 49, 557, 98);
contentPanel.add(panel_1);
panel_1.setLayout(null);
@@ -330,62 +298,58 @@ public class SearchImage_GUI extends JInternalFrame { @Override
public void keyReleased(KeyEvent e) {
// Textfield eingabe auslesen
- String stext = textFieldName.getText().trim().trim();
-
+ String stext = textFieldName.getText().trim();
+
// Wenn Textfield nicht leer
- if (stext != "")
- {
- activeSearch = true;
+ if (!stext.isEmpty()) {
// Filtere nach der Eingabe
-
- orFilters.clear();
- andFilters.clear();
- finalFilters.clear();
-
- orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
- orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
-
+
+ orFilters.clear();
+ andFilters.clear();
+ finalFilters.clear();
+
+ orFilters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive
+
orFilter = RowFilter.orFilter(orFilters);
-
+
rowSorterAll.setRowFilter(orFilter);
rowSorterMyImages.setRowFilter(orFilter);
andFilters.add(RowFilter.regexFilter("1", 8));
andFilter = RowFilter.andFilter(andFilters);
-
+
finalFilters.add(andFilter);
finalFilters.add(orFilter);
templateFilter = RowFilter.andFilter(finalFilters);
rowSorterPublicVorlagen.setRowFilter(templateFilter); //füttere finalFilter mit andFilter und orFilter
-
- }
- else
- { //refresh list
- activeSearch = false;
- String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname();
-
+
+ } else { //refresh list
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+
orFilters.clear();
andFilters.clear();
orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
orFilter = RowFilter.andFilter(orFilters);
-
+
rowSorterMyImages.setRowFilter(orFilter);
rowSorterAll.setRowFilter(orFilter);
-
+
//in addition, templates can only be shown when they really are templates!
orFilters.clear();
- orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
- orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive
orFilters.add(RowFilter.regexFilter("1", 8));
orFilter = RowFilter.orFilter(orFilters);
rowSorterPublicVorlagen.setRowFilter(orFilter);
-
+
}
-
+
tablemyImages.clearSelection();
tableAllImages.clearSelection();
tablePublicVorlagen.clearSelection();
-
+
resetImageInfo();
}
});
@@ -406,30 +370,22 @@ public class SearchImage_GUI extends JInternalFrame { comboBox.addItem(list.get(i));
}
} catch (TException e2) {
-
+
e2.printStackTrace();
- JOptionPane.showMessageDialog(c,
- e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message",
+ JOptionPane.showMessageDialog(c, e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message",
JOptionPane.ERROR_MESSAGE);
}
// Registriert Auswahlaenderungen der Box
comboBox.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0)
- {
+ public void actionPerformed(ActionEvent arg0) {
// Prueft das die Auswahl nicht leer ist
if (comboBox.getSelectedItem().toString() != "") {
- activeSearch = true;
rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2));
- rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2));
- rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2));
- }
- else
- {
- activeSearch = false;
- /*
- String username = person.verantwortlicher.getName() + " "
- + person.verantwortlicher.getVorname();
- */
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem()
+ .toString(), 2));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem()
+ .toString(), 2));
+ } else {
rowSorterMyImages.setRowFilter(null);
rowSorterPublicVorlagen.setRowFilter(null);
rowSorterAll.setRowFilter(null);
@@ -470,35 +426,27 @@ public class SearchImage_GUI extends JInternalFrame { contentPanel.add(lblNewLabel_1);
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
-
+
tabbedPane.setBounds(10, 158, 557, 339);
contentPanel.add(tabbedPane);
JScrollPane scrollPaneAllImages = new JScrollPane();
tableAllImages = new JTable();
- tableAllImages.getSelectionModel().addListSelectionListener(
- new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
-
-
-
- if(tableAllImages.getSelectedRow() != -1)
- {
- String imageid = modelAll.getValueAt(
- tableAllImages
- .convertRowIndexToModel(tableAllImages
- .getSelectedRow()), 6)
- .toString();
- String version = modelAll.getValueAt(
- tableAllImages
- .convertRowIndexToModel(tableAllImages
- .getSelectedRow()), 7)
- .toString();
- writeImageData(imageid, version);
+ tableAllImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+
+ if (tableAllImages.getSelectedRow() != -1) {
+ String imageid = modelAll.getValueAt(
+ tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 6)
+ .toString();
+ String version = modelAll.getValueAt(
+ tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 7)
+ .toString();
+ writeImageData(imageid, version);
- }
- }
- });
+ }
+ }
+ });
tableAllImages.setModel(modelAll);
tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit();
tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit();
@@ -508,34 +456,27 @@ public class SearchImage_GUI extends JInternalFrame { JScrollPane scrollPaneMyImage = new JScrollPane();
tablemyImages = new JTable();
- tablemyImages.getSelectionModel().addListSelectionListener(
- new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e)
- {
- if (tablemyImages.getSelectedRow() != -1) {
- String imageid = modelMyImages.getValueAt(
- tablemyImages
- .convertRowIndexToModel(tablemyImages
- .getSelectedRow()), 6)
- .toString();
- String version = modelMyImages.getValueAt(
- tablemyImages
- .convertRowIndexToModel(tablemyImages
- .getSelectedRow()), 7)
- .toString();
- writeImageData(imageid, version);
- }
- }
-
-
- });
+ tablemyImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ if (tablemyImages.getSelectedRow() != -1) {
+ String imageid = modelMyImages.getValueAt(
+ tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6)
+ .toString();
+ String version = modelMyImages.getValueAt(
+ tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7)
+ .toString();
+ writeImageData(imageid, version);
+ }
+ }
+
+ });
tablemyImages.setModel(modelMyImages);
tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit();
-
+
tablemyImages.setRowSorter(rowSorterMyImages);
scrollPaneMyImage.setViewportView(tablemyImages);
@@ -543,42 +484,33 @@ public class SearchImage_GUI extends JInternalFrame { JScrollPane scrollPanePublicVorlagen = new JScrollPane();
tablePublicVorlagen = new JTable();
- tablePublicVorlagen.getSelectionModel().addListSelectionListener(
- new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
-
- if(tablePublicVorlagen.getSelectedRow() != -1)
- {
- String imageid = modelPublicVorlagen
- .getValueAt(
- tablePublicVorlagen
- .convertRowIndexToModel(tablePublicVorlagen
- .getSelectedRow()), 6)
- .toString();
- String version = modelPublicVorlagen
- .getValueAt(
- tablePublicVorlagen
- .convertRowIndexToModel(tablePublicVorlagen
- .getSelectedRow()), 7)
- .toString();
- writeImageData(imageid, version);
-
- }
- }
-
-
- });
+ tablePublicVorlagen.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+
+ if (tablePublicVorlagen.getSelectedRow() != -1) {
+ String imageid = modelPublicVorlagen.getValueAt(
+ tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen.getSelectedRow()),
+ 6).toString();
+ String version = modelPublicVorlagen.getValueAt(
+ tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen.getSelectedRow()),
+ 7).toString();
+ writeImageData(imageid, version);
+
+ }
+ }
+
+ });
tablePublicVorlagen.setModel(modelPublicVorlagen);
tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit();
tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit();
tablePublicVorlagen.getColumnModel().getColumn(3).sizeWidthToFit();
tablePublicVorlagen.getColumnModel().getColumn(4).sizeWidthToFit();
tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit();
-
+
tablePublicVorlagen.setRowSorter(rowSorterPublicVorlagen);
-
+
scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen);
-
+
tabbedPane.addTab("Vorlagen", null, scrollPanePublicVorlagen, null);
tableAllImages.setRowSorter(rowSorterAll);
@@ -610,19 +542,15 @@ public class SearchImage_GUI extends JInternalFrame { if (tabbedPane.getSelectedIndex() == 0) {
if (tablemyImages.getSelectedRow() != -1) {
String imageid = modelMyImages.getValueAt(
- tablemyImages
- .convertRowIndexToModel(tablemyImages
- .getSelectedRow()), 6)
+ tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6)
.toString();
- Image.image.setImageId(imageid);
+ Image.ImageId = imageid;
String imageversion = modelMyImages.getValueAt(
- tablemyImages
- .convertRowIndexToModel(tablemyImages
- .getSelectedRow()), 7)
+ tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7)
.toString();
- Image.image.setVersion(imageversion);
+ Image.Version = imageversion;
GuiManager.show(new FTPSearchDownloader_GUI());
}
@@ -631,80 +559,51 @@ public class SearchImage_GUI extends JInternalFrame { // Vorlagen Images
//
- if (tablePublicVorlagen.getSelectedRow() != -1
- // && modelPublicVorlagen
- // .getValueAt(
- // tablePublicVorlagen
- // .convertRowIndexToModel(tablePublicVorlagen
- // .getSelectedRow()),
- // 4).equals(username) == true
- ) {
- String imageid = modelPublicVorlagen
- .getValueAt(
- tablePublicVorlagen
- .convertRowIndexToModel(tablePublicVorlagen
- .getSelectedRow()), 6)
- .toString();
+ if (tablePublicVorlagen.getSelectedRow() != -1) {
+ String imageid = modelPublicVorlagen.getValueAt(
+ tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 6).toString();
- Image.image.setImageId(imageid);
- String imageversion = modelPublicVorlagen
- .getValueAt(
- tablePublicVorlagen
- .convertRowIndexToModel(tablePublicVorlagen
- .getSelectedRow()), 7)
- .toString();
+ Image.ImageId = imageid;
+ String imageversion = modelPublicVorlagen.getValueAt(
+ tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 7).toString();
- Image.image.setVersion(imageversion);
+ Image.Version = imageversion;
GuiManager.show(new FTPSearchDownloader_GUI());
}
} else if (tabbedPane.getSelectedIndex() == 2) {
//
// Alle Images
//
- /**
- * if (tableAllImages.getSelectedRow() != -1 && modelAll
- * .getValueAt( tableAllImages
- * .convertRowIndexToModel(tableAllImages
- * .getSelectedRow()), 4).equals(username) == true) {
- **/
if (tableAllImages.getSelectedRow() != -1) {
// nur eigene Images downloadbar
if (modelAll.getValueAt(
- tableAllImages
- .convertRowIndexToModel(tableAllImages
- .getSelectedRow()), 4).equals(
- username) == true
+ tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 4)
+ .equals(username) == true
|| modelAll
.getValueAt(
- tableAllImages
- .convertRowIndexToModel(tableAllImages
- .getSelectedRow()),
- 8).equals("true") == true || person.verantwortlicher.getRole().equals("Admin")) {
+ tableAllImages.convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 8).equals("true") == true
+ || person.verantwortlicher.getRole().equals("Admin")) {
String imageid = modelAll
.getValueAt(
- tableAllImages
- .convertRowIndexToModel(tableAllImages
- .getSelectedRow()),
- 6).toString();
+ tableAllImages.convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 6).toString();
- Image.image.setImageId(imageid);
+ Image.ImageId = imageid;
String imageversion = modelAll
.getValueAt(
- tableAllImages
- .convertRowIndexToModel(tableAllImages
- .getSelectedRow()),
- 7).toString();
+ tableAllImages.convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 7).toString();
- Image.image.setVersion(imageversion);
+ Image.Version = imageversion;
GuiManager.show(new FTPSearchDownloader_GUI());
} else {
- JOptionPane
- .showMessageDialog(
- c,
- "Sie haben keine Berechtigung fremde Images herunterzuladen.",
- "Message",
- JOptionPane.INFORMATION_MESSAGE);
+ JOptionPane.showMessageDialog(c,
+ "Sie haben keine Berechtigung fremde Images herunterzuladen.", "Message",
+ JOptionPane.INFORMATION_MESSAGE);
}
}
@@ -713,17 +612,13 @@ public class SearchImage_GUI extends JInternalFrame { //
// nichts markiert
//
- JOptionPane
- .showMessageDialog(
- c,
- "Bitte wählen Sie ein Image für den Download aus",
- "Message", JOptionPane.INFORMATION_MESSAGE);
+ JOptionPane.showMessageDialog(c, "Bitte wählen Sie ein Image für den Download aus",
+ "Message", JOptionPane.INFORMATION_MESSAGE);
}
}
});
btnDownload.setBounds(449, 508, 118, 23);
contentPanel.add(btnDownload);
-
{
JPanel buttonPane = new JPanel();
@@ -741,7 +636,6 @@ public class SearchImage_GUI extends JInternalFrame { });
okButton.setActionCommand("OK");
buttonPane.add(okButton);
- //getRootPane().setDefaultButton(okButton); //causes the main menue to open and the search gui to close when pressing enter in search bar
}
}
@@ -814,8 +708,7 @@ public class SearchImage_GUI extends JInternalFrame { labelLizenzSoftware.setBounds(10, 383, 296, 14);
panel.add(labelLizenzSoftware);
- JLabel lblLizenzpflichtigeSoftware = new JLabel(
- "Lizenzpflichtige Software:");
+ JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:");
lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14);
panel.add(lblLizenzpflichtigeSoftware);
@@ -884,157 +777,70 @@ public class SearchImage_GUI extends JInternalFrame { public DefaultTableModel initTableModel(DefaultTableModel model) {
List<org.openslx.sat.thrift.iface.Image> images;
try {
-
+
// Hole eine Liste der Images
- if(person.verantwortlicher.getRole()=="Admin"){
+ if (person.verantwortlicher.getRole().equals("Admin")) {
//get complete list
- images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken);
+ images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),
+ SessionData.authToken);
} else {
- images = ThriftManager.getSatClient().getImageListPermissionRead(person.verantwortlicher.getUserID(),SessionData.authToken);
+ images = ThriftManager.getSatClient().getImageListPermissionRead(
+ person.verantwortlicher.getUserID(), SessionData.authToken);
}
+ TableFiller.fillModelWithImageList(model, images);
- Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator();
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- int x = 0;
-
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- Object[] obj = { images.get(x).getImageName(),
- images.get(x).getLicenseRestriction(),
- images.get(x).getOsName(),
- images.get(x).getLectureName(),
- images.get(x).getUserData(),
- out.format(in.parse(images.get(x).updateTime)),
- images.get(x).id, images.get(x).getVersion(),
- images.get(x).getIsTemplate(),
- images.get(x).getDescription(),
- byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false)
- };
- //System.out.println("filling templates..."+images.get(x).getIsTemplate());
- // Fuege diese Objekte der Tabelle hinzu
- model.addRow(obj);
- //System.out.println(model.getValueAt(x, 9));
- x++;
- i.next();
-
- }
-
//show number of rows in GUI
- tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") ");
+ tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0) + " (" + model.getRowCount() + ") ");
return model;
- } catch (TException | ParseException e1) {
-
+ } catch (TException e1) {
+
e1.printStackTrace();
- JOptionPane.showMessageDialog(c,
- e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
+ JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
JOptionPane.ERROR_MESSAGE);
}
return model;
}
-
+
public DefaultTableModel initTableModelAll(DefaultTableModel model) {
- List<org.openslx.sat.thrift.iface.Image> images;
try {
// Hole eine Liste der Images
- images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken);
-
- Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator();
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- int x = 0;
-
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- Object[] obj = { images.get(x).getImageName(),
- images.get(x).getLicenseRestriction(),
- images.get(x).getOsName(),
- images.get(x).getLectureName(),
- images.get(x).getUserData(),
- out.format(in.parse(images.get(x).updateTime)),
- images.get(x).id, images.get(x).getVersion(),
- images.get(x).getIsTemplate(),
- images.get(x).getDescription(),
- byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) //filesize made readable
-
- };
- //System.out.println(images.get(x).getImageSize()+" "+images.get(x).getImageName());
- //System.out.println("filling templates..."+images.get(x).getIsTemplate());
- // Fuege diese Objekte der Tabelle hinzu
- model.addRow(obj);
- //System.out.println(model.getValueAt(x, 9));
- x++;
- i.next();
-
- }
+ List<org.openslx.sat.thrift.iface.Image> images = ThriftManager.getSatClient().getImageList(
+ person.verantwortlicher.getUserID(), SessionData.authToken);
+ TableFiller.fillModelWithImageList(model, images);
//show number of rows in GUI
- tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2)+" ("+model.getRowCount()+") ");
+ tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2) + " (" + model.getRowCount() + ") ");
return model;
- } catch (TException | ParseException e1) {
-
+ } catch (TException e1) {
+
e1.printStackTrace();
- JOptionPane.showMessageDialog(c,
- e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
+ JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
JOptionPane.ERROR_MESSAGE);
}
return model;
}
-
-
+
// Initiale Beffuelung eines Table models
- public DefaultTableModel initTableModelTemplates(DefaultTableModel model) {
- List<org.openslx.sat.thrift.iface.Image> images;
- try {
- // Hole eine Liste der Images
- images = ThriftManager.getSatClient().getImageListAllTemplates(SessionData.authToken);
-
- Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator();
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- int x = 0;
-
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- Object[] obj = { images.get(x).getImageName(),
- images.get(x).getLicenseRestriction(),
- images.get(x).getOsName(),
- images.get(x).getImageName(),
- images.get(x).getUserData(),
- out.format(in.parse(images.get(x).updateTime)),
- images.get(x).id, images.get(x).getVersion(),
- images.get(x).getIsTemplate(),
- images.get(x).getDescription(),
- byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false)
- };
- // Fuege diese Objekte der Tabelle hinzu
-
- model.addRow(obj);
- x++;
- i.next();
+ public DefaultTableModel initTableModelTemplates(DefaultTableModel model) {
+ try {
+ // Hole eine Liste der Images
+ List<org.openslx.sat.thrift.iface.Image> images = ThriftManager.getSatClient()
+ .getImageListAllTemplates(SessionData.authToken);
+ TableFiller.fillModelWithImageList(model, images);
+ //show number of rows in GUI
+ tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1) + " (" + model.getRowCount() + ") ");
- }
- //show number of rows in GUI
- tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") ");
-
- return model;
- } catch (TException | ParseException e1) {
-
- e1.printStackTrace();
- JOptionPane.showMessageDialog(c,
- e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
- JOptionPane.ERROR_MESSAGE);
- }
return model;
- }// end initTableModelTemplates
-
-
-
-
-
-
-
+ } catch (TException e1) {
+
+ e1.printStackTrace();
+ JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ return model;
+ }// end initTableModelTemplates
+
private void resetImageInfo() {
//reset the detailed information on the right hand side when changing search string
labelID.setText("");
@@ -1051,12 +857,13 @@ public class SearchImage_GUI extends JInternalFrame { labelRam.setText("");
labelCPU.setText("");
}
-
+
public void writeImageData(String id, String version) {
try {
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.authToken);
+ Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,
+ SessionData.authToken);
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
@@ -1082,35 +889,23 @@ public class SearchImage_GUI extends JInternalFrame { labelID.setText(res.get("id"));
labelVersion.setText(res.get("version"));
textAreadesc.setText(res.get("desc"));
-
- List<String> contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id,SessionData.authToken);
+
+ List<String> contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id,
+ SessionData.authToken);
labelWeitereVerantwortliche.setText("");
- for (int i = 0; i < contacts.size(); i++)
- {
- labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText().trim()+(contacts.get(i)));
+ for (int i = 0; i < contacts.size(); i++) {
+ labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText().trim()
+ + (contacts.get(i)));
}
labelWeitereVerantwortliche.setToolTipText(labelWeitereVerantwortliche.getText().trim());
-
- if(person.verantwortlicher.getRole().equals("Student") && res.get("license").equals("1"))
- {
+
+ if (person.verantwortlicher.getRole().equals("Student") && res.get("license").equals("1")) {
btnDownload.setEnabled(false);
- }
- else
- {
+ } else {
btnDownload.setEnabled(true);
}
-
} catch (TException | ParseException e1) {
-
e1.printStackTrace();
}
}
-
- public static String byteToGigabyte(long bytes, boolean si) {
- int unit = si ? 1000 : 1024;
- if (bytes < unit) return bytes + " B";
- int exp = (int) (Math.log(bytes) / Math.log(unit));
- String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i");
- return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
- }
}
diff --git a/dozentenmodul/src/main/java/gui/intro/About_GUI.java b/dozentenmodul/src/main/java/gui/intro/About_GUI.java index 6914ffa3..63681286 100644 --- a/dozentenmodul/src/main/java/gui/intro/About_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/About_GUI.java @@ -16,7 +16,6 @@ import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; -import util.GuiManager; import util.ResourceLoader; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/intro/BillOfRights_GUI.java b/dozentenmodul/src/main/java/gui/intro/BillOfRights_GUI.java index c136e743..f62ccf3a 100644 --- a/dozentenmodul/src/main/java/gui/intro/BillOfRights_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/BillOfRights_GUI.java @@ -1,46 +1,33 @@ package gui.intro; - import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextPane; -import javax.swing.SwingConstants; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import util.GuiManager; -import util.OpenLinks; import config.Config; - - @SuppressWarnings("serial") public class BillOfRights_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; - JButton fwdButton; - JCheckBox chckbxAkzeptieren; + private JButton fwdButton; + private JCheckBox chckbxAkzeptieren; /** * Create the dialog. @@ -48,20 +35,12 @@ public class BillOfRights_GUI extends JInternalFrame { public BillOfRights_GUI() { setResizable(false); - try { - //Setzt das Look & Feel auf das System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } //Setzt den Fenstertitel setTitle("bwLehrpool Suite"); - + //Zentiert das Fenster in der Bildschirmmitte setBounds(0, 0, 603, 722); - + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -75,7 +54,7 @@ public class BillOfRights_GUI extends JInternalFrame { panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 18)); } - + JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); @@ -88,16 +67,17 @@ public class BillOfRights_GUI extends JInternalFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - + JTextArea txtrLoremIpsumDolor = new JTextArea(); txtrLoremIpsumDolor.setWrapStyleWord(true); txtrLoremIpsumDolor.setLineWrap(true); txtrLoremIpsumDolor.setEditable(false); - JScrollPane scr=new JScrollPane(txtrLoremIpsumDolor); + JScrollPane scr = new JScrollPane(txtrLoremIpsumDolor); scr.setBounds(0, 0, 567, 477); txtrLoremIpsumDolor.setBounds(0, 0, 567, 477); - txtrLoremIpsumDolor.setText("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \r\n\r\nUt wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. \r\n\r\nNam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis. \r\n\r\nAt vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. \r\n\r\nConsetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus. \r\n\r\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \r\n\r\nUt wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. \r\n\r\nNam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo"); - + txtrLoremIpsumDolor + .setText("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \r\n\r\nUt wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. \r\n\r\nNam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis. \r\n\r\nAt vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat. \r\n\r\nConsetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus. \r\n\r\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \r\n\r\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \r\n\r\nUt wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. \r\n\r\nNam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo"); + contentPanel.add(scr); { JPanel buttonPane = new JPanel(); @@ -115,7 +95,7 @@ public class BillOfRights_GUI extends JInternalFrame { } }); fwdButton.setEnabled(false); - + buttonPane.add(fwdButton); } } @@ -129,17 +109,15 @@ public class BillOfRights_GUI extends JInternalFrame { separator.setBounds(0, 82, 587, 2); getContentPane().add(separator); } - - chckbxAkzeptieren = new JCheckBox("Ja, ich akzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen."); + + chckbxAkzeptieren = new JCheckBox( + "Ja, ich akzeptiere die Vereinbarung. Benachrichtigung nicht mehr anzeigen."); chckbxAkzeptieren.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { //Beim Akzeptieren der Bestaetigung wird der Weiter-Button verfuegbar gemacht - if(chckbxAkzeptieren.isSelected()==true) - { + if (chckbxAkzeptieren.isSelected() == true) { fwdButton.setEnabled(true); - } - else - { + } else { fwdButton.setEnabled(false); } } diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java index e7e2611b..2a5909d1 100644 --- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -30,7 +30,6 @@ import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.SwingWorker; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @@ -57,8 +56,6 @@ public class Login_GUI extends JInternalFrame { * Logger instance for this class. */ private final static Logger LOGGER = Logger.getLogger(Login_GUI.class); - String authToken = null; - // String constants representing the different login methods private final static String LOGIN_TYPE_BWIDM = "bwidm"; private final static String LOGIN_TYPE_BWLEHRPOOL = "bwlp"; @@ -67,10 +64,8 @@ public class Login_GUI extends JInternalFrame { private JPanel contentPane; private JTextField lblusername; private JPasswordField lblpass; - JLabel lblConnectionInfo = new JLabel(""); - boolean isClientReturnedCorrectly = false; - JCheckBox chckbxBenutzernameSpeichern; - Component c = null; + private JLabel lblConnectionInfo = new JLabel(""); + private JCheckBox chckbxBenutzernameSpeichern; private JPanel panel; private JPanel panel_1; @@ -98,14 +93,6 @@ public class Login_GUI extends JInternalFrame { * Create the frame. */ public Login_GUI() { - - try { - // Setzt das Look and Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } // Titel des Fensters setzen setTitle("bwLehrpool Suite"); @@ -155,7 +142,8 @@ public class Login_GUI extends JInternalFrame { // Start of the actual content of the right panel panel = new JPanel(); panel.setLayout(null); - panel.setBorder(new TitledBorder(null, "Zugangsdaten", TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel.setBorder(new TitledBorder(null, "Zugangsdaten", TitledBorder.LEADING, TitledBorder.TOP, null, + null)); panel.setBackground(SystemColor.menu); panel.setBounds(354, 143, 400, 181); contentPane.add(panel); @@ -228,8 +216,8 @@ public class Login_GUI extends JInternalFrame { panel_1 = new JPanel(); panel_1.setLayout(null); - panel_1.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Authentifizierungsart", TitledBorder.LEADING, TitledBorder.TOP, null, - new Color(0, 0, 0))); + panel_1.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), + "Authentifizierungsart", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0))); panel_1.setBackground(SystemColor.menu); panel_1.setBounds(10, 143, 334, 181); contentPane.add(panel_1); @@ -294,11 +282,11 @@ public class Login_GUI extends JInternalFrame { // User-Info LOGGER.info("Authentifizierung von '" + lblusername.getText() + "' erfolgreich."); user = client.getUserFromToken(result.authToken); - authToken = result.authToken; } catch (org.openslx.imagemaster.thrift.iface.AuthenticationException e) { setStatus(Color.red, "Fehler: Zugangsdaten nicht akzeptiert.", - "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort überprüfen.\n" + e.message); + "Benutzeranmeldung fehlgeschlagen: Bitte Benutzername und Passwort überprüfen.\n" + + e.message); e.printStackTrace(); return; } catch (TException e) { @@ -313,7 +301,8 @@ public class Login_GUI extends JInternalFrame { SessionData.sessionID = result.sessionId; SessionData.serverAdress = result.serverAddress; if (!ThriftManager.setSatellite(result.serverAddress)) { - LOGGER.error("Setting satellite IP to '" + result.serverAddress + LOGGER.error("Setting satellite IP to '" + + result.serverAddress + "' failed. Appears to be empty. Is the satellite IP returned from masterserver correct?"); setStatus(Color.green, "IP vom Satelliten ungültig.", null); System.exit(1); @@ -351,7 +340,8 @@ public class Login_GUI extends JInternalFrame { publish("Info: Initialisiere Shibboleth-Client ..."); OrganizationData selectedOrg = (OrganizationData) idpChoice.getSelectedItem(); publish("Info: Überprüfe Zugangdaten über bwIDM ..."); - return ShibbolethECP.doLogin(selectedOrg.getEcpUrl(), lblusername.getText().trim(), String.valueOf(lblpass.getPassword())); + return ShibbolethECP.doLogin(selectedOrg.getEcpUrl(), lblusername.getText().trim(), + String.valueOf(lblpass.getPassword())); } protected void done() { @@ -368,9 +358,9 @@ public class Login_GUI extends JInternalFrame { person.verantwortlicher.setName(ShibbolethECP.getResponse().lastName); person.verantwortlicher.setVorname(ShibbolethECP.getResponse().firstName); person.verantwortlicher.setEMail(ShibbolethECP.getResponse().mail); - person.verantwortlicher.setHochschule(((OrganizationData) idpChoice.getSelectedItem()).getOrganizationId()); + person.verantwortlicher.setHochschule(((OrganizationData) idpChoice + .getSelectedItem()).getOrganizationId()); person.verantwortlicher.setRole("Dozent"); - authToken = ShibbolethECP.getResponse().token; ThriftManager.setSatellite(ShibbolethECP.getResponse().satellites.get("default")); SessionData.serverAdress = ShibbolethECP.getResponse().satellites.get("default"); SessionData.authToken = ShibbolethECP.getResponse().token; @@ -380,28 +370,35 @@ public class Login_GUI extends JInternalFrame { * Now postprocess successful login */ postLogin(); - // showMainMenu(); break; case ERROR_IDP: setStatus(Color.red, "Fehler: bwIDM-Anmeldung fehlgeschlagen!", null); - JOptionPane.showMessageDialog(c, "Anmeldung fehlgeschlagen. Überprüfen Sie den Benutzername und Passwort.", "Fehler", - JOptionPane.ERROR_MESSAGE); + JOptionPane + .showMessageDialog( + null, + "Anmeldung fehlgeschlagen. Überprüfen Sie den Benutzername und Passwort.", + "Fehler", JOptionPane.ERROR_MESSAGE); break; case ERROR_UNREG: setStatus(Color.red, "Fehler: Nicht bei bwLehrpool registriert!", null); - JOptionPane.showMessageDialog(c, - "Sie sind nicht bei bwLehrpool registriert.\nGehen Sie dazu auf folgende Seite:\n" + ShibbolethECP.getRegistrationUrl(), - "Fehler", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + "Sie sind nicht bei bwLehrpool registriert.\nGehen Sie dazu auf folgende Seite:\n" + + ShibbolethECP.getRegistrationUrl(), "Fehler", + JOptionPane.ERROR_MESSAGE); break; case ERROR_SP: setStatus(Color.red, "Fehler: bwIDM-Anmeldung fehlgeschlagen!", null); - JOptionPane.showMessageDialog(c, "Anmeldung erfolgreich aber die Antwort des Service Providers ist ungültig.", "Fehler", - JOptionPane.ERROR_MESSAGE); + JOptionPane + .showMessageDialog( + null, + "Anmeldung erfolgreich aber die Antwort des Service Providers ist ungültig.", + "Fehler", JOptionPane.ERROR_MESSAGE); break; case ERROR_OTHER: setStatus(Color.red, "Fehler: bwIDM-Anmeldung fehlgeschlagen!", null); - JOptionPane.showMessageDialog(c, "Fataler Fehler. Schicken Sie die Log-Datei einem Administrator zu!", "Fehler", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + "Fataler Fehler. Schicken Sie die Log-Datei einem Administrator zu!", + "Fehler", JOptionPane.ERROR_MESSAGE); break; default: setStatus(Color.red, "Fehler: bwIDM-Login fehlgeschlagen!", null); @@ -445,24 +442,28 @@ public class Login_GUI extends JInternalFrame { remoteVersion = ThriftManager.getSatClient().getVersion(); LOGGER.info("Satellite RPC version: " + remoteVersion); } catch (Exception e) { - LOGGER.error("Could not query sat server version after successful connect! Assuming untagged version 1", e); + LOGGER.error( + "Could not query sat server version after successful connect! Assuming untagged version 1", + e); remoteVersion = 1; } String text = null; if (remoteVersion > Version.VERSION) { - text = "Das von Ihnen verwendete Dozentenmodul ist zu alt, um mit dem Satelliten-Server zu verbinden.\n" - + "Sie verwenden Version " + Version.VERSION - + ", der Satellit " + remoteVersion + "\n" - + "Aktuelle Version unter http://bwlehrpool.hs-offenburg.de/"; + text = "Das von Ihnen verwendete Dozentenmodul ist zu alt, um mit dem Satelliten-Server zu verbinden.\n" + + "Sie verwenden Version " + + Version.VERSION + + ", der Satellit " + + remoteVersion + + "\n" + + "Aktuelle Version unter http://bwlehrpool.hs-offenburg.de/"; } else if (remoteVersion < Version.VERSION) { - text = "Das von Ihnen verwendete Dozentenmodul ist zu neu, um mit dem Satelliten-Server zu verbinden.\n" - + "Sie verwenden Version " + Version.VERSION - + ", der Satellit " + remoteVersion; + text = "Das von Ihnen verwendete Dozentenmodul ist zu neu, um mit dem Satelliten-Server zu verbinden.\n" + + "Sie verwenden Version " + Version.VERSION + ", der Satellit " + remoteVersion; } if (text != null) { JOptionPane.showMessageDialog(null, text, "Fehler", JOptionPane.ERROR_MESSAGE); } - + LOGGER.debug("Post-processing login ..."); // TODO here do all the session data stuff // TODO and the telling the sat Server who we are @@ -470,17 +471,21 @@ public class Login_GUI extends JInternalFrame { try { boolean authenticated = ThriftManager.getSatClient().authenticated(SessionData.authToken); if (!authenticated) { - JOptionPane.showMessageDialog(null, "Sessionübergabe an den Satelliten fehlgeschlagen.", "Fehler", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, "Sessionübergabe an den Satelliten fehlgeschlagen.", + "Fehler", JOptionPane.ERROR_MESSAGE); return; } - String pk_institution = ThriftManager.getSatClient().setInstitution(person.verantwortlicher.getHochschule(), SessionData.authToken); - ThriftManager.getSatClient().setPerson(person.verantwortlicher.getUserID(), SessionData.authToken, pk_institution); + String pk_institution = ThriftManager.getSatClient().setInstitution( + person.verantwortlicher.getHochschule(), SessionData.authToken); + ThriftManager.getSatClient().setPerson(person.verantwortlicher.getUserID(), + SessionData.authToken, pk_institution); } catch (TException e) { - JOptionPane.showMessageDialog(null, "Unerwarteter Fehler.\n\n" + e.toString(), "Fehler", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, "Unerwarteter Fehler.\n\n" + e.toString(), "Fehler", + JOptionPane.ERROR_MESSAGE); LOGGER.error("Unexpected exception", e); return; } - + // at the end showMainMenu(); } @@ -528,7 +533,8 @@ public class Login_GUI extends JInternalFrame { lblConnectionInfo.setForeground(color); lblConnectionInfo.setText(shortMessage); if (longMessage != null) - JOptionPane.showMessageDialog(c, longMessage, "Anmeldung fehlgeschlagen", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, longMessage, "Anmeldung fehlgeschlagen", + JOptionPane.ERROR_MESSAGE); } /** @@ -612,7 +618,9 @@ public class Login_GUI extends JInternalFrame { try { tempOrgs = ThriftManager.getMasterClient().getOrganizations(); } catch (TException e) { - LOGGER.error("Could not fetch list of identity providers from the masterserver, see trace: ", e); + LOGGER.error( + "Could not fetch list of identity providers from the masterserver, see trace: ", + e); return false; } // safety check to see if we got any organizations at all @@ -653,8 +661,10 @@ public class Login_GUI extends JInternalFrame { // of the organizations. idpChoice.setRenderer(new DefaultListCellRenderer() { @Override - public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { - super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); + public Component getListCellRendererComponent(JList<?> list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + super.getListCellRendererComponent(list, value, index, isSelected, + cellHasFocus); if (value instanceof OrganizationData) { OrganizationData org = (OrganizationData) value; setText(org.getDisplayName()); diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java index 3e71cc7b..2c1a939f 100644 --- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java @@ -9,7 +9,6 @@ import gui.lecture.DeleteLecture_GUI; import gui.lecture.EditLectureSearch_GUI; import gui.lecture.SearchLecture_GUI; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.ScrollPane; @@ -30,7 +29,6 @@ import javax.swing.JTextPane; import javax.swing.SwingConstants; import javax.swing.ToolTipManager; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @@ -52,40 +50,28 @@ import util.ResourceLoader; public class MainMenue_GUI extends JInternalFrame { private final static Logger LOGGER = Logger.getLogger(MainMenue_GUI.class); - + private final JPanel contentPanel = new JPanel(); - String[] result; - String descNewImage, descEditImage, descDeleteImage, descSearchImage, - descNewLecture, descEditLecture, descDeleteLecture, - descSearchLecture = ""; - JRadioButton rdbtnImageNew; - JRadioButton rdbtnImageEdit; - JRadioButton rdbtnImageSearchDownload; - JRadioButton rdbtnLectureNew; - JRadioButton rdbtnImageDelete; - JRadioButton rdbtnLectureEdit; - JRadioButton rdbtnLectureDelete; - JRadioButton rdbtnLectureSearch; + private String descNewImage, descEditImage, descDeleteImage, descSearchImage, descNewLecture, + descEditLecture, descDeleteLecture, descSearchLecture = ""; + private JRadioButton rdbtnImageNew; + private JRadioButton rdbtnImageEdit; + private JRadioButton rdbtnImageSearchDownload; + private JRadioButton rdbtnLectureNew; + private JRadioButton rdbtnImageDelete; + private JRadioButton rdbtnLectureEdit; + private JRadioButton rdbtnLectureDelete; + private JRadioButton rdbtnLectureSearch; private final ButtonGroup buttonGroup = new ButtonGroup(); - Component c = null; - + // for testing ImageRights imageRights = new ImageRights(); - + boolean tokenDeleted; - public MainMenue_GUI() { - - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Connected Server: " - + SessionData.serverAdress+" - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Connected Server: " + SessionData.serverAdress + " - " + + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); @@ -106,20 +92,19 @@ public class MainMenue_GUI extends JInternalFrame { JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Bitte wählen Sie ihre gewünschte Aktion."); + txtpnBitteWhlenSie.setText("Bitte wählen Sie ihre gewünschte Aktion."); txtpnBitteWhlenSie.setBounds(10, 36, 509, 22); panel.add(txtpnBitteWhlenSie); } - + //reset the list of permissions and models //every time the user goes back to the main menu RightsManagement.rightsManagement.getPermittedUserList().clear(); - Image.image.reset(); + Image.reset(); ItemOwner.itemOwner.reset(); - + setResizable(false); // window is not resizable - + contentPanel.setBounds(10, 104, 567, 502); contentPanel.setBackground(SystemColor.menu); @@ -129,8 +114,8 @@ public class MainMenue_GUI extends JInternalFrame { JPanel panelImage = new JPanel(); panelImage.setBackground(SystemColor.menu); - panelImage.setBorder(new TitledBorder(null, "Image", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelImage.setBorder(new TitledBorder(null, "Image", TitledBorder.LEADING, TitledBorder.TOP, null, + null)); panelImage.setBounds(10, 221, 270, 133); contentPanel.add(panelImage); panelImage.setLayout(null); @@ -144,8 +129,7 @@ public class MainMenue_GUI extends JInternalFrame { rdbtnImageNew.setBackground(SystemColor.menu); rdbtnImageEdit = new JRadioButton("Bearbeiten"); - rdbtnImageEdit - .setToolTipText("Hier können Sie ein bereits angelegtes Image bearbeiten"); + rdbtnImageEdit.setToolTipText("Hier können Sie ein bereits angelegtes Image bearbeiten"); rdbtnImageEdit.setBounds(20, 48, 244, 23); panelImage.add(rdbtnImageEdit); buttonGroup.add(rdbtnImageEdit); @@ -155,8 +139,7 @@ public class MainMenue_GUI extends JInternalFrame { rdbtnImageDelete = new JRadioButton("Löschen"); rdbtnImageDelete.setEnabled(true); buttonGroup.add(rdbtnImageDelete); - rdbtnImageDelete - .setToolTipText("Löschen Sie hier Images, die Sie nicht mehr benötigen"); + rdbtnImageDelete.setToolTipText("Löschen Sie hier Images, die Sie nicht mehr benötigen"); rdbtnImageDelete.setHorizontalAlignment(SwingConstants.LEFT); rdbtnImageDelete.setBackground(SystemColor.menu); rdbtnImageDelete.setBounds(20, 74, 244, 23); @@ -173,8 +156,7 @@ public class MainMenue_GUI extends JInternalFrame { JPanel panelDesc = new JPanel(); panelDesc.setLayout(null); - panelDesc.setBorder(new TitledBorder(UIManager - .getBorder("TitledBorder.border"), "Erklärung", + panelDesc.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Erklärung", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelDesc.setBackground(SystemColor.menu); panelDesc.setBounds(10, 364, 270, 133); @@ -196,9 +178,8 @@ public class MainMenue_GUI extends JInternalFrame { JPanel panelVeranstaltung = new JPanel(); panelVeranstaltung.setLayout(null); - panelVeranstaltung.setBorder(new TitledBorder(UIManager - .getBorder("TitledBorder.border"), "Veranstaltung (VMChooser)", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panelVeranstaltung.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), + "Veranstaltung (VMChooser)", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelVeranstaltung.setBackground(SystemColor.menu); panelVeranstaltung.setBounds(290, 221, 270, 133); contentPanel.add(panelVeranstaltung); @@ -220,8 +201,7 @@ public class MainMenue_GUI extends JInternalFrame { rdbtnLectureEdit.setBackground(SystemColor.menu); rdbtnLectureDelete = new JRadioButton("Löschen"); - rdbtnLectureDelete - .setToolTipText("Löschen Sie nicht mehr benötigte Veranstaltungen"); + rdbtnLectureDelete.setToolTipText("Löschen Sie nicht mehr benötigte Veranstaltungen"); rdbtnLectureDelete.setBounds(20, 76, 230, 23); panelVeranstaltung.add(rdbtnLectureDelete); buttonGroup.add(rdbtnLectureDelete); @@ -237,8 +217,7 @@ public class MainMenue_GUI extends JInternalFrame { JPanel panelNews = new JPanel(); panelNews.setLayout(null); - panelNews.setBorder(new TitledBorder(UIManager - .getBorder("TitledBorder.border"), "News", + panelNews.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "News", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panelNews.setBackground(SystemColor.menu); panelNews.setBounds(290, 364, 270, 133); @@ -252,7 +231,8 @@ public class MainMenue_GUI extends JInternalFrame { txtNews.setBackground(SystemColor.menu); txtNews.setWrapStyleWord(true); txtNews.setLineWrap(true); - if (News.getContent() != null) txtNews.setText(News.getContent()); + if (News.getContent() != null) + txtNews.setText(News.getContent()); scrollPaneNews.add(txtNews); panelNews.add(scrollPaneNews); @@ -321,21 +301,20 @@ public class MainMenue_GUI extends JInternalFrame { JLabel lblGrafik = new JLabel(""); // ToolTipp fuer Grafik - lblGrafik - .setToolTipText("<html>" - + "Ein virtuelles Labor besteht immer aus den beiden Komponenten <br>" - + "Image und Veranstaltung. Ein Image ist dabei die Grundlage für <br>" - + "mehrere Veranstaltungen. Somit kann eine neue Veranstaltung <br>" - + "erstellt werden, ohne ein neues Image hochladen zu müssen. <br> <br> <br>" - + "<b>Image:</b> Das Image enthält die benötigte Software, die im <br>" - + "virtuellen Labor benötigt wird. Es wird von genau einem Dozenten <br>" - + "angelegt und besitzt einen allgemeinen Namen, z.B. \"Programmieren\". <br>" - + "Bei einem Image handelt es sich um eine Datei vom Typ VMDK. <br> <br> <br>" - + "<b>Veranstaltung:</b> Es können nun, basierend auf einem Image,<br>" - + " beliebig viele Veranstaltungen von unterschiedlichen Dozenten erstellt <br>" - + "werden. Diese könnten z.B. konkret \"Web-Entwicklung\" oder \"Künstliche <br>" - + "Intelligenz\" lauten und referenzieren dabei auf das allgemeine Image <br>" - + "\"Programmieren\".</html>"); + lblGrafik.setToolTipText("<html>" + + "Ein virtuelles Labor besteht immer aus den beiden Komponenten <br>" + + "Image und Veranstaltung. Ein Image ist dabei die Grundlage für <br>" + + "mehrere Veranstaltungen. Somit kann eine neue Veranstaltung <br>" + + "erstellt werden, ohne ein neues Image hochladen zu müssen. <br> <br> <br>" + + "<b>Image:</b> Das Image enthält die benötigte Software, die im <br>" + + "virtuellen Labor benötigt wird. Es wird von genau einem Dozenten <br>" + + "angelegt und besitzt einen allgemeinen Namen, z.B. \"Programmieren\". <br>" + + "Bei einem Image handelt es sich um eine Datei vom Typ VMDK. <br> <br> <br>" + + "<b>Veranstaltung:</b> Es können nun, basierend auf einem Image,<br>" + + " beliebig viele Veranstaltungen von unterschiedlichen Dozenten erstellt <br>" + + "werden. Diese könnten z.B. konkret \"Web-Entwicklung\" oder \"Künstliche <br>" + + "Intelligenz\" lauten und referenzieren dabei auf das allgemeine Image <br>" + + "\"Programmieren\".</html>"); lblGrafik.setIcon(ResourceLoader.getIcon("/img/e4_n_imgs2_bwl_vmc_v2.png")); // ToolTipp lange anzeigen - 60sec @@ -382,9 +361,8 @@ public class MainMenue_GUI extends JInternalFrame { } else if (rdbtnLectureSearch.isSelected() == true) { GuiManager.show(new SearchLecture_GUI()); } else - JOptionPane.showMessageDialog(c, - "Keine Auswahl getroffen.", - "Auswahl fehlt", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, "Keine Auswahl getroffen.", "Auswahl fehlt", + JOptionPane.ERROR_MESSAGE); } }); continueButton.setActionCommand("OK"); @@ -403,7 +381,7 @@ public class MainMenue_GUI extends JInternalFrame { getContentPane().add(separator); } }// end main - + /** * Enables/disables radio button given the user's rights */ @@ -426,7 +404,7 @@ public class MainMenue_GUI extends JInternalFrame { rdbtnImageDelete.setEnabled(false); rdbtnImageSearchDownload.setEnabled(false); } - + // Veranstaltung if (person.verantwortlicher.getRole().equals("Student")) { rdbtnLectureNew.setEnabled(false); @@ -454,7 +432,7 @@ public class MainMenue_GUI extends JInternalFrame { */ public void setRoleRights() { LOGGER.info("Role: " + person.verantwortlicher.getRole()); - + // role==Student if (person.verantwortlicher.getRole().equals("Student")) { GUIRights.rights.setRead(1); @@ -482,7 +460,7 @@ public class MainMenue_GUI extends JInternalFrame { GUIRights.rights.setAdmin(0); GUIRights.rights.setLinkAllowed(0); }// end if else - + }// end setRoleRights public void setCorrectRadioButton() { diff --git a/dozentenmodul/src/main/java/gui/intro/VmWareLink_GUI.java b/dozentenmodul/src/main/java/gui/intro/VmWareLink_GUI.java index 8445af0d..20eb0a09 100644 --- a/dozentenmodul/src/main/java/gui/intro/VmWareLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/VmWareLink_GUI.java @@ -1,8 +1,6 @@ package gui.intro; - import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -15,14 +13,9 @@ import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.JTextPane; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -31,31 +24,20 @@ import util.GuiManager; import util.OpenLinks; import config.Config; - @SuppressWarnings("serial") public class VmWareLink_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; - JCheckBox chckbxNewCheckBox; + private JCheckBox chckbxNewCheckBox; private JButton btnWindows; - Component c = null; /** * Create the dialog. */ public VmWareLink_GUI() { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } setTitle("bwLehrpool Suite"); setBounds(0, 0, 603, 722); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -68,7 +50,7 @@ public class VmWareLink_GUI extends JInternalFrame { panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 18)); } - + JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); @@ -80,22 +62,23 @@ public class VmWareLink_GUI extends JInternalFrame { contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel); contentPanel.setLayout(null); - + JTextPane txtpnUmIhreVmdk = new JTextPane(); txtpnUmIhreVmdk.setBackground(SystemColor.menu); txtpnUmIhreVmdk.setEditable(false); - txtpnUmIhreVmdk.setText("Für die Arbeit mit der bwLehrpool Suite wird zwingend ein VMWare Player benötigt. Diesen können Sie sich unter folgendem Link kostenfrei downloaden. Wenn Sie bereits den VMWare Player oder die VMWare Workstation installiert haben, können Sie diesen Hinweis ignorieren."); + txtpnUmIhreVmdk + .setText("Für die Arbeit mit der bwLehrpool Suite wird zwingend ein VMWare Player benötigt. Diesen können Sie sich unter folgendem Link kostenfrei downloaden. Wenn Sie bereits den VMWare Player oder die VMWare Workstation installiert haben, können Sie diesen Hinweis ignorieren."); txtpnUmIhreVmdk.setBounds(10, 16, 499, 66); contentPanel.add(txtpnUmIhreVmdk); - + JLabel lblNewLabel_1 = new JLabel("<html><b>Windows: </b></html>"); lblNewLabel_1.setBounds(10, 93, 499, 14); contentPanel.add(lblNewLabel_1); - + chckbxNewCheckBox = new JCheckBox("Diese Benachrichtigung nicht mehr anzeigen."); chckbxNewCheckBox.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { - if(chckbxNewCheckBox.isSelected()) { + if (chckbxNewCheckBox.isSelected()) { Config.setVmwareLicense(true); Config.store(); } @@ -103,16 +86,16 @@ public class VmWareLink_GUI extends JInternalFrame { }); chckbxNewCheckBox.setBounds(6, 472, 555, 23); contentPanel.add(chckbxNewCheckBox); - + JLabel lbllinuxvmwarePlayer = new JLabel("<html><b>Linux: </b></html>"); lbllinuxvmwarePlayer.setBounds(10, 178, 499, 14); contentPanel.add(lbllinuxvmwarePlayer); - + btnWindows = new JButton("VMware Player herunterladen"); btnWindows.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { OpenLinks.openWebpage("vmware"); - + } }); btnWindows.setBounds(10, 119, 186, 23); @@ -126,14 +109,15 @@ public class VmWareLink_GUI extends JInternalFrame { }); btnLinux.setBounds(10, 203, 186, 23); contentPanel.add(btnLinux); - - JLabel label = new JLabel("<HTML><U>Anleitung zum Erstellen einer virtuellen Maschine herunterladen</U></HTML>"); + + JLabel label = new JLabel( + "<HTML><U>Anleitung zum Erstellen einer virtuellen Maschine herunterladen</U></HTML>"); label.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { OpenLinks.openWebpage("intro"); } - + }); label.setForeground(Color.BLUE); label.setBounds(10, 283, 311, 14); @@ -166,6 +150,5 @@ public class VmWareLink_GUI extends JInternalFrame { getContentPane().add(separator); } - }//end constructor }// end class diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java index 89dff1a9..8afea82e 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java @@ -3,7 +3,6 @@ package gui.lecture; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.ScrollPane; @@ -27,8 +26,6 @@ import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -44,34 +41,31 @@ import com.toedter.calendar.JDateChooser; public class CreateLectureAllgemein_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; private JTextField Vorname; private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; private JTextField txtFldVeranstaltungsname; - JTextArea description; - JRadioButton radioButtonyes; - JRadioButton radioButtonno; - JDateChooser dateChooserend; - JDateChooser dateChooserstart; - Date startDate = new Date(); - Date endDate; - Component c = null; + private JTextArea description; + private JRadioButton radioButtonyes; + private JRadioButton radioButtonno; + private JDateChooser dateChooserend; + private JDateChooser dateChooserstart; + private Date startDate = new Date(); + private Date endDate; private boolean descriptionLengthOK = false; // description may not be // longer than // MAX_DESCRIPTION_LENGTH private final int MAX_DESCRIPTION_LENGTH = 254; - public static final String HELP_MESSAGE = "<html><div align=\"center\">Geben Sie hier die Daten zu Ihrer Veranstaltung an.<br />" + - "Der Anzeigename ist nachher der Titel im VMChooser, also dort, wo die Studenten das Labor auswählen.<br />" + - "Eine Angabe des Namens des Dozenten kann daher hilfreich sein, wenn mehrere ähnliche Veranstaltungen vorliegen.<br />" + - "Geben Sie in der Beschreibung kurz an, was in dieser Veranstaltung behandelt wird, evtl. auch mit welcher Software" + - "</div></html>"; - - int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft - // aktiv sein darf - boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, - isAllInformationReady = false; + public static final String HELP_MESSAGE = "<html><div align=\"center\">Geben Sie hier die Daten zu Ihrer Veranstaltung an.<br />" + + "Der Anzeigename ist nachher der Titel im VMChooser, also dort, wo die Studenten das Labor auswählen.<br />" + + "Eine Angabe des Namens des Dozenten kann daher hilfreich sein, wenn mehrere ähnliche Veranstaltungen vorliegen.<br />" + + "Geben Sie in der Beschreibung kurz an, was in dieser Veranstaltung behandelt wird, evtl. auch mit welcher Software" + + "</div></html>"; + + private int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft + // aktiv sein darf + private boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, isAllInformationReady = false; /** * Create the dialog. @@ -86,17 +80,9 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Veranstaltung erzeugen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Veranstaltung erzeugen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -127,8 +113,8 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_1.setBounds(10, 331, 557, 162); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -226,8 +212,8 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 36, 557, 284); contentPanel.add(panel_2); @@ -245,7 +231,8 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { JTextArea txtrGebenSieBitte = new JTextArea(); txtrGebenSieBitte.setEditable(false); txtrGebenSieBitte.setWrapStyleWord(true); - txtrGebenSieBitte.setText("Geben Sie bitte einen sprechenden Namen für die Veranstaltung an. Dieser soll jedoch recht spezifisch sein.\r\nBeispiel: \"Grundlagen Programmieren Sommersemester...\", nicht \"Programmieren\""); + txtrGebenSieBitte + .setText("Geben Sie bitte einen sprechenden Namen für die Veranstaltung an. Dieser soll jedoch recht spezifisch sein.\r\nBeispiel: \"Grundlagen Programmieren Sommersemester...\", nicht \"Programmieren\""); txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); txtrGebenSieBitte.setBackground(SystemColor.menu); @@ -267,15 +254,13 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { description.setBounds(0, 0, 4, 22); scrollPane.add(description); dateChooserstart = new JDateChooser(); - dateChooserstart - .addPropertyChangeListener(new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent arg0) { - endDate = addDays(dateChooserstart.getDate(), - maxLifeTime); // Datum darf weiter als 6 - // Monate in der Zukunft - // liegen - } - }); + dateChooserstart.addPropertyChangeListener(new PropertyChangeListener() { + public void propertyChange(PropertyChangeEvent arg0) { + endDate = addDays(dateChooserstart.getDate(), maxLifeTime); // Datum darf weiter als 6 + // Monate in der Zukunft + // liegen + } + }); if (Lecture.lecture.getStartdate() == null) { // is not defined yet dateChooserstart.setDate(startDate); @@ -366,8 +351,7 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { Lecture.lecture.setActive(false); } - Lecture.lecture.setName(txtFldVeranstaltungsname - .getText().trim()); + Lecture.lecture.setName(txtFldVeranstaltungsname.getText().trim()); Lecture.lecture.setDesc(description.getText().trim()); Lecture.lecture.setEnddate(dateChooserend.getDate()); Lecture.lecture.setStartdate(dateChooserstart.getDate()); @@ -383,16 +367,12 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { continueButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // liegt das End-Datum vor dem Start-Datum? - if (dateChooserend.getDate().before( - dateChooserstart.getDate())) { + if (dateChooserend.getDate().before(dateChooserstart.getDate())) { // datum ist falsch rum isDateOrderCorrect = false; - JOptionPane - .showMessageDialog( - c, - "Das End-Datum liegt vor dem Start-Datum. Bitte ändern.", - "Datum fehlerhaft", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, + "Das End-Datum liegt vor dem Start-Datum. Bitte ändern.", + "Datum fehlerhaft", JOptionPane.INFORMATION_MESSAGE); } else { // bereit isDateOrderCorrect = true; @@ -402,10 +382,9 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { if (dateChooserend.getDate().after(endDate)) { // Datum zu weit weg isDateMaxLifeTimeCorrect = false; - JOptionPane.showMessageDialog(c, + JOptionPane.showMessageDialog(null, "Das End-Datum liegt zu weit in der Zukunft. Erlaubt ist maximal:\n" - + endDate, "Datum fehlerhaft", - JOptionPane.INFORMATION_MESSAGE); + + endDate, "Datum fehlerhaft", JOptionPane.INFORMATION_MESSAGE); dateChooserend.setDate(endDate); // setze Datum auf // maximum @@ -418,12 +397,9 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { || description.getText().trim().isEmpty() == true) { // mind 1 Textfeld ist leer isAllInformationReady = false; - JOptionPane - .showMessageDialog( - c, - "Bitte geben Sie einen Veranstaltungsnamen und eine Beschreibung ein.", - "Datum fehlerhaft", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, + "Bitte geben Sie einen Veranstaltungsnamen und eine Beschreibung ein.", + "Datum fehlerhaft", JOptionPane.INFORMATION_MESSAGE); } else { // Textfelder bereit isAllInformationReady = true; @@ -437,17 +413,13 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { } // Pruefe ob alle Eingaben korrekt sind, dann mache // weiter - if (isAllInformationReady == true - && isDateMaxLifeTimeCorrect == true - && isDateOrderCorrect == true - && descriptionLenghtOK() == true) { + if (isAllInformationReady == true && isDateMaxLifeTimeCorrect == true + && isDateOrderCorrect == true && descriptionLenghtOK() == true) { // everything is ok, proceed - Lecture.lecture.setName(txtFldVeranstaltungsname - .getText().trim()); + Lecture.lecture.setName(txtFldVeranstaltungsname.getText().trim()); Lecture.lecture.setDesc(description.getText().trim()); Lecture.lecture.setEnddate(dateChooserend.getDate()); - Lecture.lecture.setStartdate(dateChooserstart - .getDate()); + Lecture.lecture.setStartdate(dateChooserstart.getDate()); GuiManager.show(new PermissionCreateLecture_GUI()); } @@ -486,10 +458,9 @@ public class CreateLectureAllgemein_GUI extends JInternalFrame { // max length is 254 chars if (description.getText().trim().length() >= MAX_DESCRIPTION_LENGTH) { descriptionLengthOK = false; - JOptionPane.showMessageDialog(c, + JOptionPane.showMessageDialog(null, "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie " - + description.getText().trim().length() + ".", - "Beschreibung zu umfangreich", + + description.getText().trim().length() + ".", "Beschreibung zu umfangreich", JOptionPane.INFORMATION_MESSAGE); } else { descriptionLengthOK = true; diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 5bd5d84c..c4627a3a 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -4,7 +4,6 @@ import gui.image.FTPCreateUploader_GUI; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -28,7 +27,6 @@ import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; @@ -36,8 +34,6 @@ import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.RowFilter; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -62,36 +58,30 @@ import util.GuiManager; @SuppressWarnings("serial") public class CreateLectureLink_GUI extends JInternalFrame { - + private final static Logger LOGGER = Logger.getLogger(FTPCreateUploader_GUI.class); private final JPanel contentPanel = new JPanel(); - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JComboBox<String> comboBox; - JLabel labelName; - JLabel labelUpdate; - JLabel labelVerantwortlicher; - JLabel labelWeitereVerantwortliche; - JLabel labelVorlage; - JLabel labelLizenzSoftware; - JLabel labelInternet; - JLabel labelRam; - JLabel labelCPU; - JLabel labelID; - JLabel labelVersion; - JTextArea textAreadesc; + private JComboBox<String> comboBox; + private JLabel labelName; + private JLabel labelUpdate; + private JLabel labelVerantwortlicher; + private JLabel labelWeitereVerantwortliche; + private JLabel labelVorlage; + private JLabel labelLizenzSoftware; + private JLabel labelInternet; + private JLabel labelRam; + private JLabel labelCPU; + private JLabel labelID; + private JLabel labelVersion; + private JTextArea textAreadesc; private JLabel labelOS; - JTable tableAllImages = new JTable(); - JTable tablemyImages = new JTable(); - boolean activeSearch = false; - Component c = null; + private JTable tablemyImages = new JTable(); private JTextField textFieldName; private JLabel lblTotalResults; private String uuid = null; - String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; + private String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", + "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; public static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Damit Ihre Veranstaltung geladen werden kann, muss sie mit einem Image verbunden werden.<br />" @@ -99,36 +89,25 @@ public class CreateLectureLink_GUI extends JInternalFrame { + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung erzeugen\"." + "</div></html>"; - /*final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } - - };*/ - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { + private final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - - final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( - modelMyImages); - - - RowFilter<Object, Object> rf = null; - List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2); + private final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(modelMyImages); + + private RowFilter<Object, Object> rf = null; + private List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(2); /** * Create the dialog. */ public CreateLectureLink_GUI() { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); - - + addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent arg0) { @@ -166,33 +145,27 @@ public class CreateLectureLink_GUI extends JInternalFrame { tablemyImages.getColumnModel().getColumn(9).setWidth(0); tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); - + tablemyImages.getTableHeader().setReorderingAllowed(false); - + tablemyImages.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { tablemyImages.clearSelection(); //just one row is selectablemyImages - tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), tablemyImages.rowAtPoint(e.getPoint())); + tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), + tablemyImages.rowAtPoint(e.getPoint())); } }); - + textFieldName.requestFocusInWindow(); } }); setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Veranstaltung erzeugen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Veranstaltung erzeugen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 918, 722); getContentPane().setLayout(null); @@ -203,8 +176,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel( - "Veranstaltung auf ein Image verlinken"); + JLabel lblNewLabel = new JLabel("Veranstaltung auf ein Image verlinken"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -213,8 +185,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Wählen Sie bitte ein Image aus, auf dem Ihre Veranstaltung basiert."); + txtpnBitteWhlenSie.setText("Wählen Sie bitte ein Image aus, auf dem Ihre Veranstaltung basiert."); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -226,8 +197,8 @@ public class CreateLectureLink_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 92); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -247,24 +218,21 @@ public class CreateLectureLink_GUI extends JInternalFrame { String stext = textFieldName.getText().trim(); // Wenn Textfield nicht leer if (stext != "") { - activeSearch = true; // Filtere nach der Eingabe - filters.clear(); - filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + filters.clear(); + filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive + filters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive rf = RowFilter.orFilter(filters); rowSorterMyImages.setRowFilter(rf); - } else { - activeSearch = false; filters.clear(); filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything rf = RowFilter.orFilter(filters); rowSorterMyImages.setRowFilter(rf); } tablemyImages.clearSelection(); - + resetLectureInfo(); } @@ -283,29 +251,25 @@ public class CreateLectureLink_GUI extends JInternalFrame { comboBox.addItem(list.get(i)); } } catch (TException e) { - + e.printStackTrace(); - JOptionPane.showMessageDialog(c, - e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(null, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { - activeSearch = true; // rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), // 2)); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - comboBox.getSelectedItem().toString(), 2)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem() + .toString(), 2)); // rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), // 2)); } else { - activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - username, 4)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); // rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", // 8)); // rowSorterAll.setRowFilter(null); @@ -346,37 +310,30 @@ public class CreateLectureLink_GUI extends JInternalFrame { JScrollPane scrollPaneMyImage = new JScrollPane(); scrollPaneMyImage.setBounds(10, 158, 557, 339); contentPanel.add(scrollPaneMyImage); - tablemyImages.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { - - if(tablemyImages.getSelectedRow() != -1) - { - String imageid = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6) - .toString(); - String version = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) - .toString(); - try { - //write the image data to the information fields on the right - writeImageData(imageid, version); - } catch (TException e1) { - - e1.printStackTrace(); - } catch (ParseException e1) { - - e1.printStackTrace(); - } - } + tablemyImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + if (tablemyImages.getSelectedRow() != -1) { + String imageid = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) + .toString(); + String version = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) + .toString(); + try { + //write the image data to the information fields on the right + writeImageData(imageid, version); + } catch (TException e1) { + + e1.printStackTrace(); + } catch (ParseException e1) { + + e1.printStackTrace(); } - - - }); + } + } + + }); tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -386,7 +343,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { tablemyImages.setRowSorter(rowSorterMyImages); scrollPaneMyImage.setViewportView(tablemyImages); - + lblTotalResults = new JLabel("Anzahl:"); lblTotalResults.setBounds(10, 512, 131, 20); contentPanel.add(lblTotalResults); @@ -409,95 +366,81 @@ public class CreateLectureLink_GUI extends JInternalFrame { getRootPane().setDefaultButton(cancelButton); } { - JButton doLinkButton = new JButton( - "Veranstaltung erzeugen und abschließen"); + JButton doLinkButton = new JButton("Veranstaltung erzeugen und abschließen"); doLinkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // check if a row is selected if (tablemyImages.getSelectedRow() != -1) { // a row is selected, do operations - String imageID = tablemyImages.getValueAt( - tablemyImages.getSelectedRow(), 6) + String imageID = tablemyImages.getValueAt(tablemyImages.getSelectedRow(), 6) .toString(); try { - DateFormat formatter = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); - + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //create new lecture - ThriftManager.getSatClient().writeLecturedata( - Lecture.lecture.getName(), - Lecture.lecture.getShortDesc(), - Lecture.lecture.getDesc(), + ThriftManager.getSatClient().writeLecturedata(Lecture.lecture.getName(), + Lecture.lecture.getShortDesc(), Lecture.lecture.getDesc(), formatter.format(Lecture.lecture.getStartdate()).toString(), formatter.format(Lecture.lecture.getEnddate()).toString(), - Lecture.lecture.isActive(), - imageID, - SessionData.authToken, + Lecture.lecture.isActive(), imageID, SessionData.authToken, person.verantwortlicher.getTel(), - person.verantwortlicher.getFakultaet(), - uuid, + person.verantwortlicher.getFakultaet(), uuid, person.verantwortlicher.getHochschule()); System.out.println("imageID" + " " + imageID); System.out.println("lectureID" + " " + uuid); //set rights for this user - - ThriftManager.getSatClient().writeLectureRights( - uuid, - person.verantwortlicher.getRole(), - SessionData.authToken, + + ThriftManager.getSatClient().writeLectureRights(uuid, + person.verantwortlicher.getRole(), SessionData.authToken, person.verantwortlicher.getHochschule(), - person.verantwortlicher.getUserID() - ); - + person.verantwortlicher.getUserID()); + //set rights for additional users - for(int i=0; i< RightsManagement.rightsManagement.getPermittedUserList().size(); i++){ + for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList() + .size(); i++) { //System.out.println("Writing additional rights for user "+RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID()+", User "+(i+1)+"/"+RightsManagement.rightsManagement.getPermittedUserList().size()); ThriftManager.getSatClient().writeAdditionalLectureRights( uuid, - RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), - RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_read(), - RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_write(), - RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_admin(), - SessionData.authToken - ); - + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .getUserID(), + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_read(), + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_write(), + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_admin(), SessionData.authToken); + }//end for - - LOGGER.info("Veranstaltung '"+Lecture.lecture.getName()+"' wurde erfolgreich angelegt."); - + + LOGGER.info("Veranstaltung '" + Lecture.lecture.getName() + + "' wurde erfolgreich angelegt."); + JOptionPane .showMessageDialog( - c, + null, "Ihre Veranstaltung wurde erfolgreich angelegt. Sie kehren nun zum Hauptmenü zurück.", - "Veranstaltung angelegt", - JOptionPane.INFORMATION_MESSAGE); + "Veranstaltung angelegt", JOptionPane.INFORMATION_MESSAGE); // zurueck zum Menue GuiManager.show(new MainMenue_GUI()); } catch (TException e1) { - LOGGER.error("Veranstaltung '"+Lecture.lecture.getName()+"' konnte nicht angelegt werden."); - + LOGGER.error("Veranstaltung '" + Lecture.lecture.getName() + + "' konnte nicht angelegt werden."); + e1.printStackTrace(); - JOptionPane - .showMessageDialog( - c, - "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", - "Error", - JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, e1.getCause() - + "\n" + e1.getStackTrace(), - "Debug-Message", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, e1.getCause() + "\n" + e1.getStackTrace(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); } dispose(); } else { // nothing selected - JOptionPane.showMessageDialog(c, - "Bitte wählen Sie ein Image aus.", - "Image Auswahl", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, "Bitte wählen Sie ein Image aus.", + "Image Auswahl", JOptionPane.INFORMATION_MESSAGE); } } @@ -576,8 +519,7 @@ public class CreateLectureLink_GUI extends JInternalFrame { labelLizenzSoftware.setBounds(10, 383, 296, 14); panel.add(labelLizenzSoftware); - JLabel lblLizenzpflichtigeSoftware = new JLabel( - "Lizenzpflichtige Software:"); + JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:"); lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14); panel.add(lblLizenzpflichtigeSoftware); @@ -638,31 +580,28 @@ public class CreateLectureLink_GUI extends JInternalFrame { textAreadesc.setBackground(SystemColor.menu); textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); scrollPane.setViewportView(textAreadesc); - - try - { + + try { uuid = ThriftManager.getSatClient().createRandomUUID(SessionData.authToken); - } - catch (TException e1) - { + } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } - } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) - throws TException, ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) throws TException, ParseException { List<Image> images; // Hole eine Liste der Images - if(person.verantwortlicher.getRole()=="Admin"){ + if (person.verantwortlicher.getRole() == "Admin") { //get complete list - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken); - } else { - images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher.getUserID(),SessionData.authToken); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(), + SessionData.authToken); + } else { + images = ThriftManager.getSatClient().getImageListPermissionLink( + person.verantwortlicher.getUserID(), SessionData.authToken); } Iterator<Image> i = images.iterator(); @@ -672,14 +611,10 @@ public class CreateLectureLink_GUI extends JInternalFrame { while (i.hasNext()) { // erzeuge Objekte fuer die Tabelle - Object[] obj = { images.get(x).getImageName(), - images.get(x).getLicenseRestriction(), - images.get(x).getOsName(), images.get(x).getLectureName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), - images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate(), - images.get(x).getDescription()}; + Object[] obj = { images.get(x).getImageName(), images.get(x).getLicenseRestriction(), + images.get(x).getOsName(), images.get(x).getLectureName(), images.get(x).getUserData(), + out.format(in.parse(images.get(x).updateTime)), images.get(x).id, + images.get(x).getVersion(), images.get(x).getIsTemplate(), images.get(x).getDescription() }; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); @@ -688,12 +623,12 @@ public class CreateLectureLink_GUI extends JInternalFrame { } //show number if rows in GUI - lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); - + lblTotalResults.setText(lblTotalResults.getText() + " " + model.getRowCount()); + return model; } - + private void resetLectureInfo() { //reset the detailed information on the right hand side when changing search string labelID.setText(""); @@ -711,12 +646,12 @@ public class CreateLectureLink_GUI extends JInternalFrame { labelCPU.setText(""); } - public void writeImageData(String id, String version) throws TException, - ParseException { + public void writeImageData(String id, String version) throws TException, ParseException { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.authToken); + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version, + SessionData.authToken); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java index fa5c84c5..71054020 100644 --- a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java @@ -1,5 +1,6 @@ package gui.lecture; +import gui.helper.TableFiller; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -16,7 +17,6 @@ import java.awt.event.MouseEvent; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -34,8 +34,6 @@ import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.ListSelectionModel; import javax.swing.RowFilter; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -59,8 +57,7 @@ import util.GuiManager; @SuppressWarnings("serial") public class DeleteLecture_GUI extends JInternalFrame { - private final static Logger LOGGER = Logger - .getLogger(DeleteLecture_GUI.class); + private final static Logger LOGGER = Logger.getLogger(DeleteLecture_GUI.class); private final JPanel contentPanel = new JPanel(); String[] result; @@ -78,21 +75,16 @@ public class DeleteLecture_GUI extends JInternalFrame { private JTextField textFieldName; private JLabel lblTotalResults; boolean activeSearch = false; - String[] titles = { "Veranstaltungsname", "Beschreibung", - "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung", - "Verantwortlicher", "Image", "Schlagwort", "ID" }; + String[] titles = { "Veranstaltungsname", "Beschreibung", "Gültigkeitsdatum", "Aktiv", + "Letzte Benutzung", "Verantwortlicher", "Image", "Schlagwort", "ID" }; - final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0){ + final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - - - - final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( - modelMyLectures); + final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>(modelMyLectures); private JButton button; Component c = null; @@ -110,7 +102,6 @@ public class DeleteLecture_GUI extends JInternalFrame { * Create the dialog. */ public DeleteLecture_GUI() { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); @@ -119,13 +110,7 @@ public class DeleteLecture_GUI extends JInternalFrame { @Override public void internalFrameActivated(InternalFrameEvent arg0) { textFieldName.requestFocusInWindow(); - try { - initTableModel(modelMyLectures); - - } catch (ParseException e) { - - e.printStackTrace(); - } + initTableModel(modelMyLectures); // auszublendende Angaben // 1=Beschreibung @@ -153,17 +138,17 @@ public class DeleteLecture_GUI extends JInternalFrame { tablemyLectures.getColumnModel().getColumn(8).setWidth(0); tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0); tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0); - + tablemyLectures.getTableHeader().setReorderingAllowed(false); tablemyLectures.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyLectures.addMouseListener(new MouseAdapter() { @Override - public void mouseReleased(MouseEvent e) - { + public void mouseReleased(MouseEvent e) { tablemyLectures.clearSelection(); //just one row is selectablemyLectures - tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), tablemyLectures.rowAtPoint(e.getPoint())); + tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), + tablemyLectures.rowAtPoint(e.getPoint())); System.out.println(tablemyLectures.getSelectedRow()); } }); @@ -173,19 +158,11 @@ public class DeleteLecture_GUI extends JInternalFrame { // Verhindert das Vergroessern Des Fensters setResizable(false); - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Veranstaltung löschen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Veranstaltung löschen - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 842, 722); - + getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -216,12 +193,12 @@ public class DeleteLecture_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 64); contentPanel.add(panel_1); panel_1.setLayout(null); - + JLabel lblNewLabel_2 = new JLabel("Volltextsuche:"); lblNewLabel_2.setBounds(30, 30, 80, 20); panel_1.add(lblNewLabel_2); @@ -291,7 +268,7 @@ public class DeleteLecture_GUI extends JInternalFrame { JLabel label_2 = new JLabel(">"); label_2.setBounds(152, 11, 13, 14); contentPanel.add(label_2); - + lblTotalResults = new JLabel("Anzahl:"); lblTotalResults.setBounds(10, 500, 131, 20); contentPanel.add(lblTotalResults); @@ -303,31 +280,27 @@ public class DeleteLecture_GUI extends JInternalFrame { scrollPaneMyImage.setBounds(10, 120, 552, 369); contentPanel.add(scrollPaneMyImage); tablemyLectures = new JTable(); - tablemyLectures.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { - - if (tablemyLectures.getSelectedRow() != -1) { - String imageid = modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 8).toString(); - - try { - writeLectureData(imageid); - } catch (TException e1) { - - e1.printStackTrace(); - } catch (ParseException e1) { - - e1.printStackTrace(); - } - } + tablemyLectures.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + if (tablemyLectures.getSelectedRow() != -1) { + String imageid = modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), 8) + .toString(); + + try { + writeLectureData(imageid); + } catch (TException e1) { + + e1.printStackTrace(); + } catch (ParseException e1) { + + e1.printStackTrace(); } + } + } - }); + }); tablemyLectures.setModel(modelMyLectures); tablemyLectures.getColumnModel().getColumn(1).sizeWidthToFit(); @@ -351,47 +324,33 @@ public class DeleteLecture_GUI extends JInternalFrame { if (tablemyLectures.getSelectedRowCount() != 0) { // a row is selected // ask for confirmation - eingabe = JOptionPane.showConfirmDialog(c, - "Wollen Sie diese Daten löschen?", "Löschen?", + eingabe = JOptionPane.showConfirmDialog(c, "Wollen Sie diese Daten löschen?", "Löschen?", JOptionPane.YES_NO_OPTION); if (eingabe == JOptionPane.YES_OPTION) { // user has confirmed deletion, now get the ID of the // selected lecture - lectureID = modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 8).toString(); - + lectureID = modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), 8) + .toString(); + //int test = tablemyLectures.convertColumnIndexToModel(tablemyLectures.getSelectedRow()); - - + // LOGGER.info("Lösche Veranstaltung: " + lectureID); try { - if (ThriftManager.getSatClient().deleteLecture( - lectureID, - SessionData.authToken, - person.verantwortlicher.getHochschule() - ) - ) - { - + if (ThriftManager.getSatClient().deleteLecture(lectureID, SessionData.authToken, + person.verantwortlicher.getHochschule())) { + // delete successful - LOGGER.info("Veranstaltung erfolgreich '"+lectureID+"' gelöscht."); + LOGGER.info("Veranstaltung erfolgreich '" + lectureID + "' gelöscht."); GuiManager.show(new DeleteLecture_GUI()); } else { // delete not successful - LOGGER.error("Konnte Veranstaltung '" - + lectureID + LOGGER.error("Konnte Veranstaltung '" + lectureID + "' nicht aus der Datenbank löschen!"); - JOptionPane - .showMessageDialog( - c, - "Löschen der Veranstaltung aus der Datenbank fehlgeschlagen.", - "Fehler", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, + "Löschen der Veranstaltung aus der Datenbank fehlgeschlagen.", + "Fehler", JOptionPane.INFORMATION_MESSAGE); } } catch (TException e1) { @@ -521,59 +480,33 @@ public class DeleteLecture_GUI extends JInternalFrame { scrollPaneName.setBounds(10, 40, 218, 55); panel.add(scrollPaneName); - } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) - throws ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) { List<Lecture> lectures; try { - + // Hole eine Liste der erlaubten Images für die diese Person - if(person.verantwortlicher.getRole()=="Admin") - { + if (person.verantwortlicher.getRole() == "Admin") { //get complete list lectures = ThriftManager.getSatClient().getLectureList(SessionData.authToken); - } - else - { + } else { //get permitted list lectures = ThriftManager.getSatClient().getLectureListPermissionAdmin(SessionData.authToken); } - - Iterator<Lecture> i = lectures.iterator(); - SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { - lectures.get(x).lecturename, - lectures.get(x).desc, - out.format(in.parse(lectures.get(x).starttime)) + " " - + out.format(in.parse(lectures.get(x).endtime)), - lectures.get(x).isActive, - out.format(in.parse(lectures.get(x).lastused)), - lectures.get(x).username, lectures.get(x).imagename, - " ", lectures.get(x).id, }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); - } + TableFiller.fillModelWithLectureList(model, lectures); //show number if rows in GUI - lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); + lblTotalResults.setText(lblTotalResults.getText() + " " + model.getRowCount()); return model; } catch (TException e1) { e1.printStackTrace(); } - + return model; } @@ -597,15 +530,14 @@ public class DeleteLecture_GUI extends JInternalFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = ThriftManager.getSatClient().getLectureData(id,SessionData.authToken); + Map<String, String> res = ThriftManager.getSatClient().getLectureData(id, SessionData.authToken); labelName.setText(res.get("name")); labelAktiv.setText(res.get("isActive")); labeldesc.setText(res.get("desc")); labelVerantwortlicher.setText(res.get("owner")); labelstartdate.setText(out.format(in.parse(res.get("startTime")))); labelenddate.setText(out.format(in.parse(res.get("endTime")))); - labelimage.setText(res.get("imagepath").substring( - res.get("imagepath").indexOf("/") + 1)); + labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/") + 1)); labelimageversion.setText(res.get("imageversion")); } diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index b36ff94f..403db9dc 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -3,7 +3,6 @@ package gui.lecture; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.ScrollPane; @@ -28,8 +27,6 @@ import javax.swing.JSeparator; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; @@ -46,62 +43,48 @@ import util.GuiManager; import com.toedter.calendar.JDateChooser; - @SuppressWarnings("serial") public class EditLectureAllgemein_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; private JTextField Vorname; private JTextField Nachname; private JTextField Hochschule; private JTextField EMail; private JTextField textFieldLaborname; - JTextArea description; - JRadioButton radioButtonyes; - JDateChooser dateChooserend; - JDateChooser dateChooserstart; - JRadioButton radioButtonno; - Date startDate = new Date(); - Date endDate; - Component c = null; + private JTextArea description; + private JRadioButton radioButtonyes; + private JDateChooser dateChooserend; + private JDateChooser dateChooserstart; + private JRadioButton radioButtonno; + private Date startDate = new Date(); + private Date endDate; private final ButtonGroup buttonGroup = new ButtonGroup(); private boolean descriptionLengthOK = false; // description may not be // longer than // MAX_DESCRIPTION_LENGTH private final int MAX_DESCRIPTION_LENGTH = 254; - - int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft + + private int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft // aktiv sein darf - boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, - isAllInformationReady = false; - - public static final String HELP_MESSAGE = "<html><div align=\"center\">" + - "Bearbeiten Sie hier Ihre allgemeinen Informationen zu einer Veranstaltung.<br />" + - "Sie können auch den Zeitraum neu wählen und die Beschreibung ändern.<br />" + - "Klicken Sie anschließend auf \"Witer\" um die Daten im nächsten Schritt zu übernehmen." + - "</div></html>"; - + private boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, isAllInformationReady = false; + + public static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "Bearbeiten Sie hier Ihre allgemeinen Informationen zu einer Veranstaltung.<br />" + + "Sie können auch den Zeitraum neu wählen und die Beschreibung ändern.<br />" + + "Klicken Sie anschließend auf \"Witer\" um die Daten im nächsten Schritt zu übernehmen." + + "</div></html>"; + /** * Create the dialog. */ public EditLectureAllgemein_GUI() { - setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - "+person.verantwortlicher.getUserID()); - ; + setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -132,8 +115,8 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_1.setBounds(10, 331, 557, 162); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -235,8 +218,8 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Veranstaltungsdaten", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(10, 36, 557, 284); contentPanel.add(panel_2); @@ -254,7 +237,8 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { JTextArea txtrGebenSieBitte = new JTextArea(); txtrGebenSieBitte.setEditable(false); txtrGebenSieBitte.setWrapStyleWord(true); - txtrGebenSieBitte.setText("Geben Sie bitte einen sprechenden Namen für die Veranstaltung an. Dieser soll jedoch recht spezifisch sein.\r\nBeispiel: \"Programmieren 1\", nicht \"Programmieren\""); + txtrGebenSieBitte + .setText("Geben Sie bitte einen sprechenden Namen für die Veranstaltung an. Dieser soll jedoch recht spezifisch sein.\r\nBeispiel: \"Programmieren 1\", nicht \"Programmieren\""); txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); txtrGebenSieBitte.setBackground(SystemColor.menu); @@ -287,15 +271,13 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { panel_2.add(label_5); dateChooserstart = new JDateChooser(); - dateChooserstart - .addPropertyChangeListener(new PropertyChangeListener() { - public void propertyChange(PropertyChangeEvent arg0) { - endDate = addDays(dateChooserstart.getDate(), - maxLifeTime); // Datum darf weiter als 6 - // Monate in der Zukunft - // liegen - } - }); + dateChooserstart.addPropertyChangeListener(new PropertyChangeListener() { + public void propertyChange(PropertyChangeEvent arg0) { + endDate = addDays(dateChooserstart.getDate(), maxLifeTime); // Datum darf weiter als 6 + // Monate in der Zukunft + // liegen + } + }); // initialize if (Lecture.lecture.getStartdate() == null) { @@ -335,22 +317,21 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { buttonGroup.add(radioButtonyes); radioButtonyes.setBounds(240, 225, 109, 23); panel_2.add(radioButtonyes); - - + radioButtonno = new JRadioButton("Nein"); buttonGroup.add(radioButtonno); radioButtonno.setBounds(385, 225, 109, 23); panel_2.add(radioButtonno); - + //set button value - if(Lecture.lecture.isActive()==true){ + if (Lecture.lecture.isActive() == true) { radioButtonyes.setSelected(true); radioButtonno.setSelected(false); } else { radioButtonyes.setSelected(false); radioButtonno.setSelected(true); } - + radioButtonyes.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { radioButtonyes.setSelected(true); @@ -393,8 +374,8 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { Lecture.lecture.setDesc(description.getText().trim()); Lecture.lecture.setEnddate(dateChooserend.getDate()); Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname.getText().trim()); - + Image.Imagename = textFieldLaborname.getText().trim(); + GuiManager.show(new EditLectureSearch_GUI()); } }); @@ -405,19 +386,15 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { { JButton cancelButton = new JButton("Weiter"); cancelButton.addActionListener(new ActionListener() { - + public void actionPerformed(ActionEvent e) { // liegt das End-Datum vor dem Start-Datum? - if (dateChooserend.getDate().before( - dateChooserstart.getDate())) { + if (dateChooserend.getDate().before(dateChooserstart.getDate())) { // datum ist falsch rum isDateOrderCorrect = false; - JOptionPane - .showMessageDialog( - c, - "Das End-Datum liegt vor dem Start-Datum. Bitte ändern.", - "Datum fehlerhaft", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, + "Das End-Datum liegt vor dem Start-Datum. Bitte ändern.", + "Datum fehlerhaft", JOptionPane.INFORMATION_MESSAGE); } else { // bereit isDateOrderCorrect = true; @@ -427,10 +404,9 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { if (dateChooserend.getDate().after(endDate)) { // Datum zu weit weg isDateMaxLifeTimeCorrect = false; - JOptionPane.showMessageDialog(c, + JOptionPane.showMessageDialog(null, "Das End-Datum liegt zu weit in der Zukunft. Erlaubt ist maximal:\n" - + endDate, "Datum fehlerhaft", - JOptionPane.INFORMATION_MESSAGE); + + endDate, "Datum fehlerhaft", JOptionPane.INFORMATION_MESSAGE); dateChooserend.setDate(endDate); // setze Datum auf // maximum @@ -443,12 +419,9 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { || description.getText().trim().isEmpty() == true) { // mind 1 Textfeld ist leer isAllInformationReady = false; - JOptionPane - .showMessageDialog( - c, - "Bitte geben Sie einen Veranstaltungsnamen und eine Beschreibung ein.", - "Datum fehlerhaft", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, + "Bitte geben Sie einen Veranstaltungsnamen und eine Beschreibung ein.", + "Datum fehlerhaft", JOptionPane.INFORMATION_MESSAGE); } else { // Textfelder bereit isAllInformationReady = true; @@ -462,25 +435,23 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { } // Pruefe ob alle Eingaben korrekt sind, dann mache // weiter - if (isAllInformationReady == true - && isDateMaxLifeTimeCorrect == true - && isDateOrderCorrect == true - && descriptionLenghtOK() == true) { + if (isAllInformationReady == true && isDateMaxLifeTimeCorrect == true + && isDateOrderCorrect == true && descriptionLenghtOK() == true) { // everything is ok, proceed - Lecture.lecture.setNewName(textFieldLaborname - .getText().trim()); + Lecture.lecture.setNewName(textFieldLaborname.getText().trim()); Lecture.lecture.setDesc(description.getText().trim()); Lecture.lecture.setEnddate(dateChooserend.getDate()); - Lecture.lecture.setStartdate(dateChooserstart - .getDate()); + Lecture.lecture.setStartdate(dateChooserstart.getDate()); - Image.image.setImagename(textFieldLaborname - .getText().trim()); + Image.Imagename = textFieldLaborname.getText().trim(); //check which GUI to open try { - if((ThriftManager.getSatClient().userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.authToken) || (person.verantwortlicher.getRole().equals("Admin")))){ + if ((ThriftManager.getSatClient().userIsLectureAdmin( + person.verantwortlicher.getUserID(), Lecture.lecture.getid(), + SessionData.authToken) || (person.verantwortlicher.getRole() + .equals("Admin")))) { //user is admin of the lecture GuiManager.show(new PermissionEditLecture_GUI()); } else { @@ -491,8 +462,7 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { // TODO Auto-generated catch block e1.printStackTrace(); } - - + } } @@ -530,10 +500,9 @@ public class EditLectureAllgemein_GUI extends JInternalFrame { // max length is 254 chars if (description.getText().trim().length() >= MAX_DESCRIPTION_LENGTH) { descriptionLengthOK = false; - JOptionPane.showMessageDialog(c, + JOptionPane.showMessageDialog(null, "Die Beschreibung darf max 254 Zeichen enthalten. Aktuell enthält sie " - + description.getText().trim().length() + ".", - "Beschreibung zu umfangreich", + + description.getText().trim().length() + ".", "Beschreibung zu umfangreich", JOptionPane.INFORMATION_MESSAGE); } else { descriptionLengthOK = true; diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index b4bf7bff..0ceb4891 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -1,9 +1,9 @@ package gui.lecture; +import gui.helper.TableFiller; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -17,7 +17,6 @@ import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -27,7 +26,6 @@ import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTabbedPane; @@ -36,8 +34,6 @@ import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.RowFilter; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -63,70 +59,60 @@ import util.GuiManager; public class EditLectureLink_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JComboBox<String> comboBox; - JLabel labelName; - JLabel labelUpdate; - JLabel labelVerantwortlicher; - JLabel labelWeitereVerantwortliche; - JLabel labelVorlage; - JLabel labelLizenzSoftware; - JLabel labelInternet; - JLabel labelRam; - JLabel labelID; - JLabel labelVersion; - JTextArea textAreadesc; - JLabel labelCPU; + private JComboBox<String> comboBox; + private JLabel labelName; + private JLabel labelUpdate; + private JLabel labelVerantwortlicher; + private JLabel labelWeitereVerantwortliche; + private JLabel labelVorlage; + private JLabel labelLizenzSoftware; + private JLabel labelInternet; + private JLabel labelRam; + private JLabel labelID; + private JLabel labelVersion; + private JTextArea textAreadesc; + private JLabel labelCPU; private JLabel labelOS; - JTable tableAllImages = new JTable(); - JTable tablemyImages = new JTable(); - JTable tableCoopImages = new JTable(); - JTable tablePublicVorlagen = new JTable(); + private JTable tableAllImages = new JTable(); + private JTable tablemyImages = new JTable(); + private JTable tableCoopImages = new JTable(); + private JTable tablePublicVorlagen = new JTable(); private JTextField textFieldName; - JTabbedPane tabbedPane; - boolean activeSearch = false; - Component c = null; - String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; - - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { + private JTabbedPane tabbedPane; + private String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", + "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; + + private final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { + private final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, - 0) { + private final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( - modelAll); - final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( - modelMyImages); - final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( + private final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(modelAll); + private final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(modelMyImages); + private final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( modelPublicVorlagen); - - RowFilter<Object, Object> orFilter = null; - List<RowFilter<Object,Object>> orFilters = new ArrayList<RowFilter<Object,Object>>(); - + private RowFilter<Object, Object> orFilter = null; + private List<RowFilter<Object, Object>> orFilters = new ArrayList<RowFilter<Object, Object>>(); + //needed for templates, filter for name OR desc AND temp_flag --> (name || desc) && (temp_flag) - RowFilter<Object, Object> andFilter = null; - List<RowFilter<Object,Object>> andFilters = new ArrayList<RowFilter<Object,Object>>(); + private RowFilter<Object, Object> andFilter = null; + private List<RowFilter<Object, Object>> andFilters = new ArrayList<RowFilter<Object, Object>>(); //the final filter which handles the search in the templates - RowFilter<Object, Object> templateFilter = null; - ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>(); - - + private RowFilter<Object, Object> templateFilter = null; + private ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>(); + public static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.<br />" + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"." @@ -136,21 +122,13 @@ public class EditLectureLink_GUI extends JInternalFrame { * Create the dialog. */ public EditLectureLink_GUI() { - + addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent arg0) { - try { - initTableModelAll(modelAll); - initTableModel(modelMyImages); - initTableModelTemplates(modelPublicVorlagen); - } catch (TException e) { - - e.printStackTrace(); - } catch (ParseException e) { - - e.printStackTrace(); - } + initTableModelAll(modelAll); + initTableModel(modelMyImages); + initTableModelTemplates(modelPublicVorlagen); // auszublendende Angaben // 1=Lizenzpflichtig @@ -176,16 +154,17 @@ public class EditLectureLink_GUI extends JInternalFrame { tablemyImages.getColumnModel().getColumn(9).setWidth(0); tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); - + tablemyImages.getTableHeader().setReorderingAllowed(false); - + tablemyImages.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { tablemyImages.clearSelection(); //just one row is selectablemyImages - tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), tablemyImages.rowAtPoint(e.getPoint())); + tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), + tablemyImages.rowAtPoint(e.getPoint())); } }); @@ -207,19 +186,20 @@ public class EditLectureLink_GUI extends JInternalFrame { tablePublicVorlagen.getColumnModel().getColumn(9).setWidth(0); tablePublicVorlagen.getColumnModel().getColumn(9).setMinWidth(0); tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0); - + tablePublicVorlagen.getTableHeader().setReorderingAllowed(false); - + tablePublicVorlagen.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { tablePublicVorlagen.clearSelection(); //just one row is selectablePublicVorlagen - tablePublicVorlagen.setRowSelectionInterval(tablePublicVorlagen.rowAtPoint(e.getPoint()), tablePublicVorlagen.rowAtPoint(e.getPoint())); + tablePublicVorlagen.setRowSelectionInterval( + tablePublicVorlagen.rowAtPoint(e.getPoint()), + tablePublicVorlagen.rowAtPoint(e.getPoint())); } }); - tableAllImages.getColumnModel().getColumn(1).setWidth(0); tableAllImages.getColumnModel().getColumn(1).setMinWidth(0); @@ -239,16 +219,17 @@ public class EditLectureLink_GUI extends JInternalFrame { tableAllImages.getColumnModel().getColumn(9).setWidth(0); tableAllImages.getColumnModel().getColumn(9).setMinWidth(0); tableAllImages.getColumnModel().getColumn(9).setMaxWidth(0); - + tableAllImages.getTableHeader().setReorderingAllowed(false); - + tableAllImages.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { tableAllImages.clearSelection(); //just one row is selectableAllImages - tableAllImages.setRowSelectionInterval(tableAllImages.rowAtPoint(e.getPoint()), tableAllImages.rowAtPoint(e.getPoint())); + tableAllImages.setRowSelectionInterval(tableAllImages.rowAtPoint(e.getPoint()), + tableAllImages.rowAtPoint(e.getPoint())); } }); @@ -258,14 +239,7 @@ public class EditLectureLink_GUI extends JInternalFrame { setResizable(false); - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 918, 722); @@ -279,8 +253,7 @@ public class EditLectureLink_GUI extends JInternalFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel( - "Veranstaltung auf ein Image verlinken"); + JLabel lblNewLabel = new JLabel("Veranstaltung auf ein Image verlinken"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -289,8 +262,7 @@ public class EditLectureLink_GUI extends JInternalFrame { JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Wählen Sie bitte ein Image aus, auf dem Ihre Veranstaltung basiert."); + txtpnBitteWhlenSie.setText("Wählen Sie bitte ein Image aus, auf dem Ihre Veranstaltung basiert."); txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); panel.add(txtpnBitteWhlenSie); } @@ -302,8 +274,8 @@ public class EditLectureLink_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 91); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -322,60 +294,56 @@ public class EditLectureLink_GUI extends JInternalFrame { public void keyReleased(KeyEvent e) { String stext = textFieldName.getText().trim(); // Wenn Textfield nicht leer - if (stext != "") - { - activeSearch = true; + if (stext != "") { // Filtere nach der Eingabe - orFilters.clear(); - andFilters.clear(); - finalFilters.clear(); - - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive + orFilters.clear(); + andFilters.clear(); + finalFilters.clear(); + + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive //preparation for search via lecture description. "9" has to be corrected as the index of titles - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive - + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive + orFilter = RowFilter.orFilter(orFilters); - + rowSorterAll.setRowFilter(orFilter); rowSorterMyImages.setRowFilter(orFilter); andFilters.add(RowFilter.regexFilter("1", 8)); andFilter = RowFilter.andFilter(andFilters); - + finalFilters.add(andFilter); finalFilters.add(orFilter); templateFilter = RowFilter.andFilter(finalFilters); rowSorterPublicVorlagen.setRowFilter(templateFilter); - } - else - { - activeSearch = false; - - String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); - + } else { + + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); + orFilters.clear(); andFilters.clear(); orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything orFilter = RowFilter.andFilter(orFilters); - + rowSorterMyImages.setRowFilter(orFilter); rowSorterAll.setRowFilter(orFilter); - + //in addition, templates can only be shown when they really are templates! orFilters.clear(); - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive orFilters.add(RowFilter.regexFilter("1", 8)); orFilter = RowFilter.orFilter(orFilters); rowSorterPublicVorlagen.setRowFilter(orFilter); - + } - + tablemyImages.clearSelection(); tableAllImages.clearSelection(); tablePublicVorlagen.clearSelection(); - + resetLectureInfo(); } @@ -394,19 +362,19 @@ public class EditLectureLink_GUI extends JInternalFrame { comboBox.addItem(list.get(i)); } } catch (TException e2) { - + e2.printStackTrace(); } comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { - activeSearch = true; rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); - rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem() + .toString(), 2)); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem() + .toString(), 2)); } else { - activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); @@ -447,53 +415,26 @@ public class EditLectureLink_GUI extends JInternalFrame { contentPanel.add(lblNewLabel_1); tabbedPane = new JTabbedPane(JTabbedPane.TOP); - //not needed anymore, as the filters are set by the full text search completely - /* - tabbedPane.addChangeListener(new ChangeListener() { - public void stateChanged(ChangeEvent arg0) { - if (tabbedPane.getSelectedIndex() == 0 && activeSearch == false) { - - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - username, 4)); - } else if (tabbedPane.getSelectedIndex() == 1 - && activeSearch == false) { - rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - "true", 8)); - } else if (tabbedPane.getSelectedIndex() == 2 - && activeSearch == false) { - rowSorterAll.setRowFilter(null); - } - } - }); - */ tabbedPane.setBounds(10, 158, 557, 339); contentPanel.add(tabbedPane); JScrollPane scrollPaneAllImages = new JScrollPane(); - tableAllImages.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { - - if(tableAllImages.getSelectedRow() != -1) - { - - String imageid = modelAll.getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 6) - .toString(); - String version = modelAll.getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); - } - } - }); + tableAllImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + if (tableAllImages.getSelectedRow() != -1) { + + String imageid = modelAll.getValueAt( + tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 6) + .toString(); + String version = modelAll.getValueAt( + tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 7) + .toString(); + writeImageData(imageid, version); + } + } + }); tableAllImages.setModel(modelAll); tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -502,26 +443,20 @@ public class EditLectureLink_GUI extends JInternalFrame { tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); tableAllImages.setRowSorter(rowSorterAll); JScrollPane scrollPaneMyImage = new JScrollPane(); - tablemyImages.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { - - if(tablemyImages.getSelectedRow() != -1) - { - String imageid = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages //selber fehler wie bei image - .getSelectedRow()), 6) - .toString(); - String version = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); - } - } - }); + tablemyImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + if (tablemyImages.getSelectedRow() != -1) { + String imageid = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages //selber fehler wie bei image + .getSelectedRow()), 6).toString(); + String version = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) + .toString(); + writeImageData(imageid, version); + } + } + }); tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -534,27 +469,19 @@ public class EditLectureLink_GUI extends JInternalFrame { JScrollPane scrollPanePublicVorlagen = new JScrollPane(); scrollPanePublicVorlagen.setEnabled(false); - tablePublicVorlagen.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { - if(tablePublicVorlagen.getSelectedRow() != -1) - { - String imageid = modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 6) - .toString(); - String version = modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); - } - } - }); + tablePublicVorlagen.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + if (tablePublicVorlagen.getSelectedRow() != -1) { + String imageid = modelPublicVorlagen.getValueAt( + tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen.getSelectedRow()), + 6).toString(); + String version = modelPublicVorlagen.getValueAt( + tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen.getSelectedRow()), + 7).toString(); + writeImageData(imageid, version); + } + } + }); tablePublicVorlagen.setModel(modelPublicVorlagen); tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit(); tablePublicVorlagen.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -596,11 +523,14 @@ public class EditLectureLink_GUI extends JInternalFrame { JButton btnBack = new JButton("Zurück"); btnBack.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - + //check which GUI to open try { - if(ThriftManager.getSatClient().userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.authToken) || (person.verantwortlicher.getRole().equals("Admin"))){ + if (ThriftManager.getSatClient().userIsLectureAdmin( + person.verantwortlicher.getUserID(), Lecture.lecture.getid(), + SessionData.authToken) + || (person.verantwortlicher.getRole().equals("Admin"))) { //user is admin of the lecture GuiManager.show(new PermissionEditLecture_GUI()); @@ -612,7 +542,7 @@ public class EditLectureLink_GUI extends JInternalFrame { // TODO Auto-generated catch block e1.printStackTrace(); } - + } }); btnBack.setActionCommand("OK"); @@ -620,19 +550,17 @@ public class EditLectureLink_GUI extends JInternalFrame { getRootPane().setDefaultButton(btnBack); } { - JButton btnFinish = new JButton( - "Veranstaltung ändern und abschließen"); + JButton btnFinish = new JButton("Veranstaltung ändern und abschließen"); btnFinish.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - String username = person.verantwortlicher.getName() - + " " + person.verantwortlicher.getVorname(); + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); // check if a row is selected if (tablemyImages.getSelectedRow() != -1) { // a row is selected, do operations try { - DateFormat formatter = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // update the lecture ThriftManager.getSatClient().updateLecturedata( @@ -643,302 +571,212 @@ public class EditLectureLink_GUI extends JInternalFrame { formatter.format(Lecture.lecture.getStartdate()).toString(), formatter.format(Lecture.lecture.getEnddate()).toString(), Lecture.lecture.isActive(), - modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), - 6).toString(), - modelMyImages - .getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), - 7).toString(), - SessionData.authToken, - person.verantwortlicher.getTel(), - person.verantwortlicher.getFakultaet(), - Lecture.lecture.getid(), + modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages + .getSelectedRow()), 6).toString(), + modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages + .getSelectedRow()), 7).toString(), + SessionData.authToken, person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultaet(), Lecture.lecture.getid(), person.verantwortlicher.getHochschule()); // remove all additional user permissions on // first stage ThriftManager.getSatClient().deleteAllAdditionalLecturePermissions( - Lecture.lecture.getid(), - SessionData.authToken, + Lecture.lecture.getid(), SessionData.authToken, person.verantwortlicher.getUserID()); // then, add user permissions as they have been // set new - for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList().size(); i++) - { - /* - System.out.println("Writing additional rights for user " - + RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).getUserID() - + ", User " - + i - + "/" - + RightsManagement.rightsManagement - .getPermittedUserList() - .size() - +", r="+RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_read() - +", w="+RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_write() - +", a="+RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_admin() - ); - */ - + for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList() + .size(); i++) { + ThriftManager.getSatClient().writeAdditionalLectureRights( Lecture.lecture.getid(), - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).getUserID(), // userID - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isLecture_read(),// read - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isLecture_write(),// write - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isLecture_admin(),// admin - SessionData.authToken - ); + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .getUserID(), // userID + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_read(),// read + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_write(),// write + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isLecture_admin(),// admin + SessionData.authToken); }// end for JOptionPane .showMessageDialog( - c, + null, "Ihre Veranstaltung wurde erfolgreich geändert. Sie kehren nun zum Hauptmenü zurück.", - "Veranstaltung angelegt", - JOptionPane.INFORMATION_MESSAGE); + "Veranstaltung angelegt", JOptionPane.INFORMATION_MESSAGE); // zurueck zum Menue GuiManager.show(new MainMenue_GUI()); } catch (TException e1) { - + e1.printStackTrace(); - JOptionPane - .showMessageDialog( - c, - "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", - "Error", - JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, e1.getCause() - + "\n" + e1.getStackTrace(), - "Debug-Message", + JOptionPane.showMessageDialog(null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } dispose(); } else if (tablePublicVorlagen.getSelectedRow() != -1 - && tablePublicVorlagen - .getValueAt( - tablePublicVorlagen - .getSelectedRow(), 4) + && tablePublicVorlagen.getValueAt(tablePublicVorlagen.getSelectedRow(), 4) .toString().equals(username)) { // a row is selected, do operations try { - DateFormat formatter = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ThriftManager.getSatClient().updateLecturedata( Lecture.lecture.getName(), Lecture.lecture.getNewName(), Lecture.lecture.getShortDesc(), Lecture.lecture.getDesc(), - formatter.format( - Lecture.lecture.getStartdate()) - .toString(), - formatter.format( - Lecture.lecture.getEnddate()) - .toString(), + formatter.format(Lecture.lecture.getStartdate()).toString(), + formatter.format(Lecture.lecture.getEnddate()).toString(), Lecture.lecture.isActive(), - modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), - 6).toString(), - modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), - 7).toString(), - SessionData.authToken, - person.verantwortlicher.getTel(), - person.verantwortlicher.getFakultaet(), - Lecture.lecture.getid(), + modelPublicVorlagen.getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), 6).toString(), + modelPublicVorlagen.getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), 7).toString(), + SessionData.authToken, person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultaet(), Lecture.lecture.getid(), person.verantwortlicher.getHochschule()); // remove all additional user permissions on // first stage ThriftManager.getSatClient().deleteAllAdditionalLecturePermissions( - Lecture.lecture.getid(), - SessionData.authToken, + Lecture.lecture.getid(), SessionData.authToken, person.verantwortlicher.getUserID()); // then, add user permissions as they have been // set new - for (int i = 0; i < RightsManagement.rightsManagement - .getPermittedUserList().size(); i++) { + for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList() + .size(); i++) { System.out .println("Writing additional rights for user " + RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).getUserID() + .getPermittedUserList().get(i).getUserID() + ", User " + i + "/" + RightsManagement.rightsManagement - .getPermittedUserList() - .size()); + .getPermittedUserList().size()); ThriftManager.getSatClient().writeAdditionalLectureRights( Lecture.lecture.getName(), - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).getUserID(), // userID - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isImageRead(),// read - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isImageWrite(),// write - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isImageAdmin(),// admin - SessionData.authToken - ); + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .getUserID(), // userID + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isImageRead(),// read + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isImageWrite(),// write + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isImageAdmin(),// admin + SessionData.authToken); } JOptionPane .showMessageDialog( - c, + null, "Ihre Veranstaltung wurde erfolgreich geändert. Sie kehren nun zum Hauptmenü zurück.", - "Veranstaltung angelegt", - JOptionPane.INFORMATION_MESSAGE); + "Veranstaltung angelegt", JOptionPane.INFORMATION_MESSAGE); // zurueck zum Menue GuiManager.show(new MainMenue_GUI()); } catch (TException e1) { - + e1.printStackTrace(); - JOptionPane - .showMessageDialog( - c, - "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", - "Error", - JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog(c, e1.getCause() - + "\n" + e1.getStackTrace(), - "Debug-Message", + JOptionPane.showMessageDialog(null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } dispose(); } else if (tableAllImages.getSelectedRow() != -1 - && tableAllImages - .getValueAt( - tableAllImages.getSelectedRow(), - 4).toString().equals(username)) { + && tableAllImages.getValueAt(tableAllImages.getSelectedRow(), 4).toString() + .equals(username)) { // a row is selected, do operations try { - DateFormat formatter = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); + DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ThriftManager.getSatClient().updateLecturedata( Lecture.lecture.getName(), Lecture.lecture.getNewName(), Lecture.lecture.getShortDesc(), Lecture.lecture.getDesc(), - formatter.format( - Lecture.lecture.getStartdate()) - .toString(), - formatter.format( - Lecture.lecture.getEnddate()) - .toString(), + formatter.format(Lecture.lecture.getStartdate()).toString(), + formatter.format(Lecture.lecture.getEnddate()).toString(), Lecture.lecture.isActive(), modelAll.getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), - 6).toString(), + tableAllImages.convertRowIndexToModel(tableAllImages + .getSelectedRow()), 6).toString(), modelAll.getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), - 7).toString(), - SessionData.authToken, - person.verantwortlicher.getTel(), - person.verantwortlicher.getFakultaet(), - Lecture.lecture.getid(), + tableAllImages.convertRowIndexToModel(tableAllImages + .getSelectedRow()), 7).toString(), + SessionData.authToken, person.verantwortlicher.getTel(), + person.verantwortlicher.getFakultaet(), Lecture.lecture.getid(), person.verantwortlicher.getHochschule()); // remove all additional user permissions on // first stage ThriftManager.getSatClient().deleteAllAdditionalLecturePermissions( - Lecture.lecture.getid(), - SessionData.authToken, + Lecture.lecture.getid(), SessionData.authToken, person.verantwortlicher.getUserID()); // then, add user permissions as they have been // set new - for (int i = 0; i < RightsManagement.rightsManagement - .getPermittedUserList().size(); i++) { + for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList() + .size(); i++) { System.out .println("Writing additional rights for user " + RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).getUserID() + .getPermittedUserList().get(i).getUserID() + ", User " + i + "/" + RightsManagement.rightsManagement - .getPermittedUserList() - .size()); + .getPermittedUserList().size()); ThriftManager.getSatClient().writeAdditionalLectureRights( Lecture.lecture.getName(), - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).getUserID(), // userID - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isImageRead(),// read - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isImageWrite(),// write - RightsManagement.rightsManagement - .getPermittedUserList() - .get(i).isImageAdmin(),// admin - SessionData.authToken - ); + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .getUserID(), // userID + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isImageRead(),// read + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isImageWrite(),// write + RightsManagement.rightsManagement.getPermittedUserList().get(i) + .isImageAdmin(),// admin + SessionData.authToken); } JOptionPane .showMessageDialog( - c, + null, "Ihre Veranstaltung wurde erfolgreich geändert. Sie kehren nun zum Hauptmenü zurück.", - "Veranstaltung angelegt", - JOptionPane.INFORMATION_MESSAGE); + "Veranstaltung angelegt", JOptionPane.INFORMATION_MESSAGE); // zurueck zum Menue GuiManager.show(new MainMenue_GUI()); } catch (TException e1) { - + e1.printStackTrace(); - JOptionPane - .showMessageDialog( - c, - "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", - "Error", - JOptionPane.ERROR_MESSAGE); - JOptionPane.showMessageDialog( - null, - e1.getCause() + "\n" - + e1.getStackTrace(), - "Debug-Message", + JOptionPane.showMessageDialog(null, + "Beim Anlegen Ihrer Veranstaltung ist ein Fehler aufgetreten.", + "Error", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, + e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } @@ -946,10 +784,8 @@ public class EditLectureLink_GUI extends JInternalFrame { } else { // nothing selected - JOptionPane.showMessageDialog(c, - "Bitte wählen Sie ein Image aus.", - "Image Auswahl", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, "Bitte wählen Sie ein Image aus.", + "Image Auswahl", JOptionPane.INFORMATION_MESSAGE); } } @@ -1028,8 +864,7 @@ public class EditLectureLink_GUI extends JInternalFrame { labelLizenzSoftware.setBounds(10, 383, 296, 14); panel.add(labelLizenzSoftware); - JLabel lblLizenzpflichtigeSoftware = new JLabel( - "Lizenzpflichtige Software:"); + JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:"); lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14); panel.add(lblLizenzpflichtigeSoftware); @@ -1090,159 +925,106 @@ public class EditLectureLink_GUI extends JInternalFrame { textAreadesc.setBackground(SystemColor.menu); textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); scrollPane.setViewportView(textAreadesc); - } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) - throws TException, ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) { List<Image> images; // Hole eine Liste der Images - if(person.verantwortlicher.getRole()=="Admin"){ - //get complete list - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken); - } else { - //get permitted list - images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher - .getUserID(),SessionData.authToken); + try { + if (person.verantwortlicher.getRole().equals("Admin")) { + //get complete list + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(), + SessionData.authToken); + } else { + //get permitted list + images = ThriftManager.getSatClient().getImageListPermissionLink( + person.verantwortlicher.getUserID(), SessionData.authToken); + } + } catch (Exception e) { + return model; } - Iterator<Image> i = images.iterator(); - SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { images.get(x).getImageName(), - images.get(x).getLicenseRestriction(), - images.get(x).getOsName(), images.get(x).getLectureName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), - images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate(), - images.get(x).getDescription()}; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); - } - + TableFiller.fillModelWithImageList(model, images); + //show number of rows in GUI - tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") "); + tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0) + " (" + model.getRowCount() + ") "); return model; } - - - public DefaultTableModel initTableModelAll(DefaultTableModel model) - throws TException, ParseException { + + public DefaultTableModel initTableModelAll(DefaultTableModel model) { List<Image> images; // Hole eine Liste der Images - if(person.verantwortlicher.getRole()=="Admin"){ - //get complete list - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken); - } else { - //get permitted list - images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher - .getUserID(),SessionData.authToken); + try { + if (person.verantwortlicher.getRole().equals("Admin")) { + //get complete list + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(), + SessionData.authToken); + } else { + //get permitted list + images = ThriftManager.getSatClient().getImageListPermissionLink( + person.verantwortlicher.getUserID(), SessionData.authToken); + } + } catch (Exception e) { + return model; } - Iterator<Image> i = images.iterator(); - SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { images.get(x).getImageName(), - images.get(x).getLicenseRestriction(), - images.get(x).getOsName(), images.get(x).getLectureName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), - images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate(), - images.get(x).getDescription()}; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); - } - + TableFiller.fillModelWithImageList(model, images); + //show number of rows in GUI - tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2)+" ("+model.getRowCount()+") "); + tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2) + " (" + model.getRowCount() + ") "); return model; } - - + // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModelTemplates(DefaultTableModel model) - throws TException, ParseException { - List<Image> images; + public DefaultTableModel initTableModelTemplates(DefaultTableModel model) { + List<Image> images; - // Hole eine Liste der Images - //images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher.getUserID()); + // Hole eine Liste der Images + try { images = ThriftManager.getSatClient().getImageListAllTemplates(SessionData.authToken); + } catch (Exception e) { + return model; + } - Iterator<Image> i = images.iterator(); - SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - Object[] obj = { images.get(x).getImageName(), - images.get(x).getLicenseRestriction(), - images.get(x).getOsName(), images.get(x).getLectureName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), - images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate(), - images.get(x).getDescription()}; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - x++; - i.next(); + TableFiller.fillModelWithImageList(model, images); + //show number of rows in GUI + tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1) + " (" + model.getRowCount() + ") "); - } - //show number of rows in GUI - tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") "); + return model; - return model; + } - } - - - private void resetLectureInfo() { - //reset the detailed information on the right hand side when changing search string - labelID.setText(""); - labelVersion.setText(""); - labelName.setText(""); - textAreadesc.setText(""); - labelOS.setText(""); - labelUpdate.setText(""); - labelVerantwortlicher.setText(""); - labelWeitereVerantwortliche.setText(""); - labelVorlage.setText(""); - labelLizenzSoftware.setText(""); - labelInternet.setText(""); - labelRam.setText(""); - labelCPU.setText(""); - } - - + private void resetLectureInfo() { + //reset the detailed information on the right hand side when changing search string + labelID.setText(""); + labelVersion.setText(""); + labelName.setText(""); + textAreadesc.setText(""); + labelOS.setText(""); + labelUpdate.setText(""); + labelVerantwortlicher.setText(""); + labelWeitereVerantwortliche.setText(""); + labelVorlage.setText(""); + labelLizenzSoftware.setText(""); + labelInternet.setText(""); + labelRam.setText(""); + labelCPU.setText(""); + } public void writeImageData(String id, String version) { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.authToken); + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version, + SessionData.authToken); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); @@ -1269,7 +1051,7 @@ public class EditLectureLink_GUI extends JInternalFrame { labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); } catch (TException | ParseException e1) { - + e1.printStackTrace(); } } diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index e83c4bc3..9e7c40e5 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -1,9 +1,9 @@ package gui.lecture; +import gui.helper.TableFiller; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -18,7 +18,6 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -26,7 +25,6 @@ import javax.swing.JButton; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; @@ -35,8 +33,6 @@ import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.ListSelectionModel; import javax.swing.RowFilter; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.event.InternalFrameAdapter; @@ -61,48 +57,40 @@ import util.GuiManager; public class EditLectureSearch_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JLabel labelAktiv; - JLabel labelstartdate; - JLabel labelenddate; - JLabel labelimageversion; - JTextArea labelName; - JTextArea labelimage; - JTextArea labeldesc; - JLabel labelVerantwortlicher; - JTable tablemyLectures; + private JLabel labelAktiv; + private JLabel labelstartdate; + private JLabel labelenddate; + private JLabel labelimageversion; + private JTextArea labelName; + private JTextArea labelimage; + private JTextArea labeldesc; + private JLabel labelVerantwortlicher; + private JTable tablemyLectures; private JTextField textFieldName; private JLabel lblTotalResults; - boolean activeSearch = false; - Component c = null; - String[] titles = { "Veranstaltungsname", "Beschreibung", - "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung", - "Verantwortlicher", "Image", "Schlagwort", "ID" }; + private String[] titles = { "Veranstaltungsname", "Beschreibung", "Gültigkeitsdatum", "Aktiv", + "Letzte Benutzung", "Verantwortlicher", "Image", "Schlagwort", "ID" }; public static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Suchen Sie hier Ihre Veranstaltungen und wählen Sie sie für weitere Schritte aus.<br />" + "Klicken Sie anschließend auf \"Weiter\", um die Details der Veranstaltung sowie die Berechtigungen zu ändern." + "</div></html>"; - final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0) { + private final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( + private final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( modelMyLectures); - RowFilter<Object, Object> rf = null; - List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>( - 2); + private RowFilter<Object, Object> rf = null; + private List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(2); /** * Create the dialog. */ public EditLectureSearch_GUI() { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); @@ -111,14 +99,7 @@ public class EditLectureSearch_GUI extends JInternalFrame { @Override public void internalFrameActivated(InternalFrameEvent arg0) { textFieldName.requestFocusInWindow(); - try { - initTableModel(modelMyLectures); - // initTableModel(modelAll); - - } catch (ParseException e) { - - e.printStackTrace(); - } + initTableModel(modelMyLectures); // auszublendende Angaben // 1=Beschreibung @@ -145,7 +126,7 @@ public class EditLectureSearch_GUI extends JInternalFrame { tablemyLectures.getColumnModel().getColumn(8).setWidth(0); tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0); tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0); - + tablemyLectures.getTableHeader().setReorderingAllowed(false); tablemyLectures.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyLectures.addMouseListener(new MouseAdapter() { @@ -154,7 +135,8 @@ public class EditLectureSearch_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) { tablemyLectures.clearSelection(); //just one row is selectablemyLectures - tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), tablemyLectures.rowAtPoint(e.getPoint())); + tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), + tablemyLectures.rowAtPoint(e.getPoint())); } }); } @@ -163,16 +145,8 @@ public class EditLectureSearch_GUI extends JInternalFrame { // Verhindert das Vergroessern Des Fensters setResizable(false); - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 842, 722); @@ -206,8 +180,8 @@ public class EditLectureSearch_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, + null, null)); panel_1.setBounds(10, 49, 557, 66); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -224,26 +198,18 @@ public class EditLectureSearch_GUI extends JInternalFrame { // Textfield eingabe auslesen String stext = textFieldName.getText().trim(); // Wenn Textfield nicht leer - if (stext != "") { - activeSearch = true; + if (!stext.isEmpty()) { // Filtere nach der Eingabe filters.clear(); - filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); // case - // insensitive - filters.add(RowFilter.regexFilter("(?i)" + stext, 1)); // case - // insensitive + filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); + filters.add(RowFilter.regexFilter("(?i)" + stext, 1)); rf = RowFilter.orFilter(filters); rowSorterMyLectures.setRowFilter(rf); } else { - activeSearch = false; - activeSearch = false; filters.clear(); - filters.add(RowFilter.regexFilter(".", 0)); // case - // insensitive, - // filter for - // anything + filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); rowSorterMyLectures.setRowFilter(rf); @@ -291,39 +257,35 @@ public class EditLectureSearch_GUI extends JInternalFrame { scrollPaneMyImage.setBounds(10, 120, 552, 369); contentPanel.add(scrollPaneMyImage); tablemyLectures = new JTable(); - tablemyLectures.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { + tablemyLectures.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { - if (tablemyLectures.getSelectedRow() != -1) { - String lectureid = modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 8).toString(); + if (tablemyLectures.getSelectedRow() != -1) { + String lectureid = modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), 8) + .toString(); - try { + try { - // write the values into the information pane on - // the right hand side - writeLectureData(lectureid); + // write the values into the information pane on + // the right hand side + writeLectureData(lectureid); - // fill the itemOwnder model with information - // from selected item - setItemOwnerInformation(lectureid); + // fill the itemOwnder model with information + // from selected item + setItemOwnerInformation(lectureid); - } catch (TException e1) { + } catch (TException e1) { - e1.printStackTrace(); - } catch (ParseException e1) { + e1.printStackTrace(); + } catch (ParseException e1) { - e1.printStackTrace(); - } - } + e1.printStackTrace(); } + } + } - }); + }); tablemyLectures.setModel(modelMyLectures); tablemyLectures.getColumnModel().getColumn(1).sizeWidthToFit(); @@ -334,11 +296,11 @@ public class EditLectureSearch_GUI extends JInternalFrame { tablemyLectures.setRowSorter(rowSorterMyLectures); scrollPaneMyImage.setViewportView(tablemyLectures); - + lblTotalResults = new JLabel("Anzahl:"); lblTotalResults.setBounds(10, 512, 131, 20); contentPanel.add(lblTotalResults); - + { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 826, 33); @@ -366,48 +328,29 @@ public class EditLectureSearch_GUI extends JInternalFrame { // a row is selected, do operations - Lecture.lecture.setid(modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 8).toString()); - Lecture.lecture.setName(modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 0).toString()); - Lecture.lecture.setDesc(modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 1).toString()); - String date = modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 2).toString(); - - Lecture.lecture.setLinkedImagename(modelMyLectures - .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 6).toString()); - - int zweitesLeerzeichen = date.indexOf(" ", - date.indexOf(" ") + 1); - - String startdate = date.substring(0, - zweitesLeerzeichen); + Lecture.lecture.setid(modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), + 8).toString()); + Lecture.lecture.setName(modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), + 0).toString()); + Lecture.lecture.setDesc(modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), + 1).toString()); + String date = modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), + 2).toString(); + + Lecture.lecture.setLinkedImagename(modelMyLectures.getValueAt( + tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), + 6).toString()); + + int zweitesLeerzeichen = date.indexOf(" ", date.indexOf(" ") + 1); + + String startdate = date.substring(0, zweitesLeerzeichen); String enddate = date.substring(zweitesLeerzeichen); - SimpleDateFormat out = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat in = new SimpleDateFormat( - "dd.MM.yyyy HH:mm:ss"); + SimpleDateFormat out = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat in = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); try { enddate = out.format(in.parse(enddate)); startdate = out.format(in.parse(startdate)); @@ -416,24 +359,20 @@ public class EditLectureSearch_GUI extends JInternalFrame { e2.printStackTrace(); } - DateFormat df = new SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss"); + DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { // Format has to be "yyyy-MM-dd HH:mm:ss" Lecture.lecture.setEnddate(df.parse(enddate)); - Lecture.lecture.setStartdate(df - .parse(startdate)); + Lecture.lecture.setStartdate(df.parse(startdate)); } catch (ParseException e1) { e1.printStackTrace(); } if (modelMyLectures .getValueAt( - tablemyLectures - .convertRowIndexToModel(tablemyLectures - .getSelectedRow()), - 3).toString().equals("1")) { + tablemyLectures.convertRowIndexToModel(tablemyLectures + .getSelectedRow()), 3).toString().equals("1")) { Lecture.lecture.setActive(true); } else { Lecture.lecture.setActive(false); @@ -549,56 +488,30 @@ public class EditLectureSearch_GUI extends JInternalFrame { scrollPaneName.setBounds(10, 40, 218, 55); panel.add(scrollPaneName); - } // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) - throws ParseException { + public DefaultTableModel initTableModel(DefaultTableModel model) { List<org.openslx.sat.thrift.iface.Lecture> lectures; try { - + // Hole eine Liste der erlaubten Images für die diese Person - if(person.verantwortlicher.getRole()=="Admin"){ + if (person.verantwortlicher.getRole().equals("Admin")) { //get complete list lectures = ThriftManager.getSatClient().getLectureList(SessionData.authToken); } else { //get permitted list lectures = ThriftManager.getSatClient().getLectureListPermissionWrite(SessionData.authToken); } - - Iterator<org.openslx.sat.thrift.iface.Lecture> i = lectures.iterator(); - SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - int x = 0; - - while (i.hasNext()) { - // erzeuge Objekte fuer die Tabelle - - Object[] obj = { - lectures.get(x).lecturename, - lectures.get(x).desc, - out.format(in.parse(lectures.get(x).starttime)) + " " - + out.format(in.parse(lectures.get(x).endtime)), - lectures.get(x).isActive, - out.format(in.parse(lectures.get(x).lastused)), - lectures.get(x).username, lectures.get(x).imagename, - " ", lectures.get(x).id }; - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - - x++; - i.next(); - } - + TableFiller.fillModelWithLectureList(model, lectures); + //show number if rows in GUI - lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); + lblTotalResults.setText(lblTotalResults.getText() + " " + model.getRowCount()); return model; } catch (TException e1) { - e1.printStackTrace(); } return model; } @@ -623,15 +536,14 @@ public class EditLectureSearch_GUI extends JInternalFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = ThriftManager.getSatClient().getLectureData(id,SessionData.authToken); + Map<String, String> res = ThriftManager.getSatClient().getLectureData(id, SessionData.authToken); labelName.setText(res.get("name")); labelAktiv.setText(res.get("isActive")); labeldesc.setText(res.get("desc")); labelVerantwortlicher.setText(res.get("owner")); labelstartdate.setText(out.format(in.parse(res.get("startTime")))); labelenddate.setText(out.format(in.parse(res.get("endTime")))); - labelimage.setText(res.get("imagepath").substring( - res.get("imagepath").indexOf("/") + 1)); + labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/") + 1)); labelimageversion.setText(res.get("imageversion")); }// end writeLectureData @@ -641,7 +553,7 @@ public class EditLectureSearch_GUI extends JInternalFrame { try { // get values from server and set them in model - map = ThriftManager.getSatClient().getItemOwner(lectureid,SessionData.authToken); + map = ThriftManager.getSatClient().getItemOwner(lectureid, SessionData.authToken); ItemOwner.itemOwner.setUserID(map.get("userID")); ItemOwner.itemOwner.setUsername(map.get("loginName")); diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java index c08c5eb1..d612df55 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java @@ -29,8 +29,6 @@ import javax.swing.JSeparator; import javax.swing.JTable; import javax.swing.JTextPane; import javax.swing.ScrollPaneConstants; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; @@ -84,13 +82,6 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { public PermissionCreateLecture_GUI() { setResizable(false); - - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException - | UnsupportedLookAndFeelException e) { - e.printStackTrace(); - } setTitle("bwLehrpool Suite - Berechtigungen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); @@ -419,9 +410,7 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { // get values from table and save the checkbox values - // for (int i = 0; i < map.size(); i++) { for (int i = 0; i < tablePermittedUsers.getRowCount(); i++) { - // System.out.println("in for, rowcount="+table.getRowCount()); person temp = new person(); seperatorIndex = tablePermittedUsers.getModel().getValueAt(i, 0).toString().indexOf(","); @@ -450,10 +439,6 @@ public class PermissionCreateLecture_GUI extends JInternalFrame { } } - //for (int y = 0; y < list.size(); y++) { - // System.out.println("" + list.get(y).getName()); - //} - RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index f090eb46..037de54c 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -1,23 +1,20 @@ package gui.lecture; +import gui.helper.ColumnSelector; import gui.intro.MainMenue_GUI; import java.awt.Color; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.swing.AbstractButton; import javax.swing.JButton; import javax.swing.JInternalFrame; import javax.swing.JLabel; @@ -28,8 +25,6 @@ import javax.swing.JSeparator; import javax.swing.JTable; import javax.swing.JTextPane; import javax.swing.ScrollPaneConstants; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; @@ -52,16 +47,13 @@ import util.ListAllOtherUsers_GUI; public class PermissionEditLecture_GUI extends JInternalFrame { private final JPanel contentPanel = new JPanel(); - String[] result; private JTable table; - Object[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; + private String[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; private List<Person> map = null; // List of people who have rights - Component c = null; public static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Hier können Sie die Berechtigungen für Ihre Veranstaltung festlegen.<br />" + "Es wird unterschieden, ob innerhalb der Suite (dieses Programm) Änderungen vorgenommen werden dürfen, <br />" - + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." - + "</div></html>"; + + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + "</div></html>"; final DefaultTableModel model = new DefaultTableModel(titles, 0) { @@ -71,7 +63,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { } return false; } - + public Class<?> getColumnClass(int c) { switch (c) { case 0: @@ -84,21 +76,11 @@ public class PermissionEditLecture_GUI extends JInternalFrame { }; public PermissionEditLecture_GUI() { - setResizable(false); - - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } - setTitle("bwLehrpool Suite - Berechtigungen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Berechtigungen - " + person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -107,8 +89,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { getContentPane().add(panel); panel.setLayout(null); { - JLabel lblNewLabel = new JLabel( - "Veranstaltung - Berechtigungen"); + JLabel lblNewLabel = new JLabel("Veranstaltung - Berechtigungen"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); @@ -130,8 +111,8 @@ public class PermissionEditLecture_GUI extends JInternalFrame { JPanel panel = new JPanel(); panel.setLayout(null); - panel.setBorder(new TitledBorder(null, "Beschreibung", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel.setBorder(new TitledBorder(null, "Beschreibung", TitledBorder.LEADING, TitledBorder.TOP, null, + null)); panel.setBackground(SystemColor.menu); panel.setBounds(10, 35, 557, 130); contentPanel.add(panel); @@ -165,15 +146,14 @@ public class PermissionEditLecture_GUI extends JInternalFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Suite-Berechtigungen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_1.setBorder(new TitledBorder(null, "Suite-Berechtigungen", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_1.setBounds(10, 194, 311, 326); contentPanel.add(panel_1); panel_1.setLayout(null); JScrollPane scrollPane = new JScrollPane(); - scrollPane - .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setBounds(10, 28, 291, 251); panel_1.add(scrollPane); @@ -183,14 +163,15 @@ public class PermissionEditLecture_GUI extends JInternalFrame { public void mouseClicked(MouseEvent e) { checkIntegrity(-1); } + @Override public void mouseReleased(MouseEvent e) { table.clearSelection(); //just one row is selectable - table.setRowSelectionInterval(table.rowAtPoint(e.getPoint()), table.rowAtPoint(e.getPoint())); + table.setRowSelectionInterval(table.rowAtPoint(e.getPoint()), table.rowAtPoint(e.getPoint())); } }); - + table.setModel(model); table.setSelectionForeground(Color.WHITE); table.getTableHeader().setReorderingAllowed(false); @@ -204,24 +185,20 @@ public class PermissionEditLecture_GUI extends JInternalFrame { //System.out.println("Loading data from db"); try { - map = ThriftManager.getSatClient().getPermissionForUserAndLecture( - SessionData.authToken,Lecture.lecture.getid(),person.verantwortlicher.getUserID() - ); + map = ThriftManager.getSatClient().getPermissionForUserAndLecture(SessionData.authToken, + Lecture.lecture.getid(), person.verantwortlicher.getUserID()); Iterator<Person> i = map.iterator(); int x = 0; while (i.hasNext()) { // erzeuge Objekte fuer die Tabelle - Object[] obj = { - map.get(x).getNachname() + ", " - + map.get(x).getVorname(), // Name + Object[] obj = { map.get(x).getNachname() + ", " + map.get(x).getVorname(), // Name (boolean) map.get(x).isLecture_read(), // Read (boolean) map.get(x).isLecture_write(), // Write (boolean) map.get(x).isLecture_admin(), // Admin map.get(x).getUserID() // userID }; - // System.out.println(map.get(x).isImage_read() + ""); // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); @@ -231,16 +208,13 @@ public class PermissionEditLecture_GUI extends JInternalFrame { } } catch (TException e1) { - + e1.printStackTrace(); } } else // read from model { - //System.out.println("reading from model"); - //System.out.println("RightsManagement.rightsManagement.getPermittedUserList().size() = "+ RightsManagement.rightsManagement.getPermittedUserList().size()); - List<person> listt = RightsManagement.rightsManagement - .getPermittedUserList(); + List<person> listt = RightsManagement.rightsManagement.getPermittedUserList(); Iterator<person> i = listt.iterator(); while (i.hasNext()) { @@ -253,37 +227,25 @@ public class PermissionEditLecture_GUI extends JInternalFrame { temp.isLecture_admin(), // Admin temp.getUserID() // userID }; - //System.out.println("Processing: " + temp.getName() + ", " - // + temp.getVorname() + ", " + temp.isLecture_read() - // + ", " + temp.isLecture_write() + ", " - // + temp.isLecture_admin() + ", " + temp.getUserID()); // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); } }// end set list of permitted users - // Object[] rowdata={"Max Mustermann", new Boolean(false),new - // Boolean(false),new Boolean(false),new Boolean(false)}; - // model.addRow(rowdata); - - TableColumn tc1 = table.getColumnModel().getColumn(1); tc1.setCellEditor(table.getDefaultEditor(Boolean.class)); tc1.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - tc1.setHeaderRenderer(new CheckBoxHeader(new MyItemListener1(), - (String) titles[1])); + tc1.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1), titles[1])); TableColumn tc2 = table.getColumnModel().getColumn(2); tc2.setCellEditor(table.getDefaultEditor(Boolean.class)); tc2.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - tc2.setHeaderRenderer(new CheckBoxHeader(new MyItemListener2(), - (String) titles[2])); + tc2.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2), titles[2])); TableColumn tc3 = table.getColumnModel().getColumn(3); tc3.setCellEditor(table.getDefaultEditor(Boolean.class)); tc3.setCellRenderer(table.getDefaultRenderer(Boolean.class)); - tc3.setHeaderRenderer(new CheckBoxHeader(new MyItemListener3(), - (String) titles[3])); + tc3.setHeaderRenderer(new CheckBoxHeader(new ColumnSelector(table, 1, 2, 3), titles[3])); scrollPane.setViewportView(table); @@ -291,7 +253,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { btnAddUser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // show list of all other relevant users - GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 4)); + GuiManager.openPopup(new ListAllOtherUsers_GUI(table, 4)); // give access to the table model and inform that // the userID is position 5 in the model } @@ -310,13 +272,8 @@ public class PermissionEditLecture_GUI extends JInternalFrame { // This pointer counts the already // deleted rows and correct the // offset of i - //LOGGER.info("deletabelRows.length=" + deletableRows.length); for (int i = 0; i < deletableRows.length; i++) { - - //LOGGER.info("Deleting rowCount[" + i - // + "], tableRow number " - // + deletableRows[i - pointerCorrection]); model.removeRow(deletableRows[i - pointerCorrection]); pointerCorrection++; } @@ -355,15 +312,14 @@ public class PermissionEditLecture_GUI extends JInternalFrame { JPanel panel_2 = new JPanel(); panel_2.setLayout(null); - panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); + panel_2.setBorder(new TitledBorder(null, "Sichtbarkeit im VMChooser", TitledBorder.LEADING, + TitledBorder.TOP, null, null)); panel_2.setBackground(SystemColor.menu); panel_2.setBounds(331, 194, 236, 326); contentPanel.add(panel_2); final JScrollPane scrollPane_1 = new JScrollPane(); - scrollPane_1 - .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + scrollPane_1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane_1.setEnabled(false); scrollPane_1.setBounds(16, 88, 210, 191); panel_2.add(scrollPane_1); @@ -403,7 +359,6 @@ public class PermissionEditLecture_GUI extends JInternalFrame { }); cancelButton.setActionCommand("OK"); buttonPane.add(cancelButton); - // getRootPane().setDefaultButton(cancelButton); } { JButton continueButton = new JButton("Weiter"); @@ -413,9 +368,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { // before save, check integrity to avoid dblClick errors // of rights for (int i = 0; i < table.getRowCount(); i++) { - checkIntegrity(i); // check integrity of each line - // again - //System.out.println("in auto-correct"); + checkIntegrity(i); // check integrity of each line again } saveTableToList(); @@ -452,7 +405,6 @@ public class PermissionEditLecture_GUI extends JInternalFrame { separator_1.setBounds(0, 627, 597, 2); getContentPane().add(separator_1); - }// end constructor private void checkIntegrity(int row) { @@ -472,7 +424,7 @@ public class PermissionEditLecture_GUI extends JInternalFrame { isWrite = (boolean) table.getValueAt(selectedRow, 2); isAdmin = (boolean) table.getValueAt(selectedRow, 3); - boolean[] checkedVals = CheckIntegrity.isIntegreForLecture(isRead, isWrite,isAdmin); + boolean[] checkedVals = CheckIntegrity.isIntegreForLecture(isRead, isWrite, isAdmin); table.setValueAt(checkedVals[0], selectedRow, 1); table.setValueAt(checkedVals[1], selectedRow, 2); @@ -488,33 +440,23 @@ public class PermissionEditLecture_GUI extends JInternalFrame { // get values from table and save the checkbox values - // for (int i = 0; i < map.size(); i++) { for (int i = 0; i < table.getRowCount(); i++) { - // System.out.println("in for, rowcount="+table.getRowCount()); person temp = new person(); - seperatorIndex = table.getModel().getValueAt(i, 0).toString() - .indexOf(","); + seperatorIndex = table.getModel().getValueAt(i, 0).toString().indexOf(","); temp.setUserID(table.getModel().getValueAt(i, 4).toString()); // get // userID - temp.setLecture_admin(Boolean.parseBoolean(table.getModel() - .getValueAt(i, 3).toString())); // get Admin - temp.setLecture_write(Boolean.parseBoolean(table.getModel() - .getValueAt(i, 2).toString()));// get Write - temp.setLecture_read(Boolean.parseBoolean(table.getModel() - .getValueAt(i, 1).toString()));// get Read - seperatorIndex = table.getModel().getValueAt(i, 0).toString() - .indexOf(","); - temp.setName(table.getModel().getValueAt(i, 0).toString() - .substring(0, seperatorIndex)); - temp.setVorname(table.getModel().getValueAt(i, 0).toString() - .substring(seperatorIndex + 2)); + temp.setLecture_admin(Boolean.parseBoolean(table.getModel().getValueAt(i, 3).toString())); // get Admin + temp.setLecture_write(Boolean.parseBoolean(table.getModel().getValueAt(i, 2).toString()));// get Write + temp.setLecture_read(Boolean.parseBoolean(table.getModel().getValueAt(i, 1).toString()));// get Read + seperatorIndex = table.getModel().getValueAt(i, 0).toString().indexOf(","); + temp.setName(table.getModel().getValueAt(i, 0).toString().substring(0, seperatorIndex)); + temp.setVorname(table.getModel().getValueAt(i, 0).toString().substring(seperatorIndex + 2)); // check if at least one checkbox is checked. If yes, save this // entry into list, if not ignore this entry - if (temp.isLecture_admin() || temp.isLecture_write() - || temp.isLecture_read()) { + if (temp.isLecture_admin() || temp.isLecture_write() || temp.isLecture_read()) { // save entry list.add(temp); } else { @@ -525,57 +467,4 @@ public class PermissionEditLecture_GUI extends JInternalFrame { RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() - //Read column - class MyItemListener1 implements ItemListener { - public void itemStateChanged(ItemEvent e) { - Object source = e.getSource(); - if (source instanceof AbstractButton == false) - return; - boolean checked = e.getStateChange() == ItemEvent.SELECTED; - for (int x = 0, y = table.getRowCount(); x < y; x++) { - table.setValueAt(new Boolean(checked), x, 1); - } - } - } - - //Write column - class MyItemListener2 implements ItemListener { - public void itemStateChanged(ItemEvent e) { - Object source = e.getSource(); - if (source instanceof AbstractButton == false) - return; - boolean checked = e.getStateChange() == ItemEvent.SELECTED; - for (int x = 0, y = table.getRowCount(); x < y; x++) { - table.setValueAt(new Boolean(checked), x, 1); - table.setValueAt(new Boolean(checked), x, 2); - } - } - } - - //Admin column - class MyItemListener3 implements ItemListener { - public void itemStateChanged(ItemEvent e) { - Object source = e.getSource(); - if (source instanceof AbstractButton == false) - return; - boolean checked = e.getStateChange() == ItemEvent.SELECTED; - for (int x = 0, y = table.getRowCount(); x < y; x++) { - table.setValueAt(new Boolean(checked), x, 1); - table.setValueAt(new Boolean(checked), x, 2); - table.setValueAt(new Boolean(checked), x, 3); - } - } - } - - class MyItemListener4 implements ItemListener { - public void itemStateChanged(ItemEvent e) { - Object source = e.getSource(); - if (source instanceof AbstractButton == false) - return; - boolean checked = e.getStateChange() == ItemEvent.SELECTED; - for (int x = 0, y = table.getRowCount(); x < y; x++) { - table.setValueAt(new Boolean(checked), x, 4); - } - } - } } diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index 07f8a6e7..9f55ee83 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -1,9 +1,9 @@ package gui.lecture;
+import gui.helper.TableFiller;
import gui.intro.MainMenue_GUI;
import java.awt.Color;
-import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.SystemColor;
@@ -16,7 +16,6 @@ import java.awt.event.MouseEvent; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -24,7 +23,6 @@ import javax.swing.JButton; import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
-import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
@@ -34,12 +32,8 @@ import javax.swing.JTextField; import javax.swing.JTextPane;
import javax.swing.ListSelectionModel;
import javax.swing.RowFilter;
-import javax.swing.UIManager;
-import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.ListSelectionEvent;
@@ -61,68 +55,54 @@ import util.GuiManager; public class SearchLecture_GUI extends JInternalFrame {
private final JPanel contentPanel = new JPanel();
- String[] result;
- JRadioButton rdbtnInternetJa;
- JRadioButton rdbtnInternetNein;
- JLabel labelAktiv;
- JLabel labelstartdate;
- JLabel labelenddate;
- JLabel labelimageversion;
- JTextArea labelName;
- JTextArea labelimage;
- JTextArea labeldesc;
- JLabel labelVerantwortlicher;
- JTable tableAllLectures;
- JTable tablemyLectures;
+ private JLabel labelAktiv;
+ private JLabel labelstartdate;
+ private JLabel labelenddate;
+ private JLabel labelimageversion;
+ private JTextArea labelName;
+ private JTextArea labelimage;
+ private JTextArea labeldesc;
+ private JLabel labelVerantwortlicher;
+ private JTable tableAllLectures;
+ private JTable tablemyLectures;
private JTextField textFieldName;
- JTabbedPane tabbedPane;
- boolean activeSearch=false;
- Component c = null;
- String[] titles = { "Veranstaltungsname", "Beschreibung",
- "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung",
- "Verantwortlicher", "Image", "Schlagwort", "ID" };
-
- final DefaultTableModel modelAll = new DefaultTableModel(titles, 0){
- public boolean isCellEditable(int rowIndex, int mColIndex) {
- return false;
- }
+ private JTabbedPane tabbedPane;
+ private String[] titles = { "Veranstaltungsname", "Beschreibung", "Gültigkeitsdatum", "Aktiv",
+ "Letzte Benutzung", "Verantwortlicher", "Image", "Schlagwort", "ID" };
+
+ private final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
};
-
- final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0){
- public boolean isCellEditable(int rowIndex, int mColIndex) {
- return false;
- }
+
+ private final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0) {
+ public boolean isCellEditable(int rowIndex, int mColIndex) {
+ return false;
+ }
};
-
- final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
- modelAll);
-
- final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>(
+
+ private final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(modelAll);
+
+ private final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>(
modelMyLectures);
- RowFilter<Object, Object> rf = null;
- List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
+ private RowFilter<Object, Object> rf = null;
+ private List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(2);
/**
* Create the dialog.
*/
public SearchLecture_GUI() {
-
filters.add(RowFilter.regexFilter(".", 0));
rf = RowFilter.orFilter(filters);
addInternalFrameListener(new InternalFrameAdapter() {
@Override
public void internalFrameActivated(InternalFrameEvent arg0) {
- try {
- initTableModel(modelMyLectures);
- initTableModelAll(modelAll);
-
- } catch (ParseException e) {
-
- e.printStackTrace();
- }
+ initTableModel(modelMyLectures);
+ initTableModelAll(modelAll);
tablemyLectures.getColumnModel().getColumn(1).setWidth(0);
tablemyLectures.getColumnModel().getColumn(1).setMinWidth(0);
tablemyLectures.getColumnModel().getColumn(1).setMaxWidth(0);
@@ -141,7 +121,7 @@ public class SearchLecture_GUI extends JInternalFrame { tablemyLectures.getColumnModel().getColumn(8).setWidth(0);
tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0);
tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0);
-
+
tablemyLectures.getTableHeader().setReorderingAllowed(false);
tablemyLectures.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tablemyLectures.addMouseListener(new MouseAdapter() {
@@ -150,10 +130,11 @@ public class SearchLecture_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) {
tablemyLectures.clearSelection(); //just one row is selectablemyLectures
- tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()), tablemyLectures.rowAtPoint(e.getPoint()));
+ tablemyLectures.setRowSelectionInterval(tablemyLectures.rowAtPoint(e.getPoint()),
+ tablemyLectures.rowAtPoint(e.getPoint()));
}
});
-
+
tableAllLectures.getColumnModel().getColumn(1).setWidth(0);
tableAllLectures.getColumnModel().getColumn(1).setMinWidth(0);
tableAllLectures.getColumnModel().getColumn(1).setMaxWidth(0);
@@ -172,7 +153,7 @@ public class SearchLecture_GUI extends JInternalFrame { tableAllLectures.getColumnModel().getColumn(8).setWidth(0);
tableAllLectures.getColumnModel().getColumn(8).setMinWidth(0);
tableAllLectures.getColumnModel().getColumn(8).setMaxWidth(0);
-
+
tableAllLectures.getTableHeader().setReorderingAllowed(false);
tableAllLectures.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tableAllLectures.addMouseListener(new MouseAdapter() {
@@ -181,7 +162,8 @@ public class SearchLecture_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) {
tableAllLectures.clearSelection(); //just one row is selectableAllLectures
- tableAllLectures.setRowSelectionInterval(tableAllLectures.rowAtPoint(e.getPoint()), tableAllLectures.rowAtPoint(e.getPoint()));
+ tableAllLectures.setRowSelectionInterval(tableAllLectures.rowAtPoint(e.getPoint()),
+ tableAllLectures.rowAtPoint(e.getPoint()));
}
});
}
@@ -190,20 +172,11 @@ public class SearchLecture_GUI extends JInternalFrame { // Verhindert das Vergroessern Des Fensters
setResizable(false);
- try {
- // Setzt das Look & Feel auf System
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (ClassNotFoundException | InstantiationException
- | IllegalAccessException | UnsupportedLookAndFeelException e) {
-
- e.printStackTrace();
- }
// Setzt den Fenstertitel
- setTitle("bwLehrpool Suite - Veranstaltung suchen - "+person.verantwortlicher.getUserID());
+ setTitle("bwLehrpool Suite - Veranstaltung suchen - " + person.verantwortlicher.getUserID());
// Zentriert das Fenster in die Bildmitte 2;
setBounds(0, 0, 842, 722);
-
getContentPane().setLayout(null);
{
JPanel panel = new JPanel();
@@ -234,8 +207,8 @@ public class SearchLecture_GUI extends JInternalFrame { JPanel panel_1 = new JPanel();
panel_1.setBackground(SystemColor.menu);
- panel_1.setBorder(new TitledBorder(null, "Filterfunktionen",
- TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP,
+ null, null));
panel_1.setBounds(10, 49, 557, 63);
contentPanel.add(panel_1);
panel_1.setLayout(null);
@@ -253,18 +226,15 @@ public class SearchLecture_GUI extends JInternalFrame { String stext = textFieldName.getText().trim();
// Wenn Textfield nicht leer
if (stext != "") {
- activeSearch=true;
// Filtere nach der Eingabe
- filters.clear();
- filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
- filters.add(RowFilter.regexFilter("(?i)"+stext, 1)); //case insensitive
+ filters.clear();
+ filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive
+ filters.add(RowFilter.regexFilter("(?i)" + stext, 1)); //case insensitive
rf = RowFilter.orFilter(filters);
rowSorterMyLectures.setRowFilter(rf);
rowSorterAll.setRowFilter(rf);
- }else{
- activeSearch=false;
- activeSearch = false;
+ } else {
filters.clear();
filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything
rf = RowFilter.orFilter(filters);
@@ -273,7 +243,7 @@ public class SearchLecture_GUI extends JInternalFrame { }
tablemyLectures.clearSelection();
tableAllLectures.clearSelection();
-
+
resetLectureInfo();
}
});
@@ -312,48 +282,31 @@ public class SearchLecture_GUI extends JInternalFrame { contentPanel.add(lblNewLabel_1);
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
- tabbedPane.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent arg0) {
- if (tabbedPane.getSelectedIndex() == 0) {
- //rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(username, 5));
- } else if (tabbedPane.getSelectedIndex() == 1) {
-
- }
-
- }
- });
tabbedPane.setBounds(10, 123, 557, 397);
contentPanel.add(tabbedPane);
-
JScrollPane scrollPaneAllImages = new JScrollPane();
tableAllLectures = new JTable();
- tableAllLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener()
- {
- public void valueChanged(ListSelectionEvent e)
- {
- if(tableAllLectures.getSelectedRow() != -1)
- {
- String imageid = modelAll
- .getValueAt(
- tableAllLectures
- .convertRowIndexToModel(tableAllLectures
- .getSelectedRow()), 8)
- .toString();
-
- try {
- writeLectureData(imageid);
- } catch (TException e1) {
-
- e1.printStackTrace();
- } catch (ParseException e1) {
-
- e1.printStackTrace();
+ tableAllLectures.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ if (tableAllLectures.getSelectedRow() != -1) {
+ String imageid = modelAll.getValueAt(
+ tableAllLectures.convertRowIndexToModel(tableAllLectures.getSelectedRow()), 8)
+ .toString();
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+
+ e1.printStackTrace();
+ }
}
- }
- }
- });
+ }
+ });
tableAllLectures.setModel(modelAll);
tableAllLectures.getColumnModel().getColumn(1).sizeWidthToFit();
tableAllLectures.getColumnModel().getColumn(2).sizeWidthToFit();
@@ -363,33 +316,26 @@ public class SearchLecture_GUI extends JInternalFrame { JScrollPane scrollPaneMyImage = new JScrollPane();
tablemyLectures = new JTable();
- tablemyLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener()
- {
- public void valueChanged(ListSelectionEvent e)
- {
- if(tablemyLectures.getSelectedRow() != -1)
- {
- String imageid = modelMyLectures
- .getValueAt(
- tablemyLectures
- .convertRowIndexToModel(tablemyLectures
- .getSelectedRow()), 8)
- .toString();
-
- try {
- writeLectureData(imageid);
- } catch (TException e1) {
-
- e1.printStackTrace();
- } catch (ParseException e1) {
-
- e1.printStackTrace();
+ tablemyLectures.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
+ public void valueChanged(ListSelectionEvent e) {
+ if (tablemyLectures.getSelectedRow() != -1) {
+ String imageid = modelMyLectures.getValueAt(
+ tablemyLectures.convertRowIndexToModel(tablemyLectures.getSelectedRow()), 8)
+ .toString();
+
+ try {
+ writeLectureData(imageid);
+ } catch (TException e1) {
+
+ e1.printStackTrace();
+ } catch (ParseException e1) {
+
+ e1.printStackTrace();
+ }
}
- }
- }
-
-
- });
+ }
+
+ });
tablemyLectures.setModel(modelMyLectures);
tablemyLectures.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -400,8 +346,7 @@ public class SearchLecture_GUI extends JInternalFrame { tablemyLectures.setRowSorter(rowSorterMyLectures);
scrollPaneMyImage.setViewportView(tablemyLectures);
- tabbedPane.addTab("Meine Veranstaltungen", null, scrollPaneMyImage,
- null);
+ tabbedPane.addTab("Meine Veranstaltungen", null, scrollPaneMyImage, null);
tableAllLectures.setRowSorter(rowSorterAll);
scrollPaneAllImages.setViewportView(tableAllLectures);
@@ -422,7 +367,6 @@ public class SearchLecture_GUI extends JInternalFrame { });
btnBack.setActionCommand("OK");
buttonPane.add(btnBack);
- //getRootPane().setDefaultButton(btnBack);
}
}
@@ -433,68 +377,68 @@ public class SearchLecture_GUI extends JInternalFrame { JSeparator separator_1 = new JSeparator();
separator_1.setBounds(0, 628, 836, 1);
getContentPane().add(separator_1);
-
+
JPanel panel = new JPanel();
panel.setLayout(null);
- panel.setBorder(new TitledBorder(null, "Detailinformationen",
- TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBorder(new TitledBorder(null, "Detailinformationen",
+
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel.setBackground(SystemColor.menu);
panel.setBounds(591, 85, 235, 518);
getContentPane().add(panel);
-
+
JLabel lblNewLabel_3 = new JLabel("Name:");
lblNewLabel_3.setBounds(10, 27, 104, 14);
panel.add(lblNewLabel_3);
-
+
JLabel lblAktiv = new JLabel("Aktiv:");
lblAktiv.setBounds(10, 98, 104, 14);
panel.add(lblAktiv);
-
+
labelAktiv = new JLabel("");
labelAktiv.setBounds(10, 114, 218, 14);
panel.add(labelAktiv);
-
+
labelstartdate = new JLabel("");
labelstartdate.setBounds(10, 147, 218, 14);
panel.add(labelstartdate);
-
+
JLabel lblStartdatum = new JLabel("Startdatum:");
lblStartdatum.setBounds(10, 129, 104, 14);
panel.add(lblStartdatum);
-
+
labelenddate = new JLabel("");
labelenddate.setBounds(10, 175, 218, 14);
panel.add(labelenddate);
-
+
JLabel lblEnddatum = new JLabel("Enddatum:");
lblEnddatum.setBounds(10, 161, 104, 14);
panel.add(lblEnddatum);
-
+
JLabel lblBeschreibung = new JLabel("Beschreibung:");
lblBeschreibung.setBounds(10, 189, 104, 14);
panel.add(lblBeschreibung);
-
+
JLabel lblImage = new JLabel("Image:");
lblImage.setBounds(10, 293, 104, 14);
panel.add(lblImage);
-
+
labelVerantwortlicher = new JLabel("");
labelVerantwortlicher.setBounds(10, 426, 218, 14);
panel.add(labelVerantwortlicher);
-
+
JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
lblVerantwortlicher.setBounds(10, 411, 104, 14);
panel.add(lblVerantwortlicher);
-
+
JLabel lblImageversion = new JLabel("Imageversion:");
lblImageversion.setBounds(10, 381, 104, 14);
panel.add(lblImageversion);
-
+
labelimageversion = new JLabel("");
labelimageversion.setBounds(10, 399, 218, 14);
panel.add(labelimageversion);
-
-
+
labeldesc = new JTextArea();
labeldesc.setFont(new Font("Tahoma", Font.PLAIN, 11));
labeldesc.setEditable(false);
@@ -505,7 +449,7 @@ public class SearchLecture_GUI extends JInternalFrame { scrollPane.setBounds(10, 209, 218, 81);
panel.add(scrollPane);
//panel.add(labeldesc);
-
+
labelimage = new JTextArea();
labelimage.setLineWrap(true);
labelimage.setFont(new Font("Tahoma", Font.PLAIN, 11));
@@ -515,7 +459,7 @@ public class SearchLecture_GUI extends JInternalFrame { JScrollPane scrollPaneImage = new JScrollPane(labelimage);
scrollPaneImage.setBounds(10, 309, 215, 69);
panel.add(scrollPaneImage);
-
+
labelName = new JTextArea();
labelName.setEditable(false);
labelName.setFont(new Font("Tahoma", Font.PLAIN, 11));
@@ -525,94 +469,53 @@ public class SearchLecture_GUI extends JInternalFrame { scrollPaneName.setBounds(10, 40, 218, 55);
panel.add(scrollPaneName);
-
}
// Initiale Beffuelung eines Table models
- public DefaultTableModel initTableModel(DefaultTableModel model) throws ParseException {
+ public DefaultTableModel initTableModel(DefaultTableModel model) {
List<Lecture> lectures;
try {
-
+
// Hole eine Liste der erlaubten Images für die diese Person
- if(person.verantwortlicher.getRole()=="Admin"){
+ if (person.verantwortlicher.getRole() == "Admin") {
//get complete list
lectures = ThriftManager.getSatClient().getLectureList(SessionData.authToken);
} else {
//get permitted list
lectures = ThriftManager.getSatClient().getLectureListPermissionRead(SessionData.authToken);
}
-
- Iterator<Lecture> i = lectures.iterator();
- SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- int x = 0;
-
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- Object[] obj = {
- lectures.get(x).lecturename,
- lectures.get(x).desc,
- out.format(in.parse(lectures.get(x).starttime)) + " "
- + out.format(in.parse(lectures.get(x).endtime)),
- lectures.get(x).isActive, out.format(in.parse(lectures.get(x).lastused)),
- lectures.get(x).username,
- lectures.get(x).imagename," " ,lectures.get(x).id };
- // Fuege diese Objekte der Tabelle hinzu
- model.addRow(obj);
- x++;
- i.next();
- }
+ TableFiller.fillModelWithLectureList(model, lectures);
//show number of rows in GUI
- tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") ");
+ tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0) + " (" + model.getRowCount() + ") ");
return model;
} catch (TException e1) {
-
+
e1.printStackTrace();
}
return model;
}
-
+
// Initiale Beffuelung eines Table models
- public DefaultTableModel initTableModelAll(DefaultTableModel model) throws ParseException {
+ public DefaultTableModel initTableModelAll(DefaultTableModel model) {
List<Lecture> lectures;
try {
// Hole eine Liste der erlaubten Images für die diese Person
- //lectures = ThriftManager.getSatClient().getLectureList();
lectures = ThriftManager.getSatClient().getLectureList(SessionData.authToken);
- Iterator<Lecture> i = lectures.iterator();
- SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- int x = 0;
-
- while (i.hasNext()) {
- // erzeuge Objekte fuer die Tabelle
- Object[] obj = {
- lectures.get(x).lecturename,
- lectures.get(x).desc,
- out.format(in.parse(lectures.get(x).starttime)) + " "
- + out.format(in.parse(lectures.get(x).endtime)),
- lectures.get(x).isActive, out.format(in.parse(lectures.get(x).lastused)),
- lectures.get(x).username,
- lectures.get(x).imagename," " ,lectures.get(x).id };
- // Fuege diese Objekte der Tabelle hinzu
- model.addRow(obj);
- x++;
- i.next();
- }
+ TableFiller.fillModelWithLectureList(model, lectures);
//show number of rows in GUI
- tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") ");
+ tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1) + " (" + model.getRowCount() + ") ");
return model;
} catch (TException e1) {
-
+
e1.printStackTrace();
}
return model;
}
-
+
private void resetLectureInfo() {
//reset the detailed information on the right hand side when changing search string
@@ -627,22 +530,20 @@ public class SearchLecture_GUI extends JInternalFrame { labelVerantwortlicher.setText("");
}
-
-
- public void writeLectureData(String id) throws TException, ParseException{
-
- SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- Map<String,String> res=ThriftManager.getSatClient().getLectureData(id,SessionData.authToken);
- labelName.setText(res.get("name"));
- labelAktiv.setText(res.get("isActive"));
- labeldesc.setText(res.get("desc"));
- labelVerantwortlicher.setText(res.get("owner"));
- labelstartdate.setText(out.format(in.parse(res.get("startTime"))));
- labelenddate.setText(out.format(in.parse(res.get("endTime"))));
- labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/")+1));
- labelimageversion.setText(res.get("imageversion"));
-
+
+ public void writeLectureData(String id) throws TException, ParseException {
+
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ Map<String, String> res = ThriftManager.getSatClient().getLectureData(id, SessionData.authToken);
+ labelName.setText(res.get("name"));
+ labelAktiv.setText(res.get("isActive"));
+ labeldesc.setText(res.get("desc"));
+ labelVerantwortlicher.setText(res.get("owner"));
+ labelstartdate.setText(out.format(in.parse(res.get("startTime"))));
+ labelenddate.setText(out.format(in.parse(res.get("endTime"))));
+ labelimage.setText(res.get("imagepath").substring(res.get("imagepath").indexOf("/") + 1));
+ labelimageversion.setText(res.get("imageversion"));
}
}
diff --git a/dozentenmodul/src/main/java/models/Image.java b/dozentenmodul/src/main/java/models/Image.java index 4f7f3968..1441a3ba 100644 --- a/dozentenmodul/src/main/java/models/Image.java +++ b/dozentenmodul/src/main/java/models/Image.java @@ -1,233 +1,39 @@ package models; public class Image { - - - - private String ImageId; - - private String version; - - private String imagename; - - private String newName; - - private String imagepath; - - private String OS; - - private int shareMode; - - private boolean licensed; - - private boolean internet; - - private boolean vorlage; - - private int ram; - - private int cpu; - - private long filesize; - - private String desc; - - public static Image image =new Image(); - - - - - - - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public String getOS() { - return OS; - } - - public void setOS(String oS) { - OS = oS; - } - - public int getShareMode() { - - return shareMode; - - } - - public void setShareMode(int shareMode) { - - this.shareMode = shareMode; - - } - - public String getImagepath() { - - return imagepath; - - } - - public void setImagepath(String imagepath) { - - this.imagepath = imagepath; - - } - - public String getImagename() { - - return imagename; - - } - - public void setImagename(String imagename) { - - this.imagename = imagename; - - } - - public boolean isLicensed() { - - return licensed; - - } - - public void setLicensed(boolean licensed) { - - this.licensed = licensed; - - } - - public boolean isInternet() { - - return internet; - - } - - public void setInternet(boolean internet) { - - this.internet = internet; - - } - - public int getRam() { - - return ram; - - } - - public void setRam(int ram) { - - this.ram = ram; - - } - - public int getCpu() { - - return cpu; - - } - - public void setCpu(int cpu) { - - this.cpu = cpu; - - } - - public String getNewName() { - - return newName; - - } - - public void setNewName(String newName) { - - this.newName = newName; - - } - - public String getImageId() { - - return ImageId; - - } - - public void setImageId(String imageId) { - - ImageId = imageId; - - } - - public String getVersion() { - - return version; - - } - - public void setVersion(String version) { - - this.version = version; - - } - - public long getFilesize() { - - return filesize; - - } - - public void setFilesize(long filesize) { - - this.filesize = filesize; - - } - - public boolean isVorlage() { - return vorlage; - } - - public void setVorlage(boolean vorlage) { - this.vorlage = vorlage; - } - - public void reset() - { - ImageId = null; - - version = null; - - imagename = null; - - newName = null; - - imagepath = null; - - OS = null; - - shareMode = 0; - - licensed = false; - - internet = false; - - vorlage = false; - - ram = 0; - - cpu = 0; - - filesize = 0; - - desc = null; - } - - - + public static String ImageId; + public static String Version; + public static String Imagename; + public static String NewName; + public static String Imagepath; + public static String OS; + public static int ShareMode; + public static boolean Licensed; + public static boolean Internet; + public static boolean Vorlage; + public static int Ram; + public static int Cpu; + public static long Filesize; + public static String Desc; + + private Image() { + // Prevent instantiation + } + + public static void reset() { + ImageId = null; + Version = null; + Imagename = null; + NewName = null; + Imagepath = null; + OS = null; + ShareMode = 0; + Licensed = false; + Internet = false; + Vorlage = false; + Ram = 0; + Cpu = 0; + Filesize = 0; + Desc = null; + } } - diff --git a/dozentenmodul/src/main/java/util/FormatHelper.java b/dozentenmodul/src/main/java/util/FormatHelper.java new file mode 100644 index 00000000..08d8498e --- /dev/null +++ b/dozentenmodul/src/main/java/util/FormatHelper.java @@ -0,0 +1,35 @@ +package util; + +import java.text.ParseException; +import java.text.SimpleDateFormat; + +public class FormatHelper { + + private static final SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private static final SimpleDateFormat out = new SimpleDateFormat("dd.MM.yy HH:mm"); + + /** + * Convert mysql date/time format to human readable (German) format. + * If the given date is not parsable, "<invalid>" will be returned. + * + * @param dateTime yyyy-MM-dd HH:mm:ss + * @return dd.MM.yy HH:mm + */ + public static String mysqlDateToGerman(String dateTime) { + try { + return out.format(in.parse(dateTime)); + } catch (ParseException e) { + return "<invalid>"; + } + } + + public static String byteToGigabyte(long bytes, boolean si) { + int unit = si ? 1000 : 1024; + if (bytes < unit) + return bytes + " B"; + int exp = (int) (Math.log(bytes) / Math.log(unit)); + String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp - 1) + (si ? "" : "i"); + return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre); + } + +} diff --git a/dozentenmodul/src/main/java/util/GuiManager.java b/dozentenmodul/src/main/java/util/GuiManager.java index 8710cef9..4b8b610e 100644 --- a/dozentenmodul/src/main/java/util/GuiManager.java +++ b/dozentenmodul/src/main/java/util/GuiManager.java @@ -23,7 +23,6 @@ import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.plaf.basic.BasicInternalFrameUI; import org.apache.log4j.Logger; @@ -177,9 +176,9 @@ public abstract class GuiManager { private static boolean addHelp() { // let's see if we have a HELP_MESSAGE variable defined in // the class of the currentFrame, if so we need to show it by pressing "Hilfe" - String test = ""; + final String helpMessage; try { - test = (String) (currentFrame.getClass().getDeclaredField("HELP_MESSAGE").get(currentFrame)); + helpMessage = (String) (currentFrame.getClass().getDeclaredField("HELP_MESSAGE").get(currentFrame)); } catch (NoSuchFieldException e) { // only this case if interesting for us, // since we now we don't have a help message to show @@ -187,7 +186,7 @@ public abstract class GuiManager { } catch (IllegalArgumentException|IllegalAccessException|SecurityException e) { LOGGER.error("Failed to check for 'HELP_MESSAGE' variable in '" + currentFrame.getClass() + "' class, see trace: " + e); - // just do nothing + return false; } // print it for debugging purposes // still here? means we have a HELP_MESSAGE to display @@ -195,14 +194,6 @@ public abstract class GuiManager { mnNewMenu_Info.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - String helpMessage = null; - try { - helpMessage = (String) currentFrame.getClass().getField("HELP_MESSAGE").get(currentFrame); - } catch (IllegalArgumentException | IllegalAccessException - | NoSuchFieldException | SecurityException e) { - LOGGER.error("Failed to check for 'HELP_MESSAGE' variable in '" - + currentFrame.getClass() + "' class, see trace: " + e); - } JOptionPane.showMessageDialog(currentFrame, helpMessage != null ? helpMessage : "No help message.", "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); } @@ -265,9 +256,7 @@ public abstract class GuiManager { newFrame.getWidth(), newFrame.getHeight()); } } - /** - * - */ + public static void openPopup(Component popup) { if (!(popup instanceof JFrame)) { LOGGER.error("Popup classes need to be JFrame, given a: " + popup.getClass().getName()); diff --git a/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java b/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java index e03e1106..412fdd5d 100644 --- a/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java +++ b/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java @@ -1,6 +1,5 @@ package util; -import java.awt.Component; import java.awt.FlowLayout; import java.awt.Font; import java.awt.SystemColor; @@ -9,7 +8,6 @@ import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import javax.swing.DefaultListSelectionModel; @@ -21,8 +19,6 @@ import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; import javax.swing.JTextPane; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; @@ -39,19 +35,13 @@ import org.openslx.thrifthelper.ThriftManager; @SuppressWarnings("serial") public class ListAllOtherUsers_GUI extends JFrame { - private final static Logger LOGGER = Logger - .getLogger(ListAllOtherUsers_GUI.class); + private final static Logger LOGGER = Logger.getLogger(ListAllOtherUsers_GUI.class); private final JPanel contentPanel = new JPanel(); - String[] result; - JTable tableUsers; - boolean activeSearch = false; + private JTable tableUsers; + private String[] titles = { "userID", "Nachname", "Vorname", "Mail" }; - String[] titles = { "userID", "Nachname", "Vorname", "Mail" }; - private JButton btnAdd; - private List<Person> map = null; // List of people - Component c = null; private JTable table; private int userIDPos; @@ -62,31 +52,24 @@ public class ListAllOtherUsers_GUI extends JFrame { + "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.<br />" + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." + "</div></html>"; - - + //prevent table cells being clickable - final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0){ + final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - - final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(modelUsers); - /** - * - * Constructor - */ + final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(modelUsers); - public ListAllOtherUsers_GUI(final JTable table, - final int userIDPos) { + public ListAllOtherUsers_GUI(final JTable table, final int userIDPos) { // get table model to work with final DefaultTableModel model = (DefaultTableModel) table.getModel(); - + //set incoming table - this.table=table; - this.userIDPos=userIDPos; + this.table = table; + this.userIDPos = userIDPos; addWindowListener(new WindowAdapter() { @@ -104,20 +87,11 @@ public class ListAllOtherUsers_GUI extends JFrame { // Verhindert das Vergroessern Des Fensters setResizable(false); - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } // Setzt den Fenstertitel setTitle("bwLehrpool Suite - Benutzer hinzufügen"); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 531, 673); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -201,19 +175,15 @@ public class ListAllOtherUsers_GUI extends JFrame { // GUI? Object[] obj = { - tableUsers.getValueAt( - selectedRows[pos], 1) - + ", " - + tableUsers.getValueAt( - selectedRows[pos], 2), // Nachname - // und - // Vorname + tableUsers.getValueAt(selectedRows[pos], 1) + ", " + + tableUsers.getValueAt(selectedRows[pos], 2), // Nachname + // und + // Vorname false, // Read image false, // Write image false, // Link image false, // Admin image - tableUsers.getValueAt( - selectedRows[pos], 0) // userID + tableUsers.getValueAt(selectedRows[pos], 0) // userID }; model.addRow(obj); @@ -221,18 +191,14 @@ public class ListAllOtherUsers_GUI extends JFrame { // lecture // GUI? Object[] obj = { - tableUsers.getValueAt( - selectedRows[pos], 1) - + ", " - + tableUsers.getValueAt( - selectedRows[pos], 2), // Nachname - // und - // Vorname + tableUsers.getValueAt(selectedRows[pos], 1) + ", " + + tableUsers.getValueAt(selectedRows[pos], 2), // Nachname + // und + // Vorname false, // Read image false, // Write image false, // Admin image - tableUsers.getValueAt( - selectedRows[pos], 0) // userID + tableUsers.getValueAt(selectedRows[pos], 0) // userID }; model.addRow(obj); } @@ -255,39 +221,33 @@ public class ListAllOtherUsers_GUI extends JFrame { getContentPane().add(separator_1); } - // get users from db which are not in listed in the permission yet public void initTableContent() { - - //LOGGER.info("Getting list of all other users from server"); + try { - + //set users which are NOT to be listed in table //logged on user user.add(0, person.verantwortlicher.getUserID()); - + //users already in table - for(int y=0; y<table.getRowCount(); y++){ - user.add(""+table.getValueAt(y, userIDPos)); - } - - //get the info - map = ThriftManager.getSatClient().getAllOtherSatelliteUsers(user,SessionData.authToken); - Iterator<Person> i = map.iterator(); + for (int y = 0; y < table.getRowCount(); y++) { + user.add("" + table.getValueAt(y, userIDPos)); + } - int x = 0; - while (i.hasNext()) { + //get the info + List<Person> users = ThriftManager.getSatClient().getAllOtherSatelliteUsers(user, + SessionData.authToken); + for (Person p : users) { // erzeuge Objekte fuer die Tabelle - Object[] obj = { map.get(x).getUserID(), // userID - map.get(x).getNachname(), // Nachname - map.get(x).getVorname(),// Vorname - map.get(x).getMail() // EMail + Object[] obj = { p.getUserID(), // userID + p.getNachname(), // Nachname + p.getVorname(),// Vorname + p.getMail() // EMail }; // Fuege diese Objekte der Tabelle hinzu modelUsers.addRow(obj); - i.next(); - x++; - }// end while + } } catch (TException e2) { LOGGER.info("Failed to get List of users from server"); |
