diff options
3 files changed, 96 insertions, 39 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index 403520a0..baf4c9be 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -264,25 +264,35 @@ public class SearchEditImage_GUI extends JFrame { //System.out.println("Help, I don't want to be filtered yet...."); // Wenn Textfield nicht leer - if (stext.trim().length() > 0) { + if (stext.trim().length() > 0) + { + activeSearch = true; // Filtere nach der Eingabe - filters.clear(); - filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive - filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive - rf = RowFilter.orFilter(filters); - rowSorterMyImages.setRowFilter(rf); - - + + filters.clear(); + + filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive + filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + + rf = RowFilter.orFilter(filters); + rowSorterMyImages.setRowFilter(rf); + + } + else + { - } else { activeSearch = false; filters.clear(); filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything + rf = RowFilter.orFilter(filters); + rowSorterMyImages.setRowFilter(rf); + } + tablemyImages.clearSelection(); resetImageInfo(); diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index afbbbab2..ce40ee7b 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -145,16 +145,35 @@ public class SearchImage_GUI extends JFrame { final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
modelPublicVorlagen);
- RowFilter rf = null;
- List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
+
+
+
+ RowFilter orFilter = null;
+ List<RowFilter<Object,Object>> orFilters = new ArrayList<RowFilter<Object,Object>>();
+
+ //needed for templates, filter for name OR desc AND temp_flag --> (name || desc) && (temp_flag)
+ RowFilter andFilter = null;
+ List<RowFilter<Object,Object>> andFilters = new ArrayList<RowFilter<Object,Object>>();
+ //the final filter which handles the search in the templates
+ RowFilter finalFilter = null;
+ ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>();
+
+
/**
* Create the dialog.
*/
public SearchImage_GUI(Component formerGUI) {
- filters.add(RowFilter.regexFilter(".", 0));
- rf = RowFilter.orFilter(filters);
+
+ 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);
addWindowListener(new WindowAdapter() {
@Override
@@ -307,6 +326,11 @@ public class SearchImage_GUI extends JFrame { // Textfield eingabe auslesen
String stext = textFieldName.getText().trim();
+
+
+
+
+
// Wenn Textfield nicht leer
if (stext != "")
{
@@ -314,44 +338,54 @@ public class SearchImage_GUI extends JFrame { // Filtere nach der Eingabe
- filters.clear();
- filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
- filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
- rf = RowFilter.orFilter(filters);
+ 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);
+
+ orFilters.clear();
- rowSorterAll.setRowFilter(rf);
- rowSorterMyImages.setRowFilter(rf);
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
+ orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+
+ orFilter = RowFilter.orFilter(orFilters);
- filters.clear();
- filters.add(RowFilter.regexFilter("1", 8));
- rf = RowFilter.andFilter(filters);
- rowSorterPublicVorlagen.setRowFilter(rf);
- //rowSorterAll.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0));
- //rowSorterMyImages.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0));
- //rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(textFieldName.getText(), 0));
+ 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
}
else
{ //refresh list
activeSearch = false;
String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname();
- filters.clear();
- filters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
- rf = RowFilter.orFilter(filters);
+ orFilters.clear();
+ orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
+ orFilter = RowFilter.andFilter(orFilters);
- rowSorterMyImages.setRowFilter(rf);
- rowSorterAll.setRowFilter(rf);
+ rowSorterMyImages.setRowFilter(orFilter);
+ rowSorterAll.setRowFilter(orFilter);
//in addition, templates can only be shown when they really are templates!
- filters.clear();
- filters.add(RowFilter.regexFilter("1", 8));
- rf = RowFilter.andFilter(filters);
- rowSorterPublicVorlagen.setRowFilter(rf);
- //rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4));
- //rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8));
- //rowSorterAll.setRowFilter(null);
+ 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();
@@ -472,6 +506,10 @@ public class SearchImage_GUI extends JFrame { new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
+
+
+ if(tableAllImages.getSelectedRow() != -1)
+ {
String imageid = modelAll.getValueAt(
tableAllImages
.convertRowIndexToModel(tableAllImages
@@ -485,6 +523,7 @@ public class SearchImage_GUI extends JFrame { writeImageData(imageid, version);
}
+ }
});
tableAllImages.setModel(modelAll);
tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -532,6 +571,9 @@ public class SearchImage_GUI extends JFrame { tablePublicVorlagen.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
+
+ if(tablePublicVorlagen.getSelectedRow() != -1)
+ {
String imageid = modelPublicVorlagen
.getValueAt(
tablePublicVorlagen
@@ -546,6 +588,9 @@ public class SearchImage_GUI extends JFrame { .toString();
writeImageData(imageid, version);
}
+ }
+
+
});
tablePublicVorlagen.setModel(modelPublicVorlagen);
tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -954,8 +999,10 @@ public class SearchImage_GUI extends JFrame { 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());
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
+ System.out.println(model.getValueAt(x, 9));
x++;
i.next();
diff --git a/dozentenmodul/src/main/java/thrift/ThriftConnection.java b/dozentenmodul/src/main/java/thrift/ThriftConnection.java index 98f4cb77..50315ae5 100644 --- a/dozentenmodul/src/main/java/thrift/ThriftConnection.java +++ b/dozentenmodul/src/main/java/thrift/ThriftConnection.java @@ -45,7 +45,7 @@ public class ThriftConnection { LOGGER.info("Verbindung zu "+satAddress+" wurde aufgebaut."); return client; - } + } public void closeThriftConnection() { |
