From b8ef5d05efbc773eb87844911e8b103ce5acfca8 Mon Sep 17 00:00:00 2001 From: Nino Breuer Date: Tue, 11 Nov 2014 16:49:04 +0100 Subject: h --- .../java/gui/image/PermissionEditImage_GUI.java | 6 +- .../main/java/gui/image/SearchEditImage_GUI.java | 36 +++- .../src/main/java/gui/image/SearchImage_GUI.java | 127 +++++++++------ .../src/main/java/gui/intro/Login_GUI.java | 3 +- .../main/java/gui/lecture/EditLectureLink_GUI.java | 181 ++++++++++++++------- .../main/java/gui/lecture/SearchLecture_GUI.java | 3 + 6 files changed, 237 insertions(+), 119 deletions(-) (limited to 'dozentenmodul/src/main/java') diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index c80d5a52..88a63883 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -122,7 +122,7 @@ public class PermissionEditImage_GUI extends JFrame { // TODO Auto-generated catch block e.printStackTrace(); } - setTitle("bwLehrpool Suite - Image erzeugen"); + setTitle("bwLehrpool Suite - Image bearbeiten"); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -136,12 +136,12 @@ public class PermissionEditImage_GUI extends JFrame { panel.setLayout(null); { JLabel lblNewLabel = new JLabel( - "Image Berechtigungen (Nur zur Veranschaulichung)"); + "Image Berechtigungen"); 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); diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index bac85d04..cfb83308 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -98,7 +98,7 @@ public class SearchEditImage_GUI extends JFrame { Component c = null; int requiredPermission = 1; // 0=Read, 1= Write, 2=LinkAllowed, 3=Admin 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 @@ -561,11 +561,12 @@ public class SearchEditImage_GUI extends JFrame { labelVerantwortlicher.setBounds(10, 272, 296, 14); panel.add(labelVerantwortlicher); - JLabel label = new JLabel("Weitere Verantwortliche:"); - label.setBounds(10, 284, 130, 14); - panel.add(label); + JLabel lblWeitereAnsprechpartner = new JLabel("Weitere Ansprechpartner:"); + lblWeitereAnsprechpartner.setBounds(10, 284, 130, 14); + panel.add(lblWeitereAnsprechpartner); labelWeitereVerantwortliche = new JLabel(""); + labelWeitereVerantwortliche.setToolTipText("Weitere Personen die Zugriff auf dieses Image haben"); labelWeitereVerantwortliche.setBounds(10, 297, 296, 14); panel.add(labelWeitereVerantwortliche); @@ -735,8 +736,8 @@ public class SearchEditImage_GUI extends JFrame { // Hole eine Liste der passenden Images images = client.getImageListPermissionWrite(person.verantwortlicher .getUserID()); - System.out.println("User is: " - + person.verantwortlicher.getUserID()); + //System.out.println("User is: " + // + person.verantwortlicher.getUserID()); // images = client.getImageList(person.verantwortlicher.getUserID(), // requiredPermission); @@ -760,7 +761,9 @@ public class SearchEditImage_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()}; + images.get(x).getDescription(), + byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) + }; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); @@ -831,9 +834,28 @@ public class SearchEditImage_GUI extends JFrame { labelID.setText(res.get("id")); labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); + res.clear(); + + 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); + } } 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); + } } diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java index 22cee572..879ae879 100644 --- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -376,7 +376,7 @@ public class Login_GUI extends JFrame { LOGGER.debug("Session-ID: " + result.sessionId); LOGGER.debug("Token: " + result.authToken); setStatus(Color.green, "Daten erhalten.", null); - + String hochschule = user.eMail.substring(user.eMail.indexOf("@") + 1); person.verantwortlicher.setUsername(lblusername.getText().trim()); @@ -389,6 +389,7 @@ public class Login_GUI extends JFrame { // Spaeter ueber result.getRole zum Beispiel die Rolle holen person.verantwortlicher.setRole("Dozent"); showMainMenu(); + } // end bwLehrpool-Login } diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index 415aea3c..929f9b2d 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -99,7 +99,7 @@ public class EditLectureLink_GUI extends JFrame { boolean activeSearch = false; Component c = null; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template" }; + "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { @@ -126,6 +126,19 @@ public class EditLectureLink_GUI extends JFrame { modelPublicVorlagen); private JTextField textField; + + 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>(); + + //the final filter which handles the search in the templates + RowFilter templateFilter = null; + ArrayList> finalFilters = new ArrayList>(); + + private static final String HELP_MESSAGE = "
" + "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.
" + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"." @@ -178,32 +191,28 @@ public class EditLectureLink_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(7).setWidth(0); tablemyImages.getColumnModel().getColumn(7).setMinWidth(0); tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0); + tablemyImages.getColumnModel().getColumn(9).setWidth(0); + tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(1) - .setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(1) - .setMaxWidth(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(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(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(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); + tablePublicVorlagen.getColumnModel().getColumn(7).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(9).setWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(9).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0); tableAllImages.getColumnModel().getColumn(1).setWidth(0); tableAllImages.getColumnModel().getColumn(1).setMinWidth(0); @@ -220,6 +229,10 @@ public class EditLectureLink_GUI extends JFrame { tableAllImages.getColumnModel().getColumn(7).setWidth(0); tableAllImages.getColumnModel().getColumn(7).setMinWidth(0); tableAllImages.getColumnModel().getColumn(7).setMaxWidth(0); + tableAllImages.getColumnModel().getColumn(9).setWidth(0); + tableAllImages.getColumnModel().getColumn(9).setMinWidth(0); + tableAllImages.getColumnModel().getColumn(9).setMaxWidth(0); + textFieldName.requestFocusInWindow(); } }); @@ -290,26 +303,61 @@ public class EditLectureLink_GUI extends JFrame { public void keyReleased(KeyEvent e) { String stext = textFieldName.getText(); // Wenn Textfield nicht leer - if (stext != "") { + 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 { + orFilters.clear(); + andFilters.clear(); + finalFilters.clear(); + + orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive + //preparation for search via lecture description. "9" has to be corrected as the index of titles + 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); + } + 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); + + 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("1", 8)); + orFilter = RowFilter.orFilter(orFilters); + rowSorterPublicVorlagen.setRowFilter(orFilter); + } + + tablemyImages.clearSelection(); + tableAllImages.clearSelection(); + tablePublicVorlagen.clearSelection(); + + resetLectureInfo(); } @@ -335,20 +383,15 @@ public class EditLectureLink_GUI extends JFrame { // 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)); + 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); } } @@ -388,6 +431,8 @@ public class EditLectureLink_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) { @@ -407,7 +452,7 @@ public class EditLectureLink_GUI extends JFrame { } }); - + */ tabbedPane.setBounds(10, 158, 557, 339); contentPanel.add(tabbedPane); @@ -415,6 +460,9 @@ public class EditLectureLink_GUI extends JFrame { tableAllImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tableAllImages.getSelectedRow() != -1) + { String imageid = modelAll.getValueAt( tableAllImages @@ -427,7 +475,7 @@ public class EditLectureLink_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); - + } } }); tableAllImages.setModel(modelAll); @@ -441,6 +489,9 @@ public class EditLectureLink_GUI extends JFrame { tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyImages.getSelectedRow() != -1) + { String imageid = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages //selber fehler wie bei image @@ -452,6 +503,7 @@ public class EditLectureLink_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); + } } }); tablemyImages.setModel(modelMyImages); @@ -469,6 +521,8 @@ public class EditLectureLink_GUI extends JFrame { tablePublicVorlagen.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + if(tablePublicVorlagen.getSelectedRow() != -1) + { String imageid = modelPublicVorlagen .getValueAt( tablePublicVorlagen @@ -482,6 +536,7 @@ public class EditLectureLink_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); + } } }); tablePublicVorlagen.setModel(modelPublicVorlagen); @@ -935,9 +990,9 @@ public class EditLectureLink_GUI extends JFrame { labelVerantwortlicher.setBounds(10, 272, 296, 14); panel.add(labelVerantwortlicher); - JLabel label = new JLabel("Weitere Verantwortliche:"); - label.setBounds(10, 284, 130, 14); - panel.add(label); + JLabel lblWeitereAnsprechpartner = new JLabel("Weitere Ansprechpartner:"); + lblWeitereAnsprechpartner.setBounds(10, 284, 130, 14); + panel.add(lblWeitereAnsprechpartner); labelWeitereVerantwortliche = new JLabel(""); labelWeitereVerantwortliche.setBounds(10, 297, 296, 14); @@ -1120,12 +1175,12 @@ public class EditLectureLink_GUI extends JFrame { 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).getIsTemplate(), + images.get(x).getDescription()}; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; i.next(); - } return model; @@ -1155,7 +1210,8 @@ public class EditLectureLink_GUI extends JFrame { 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).getIsTemplate(), + images.get(x).getDescription()}; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; @@ -1168,7 +1224,22 @@ public class EditLectureLink_GUI extends JFrame { } - + private void resetLectureInfo() { + //reset the detailed information on the right hand side when changing search string + labelID.setText(""); + labelVersion.setText(""); + labelName.setText(""); + textAreadesc.setText(""); + labelOS.setText(""); + labelUpdate.setText(""); + labelVerantwortlicher.setText(""); + labelWeitereVerantwortliche.setText(""); + labelVorlage.setText(""); + labelLizenzSoftware.setText(""); + labelInternet.setText(""); + labelRam.setText(""); + labelCPU.setText(""); + } diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index d2ab3a45..09e5f116 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -329,6 +329,8 @@ public class SearchLecture_GUI extends JFrame { { public void valueChanged(ListSelectionEvent e) { + if(tableAllLectures.getSelectedRow() != -1) + { String imageid = modelAll .getValueAt( tableAllLectures @@ -346,6 +348,7 @@ public class SearchLecture_GUI extends JFrame { e1.printStackTrace(); } } + } }); tableAllLectures.setModel(modelAll); tableAllLectures.getColumnModel().getColumn(1).sizeWidthToFit(); -- cgit v1.2.3-55-g7522