summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
diff options
context:
space:
mode:
authorJonathan Bauer2014-09-11 15:04:50 +0200
committerJonathan Bauer2014-09-11 15:04:50 +0200
commite90286005f1cbedc77bfff91f867cb6aec25a595 (patch)
tree361faf449e987518ffe33757d64af69539f0ef5c /dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
parentlower case names for folder please (diff)
downloadtutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.tar.gz
tutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.tar.xz
tutor-module-e90286005f1cbedc77bfff91f867cb6aec25a595.zip
oops
Diffstat (limited to 'dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java')
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java963
1 files changed, 963 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
new file mode 100644
index 00000000..f41135b1
--- /dev/null
+++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
@@ -0,0 +1,963 @@
+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.JTextArea;
+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;
+ JLabel labelID;
+ JLabel labelVersion;
+ JTextArea textAreadesc;
+ 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" }; // Angezeigt
+ // werden
+ // aber
+ // nur
+ // Name
+ // (0),
+ // OS
+ // (2),
+ // Verantwortlicher
+ // (4),
+ // Letztes
+ // Update
+ // (5)
+ 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);
+ private JTextField textField;
+
+ /**
+ * 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);
+
+ // auszublendende Angaben
+ // 1=Lizenzpflichtig
+ // 3=Veranstaltung
+ // 6=ID
+ // 7=Version
+ // 8=Template
+ tablemyImages.getColumnModel().getColumn(1).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(1).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(3).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(8).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(6).setMaxWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setMinWidth(0);
+ tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0);
+
+ tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1)
+ .setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(1)
+ .setMaxWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3).setWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3)
+ .setMinWidth(0);
+ tablePublicVorlagen.getColumnModel().getColumn(3)
+ .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(3).setWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).setMinWidth(0);
+ tableAllImages.getColumnModel().getColumn(3).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 - Image suchen");
+ // 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, 80, 20);
+ panel_1.add(lblNewLabel_2);
+
+ JLabel lblInternetIstInnerhalb = new JLabel("Betriebssystem:");
+ lblInternetIstInnerhalb.setBounds(10, 58, 80, 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(96, 30, 166, 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.getStackTrace(), "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(96, 58, 166, 20);
+ panel_1.add(comboBox);
+
+ JLabel label_3 = new JLabel("Beschreibung:");
+ label_3.setBounds(291, 30, 80, 20);
+ panel_1.add(label_3);
+
+ textField = new JTextField();
+ textField.setColumns(10);
+ textField.setBounds(381, 30, 166, 20);
+ panel_1.add(textField);
+
+ 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();
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
+ username, 4));
+ } else if (tabbedPane.getSelectedIndex() == 1
+ && activeSearch == false) {
+ 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
+ || modelAll
+ .getValueAt(
+ tableAllImages
+ .convertRowIndexToModel(tableAllImages
+ .getSelectedRow()),
+ 8).equals("true") == 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, 87, 130, 14);
+ panel.add(lblName);
+
+ labelName = new JLabel("");
+ labelName.setBounds(10, 102, 296, 14);
+ panel.add(labelName);
+
+ JLabel lblVerantwortlicher = new JLabel("Verantwortlicher:");
+ lblVerantwortlicher.setBounds(10, 259, 130, 14);
+ panel.add(lblVerantwortlicher);
+
+ labelOS = new JLabel("");
+ labelOS.setBounds(10, 216, 296, 14);
+ panel.add(labelOS);
+
+ JLabel lblWeitereVerantwortliche = new JLabel("Betriebssystem:");
+ lblWeitereVerantwortliche.setBounds(10, 202, 130, 14);
+ panel.add(lblWeitereVerantwortliche);
+
+ labelVerantwortlicher = new JLabel("");
+ labelVerantwortlicher.setBounds(10, 272, 296, 14);
+ panel.add(labelVerantwortlicher);
+
+ JLabel label = new JLabel("Weitere Ansprechpartner:");
+ label.setBounds(10, 284, 130, 14);
+ panel.add(label);
+
+ labelWeitereVerantwortliche = new JLabel("");
+ labelWeitereVerantwortliche.setBounds(10, 297, 296, 14);
+ panel.add(labelWeitereVerantwortliche);
+
+ labelUpdate = new JLabel("");
+ labelUpdate.setBounds(10, 245, 296, 14);
+ panel.add(labelUpdate);
+
+ JLabel lblLetztesUpdate = new JLabel("Letztes Update:");
+ lblLetztesUpdate.setBounds(10, 231, 130, 14);
+ panel.add(lblLetztesUpdate);
+
+ JLabel lblImageIstVorlage = new JLabel("Image ist Vorlage:");
+ lblImageIstVorlage.setBounds(10, 336, 130, 14);
+ panel.add(lblImageIstVorlage);
+
+ labelVorlage = new JLabel("");
+ labelVorlage.setBounds(10, 350, 296, 14);
+ panel.add(labelVorlage);
+
+ labelLizenzSoftware = new JLabel("");
+ labelLizenzSoftware.setBounds(10, 383, 296, 14);
+ panel.add(labelLizenzSoftware);
+
+ JLabel lblLizenzpflichtigeSoftware = new JLabel(
+ "Lizenzpflichtige Software:");
+ lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14);
+ panel.add(lblLizenzpflichtigeSoftware);
+
+ JLabel lblInternet = new JLabel("Internetsperre vorhanden:");
+ lblInternet.setBounds(10, 400, 130, 14);
+ panel.add(lblInternet);
+
+ labelInternet = new JLabel("");
+ labelInternet.setBounds(10, 417, 296, 14);
+ panel.add(labelInternet);
+
+ JLabel lblEmpfehlungRam = new JLabel("Empfehlung RAM:");
+ lblEmpfehlungRam.setBounds(10, 432, 130, 14);
+ panel.add(lblEmpfehlungRam);
+
+ labelRam = new JLabel("");
+ labelRam.setBounds(10, 455, 296, 14);
+ panel.add(labelRam);
+
+ JLabel lblEmpfehlungCpu = new JLabel("Empfehlung CPU:");
+ lblEmpfehlungCpu.setBounds(10, 469, 130, 14);
+ panel.add(lblEmpfehlungCpu);
+
+ labelCPU = new JLabel("");
+ labelCPU.setBounds(10, 487, 296, 14);
+ panel.add(labelCPU);
+
+ JLabel lblTechnischeDaten = new JLabel("Technische Daten:");
+ lblTechnischeDaten.setBounds(10, 322, 296, 14);
+ panel.add(lblTechnischeDaten);
+
+ JLabel lblId = new JLabel("ID:");
+ lblId.setBounds(10, 23, 296, 14);
+ panel.add(lblId);
+
+ labelID = new JLabel("");
+ labelID.setBounds(10, 37, 296, 14);
+ panel.add(labelID);
+
+ labelVersion = new JLabel("");
+ labelVersion.setBounds(10, 73, 296, 14);
+ panel.add(labelVersion);
+
+ JLabel lblVersion = new JLabel("Version:");
+ lblVersion.setBounds(10, 57, 296, 14);
+ panel.add(lblVersion);
+
+ JLabel lblBeschreibung = new JLabel("Beschreibung:");
+ lblBeschreibung.setBounds(10, 119, 130, 14);
+ panel.add(lblBeschreibung);
+
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setBounds(10, 135, 296, 65);
+ panel.add(scrollPane);
+
+ textAreadesc = new JTextArea();
+ textAreadesc.setEditable(false);
+ textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11));
+ textAreadesc.setLineWrap(true);
+ textAreadesc.setBackground(SystemColor.menu);
+ scrollPane.setViewportView(textAreadesc);
+ 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.getStackTrace(), "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") + " (" + res.get("mail") + ")");
+ labelWeitereVerantwortliche.setText("Keine");
+ 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"));
+ labelID.setText(res.get("id"));
+ labelVersion.setText(res.get("version"));
+ textAreadesc.setText(res.get("desc"));
+ } catch (TException | ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+}