From 6e1827810388387804b9700f7ba6f5a377c6241a Mon Sep 17 00:00:00 2001 From: Tobias Spitzer Date: Fri, 25 Jul 2014 12:15:09 +0200 Subject: Suchfenster um Reiter Vorlage ergänzt --- Dozentenmodul/src/gui/image/DeleteImage_GUI.java | 373 ++++++++++++++++++----- 1 file changed, 291 insertions(+), 82 deletions(-) (limited to 'Dozentenmodul/src/gui/image/DeleteImage_GUI.java') diff --git a/Dozentenmodul/src/gui/image/DeleteImage_GUI.java b/Dozentenmodul/src/gui/image/DeleteImage_GUI.java index 67084a75..156bfa44 100644 --- a/Dozentenmodul/src/gui/image/DeleteImage_GUI.java +++ b/Dozentenmodul/src/gui/image/DeleteImage_GUI.java @@ -69,26 +69,35 @@ public class DeleteImage_GUI extends JFrame { JComboBox comboBox; JTable tableAllImages; JTable tablemyImages; + JTable tablePublicVorlagen; private JTextField textFieldName; JTabbedPane tabbedPane; + boolean activeSearch=false; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "Schlagwort", "ID", "Version" }; - ThriftConnection con=new ThriftConnection(); + "Verantwortlicher", "Letztes Update", "ID", "Version","Template" }; + 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 modelMyImages = 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 TableRowSorter rowSorterAll = new TableRowSorter( modelAll); final TableRowSorter rowSorterMyImages = new TableRowSorter( modelMyImages); + final TableRowSorter rowSorterPublicVorlagen = new TableRowSorter( + modelPublicVorlagen); /** * Create the dialog. @@ -101,6 +110,13 @@ public class DeleteImage_GUI extends JFrame { con.closeThriftConnection(); System.exit(0); } + @Override + public void windowOpened(WindowEvent arg0) { + initTableModel(modelAll); + initTableModel(modelMyImages); + initTableModel(modelPublicVorlagen); + textFieldName.requestFocusInWindow(); + } }); // Verhindert das Vergroessern Des Fensters setResizable(false); @@ -154,7 +170,7 @@ public class DeleteImage_GUI extends JFrame { panel_1.setBackground(SystemColor.menu); panel_1.setBorder(new TitledBorder(null, "Filterfunktionen", TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 49, 557, 131); + panel_1.setBounds(10, 49, 557, 92); contentPanel.add(panel_1); panel_1.setLayout(null); @@ -176,13 +192,24 @@ public class DeleteImage_GUI extends JFrame { // Wenn Textfield nicht leer if (stext != "") { + activeSearch=true; // Filtere nach der Eingabe rowSorterAll.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( textFieldName.getText(), 0)); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( + textFieldName.getText(), 0)); - + }else{ + activeSearch=false; + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter( + username, 4)); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( + "true", 8)); + rowSorterAll.setRowFilter(null); } } }); @@ -191,26 +218,6 @@ public class DeleteImage_GUI extends JFrame { panel_1.add(textFieldName); textFieldName.setColumns(10); - JLabel lblErweiterteSuche = new JLabel( - "Erweiterte Suche*Folgt noch...*"); - lblErweiterteSuche.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - - // oeffnet das Fenster Extended GUI - con.closeThriftConnection(); - - // oeffnet das Fenster Extended GUI - - //ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_GUI(); - //es.setVisible(true); - } - }); - lblErweiterteSuche.setForeground(Color.BLUE); - - lblErweiterteSuche.setBounds(332, 106, 188, 14); - panel_1.add(lblErweiterteSuche); - comboBox = new JComboBox(); try { // Holt sich eine Liste aller verf\u00FCgbaren Betriebssysteme vom Server @@ -233,11 +240,22 @@ public class DeleteImage_GUI extends JFrame { public void actionPerformed(ActionEvent arg0) { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { - // Filtert nach dem ausgewaehlten Betriebssystem + 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( + username, 4)); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( + "true", 8)); + rowSorterAll.setRowFilter(null); } } @@ -285,42 +303,31 @@ public class DeleteImage_GUI extends JFrame { tabbedPane.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { System.out.println(tabbedPane.getSelectedIndex()); - if (tabbedPane.getSelectedIndex() == 0) { - + if (tabbedPane.getSelectedIndex() == 0 && activeSearch==false) { + String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); // String username="Spitzer Tobias"; rowSorterMyImages.setRowFilter(RowFilter.regexFilter( username, 4)); - } else if (tabbedPane.getSelectedIndex() == 1) { - - } + }else if(tabbedPane.getSelectedIndex()==1 && activeSearch==false){ + //System.out.println("Yeah"); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8)); + } else if(tabbedPane.getSelectedIndex()==2 && activeSearch==false){ + rowSorterAll.setRowFilter(null); + } } }); - tabbedPane.setBounds(10, 197, 557, 300); + tabbedPane.setBounds(10, 152, 557, 345); contentPanel.add(tabbedPane); - initTableModel(modelMyImages); - - JScrollPane scrollPaneAllImages = new JScrollPane(); - tableAllImages = new JTable(); - tableAllImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - tableAllImages.setModel(modelAll); - tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(3).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); - tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); - initTableModel(modelAll); + JScrollPane scrollPaneMyImage = new JScrollPane(); tablemyImages = new JTable(); tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - tablemyImages.setEnabled(true); - tablemyImages.setModel(modelMyImages); - tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(2).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); @@ -330,10 +337,8 @@ public class DeleteImage_GUI extends JFrame { scrollPaneMyImage.setViewportView(tablemyImages); tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); - tableAllImages.setRowSorter(rowSorterAll); + - scrollPaneAllImages.setViewportView(tableAllImages); - tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); JScrollPane scrollPaneCoopImages = new JScrollPane(); JTable tableCoopImages = new JTable(); @@ -344,11 +349,41 @@ public class DeleteImage_GUI extends JFrame { tableCoopImages.getColumnModel().getColumn(3).sizeWidthToFit(); tableCoopImages.getColumnModel().getColumn(4).sizeWidthToFit(); tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); + + JScrollPane scrollPanePublicVorlagen = new JScrollPane(); + tablePublicVorlagen = new JTable(); + tablePublicVorlagen.setModel(modelPublicVorlagen); + tablePublicVorlagen + .setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + 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("\u00D6ffentliche Vorlagen", null, + scrollPanePublicVorlagen, null); + + JScrollPane scrollPaneAllImages = new JScrollPane(); + tableAllImages = new JTable(); + tableAllImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + tableAllImages.setModel(modelAll); + tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(3).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(4).sizeWidthToFit(); + tableAllImages.getColumnModel().getColumn(5).sizeWidthToFit(); + tableAllImages.setRowSorter(rowSorterAll); + + scrollPaneAllImages.setViewportView(tableAllImages); + tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); scrollPaneCoopImages.setViewportView(tableCoopImages); tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, null); - tabbedPane.setEnabledAt(2, false); + tabbedPane.setEnabledAt(3, false); JScrollPane scrollPanePublicImages = new JScrollPane(); JTable tablePublicImages = new JTable(); @@ -363,23 +398,8 @@ public class DeleteImage_GUI extends JFrame { scrollPanePublicImages.setViewportView(tablePublicImages); tabbedPane.addTab("\u00D6ffentliche Images", null, scrollPanePublicImages, null); - tabbedPane.setEnabledAt(3, false); - - JScrollPane scrollPanePublicVorlagen = new JScrollPane(); - JTable tablePublicVorlagen = new JTable(); - tablePublicVorlagen - .setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - tablePublicVorlagen.setModel(model); - 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(); - - scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen); - tabbedPane.addTab("\u00D6ffentliche Vorlagen", null, - scrollPanePublicVorlagen, null); tabbedPane.setEnabledAt(4, false); + JButton btnDelete = new JButton("L\u00F6schen"); btnDelete.addActionListener(new ActionListener() { @@ -388,7 +408,8 @@ public class DeleteImage_GUI extends JFrame { String imageid=""; String imageversion=""; int eingabe; - + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); if (tablemyImages.getSelectedRowCount() != 0) { // frage, soll das selektierte Daten geloescht werden? @@ -401,13 +422,13 @@ public class DeleteImage_GUI extends JFrame { imageid = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) + .getSelectedRow()), 6) .toString(); imageversion = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 8) + .getSelectedRow()), 7) .toString(); // TODO @@ -482,7 +503,196 @@ public class DeleteImage_GUI extends JFrame { } } - } else { + }else if (tablePublicVorlagen.getSelectedRowCount() != 0 && modelPublicVorlagen.getValueAt(tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), 4).equals(username)) { + + // frage, soll das selektierte Daten geloescht werden? + eingabe = JOptionPane.showConfirmDialog(null, + "Wollen Sie diese Daten l\u00f6schen?", "L\u00f6schen?", + JOptionPane.YES_NO_OPTION); + + if (eingabe == JOptionPane.YES_OPTION) { + + imageid = modelPublicVorlagen.getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), 6) + .toString(); + + imageversion = modelPublicVorlagen.getValueAt( + tablePublicVorlagen + .convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), 7) + .toString(); + + // TODO + // Image darf nur geloescht werden, wenn keine + // Veranstaltung mehr auf das Image verweist. + // Unbdingt abfragen! + + try { + if (!client.connectedToLecture(imageid, + imageversion)) { + System.out.println(imageid); + System.out.println(imageversion); + try { + client.deleteImageServer(imageid, imageversion); + if (client.deleteImageData(imageid, + imageversion)) { + // if (client.deleteImageServer(imageid + // ,imageversion)) { + + + + + DeleteImage_GUI di = new DeleteImage_GUI(); + di.setVisible(true); + dispose(); + + + /* + * } else { + * + * JOptionPane.showConfirmDialog(null, + * "Loeschen vom Server hat leider nicht geklappt!!" + * , imageversion, + * JOptionPane.OK_CANCEL_OPTION); } + */ + + } else { + + JOptionPane + .showConfirmDialog( + null, + "L\u00f6schen von der DB hat leider nicht geklappt!!", + "Fehler", + JOptionPane.INFORMATION_MESSAGE); + } + } catch (HeadlessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + + } else { + + JOptionPane.showMessageDialog(null, + "Image kann nicht gel\u00f6scht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.", + "Verlinkung vorhanden", JOptionPane.INFORMATION_MESSAGE); + } + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + } + + }else if (tableAllImages.getSelectedRowCount() != 0&&modelAll.getValueAt(tableAllImages.convertRowIndexToModel(tableAllImages + .getSelectedRow()), 4).equals(username)) { + + // frage, soll das selektierte Daten geloescht werden? + eingabe = JOptionPane.showConfirmDialog(null, + "Wollen Sie diese Daten l\u00f6schen?", "L\u00f6schen?", + JOptionPane.YES_NO_OPTION); + + if (eingabe == JOptionPane.YES_OPTION) { + + imageid = modelAll.getValueAt( + tableAllImages + .convertRowIndexToModel(tableAllImages + .getSelectedRow()), 6) + .toString(); + + imageversion = modelAll.getValueAt( + tableAllImages + .convertRowIndexToModel(tableAllImages + .getSelectedRow()), 7) + .toString(); + + // TODO + // Image darf nur geloescht werden, wenn keine + // Veranstaltung mehr auf das Image verweist. + // Unbdingt abfragen! + + try { + if (!client.connectedToLecture(imageid, + imageversion)) { + System.out.println(imageid); + System.out.println(imageversion); + try { + client.deleteImageServer(imageid, imageversion); + if (client.deleteImageData(imageid, + imageversion)) { + // if (client.deleteImageServer(imageid + // ,imageversion)) { + + + + + DeleteImage_GUI di = new DeleteImage_GUI(); + di.setVisible(true); + dispose(); + + + /* + * } else { + * + * JOptionPane.showConfirmDialog(null, + * "Loeschen vom Server hat leider nicht geklappt!!" + * , imageversion, + * JOptionPane.OK_CANCEL_OPTION); } + */ + + } else { + + JOptionPane + .showConfirmDialog( + null, + "L\u00f6schen von der DB hat leider nicht geklappt!!", + "Fehler", + JOptionPane.INFORMATION_MESSAGE); + } + } catch (HeadlessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + + } else { + + JOptionPane.showMessageDialog(null, + "Image kann nicht gel\u00f6scht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.", + "Verlinkung vorhanden", JOptionPane.INFORMATION_MESSAGE); + } + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + JOptionPane.showMessageDialog(null, + e.getCause()+"\n"+e.getMessage(), + "Debug-Message", JOptionPane.ERROR_MESSAGE); + } + } + + } + else { JOptionPane.showMessageDialog(null, "Bitte w\u00e4hlen Sie ein eigenes Image aus", @@ -590,7 +800,7 @@ public class DeleteImage_GUI extends JFrame { } - // Initiale Beff\u00FClung eines Table models + // Initiale Beffuelung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model) { List images; try { @@ -602,17 +812,16 @@ public class DeleteImage_GUI extends JFrame { int x = 0; while (i.hasNext()) { - // erzeuge Objekte f\u00FCr die Tabelle + // 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(), - images.get(x).getUpdateTime(), "", images.get(x).id, - images.get(x).getVersion() }; - // System.out.println("id:"+images.get(x).getId()); - // F\u00FCge diese Objekte der Tabelle hinzu - + images.get(x).getUpdateTime(), images.get(x).id, + images.get(x).getVersion(), + images.get(x).getIsTemplate()}; + // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; i.next(); -- cgit v1.2.3-55-g7522