diff options
| author | Nino Breuer | 2014-11-03 09:17:29 +0100 |
|---|---|---|
| committer | Nino Breuer | 2014-11-03 09:17:29 +0100 |
| commit | 4a078e9847b348441fdd7a36b558e107a7280ff0 (patch) | |
| tree | 8ad894376343bd00b46bceb113ace5ce1e02737c /dozentenmodul/src/main/java | |
| parent | v (diff) | |
| parent | • fixed bug which caused search guis to be closed when pressing enter in se... (diff) | |
| download | tutor-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')
24 files changed, 697 insertions, 224 deletions
diff --git a/dozentenmodul/src/main/java/ftp/DownloadTask.java b/dozentenmodul/src/main/java/ftp/DownloadTask.java index 17becc52..f040e20d 100644 --- a/dozentenmodul/src/main/java/ftp/DownloadTask.java +++ b/dozentenmodul/src/main/java/ftp/DownloadTask.java @@ -1,16 +1,23 @@ package ftp; -import gui.image.FTPEditDownloader_GUI; -import gui.intro.Login_GUI; - import java.io.File; import java.io.FileOutputStream; +import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.Map; import javax.swing.JOptionPane; import javax.swing.SwingWorker; +import models.Image; + +import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; +import org.apache.thrift.TException; + +import config.Config; +import util.ResourceLoader; /** * Execute file download in a background thread and update the progress. @@ -24,9 +31,11 @@ public class DownloadTask extends SwingWorker<Void, Void> { * Logger instance for this class. */ private final static Logger LOGGER = Logger.getLogger(DownloadTask.class); - - // 8MB buffer + private static final int BUFFER_SIZE = 8 * 1024 * 1024; + private static final double UPDATE_INTERVAL_SECONDS = 0.6; + private static final double UPDATE_INTERVAL_MS = UPDATE_INTERVAL_SECONDS * 1000; + private static final double BYTES_PER_MIB = 1024 * 1024; private String host; private int port; @@ -44,7 +53,6 @@ public class DownloadTask extends SwingWorker<Void, Void> { this.password = password; this.downloadPath = downloadPath; this.saveDir = saveDir; - } /** @@ -56,40 +64,47 @@ public class DownloadTask extends SwingWorker<Void, Void> { try { util.connect(); - byte[] buffer = new byte[BUFFER_SIZE]; - int bytesRead = -1; - long totalBytesRead = 0; - percentCompleted = 0; - long start = System.nanoTime(); - final double NANOS_PER_SECOND = 1000000000.0; - final double BYTES_PER_MIB = 1024 * 1024; + // show filesize in the GUI long fileSize = util.getFileSize(downloadPath); - // gui.setFileSize(fileSize); + firePropertyChange("filesize", 0, fileSize); + util.downloadFile(downloadPath); + // prepare the input/output streams String fileName = new File(downloadPath).getName(); - File downloadFile = new File(saveDir + File.separator + fileName); FileOutputStream outputStream = new FileOutputStream(downloadFile); - - util.downloadFile(downloadPath); InputStream inputStream = util.getInputStream(); - while ((bytesRead = inputStream.read(buffer)) != -1 - && isCancelled() == false) { + // initialize the counters needed for speed calculations + percentCompleted = 0; + byte[] buffer = new byte[BUFFER_SIZE]; + int bytesRead = -1; + long totalBytesRead = 0; + long lastUpdate = 0; + long lastBytes = 0; + long currentBytes = 0; + while ((bytesRead = inputStream.read(buffer)) != -1 && !isCancelled()) { outputStream.write(buffer, 0, bytesRead); + currentBytes += bytesRead; totalBytesRead += bytesRead; - double speed = NANOS_PER_SECOND / BYTES_PER_MIB - * totalBytesRead / (System.nanoTime() - start + 1); - percentCompleted = (int) (totalBytesRead * 100 / fileSize); - setProgress(percentCompleted); - firePropertyChange("speed", 0, speed); - firePropertyChange("filesize", 0, fileSize); - firePropertyChange("bytesread", 0, totalBytesRead); - + long now = System.currentTimeMillis(); + if (lastUpdate + UPDATE_INTERVAL_MS < now) { + percentCompleted = (int) ((totalBytesRead * 100) / fileSize); + setProgress(percentCompleted); + lastBytes = (lastBytes * 2 + currentBytes) / 3; + final double speed = lastBytes / UPDATE_INTERVAL_SECONDS; + firePropertyChange("speed", 0, speed / BYTES_PER_MIB); + firePropertyChange("bytesread", 0, totalBytesRead); + lastUpdate = now; + currentBytes = 0; + } } - + // finalize the download by updating the progress bar one last time + // (in case we didn't get to do it because of the time interval) + percentCompleted = (int) ((totalBytesRead * 100) / fileSize); + setProgress(percentCompleted); + firePropertyChange("bytesread", 0, totalBytesRead); outputStream.close(); - util.finish(); } catch (FTPException ex) { JOptionPane.showMessageDialog(null, @@ -112,8 +127,10 @@ public class DownloadTask extends SwingWorker<Void, Void> { protected void done() { if (!isCancelled() && percentCompleted==100) { LOGGER.info("Datei erfolgreich heruntergeladen."); + String vmxResult = ""; + vmxResult = generateVmx() ? "Passende VMX generiert." : "Keine passende VMX generiert!"; JOptionPane.showMessageDialog(null, - "Datei erfolgreich heruntergeladen.", "Message", + "Datei erfolgreich heruntergeladen. " + vmxResult, "Message", JOptionPane.INFORMATION_MESSAGE); } else if(!isCancelled() && percentCompleted != 100){ LOGGER.error("Datei wurde unvollständig heruntergeladen."); @@ -122,4 +139,51 @@ public class DownloadTask extends SwingWorker<Void, Void> { JOptionPane.INFORMATION_MESSAGE); } } -}
\ No newline at end of file + /** + * Helper to generate the vmx for the downloaded image + * @return true|false indicating the success of the file creation + */ + private boolean generateVmx() { + String vmxTemplate = ResourceLoader.getTextFile("/txt/vmx_template"); + // TODO: sanity checks on vmxTemplate would be good here... just to be safe + + // now we replace the placeholder variables with the real data + // for this, we first need to get the image information from the server + LOGGER.debug("Image's ID: " + Image.image.getImageId()); + Map<String, String> imageData = null; + try { + imageData = models.Client.clientcon.getClient().getImageData(Image.image.getImageId(), Image.image.getVersion()); + } catch (TException e) { + LOGGER.error("Thrift exception during transfer, see trace: ", e); + return false; + } + + // sanity check, shouldn't happen. + if (imageData == null) { + LOGGER.error("Could not query the image information from the server!"); + LOGGER.error("Image's ID: " + Image.image.getImageId()); + LOGGER.error("Image's version: " + Image.image.getVersion()); + return false; + } + // TODO: sanity checks on the content of imageData would be good here... + // use the information we received about the image + vmxTemplate = vmxTemplate.replace("%VM_DISPLAY_NAME%", imageData.get("name")); + vmxTemplate = vmxTemplate.replace("%VM_GUEST_OS%", imageData.get("os")); + vmxTemplate = vmxTemplate.replace("%VM_CPU_COUNT%", imageData.get("cpu")); + vmxTemplate = vmxTemplate.replace("%VM_RAM_SIZE%", String.valueOf(Integer.valueOf(imageData.get("ram")) * 1024)); + vmxTemplate = vmxTemplate.replace("%VM_DISK_PATH%", imageData.get("path").replaceFirst("^prod/", "")); + + // build filename for the vmx, basicly the same as the path of the vmdk + // just without the leading "prod/" and "vmx" instead of "vmdk" at the end. + String targetFilename = Config.getLastDownloadPath() + File.separator + + imageData.get("path").replaceFirst("^prod/", "").replaceFirst("\\.vmdk$", "") + ".vmx"; + try { + // try to write it to file + FileUtils.writeStringToFile(new File(targetFilename), vmxTemplate, StandardCharsets.UTF_8); + } catch (IOException e) { + LOGGER.error("Could not write vmx-template to '" + targetFilename + "'. See trace: ", e); + return false; + } + return true; + } +} diff --git a/dozentenmodul/src/main/java/ftp/UploadTask.java b/dozentenmodul/src/main/java/ftp/UploadTask.java index 68af1f3c..2579b125 100644 --- a/dozentenmodul/src/main/java/ftp/UploadTask.java +++ b/dozentenmodul/src/main/java/ftp/UploadTask.java @@ -24,9 +24,7 @@ public class UploadTask extends SwingWorker<Void, Void> { */ private final static Logger LOGGER = Logger.getLogger(UploadTask.class); - // 8MB buffer private static final int BUFFER_SIZE = 1024 * 1024; - private static final double UPDATE_INTERVAL_SECONDS = 0.6; private static final double UPDATE_INTERVAL_MS = UPDATE_INTERVAL_SECONDS * 1000; private static final double BYTES_PER_MIB = 1024 * 1024; @@ -60,11 +58,15 @@ public class UploadTask extends SwingWorker<Void, Void> { util.connect(); util.uploadFile(uploadFile, destDir); - FileInputStream inputStream = new FileInputStream(uploadFile); + // show filesize in the GUI long fileSize = uploadFile.length(); Image.image.setFilesize(fileSize); firePropertyChange("filesize", 0, fileSize); + // prepare input stream + FileInputStream inputStream = new FileInputStream(uploadFile); + + // initialize the counters needed for speed calculations percentCompleted = 0; byte[] buffer = new byte[BUFFER_SIZE]; int bytesRead = -1; @@ -88,11 +90,12 @@ public class UploadTask extends SwingWorker<Void, Void> { currentBytes = 0; } } + // finalize the upload by updating the progress bar one last time + // (in case we didn't get to do it because of the time interval) percentCompleted = (int) ((totalBytesRead * 100) / fileSize); setProgress(percentCompleted); firePropertyChange("bytesread", 0, totalBytesRead); inputStream.close(); - util.finish(); } catch (FTPException ex) { JOptionPane.showMessageDialog(null, 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");
diff --git a/dozentenmodul/src/main/java/models/Image.java b/dozentenmodul/src/main/java/models/Image.java index fc31e583..4f7f3968 100644 --- a/dozentenmodul/src/main/java/models/Image.java +++ b/dozentenmodul/src/main/java/models/Image.java @@ -195,7 +195,37 @@ public class Image { public void setVorlage(boolean vorlage) { this.vorlage = vorlage; } + + public void reset() + { + ImageId = null; + version = null; + + imagename = null; + + newName = null; + + imagepath = null; + + OS = null; + + shareMode = 0; + + licensed = false; + + internet = false; + + vorlage = false; + + ram = 0; + + cpu = 0; + + filesize = 0; + + desc = null; + } diff --git a/dozentenmodul/src/main/java/models/Lecture.java b/dozentenmodul/src/main/java/models/Lecture.java index 8f67baba..0b55172b 100644 --- a/dozentenmodul/src/main/java/models/Lecture.java +++ b/dozentenmodul/src/main/java/models/Lecture.java @@ -133,6 +133,27 @@ public class Lecture { this.active = active; } + + public void reset() + { + name = null; + + newName = null; + + shortDesc = null; + + desc = null; + + startdate = null; + + enddate = null; + + active = false; + + id = null; + + linkedImagename = null; + } diff --git a/dozentenmodul/src/main/java/models/person.java b/dozentenmodul/src/main/java/models/person.java index 4ad5bb3d..d1621d00 100644 --- a/dozentenmodul/src/main/java/models/person.java +++ b/dozentenmodul/src/main/java/models/person.java @@ -199,4 +199,5 @@ public class person { } + } diff --git a/dozentenmodul/src/main/java/thrift/ThriftConnection.java b/dozentenmodul/src/main/java/thrift/ThriftConnection.java index 98f4cb77..50315ae5 100644 --- a/dozentenmodul/src/main/java/thrift/ThriftConnection.java +++ b/dozentenmodul/src/main/java/thrift/ThriftConnection.java @@ -45,7 +45,7 @@ public class ThriftConnection { LOGGER.info("Verbindung zu "+satAddress+" wurde aufgebaut."); return client; - } + } public void closeThriftConnection() { diff --git a/dozentenmodul/src/main/java/util/ResourceLoader.java b/dozentenmodul/src/main/java/util/ResourceLoader.java index 7c3c9c62..731cedeb 100644 --- a/dozentenmodul/src/main/java/util/ResourceLoader.java +++ b/dozentenmodul/src/main/java/util/ResourceLoader.java @@ -100,9 +100,9 @@ public class ResourceLoader { } /** - * Tries to load the given resource as File + * Tries to load the given resource treating it as a text file * @param path Resource path to load - * @return the file of the loaded resource + * @return content of the loaded resource as String */ public static String getTextFile(String path) { String fileContent = null; |
