From b8ef5d05efbc773eb87844911e8b103ce5acfca8 Mon Sep 17 00:00:00 2001 From: Nino Breuer Date: Tue, 11 Nov 2014 16:49:04 +0100 Subject: h --- .../src/main/java/gui/image/SearchImage_GUI.java | 127 ++++++++++++--------- 1 file changed, 74 insertions(+), 53 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 c32107bf..050b81d8 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -64,7 +64,7 @@ import org.apache.thrift.TException; import server.generated.Server.Client; import thrift.ThriftConnection; -import util.GuiOrganizer; + import util.OpenLinks; @SuppressWarnings("serial") @@ -101,7 +101,7 @@ public class SearchImage_GUI extends JFrame { boolean activeSearch = false; Component c = null; String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; // Angezeigt + "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" }; // Angezeigt // werden // aber // nur @@ -138,6 +138,7 @@ public class SearchImage_GUI extends JFrame { return false; } }; + final TableRowSorter rowSorterAll = new TableRowSorter( modelAll); final TableRowSorter rowSorterMyImages = new TableRowSorter( @@ -160,22 +161,13 @@ public class SearchImage_GUI extends JFrame { ArrayList> finalFilters = new ArrayList>(); + /** * Create the dialog. */ public SearchImage_GUI(Component formerGUI) { - - orFilters.add(RowFilter.regexFilter(".", 0)); //search for anything - orFilter = RowFilter.orFilter(orFilters); - - andFilters.add(RowFilter.regexFilter("1", 8)); - andFilter = RowFilter.andFilter(andFilters); - - finalFilters.add(andFilter); - finalFilters.add(orFilter); - - templateFilter = RowFilter.andFilter(finalFilters); + addWindowListener(new WindowAdapter() { @Override @@ -327,11 +319,6 @@ public class SearchImage_GUI extends JFrame { public void keyReleased(KeyEvent e) { // Textfield eingabe auslesen String stext = textFieldName.getText().trim(); - - - - - // Wenn Textfield nicht leer if (stext != "") @@ -357,7 +344,8 @@ public class SearchImage_GUI extends JFrame { finalFilters.add(andFilter); finalFilters.add(orFilter); templateFilter = RowFilter.andFilter(finalFilters); - rowSorterPublicVorlagen.setRowFilter(templateFilter); //TODO füttere finalFilter mit andFilter und orFilter --> TEST + rowSorterPublicVorlagen.setRowFilter(templateFilter); //füttere finalFilter mit andFilter und orFilter + } else { //refresh list @@ -365,6 +353,7 @@ public class SearchImage_GUI extends JFrame { 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); @@ -378,6 +367,7 @@ public class SearchImage_GUI extends JFrame { orFilters.add(RowFilter.regexFilter("1", 8)); orFilter = RowFilter.orFilter(orFilters); rowSorterPublicVorlagen.setRowFilter(orFilter); + } tablemyImages.clearSelection(); @@ -412,24 +402,22 @@ public class SearchImage_GUI extends JFrame { } // 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 { + 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)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8)); rowSorterAll.setRowFilter(null); } } @@ -442,7 +430,7 @@ public class SearchImage_GUI extends JFrame { lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - // oeffnet das Hauuetmenue + // oeffnet das Hauptmenue SearchImage_GUI.this.setVisible(false); MainMenue_GUI main = new MainMenue_GUI(c); @@ -471,26 +459,30 @@ public class SearchImage_GUI extends JFrame { contentPanel.add(lblNewLabel_1); tabbedPane = new JTabbedPane(JTabbedPane.TOP); + + //not needed anymore, as the filters are set by the full text search completely + /* tabbedPane.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent arg0) { - if (tabbedPane.getSelectedIndex() == 0 && activeSearch == false) { + 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); + //rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); + } + else if (tabbedPane.getSelectedIndex() == 1&& activeSearch == false) + { + //rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8)); //--> caused bug: no initial list in public images + } + else if (tabbedPane.getSelectedIndex() == 2 && activeSearch == false) + { + //rowSorterAll.setRowFilter(null); } } }); - + */ tabbedPane.setBounds(10, 158, 557, 339); contentPanel.add(tabbedPane); @@ -535,7 +527,7 @@ public class SearchImage_GUI extends JFrame { if (tablemyImages.getSelectedRow() != -1) { String imageid = modelMyImages.getValueAt( tablemyImages - .convertRowIndexToModel(tablemyImages //fehler nur, wenn zeile selektiert und dann suche eingegeben wird! + .convertRowIndexToModel(tablemyImages .getSelectedRow()), 6) .toString(); String version = modelMyImages.getValueAt( @@ -555,6 +547,7 @@ public class SearchImage_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit(); tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit(); + tablemyImages.setRowSorter(rowSorterMyImages); scrollPaneMyImage.setViewportView(tablemyImages); @@ -592,8 +585,11 @@ public class SearchImage_GUI extends JFrame { 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); @@ -992,11 +988,13 @@ public class SearchImage_GUI extends JFrame { out.format(in.parse(images.get(x).updateTime)), images.get(x).id, images.get(x).getVersion(), images.get(x).getIsTemplate(), - images.get(x).getDescription()}; - System.out.println("filling templates..."+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)); + //System.out.println(model.getValueAt(x, 9)); x++; i.next(); @@ -1034,11 +1032,15 @@ public class SearchImage_GUI extends JFrame { out.format(in.parse(images.get(x).updateTime)), images.get(x).id, images.get(x).getVersion(), images.get(x).getIsTemplate(), - images.get(x).getDescription()}; - System.out.println("filling templates..."+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)); + //System.out.println(model.getValueAt(x, 9)); x++; i.next(); @@ -1073,13 +1075,16 @@ public class SearchImage_GUI extends JFrame { Object[] obj = { images.get(x).getImageName(), images.get(x).getLicenseRestriction(), images.get(x).getOsName(), - images.get(x).getLectureName(), + 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()}; + images.get(x).getDescription(), + byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) + }; // Fuege diese Objekte der Tabelle hinzu + model.addRow(obj); x++; i.next(); @@ -1118,7 +1123,6 @@ public class SearchImage_GUI extends JFrame { labelInternet.setText(""); labelRam.setText(""); labelCPU.setText(""); - } public void writeImageData(String id, String version) { @@ -1151,9 +1155,26 @@ public class SearchImage_GUI extends JFrame { labelID.setText(res.get("id")); labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); + + List contacts = client.getAdditionalImageContacts(id); + labelWeitereVerantwortliche.setText(""); + for (int i = 0; i < contacts.size(); i++) + { + labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText()+(contacts.get(i))); + } + labelWeitereVerantwortliche.setToolTipText(labelWeitereVerantwortliche.getText()); + } catch (TException | ParseException e1) { // TODO Auto-generated catch block 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