diff options
| author | Simon Rettberg | 2015-03-06 18:30:38 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2015-03-06 18:30:38 +0100 |
| commit | 3231fee56ce50facd8483e7af4d7f9ff63c5bc38 (patch) | |
| tree | 9d76b3aeb94ab560e518e3a55b051702761f5118 /dozentenmodul/src/main/java/gui/image | |
| parent | MACHETE KILLT CODEZEILEN (diff) | |
| download | tutor-module-3231fee56ce50facd8483e7af4d7f9ff63c5bc38.tar.gz tutor-module-3231fee56ce50facd8483e7af4d7f9ff63c5bc38.tar.xz tutor-module-3231fee56ce50facd8483e7af4d7f9ff63c5bc38.zip | |
Aua, aua...
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image')
13 files changed, 966 insertions, 1993 deletions
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);
- }
}
|
