diff options
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java')
| -rw-r--r-- | dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java | 314 |
1 files changed, 178 insertions, 136 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java index 09a6a966..525b7a11 100644 --- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java @@ -71,7 +71,7 @@ import javax.swing.JTextArea; @SuppressWarnings("serial") public class DeleteImage_GUI extends JFrame { - + private final static Logger LOGGER = Logger .getLogger(FTPCreateUploader_GUI.class); @@ -95,76 +95,71 @@ public class DeleteImage_GUI extends JFrame { JComboBox<String> comboBox; 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 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 />" + - "Wird das Image nach dem Löschen nochmal benötigt, muss es erneut hochgeladen werden." + - "</div></html>"; - - + "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", + "Beschreibung" }; // Angezeigt + // werden + // aber + // nur + // Name + // (0), + // OS + // (2), + // Verantwortlicher + // (4), + // Letztes + // Update + // (5) + private 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 />" + + "Wird das Image nach dem Löschen nochmal benötigt, muss es erneut hochgeladen werden." + + "</div></html>"; + ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); - + /* - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } - }; - */ + * final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { + * public boolean isCellEditable(int rowIndex, int mColIndex) { return + * false; } }; + */ final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; /* - final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, - 0) { - public boolean isCellEditable(int rowIndex, int mColIndex) { - return false; - } - };*/ + * 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> rowSorterAll = new + * TableRowSorter<TableModel>( modelAll); + */ final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( modelMyImages); /* - final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( - modelPublicVorlagen); - */ + * final TableRowSorter<TableModel> rowSorterPublicVorlagen = new + * TableRowSorter<TableModel>( modelPublicVorlagen); + */ RowFilter 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. */ public DeleteImage_GUI(Component formerGUI) { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); - - addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -181,9 +176,8 @@ public class DeleteImage_GUI extends JFrame { @Override public void windowOpened(WindowEvent arg0) { - //initTableModel(modelAll); + initTableModel(modelMyImages); - //initTableModel(modelPublicVorlagen); // auszublendende Angaben // 1=Lizenzpflichtig @@ -211,7 +205,7 @@ public class DeleteImage_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); tablemyImages.getTableHeader().setReorderingAllowed(false); - + // bis hier textFieldName.requestFocusInWindow(); } @@ -224,11 +218,12 @@ public class DeleteImage_GUI extends JFrame { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { - + e.printStackTrace(); } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image löschen"); + setTitle("bwLehrpool Suite - Image löschen - " + + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); @@ -281,37 +276,37 @@ public class DeleteImage_GUI extends JFrame { textFieldName = new JTextField(); // Key Listener der Tastatureingabe registriert - - + textFieldName.addKeyListener(new KeyAdapter() { @Override - public void keyReleased(KeyEvent e) - { + public void keyReleased(KeyEvent e) { // Textfield eingabe auslesen String stext = textFieldName.getText().trim(); // Wenn Textfield nicht leer - if (stext != "") - { + if (stext != "") { activeSearch = true; // Filtere nach der Eingabe - filters.clear(); - filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + filters.clear(); + filters.add(RowFilter.regexFilter("(?i)" + stext, 0)); // case + // insensitive + filters.add(RowFilter.regexFilter("(?i)" + stext, 9)); // case + // insensitive rf = RowFilter.orFilter(filters); rowSorterMyImages.setRowFilter(rf); - } - else - { + } else { activeSearch = false; - + filters.clear(); - filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything + filters.add(RowFilter.regexFilter(".", 0)); // case + // insensitive, + // filter for + // anything rf = RowFilter.orFilter(filters); rowSorterMyImages.setRowFilter(rf); } tablemyImages.clearSelection(); - + resetImageInfo(); } }); @@ -324,7 +319,8 @@ public class DeleteImage_GUI extends JFrame { try { // Holt sich eine Liste aller verfügbaren Betriebssysteme vom // Server - List<String> list = client.getAllOS(SessionData.session.getAuthToken()); + List<String> list = client.getAllOS(SessionData.session + .getAuthToken()); // Leeres Item hinzufuegen comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { @@ -332,7 +328,7 @@ public class DeleteImage_GUI extends JFrame { comboBox.addItem(list.get(i)); } } catch (TException e2) { - + e2.printStackTrace(); JOptionPane.showMessageDialog(c, e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message", @@ -344,23 +340,28 @@ public class DeleteImage_GUI extends JFrame { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { activeSearch = true; - - /*rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox - .getSelectedItem().toString(), 2));*/ + + /* + * rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox + * .getSelectedItem().toString(), 2)); + */ rowSorterMyImages.setRowFilter(RowFilter.regexFilter( comboBox.getSelectedItem().toString(), 2)); - /*rowSorterPublicVorlagen.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(); - */ + * String username = person.verantwortlicher.getName() + " " + * + person.verantwortlicher.getVorname(); + */ rowSorterMyImages.setRowFilter(null); - /*rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - "true", 8)); - rowSorterAll.setRowFilter(null);*/ + /* + * rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter + * ( "true", 8)); rowSorterAll.setRowFilter(null); + */ } } @@ -375,7 +376,7 @@ public class DeleteImage_GUI extends JFrame { // oeffnet das Hauuetmenue con.closeThriftConnection(); - + // oeffnet das Hauuetmenue DeleteImage_GUI.this.setVisible(false); @@ -439,31 +440,58 @@ public class DeleteImage_GUI extends JFrame { try { if (!client.connectedToLecture(imageid, - imageversion,SessionData.session.getAuthToken())) { + imageversion, + SessionData.session.getAuthToken())) { try { - - client.deleteImageServer(imageid,imageversion, SessionData.session.getAuthToken()); - - if (client.deleteImageData(imageid,imageversion,SessionData.session.getAuthToken())) { - - LOGGER.info("Image '"+imageid+"' erfolgreich gelöscht."); - - DeleteImage_GUI di = new DeleteImage_GUI(c); - di.setVisible(true); - dispose(); + // try to delete file from file system + if (client.deleteImageServer(imageid, + imageversion, + SessionData.session.getAuthToken()) == true) { + // successful, now delete file from DB + if (client.deleteImageData(imageid, + imageversion, + SessionData.session + .getAuthToken())) { + + LOGGER.info("Image '" + imageid + + "' erfolgreich gelöscht."); + + DeleteImage_GUI di = new DeleteImage_GUI( + c); + di.setVisible(true); + dispose(); + + } else { + //could not delete file from DB + LOGGER.info("Image '" + + imageid + + "' konnte nicht gelöscht werden."); + + JOptionPane + .showConfirmDialog( + c, + "Image konnte nicht gelöscht werden.", + "Fehler", + JOptionPane.INFORMATION_MESSAGE); + } } else { - LOGGER.info("Image '"+imageid+"' konnte nicht gelöscht werden."); + // could not delete file from file + // system + LOGGER.info("Image '" + + imageid + + "' konnte nicht von Server gelöscht werden."); JOptionPane .showConfirmDialog( c, - "Image konnte nicht gelöscht werden.", + "Image konnte nicht vom Server gelöscht werden.", "Fehler", JOptionPane.INFORMATION_MESSAGE); } + } catch (HeadlessException e) { - + e.printStackTrace(); JOptionPane.showMessageDialog( c, @@ -472,7 +500,7 @@ public class DeleteImage_GUI extends JFrame { "Debug-Message", JOptionPane.ERROR_MESSAGE); } catch (TException e) { - + e.printStackTrace(); JOptionPane.showMessageDialog( c, @@ -483,7 +511,9 @@ public class DeleteImage_GUI extends JFrame { } } else { - LOGGER.info("Image '"+imageid+"' konnte nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist."); + LOGGER.info("Image '" + + imageid + + "' konnte nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist."); JOptionPane .showMessageDialog( @@ -493,7 +523,7 @@ public class DeleteImage_GUI extends JFrame { JOptionPane.INFORMATION_MESSAGE); } } catch (TException e) { - + e.printStackTrace(); JOptionPane.showMessageDialog(c, e.getCause() + "\n" + e.getStackTrace(), @@ -515,23 +545,24 @@ public class DeleteImage_GUI extends JFrame { 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); + + 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); @@ -543,6 +574,9 @@ public class DeleteImage_GUI extends JFrame { tablemyImages.setRowSorter(rowSorterMyImages); scrollPaneMyImage.setViewportView(tablemyImages); + + lblTotalResults.setBounds(10, 512, 131, 20); + contentPanel.add(lblTotalResults); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 902, 33); @@ -723,7 +757,7 @@ public class DeleteImage_GUI extends JFrame { open.openWebpage(windows); } catch (URISyntaxException e) { - + e.printStackTrace(); } } @@ -744,7 +778,7 @@ public class DeleteImage_GUI extends JFrame { open.openWebpage(windows); } catch (URISyntaxException e) { - + e.printStackTrace(); } @@ -760,12 +794,14 @@ public class DeleteImage_GUI extends JFrame { } }); mnNewMenu_1.add(menuItem); - + JMenu mnNewMenu_Info = new JMenu("Info"); mnNewMenu_Info.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(c, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); @@ -775,28 +811,30 @@ public class DeleteImage_GUI extends JFrame { // Initiale Beffuelung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model) { - - + List<server.generated.Image> images; try { - + // Hole eine Liste der Images - if(person.verantwortlicher.getRole()=="Admin"){ - //get complete list - images = client.getImageList(person.verantwortlicher.getUserID()); + if (person.verantwortlicher.getRole() == "Admin") { + // get complete list + images = client.getImageList(person.verantwortlicher + .getUserID(),SessionData.session.getAuthToken()); } else { - //get permitted list - images = client.getImageListPermissionAdmin(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + // get permitted list + images = client.getImageListPermissionAdmin( + person.verantwortlicher.getUserID(), + SessionData.session.getAuthToken()); } Iterator<server.generated.Image> i = images.iterator(); - System.out.println("Size of image list="+images.size()); - + 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(), @@ -807,22 +845,24 @@ public class DeleteImage_GUI extends JFrame { out.format(in.parse(images.get(x).updateTime)), images.get(x).id, images.get(x).getVersion(), images.get(x).getIsTemplate(), - images.get(x).getDescription()}; + images.get(x).getDescription() }; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; i.next(); - - } - if(x==0){ + if (x == 0) { System.out.println("Damn... nothing to do here.."); } + // show number if rows in GUI + lblTotalResults.setText(lblTotalResults.getText() + " " + + model.getRowCount()); + return model; } catch (TException | ParseException e1) { - + e1.printStackTrace(); JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", @@ -830,9 +870,10 @@ public class DeleteImage_GUI extends JFrame { } return model; } - + private void resetImageInfo() { - //reset the detailed information on the right hand side when changing search string + // reset the detailed information on the right hand side when changing + // search string labelID.setText(""); labelVersion.setText(""); labelName.setText(""); @@ -846,14 +887,15 @@ public class DeleteImage_GUI extends JFrame { 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 = client.getImageData(id, version,SessionData.session.getAuthToken()); + Map<String, String> res = client.getImageData(id, version, + SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); @@ -880,7 +922,7 @@ public class DeleteImage_GUI extends JFrame { labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); } catch (TException | ParseException e1) { - + e1.printStackTrace(); } } |
