From 16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26 Mon Sep 17 00:00:00 2001 From: Nino Breuer Date: Thu, 30 Oct 2014 09:58:59 +0100 Subject: • added full text search in earch search-gui • fixed bug: arrayIndexOutOfBounds (several classes) • fixed bug: failed to update image data • changed text examples • fixed bug: any image has been shown as template when changing value of search bar (each direction) --- .../java/gui/lecture/EditLectureSearch_GUI.java | 71 +++++++++++++++++----- 1 file changed, 55 insertions(+), 16 deletions(-) (limited to 'dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java') diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index 01b93f47..8644f62c 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -21,6 +21,7 @@ import java.net.URISyntaxException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -91,25 +92,33 @@ public class EditLectureSearch_GUI extends JFrame { "Klicken Sie anschließend auf \"Weiter\", um die Details der Veranstaltung sowie die Berechtigungen zu ändern." + ""; - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { + /*final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } - }; + };*/ final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; - final TableRowSorter rowSorterAll = new TableRowSorter( - modelAll); + /*final TableRowSorter rowSorterAll = new TableRowSorter( + modelAll);*/ + final TableRowSorter rowSorterMyLectures = new TableRowSorter( modelMyLectures); + + RowFilter rf = null; + List> filters = new ArrayList>(2); /** * Create the dialog. */ public EditLectureSearch_GUI(Component formerGUI) { + + filters.add(RowFilter.regexFilter(".", 0)); + rf = RowFilter.orFilter(filters); + addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -123,7 +132,7 @@ public class EditLectureSearch_GUI extends JFrame { textFieldName.requestFocusInWindow(); try { initTableModel(modelMyLectures); - initTableModel(modelAll); + //initTableModel(modelAll); } catch (ParseException e) { // TODO Auto-generated catch block @@ -223,22 +232,32 @@ public class EditLectureSearch_GUI extends JFrame { // Textfield eingabe auslesen 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)); - rowSorterMyLectures.setRowFilter(RowFilter.regexFilter( - textFieldName.getText(), 0)); - } else { + filters.clear(); + filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive + filters.add(RowFilter.regexFilter("(?i)"+stext, 1)); //case insensitive + rf = RowFilter.orFilter(filters); + rowSorterMyLectures.setRowFilter(rf); + + + } + else + { activeSearch = false; - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); - rowSorterMyLectures.setRowFilter(RowFilter.regexFilter( - username, 5)); - rowSorterAll.setRowFilter(null); + activeSearch = false; + filters.clear(); + filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything + rf = RowFilter.orFilter(filters); + rowSorterMyLectures.setRowFilter(rf); + } + tablemyLectures.clearSelection(); + + resetLectureInfo(); } }); @@ -285,6 +304,9 @@ public class EditLectureSearch_GUI extends JFrame { tablemyLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyLectures.getSelectedRow() != -1) + { String imageid = modelMyLectures.getValueAt( tablemyLectures .convertRowIndexToModel(tablemyLectures @@ -301,6 +323,8 @@ public class EditLectureSearch_GUI extends JFrame { e1.printStackTrace(); } } + } + }); tablemyLectures.setModel(modelMyLectures); @@ -735,6 +759,21 @@ public class EditLectureSearch_GUI extends JFrame { } return model; } + + private void resetLectureInfo() { + //reset the detailed information on the right hand side when changing search string + + labelName.setText(""); + labelVerantwortlicher.setText(""); + labelAktiv.setText(""); + labeldesc.setText(""); + labelenddate.setText(""); + labelimage.setText(""); + labelimageversion.setText(""); + labelstartdate.setText(""); + labelVerantwortlicher.setText(""); + + } public void writeLectureData(String id) throws TException, ParseException { -- cgit v1.2.3-55-g7522 From 0654614c58e42f1fc56ca6cec17157dbf042ab65 Mon Sep 17 00:00:00 2001 From: Nino Breuer Date: Fri, 31 Oct 2014 13:46:57 +0100 Subject: • fixed bug which caused search guis to be closed when pressing enter in search bar --- .../src/main/java/gui/image/SearchEditImage_GUI.java | 2 +- .../src/main/java/gui/image/SearchImage_GUI.java | 18 ++++++------------ .../main/java/gui/lecture/EditLectureSearch_GUI.java | 2 +- .../src/main/java/gui/lecture/SearchLecture_GUI.java | 2 +- 4 files changed, 9 insertions(+), 15 deletions(-) (limited to 'dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java') diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index baf4c9be..bac85d04 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -477,7 +477,7 @@ public class SearchEditImage_GUI extends JFrame { }); okButton.setActionCommand("OK"); buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + //getRootPane().setDefaultButton(okButton); } { JButton cancelButton = new JButton("Weiter"); diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index bcc1775d..1d0a37ce 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -156,7 +156,7 @@ public class SearchImage_GUI extends JFrame { List> andFilters = new ArrayList>(); //the final filter which handles the search in the templates - RowFilter finalFilter = null; + RowFilter templateFilter = null; ArrayList> finalFilters = new ArrayList>(); @@ -175,6 +175,8 @@ public class SearchImage_GUI extends JFrame { finalFilters.add(andFilter); finalFilters.add(orFilter); + templateFilter = RowFilter.andFilter(finalFilters); + addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -337,7 +339,6 @@ public class SearchImage_GUI extends JFrame { activeSearch = true; // Filtere nach der Eingabe - orFilters.clear(); andFilters.clear(); finalFilters.clear(); @@ -349,21 +350,14 @@ public class SearchImage_GUI extends JFrame { rowSorterAll.setRowFilter(orFilter); rowSorterMyImages.setRowFilter(orFilter); - - orFilters.clear(); - - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive - orFilter = RowFilter.orFilter(orFilters); - andFilters.add(RowFilter.regexFilter("1", 8)); andFilter = RowFilter.andFilter(andFilters); finalFilters.add(andFilter); finalFilters.add(orFilter); - finalFilter = RowFilter.andFilter(finalFilters); - rowSorterPublicVorlagen.setRowFilter(finalFilter); //TODO füttere finalFilter mit andFilter und orFilter --> TEST + templateFilter = RowFilter.andFilter(finalFilters); + rowSorterPublicVorlagen.setRowFilter(templateFilter); //TODO füttere finalFilter mit andFilter und orFilter --> TEST } else { //refresh list @@ -770,7 +764,7 @@ public class SearchImage_GUI extends JFrame { }); okButton.setActionCommand("OK"); buttonPane.add(okButton); - getRootPane().setDefaultButton(okButton); + //getRootPane().setDefaultButton(okButton); //causes the main menue to open and the search gui to close when pressing enter in search bar } } diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index 8644f62c..ca33dc3c 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -355,7 +355,7 @@ public class EditLectureSearch_GUI extends JFrame { }); btnBack.setActionCommand("OK"); buttonPane.add(btnBack); - getRootPane().setDefaultButton(btnBack); + //getRootPane().setDefaultButton(btnBack); } { JButton btnContinue = new JButton("Weiter"); diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index d61aca35..457d3983 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -418,7 +418,7 @@ public class SearchLecture_GUI extends JFrame { }); btnBack.setActionCommand("OK"); buttonPane.add(btnBack); - getRootPane().setDefaultButton(btnBack); + //getRootPane().setDefaultButton(btnBack); } } -- cgit v1.2.3-55-g7522