diff options
| author | Nino Breuer | 2014-10-30 09:58:59 +0100 |
|---|---|---|
| committer | Nino Breuer | 2014-10-30 09:58:59 +0100 |
| commit | 16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26 (patch) | |
| tree | 23daea4242e8588f4fd0258a37d5c1db3653cf2a | |
| parent | Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module (diff) | |
| download | tutor-module-16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26.tar.gz tutor-module-16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26.tar.xz tutor-module-16cadcd0c0d9ea752b9e9a16f9bd390ecbe81e26.zip | |
• 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)
13 files changed, 352 insertions, 143 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java index 26b40619..a9dc23ab 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java @@ -227,7 +227,7 @@ public class CreateImageAllgemein_GUI extends JFrame { txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); txtrGebenSieBitte - .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); + .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Java Wintersemester bei...\""); txtrGebenSieBitte.setBounds(145, 48, 350, 49); panel_1.add(txtrGebenSieBitte); diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java index 22344d2f..e3104902 100644 --- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java @@ -115,22 +115,26 @@ public class DeleteImage_GUI extends JFrame { ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); + + /* final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; + */ final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; + /* final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } - }; + };*/ /* final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( modelAll); @@ -153,6 +157,7 @@ public class DeleteImage_GUI extends JFrame { filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); + addWindowListener(new WindowAdapter() { @@ -165,9 +170,9 @@ public class DeleteImage_GUI extends JFrame { @Override public void windowOpened(WindowEvent arg0) { - initTableModel(modelAll); + //initTableModel(modelAll); initTableModel(modelMyImages); - initTableModel(modelPublicVorlagen); + //initTableModel(modelPublicVorlagen); // auszublendende Angaben // 1=Lizenzpflichtig @@ -497,6 +502,9 @@ public class DeleteImage_GUI extends JFrame { tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyImages.getSelectedRow() != -1) + { String imageid = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages @@ -508,7 +516,9 @@ public class DeleteImage_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); + } } + }); tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyImages.setModel(modelMyImages); @@ -752,6 +762,8 @@ public class DeleteImage_GUI extends JFrame { // Initiale Beffuelung eines Table models public DefaultTableModel initTableModel(DefaultTableModel model) { + + List<server.generated.Image> images; try { // Hole eine Liste der Images @@ -759,10 +771,12 @@ public class DeleteImage_GUI extends JFrame { Iterator<server.generated.Image> i = images.iterator(); + System.out.println("Size of image list="+images.size()); + int x = 0; SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); - + while (i.hasNext()) { // erzeuge Objekte fuer die Tabelle Object[] obj = { images.get(x).getImageName(), @@ -778,8 +792,13 @@ public class DeleteImage_GUI extends JFrame { model.addRow(obj); x++; i.next(); + + } + if(x==0){ + System.out.println("Damn... nothing to do here.."); + } return model; } catch (TException | ParseException e1) { diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java index 8238c5c1..2b8efe56 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java @@ -225,7 +225,7 @@ public class EditImageAllgemein_GUI extends JFrame { txtrGebenSieBitte.setLineWrap(true); txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); txtrGebenSieBitte - .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Programmieren 1\""); + .setText("Geben Sie bitte einen sprechenden Namen für das Image an.\r\nDieser soll jedoch recht allgemein gehalten werden.\r\nBeispiel: \"Programmieren\", nicht \"Java Wintersemester bei...\""); txtrGebenSieBitte.setBounds(145, 48, 350, 55); panel_1.add(txtrGebenSieBitte); diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index 67aab17d..afbbbab2 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -20,6 +20,7 @@ import java.net.URI; import java.net.URISyntaxException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -100,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" }; // Angezeigt
+ "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; // Angezeigt
// werden
// aber
// nur
@@ -143,11 +144,18 @@ public class SearchImage_GUI extends JFrame { modelMyImages);
final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
modelPublicVorlagen);
+
+ RowFilter rf = null;
+ List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
/**
* Create the dialog.
*/
public SearchImage_GUI(Component formerGUI) {
+
+ filters.add(RowFilter.regexFilter(".", 0));
+ rf = RowFilter.orFilter(filters);
+
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
@@ -183,32 +191,28 @@ public class SearchImage_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);
@@ -225,6 +229,10 @@ public class SearchImage_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();
}
});
@@ -304,19 +312,51 @@ public class SearchImage_GUI extends JFrame { {
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));
+
+
+ filters.clear();
+ filters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive
+ filters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive
+ rf = RowFilter.orFilter(filters);
+
+ rowSorterAll.setRowFilter(rf);
+ rowSorterMyImages.setRowFilter(rf);
+
+ 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));
}
else
{ //refresh list
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);
+
+ filters.clear();
+ filters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
+ rf = RowFilter.orFilter(filters);
+
+ rowSorterMyImages.setRowFilter(rf);
+ rowSorterAll.setRowFilter(rf);
+
+ //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);
}
+ tablemyImages.clearSelection();
+ tableAllImages.clearSelection();
+ tablePublicVorlagen.clearSelection();
+
+ resetImageInfo();
}
});
@@ -457,10 +497,12 @@ public class SearchImage_GUI extends JFrame { tablemyImages = new JTable();
tablemyImages.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
+ public void valueChanged(ListSelectionEvent e)
+ {
+ if (tablemyImages.getSelectedRow() != -1) {
String imageid = modelMyImages.getValueAt(
tablemyImages
- .convertRowIndexToModel(tablemyImages //hier wird auf myImages zugegriffen, obwohl man sich in Vorlage oder "Alle" befindet.
+ .convertRowIndexToModel(tablemyImages //fehler nur, wenn zeile selektiert und dann suche eingegeben wird!
.getSelectedRow()), 6)
.toString();
String version = modelMyImages.getValueAt(
@@ -469,7 +511,10 @@ public class SearchImage_GUI extends JFrame { .getSelectedRow()), 7)
.toString();
writeImageData(imageid, version);
+ }
}
+
+
});
tablemyImages.setModel(modelMyImages);
tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -907,7 +952,8 @@ public class SearchImage_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++;
@@ -926,6 +972,25 @@ public class SearchImage_GUI extends JFrame { return model;
}
+
+ private void resetImageInfo() {
+ //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("");
+
+ }
+
public void writeImageData(String id, String version) {
try {
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java index bcb14c9e..b4c54ab3 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java @@ -77,7 +77,7 @@ public class CreateLectureAllgemein_GUI extends JFrame { "Eine Angabe des Namens des Dozenten kann daher hilfreich sein, wenn mehrere ähnliche Veranstaltungen vorliegen.<br />" + "Geben Sie in der Beschreibung kurz an, was in dieser Veranstaltung behandelt wird, evtl. auch mit welcher Software" + "</div></html>"; - + int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft // aktiv sein darf boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, @@ -259,15 +259,15 @@ public class CreateLectureAllgemein_GUI extends JFrame { txtFldVeranstaltungsname.setText(Lecture.lecture.getName()); panel_2.add(txtFldVeranstaltungsname); - JTextArea textArea = new JTextArea(); - textArea.setEditable(false); - textArea.setWrapStyleWord(true); - textArea.setText("Geben Sie bitte einen sprechenden Namen für die Veranstaltung an. Dieser soll jedoch recht spezifisch sein.\r\nBeispiel: \"Programmieren 1\", nicht \"Programmieren\""); - textArea.setLineWrap(true); - textArea.setFont(new Font("Tahoma", Font.PLAIN, 12)); - textArea.setBackground(SystemColor.menu); - textArea.setBounds(10, 49, 537, 49); - panel_2.add(textArea); + JTextArea txtrGebenSieBitte = new JTextArea(); + txtrGebenSieBitte.setEditable(false); + txtrGebenSieBitte.setWrapStyleWord(true); + txtrGebenSieBitte.setText("Geben Sie bitte einen sprechenden Namen für die Veranstaltung an. Dieser soll jedoch recht spezifisch sein.\r\nBeispiel: \"Gundlagen Programmieren Sommersemester...\", nicht \"Programmieren\""); + txtrGebenSieBitte.setLineWrap(true); + txtrGebenSieBitte.setFont(new Font("Tahoma", Font.PLAIN, 12)); + txtrGebenSieBitte.setBackground(SystemColor.menu); + txtrGebenSieBitte.setBounds(10, 49, 537, 49); + panel_2.add(txtrGebenSieBitte); JLabel lblDesc = new JLabel("Beschreibung: *"); lblDesc.setBounds(10, 111, 180, 14); diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 2f4d958a..ba45cb92 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_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; @@ -95,7 +96,7 @@ public class CreateLectureLink_GUI extends JFrame { Component c = null; private JTextField textFieldName; 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(); @@ -105,22 +106,25 @@ public class CreateLectureLink_GUI extends JFrame { + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung erzeugen\"." + "</div></html>"; - 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 modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; + /* final DefaultTableModel modelPublicVorlagen = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; } }; + */ // final TableRowSorter<TableModel> rowSorterAll = new // TableRowSorter<TableModel>( // modelAll); @@ -130,11 +134,18 @@ public class CreateLectureLink_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); /** * Create the dialog. */ public CreateLectureLink_GUI(Component formerGUI) { + + filters.add(RowFilter.regexFilter(".", 0)); + rf = RowFilter.orFilter(filters); + addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -146,8 +157,8 @@ public class CreateLectureLink_GUI extends JFrame { public void windowOpened(WindowEvent arg0) { try { initTableModel(modelMyImages); - initTableModel(modelAll); - initTableModel(modelPublicVorlagen); + //initTableModel(modelAll); + //initTableModel(modelPublicVorlagen); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -177,6 +188,9 @@ public class CreateLectureLink_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); textFieldName.requestFocusInWindow(); } @@ -250,23 +264,23 @@ public class CreateLectureLink_GUI extends JFrame { 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)); + 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 { 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); + filters.clear(); + filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything + rf = RowFilter.orFilter(filters); + rowSorterMyImages.setRowFilter(rf); } + tablemyImages.clearSelection(); + + resetLectureInfo(); } @@ -353,6 +367,9 @@ public class CreateLectureLink_GUI extends JFrame { tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyImages.getSelectedRow() != -1) + { String imageid = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages @@ -372,7 +389,10 @@ public class CreateLectureLink_GUI extends JFrame { // TODO Auto-generated catch block e1.printStackTrace(); } + } } + + }); tablemyImages.setModel(modelMyImages); tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit(); @@ -736,7 +756,8 @@ public class CreateLectureLink_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); @@ -748,6 +769,23 @@ public class CreateLectureLink_GUI extends JFrame { return model; } + + 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(""); + } public void writeImageData(String id, String version) throws TException, ParseException { diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java index b2bd4ac8..685f3a81 100644 --- a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java @@ -20,6 +20,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -87,10 +88,11 @@ public class DeleteLecture_GUI extends JFrame { ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); - final DefaultTableModel modelAll = new DefaultTableModel(titles, 0); + final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0); - final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( - modelAll); + + + final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( modelMyLectures); private JButton button; @@ -103,11 +105,18 @@ public class DeleteLecture_GUI extends JFrame { + "Sie können die Veranstaltungen hier löschen. Alternativ werden veraltete Einträge irgendwann automatisch gelöscht.<br />" + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." + "</div></html>"; + + RowFilter rf = null; + List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2); /** * Create the dialog. */ public DeleteLecture_GUI(Component formerGUI) { + + filters.add(RowFilter.regexFilter(".", 0)); + rf = RowFilter.orFilter(filters); + addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -121,7 +130,7 @@ public class DeleteLecture_GUI extends JFrame { textFieldName.requestFocusInWindow(); try { initTableModel(modelMyLectures); - initTableModel(modelAll); + //initTableModel(modelAll); } catch (ParseException e) { // TODO Auto-generated catch block @@ -154,38 +163,7 @@ public class DeleteLecture_GUI extends JFrame { tablemyLectures.getColumnModel().getColumn(8).setMinWidth(0); tablemyLectures.getColumnModel().getColumn(8).setMaxWidth(0); - /* - * tableAllLectures.getColumnModel().getColumn(1).setWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(1).setMinWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(1).setMaxWidth(0); - * tableAllLectures.getColumnModel().getColumn(2).setWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(2).setMinWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(2).setMaxWidth(0); - * tableAllLectures.getColumnModel().getColumn(3).setWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(3).setMinWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(3).setMaxWidth(0); - * tableAllLectures.getColumnModel().getColumn(6).setWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(6).setMinWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(6).setMaxWidth(0); - * tableAllLectures.getColumnModel().getColumn(7).setWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(7).setMinWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(7).setMaxWidth(0); - * tableAllLectures.getColumnModel().getColumn(8).setWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(8).setMinWidth(0); - * tableAllLectures - * .getColumnModel().getColumn(8).setMaxWidth(0); - */ + } }); // Verhindert das Vergroessern Des Fensters @@ -254,22 +232,30 @@ public class DeleteLecture_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); + filters.clear(); + filters.add(RowFilter.regexFilter(".", 0)); //case insensitive, filter for anything + rf = RowFilter.orFilter(filters); + rowSorterMyLectures.setRowFilter(rf); } + + tablemyLectures.clearSelection(); + + resetLectureInfo(); } }); @@ -315,6 +301,9 @@ public class DeleteLecture_GUI extends JFrame { tablemyLectures.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyLectures.getSelectedRow() != -1) + { String imageid = modelMyLectures.getValueAt( tablemyLectures .convertRowIndexToModel(tablemyLectures @@ -331,6 +320,9 @@ public class DeleteLecture_GUI extends JFrame { e1.printStackTrace(); } } + } + + }); tablemyLectures.setModel(modelMyLectures); @@ -659,7 +651,8 @@ public class DeleteLecture_GUI extends JFrame { lectures.get(x).isActive, out.format(in.parse(lectures.get(x).lastused)), lectures.get(x).username, lectures.get(x).imagename, - " ", lectures.get(x).id }; + " ", lectures.get(x).id, + }; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; @@ -674,6 +667,21 @@ public class DeleteLecture_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 { diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index ab52626f..751f7380 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -73,7 +73,7 @@ public class EditLectureAllgemein_GUI extends JFrame { // longer than // MAX_DESCRIPTION_LENGTH private final int MAX_DESCRIPTION_LENGTH = 254; - + int maxLifeTime = 180; // Anzahl Tage, die eine Veranstaltung in der Zukunft // aktiv sein darf boolean isDateOrderCorrect, isDateMaxLifeTimeCorrect, diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index af2ef7e6..da6e5ce6 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -442,7 +442,7 @@ public class EditLectureLink_GUI extends JFrame { public void valueChanged(ListSelectionEvent e) { String imageid = modelMyImages.getValueAt( tablemyImages - .convertRowIndexToModel(tablemyImages + .convertRowIndexToModel(tablemyImages //selber fehler wie bei image .getSelectedRow()), 6) .toString(); String version = modelMyImages.getValueAt( 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." + "</div></html>"; - 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<TableModel> rowSorterAll = new TableRowSorter<TableModel>( - modelAll); + /*final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>( + modelAll);*/ + final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( modelMyLectures); + + RowFilter rf = null; + List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(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 { diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java index d4d49ec2..8ddd4e81 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java @@ -93,7 +93,7 @@ public class PermissionCreateLecture_GUI extends JFrame { + "und/oder ob die Veranstaltung auch im VMChooser angezeigt wird." + "</div></html>"; private List<Person> map = null; // List of people who have rights - + final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index 05b7959e..e8dd5608 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -91,7 +91,7 @@ public class PermissionEditLecture_GUI extends JFrame { } return false; } - + public Class getColumnClass(int c) { switch (c) { case 0: diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index 146f7640..d61aca35 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -21,6 +21,7 @@ import java.net.URI; import java.net.URISyntaxException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -90,26 +91,36 @@ public class SearchLecture_GUI extends JFrame { "Verantwortlicher", "Image", "Schlagwort", "ID" };
ThriftConnection con = new ThriftConnection();
Client client = models.Client.clientcon.getClient();
+
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<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
modelAll);
+
final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>(
modelMyLectures);
+ RowFilter rf = null;
+ List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
/**
* Create the dialog.
*/
public SearchLecture_GUI(Component formerGUI) {
+
+ filters.add(RowFilter.regexFilter(".", 0));
+ rf = RowFilter.orFilter(filters);
+
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent arg0) {
@@ -121,7 +132,7 @@ public class SearchLecture_GUI extends JFrame { public void windowOpened(WindowEvent arg0) {
try {
initTableModel(modelMyLectures);
- initTableModel(modelAll);
+ //initTableModel(modelAll);
} catch (ParseException e) {
// TODO Auto-generated catch block
@@ -233,19 +244,26 @@ public class SearchLecture_GUI extends JFrame { if (stext != "") {
activeSearch=true;
// Filtere nach der Eingabe
- rowSorterAll.setRowFilter(RowFilter.regexFilter(
- textFieldName.getText(), 0));
- rowSorterMyLectures.setRowFilter(RowFilter.regexFilter(
- textFieldName.getText(), 0));
+ 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);
+ rowSorterAll.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);
+ rowSorterAll.setRowFilter(rf);
}
+ tablemyLectures.clearSelection();
+ tableAllLectures.clearSelection();
+
+ resetLectureInfo();
}
});
@@ -342,6 +360,8 @@ public class SearchLecture_GUI extends JFrame { {
public void valueChanged(ListSelectionEvent e)
{
+ if(tablemyLectures.getSelectedRow() != -1)
+ {
String imageid = modelMyLectures
.getValueAt(
tablemyLectures
@@ -359,6 +379,9 @@ public class SearchLecture_GUI extends JFrame { e1.printStackTrace();
}
}
+ }
+
+
});
tablemyLectures.setModel(modelMyLectures);
@@ -601,6 +624,23 @@ public class SearchLecture_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{
SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
