From 3231fee56ce50facd8483e7af4d7f9ff63c5bc38 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 6 Mar 2015 18:30:38 +0100 Subject: Aua, aua... --- .../src/main/java/gui/image/SearchImage_GUI.java | 649 +++++++-------------- 1 file changed, 222 insertions(+), 427 deletions(-) (limited to 'dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java') diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index d3b6fcc9..be3ca527 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -1,5 +1,6 @@ package gui.image; +import gui.helper.TableFiller; import gui.intro.MainMenue_GUI; import java.awt.Color; @@ -16,7 +17,6 @@ import java.awt.event.MouseEvent; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -26,7 +26,6 @@ import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; -import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTabbedPane; @@ -36,8 +35,6 @@ import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.ListSelectionModel; 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.InternalFrameAdapter; @@ -61,97 +58,72 @@ import util.GuiManager; public class SearchImage_GUI extends JInternalFrame { 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 labelName; + private JLabel labelUpdate; + private JLabel labelVerantwortlicher; + private JLabel labelWeitereVerantwortliche; + private JLabel labelVorlage; + private JLabel labelLizenzSoftware; + private JLabel labelInternet; + private JLabel labelRam; + private JLabel labelCPU; + private JLabel labelID; + private JLabel labelVersion; + private JTextArea textAreadesc; private JLabel labelOS; - String[] result; - JRadioButton rdbtnInternetJa; - JRadioButton rdbtnInternetNein; - JComboBox comboBox; - JTable tableAllImages; - JTable tablemyImages; - JTable tablePublicVorlagen; + private JComboBox comboBox; + private JTable tableAllImages; + private JTable tablemyImages; + private JTable tablePublicVorlagen; private JTextField textFieldName; - JTabbedPane tabbedPane; - JButton btnDownload; - boolean activeSearch = false; - Component c = null; - String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" }; // Angezeigt - // werden - // aber - // nur - // Name - // (0), - // OS - // (2), - // Verantwortlicher - // (4), - // Letztes - // Update - // (5) - public static final String HELP_MESSAGE = "
" + - "Suchen Sie Images und laden Sie sie direkt herunter.
" + - "Sie können die Volltextsuche nutzen und nach Betriebssystemen filtern.
" + - "Die Volltextsuche sucht in den Feldern Name und Beschreibung." + - "
"; - - - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { + private JTabbedPane tabbedPane; + private JButton btnDownload; + private Component c = null; + // Angezeigt werden aber nur Name (0), OS (2), Verantwortlicher (4), Letztes Update (5) + private String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", + "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" }; + public static final String HELP_MESSAGE = "
" + + "Suchen Sie Images und laden Sie sie direkt herunter.
" + + "Sie können die Volltextsuche nutzen und nach Betriebssystemen filtern.
" + + "Die Volltextsuche sucht in den Feldern Name und Beschreibung." + "
"; + + private final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { + private final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, - 0) { + private 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( + + private final TableRowSorter rowSorterAll = new TableRowSorter(modelAll); + private final TableRowSorter rowSorterMyImages = new TableRowSorter(modelMyImages); + private final TableRowSorter rowSorterPublicVorlagen = new TableRowSorter( modelPublicVorlagen); - - - - - RowFilter orFilter = null; - List> orFilters = new ArrayList<>(); - + + RowFilter orFilter = null; + List> orFilters = new ArrayList<>(); + //needed for templates, filter for name OR desc AND temp_flag --> (name || desc) && (temp_flag) - RowFilter andFilter = null; - List> andFilters = new ArrayList<>(); + RowFilter andFilter = null; + List> andFilters = new ArrayList<>(); //the final filter which handles the search in the templates - RowFilter templateFilter = null; + RowFilter templateFilter = null; ArrayList> finalFilters = new ArrayList<>(); - - - + /** * Create the dialog. */ - public SearchImage_GUI() { - + public SearchImage_GUI() { + addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent arg0) { @@ -182,8 +154,8 @@ public class SearchImage_GUI extends JInternalFrame { tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0); tablemyImages.getColumnModel().getColumn(9).setWidth(0); tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); - tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); - + tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); + tablemyImages.getTableHeader().setReorderingAllowed(false); tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyImages.addMouseListener(new MouseAdapter() { @@ -192,7 +164,8 @@ public class SearchImage_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) { tablemyImages.clearSelection(); //just one row is selectable - tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), tablemyImages.rowAtPoint(e.getPoint())); + tablemyImages.setRowSelectionInterval(tablemyImages.rowAtPoint(e.getPoint()), + tablemyImages.rowAtPoint(e.getPoint())); } }); @@ -213,8 +186,8 @@ public class SearchImage_GUI extends JInternalFrame { tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(9).setWidth(0); tablePublicVorlagen.getColumnModel().getColumn(9).setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0); - + tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0); + tablePublicVorlagen.getTableHeader().setReorderingAllowed(false); tablePublicVorlagen.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablePublicVorlagen.addMouseListener(new MouseAdapter() { @@ -223,7 +196,9 @@ public class SearchImage_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) { tablePublicVorlagen.clearSelection(); //just one row is selectable - tablePublicVorlagen.setRowSelectionInterval(tablePublicVorlagen.rowAtPoint(e.getPoint()), tablePublicVorlagen.rowAtPoint(e.getPoint())); + tablePublicVorlagen.setRowSelectionInterval( + tablePublicVorlagen.rowAtPoint(e.getPoint()), + tablePublicVorlagen.rowAtPoint(e.getPoint())); } }); @@ -245,7 +220,7 @@ public class SearchImage_GUI extends JInternalFrame { tableAllImages.getColumnModel().getColumn(9).setWidth(0); tableAllImages.getColumnModel().getColumn(9).setMinWidth(0); tableAllImages.getColumnModel().getColumn(9).setMaxWidth(0); - + tableAllImages.getTableHeader().setReorderingAllowed(false); tableAllImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tableAllImages.addMouseListener(new MouseAdapter() { @@ -254,10 +229,11 @@ public class SearchImage_GUI extends JInternalFrame { public void mouseReleased(MouseEvent e) { tableAllImages.clearSelection(); //just one row is selectable - tableAllImages.setRowSelectionInterval(tableAllImages.rowAtPoint(e.getPoint()), tableAllImages.rowAtPoint(e.getPoint())); + tableAllImages.setRowSelectionInterval(tableAllImages.rowAtPoint(e.getPoint()), + tableAllImages.rowAtPoint(e.getPoint())); } }); - + textFieldName.requestFocusInWindow(); } }); @@ -265,16 +241,8 @@ public class SearchImage_GUI extends JInternalFrame { // Verhindert das Vergroessern Des Fensters setResizable(false); - try { - // Setzt das Look & Feel auf System - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (ClassNotFoundException | InstantiationException - | IllegalAccessException | UnsupportedLookAndFeelException e) { - - e.printStackTrace(); - } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image suchen - "+person.verantwortlicher.getUserID()); + setTitle("bwLehrpool Suite - Image suchen - " + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 918, 722); @@ -310,8 +278,8 @@ public class SearchImage_GUI extends JInternalFrame { 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.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); @@ -330,62 +298,58 @@ public class SearchImage_GUI extends JInternalFrame { @Override public void keyReleased(KeyEvent e) { // Textfield eingabe auslesen - String stext = textFieldName.getText().trim().trim(); - + String stext = textFieldName.getText().trim(); + // Wenn Textfield nicht leer - if (stext != "") - { - activeSearch = true; + if (!stext.isEmpty()) { // Filtere nach der Eingabe - - orFilters.clear(); - andFilters.clear(); - finalFilters.clear(); - - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive - + + orFilters.clear(); + andFilters.clear(); + finalFilters.clear(); + + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive + orFilter = RowFilter.orFilter(orFilters); - + rowSorterAll.setRowFilter(orFilter); rowSorterMyImages.setRowFilter(orFilter); andFilters.add(RowFilter.regexFilter("1", 8)); andFilter = RowFilter.andFilter(andFilters); - + finalFilters.add(andFilter); finalFilters.add(orFilter); templateFilter = RowFilter.andFilter(finalFilters); rowSorterPublicVorlagen.setRowFilter(templateFilter); //füttere finalFilter mit andFilter und orFilter - - } - else - { //refresh list - activeSearch = false; - String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); - + + } else { //refresh list + String username = person.verantwortlicher.getName() + " " + + person.verantwortlicher.getVorname(); + orFilters.clear(); andFilters.clear(); orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything orFilter = RowFilter.andFilter(orFilters); - + rowSorterMyImages.setRowFilter(orFilter); rowSorterAll.setRowFilter(orFilter); - + //in addition, templates can only be shown when they really are templates! orFilters.clear(); - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 0)); //case insensitive + orFilters.add(RowFilter.regexFilter("(?i)" + stext, 9)); //case insensitive orFilters.add(RowFilter.regexFilter("1", 8)); orFilter = RowFilter.orFilter(orFilters); rowSorterPublicVorlagen.setRowFilter(orFilter); - + } - + tablemyImages.clearSelection(); tableAllImages.clearSelection(); tablePublicVorlagen.clearSelection(); - + resetImageInfo(); } }); @@ -406,30 +370,22 @@ public class SearchImage_GUI extends JInternalFrame { comboBox.addItem(list.get(i)); } } catch (TException e2) { - + e2.printStackTrace(); - JOptionPane.showMessageDialog(c, - e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(c, e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } // Registriert Auswahlaenderungen der Box comboBox.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) - { + 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(comboBox.getSelectedItem() + .toString(), 2)); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem() + .toString(), 2)); + } else { rowSorterMyImages.setRowFilter(null); rowSorterPublicVorlagen.setRowFilter(null); rowSorterAll.setRowFilter(null); @@ -470,35 +426,27 @@ public class SearchImage_GUI extends JInternalFrame { contentPanel.add(lblNewLabel_1); tabbedPane = new JTabbedPane(JTabbedPane.TOP); - + 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) { - - - - if(tableAllImages.getSelectedRow() != -1) - { - String imageid = modelAll.getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 6) - .toString(); - String version = modelAll.getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); + tableAllImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + if (tableAllImages.getSelectedRow() != -1) { + String imageid = modelAll.getValueAt( + tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 6) + .toString(); + String version = modelAll.getValueAt( + tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 7) + .toString(); + writeImageData(imageid, version); - } - } - }); + } + } + }); tableAllImages.setModel(modelAll); tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit(); tableAllImages.getColumnModel().getColumn(2).sizeWidthToFit(); @@ -508,34 +456,27 @@ public class SearchImage_GUI extends JInternalFrame { JScrollPane scrollPaneMyImage = new JScrollPane(); tablemyImages = new JTable(); - tablemyImages.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) - { - if (tablemyImages.getSelectedRow() != -1) { - String imageid = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6) - .toString(); - String version = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); - } - } - - - }); + tablemyImages.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + if (tablemyImages.getSelectedRow() != -1) { + String imageid = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) + .toString(); + String version = modelMyImages.getValueAt( + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) + .toString(); + writeImageData(imageid, version); + } + } + + }); 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); @@ -543,42 +484,33 @@ public class SearchImage_GUI extends JInternalFrame { JScrollPane scrollPanePublicVorlagen = new JScrollPane(); tablePublicVorlagen = new JTable(); - tablePublicVorlagen.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - public void valueChanged(ListSelectionEvent e) { - - if(tablePublicVorlagen.getSelectedRow() != -1) - { - String imageid = modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 6) - .toString(); - String version = modelPublicVorlagen - .getValueAt( - tablePublicVorlagen - .convertRowIndexToModel(tablePublicVorlagen - .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); - - } - } - - - }); + tablePublicVorlagen.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + + if (tablePublicVorlagen.getSelectedRow() != -1) { + String imageid = modelPublicVorlagen.getValueAt( + tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen.getSelectedRow()), + 6).toString(); + String version = modelPublicVorlagen.getValueAt( + tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen.getSelectedRow()), + 7).toString(); + 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); @@ -610,19 +542,15 @@ public class SearchImage_GUI extends JInternalFrame { if (tabbedPane.getSelectedIndex() == 0) { if (tablemyImages.getSelectedRow() != -1) { String imageid = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 6) + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 6) .toString(); - Image.image.setImageId(imageid); + Image.ImageId = imageid; String imageversion = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) + tablemyImages.convertRowIndexToModel(tablemyImages.getSelectedRow()), 7) .toString(); - Image.image.setVersion(imageversion); + Image.Version = imageversion; GuiManager.show(new FTPSearchDownloader_GUI()); } @@ -631,80 +559,51 @@ public class SearchImage_GUI extends JInternalFrame { // 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(); + if (tablePublicVorlagen.getSelectedRow() != -1) { + 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.ImageId = imageid; + String imageversion = modelPublicVorlagen.getValueAt( + tablePublicVorlagen.convertRowIndexToModel(tablePublicVorlagen + .getSelectedRow()), 7).toString(); - Image.image.setVersion(imageversion); + Image.Version = imageversion; GuiManager.show(new FTPSearchDownloader_GUI()); } } 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 + tableAllImages.convertRowIndexToModel(tableAllImages.getSelectedRow()), 4) + .equals(username) == true || modelAll .getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), - 8).equals("true") == true || person.verantwortlicher.getRole().equals("Admin")) { + tableAllImages.convertRowIndexToModel(tableAllImages + .getSelectedRow()), 8).equals("true") == true + || person.verantwortlicher.getRole().equals("Admin")) { String imageid = modelAll .getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), - 6).toString(); + tableAllImages.convertRowIndexToModel(tableAllImages + .getSelectedRow()), 6).toString(); - Image.image.setImageId(imageid); + Image.ImageId = imageid; String imageversion = modelAll .getValueAt( - tableAllImages - .convertRowIndexToModel(tableAllImages - .getSelectedRow()), - 7).toString(); + tableAllImages.convertRowIndexToModel(tableAllImages + .getSelectedRow()), 7).toString(); - Image.image.setVersion(imageversion); + Image.Version = imageversion; GuiManager.show(new FTPSearchDownloader_GUI()); } else { - JOptionPane - .showMessageDialog( - c, - "Sie haben keine Berechtigung fremde Images herunterzuladen.", - "Message", - JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, + "Sie haben keine Berechtigung fremde Images herunterzuladen.", "Message", + JOptionPane.INFORMATION_MESSAGE); } } @@ -713,17 +612,13 @@ public class SearchImage_GUI extends JInternalFrame { // // nichts markiert // - JOptionPane - .showMessageDialog( - c, - "Bitte wählen Sie ein Image für den Download aus", - "Message", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, "Bitte wählen Sie ein Image für den Download aus", + "Message", JOptionPane.INFORMATION_MESSAGE); } } }); btnDownload.setBounds(449, 508, 118, 23); contentPanel.add(btnDownload); - { JPanel buttonPane = new JPanel(); @@ -741,7 +636,6 @@ public class SearchImage_GUI extends JInternalFrame { }); okButton.setActionCommand("OK"); buttonPane.add(okButton); - //getRootPane().setDefaultButton(okButton); //causes the main menue to open and the search gui to close when pressing enter in search bar } } @@ -814,8 +708,7 @@ public class SearchImage_GUI extends JInternalFrame { labelLizenzSoftware.setBounds(10, 383, 296, 14); panel.add(labelLizenzSoftware); - JLabel lblLizenzpflichtigeSoftware = new JLabel( - "Lizenzpflichtige Software:"); + JLabel lblLizenzpflichtigeSoftware = new JLabel("Lizenzpflichtige Software:"); lblLizenzpflichtigeSoftware.setBounds(10, 367, 130, 14); panel.add(lblLizenzpflichtigeSoftware); @@ -884,157 +777,70 @@ public class SearchImage_GUI extends JInternalFrame { public DefaultTableModel initTableModel(DefaultTableModel model) { List images; try { - + // Hole eine Liste der Images - if(person.verantwortlicher.getRole()=="Admin"){ + if (person.verantwortlicher.getRole().equals("Admin")) { //get complete list - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(), + SessionData.authToken); } else { - images = ThriftManager.getSatClient().getImageListPermissionRead(person.verantwortlicher.getUserID(),SessionData.authToken); + images = ThriftManager.getSatClient().getImageListPermissionRead( + person.verantwortlicher.getUserID(), SessionData.authToken); } + TableFiller.fillModelWithImageList(model, images); - Iterator 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(), - images.get(x).getDescription(), - byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) - }; - //System.out.println("filling templates..."+images.get(x).getIsTemplate()); - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - //System.out.println(model.getValueAt(x, 9)); - x++; - i.next(); - - } - //show number of rows in GUI - tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") "); + tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0) + " (" + model.getRowCount() + ") "); return model; - } catch (TException | ParseException e1) { - + } catch (TException e1) { + e1.printStackTrace(); - JOptionPane.showMessageDialog(c, - e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } return model; } - + public DefaultTableModel initTableModelAll(DefaultTableModel model) { - List images; try { // Hole eine Liste der Images - images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.authToken); - - Iterator 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(), - images.get(x).getDescription(), - byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) //filesize made readable - - }; - //System.out.println(images.get(x).getImageSize()+" "+images.get(x).getImageName()); - //System.out.println("filling templates..."+images.get(x).getIsTemplate()); - // Fuege diese Objekte der Tabelle hinzu - model.addRow(obj); - //System.out.println(model.getValueAt(x, 9)); - x++; - i.next(); - - } + List images = ThriftManager.getSatClient().getImageList( + person.verantwortlicher.getUserID(), SessionData.authToken); + TableFiller.fillModelWithImageList(model, images); //show number of rows in GUI - tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2)+" ("+model.getRowCount()+") "); + tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2) + " (" + model.getRowCount() + ") "); return model; - } catch (TException | ParseException e1) { - + } catch (TException e1) { + e1.printStackTrace(); - JOptionPane.showMessageDialog(c, - e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", + JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } return model; } - - + // Initiale Beffuelung eines Table models - public DefaultTableModel initTableModelTemplates(DefaultTableModel model) { - List images; - try { - // Hole eine Liste der Images - images = ThriftManager.getSatClient().getImageListAllTemplates(SessionData.authToken); - - Iterator 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).getImageName(), - images.get(x).getUserData(), - out.format(in.parse(images.get(x).updateTime)), - images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate(), - images.get(x).getDescription(), - byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) - }; - // Fuege diese Objekte der Tabelle hinzu - - model.addRow(obj); - x++; - i.next(); + public DefaultTableModel initTableModelTemplates(DefaultTableModel model) { + try { + // Hole eine Liste der Images + List images = ThriftManager.getSatClient() + .getImageListAllTemplates(SessionData.authToken); + TableFiller.fillModelWithImageList(model, images); + //show number of rows in GUI + tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1) + " (" + model.getRowCount() + ") "); - } - //show number of rows in GUI - tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") "); - - return model; - } catch (TException | ParseException e1) { - - e1.printStackTrace(); - JOptionPane.showMessageDialog(c, - e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", - JOptionPane.ERROR_MESSAGE); - } return model; - }// end initTableModelTemplates - - - - - - - + } catch (TException e1) { + + e1.printStackTrace(); + JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", + JOptionPane.ERROR_MESSAGE); + } + return model; + }// end initTableModelTemplates + private void resetImageInfo() { //reset the detailed information on the right hand side when changing search string labelID.setText(""); @@ -1051,12 +857,13 @@ public class SearchImage_GUI extends JInternalFrame { labelRam.setText(""); labelCPU.setText(""); } - + public void writeImageData(String id, String version) { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map res = ThriftManager.getSatClient().getImageData(id, version,SessionData.authToken); + Map res = ThriftManager.getSatClient().getImageData(id, version, + SessionData.authToken); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); @@ -1082,35 +889,23 @@ public class SearchImage_GUI extends JInternalFrame { labelID.setText(res.get("id")); labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); - - List contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id,SessionData.authToken); + + List contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id, + SessionData.authToken); labelWeitereVerantwortliche.setText(""); - for (int i = 0; i < contacts.size(); i++) - { - labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText().trim()+(contacts.get(i))); + for (int i = 0; i < contacts.size(); i++) { + labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText().trim() + + (contacts.get(i))); } labelWeitereVerantwortliche.setToolTipText(labelWeitereVerantwortliche.getText().trim()); - - if(person.verantwortlicher.getRole().equals("Student") && res.get("license").equals("1")) - { + + if (person.verantwortlicher.getRole().equals("Student") && res.get("license").equals("1")) { btnDownload.setEnabled(false); - } - else - { + } else { btnDownload.setEnabled(true); } - } catch (TException | ParseException e1) { - e1.printStackTrace(); } } - - public static String byteToGigabyte(long bytes, boolean si) { - int unit = si ? 1000 : 1024; - if (bytes < unit) return bytes + " B"; - int exp = (int) (Math.log(bytes) / Math.log(unit)); - String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i"); - return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre); - } } -- cgit v1.2.3-55-g7522