diff options
Diffstat (limited to 'Dozentenmodul/src/gui/image/DeleteImage_GUI.java')
| -rw-r--r-- | Dozentenmodul/src/gui/image/DeleteImage_GUI.java | 169 |
1 files changed, 125 insertions, 44 deletions
diff --git a/Dozentenmodul/src/gui/image/DeleteImage_GUI.java b/Dozentenmodul/src/gui/image/DeleteImage_GUI.java index 66dfc344..72ee98fa 100644 --- a/Dozentenmodul/src/gui/image/DeleteImage_GUI.java +++ b/Dozentenmodul/src/gui/image/DeleteImage_GUI.java @@ -3,6 +3,7 @@ package gui.image; import gui.intro.MainMenue_GUI; import gui.lecture.ExtendedSearchForImages_GUI; import java.awt.Color; +import java.awt.Desktop; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; @@ -17,6 +18,9 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.io.IOException; +import java.net.URISyntaxException; +import java.net.URL; import java.util.Iterator; import java.util.List; import javax.swing.JButton; @@ -46,6 +50,8 @@ import javax.swing.event.ChangeListener; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; + +import models.Links; import models.person; import org.apache.thrift.TException; @@ -67,10 +73,18 @@ public class DeleteImage_GUI extends JFrame { JTabbedPane tabbedPane; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", "Letztes Update", "Schlagwort", "ID", "Version" }; - ThriftConnection con = new ThriftConnection(); - Client client = con.getThriftConnection(); - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0); - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0); + 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 TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( modelAll); final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>( @@ -101,9 +115,9 @@ public class DeleteImage_GUI extends JFrame { System.exit(0); } }); - // Verhindert das Vergrößern Des Fensters + // Verhindert das Vergroessern Des Fensters setResizable(false); - + try { // Setzt das Look & Feel auf System UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); @@ -193,29 +207,33 @@ public class DeleteImage_GUI extends JFrame { textFieldName.setColumns(10); JLabel lblErweiterteSuche = new JLabel( - "<html><u>Erweiterte Suche</u></html>"); + "<html><u>Erweiterte Suche*Folgt noch...*</u></html>"); lblErweiterteSuche.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - // Öffnet das Fenster Extended GUI + + // oeffnet das Fenster Extended GUI con.closeThriftConnection(); - ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_GUI(); - es.setVisible(true); + + // oeffnet das Fenster Extended GUI + + //ExtendedSearchForImages_GUI es = new ExtendedSearchForImages_GUI(); + //es.setVisible(true); } }); lblErweiterteSuche.setForeground(Color.BLUE); - lblErweiterteSuche.setBounds(431, 106, 89, 14); + lblErweiterteSuche.setBounds(332, 106, 188, 14); panel_1.add(lblErweiterteSuche); comboBox = new JComboBox<String>(); try { - // Holt sich eine Liste aller verfügbaren Betriebssysteme vom Server + // Holt sich eine Liste aller verf\u00FCgbaren Betriebssysteme vom Server List<String> list = client.getAllOS(); - // Leeres Item hinzufügen + // Leeres Item hinzufuegen comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { - // Hinzufügen der verfügbaren Betriebssysteme + // Hinzufuegen der verfuegbaren Betriebssysteme comboBox.addItem(list.get(i)); } } catch (TException e2) { @@ -225,12 +243,12 @@ public class DeleteImage_GUI extends JFrame { e2.getCause()+"\n"+e2.getMessage(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } - // Registriert Auswahländerungen der Box + // Registriert Auswahlaenderungen der Box comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { - // Prüft das die Auswahl nicht leer ist + // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { - // Filtert nach dem ausgewählten Betriebssystem + // Filtert nach dem ausgewaehlten Betriebssystem rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox .getSelectedItem().toString(), 2)); rowSorterMyImages.setRowFilter(RowFilter.regexFilter( @@ -246,8 +264,12 @@ public class DeleteImage_GUI extends JFrame { lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - // Öffnet das Hauütmenü + + // oeffnet das Hauuetmenue con.closeThriftConnection(); + + // oeffnet das Hauuetmenue + DeleteImage_GUI.this.setVisible(false); MainMenue_GUI main = new MainMenue_GUI(); main.setVisible(true); @@ -310,7 +332,10 @@ public class DeleteImage_GUI extends JFrame { 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(); @@ -381,9 +406,9 @@ public class DeleteImage_GUI extends JFrame { if (tablemyImages.getSelectedRowCount() != 0) { - // frage, soll das selektierte Daten gelöscht werden? + // frage, soll das selektierte Daten geloescht werden? eingabe = JOptionPane.showConfirmDialog(null, - "Wollen Sie diese Daten löschen?", "Löschen?", + "Wollen Sie diese Daten l\u00f6schen?", "L\u00f6schen?", JOptionPane.YES_NO_OPTION); if (eingabe == JOptionPane.YES_OPTION) { @@ -401,7 +426,7 @@ public class DeleteImage_GUI extends JFrame { .toString(); // TODO - // Image darf nur gelöscht werden, wenn keine + // Image darf nur geloescht werden, wenn keine // Veranstaltung mehr auf das Image verweist. // Unbdingt abfragen! @@ -411,12 +436,13 @@ public class DeleteImage_GUI extends JFrame { System.out.println(imageid); System.out.println(imageversion); try { + client.deleteImageServer(imageid, imageversion); if (client.deleteImageData(imageid, imageversion)) { // if (client.deleteImageServer(imageid // ,imageversion)) { - con.closeThriftConnection(); + DeleteImage_GUI di = new DeleteImage_GUI(); @@ -428,7 +454,7 @@ public class DeleteImage_GUI extends JFrame { * } else { * * JOptionPane.showConfirmDialog(null, - * "Löschen vom Server hat leider nicht geklappt!!" + * "Loeschen vom Server hat leider nicht geklappt!!" * , imageversion, * JOptionPane.OK_CANCEL_OPTION); } */ @@ -438,7 +464,7 @@ public class DeleteImage_GUI extends JFrame { JOptionPane .showConfirmDialog( null, - "Löschen von der DB hat leider nicht geklappt!!", + "L\u00f6schen von der DB hat leider nicht geklappt!!", "Fehler", JOptionPane.INFORMATION_MESSAGE); } @@ -455,25 +481,11 @@ public class DeleteImage_GUI extends JFrame { e.getCause()+"\n"+e.getMessage(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } - // TODO --> client.deleteImageServer(imageid - // ,imageversion) - // das file ist aus der DB raus, aber ist noch - // auf dem Server als Datei hinterlegt. - // dieses muss auch gelöscht werden, um den - // festplattenlatz wieder frei zu geben. - // Hierzu könnte ein löschbefehl an die kommande - // zeile des server geschickt werden - // um das entsprechende file zu löschen. - // identifizieren über den image-namen!! - // z.B. FileUtils.moveFile(tmpFile, new - // File("141.79.128.102:/srv//openslx/nfs/temp/"+ - // tmpFile.getName())); - // FileUtils.ForceDelete (.. ); } else { JOptionPane.showMessageDialog(null, - "Image kann nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.", + "Image kann nicht gel\u00f6scht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist.", "Verlinkung vorhanden", JOptionPane.INFORMATION_MESSAGE); } } catch (TException e) { @@ -488,7 +500,7 @@ public class DeleteImage_GUI extends JFrame { } else { JOptionPane.showMessageDialog(null, - "Bitte wählen Sie ein eigenes Image aus", + "Bitte w\u00e4hlen Sie ein eigenes Image aus", "Message", JOptionPane.INFORMATION_MESSAGE); } @@ -506,8 +518,13 @@ public class DeleteImage_GUI extends JFrame { JButton okButton = new JButton("Zur\u00FCck"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - // Öffnet das Hauptmenü + + // oeffnet das Hauptmen\u00FC con.closeThriftConnection(); + + // oeffnet das Hauptmenue + + MainMenue_GUI main = new MainMenue_GUI(); main.setVisible(true); dispose(); @@ -534,14 +551,77 @@ public class DeleteImage_GUI extends JFrame { menuBar.add(mnNewMenu_1); JMenuItem mntmFaq = new JMenuItem("FAQ"); + mntmFaq.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + String faq; + // Desktop desktop = Desktop.getDesktop(); + + faq = Links.getFAQ(); + + try { + // Runtime.getRuntime().exec( "rundll32 url.dll,FileProtocolHandler " + faq ); + + Desktop.getDesktop().browse(new URL(faq).toURI()); + + /* + if (os.indexOf( "win" ) >= 0) { + + // this doesn't support showing urls in the form of "page.html#nameLink" + rt.exec( "rundll32 url.dll,FileProtocolHandler " + url); + + } else if (os.indexOf( "mac" ) >= 0) { + + rt.exec( "open " + url); + + } else if (os.indexOf( "nix") >=0 || os.indexOf( "nux") >=0) { + + // Do a best guess on unix until we get a platform independent way + // Build a list of browsers to try, in this order. + String[] browsers = {"epiphany", "firefox", "mozilla", "konqueror", + "netscape","opera","links","lynx"}; + + // Build a command string which looks like "browser1 "url" || browser2 "url" ||..." + StringBuffer cmd = new StringBuffer(); + for (int i=0; i<browsers.length; i++) + cmd.append( (i==0 ? "" : " || " ) + browsers[i] +" \"" + url + "\" "); + + rt.exec(new String[] { "sh", "-c", cmd.toString() }); + + */ + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }); mnNewMenu_1.add(mntmFaq); + JMenuItem mntmOtrs = new JMenuItem("OTRS"); + mntmOtrs.addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent arg0) { + String otrs; + + otrs = Links.getOTRS(); + + try { + Runtime.getRuntime().exec( "rundll32 url.dll,FileProtocolHandler " + otrs ); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }); mnNewMenu_1.add(mntmOtrs); } - // Initiale Beffülung eines Table models + // Initiale Beff\u00FClung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model) { List<server.Image> images; try { @@ -553,7 +633,7 @@ public class DeleteImage_GUI extends JFrame { int x = 0; while (i.hasNext()) { - // erzeuge Objekte für die Tabelle + // erzeuge Objekte f\u00FCr die Tabelle Object[] obj = { images.get(x).getImageName(), images.get(x).getLicenseRestriction(), images.get(x).getOsName(), @@ -562,7 +642,8 @@ public class DeleteImage_GUI extends JFrame { images.get(x).getUpdateTime(), "", images.get(x).id, images.get(x).getVersion() }; // System.out.println("id:"+images.get(x).getId()); - // Füge diese Objekte der Tabelle hinzu + // F\u00FCge diese Objekte der Tabelle hinzu + model.addRow(obj); x++; i.next(); |
