summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/gui
diff options
context:
space:
mode:
authorNino Breuer2014-11-03 09:17:29 +0100
committerNino Breuer2014-11-03 09:17:29 +0100
commit4a078e9847b348441fdd7a36b558e107a7280ff0 (patch)
tree8ad894376343bd00b46bceb113ace5ce1e02737c /dozentenmodul/src/main/java/gui
parent v (diff)
parent• fixed bug which caused search guis to be closed when pressing enter in se... (diff)
downloadtutor-module-4a078e9847b348441fdd7a36b558e107a7280ff0.tar.gz
tutor-module-4a078e9847b348441fdd7a36b558e107a7280ff0.tar.xz
tutor-module-4a078e9847b348441fdd7a36b558e107a7280ff0.zip
Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module
Conflicts: dozentenmodulserver/src/main/java/sql/SQL.java • Note: manual merge
Diffstat (limited to 'dozentenmodul/src/main/java/gui')
-rw-r--r--dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java12
-rw-r--r--dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java35
-rw-r--r--dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java3
-rw-r--r--dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java30
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java217
-rw-r--r--dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java15
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java20
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java86
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java104
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java59
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java73
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java2
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java62
17 files changed, 540 insertions, 186 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..41dd1057 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);
@@ -447,12 +447,14 @@ public class CreateImageAllgemein_GUI extends JFrame {
return false;
}
- // only allow letter from alphabet and numbers for the image name
- if (!imagename.getText().matches("[a-zA-Z0-9]+")) {
- LOGGER.info("Image name not alpha-numerical, warning user.");
+ // only allow letter from alphabet and numbers for the image name and certain special chars
+ // x2B= "+" x2C="-" x3A=":" x5F="_"
+ //
+ if (!imagename.getText().trim().matches("[a-zA-Z0-9\\x2B\\x2D\\x3A\\x5F]+")) {
+ LOGGER.info("Image name not alpha-numerical, warn user.");
JOptionPane.showMessageDialog(
c,
- "Der Imagename darf keine Leer- oder Sonderzeichen enthalten.",
+ "Der Imagename darf nur aus Buchstaben, Zahlen und den Zeichen + - _ : bestehen.",
"Unerlaubte Zeichen",
JOptionPane.ERROR_MESSAGE);
return false;
diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java
index 22344d2f..e3f482e2 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");
-
+ 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) {
@@ -812,8 +831,8 @@ public class DeleteImage_GUI extends JFrame {
public void writeImageData(String id, String version) {
try {
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
Map<String, String> res = client.getImageData(id, version);
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java
index 8238c5c1..1d1fbc85 100644
--- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java
@@ -160,6 +160,7 @@ public class EditImageAllgemein_GUI extends JFrame {
Vorname.setEnabled(false);
Vorname.setBackground(Color.WHITE);
Vorname.setText(person.verantwortlicher.getVorname());
+ //Vorname.setText(Image.image.get);
Vorname.setColumns(10);
Vorname.setBounds(145, 245, 350, 20);
panel_1.add(Vorname);
@@ -225,7 +226,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/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
index 8db64f4f..b1c7efb0 100644
--- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
@@ -574,7 +574,7 @@ public class FTPCreateUploader_GUI extends JFrame implements
"Konnte vom Satellit keinen FTP-User erhalten!",
"Debug-Message", JOptionPane.ERROR_MESSAGE);
}
- DateFormat formatter = new SimpleDateFormat("yyyMMddhhmmss");
+ DateFormat formatter = new SimpleDateFormat("yyyMMddHHmmss");
LOGGER.info("Setting new name: " + formatter.format(new Date()) + "_"
+ person.verantwortlicher.getHochschule() + "_"
diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java
index 369bf110..c27e6a04 100644
--- a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java
+++ b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java
@@ -566,7 +566,7 @@ public class FTPEditUploader_GUI extends JFrame implements
"Konnte vom Satelliten keine FTP-User erhalten!",
"Debug-Message", JOptionPane.ERROR_MESSAGE);
}
- DateFormat formatter = new SimpleDateFormat("yyyMMddhhmmss");
+ DateFormat formatter = new SimpleDateFormat("yyyMMddHHmmss");
LOGGER.info("Setting new Name: " + formatter.format(new Date()) + "_"
+ person.verantwortlicher.getHochschule() + "_"
diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java
index 403520a0..bac85d04 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();
@@ -467,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 67aab17d..1d0a37ce 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,39 @@ public class SearchImage_GUI extends JFrame {
modelMyImages);
final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>(
modelPublicVorlagen);
+
+
+
+
+ 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 templateFilter = null;
+ ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>();
+
+
/**
* 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
public void windowClosing(WindowEvent arg0) {
@@ -160,7 +189,7 @@ public class SearchImage_GUI extends JFrame {
public void windowOpened(WindowEvent arg0) {
initTableModel(modelAll);
initTableModel(modelMyImages);
- initTableModel(modelPublicVorlagen);
+ initTableModelTemplates(modelPublicVorlagen);
// auszublendende Angaben
// 1=Lizenzpflichtig
@@ -183,32 +212,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 +250,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();
}
});
@@ -299,24 +328,63 @@ public class SearchImage_GUI extends JFrame {
// Textfield eingabe auslesen
String stext = textFieldName.getText().trim();
+
+
+
+
+
// Wenn Textfield nicht leer
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));
+ 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);
+
+ andFilters.add(RowFilter.regexFilter("1", 8));
+ andFilter = RowFilter.andFilter(andFilters);
+
+ finalFilters.add(andFilter);
+ finalFilters.add(orFilter);
+ templateFilter = RowFilter.andFilter(finalFilters);
+ rowSorterPublicVorlagen.setRowFilter(templateFilter); //TODO füttere finalFilter mit andFilter und orFilter --> TEST
}
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);
+
+ orFilters.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();
+
+ resetImageInfo();
}
});
@@ -432,6 +500,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
@@ -445,6 +517,7 @@ public class SearchImage_GUI extends JFrame {
writeImageData(imageid, version);
}
+ }
});
tableAllImages.setModel(modelAll);
tableAllImages.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -457,10 +530,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 +544,10 @@ public class SearchImage_GUI extends JFrame {
.getSelectedRow()), 7)
.toString();
writeImageData(imageid, version);
+ }
}
+
+
});
tablemyImages.setModel(modelMyImages);
tablemyImages.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -487,6 +565,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
@@ -501,6 +582,9 @@ public class SearchImage_GUI extends JFrame {
.toString();
writeImageData(imageid, version);
}
+ }
+
+
});
tablePublicVorlagen.setModel(modelPublicVorlagen);
tablePublicVorlagen.getColumnModel().getColumn(1).sizeWidthToFit();
@@ -680,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
}
}
@@ -907,9 +991,12 @@ 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()};
+ 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();
@@ -925,7 +1012,73 @@ public class SearchImage_GUI extends JFrame {
}
return model;
}
+
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModelTemplates(DefaultTableModel model) {
+ List<server.generated.Image> images;
+ try {
+ // Hole eine Liste der Images
+ images = client.getImageListAllTemplates();
+
+ Iterator<server.generated.Image> i = images.iterator();
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ int x = 0;
+
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = { images.get(x).getImageName(),
+ images.get(x).getLicenseRestriction(),
+ images.get(x).getOsName(),
+ images.get(x).getLectureName(),
+ 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()};
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ x++;
+ i.next();
+ }
+
+ return model;
+ } catch (TException | ParseException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ JOptionPane.showMessageDialog(c,
+ e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ return model;
+ }// end initTableModelTemplates
+
+
+
+
+
+
+
+ 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/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
index fd95bd8d..b54e139a 100644
--- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
+++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java
@@ -141,6 +141,9 @@ public class MainMenue_GUI extends JFrame {
//reset the list of permissions every time the user goes back to the main menu
RightsManagement.rightsManagement.getPermittedUserList().clear();
+ //reset model
+ Image.image.reset();
+ //Lecture.lecture.reset();
contentPanel.setBounds(10, 104, 567, 502);
@@ -594,12 +597,12 @@ public class MainMenue_GUI extends JFrame {
}// end if else
// always print rights information
- LOGGER.info("Rights: (r, w, cp, a, la) = ("
- + GUIRights.rights.getRead() + ", "
- + GUIRights.rights.getWrite() + ", "
- + GUIRights.rights.getChangePermission() + ", "
- + GUIRights.rights.getAdmin() + ", "
- + GUIRights.rights.getLinkAllowed() + ")");
+ //LOGGER.info("Rights: (r, w, cp, a, la) = ("
+ // + GUIRights.rights.getRead() + ", "
+ // + GUIRights.rights.getWrite() + ", "
+ // + GUIRights.rights.getChangePermission() + ", "
+ // + GUIRights.rights.getAdmin() + ", "
+ // + GUIRights.rights.getLinkAllowed() + ")");
}// end setRoleRights
public void setCorrectRadioButton() {
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..25c59fa7 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();
@@ -724,8 +744,8 @@ public class CreateLectureLink_GUI extends JFrame {
.getUserID());
Iterator<server.generated.Image> i = images.iterator();
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
int x = 0;
while (i.hasNext()) {
@@ -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);
@@ -744,16 +765,33 @@ public class CreateLectureLink_GUI extends JFrame {
i.next();
}
-
+
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 {
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
Map<String, String> res = client.getImageData(id, version);
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
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..415aea3c 100644
--- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
+++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
@@ -147,7 +147,8 @@ public class EditLectureLink_GUI extends JFrame {
try {
initTableModel(modelAll);
initTableModel(modelMyImages);
- initTableModel(modelPublicVorlagen);
+ //initTableModel(modelPublicVorlagen);
+ initTableModelTemplates(modelPublicVorlagen);
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -442,7 +443,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(
@@ -551,7 +552,7 @@ public class EditLectureLink_GUI extends JFrame {
.toString();
try {
DateFormat formatter = new SimpleDateFormat(
- "yyyy-MM-dd hh:mm:ss");
+ "yyyy-MM-dd HH:mm:ss");
// update the lecture
client.updateLecturedata(
@@ -670,7 +671,7 @@ public class EditLectureLink_GUI extends JFrame {
.toString();
try {
DateFormat formatter = new SimpleDateFormat(
- "yyyy-MM-dd hh:mm:ss");
+ "yyyy-MM-dd HH:mm:ss");
client.updateLecturedata(
Lecture.lecture.getName(),
Lecture.lecture.getNewName(),
@@ -780,7 +781,7 @@ public class EditLectureLink_GUI extends JFrame {
.toString();
try {
DateFormat formatter = new SimpleDateFormat(
- "yyyy-MM-dd hh:mm:ss");
+ "yyyy-MM-dd HH:mm:ss");
client.updateLecturedata(
Lecture.lecture.getName(),
Lecture.lecture.getNewName(),
@@ -1107,8 +1108,8 @@ public class EditLectureLink_GUI extends JFrame {
.getUserID());
Iterator<server.generated.Image> i = images.iterator();
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
int x = 0;
while (i.hasNext()) {
@@ -1130,11 +1131,51 @@ public class EditLectureLink_GUI extends JFrame {
return model;
}
+
+
+ // Initiale Beffuelung eines Table models
+ public DefaultTableModel initTableModelTemplates(DefaultTableModel model)
+ throws TException, ParseException {
+ List<server.generated.Image> images;
+
+ // Hole eine Liste der Images
+ //images = client.getImageListPermissionLink(person.verantwortlicher.getUserID());
+ images = client.getImageListAllTemplates();
+
+ Iterator<server.generated.Image> i = images.iterator();
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ int x = 0;
+
+ while (i.hasNext()) {
+ // erzeuge Objekte fuer die Tabelle
+ Object[] obj = { images.get(x).getImageName(),
+ images.get(x).getLicenseRestriction(),
+ images.get(x).getOsName(), images.get(x).getLectureName(),
+ images.get(x).getUserData(),
+ out.format(in.parse(images.get(x).updateTime)),
+ images.get(x).id, images.get(x).getVersion(),
+ images.get(x).getIsTemplate() };
+ // Fuege diese Objekte der Tabelle hinzu
+ model.addRow(obj);
+ x++;
+ i.next();
+
+ }
+
+ return model;
+
+ }
+
+
+
+
+
public void writeImageData(String id, String version) {
try {
- SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
+ SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
Map<String, String> res = client.getImageData(id, version);
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java
index 01b93f47..ca33dc3c 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);
@@ -331,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");
@@ -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..457d3983 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);
@@ -395,7 +418,7 @@ public class SearchLecture_GUI extends JFrame {
});
btnBack.setActionCommand("OK");
buttonPane.add(btnBack);
- getRootPane().setDefaultButton(btnBack);
+ //getRootPane().setDefaultButton(btnBack);
}
}
@@ -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");