diff options
| author | Tobias Spitzer | 2014-08-15 09:15:34 +0200 |
|---|---|---|
| committer | Tobias Spitzer | 2014-08-15 09:15:34 +0200 |
| commit | 8d4b03c93bd64a3d71f806b83a99fde10bc089a0 (patch) | |
| tree | a53469486e512c8f11e8a1b241464966a2c899a9 /Dozentenmodul/src/gui/image/SearchImage_GUI.java | |
| parent | Merge branch 'master' of git.openslx.org:openslx-ng/tutor-module (diff) | |
| download | tutor-module-8d4b03c93bd64a3d71f806b83a99fde10bc089a0.tar.gz tutor-module-8d4b03c93bd64a3d71f806b83a99fde10bc089a0.tar.xz tutor-module-8d4b03c93bd64a3d71f806b83a99fde10bc089a0.zip | |
Suchmaske für Images neu
Diffstat (limited to 'Dozentenmodul/src/gui/image/SearchImage_GUI.java')
| -rw-r--r-- | Dozentenmodul/src/gui/image/SearchImage_GUI.java | 1536 |
1 files changed, 888 insertions, 648 deletions
diff --git a/Dozentenmodul/src/gui/image/SearchImage_GUI.java b/Dozentenmodul/src/gui/image/SearchImage_GUI.java index 32a28d7a..2bdb7f32 100644 --- a/Dozentenmodul/src/gui/image/SearchImage_GUI.java +++ b/Dozentenmodul/src/gui/image/SearchImage_GUI.java @@ -1,648 +1,888 @@ -package gui.image; - -import gui.intro.About_GUI; -import gui.intro.MainMenue_GUI; - -import java.awt.Color; -import java.awt.FlowLayout; -import java.awt.Font; -import java.awt.SystemColor; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.Iterator; -import java.util.List; - -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFrame; -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.JRadioButton; -import javax.swing.JScrollPane; -import javax.swing.JSeparator; -import javax.swing.JTabbedPane; -import javax.swing.JTable; -import javax.swing.JTextField; -import javax.swing.JTextPane; -import javax.swing.RowFilter; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; -import javax.swing.border.EmptyBorder; -import javax.swing.border.TitledBorder; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.TableModel; -import javax.swing.table.TableRowSorter; - -import models.Image; -import models.Links; -import models.person; - -import org.apache.thrift.TException; - -import server.Server.Client; -import thrift.ThriftConnection; -import util.GuiOrganizer; -import util.OpenLinks; - -@SuppressWarnings("serial") -public class SearchImage_GUI extends JFrame { - - private final JPanel contentPanel = new JPanel(); - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JComboBox<String> 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", "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 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>( - modelPublicVorlagen); - - /** - * Create the dialog. - */ - public SearchImage_GUI() { - addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent arg0) { - // Beendet die Anwendung nach klick auf X - 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); - - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - // Setzt den Fenstertitel - setTitle("bwLehrpool Suite *Prototyp* - Suche VL-Image"); - // Zentriert das Fenster in die Bildmitte - setBounds(0, 0, 603, 722); - GuiOrganizer.centerGUI(this); - - final DefaultTableModel model = new DefaultTableModel(titles, 0); - - getContentPane().setLayout(null); - { - JPanel panel = new JPanel(); - panel.setBackground(SystemColor.menu); - panel.setBounds(10, 11, 577, 57); - getContentPane().add(panel); - panel.setLayout(null); - { - JLabel lblNewLabel = new JLabel("Suche nach VL-Image"); - lblNewLabel.setBounds(10, 11, 509, 22); - panel.add(lblNewLabel); - lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); - } - - JTextPane txtpnBitteWhlenSie = new JTextPane(); - txtpnBitteWhlenSie.setEditable(false); - txtpnBitteWhlenSie.setBackground(SystemColor.menu); - txtpnBitteWhlenSie - .setText("Hier k\u00F6nnen Sie nach Ihrem gew\u00FCnschten VL-Image suchen und dieses f\u00FCr weitere Schritte ausw\u00E4hlen"); - txtpnBitteWhlenSie.setBounds(10, 36, 509, 32); - panel.add(txtpnBitteWhlenSie); - } - contentPanel.setBounds(10, 85, 577, 531); - contentPanel.setBackground(SystemColor.menu); - 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, "Filterfunktionen", - TitledBorder.LEADING, TitledBorder.TOP, null, null)); - panel_1.setBounds(10, 49, 557, 98); - contentPanel.add(panel_1); - panel_1.setLayout(null); - - JLabel lblNewLabel_2 = new JLabel("Anzeigename:"); - lblNewLabel_2.setBounds(10, 30, 250, 20); - panel_1.add(lblNewLabel_2); - - JLabel lblInternetIstInnerhalb = new JLabel("Betriebssystem:"); - lblInternetIstInnerhalb.setBounds(10, 58, 250, 20); - panel_1.add(lblInternetIstInnerhalb); - - textFieldName = new JTextField(); - // Key Listener der Tastatureingabe registriert - textFieldName.addKeyListener(new KeyAdapter() { - @Override - public void keyReleased(KeyEvent e) { - // Textfield eingabe auslesen - String stext = textFieldName.getText(); - - // 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); - } - } - }); - - textFieldName.setBounds(270, 30, 250, 20); - panel_1.add(textFieldName); - textFieldName.setColumns(10); - - comboBox = new JComboBox<String>(); - try { - // Holt sich eine Liste aller verfuegbaren Betriebssysteme vom - // Server - List<String> list = client.getAllOS(); - // Leeres Item hinzufuegen - comboBox.addItem(""); - for (int i = 0; i < list.size(); i++) { - // Hinzufuegen der verfuegbaren Betriebssysteme - comboBox.addItem(list.get(i)); - } - } catch (TException e2) { - // TODO Auto-generated catch block - e2.printStackTrace(); - JOptionPane.showMessageDialog(null, - e2.getCause() + "\n" + e2.getMessage(), "Debug-Message", - JOptionPane.ERROR_MESSAGE); - } - // Registriert Auswahlaenderungen der Box - comboBox.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - // Prueft das die Auswahl nicht leer ist - if (comboBox.getSelectedItem().toString() != "") { - activeSearch = true; - rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox - .getSelectedItem().toString(), 2)); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - comboBox.getSelectedItem().toString(), 2)); - rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - comboBox.getSelectedItem().toString(), 2)); - } 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); - } - } - - }); - comboBox.setBounds(270, 58, 250, 20); - panel_1.add(comboBox); - - JLabel lblHauptmen = new JLabel("Hauptmen\u00FC"); - lblHauptmen.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - // oeffnet das Hauuetmenue - - SearchImage_GUI.this.setVisible(false); - MainMenue_GUI main = new MainMenue_GUI(); - main.setVisible(true); - } - }); - 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("VL-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("Imageauswahl"); - lblNewLabel_1.setBounds(146, 11, 85, 14); - contentPanel.add(lblNewLabel_1); - - tabbedPane = new JTabbedPane(JTabbedPane.TOP); - tabbedPane.addChangeListener(new ChangeListener() { - public void stateChanged(ChangeEvent arg0) { - 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 - && 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, 158, 557, 339); - contentPanel.add(tabbedPane); - - JScrollPane scrollPaneAllImages = new JScrollPane(); - tableAllImages = new JTable(); - 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(); - - JScrollPane scrollPaneMyImage = new JScrollPane(); - tablemyImages = new JTable(); - 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); - tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null); - - JScrollPane scrollPanePublicVorlagen = new JScrollPane(); - tablePublicVorlagen = new JTable(); - 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("\u00D6ffentliche Vorlagen", null, - scrollPanePublicVorlagen, null); - tableAllImages.setRowSorter(rowSorterAll); - - scrollPaneAllImages.setViewportView(tableAllImages); - tabbedPane.addTab("Alle", null, scrollPaneAllImages, null); - - JScrollPane scrollPaneCoopImages = new JScrollPane(); - JTable tableCoopImages = new JTable(); - tableCoopImages.setModel(model); - tableCoopImages.getColumnModel().getColumn(1).sizeWidthToFit(); - tableCoopImages.getColumnModel().getColumn(2).sizeWidthToFit(); - tableCoopImages.getColumnModel().getColumn(3).sizeWidthToFit(); - tableCoopImages.getColumnModel().getColumn(4).sizeWidthToFit(); - tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit(); - - scrollPaneCoopImages.setViewportView(tableCoopImages); - tabbedPane.addTab("Kooperative Images", null, scrollPaneCoopImages, - null); - tabbedPane.setEnabledAt(3, false); - - JScrollPane scrollPanePublicImages = new JScrollPane(); - JTable tablePublicImages = new JTable(); - tablePublicImages.setModel(model); - tablePublicImages.getColumnModel().getColumn(1).sizeWidthToFit(); - tablePublicImages.getColumnModel().getColumn(2).sizeWidthToFit(); - tablePublicImages.getColumnModel().getColumn(3).sizeWidthToFit(); - tablePublicImages.getColumnModel().getColumn(4).sizeWidthToFit(); - tablePublicImages.getColumnModel().getColumn(5).sizeWidthToFit(); - - scrollPanePublicImages.setViewportView(tablePublicImages); - tabbedPane.addTab("\u00D6ffentliche Images", null, - scrollPanePublicImages, null); - tabbedPane.setEnabledAt(4, false); - - JButton btnDownload = new JButton("Download"); - btnDownload.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - // oeffnet den Downloader - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); - // - // meine Images - // - if (tabbedPane.getSelectedIndex() == 0) { - 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); - SearchImage_GUI.this.setVisible(false); - FTPSearchDownloader_GUI down = new FTPSearchDownloader_GUI(); - down.setVisible(true); - - } - } else if (tabbedPane.getSelectedIndex() == 1) { - // - // Vorlagen Images - // - System.out.println("yeah"); - if (tablePublicVorlagen.getSelectedRow() != -1 - // && modelPublicVorlagen - // .getValueAt( - // tablePublicVorlagen - // .convertRowIndexToModel(tablePublicVorlagen - // .getSelectedRow()), - // 4).equals(username) == true - ) { - 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.image.setVersion(imageversion); - - SearchImage_GUI.this.setVisible(false); - FTPSearchDownloader_GUI down = new FTPSearchDownloader_GUI(); - down.setVisible(true); - } - } 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) { - String imageid = modelAll - .getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), - 6).toString(); - - Image.image.setImageId(imageid); - String imageversion = modelAll - .getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), - 7).toString(); - - Image.image.setVersion(imageversion); - - SearchImage_GUI.this.setVisible(false); - FTPSearchDownloader_GUI down = new FTPSearchDownloader_GUI(); - down.setVisible(true); - } else { - JOptionPane - .showMessageDialog( - null, - "Sie haben keine Berechtigung fremde Images herunterzuladen.", - "Message", - JOptionPane.INFORMATION_MESSAGE); - } - - } - - } else { - // - // nichts markiert - // - JOptionPane - .showMessageDialog( - null, - "Bitte w\u00e4hlen Sie ein Image f\u00fcr den Download aus", - "Message", JOptionPane.INFORMATION_MESSAGE); - } - } - }); - btnDownload.setBounds(449, 508, 118, 23); - contentPanel.add(btnDownload); - { - JPanel buttonPane = new JPanel(); - buttonPane.setBounds(0, 640, 597, 33); - buttonPane.setBackground(SystemColor.menu); - buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); - getContentPane().add(buttonPane); - { - JButton okButton = new JButton("Zur\u00FCck"); - okButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - // oeffnet das Hauptmenue - - MainMenue_GUI main = new MainMenue_GUI(); - main.setVisible(true); - dispose(); - } - }); - okButton.setActionCommand("OK"); - buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); - } - } - - 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); - - JMenuBar menuBar = new JMenuBar(); - setJMenuBar(menuBar); - - JMenu mnNewMenu_1 = new JMenu("Hilfe"); - menuBar.add(mnNewMenu_1); - - JMenuItem mntmFaq = new JMenuItem("FAQ"); - mntmFaq.addMouseListener(new MouseAdapter() { - @Override - public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - - URI windows; - try { - windows = new URI(Links.getFAQ()); - - open.openWebpage(windows); - - } 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) { - - OpenLinks open = new OpenLinks(); - - URI windows; - try { - windows = new URI(Links.getOTRS()); - - open.openWebpage(windows); - - } catch (URISyntaxException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - }); - mnNewMenu_1.add(mntmOtrs); - - JMenuItem mntmAbout = new JMenuItem("About"); - mntmAbout.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - About_GUI ab = new About_GUI(); - ab.setVisible(true); - } - }); - mnNewMenu_1.add(mntmAbout); - - } - - // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModel(DefaultTableModel model) { - List<server.Image> images; - try { - // Hole eine Liste der Images - images = client.getImageList(); - - Iterator<server.Image> i = images.iterator(); - - 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(), - 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(); - - } - - return model; - } catch (TException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - JOptionPane.showMessageDialog(null, - e1.getCause() + "\n" + e1.getMessage(), "Debug-Message", - JOptionPane.ERROR_MESSAGE); - } - return model; - } - -} +package gui.image;
+
+import gui.intro.About_GUI;
+import gui.intro.MainMenue_GUI;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.SystemColor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+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.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JSeparator;
+import javax.swing.JTabbedPane;
+import javax.swing.JTable;
+import javax.swing.JTextField;
+import javax.swing.JTextPane;
+import javax.swing.RowFilter;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.TitledBorder;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.event.TableModelEvent;
+import javax.swing.event.TableModelListener;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableModel;
+import javax.swing.table.TableRowSorter;
+
+import models.Image;
+import models.Links;
+import models.person;
+
+import org.apache.thrift.TException;
+
+import server.Server.Client;
+import thrift.ThriftConnection;
+import util.GuiOrganizer;
+import util.OpenLinks;
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeEvent;
+
+@SuppressWarnings("serial")
+public class SearchImage_GUI extends JFrame {
+
+ private final JPanel contentPanel = new JPanel();
+ JLabel labelName;
+ JLabel labelUpdate;
+ JLabel labelVerantwortlicher;
+ JLabel labelWeitereVerantwortliche;
+ JLabel labelVorlage;
+ JLabel labelLizenzSoftware;
+ JLabel labelInternet;
+ JLabel labelRam;
+ JLabel labelCPU;
+ private JLabel labelOS;
+ String[] result;
+ JRadioButton rdbtnInternetJa;
+ JRadioButton rdbtnInternetNein;
+ JComboBox<String> comboBox;
+ JTable tableAllImages;
+ JTable tablemyImages;
+ JTable tablePublicVorlagen;
+ private JTextField textFieldName;
+ JTabbedPane tabbedPane;
+ boolean activeSearch = false;
+ String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung",
+ "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 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>(
+ modelPublicVorlagen);
+
+
+ /**
+ * Create the dialog.
+ */
+ public SearchImage_GUI() {
+ addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosing(WindowEvent arg0) {
+ // Beendet die Anwendung nach klick auf X
+ con.closeThriftConnection();
+ System.exit(0);
+ }
+
+ @Override
+ public void windowOpened(WindowEvent arg0) {
+ initTableModel(modelAll);
+ initTableModel(modelMyImages);
+ initTableModel(modelPublicVorlagen);
+ tablemyImages.getColumnModel().getColumn(1).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).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);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(8).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(1).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(1).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(1).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(8).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(6).setMaxWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(7).setMaxWidth(0);
+ 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) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ // Setzt den Fenstertitel
+ setTitle("bwLehrpool Suite *Prototyp* - Suche VL-Image");
+ // Zentriert das Fenster in die Bildmitte
+ setBounds(0, 0, 918, 722);
+ GuiOrganizer.centerGUI(this);
+
+ final DefaultTableModel model = new DefaultTableModel(titles, 0);
+
+ getContentPane().setLayout(null);
+ {
+ JPanel panel = new JPanel();
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(10, 11, 892, 57);
+ getContentPane().add(panel);
+ panel.setLayout(null);
+ {
+ JLabel lblNewLabel = new JLabel("Imagesuche");
+ lblNewLabel.setBounds(10, 11, 509, 22);
+ panel.add(lblNewLabel);
+ lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18));
+ }
+
+ JTextPane txtpnBitteWhlenSie = new JTextPane();
+ txtpnBitteWhlenSie.setEditable(false);
+ txtpnBitteWhlenSie.setBackground(SystemColor.menu);
+ txtpnBitteWhlenSie
+ .setText("Hier k\u00F6nnen Sie nach Ihrem gew\u00FCnschten Image suchen und dieses f\u00FCr weitere Schritte ausw\u00E4hlen");
+ txtpnBitteWhlenSie.setBounds(10, 36, 509, 32);
+ panel.add(txtpnBitteWhlenSie);
+ }
+ contentPanel.setBounds(10, 85, 577, 531);
+ contentPanel.setBackground(SystemColor.menu);
+ 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, "Filterfunktionen",
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel_1.setBounds(10, 49, 557, 98);
+ contentPanel.add(panel_1);
+ panel_1.setLayout(null);
+
+ JLabel lblNewLabel_2 = new JLabel("Anzeigename:");
+ lblNewLabel_2.setBounds(10, 30, 250, 20);
+ panel_1.add(lblNewLabel_2);
+
+ JLabel lblInternetIstInnerhalb = new JLabel("Betriebssystem:");
+ lblInternetIstInnerhalb.setBounds(10, 58, 250, 20);
+ panel_1.add(lblInternetIstInnerhalb);
+
+ textFieldName = new JTextField();
+ // Key Listener der Tastatureingabe registriert
+ textFieldName.addKeyListener(new KeyAdapter() {
+ @Override
+ public void keyReleased(KeyEvent e) {
+ // Textfield eingabe auslesen
+ String stext = textFieldName.getText();
+
+ // 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);
+ }
+ }
+ });
+
+ textFieldName.setBounds(270, 30, 250, 20);
+ panel_1.add(textFieldName);
+ textFieldName.setColumns(10);
+
+ comboBox = new JComboBox<String>();
+ try {
+ // Holt sich eine Liste aller verfuegbaren Betriebssysteme vom
+ // Server
+ List<String> list = client.getAllOS();
+ // Leeres Item hinzufuegen
+ comboBox.addItem("");
+ for (int i = 0; i < list.size(); i++) {
+ // Hinzufuegen der verfuegbaren Betriebssysteme
+ comboBox.addItem(list.get(i));
+ }
+ } catch (TException e2) {
+ // TODO Auto-generated catch block
+ e2.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ e2.getCause() + "\n" + e2.getMessage(), "Debug-Message",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ // Registriert Auswahlaenderungen der Box
+ comboBox.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ // Prueft das die Auswahl nicht leer ist
+ if (comboBox.getSelectedItem().toString() != "") {
+ activeSearch = true;
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
+ .getSelectedItem().toString(), 2));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ comboBox.getSelectedItem().toString(), 2));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
+ comboBox.getSelectedItem().toString(), 2));
+ } 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);
+ }
+ }
+
+ });
+ comboBox.setBounds(270, 58, 250, 20);
+ panel_1.add(comboBox);
+
+ JLabel lblHauptmen = new JLabel("Hauptmen\u00FC");
+ lblHauptmen.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent arg0) {
+ // oeffnet das Hauuetmenue
+
+ SearchImage_GUI.this.setVisible(false);
+ MainMenue_GUI main = new MainMenue_GUI();
+ main.setVisible(true);
+ }
+ });
+ 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(116, 11, 13, 14);
+ contentPanel.add(label_2);
+
+ JLabel lblNewLabel_1 = new JLabel("Imageauswahl");
+ lblNewLabel_1.setBounds(129, 11, 85, 14);
+ contentPanel.add(lblNewLabel_1);
+
+ tabbedPane = new JTabbedPane(JTabbedPane.TOP);
+ tabbedPane.addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent arg0) {
+ 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
+ && 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, 158, 557, 339);
+ contentPanel.add(tabbedPane);
+
+ JScrollPane scrollPaneAllImages = new JScrollPane();
+ tableAllImages = new JTable();
+ tableAllImages.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+
+ String imageid = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 6)
+ .toString();
+ System.out.println(imageid);
+ String version = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()), 7)
+ .toString();
+ System.out.println(version);
+ writeImageData(imageid, version);
+
+ }
+ });
+ 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();
+
+ JScrollPane scrollPaneMyImage = new JScrollPane();
+ tablemyImages = new JTable();
+ tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 6)
+ .toString();
+ System.out.println(imageid);
+ String version = modelMyImages
+ .getValueAt(
+ tablemyImages
+ .convertRowIndexToModel(tablemyImages
+ .getSelectedRow()), 7)
+ .toString();
+ System.out.println(version);
+ 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);
+ tabbedPane.addTab("Meine Images", null, scrollPaneMyImage, null);
+
+ JScrollPane scrollPanePublicVorlagen = new JScrollPane();
+ tablePublicVorlagen = new JTable();
+ tablePublicVorlagen.getSelectionModel().addListSelectionListener( new ListSelectionListener()
+ {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ String imageid = modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 6)
+ .toString();
+ System.out.println(imageid);
+ String version = modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 7)
+ .toString();
+ System.out.println(version);
+ 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);
+
+ scrollPaneAllImages.setViewportView(tableAllImages);
+ tabbedPane.addTab("Alle", null, scrollPaneAllImages, null);
+
+ JScrollPane scrollPaneCoopImages = new JScrollPane();
+ JTable tableCoopImages = new JTable();
+ tableCoopImages.setModel(model);
+ tableCoopImages.getColumnModel().getColumn(1).sizeWidthToFit();
+ tableCoopImages.getColumnModel().getColumn(2).sizeWidthToFit();
+ tableCoopImages.getColumnModel().getColumn(3).sizeWidthToFit();
+ tableCoopImages.getColumnModel().getColumn(4).sizeWidthToFit();
+ tableCoopImages.getColumnModel().getColumn(5).sizeWidthToFit();
+
+ scrollPaneCoopImages.setViewportView(tableCoopImages);
+ tabbedPane.addTab("bwLehrpool", null, scrollPaneCoopImages,
+ null);
+ tabbedPane.setEnabledAt(3, false);
+
+ JButton btnDownload = new JButton("Download");
+ btnDownload.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ // oeffnet den Downloader
+ String username = person.verantwortlicher.getName() + " "
+ + person.verantwortlicher.getVorname();
+ //
+ // meine Images
+ //
+ if (tabbedPane.getSelectedIndex() == 0) {
+ 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);
+ SearchImage_GUI.this.setVisible(false);
+ FTPSearchDownloader_GUI down = new FTPSearchDownloader_GUI();
+ down.setVisible(true);
+
+ }
+ } else if (tabbedPane.getSelectedIndex() == 1) {
+ //
+ // 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();
+
+ Image.image.setImageId(imageid);
+ String imageversion = modelPublicVorlagen
+ .getValueAt(
+ tablePublicVorlagen
+ .convertRowIndexToModel(tablePublicVorlagen
+ .getSelectedRow()), 7)
+ .toString();
+
+ Image.image.setVersion(imageversion);
+
+ SearchImage_GUI.this.setVisible(false);
+ FTPSearchDownloader_GUI down = new FTPSearchDownloader_GUI();
+ down.setVisible(true);
+ }
+ } 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) {
+ String imageid = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()),
+ 6).toString();
+
+ Image.image.setImageId(imageid);
+ String imageversion = modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()),
+ 7).toString();
+
+ Image.image.setVersion(imageversion);
+
+ SearchImage_GUI.this.setVisible(false);
+ FTPSearchDownloader_GUI down = new FTPSearchDownloader_GUI();
+ down.setVisible(true);
+ } else {
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Sie haben keine Berechtigung fremde Images herunterzuladen.",
+ "Message",
+ JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ }
+
+ } else {
+ //
+ // nichts markiert
+ //
+ JOptionPane
+ .showMessageDialog(
+ null,
+ "Bitte w\u00e4hlen Sie ein Image f\u00fcr den Download aus",
+ "Message", JOptionPane.INFORMATION_MESSAGE);
+ }
+ }
+ });
+ btnDownload.setBounds(449, 508, 118, 23);
+ contentPanel.add(btnDownload);
+ {
+ JPanel buttonPane = new JPanel();
+ buttonPane.setBounds(0, 640, 902, 33);
+ buttonPane.setBackground(SystemColor.menu);
+ buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
+ getContentPane().add(buttonPane);
+ {
+ JButton okButton = new JButton("Zur\u00FCck");
+ okButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ // oeffnet das Hauptmenue
+
+ MainMenue_GUI main = new MainMenue_GUI();
+ main.setVisible(true);
+ dispose();
+ }
+ });
+ okButton.setActionCommand("OK");
+ buttonPane.add(okButton);
+ getRootPane().setDefaultButton(okButton);
+ }
+ }
+
+ JSeparator separator = new JSeparator();
+ separator.setBounds(0, 79, 912, 1);
+ getContentPane().add(separator);
+
+ JSeparator separator_1 = new JSeparator();
+ separator_1.setBounds(0, 627, 912, 2);
+ getContentPane().add(separator_1);
+
+ JPanel panel = new JPanel();
+ panel.setLayout(null);
+ panel.setBorder(new TitledBorder(null, "Detailinformationen",
+ TitledBorder.LEADING, TitledBorder.TOP, null, null));
+ panel.setBackground(SystemColor.menu);
+ panel.setBounds(586, 85, 316, 531);
+ getContentPane().add(panel);
+
+ JLabel lblName = new JLabel("Name:");
+ lblName.setBounds(10, 30, 130, 14);
+ panel.add(lblName);
+
+ labelName = new JLabel("");
+ labelName.setBounds(150, 30, 130, 14);
+ panel.add(labelName);
+
+ JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
+ lblVerantwortlicher.setBounds(10, 105, 130, 14);
+ panel.add(lblVerantwortlicher);
+
+ labelOS = new JLabel("");
+ labelOS.setBounds(150, 55, 130, 14);
+ panel.add(labelOS);
+
+ JLabel lblWeitereVerantwortliche = new JLabel("Betriebssystem:");
+ lblWeitereVerantwortliche.setBounds(10, 55, 130, 14);
+ panel.add(lblWeitereVerantwortliche);
+
+ labelVerantwortlicher = new JLabel("");
+ labelVerantwortlicher.setBounds(150, 105, 130, 14);
+ panel.add(labelVerantwortlicher);
+
+ JLabel label = new JLabel("Weitere Verantwortliche:");
+ label.setBounds(10, 130, 130, 14);
+ panel.add(label);
+
+ labelWeitereVerantwortliche = new JLabel("");
+ labelWeitereVerantwortliche.setBounds(150, 130, 130, 14);
+ panel.add(labelWeitereVerantwortliche);
+
+ JLabel label_5 = new JLabel("");
+ label_5.setBounds(150, 130, 130, 14);
+ panel.add(label_5);
+
+ labelUpdate = new JLabel("");
+ labelUpdate.setBounds(150, 80, 130, 14);
+ panel.add(labelUpdate);
+
+ JLabel lblLetztesUpdate = new JLabel("Letztes Update:");
+ lblLetztesUpdate.setBounds(10, 80, 130, 14);
+ panel.add(lblLetztesUpdate);
+
+ JLabel lblImageIstVorlage = new JLabel("Image ist Vorlage:");
+ lblImageIstVorlage.setBounds(10, 259, 130, 14);
+ panel.add(lblImageIstVorlage);
+
+ labelVorlage = new JLabel("");
+ labelVorlage.setBounds(150, 259, 130, 14);
+ panel.add(labelVorlage);
+
+ labelLizenzSoftware = new JLabel("");
+ labelLizenzSoftware.setBounds(150, 284, 130, 14);
+ panel.add(labelLizenzSoftware);
+
+ JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:");
+ lblLizenzpflichtigeSoftware.setBounds(10, 284, 130, 14);
+ panel.add(lblLizenzpflichtigeSoftware);
+
+ JLabel lblInternet = new JLabel("Internet:");
+ lblInternet.setBounds(10, 309, 130, 14);
+ panel.add(lblInternet);
+
+ labelInternet = new JLabel("");
+ labelInternet.setBounds(150, 309, 130, 14);
+ panel.add(labelInternet);
+
+ JLabel lblEmpfehlungRam = new JLabel("Empfehlung RAM:");
+ lblEmpfehlungRam.setBounds(10, 334, 130, 14);
+ panel.add(lblEmpfehlungRam);
+
+ labelRam = new JLabel("");
+ labelRam.setBounds(150, 334, 130, 14);
+ panel.add(labelRam);
+
+ JLabel lblEmpfehlungCpu = new JLabel("Empfehlung CPU:");
+ lblEmpfehlungCpu.setBounds(10, 359, 130, 14);
+ panel.add(lblEmpfehlungCpu);
+
+ labelCPU = new JLabel("");
+ labelCPU.setBounds(150, 359, 130, 14);
+ panel.add(labelCPU);
+
+ JLabel lblTechnischeDaten = new JLabel("Technische Daten:");
+ lblTechnischeDaten.setBounds(10, 223, 296, 14);
+ panel.add(lblTechnischeDaten);
+
+ JMenuBar menuBar = new JMenuBar();
+ setJMenuBar(menuBar);
+
+ JMenu mnNewMenu_1 = new JMenu("Hilfe");
+ menuBar.add(mnNewMenu_1);
+
+ JMenuItem mntmFaq = new JMenuItem("FAQ");
+ mntmFaq.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent arg0) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getFAQ());
+
+ open.openWebpage(windows);
+
+ } 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) {
+
+ OpenLinks open = new OpenLinks();
+
+ URI windows;
+ try {
+ windows = new URI(Links.getOTRS());
+
+ open.openWebpage(windows);
+
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ });
+ mnNewMenu_1.add(mntmOtrs);
+
+ JMenuItem mntmAbout = new JMenuItem("About");
+ mntmAbout.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ About_GUI ab = new About_GUI();
+ ab.setVisible(true);
+ }
+ });
+ mnNewMenu_1.add(mntmAbout);
+
+ }
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModel(DefaultTableModel model) {
+ List<server.Image> images;
+ try {
+ // Hole eine Liste der Images
+ images = client.getImageList();
+
+ Iterator<server.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() };
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ x++;
+ i.next();
+
+ }
+
+ return model;
+ } catch (TException | ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ e1.getCause() + "\n" + e1.getMessage(), "Debug-Message",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ return model;
+ }
+
+ 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);
+ labelName.setText(res.get("name"));
+ labelOS.setText(res.get("os"));
+ labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
+ labelVerantwortlicher.setText(res.get("owner"));
+ labelWeitereVerantwortliche.setText("Noch nicht Verfügbar");
+ if(res.get("template").equals("true")){
+ labelVorlage.setText("Ja");
+ }else{
+ labelVorlage.setText("Nein");
+ }
+ if(res.get("license").equals("1")){
+ labelLizenzSoftware.setText("Ja");
+ }
+ else
+ {
+ labelLizenzSoftware.setText("Nein");
+ }
+ if(res.get("internet").equals("1")){
+ labelInternet.setText("Ja");
+ }
+ else
+ {
+ labelInternet.setText("Nein");
+ }
+ labelRam.setText(res.get("ram"));
+ labelCPU.setText(res.get("cpu"));
+ } catch (TException | ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+}
|
