diff options
| author | Nino Breuer | 2014-12-01 16:30:59 +0100 |
|---|---|---|
| committer | Nino Breuer | 2014-12-01 16:30:59 +0100 |
| commit | 6a90495ac046d90a749ec2ec152ffdf4d7d603f0 (patch) | |
| tree | 625e5d14802ad1d3d847ab1895edd85a48167e95 | |
| parent | • changed implementation of user authentication. (diff) | |
| parent | • Admin can download any image (diff) | |
| download | tutor-module-6a90495ac046d90a749ec2ec152ffdf4d7d603f0.tar.gz tutor-module-6a90495ac046d90a749ec2ec152ffdf4d7d603f0.tar.xz tutor-module-6a90495ac046d90a749ec2ec152ffdf4d7d603f0.zip | |
Merge branch 'master' of ssh://git.openslx.org/openslx-ng/tutor-module
Conflicts:
dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java
dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java
dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java
möp. großes geschrei, fehler bitte an mich.
dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java
dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java
dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java
dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java
dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java
dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java
dozentenmodulserver/src/main/java/server/ServerHandler.java
dozentenmodulserver/src/main/java/server/generated/Server.java
dozentenmodulserver/thrift/server.thrift
27 files changed, 1697 insertions, 537 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java index b10000ef..325fe62f 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageAllgemein_GUI.java @@ -112,7 +112,7 @@ public class CreateImageAllgemein_GUI extends JFrame { JOptionPane.ERROR_MESSAGE); } // Setzt den Titel - setTitle("bwLehrpool Suite - Image erzeugen"); + setTitle("bwLehrpool Suite - Image erzeugen - "+person.verantwortlicher.getUserID()); // Zentriert das Fenster setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -147,7 +147,7 @@ public class CreateImageAllgemein_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", + panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 66, 557, 369); contentPanel.add(panel_1); diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java index 12ef7554..e80c3a68 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java @@ -43,7 +43,11 @@ import javax.swing.border.TitledBorder; import models.Image; import models.Links; + import models.SessionData; + +import models.person; + import server.generated.Server.Client; import thrift.ThriftConnection; import util.GuiOrganizer; @@ -108,7 +112,7 @@ public class CreateImageTechnisch_GUI extends JFrame { // TODO Auto-generated catch block e.printStackTrace(); } - setTitle("bwLehrpool Suite - Image erzeugen"); + setTitle("bwLehrpool Suite - Image erzeugen - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -163,6 +167,14 @@ public class CreateImageTechnisch_GUI extends JFrame { panel_1.add(lblNewLabel_2); chckbxIsLicensed = new JCheckBox(""); + chckbxIsLicensed.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //if windows is selected, always set isLicensed()=true + if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + chckbxIsLicensed.setSelected(true); + } + } + }); chckbxIsLicensed.setSelected(true); chckbxIsLicensed.setBounds(266, 52, 97, 23); panel_1.add(chckbxIsLicensed); @@ -170,6 +182,7 @@ public class CreateImageTechnisch_GUI extends JFrame { chckbxIsInternetBlocked = new JCheckBox(""); chckbxIsInternetBlocked.setSelected(Image.image.isInternet()); chckbxIsInternetBlocked.setBounds(266, 80, 97, 23); + chckbxIsInternetBlocked.setEnabled(false); panel_1.add(chckbxIsInternetBlocked); JLabel lblLizenzserverEintragen = new JLabel("Lizenzserver eintragen:"); @@ -189,6 +202,14 @@ public class CreateImageTechnisch_GUI extends JFrame { // populate comboBox with list of supported OS we get // from the server ... comboBox = new JComboBox<String>(); + comboBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //if windows is selected, always set isLicensed()=true + if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + chckbxIsLicensed.setSelected(true); + } + } + }); List<String> os = null; try { os = client.getAllOS(SessionData.session.getAuthToken()); diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java index 09a6a966..525b7a11 100644 --- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java @@ -71,7 +71,7 @@ import javax.swing.JTextArea; @SuppressWarnings("serial") public class DeleteImage_GUI extends JFrame { - + private final static Logger LOGGER = Logger .getLogger(FTPCreateUploader_GUI.class); @@ -95,76 +95,71 @@ public class DeleteImage_GUI extends JFrame { JComboBox<String> comboBox; JTable tablemyImages; private JTextField textFieldName; + private JLabel lblTotalResults = new JLabel("Anzahl:"); boolean activeSearch = false; Component c = null; String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; // Angezeigt - // werden - // aber - // nur - // Name - // (0), - // OS - // (2), - // Verantwortlicher - // (4), - // Letztes - // Update - // (5) - private static final String HELP_MESSAGE = "<html><div align = \"center\">" + - "Löschen Sie hier die Images, die nicht mehr benötigt werden.<br />" + - "Ein gelöschtes Image wird auch tatsächlich physisch gelöscht und kann nicht wiederhergestellt werden.<br />" + - "Wird das Image nach dem Löschen nochmal benötigt, muss es erneut hochgeladen werden." + - "</div></html>"; - - + "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", + "Beschreibung" }; // Angezeigt + // werden + // aber + // nur + // Name + // (0), + // OS + // (2), + // Verantwortlicher + // (4), + // Letztes + // Update + // (5) + private static final String HELP_MESSAGE = "<html><div align = \"center\">" + + "Löschen Sie hier die Images, die nicht mehr benötigt werden.<br />" + + "Ein gelöschtes Image wird auch tatsächlich physisch gelöscht und kann nicht wiederhergestellt werden.<br />" + + "Wird das Image nach dem Löschen nochmal benötigt, muss es erneut hochgeladen werden." + + "</div></html>"; + 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 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 DefaultTableModel modelPublicVorlagen = 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> rowSorterMyImages = new TableRowSorter<TableModel>( modelMyImages); /* - final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( - modelPublicVorlagen); - */ + * final TableRowSorter<TableModel> rowSorterPublicVorlagen = new + * TableRowSorter<TableModel>( modelPublicVorlagen); + */ RowFilter rf = null; - List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2); - + List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>( + 2); + /** * Create the dialog. */ public DeleteImage_GUI(Component formerGUI) { - filters.add(RowFilter.regexFilter(".", 0)); rf = RowFilter.orFilter(filters); - - addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { @@ -181,9 +176,8 @@ public class DeleteImage_GUI extends JFrame { @Override public void windowOpened(WindowEvent arg0) { - //initTableModel(modelAll); + initTableModel(modelMyImages); - //initTableModel(modelPublicVorlagen); // auszublendende Angaben // 1=Lizenzpflichtig @@ -211,7 +205,7 @@ public class DeleteImage_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); tablemyImages.getTableHeader().setReorderingAllowed(false); - + // bis hier textFieldName.requestFocusInWindow(); } @@ -224,11 +218,12 @@ public class DeleteImage_GUI extends JFrame { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { - + e.printStackTrace(); } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image löschen"); + setTitle("bwLehrpool Suite - Image löschen - " + + person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); @@ -281,37 +276,37 @@ public class DeleteImage_GUI extends JFrame { textFieldName = new JTextField(); // Key Listener der Tastatureingabe registriert - - + textFieldName.addKeyListener(new KeyAdapter() { @Override - public void keyReleased(KeyEvent e) - { + public void keyReleased(KeyEvent e) { // Textfield eingabe auslesen String stext = textFieldName.getText().trim(); // Wenn Textfield nicht leer - if (stext != "") - { + if (stext != "") { 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 + 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 + filters.add(RowFilter.regexFilter(".", 0)); // case + // insensitive, + // filter for + // anything rf = RowFilter.orFilter(filters); rowSorterMyImages.setRowFilter(rf); } tablemyImages.clearSelection(); - + resetImageInfo(); } }); @@ -324,7 +319,8 @@ public class DeleteImage_GUI extends JFrame { try { // Holt sich eine Liste aller verfügbaren Betriebssysteme vom // Server - List<String> list = client.getAllOS(SessionData.session.getAuthToken()); + List<String> list = client.getAllOS(SessionData.session + .getAuthToken()); // Leeres Item hinzufuegen comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { @@ -332,7 +328,7 @@ public class DeleteImage_GUI extends JFrame { comboBox.addItem(list.get(i)); } } catch (TException e2) { - + e2.printStackTrace(); JOptionPane.showMessageDialog(c, e2.getCause() + "\n" + e2.getStackTrace(), "Debug-Message", @@ -344,23 +340,28 @@ public class DeleteImage_GUI extends JFrame { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { activeSearch = true; - - /*rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox - .getSelectedItem().toString(), 2));*/ + + /* + * rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox + * .getSelectedItem().toString(), 2)); + */ rowSorterMyImages.setRowFilter(RowFilter.regexFilter( comboBox.getSelectedItem().toString(), 2)); - /*rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - comboBox.getSelectedItem().toString(), 2));*/ + /* + * rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter + * ( comboBox.getSelectedItem().toString(), 2)); + */ } else { activeSearch = false; /* - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); - */ + * String username = person.verantwortlicher.getName() + " " + * + person.verantwortlicher.getVorname(); + */ rowSorterMyImages.setRowFilter(null); - /*rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - "true", 8)); - rowSorterAll.setRowFilter(null);*/ + /* + * rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter + * ( "true", 8)); rowSorterAll.setRowFilter(null); + */ } } @@ -375,7 +376,7 @@ public class DeleteImage_GUI extends JFrame { // oeffnet das Hauuetmenue con.closeThriftConnection(); - + // oeffnet das Hauuetmenue DeleteImage_GUI.this.setVisible(false); @@ -439,31 +440,58 @@ public class DeleteImage_GUI extends JFrame { try { if (!client.connectedToLecture(imageid, - imageversion,SessionData.session.getAuthToken())) { + imageversion, + SessionData.session.getAuthToken())) { try { - - client.deleteImageServer(imageid,imageversion, SessionData.session.getAuthToken()); - - if (client.deleteImageData(imageid,imageversion,SessionData.session.getAuthToken())) { - - LOGGER.info("Image '"+imageid+"' erfolgreich gelöscht."); - - DeleteImage_GUI di = new DeleteImage_GUI(c); - di.setVisible(true); - dispose(); + // try to delete file from file system + if (client.deleteImageServer(imageid, + imageversion, + SessionData.session.getAuthToken()) == true) { + // successful, now delete file from DB + if (client.deleteImageData(imageid, + imageversion, + SessionData.session + .getAuthToken())) { + + LOGGER.info("Image '" + imageid + + "' erfolgreich gelöscht."); + + DeleteImage_GUI di = new DeleteImage_GUI( + c); + di.setVisible(true); + dispose(); + + } else { + //could not delete file from DB + LOGGER.info("Image '" + + imageid + + "' konnte nicht gelöscht werden."); + + JOptionPane + .showConfirmDialog( + c, + "Image konnte nicht gelöscht werden.", + "Fehler", + JOptionPane.INFORMATION_MESSAGE); + } } else { - LOGGER.info("Image '"+imageid+"' konnte nicht gelöscht werden."); + // could not delete file from file + // system + LOGGER.info("Image '" + + imageid + + "' konnte nicht von Server gelöscht werden."); JOptionPane .showConfirmDialog( c, - "Image konnte nicht gelöscht werden.", + "Image konnte nicht vom Server gelöscht werden.", "Fehler", JOptionPane.INFORMATION_MESSAGE); } + } catch (HeadlessException e) { - + e.printStackTrace(); JOptionPane.showMessageDialog( c, @@ -472,7 +500,7 @@ public class DeleteImage_GUI extends JFrame { "Debug-Message", JOptionPane.ERROR_MESSAGE); } catch (TException e) { - + e.printStackTrace(); JOptionPane.showMessageDialog( c, @@ -483,7 +511,9 @@ public class DeleteImage_GUI extends JFrame { } } else { - LOGGER.info("Image '"+imageid+"' konnte nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist."); + LOGGER.info("Image '" + + imageid + + "' konnte nicht gelöscht werden, da mindestens eine Veranstaltung mit diesem Image verlinkt ist."); JOptionPane .showMessageDialog( @@ -493,7 +523,7 @@ public class DeleteImage_GUI extends JFrame { JOptionPane.INFORMATION_MESSAGE); } } catch (TException e) { - + e.printStackTrace(); JOptionPane.showMessageDialog(c, e.getCause() + "\n" + e.getStackTrace(), @@ -515,23 +545,24 @@ 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 - .getSelectedRow()), 6) - .toString(); - String version = modelMyImages.getValueAt( - tablemyImages - .convertRowIndexToModel(tablemyImages - .getSelectedRow()), 7) - .toString(); - writeImageData(imageid, version); + + if (tablemyImages.getSelectedRow() != -1) { + String imageid = modelMyImages + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 6).toString(); + String version = modelMyImages + .getValueAt( + tablemyImages + .convertRowIndexToModel(tablemyImages + .getSelectedRow()), + 7).toString(); + writeImageData(imageid, version); } } - + }); tablemyImages.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); tablemyImages.setModel(modelMyImages); @@ -543,6 +574,9 @@ public class DeleteImage_GUI extends JFrame { tablemyImages.setRowSorter(rowSorterMyImages); scrollPaneMyImage.setViewportView(tablemyImages); + + lblTotalResults.setBounds(10, 512, 131, 20); + contentPanel.add(lblTotalResults); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 902, 33); @@ -723,7 +757,7 @@ public class DeleteImage_GUI extends JFrame { open.openWebpage(windows); } catch (URISyntaxException e) { - + e.printStackTrace(); } } @@ -744,7 +778,7 @@ public class DeleteImage_GUI extends JFrame { open.openWebpage(windows); } catch (URISyntaxException e) { - + e.printStackTrace(); } @@ -760,12 +794,14 @@ public class DeleteImage_GUI extends JFrame { } }); mnNewMenu_1.add(menuItem); - + JMenu mnNewMenu_Info = new JMenu("Info"); mnNewMenu_Info.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(c, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); @@ -775,28 +811,30 @@ 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 - if(person.verantwortlicher.getRole()=="Admin"){ - //get complete list - images = client.getImageList(person.verantwortlicher.getUserID()); + if (person.verantwortlicher.getRole() == "Admin") { + // get complete list + images = client.getImageList(person.verantwortlicher + .getUserID(),SessionData.session.getAuthToken()); } else { - //get permitted list - images = client.getImageListPermissionAdmin(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + // get permitted list + images = client.getImageListPermissionAdmin( + person.verantwortlicher.getUserID(), + SessionData.session.getAuthToken()); } Iterator<server.generated.Image> i = images.iterator(); - System.out.println("Size of image list="+images.size()); - + System.out.println("Size of image list=" + images.size()); + int x = 0; SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - + while (i.hasNext()) { // erzeuge Objekte fuer die Tabelle Object[] obj = { images.get(x).getImageName(), @@ -807,22 +845,24 @@ public class DeleteImage_GUI extends JFrame { out.format(in.parse(images.get(x).updateTime)), images.get(x).id, images.get(x).getVersion(), images.get(x).getIsTemplate(), - images.get(x).getDescription()}; + images.get(x).getDescription() }; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; i.next(); - - } - if(x==0){ + if (x == 0) { System.out.println("Damn... nothing to do here.."); } + // show number if rows in GUI + lblTotalResults.setText(lblTotalResults.getText() + " " + + model.getRowCount()); + return model; } catch (TException | ParseException e1) { - + e1.printStackTrace(); JOptionPane.showMessageDialog(c, e1.getCause() + "\n" + e1.getStackTrace(), "Debug-Message", @@ -830,9 +870,10 @@ public class DeleteImage_GUI extends JFrame { } return model; } - + private void resetImageInfo() { - //reset the detailed information on the right hand side when changing search string + // reset the detailed information on the right hand side when changing + // search string labelID.setText(""); labelVersion.setText(""); labelName.setText(""); @@ -846,14 +887,15 @@ public class DeleteImage_GUI extends JFrame { labelInternet.setText(""); labelRam.setText(""); labelCPU.setText(""); - + } 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"); - Map<String, String> res = client.getImageData(id, version,SessionData.session.getAuthToken()); + Map<String, String> res = client.getImageData(id, version, + SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); @@ -880,7 +922,7 @@ public class DeleteImage_GUI extends JFrame { labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); } catch (TException | ParseException e1) { - + e1.printStackTrace(); } } diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java index 273e3748..686fcccb 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java @@ -115,7 +115,7 @@ public class EditImageAllgemein_GUI extends JFrame { e.printStackTrace(); } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image bearbeiten"); + setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); // Zentriert das Fenster in der Bildmitte setBounds(0, 0, 603, 722); @@ -151,7 +151,7 @@ public class EditImageAllgemein_GUI extends JFrame { JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); - panel_1.setBorder(new TitledBorder(null, "Informationen zum Besitzer", + panel_1.setBorder(new TitledBorder(null, "Informationen zum Image", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_1.setBounds(10, 66, 557, 369); contentPanel.add(panel_1); diff --git a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java index 418ce276..10be7d2b 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java @@ -50,6 +50,12 @@ import org.apache.log4j.Logger; import org.apache.thrift.TException; import javax.swing.JCheckBox; +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeEvent; +import java.awt.event.ItemListener; +import java.awt.event.ItemEvent; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; @SuppressWarnings("serial") public class EditImageTechnisch_GUI extends JFrame { @@ -105,7 +111,7 @@ public class EditImageTechnisch_GUI extends JFrame { e.printStackTrace(); } // Setzt den Titel des Fensters - setTitle("bwLehrpool Suite - Image bearbeiten"); + setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); // Zentriert das Fenster setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -152,11 +158,20 @@ public class EditImageTechnisch_GUI extends JFrame { panel_1.add(lblNewLabel_2); chckbxIsLicensed = new JCheckBox(""); + chckbxIsLicensed.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + //if windows is selected, always set isLicensed()=true + if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + chckbxIsLicensed.setSelected(true); + } + } + }); chckbxIsLicensed.setBounds(266, 57, 97, 23); panel_1.add(chckbxIsLicensed); chckbxIsInternetBlocked = new JCheckBox(""); chckbxIsInternetBlocked.setBounds(266, 85, 97, 23); + chckbxIsInternetBlocked.setEnabled(false); panel_1.add(chckbxIsInternetBlocked); JLabel lblInternetIstInnerhalb = new JLabel( @@ -178,6 +193,18 @@ public class EditImageTechnisch_GUI extends JFrame { panel_1.add(lblBetriebssystem); comboBox = new JComboBox<String>(); + comboBox.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + //if windows is selected, always set isLicensed()=true + if(comboBox.getSelectedItem().toString().startsWith("Windows")){ + chckbxIsLicensed.setSelected(true); + } + } + }); + + + List<String> os = null; try { os=client.getAllOS(SessionData.session.getAuthToken()); @@ -361,7 +388,7 @@ public class EditImageTechnisch_GUI extends JFrame { try { //check if user may change permissions and choose window - if(client.userIsImageAdmin(Image.image.getImageId(),SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()) == true){ + if(client.userIsImageAdmin(Image.image.getImageId(),SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()) == true || (person.verantwortlicher.getRole().equals("Admin"))) { //user has permission, go to permission GUI PermissionEditImage_GUI ea=new PermissionEditImage_GUI(c); ea.setVisible(true); diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java index 324ae01a..d5ab0330 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java @@ -55,6 +55,7 @@ import config.Config; import ftp.UploadTask; import gui.intro.About_GUI; import gui.intro.MainMenue_GUI; +import gui.lecture.CreateLectureAllgemein_GUI; @SuppressWarnings("serial") public class FTPCreateUploader_GUI extends JFrame implements @@ -63,8 +64,8 @@ public class FTPCreateUploader_GUI extends JFrame implements /** * Logger instance for this class. */ - private final static Logger LOGGER = Logger.getLogger(FTPCreateUploader_GUI.class); - + private final static Logger LOGGER = Logger + .getLogger(FTPCreateUploader_GUI.class); @SuppressWarnings("unused") private JPanel contentPane; @@ -99,18 +100,15 @@ public class FTPCreateUploader_GUI extends JFrame implements private boolean isCurrentlyLoading = false; // currently up or downloading // file Component c = null; - private boolean isAborted = false; //down- or upload was manually aborted + private boolean isAborted = false; // down- or upload was manually aborted private String uuid; - - private static final String HELP_MESSAGE = "<html><div align = \"center\">" + - "Laden Sie hier Ihre .vmdk-Datei hoch, die dann als virtuelles Labor geladen werden kann.<br />" + - "Wichtig ist, dass Sie zum Schluss auf \"Fertigstellen\" klicken, damit die Daten übernommen werden.<br />" + - "Wenn Sie die Datei hochgeladen haben, dann aber auf \"zurück\" klicken, oder die Anwendung beenden,<br />" + - "werden die Daten NICHT übernommen und auch die .vmdk-Datei wird nicht aktiv geschaltet." + - "</div></html>"; - - + private static final String HELP_MESSAGE = "<html><div align = \"center\">" + + "Laden Sie hier Ihre .vmdk-Datei hoch, die dann als virtuelles Labor geladen werden kann.<br />" + + "Wichtig ist, dass Sie zum Schluss auf \"Fertigstellen\" klicken, damit die Daten übernommen werden.<br />" + + "Wenn Sie die Datei hochgeladen haben, dann aber auf \"zurück\" klicken, oder die Anwendung beenden,<br />" + + "werden die Daten NICHT übernommen und auch die .vmdk-Datei wird nicht aktiv geschaltet." + + "</div></html>"; /** * Create the frame. @@ -123,8 +121,9 @@ public class FTPCreateUploader_GUI extends JFrame implements { uuid = client.createRandomUUID(SessionData.session.getAuthToken()); + } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } @@ -148,7 +147,7 @@ public class FTPCreateUploader_GUI extends JFrame implements try { client.DeleteFtpUser(user.userName, SessionData.session.getAuthToken()); } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } task.cancel(true); @@ -175,12 +174,12 @@ public class FTPCreateUploader_GUI extends JFrame implements }// end window closing }); setResizable(false); - + try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block + e.printStackTrace(); JOptionPane.showMessageDialog(c, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", @@ -189,13 +188,12 @@ public class FTPCreateUploader_GUI extends JFrame implements // filename=name; setBackground(Color.WHITE); - setTitle("Dozentenmodul - Image erzeugen"); + setTitle("Dozentenmodul - Image erzeugen - "+person.verantwortlicher.getUserID()); // Aktion die beim Schliessen durchgefuehrt werden soll setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); - getContentPane().setLayout(new BorderLayout()); contentPanel.setBackground(SystemColor.menu); @@ -402,7 +400,7 @@ public class FTPCreateUploader_GUI extends JFrame implements client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); LOGGER.info("Deleted FTP user."); } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } task.cancel(true); @@ -425,19 +423,28 @@ public class FTPCreateUploader_GUI extends JFrame implements btnFinish.setEnabled(false); btnFinish.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - //save data + + // save data boolean success = writeData(); - if(success==true){ - LOGGER.info("Neues Image '"+Image.image.getImagename()+"' erfolgreich gespeichert."); - JOptionPane.showMessageDialog(c, - "Die Daten wurden erfolgreich gespeichert.", "Daten gespeichert", - JOptionPane.INFORMATION_MESSAGE); + if (success == true) { + LOGGER.info("Neues Image '" + + Image.image.getImagename() + + "' erfolgreich gespeichert."); + JOptionPane + .showMessageDialog( + c, + "Die Daten wurden erfolgreich gespeichert.", + "Daten gespeichert", + JOptionPane.INFORMATION_MESSAGE); } else { - LOGGER.info("Neues Image '"+Image.image.getImagename()+"' konnte nicht gespeichert werden."); - JOptionPane.showMessageDialog(c, - "Die Daten konnten nicht gespeichert werden.", "Fehler", - JOptionPane.ERROR_MESSAGE); + LOGGER.info("Neues Image '" + + Image.image.getImagename() + + "' konnte nicht gespeichert werden."); + JOptionPane + .showMessageDialog( + c, + "Die Daten konnten nicht gespeichert werden.", + "Fehler", JOptionPane.ERROR_MESSAGE); } File f = new File(lblPath.getText().trim()); @@ -449,30 +456,52 @@ public class FTPCreateUploader_GUI extends JFrame implements Config.setLastUploadPath(f.getParentFile() .toString()); } - + // save configuration Config.store(); - dispose(); - MainMenue_GUI m = new MainMenue_GUI(c); - m.setVisible(true); - + // dispose(); + // MainMenue_GUI m = new MainMenue_GUI(c); + // m.setVisible(true); + if (taskrun == true) { try { client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); - JOptionPane.showMessageDialog( - c, - e1.getCause() + "\n" - + e1.getStackTrace(), + JOptionPane.showMessageDialog(c, e1.getCause() + + "\n" + e1.getStackTrace(), "Debug-Message", JOptionPane.ERROR_MESSAGE); } task.cancel(true); } + + // Erstellung Array vom Datentyp Object, Hinzufügen der + // Optionen + Object[] options = { "Neue Veranstaltung erstellen", + "Zum Hauptmenü zurückkehren" }; + + int choice = JOptionPane.showOptionDialog(c, + "Möchten Sie eine neue Veranstaltung zu diesem Image erstellen oder in das Hauptmenü zurückkehren?", "Alternativen", + JOptionPane.DEFAULT_OPTION, + JOptionPane.INFORMATION_MESSAGE, null, options, + options[0]); + + // 0=New Lecture, 1=Main Menu + if (choice == 0) { + dispose(); + CreateLectureAllgemein_GUI cl = new CreateLectureAllgemein_GUI( + c); + cl.setVisible(true); + } else { + dispose(); + MainMenue_GUI m = new MainMenue_GUI(c); + m.setVisible(true); + } + } }); @@ -493,18 +522,18 @@ public class FTPCreateUploader_GUI extends JFrame implements try { client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } task.cancel(true); // not loading files, go back one page dispose(); - PermissionCreateImage_GUI m = new PermissionCreateImage_GUI(c); - //m.setVisible(true); + PermissionCreateImage_GUI m = new PermissionCreateImage_GUI( + c); + // m.setVisible(true); }// end if choice } else { - int selectedOption = JOptionPane .showConfirmDialog( @@ -513,17 +542,17 @@ public class FTPCreateUploader_GUI extends JFrame implements "Abbrechen und zurück", JOptionPane.YES_NO_OPTION); if (selectedOption == JOptionPane.YES_OPTION) { - //System.out.println("CreateUploader X:"+formerGUI.getLocation().getX()); - //System.out.println("CreateUploader X:"+formerGUI.getLocation().getY()); - PermissionCreateImage_GUI m = new PermissionCreateImage_GUI(c); - //m.setLocationRelativeTo(formerGUI); + // System.out.println("CreateUploader X:"+formerGUI.getLocation().getX()); + // System.out.println("CreateUploader X:"+formerGUI.getLocation().getY()); + PermissionCreateImage_GUI m = new PermissionCreateImage_GUI( + c); + // m.setLocationRelativeTo(formerGUI); m.setVisible(true); dispose(); - + } else { // for actions if "no" is selected. tbd. } - }// end else }// end action @@ -551,7 +580,7 @@ public class FTPCreateUploader_GUI extends JFrame implements windows = new URI(Links.getFAQ()); OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { - // TODO Auto-generated catch block + e.printStackTrace(); } } @@ -569,7 +598,7 @@ public class FTPCreateUploader_GUI extends JFrame implements windows = new URI(Links.getOTRS()); open.openWebpage(windows); } catch (URISyntaxException e) { - // TODO Auto-generated catch block + e.printStackTrace(); } } @@ -585,16 +614,18 @@ public class FTPCreateUploader_GUI extends JFrame implements }); menu.add(mntmAbout); setVisible(true); - + JMenu mnNewMenu_Info = new JMenu("Info"); mnNewMenu_Info.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(c, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); - //System.out.println("userID is: "+person.verantwortlicher.getUserID()); + c = this; } @@ -609,11 +640,11 @@ public class FTPCreateUploader_GUI extends JFrame implements LOGGER.info("Getting FTP User..."); user = client.getFtpUser(SessionData.session.getAuthToken()); LOGGER.info("Received FTP user."); - //LOGGER.debug("FTP name: " + user.userName); - //LOGGER.debug("FTP path: " + user.path); - //LOGGER.debug("FTP pass: " + user.password); + // LOGGER.debug("FTP name: " + user.userName); + // LOGGER.debug("FTP path: " + user.path); + // LOGGER.debug("FTP pass: " + user.password); } catch (TException e) { - // TODO Auto-generated catch block + LOGGER.error("Konnte vom Satellit keinen FTP-User erhalten!"); e.printStackTrace(); JOptionPane.showMessageDialog(c, @@ -622,10 +653,10 @@ public class FTPCreateUploader_GUI extends JFrame implements } DateFormat formatter = new SimpleDateFormat("yyyMMddHHmmss"); - //LOGGER.info("Setting new name: " + formatter.format(new Date()) + "_" - // + person.verantwortlicher.getHochschule() + "_" - // + person.verantwortlicher.getUsername() + "_" - // + Image.image.getImagename() + ".vmdk"); + // LOGGER.info("Setting new name: " + formatter.format(new Date()) + "_" + // + person.verantwortlicher.getHochschule() + "_" + // + person.verantwortlicher.getUsername() + "_" + // + Image.image.getImagename() + ".vmdk"); Image.image.setNewName(formatter.format(new Date()) + "_" + person.verantwortlicher.getHochschule() + "_" + person.verantwortlicher.getUsername() + "_" @@ -653,9 +684,10 @@ public class FTPCreateUploader_GUI extends JFrame implements // Fertigstellen erlauben wenn upload abgeschlossen und abbrechen // erlauben wenn kein load aktiv ist - if (isCurrentlyLoading() == false || progressBar.getPercentComplete() == 1.0) { + if (isCurrentlyLoading() == false + || progressBar.getPercentComplete() == 1.0) { // no upload - //LOGGER.info("finished uploading file"); + // LOGGER.info("finished uploading file"); btnUploadStoppen.setEnabled(false); btnFinish.setEnabled(true); } else { @@ -668,8 +700,7 @@ public class FTPCreateUploader_GUI extends JFrame implements speed = (double) arg0.getNewValue(); // if(speed<=1){ - lblUpSpeed.setText(String.format("%.2f", speed) - + " MB/s"); + lblUpSpeed.setText(String.format("%.2f", speed) + " MB/s"); } if ("bytesread" == arg0.getPropertyName()) { @@ -701,7 +732,7 @@ public class FTPCreateUploader_GUI extends JFrame implements public boolean writeData() { try { - + client.writeVLdata( Image.image.getImagename(), Image.image.getDesc(), @@ -721,7 +752,8 @@ public class FTPCreateUploader_GUI extends JFrame implements person.verantwortlicher.getUserID() ); - System.out.println("userID is: "+person.verantwortlicher.getUserID()); + //System.out.println("userID is: "+person.verantwortlicher.getUserID()); + System.out.println("starting file copy..."); client.startFileCopy(Image.image.getNewName(),SessionData.session.getAuthToken()); client.writeImageRights(uuid,SessionData.session.getAuthToken(),person.verantwortlicher.getRole(),person.verantwortlicher.getHochschule(), person.verantwortlicher.getUserID()); @@ -738,22 +770,11 @@ public class FTPCreateUploader_GUI extends JFrame implements RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageAdmin(), SessionData.session.getAuthToken() ); - /* - LOGGER.info( - "Name: "+Image.image.getImagename() - +"\tUserID: "+RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID() - +"\tisImageRead: "+RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageRead() - +"\tisImageWrite: "+RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageWrite() - +"\tisImageLInkAllowed: "+RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageLinkAllowed() - +"\tisImageAdmin: "+RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageAdmin() - ); - */ - - }//end for - - + + }// end for + } catch (TException e) { - // TODO Auto-generated catch block + e.printStackTrace(); JOptionPane.showMessageDialog(c, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java index 34e3efb3..437f6c77 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java @@ -40,6 +40,7 @@ import javax.swing.border.EmptyBorder; import models.Image; import models.Links; import models.SessionData; +import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; @@ -99,16 +100,16 @@ public class FTPEditDownloader_GUI extends JFrame implements private boolean isCurrentlyLoading = false; // currently up or downloading // file private boolean isAborted = false; // down- or upload was manually aborted - private static final String HELP_MESSAGE = "<html><div align=\"center\">" + - "Hier können Sie Images herunterladen.<br />" + - "Klicken Sie anschließend auf \"Zurück\", um zu Ihrer vorherigen Auswahl zurückzugelangen.<br />" + - "</div></html>"; + private static final String HELP_MESSAGE = "<html><div align=\"center\">" + + "Hier können Sie Images herunterladen.<br />" + + "Klicken Sie anschließend auf \"Zurück\", um zu Ihrer vorherigen Auswahl zurückzugelangen.<br />" + + "</div></html>"; /** * Create the frame. */ public FTPEditDownloader_GUI(Component formerGUI) { - + final Object[] options = { "Beenden", "Abbrechen" }; @@ -137,7 +138,7 @@ public class FTPEditDownloader_GUI extends JFrame implements e1.printStackTrace(); } } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } task.cancel(true); @@ -160,12 +161,12 @@ public class FTPEditDownloader_GUI extends JFrame implements UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { - // TODO Auto-generated catch block + e.printStackTrace(); } setBackground(Color.WHITE); - setTitle("Dozentenmodul - Image herunterladen"); + setTitle("Dozentenmodul - Image herunterladen - "+person.verantwortlicher.getUserID()); // Aktion die beim Schliessen durchgefuehrt werden soll setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); @@ -311,6 +312,15 @@ public class FTPEditDownloader_GUI extends JFrame implements label_1.setForeground(Color.BLUE); label_1.setBounds(20, 92, 61, 20); contentPanel.add(label_1); + label_1.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + // oeffnet das Hauptmenue + dispose(); + MainMenue_GUI main = new MainMenue_GUI(c); + main.setVisible(true); + } + }); JLabel label_2 = new JLabel(">"); label_2.setBounds(80, 95, 14, 14); @@ -345,8 +355,7 @@ public class FTPEditDownloader_GUI extends JFrame implements lblSchritt_3.setBounds(20, 423, 57, 14); contentPanel.add(lblSchritt_3); - JLabel lblKlickenSieAuf = new JLabel( - "Klicken Sie auf \"Zurück\"."); + JLabel lblKlickenSieAuf = new JLabel("Klicken Sie auf \"Zurück\"."); lblKlickenSieAuf.setBounds(102, 423, 241, 14); contentPanel.add(lblKlickenSieAuf); @@ -367,7 +376,7 @@ public class FTPEditDownloader_GUI extends JFrame implements windows = new URI(Links.getFAQ()); open.openWebpage(windows); } catch (URISyntaxException e) { - // TODO Auto-generated catch block + e.printStackTrace(); } } @@ -385,7 +394,7 @@ public class FTPEditDownloader_GUI extends JFrame implements windows = new URI(Links.getOTRS()); open.openWebpage(windows); } catch (URISyntaxException e) { - // TODO Auto-generated catch block + e.printStackTrace(); } } @@ -415,7 +424,7 @@ public class FTPEditDownloader_GUI extends JFrame implements anleitung = new URI(Links.getAnleitungVMDK()); open.openWebpage(anleitung); } catch (URISyntaxException e) { - // TODO Auto-generated catch block + e.printStackTrace(); } } @@ -430,7 +439,7 @@ public class FTPEditDownloader_GUI extends JFrame implements client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); LOGGER.info("FTP user deleted."); } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } task.cancel(true); @@ -468,12 +477,13 @@ public class FTPEditDownloader_GUI extends JFrame implements try { client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } // go back one page - SearchEditImage_GUI se = new SearchEditImage_GUI(c); + SearchEditImage_GUI se = new SearchEditImage_GUI( + c); se.setVisible(true); dispose(); }// end choice @@ -503,16 +513,18 @@ public class FTPEditDownloader_GUI extends JFrame implements } } setVisible(true); - + JMenu mnNewMenu_Info = new JMenu("Info"); mnNewMenu_Info.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(c, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(c, HELP_MESSAGE, + "Hilfe zu dieser Oberfläche", + JOptionPane.INFORMATION_MESSAGE); } }); menuBar.add(mnNewMenu_Info); - + c = this; } @@ -533,7 +545,7 @@ public class FTPEditDownloader_GUI extends JFrame implements Image.image.getVersion(),SessionData.session.getAuthToken()); } catch (TException e) { - // TODO Auto-generated catch block + e.printStackTrace(); JOptionPane.showMessageDialog(c, e.getCause() + "\n" + e.getStackTrace(), "Debug-Message", @@ -566,9 +578,10 @@ public class FTPEditDownloader_GUI extends JFrame implements } // Button zum Fertigstellen freischalten, wenn 100% erreicht sind - if (isCurrentlyLoading() == false || progressBar.getPercentComplete() == 1.0) { + if (isCurrentlyLoading() == false + || progressBar.getPercentComplete() == 1.0) { // no download - //LOGGER.info("finished downloading file"); + // LOGGER.info("finished downloading file"); btnDownloadStoppen.setEnabled(false); } else { // currently uploading, don't let user interact diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java index 18925ff7..597ac36b 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java @@ -179,7 +179,7 @@ public class FTPEditUploader_GUI extends JFrame implements // filename=name; setBackground(Color.WHITE); - setTitle("Dozentenmodul - Image bearbeiten"); + setTitle("Dozentenmodul - Image bearbeiten - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -322,6 +322,16 @@ public class FTPEditUploader_GUI extends JFrame implements lblNewLabel_1.setForeground(Color.BLUE); lblNewLabel_1.setBounds(20, 88, 61, 20); contentPanel.add(lblNewLabel_1); + lblNewLabel_1.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent arg0) { + // oeffnet das Hauptmenue + dispose(); + MainMenue_GUI main = new MainMenue_GUI(c); + main.setVisible(true); + } + }); + JLabel label_3 = new JLabel(">"); label_3.setBounds(80, 91, 14, 14); @@ -468,7 +478,9 @@ public class FTPEditUploader_GUI extends JFrame implements // not loading files, go back one page try { - if(client.userIsImageAdmin(Image.image.getImageId(), SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()) == true){ + + if(client.userIsImageAdmin(Image.image.getImageId(), SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()) == true || person.verantwortlicher.getRole().equals("Admin")){ + //user is admin and may change permissions PermissionEditImage_GUI ei = new PermissionEditImage_GUI(c); ei.setVisible(true); diff --git a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java index fea3ae42..f7238b03 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java @@ -39,6 +39,7 @@ import javax.swing.border.EmptyBorder; import models.Image; import models.Links; import models.SessionData; +import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; @@ -170,7 +171,7 @@ public class FTPSearchDownloader_GUI extends JFrame implements } setBackground(Color.WHITE); - setTitle("Dozentenmodul - Image herunterladen"); + setTitle("Dozentenmodul - Image herunterladen - "+person.verantwortlicher.getUserID()); // Aktion die beim Schliessen durchgefuehrt werden soll setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setBounds(0, 0, 603, 722); diff --git a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java index b7f2e8ae..53c30efc 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionCreateImage_GUI.java @@ -76,7 +76,7 @@ public class PermissionCreateImage_GUI extends JFrame { String[] result; private JTable table = null; private Class[] classes; - Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" }; + Object[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" }; private List<Person> map = null; // List of people who have rights Component c = null; @@ -111,7 +111,7 @@ public class PermissionCreateImage_GUI extends JFrame { private JLabel lblLinkallowedDesc; private static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Legen Sie fest, welche Personen welche Rechte an Ihrem Image haben.<br />" - + "Sie können die Rechte read, write, link und admin vergeben.<br />" + + "Sie können die Rechte Lesen, Schreiben, Link und Admin vergeben.<br />" + "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />" + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />" + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." @@ -145,7 +145,7 @@ public class PermissionCreateImage_GUI extends JFrame { // TODO Auto-generated catch block e.printStackTrace(); } - setTitle("bwLehrpool Suite - Image bearbeiten"); + setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -413,11 +413,11 @@ public class PermissionCreateImage_GUI extends JFrame { contentPanel.add(panel_2); panel_2.setLayout(null); - lblRead = new JLabel("Read"); + lblRead = new JLabel("Lesen"); lblRead.setBounds(28, 18, 90, 20); panel_2.add(lblRead); - lblWrite = new JLabel("Write"); + lblWrite = new JLabel("Schreiben"); lblWrite.setBounds(28, 38, 90, 20); panel_2.add(lblWrite); @@ -430,17 +430,17 @@ public class PermissionCreateImage_GUI extends JFrame { panel_2.add(lblLinkallowed); lblReadDesc = new JLabel( - "Image ist in bwLehrpool Suite und VMchooser sichtbar."); + "Benutzer kann Image in bwLehrpool Suite sehen."); lblReadDesc.setBounds(128, 18, 380, 20); panel_2.add(lblReadDesc); lblWriteDesc = new JLabel( - "Image anpassen und überschreiben, jedoch nicht löschen."); + "Image sehen, anpassen und überschreiben, jedoch nicht löschen."); lblWriteDesc.setBounds(128, 38, 380, 20); panel_2.add(lblWriteDesc); lblAdminDesc = new JLabel( - "<HTML>Volle Rechte: read, write, löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>"); + "<HTML>Volle Rechte: Lesen, Schreiben, Löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>"); lblAdminDesc.setBounds(128, 78, 380, 40); panel_2.add(lblAdminDesc); diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index 17b083a3..6853f6d7 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -71,7 +71,7 @@ public class PermissionEditImage_GUI extends JFrame { String[] result; private JTable table; private Class[] classes; - Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" }; + Object[] titles = { "Name", "Lesen", "Schreiben", "Link", "Admin", "userID" }; private List<Person> map = null; // List of people who have rights Component c = null; @@ -101,7 +101,7 @@ public class PermissionEditImage_GUI extends JFrame { private JLabel lblvolleRechteRead; private static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Verändern Sie die Berechtigungen für Ihr Image.<br />" - + "Sie können die Rechte read, write, link und admin vergeben.<br />" + + "Sie können die Rechte Lesen, Schreiben, Link und Admin vergeben.<br />" + "Link bedeutet, dass diese Person Veranstaltungen auf Ihr Image verlinken darf und dieses somit<br />" + "implizit freigeben darf. Eine Person mit Adminrechten darf zusätzlich das Image löschen und Berechtigungen<br />" + "für andere Benutzer festlegen und ist somit wie der Besitzer zu betrachten." @@ -131,7 +131,7 @@ public class PermissionEditImage_GUI extends JFrame { // TODO Auto-generated catch block e.printStackTrace(); } - setTitle("bwLehrpool Suite - Image bearbeiten"); + setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -401,21 +401,21 @@ public class PermissionEditImage_GUI extends JFrame { TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); - JLabel label = new JLabel("Read"); + JLabel label = new JLabel("Lesen"); label.setBounds(28, 18, 90, 20); panel.add(label); - JLabel label_3 = new JLabel("Write"); + JLabel label_3 = new JLabel("Schreiben"); label_3.setBounds(28, 38, 90, 20); panel.add(label_3); JLabel lblImageLesenUnd = new JLabel( - "Image ist in bwLehrpool Suite und VMchooser sichtbar."); + "Benutzer kann Image in bwLehrpool Suite sehen."); lblImageLesenUnd.setBounds(128, 18, 380, 20); panel.add(lblImageLesenUnd); JLabel lblImageAnpassenUnd = new JLabel( - "Image anpassen und überschreiben, jedoch nicht löschen."); + "Image sehen, anpassen und überschreiben, jedoch nicht löschen."); lblImageAnpassenUnd.setBounds(128, 38, 380, 20); panel.add(lblImageAnpassenUnd); @@ -433,7 +433,7 @@ public class PermissionEditImage_GUI extends JFrame { panel.add(label_6); lblvolleRechteRead = new JLabel( - "<HTML>Volle Rechte: read, write, löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>"); + "<HTML>Volle Rechte: Lesen, Schreiben, Löschen, Link und<br>Berechtigungen für andere Benutzer festlegen.</HTML>"); lblvolleRechteRead.setBounds(128, 78, 380, 40); panel.add(lblvolleRechteRead); { diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index 1b5feb6e..5e1607a8 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -140,6 +140,7 @@ public class SearchEditImage_GUI extends JFrame { RowFilter rf = null; List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2); + private JLabel lblTotalResults; /** @@ -213,7 +214,7 @@ public class SearchEditImage_GUI extends JFrame { e.printStackTrace(); } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Image bearbeiten"); + setTitle("bwLehrpool Suite - Image bearbeiten - "+person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); @@ -483,6 +484,10 @@ public class SearchEditImage_GUI extends JFrame { scrollPaneMyImage.setViewportView(tablemyImages); + + lblTotalResults = new JLabel("Anzahl:"); + lblTotalResults.setBounds(10, 512, 131, 20); + contentPanel.add(lblTotalResults); { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 902, 33); @@ -760,7 +765,7 @@ public class SearchEditImage_GUI extends JFrame { // Hole eine Liste der passenden Images, if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - images = client.getImageList(person.verantwortlicher.getUserID()); + images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } else { //only get permitted list images = client.getImageListPermissionWrite(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); @@ -795,7 +800,8 @@ public class SearchEditImage_GUI extends JFrame { x++; i.next(); } - //LOGGER.info("Finished counting crap, mo"+model.getRowCount()); + //show number if rows in GUI + lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); return model; } catch (TException | ParseException e1) { diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index e9decd1b..9aff1648 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -165,8 +165,7 @@ public class SearchImage_GUI extends JFrame { /**
* Create the dialog.
*/
- public SearchImage_GUI(Component formerGUI) {
-
+ public SearchImage_GUI(Component formerGUI) { addWindowListener(new WindowAdapter() {
@Override
@@ -302,7 +301,7 @@ public class SearchImage_GUI extends JFrame { e.printStackTrace();
}
// Setzt den Fenstertitel
- setTitle("bwLehrpool Suite - Image suchen");
+ setTitle("bwLehrpool Suite - Image suchen - "+person.verantwortlicher.getUserID());
// Zentriert das Fenster in die Bildmitte
setBounds(0, 0, 918, 722);
setLocationRelativeTo(formerGUI);
@@ -503,29 +502,6 @@ public class SearchImage_GUI extends JFrame { tabbedPane = new JTabbedPane(JTabbedPane.TOP);
- //not needed anymore, as the filters are set by the full text search completely
- /*
- tabbedPane.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent arg0) {
- if (tabbedPane.getSelectedIndex() == 0 && activeSearch == false)
- {
-
- String username = person.verantwortlicher.getName() + " "
- + person.verantwortlicher.getVorname();
- //rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4));
- }
- else if (tabbedPane.getSelectedIndex() == 1&& activeSearch == false)
- {
- //rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8)); //--> caused bug: no initial list in public images
- }
- else if (tabbedPane.getSelectedIndex() == 2 && activeSearch == false)
- {
- //rowSorterAll.setRowFilter(null);
- }
-
- }
- });
- */
tabbedPane.setBounds(10, 158, 557, 339);
contentPanel.add(tabbedPane);
@@ -739,7 +715,7 @@ public class SearchImage_GUI extends JFrame { tableAllImages
.convertRowIndexToModel(tableAllImages
.getSelectedRow()),
- 8).equals("true") == true) {
+ 8).equals("true") == true || person.verantwortlicher.getRole().equals("Admin")) {
String imageid = modelAll
.getValueAt(
tableAllImages
@@ -785,6 +761,8 @@ public class SearchImage_GUI extends JFrame { });
btnDownload.setBounds(449, 508, 118, 23);
contentPanel.add(btnDownload);
+
+
{
JPanel buttonPane = new JPanel();
buttonPane.setBounds(0, 640, 902, 33);
@@ -1006,7 +984,7 @@ public class SearchImage_GUI extends JFrame { }
});
menuBar.add(mnNewMenu_Info);
-
+
c = this;
}
@@ -1019,7 +997,7 @@ public class SearchImage_GUI extends JFrame { // Hole eine Liste der Images
if(person.verantwortlicher.getRole()=="Admin"){
//get complete list
- images = client.getImageList(person.verantwortlicher.getUserID());
+ images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
} else {
images = client.getImageListPermissionRead(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
}
@@ -1050,6 +1028,9 @@ public class SearchImage_GUI extends JFrame { i.next();
}
+
+ //show number of rows in GUI
+ tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") ");
return model;
} catch (TException | ParseException e1) {
@@ -1066,7 +1047,7 @@ public class SearchImage_GUI extends JFrame { List<server.generated.Image> images;
try {
// Hole eine Liste der Images
- images = client.getImageList(SessionData.session.getAuthToken());
+ images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
Iterator<server.generated.Image> i = images.iterator();
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1096,6 +1077,8 @@ public class SearchImage_GUI extends JFrame { i.next();
}
+ //show number of rows in GUI
+ tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2)+" ("+model.getRowCount()+") ");
return model;
} catch (TException | ParseException e1) {
@@ -1141,6 +1124,8 @@ public class SearchImage_GUI extends JFrame { i.next();
}
+ //show number of rows in GUI
+ tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") ");
return model;
} catch (TException | ParseException e1) {
diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java index 01b4aaeb..a171cd57 100644 --- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java @@ -184,7 +184,7 @@ public class MainMenue_GUI extends JFrame { rdbtnImageNew = new JRadioButton("Neu"); rdbtnImageNew .setToolTipText("Hier können Sie ein neues Image anlegen und im Anschluss eine Veranstaltung darauf verlinken"); - rdbtnImageNew.setBounds(20, 22, 159, 23); + rdbtnImageNew.setBounds(20, 22, 244, 23); panelImage.add(rdbtnImageNew); buttonGroup.add(rdbtnImageNew); rdbtnImageNew.setBackground(SystemColor.menu); @@ -192,7 +192,7 @@ public class MainMenue_GUI extends JFrame { rdbtnImageEdit = new JRadioButton("Bearbeiten"); rdbtnImageEdit .setToolTipText("Hier können Sie ein bereits angelegtes Image bearbeiten"); - rdbtnImageEdit.setBounds(20, 48, 185, 23); + rdbtnImageEdit.setBounds(20, 48, 244, 23); panelImage.add(rdbtnImageEdit); buttonGroup.add(rdbtnImageEdit); rdbtnImageEdit.setHorizontalAlignment(SwingConstants.LEFT); @@ -205,16 +205,16 @@ public class MainMenue_GUI extends JFrame { .setToolTipText("Löschen Sie hier Images, die Sie nicht mehr benötigen"); rdbtnImageDelete.setHorizontalAlignment(SwingConstants.LEFT); rdbtnImageDelete.setBackground(SystemColor.menu); - rdbtnImageDelete.setBounds(20, 74, 185, 23); + rdbtnImageDelete.setBounds(20, 74, 244, 23); panelImage.add(rdbtnImageDelete); - rdbtnImageSearchDownload = new JRadioButton("Suche und Download"); + rdbtnImageSearchDownload = new JRadioButton("Suche und Download (inkl. Vorlagen)"); buttonGroup.add(rdbtnImageSearchDownload); rdbtnImageSearchDownload .setToolTipText("Hier können Sie ein bestehendes Labor zum verändern downloaden"); rdbtnImageSearchDownload.setHorizontalAlignment(SwingConstants.LEFT); rdbtnImageSearchDownload.setBackground(SystemColor.menu); - rdbtnImageSearchDownload.setBounds(20, 100, 185, 23); + rdbtnImageSearchDownload.setBounds(20, 100, 244, 23); panelImage.add(rdbtnImageSearchDownload); JPanel panelDesc = new JPanel(); @@ -253,7 +253,7 @@ public class MainMenue_GUI extends JFrame { buttonGroup.add(rdbtnLectureNew); rdbtnLectureNew .setToolTipText("Erzeugen Sie Veranstaltungen, die dann im VMChooser erscheinen und mit denen Ihre Studierenden arbeiten können - hierzu benötigen Sie ein Image"); - rdbtnLectureNew.setBounds(20, 24, 185, 23); + rdbtnLectureNew.setBounds(20, 24, 230, 23); panelVeranstaltung.add(rdbtnLectureNew); rdbtnLectureNew.setBackground(SystemColor.menu); @@ -268,7 +268,7 @@ public class MainMenue_GUI extends JFrame { rdbtnLectureDelete = new JRadioButton("Löschen"); rdbtnLectureDelete .setToolTipText("Löschen Sie nicht mehr benötigte Veranstaltungen"); - rdbtnLectureDelete.setBounds(20, 76, 175, 23); + rdbtnLectureDelete.setBounds(20, 76, 230, 23); panelVeranstaltung.add(rdbtnLectureDelete); buttonGroup.add(rdbtnLectureDelete); rdbtnLectureDelete.setBackground(SystemColor.menu); @@ -278,7 +278,7 @@ public class MainMenue_GUI extends JFrame { rdbtnLectureSearch .setToolTipText("Hier können Sie wahlweise nach Ihren eigenen, aber auch nach allen verfĂĽgbaren Veranstaltungen suchen"); rdbtnLectureSearch.setBackground(SystemColor.menu); - rdbtnLectureSearch.setBounds(20, 102, 175, 23); + rdbtnLectureSearch.setBounds(20, 102, 230, 23); panelVeranstaltung.add(rdbtnLectureSearch); JPanel panelNews = new JPanel(); @@ -472,19 +472,7 @@ public class MainMenue_GUI extends JFrame { JMenu mnNewMenu_1 = new JMenu("Hilfe"); menuBar.add(mnNewMenu_1); - - //Template for Help-Buttons - /* - JMenu mnNewMenu_Info = new JMenu("Info"); - mnNewMenu_Info.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent arg0) { - JOptionPane.showMessageDialog(null, HELP_MESSAGE, "Hilfe zu dieser Oberfläche", JOptionPane.INFORMATION_MESSAGE); - } - }); - menuBar.add(mnNewMenu_Info); - * - */ + JMenuItem mntmFaq = new JMenuItem("FAQ"); diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java index 9ea9f779..9dc90eb3 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java @@ -118,7 +118,7 @@ public class CreateLectureAllgemein_GUI extends JFrame { e.printStackTrace(); } - setTitle("bwLehrpool Suite - Veranstaltung erzeugen"); + setTitle("bwLehrpool Suite - Veranstaltung erzeugen - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 2549e60f..ea1c7b88 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -100,6 +100,7 @@ public class CreateLectureLink_GUI extends JFrame { boolean activeSearch = false; Component c = null; private JTextField textFieldName; + private JLabel lblTotalResults; private String uuid = null; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; @@ -215,7 +216,7 @@ public class CreateLectureLink_GUI extends JFrame { e.printStackTrace(); } - setTitle("bwLehrpool Suite - Veranstaltung erzeugen"); + setTitle("bwLehrpool Suite - Veranstaltung erzeugen - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); @@ -415,6 +416,10 @@ public class CreateLectureLink_GUI extends JFrame { tablemyImages.setRowSorter(rowSorterMyImages); scrollPaneMyImage.setViewportView(tablemyImages); + + lblTotalResults = new JLabel("Anzahl:"); + lblTotalResults.setBounds(10, 512, 131, 20); + contentPanel.add(lblTotalResults); { JPanel buttonPane = new JPanel(); @@ -668,6 +673,7 @@ public class CreateLectureLink_GUI extends JFrame { textAreadesc = new JTextArea(); textAreadesc.setLineWrap(true); textAreadesc.setBackground(SystemColor.menu); + textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); scrollPane.setViewportView(textAreadesc); JMenuBar menuBar = new JMenuBar(); @@ -761,7 +767,7 @@ public class CreateLectureLink_GUI extends JFrame { // Hole eine Liste der Images if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - images = client.getImageList(person.verantwortlicher.getUserID()); + images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } else { images = client.getImageListPermissionLink(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } @@ -788,6 +794,8 @@ public class CreateLectureLink_GUI extends JFrame { i.next(); } + //show number if rows in GUI + lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); return model; diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java index 6d908413..3e010696 100644 --- a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java @@ -83,6 +83,7 @@ public class DeleteLecture_GUI extends JFrame { JLabel labelVerantwortlicher; JTable tablemyLectures; private JTextField textFieldName; + private JLabel lblTotalResults; boolean activeSearch = false; String[] titles = { "Veranstaltungsname", "Beschreibung", "GĂĽltigkeitsdatum", "Aktiv", "Letzte Benutzung", @@ -91,7 +92,14 @@ public class DeleteLecture_GUI extends JFrame { ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); - final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0); + final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0){ + public boolean isCellEditable(int rowIndex, int mColIndex) { + return false; + } + }; + + + final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( modelMyLectures); @@ -137,7 +145,6 @@ public class DeleteLecture_GUI extends JFrame { textFieldName.requestFocusInWindow(); try { initTableModel(modelMyLectures); - // initTableModel(modelAll); } catch (ParseException e) { @@ -199,7 +206,7 @@ public class DeleteLecture_GUI extends JFrame { e.printStackTrace(); } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Veranstaltung löschen"); + setTitle("bwLehrpool Suite - Veranstaltung löschen - "+person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 842, 722); setLocationRelativeTo(formerGUI); @@ -312,6 +319,10 @@ public class DeleteLecture_GUI extends JFrame { JLabel label_2 = new JLabel(">"); label_2.setBounds(152, 11, 13, 14); contentPanel.add(label_2); + + lblTotalResults = new JLabel("Anzahl:"); + lblTotalResults.setBounds(10, 500, 131, 20); + contentPanel.add(lblTotalResults); JLabel lblNewLabel_1 = new JLabel("Löschen"); lblNewLabel_1.setBounds(166, 11, 155, 14); @@ -659,6 +670,10 @@ public class DeleteLecture_GUI extends JFrame { i.next(); } + + //show number if rows in GUI + lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); + return model; } catch (TException e1) { diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index eae7a49c..f9fdd8fb 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -118,7 +118,7 @@ public class EditLectureAllgemein_GUI extends JFrame { e.printStackTrace(); } - setTitle("bwLehrpool Suite - Veranstaltung bearbeiten"); + setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - "+person.verantwortlicher.getUserID()); ; setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -505,7 +505,8 @@ public class EditLectureAllgemein_GUI extends JFrame { //check which GUI to open try { - if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken())){ + + if((client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken()) || (person.verantwortlicher.getRole().equals("Admin")))){ //user is admin of the lecture PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); ev.setVisible(true); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index a92b2dec..001f1b44 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -167,9 +167,8 @@ public class EditLectureLink_GUI extends JFrame { @Override public void windowOpened(WindowEvent arg0) { try { - initTableModel(modelAll); + initTableModelAll(modelAll); initTableModel(modelMyImages); - //initTableModel(modelPublicVorlagen); initTableModelTemplates(modelPublicVorlagen); } catch (TException e) { @@ -292,7 +291,7 @@ public class EditLectureLink_GUI extends JFrame { e.printStackTrace(); } - setTitle("bwLehrpool Suite - Veranstaltung bearbeiten"); + setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); @@ -630,7 +629,9 @@ public class EditLectureLink_GUI extends JFrame { //check which GUI to open try { - if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken())){ + + if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken()) || (person.verantwortlicher.getRole().equals("Admin"))){ + //user is admin of the lecture PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); ev.setVisible(true); @@ -1134,6 +1135,7 @@ public class EditLectureLink_GUI extends JFrame { textAreadesc = new JTextArea(); textAreadesc.setLineWrap(true); textAreadesc.setBackground(SystemColor.menu); + textAreadesc.setFont(new Font("Tahoma", Font.PLAIN, 11)); scrollPane.setViewportView(textAreadesc); JMenuBar menuBar = new JMenuBar(); @@ -1217,7 +1219,50 @@ public class EditLectureLink_GUI extends JFrame { // Hole eine Liste der Images if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - images = client.getImageList(person.verantwortlicher.getUserID()); + images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + } else { + //get permitted list + images = client.getImageListPermissionLink(person.verantwortlicher + .getUserID(),SessionData.session.getAuthToken()); + } + + 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(); + } + + //show number of rows in GUI + tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") "); + + return model; + + } + + + public DefaultTableModel initTableModelAll(DefaultTableModel model) + throws TException, ParseException { + List<server.generated.Image> images; + + // Hole eine Liste der Images + if(person.verantwortlicher.getRole()=="Admin"){ + //get complete list + images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } else { //get permitted list images = client.getImageListPermissionLink(person.verantwortlicher @@ -1244,6 +1289,9 @@ public class EditLectureLink_GUI extends JFrame { x++; i.next(); } + + //show number of rows in GUI + tabbedPane.setTitleAt(2, tabbedPane.getTitleAt(2)+" ("+model.getRowCount()+") "); return model; @@ -1280,6 +1328,8 @@ public class EditLectureLink_GUI extends JFrame { i.next(); } + //show number of rows in GUI + tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") "); return model; diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index 92981146..064ad5af 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -84,6 +84,7 @@ public class EditLectureSearch_GUI extends JFrame { JLabel labelVerantwortlicher; JTable tablemyLectures; private JTextField textFieldName; + private JLabel lblTotalResults; boolean activeSearch = false; Component c = null; String[] titles = { "Veranstaltungsname", "Beschreibung", @@ -196,7 +197,7 @@ public class EditLectureSearch_GUI extends JFrame { e.printStackTrace(); } // Setzt den Fenstertitel - setTitle("bwLehrpool Suite - Veranstaltung bearbeiten"); + setTitle("bwLehrpool Suite - Veranstaltung bearbeiten - "+person.verantwortlicher.getUserID()); // Zentriert das Fenster in die Bildmitte setBounds(0, 0, 842, 722); setLocationRelativeTo(formerGUI); @@ -362,6 +363,11 @@ public class EditLectureSearch_GUI extends JFrame { tablemyLectures.setRowSorter(rowSorterMyLectures); scrollPaneMyImage.setViewportView(tablemyLectures); + + lblTotalResults = new JLabel("Anzahl:"); + lblTotalResults.setBounds(10, 512, 131, 20); + contentPanel.add(lblTotalResults); + { JPanel buttonPane = new JPanel(); buttonPane.setBounds(0, 640, 826, 33); @@ -695,6 +701,9 @@ public class EditLectureSearch_GUI extends JFrame { i.next(); } + + //show number if rows in GUI + lblTotalResults.setText(lblTotalResults.getText()+" "+model.getRowCount()); return model; } catch (TException e1) { diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java index f32648f0..b9886c73 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionCreateLecture_GUI.java @@ -80,7 +80,7 @@ public class PermissionCreateLecture_GUI extends JFrame { // private JTable table = null; private JTable tablePermittedUsers = null; private final ButtonGroup buttonGroup = new ButtonGroup(); - Object[] titles = { "Name", "Read", "Write", "Admin", "userID" }; + Object[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; // Object[] titles = { "Name", "Read", "Write", "Link", "Admin", "userID" }; Component c = null; private static final String HELP_MESSAGE = "<html><div align=\"center\">" @@ -144,7 +144,7 @@ public class PermissionCreateLecture_GUI extends JFrame { | IllegalAccessException | UnsupportedLookAndFeelException e) { e.printStackTrace(); } - setTitle("bwLehrpool Suite - Berechtigungen"); + setTitle("bwLehrpool Suite - Berechtigungen - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -311,31 +311,31 @@ public class PermissionCreateLecture_GUI extends JFrame { TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.setBackground(SystemColor.menu); - JLabel label = new JLabel("Read"); + JLabel label = new JLabel("Lesen"); label.setBounds(28, 18, 90, 20); panel.add(label); - JLabel label_3 = new JLabel("Write"); + JLabel label_3 = new JLabel("Schreiben"); label_3.setBounds(28, 38, 90, 20); panel.add(label_3); JLabel label_5 = new JLabel("Admin"); - label_5.setBounds(28, 78, 90, 20); + label_5.setBounds(28, 58, 90, 20); panel.add(label_5); JLabel label_7 = new JLabel( - "Veranstaltung ist in bwLehrpool Suite und VMchooser fĂĽr sichtbar.."); - label_7.setBounds(128, 18, 380, 20); + "Veranstaltung ist in bwLehrpool Suite und VMchooser sichtbar."); + label_7.setBounds(128, 18, 419, 20); panel.add(label_7); JLabel lblimageDarfAngepasst = new JLabel( - "<HTML>Image darf angepasst und überschrieben, jedoch nicht gelöscht werden. Berechtigungen für andere Benutzer festlegen</HTML>"); - lblimageDarfAngepasst.setBounds(128, 38, 380, 45); + "Veranstaltung darf angepasst und ĂĽberschrieben, jedoch nicht gelöscht werden."); + lblimageDarfAngepasst.setBounds(128, 38, 419, 20); panel.add(lblimageDarfAngepasst); JLabel lblvolleRechteRead = new JLabel( - "<HTML>Volle Rechte: read, write, löschen und Berechtigungen für andere Benutzer festlegen.</HTML>"); - lblvolleRechteRead.setBounds(128, 78, 380, 40); + "<HTML>Volle Rechte: Lesen, Schreiben, Löschen und Berechtigungen fĂĽr andere Benutzer festlegen.</HTML>"); + lblvolleRechteRead.setBounds(128, 58, 419, 35); panel.add(lblvolleRechteRead); JPanel panel_1 = new JPanel(); diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index 52e9746a..40956d88 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -75,7 +75,7 @@ public class PermissionEditLecture_GUI extends JFrame { String[] result; private JTable table; private Class[] classes; - Object[] titles = { "Name", "Read", "Write", "Admin", "userID" }; + Object[] titles = { "Name", "Lesen", "Schreiben", "Admin", "userID" }; private List<Person> map = null; // List of people who have rights Component c = null; private static final String HELP_MESSAGE = "<html><div align=\"center\">" @@ -128,7 +128,7 @@ public class PermissionEditLecture_GUI extends JFrame { e.printStackTrace(); } - setTitle("bwLehrpool Suite - Berechtigungen"); + setTitle("bwLehrpool Suite - Berechtigungen - "+person.verantwortlicher.getUserID()); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -170,32 +170,32 @@ public class PermissionEditLecture_GUI extends JFrame { panel.setBounds(10, 35, 557, 130); contentPanel.add(panel); - JLabel label = new JLabel("Read"); - label.setBounds(28, 18, 90, 20); - panel.add(label); + JLabel lblLesen = new JLabel("Lesen"); + lblLesen.setBounds(28, 18, 90, 20); + panel.add(lblLesen); JLabel lblVeranstaltungIstIn = new JLabel( "Veranstaltung ist in bwLehrpool Suite und VMchooser fĂĽr sichtbar."); - lblVeranstaltungIstIn.setBounds(128, 18, 380, 20); + lblVeranstaltungIstIn.setBounds(128, 18, 419, 20); panel.add(lblVeranstaltungIstIn); - JLabel label_4 = new JLabel("Write"); - label_4.setBounds(28, 38, 90, 20); - panel.add(label_4); + JLabel lblSchreiben = new JLabel("Schreiben"); + lblSchreiben.setBounds(28, 38, 90, 20); + panel.add(lblSchreiben); JLabel label_5 = new JLabel( - "<HTML>Veranstaltung darf angepasst und ĂĽberschrieben, jedoch nicht gelöscht werden. Berechtigungen fĂĽr andere Benutzer festlegen</HTML>"); - label_5.setBounds(128, 38, 380, 45); + "Veranstaltung darf angepasst und ĂĽberschrieben, jedoch nicht gelöscht werden."); + label_5.setBounds(128, 38, 419, 20); panel.add(label_5); JLabel label_6 = new JLabel("Admin"); - label_6.setBounds(28, 78, 90, 20); + label_6.setBounds(28, 58, 90, 20); panel.add(label_6); - JLabel label_7 = new JLabel( - "<HTML>Volle Rechte: read, write, löschen und Berechtigungen fĂĽr andere Benutzer festlegen.</HTML>"); - label_7.setBounds(128, 78, 380, 40); - panel.add(label_7); + JLabel lblvolleRechteLesen = new JLabel( + "<HTML>Volle Rechte: Lesen, Schreiben, Löschen und Berechtigungen fĂĽr andere Benutzer festlegen.</HTML>"); + lblvolleRechteLesen.setBounds(128, 58, 419, 35); + panel.add(lblvolleRechteLesen); JPanel panel_1 = new JPanel(); panel_1.setBackground(SystemColor.menu); diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index fc00997f..cb783a59 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -223,7 +223,7 @@ public class SearchLecture_GUI extends JFrame { e.printStackTrace();
}
// Setzt den Fenstertitel
- setTitle("bwLehrpool Suite - Veranstaltung suchen");
+ setTitle("bwLehrpool Suite - Veranstaltung suchen - "+person.verantwortlicher.getUserID());
// Zentriert das Fenster in die Bildmitte 2;
setBounds(0, 0, 842, 722);
setLocationRelativeTo(formerGUI);
@@ -660,6 +660,8 @@ public class SearchLecture_GUI extends JFrame { i.next();
}
+ //show number of rows in GUI
+ tabbedPane.setTitleAt(0, tabbedPane.getTitleAt(0)+" ("+model.getRowCount()+") ");
return model;
} catch (TException e1) {
@@ -697,6 +699,8 @@ public class SearchLecture_GUI extends JFrame { i.next();
}
+ //show number of rows in GUI
+ tabbedPane.setTitleAt(1, tabbedPane.getTitleAt(1)+" ("+model.getRowCount()+") ");
return model;
} catch (TException e1) {
diff --git a/dozentenmodulserver/src/main/java/server/ServerHandler.java b/dozentenmodulserver/src/main/java/server/ServerHandler.java index d9a663c4..0deb1037 100644 --- a/dozentenmodulserver/src/main/java/server/ServerHandler.java +++ b/dozentenmodulserver/src/main/java/server/ServerHandler.java @@ -34,19 +34,17 @@ import thrift.MasterThriftConnection; //import thrift.SessionData; import sql.SQL; + //import util.XMLCreator; -public class ServerHandler implements Server.Iface -{ - +public class ServerHandler implements Server.Iface { + private static Logger log = Logger.getLogger(ServerHandler.class); static SQL sql = new SQL(); private Map<String,UserInfo> tokenManager = new HashMap<>(); //saves the current tokens and the mapped userdata, returning from the server - - - + public boolean authenticated(String token) throws TException { if(tokenManager.get(token) != null) @@ -97,18 +95,15 @@ public class ServerHandler implements Server.Iface return true; } return false; - } - - - - + } @Override public User getFtpUser(String token) throws TException { if(authenticated(token)) { + log.info("returning FTPUser..."); User user = new User(); user.setUserName(UUID.randomUUID().toString().substring(0, 8)); @@ -119,7 +114,7 @@ public class ServerHandler implements Server.Iface } else { user.setPath(Configuration.config.getAbsolute_path() + "/"); } - + // check if folder temp and folder prod exist if (folderTempExists() == true && folderProdExists() == true) { sql.writeFTPUser(user.getUserName(), user.getPassword()); @@ -130,12 +125,10 @@ public class ServerHandler implements Server.Iface } } return null; - + } - - public boolean folderTempExists() - { + public boolean folderTempExists() { // check if folder temp exists, otherwise create it Path path = null; if (Configuration.config.getAbsolute_path().endsWith("/")) { @@ -145,15 +138,14 @@ public class ServerHandler implements Server.Iface } if (Files.exists(path) == true) { - log.info("folder '" + path + "' exists, no further action"); + log.info("folder '" + path + "' exists, no further action"); return true; } else { // create directory and set permissions boolean success = (new File(path + "")).mkdirs(); if (!success) { - log.info("failed to create folder '" + path - + "'"); + log.info("failed to create folder '" + path + "'"); return false; } else { // set permissions @@ -162,13 +154,12 @@ public class ServerHandler implements Server.Iface } catch (IOException e) { e.printStackTrace(); } - log.info("folder '" + path + "' successfully created"); + log.info("folder '" + path + "' successfully created"); return true; } } }// end folderTempExists() - public boolean folderProdExists() { // check if folder temp exists, otherwise create it @@ -180,15 +171,14 @@ public class ServerHandler implements Server.Iface } if (Files.exists(path) == true) { - log.info("folder '" + path + "' exists, no further action"); + log.info("folder '" + path + "' exists, no further action"); return true; } else { // create directory and set permissions boolean success = (new File(path + "")).mkdirs(); if (!success) { - log.info("failed to create folder '" + path - + "'"); + log.info("failed to create folder '" + path + "'"); return false; } else { // set permissions @@ -197,15 +187,13 @@ public class ServerHandler implements Server.Iface } catch (IOException e) { e.printStackTrace(); } - log.info("folder '" + path - + "' successfully created"); + log.info("folder '" + path + "' successfully created"); return true; } } }// end folderProdExists() - public String getEncodedSha1Sum(String key) { try { MessageDigest md = MessageDigest.getInstance("SHA1"); @@ -220,10 +208,12 @@ public class ServerHandler implements Server.Iface @Override + public long DeleteFtpUser(String user, String token) throws TException { if(authenticated(token)) { + return sql.DeleteUser(user); } return -1; @@ -231,22 +221,24 @@ public class ServerHandler implements Server.Iface @Override + public String getPathOfImage(String image_id, String version, String token) throws TException { if(authenticated(token)) { log.info("successfully returned PathOfImage: " + sql.getPathOfImage(image_id, version)); + return sql.getPathOfImage(image_id, version); } return null; } - @Override public String setInstitution(String university, String token) throws TException { if(authenticated(token)) { + return sql.setInstitution(university); } return null; @@ -269,77 +261,79 @@ public class ServerHandler implements Server.Iface } else { mode = "to_be_published"; } - + // String pk_institution = sql.setInstitution(university); - // String pk_person = sql.setPerson(login, lastname, firstname, Mail, + // String pk_person = sql.setPerson(login, lastname, firstname, + // Mail, // new Date(), pk_institution); - + // OS impl Select and write - // ACHTUNG: Anzahl der Leerzeichen muss eingehalten werden: 'Windows 7 + // ACHTUNG: Anzahl der Leerzeichen muss eingehalten werden: 'Windows + // 7 // 32 bit" - String pk_os = sql.getOSpk(os.substring(0, nthIndexOf(os, " ", 2)), os - .substring(nthIndexOf(os, " ", 2), os.lastIndexOf(" ")) - .replace(" ", "")); - + String pk_os = sql.getOSpk(os.substring(0, nthIndexOf(os, " ", 2)), + os.substring(nthIndexOf(os, " ", 2), os.lastIndexOf(" ")) + .replace(" ", "")); + // sql.setImageData(pk_person, license, internet, cpu, ram, // imagename,desc, imagePath, filesize,mode,pk_os); - - - + sql.setImageData(userID, license, internet, cpu, ram, imagename, desc, imagePath, filesize, mode, pk_os, uid); log.info("userID in serverhandler was: "+userID); + log.info("written VLdata"); return true; } return false; } - @Override + public List<Image> getImageListPermissionWrite(String userID, String token) throws TException { if(authenticated(token)) { + return sql.getImageListPermissionWrite(userID); } return null; } - @Override public List<Image> getImageListPermissionRead(String userID, String token) throws TException { if(authenticated(token)) { + return sql.getImageListPermissionRead(userID); } return null; } - @Override public List<Image> getImageListPermissionLink(String userID, String token) throws TException { if(authenticated(token)) { + return sql.getImageListPermissionLink(userID); } return null; } - - + @Override public List<Image> getImageListPermissionAdmin(String userID, String token) throws TException { if(authenticated(token)) { + return sql.getImageListPermissionAdmin(userID); } return null; } - + @Override public List<Image> getImageListAllTemplates(String token) throws TException { @@ -349,7 +343,6 @@ public class ServerHandler implements Server.Iface } return null; } - @Override public List<String> getAllOS(String token) throws TException @@ -365,14 +358,10 @@ public class ServerHandler implements Server.Iface @Override public Map<String, String> getPersonData(String Vorname, String Nachname, String token) throws TException { - /* + if(authenticated(token)) { - return sql.getPersonData(Vorname, Nachname); - } - return null; - */ - + Map<String, String> map = new HashMap<>(); UserInfo ui = getUserFromToken(token); @@ -387,8 +376,10 @@ public class ServerHandler implements Server.Iface map.put("Hochschule", tempMap.get("Hochschule")); return map; - + } + return null; } + public void setPerson(String userID, String token, String institution) throws TException { @@ -419,19 +410,18 @@ public class ServerHandler implements Server.Iface String pk_institution = sql.setInstitution(university); String pk_person = sql.setPerson(ui.getEMail(), ui.getLastName(), ui.getFirstName(), ui.getEMail(), new Date(), pk_institution); - + map = sql.getImageIDandVersion(imageID); - - //pk_image = map.get("GUID"); + + // pk_image = map.get("GUID"); imageversion = Integer.parseInt(map.get("version")); - + sql.setLectureData(pk_person, imageID, imageversion, name, desc, shortdesc, startDate, endDate, isActive, lectureID); } - return false; - + return false; + } - @Override public boolean startFileCopy(String filename, String token) throws TException @@ -442,18 +432,18 @@ public class ServerHandler implements Server.Iface String file = Configuration.config.getAbsolute_path() + "temp/" + filename; File tmpFile = new File(file); - + log.info("Trying to move file to '/srv/openslx/nfs/prod/" + tmpFile.getName() + "'"); try { FileUtils.moveFile(tmpFile, - new File(Configuration.config.getAbsolute_path() + "prod/" - + filename)); + new File(Configuration.config.getAbsolute_path() + + "prod/" + filename)); // int ret = sql.UpdateImagePath(filename); if (sql.UpdateImagePath(filename) == 0) { log.info("file moved and database updated."); } - + } catch (IOException e) { log.info("Failed to move file."); e.printStackTrace(); @@ -479,20 +469,38 @@ public class ServerHandler implements Server.Iface long cpu, String id, String version, boolean isTemplate, long filesize, long shareMode, String os, String token) throws TException { - if(authenticated(token)) + + if (authenticated(token)) { + + //get old_image_path + String old_image_path = sql.getFile(id, version); + String mode = null; - + if (shareMode == 0) { mode = "only_local"; } else { mode = "to_be_published"; } - String pk_os = sql.getOSpk(os.substring(0, nthIndexOf(os, " ", 2)), os - .substring(nthIndexOf(os, " ", 2), os.lastIndexOf(" ")) - .replace(" ", "")); - sql.UpdateImageData(name, newName, desc, image_path, license, internet, - cpu, ram, id, version, isTemplate, filesize, mode, pk_os); + String pk_os = sql.getOSpk(os.substring(0, nthIndexOf(os, " ", 2)), + os.substring(nthIndexOf(os, " ", 2), os.lastIndexOf(" ")) + .replace(" ", "")); + + // do database update - if successful then delete old file from + // drive + int val = sql.UpdateImageData(name, newName, desc, image_path, + license, internet, cpu, ram, id, version, isTemplate, + filesize, mode, pk_os); + + if (val == 0) { + // update was successful - delete old file + deleteImageByPath(old_image_path); + } else { + // update was not successful - delete new file + // TODO not yet implemented + + } } return false; } @@ -521,7 +529,6 @@ public class ServerHandler implements Server.Iface return null; }// end getLectureListPermissionRead - @Override public List<Lecture> getLectureListPermissionWrite(String token) throws TException { @@ -535,6 +542,7 @@ public class ServerHandler implements Server.Iface }// end getLectureListPermissionRead @Override + public List<Lecture> getLectureListPermissionAdmin(String token) throws TException { if(authenticated(token)) @@ -557,27 +565,13 @@ public class ServerHandler implements Server.Iface { UserInfo ui = getUserFromToken(token); - Map<String, String> map = new HashMap<String, String>(); - map = sql.getDeleteXMLData(id); sql.updateLectureData(imageid, imageversion, ui.getLastName(), newName, desc, shortdesc, startDate, endDate, isActive, id); - - String path = Configuration.config.getAbsolute_path() + "prod/" - + map.get("date").substring(0, map.get("date").length() - 2) - + "_" + university + "_" + ui.getEMail() + "_" + map.get("name") - + ".xml"; - File tmpFile = new File(path); - try { - FileUtils.forceDelete(tmpFile); - } catch (IOException e1) { - e1.printStackTrace(); - } } return false; } - @Override public boolean deleteImageServer(String imageid, String imageversion, String token) throws TException { @@ -585,24 +579,23 @@ public class ServerHandler implements Server.Iface { String stringFile = sql.getFile(imageid, imageversion); log.info("File to Delete: " + stringFile); - + File tmpFile = new File(Configuration.config.getAbsolute_path() + stringFile); - + try { // File wird von Server gelöscht FileUtils.forceDelete(tmpFile); return true; - + } catch (IOException e) { log.info("Failed to execute deleteImageServer."); e.printStackTrace(); - + } } return false; } - @Override public boolean deleteImageData(String id, String version, String token) throws TException @@ -620,6 +613,33 @@ public class ServerHandler implements Server.Iface return success; } +//TODO +public boolean deleteImageByPath(String image_path) throws TException{ + + + + //String stringFile = sql.getFile(imageid, imageversion); + log.info("File to Delete: " + image_path); + + File tmpFile = new File(Configuration.config.getAbsolute_path() + + image_path); + + try { + // File wird von Server gelöscht + FileUtils.forceDelete(tmpFile); + return true; + + } catch (IOException e) { + log.info("Failed to execute deleteImageServer."); + e.printStackTrace(); + + } + + + return false; + +} + @Override public boolean connectedToLecture(String id, String version, String token) throws TException { @@ -640,28 +660,16 @@ public class ServerHandler implements Server.Iface if(authenticated(token)) { - Map<String, String> map = new HashMap<String, String>(); - map = sql.getDeleteXMLData(id); - try { - - String path = Configuration.config.getAbsolute_path() - + "prod/" - + map.get("date") - .substring(0, map.get("date").length() - 2) + "_" - + university + "_" + user + "_" + map.get("name") + ".xml"; - File xmlFile = new File(path); - FileUtils.forceDelete(xmlFile); - } catch (IOException e) { - log.info("Failed to execute deleteLecture."); - e.printStackTrace(); - } - - if(sql.deleteLecture(id) == true){ + if(sql.deleteLecture(id) == true) + { + success = true; - log.info("Lecture '"+id+"' and permissions successfully deleted."); + log.info("Lecture '" + id + + "' and permissions successfully deleted."); } } return success; + } @Override @@ -679,7 +687,6 @@ public class ServerHandler implements Server.Iface { if(authenticated(token)) { - //log.info("returning LectureData"); return sql.getLectureData(lectureid); } return null; @@ -692,6 +699,7 @@ public class ServerHandler implements Server.Iface for (int i = 0; i < index; i++) { j = string.indexOf(searchToken, j + 1); + if (j == -1) break; } @@ -734,13 +742,13 @@ public class ServerHandler implements Server.Iface Map<String, String> map = new HashMap<String, String>(); String pk_institution = sql.setInstitution(university); + String pk_person = sql.setPerson(userID, ui.getLastName(), ui.getFirstName(), ui.getEMail(), new Date(), pk_institution); map = sql.getImageIDandVersion(imageID); - - + pk_image = map.get("GUID"); - + if (role.equals("Dozent")) { int read = 1; int write = 1; @@ -748,10 +756,10 @@ public class ServerHandler implements Server.Iface int admin = 1; int linkallowed = 1; int roleID = sql.getRoleID(role); - - sql.setImageRights(pk_person, pk_image, roleID, read, write, admin, - linkallowed); - + + sql.setImageRights(pk_person, pk_image, roleID, read, write, + admin, linkallowed); + } else if (role.equals("Admin")) { int read = 1; int write = 1; @@ -759,9 +767,9 @@ public class ServerHandler implements Server.Iface int admin = 1; int linkallowed = 1; int roleID = sql.getRoleID(role); - - sql.setImageRights(pk_person, pk_image, roleID, read, write, admin, - linkallowed); + + sql.setImageRights(pk_person, pk_image, roleID, read, write, + admin, linkallowed); } else { int read = 1; int write = 0; @@ -769,11 +777,11 @@ public class ServerHandler implements Server.Iface int admin = 0; int linkallowed = 0; int roleID = sql.getRoleID(role); - - sql.setImageRights(pk_person, pk_image, roleID, read, write, admin, - linkallowed); + + sql.setImageRights(pk_person, pk_image, roleID, read, write, + admin, linkallowed); } - + log.info("Written image rights"); return true; } @@ -797,17 +805,17 @@ public class ServerHandler implements Server.Iface // int changePermission=0; int admin = 1; int roleID = sql.getRoleID(role); - + sql.setLectureRights(pk_person, lectureID, roleID, read, write, admin); - + } else if (role.equals("Admin")) { int read = 1; int write = 1; // int changePermission=1; int admin = 1; int roleID = sql.getRoleID(role); - + sql.setLectureRights(pk_person, lectureID, roleID, read, write, admin); } else { @@ -816,11 +824,11 @@ public class ServerHandler implements Server.Iface // int changePermission=0; int admin = 0; int roleID = sql.getRoleID(role); - + sql.setLectureRights(pk_person, lectureID, roleID, read, write, admin); } - + return true; } return false; @@ -837,7 +845,7 @@ public class ServerHandler implements Server.Iface return null; } - //set permissions for users which are !=userID + // set permissions for users which are !=userID public boolean writeAdditionalImageRights(String imageID, String userID, boolean isRead, boolean isWrite, boolean isLinkAllowed, boolean isAdmin, String token) throws TException @@ -845,31 +853,29 @@ public class ServerHandler implements Server.Iface boolean success = false; if(authenticated(token)) { - Map<String, String> map = new HashMap<String, String>(); map = sql.getImageIDandVersion(imageID); - //String imageID = map.get("GUID"); - + // String imageID = map.get("GUID"); + sql.writeAdditionalImageRights(imageID, userID, isRead, isWrite, isLinkAllowed, isAdmin); - log.info("Written additional image rights for " + userID); + log.info("Written additional image rights for " + userID); } return success; } - public boolean writeAdditionalLectureRights(String lectureID, String userID, boolean isRead, boolean isWrite, boolean isAdmin, String token) throws TException { if(authenticated(token)) { Map<String, String> map = new HashMap<String, String>(); - //String lectureID = sql.getLectureID(lectureID); - - sql.writeAdditionalLectureRights(lectureID, userID, isRead, isWrite, - isAdmin); - log.info("Written additional lecture rights for "+ userID); - + // String lectureID = sql.getLectureID(lectureID); + + sql.writeAdditionalLectureRights(lectureID, userID, isRead, + isWrite, isAdmin); + log.info("Written additional lecture rights for " + userID); + return true; } return false; @@ -886,6 +892,7 @@ public class ServerHandler implements Server.Iface return null; } + public List<Person> getPermissionForUserAndLecture(String token,String lectureID, String userID) throws TException { if(authenticated(token)) @@ -915,17 +922,17 @@ public class ServerHandler implements Server.Iface UserInfo ui = getUserFromToken(token); sql.deleteAllAdditionalLecturePermissions(lectureID, userID); } - + return; } + @Override - public List<Image> getImageList(String token) throws TException + public List<Image> getImageList(String userID, String token) throws TException { - UserInfo ui = getUserFromToken(token); if(authenticated(token)) { - return sql.getImageList(ui.getEMail()); + return sql.getImageList(userID); } return null; } @@ -951,7 +958,6 @@ public class ServerHandler implements Server.Iface } @Override - public String createRandomUUID(String token) throws TException { if(authenticated(token)) @@ -971,8 +977,6 @@ public class ServerHandler implements Server.Iface } - - @Override public boolean userIsImageAdmin(String imageID, String token, String userID) throws TException { @@ -983,17 +987,17 @@ public class ServerHandler implements Server.Iface return sql.userIsImageAdmin(userID,imageID); } return false; - - } - + } @Override public boolean userIsLectureAdmin(String userID, String lectureID, String token) throws TException { + if(authenticated(token)) { return sql.userIsLectureAdmin(userID,lectureID); + } return false; } @@ -1007,6 +1011,4 @@ public class ServerHandler implements Server.Iface - - }// end class diff --git a/dozentenmodulserver/src/main/java/server/generated/Server.java b/dozentenmodulserver/src/main/java/server/generated/Server.java index 831fd8cd..2c2f94df 100644 --- a/dozentenmodulserver/src/main/java/server/generated/Server.java +++ b/dozentenmodulserver/src/main/java/server/generated/Server.java @@ -60,7 +60,7 @@ public class Server { public List<Image> getImageListAllTemplates(String token) throws org.apache.thrift.TException; - public List<Image> getImageList(String token) throws org.apache.thrift.TException; + public List<Image> getImageList(String userID, String token) throws org.apache.thrift.TException; public List<Lecture> getLectureList(String token) throws org.apache.thrift.TException; @@ -96,6 +96,8 @@ public class Server { public boolean deleteImageServer(String id, String version, String token) throws org.apache.thrift.TException; + public boolean deleteImageByPath(String image_path) throws org.apache.thrift.TException; + public boolean connectedToLecture(String id, String version, String token) throws org.apache.thrift.TException; public boolean deleteLecture(String id, String token, String university) throws org.apache.thrift.TException; @@ -162,7 +164,7 @@ public class Server { public void getImageListAllTemplates(String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; - public void getImageList(String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void getImageList(String userID, String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; public void getLectureList(String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; @@ -198,6 +200,8 @@ public class Server { public void deleteImageServer(String id, String version, String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void deleteImageByPath(String image_path, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void connectedToLecture(String id, String version, String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; public void deleteLecture(String id, String token, String university, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; @@ -557,15 +561,16 @@ public class Server { throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getImageListAllTemplates failed: unknown result"); } - public List<Image> getImageList(String token) throws org.apache.thrift.TException + public List<Image> getImageList(String userID, String token) throws org.apache.thrift.TException { - send_getImageList(token); + send_getImageList(userID, token); return recv_getImageList(); } - public void send_getImageList(String token) throws org.apache.thrift.TException + public void send_getImageList(String userID, String token) throws org.apache.thrift.TException { getImageList_args args = new getImageList_args(); + args.setUserID(userID); args.setToken(token); sendBase("getImageList", args); } @@ -1019,6 +1024,29 @@ public class Server { throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteImageServer failed: unknown result"); } + public boolean deleteImageByPath(String image_path) throws org.apache.thrift.TException + { + send_deleteImageByPath(image_path); + return recv_deleteImageByPath(); + } + + public void send_deleteImageByPath(String image_path) throws org.apache.thrift.TException + { + deleteImageByPath_args args = new deleteImageByPath_args(); + args.setImage_path(image_path); + sendBase("deleteImageByPath", args); + } + + public boolean recv_deleteImageByPath() throws org.apache.thrift.TException + { + deleteImageByPath_result result = new deleteImageByPath_result(); + receiveBase(result, "deleteImageByPath"); + if (result.isSetSuccess()) { + return result.success; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteImageByPath failed: unknown result"); + } + public boolean connectedToLecture(String id, String version, String token) throws org.apache.thrift.TException { send_connectedToLecture(id, version, token); @@ -1961,23 +1989,26 @@ public class Server { } } - public void getImageList(String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + public void getImageList(String userID, String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { checkReady(); - getImageList_call method_call = new getImageList_call(token, resultHandler, this, ___protocolFactory, ___transport); + getImageList_call method_call = new getImageList_call(userID, token, resultHandler, this, ___protocolFactory, ___transport); this.___currentMethod = method_call; ___manager.call(method_call); } public static class getImageList_call extends org.apache.thrift.async.TAsyncMethodCall { + private String userID; private String token; - public getImageList_call(String token, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + public getImageList_call(String userID, String token, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { super(client, protocolFactory, transport, resultHandler, false); + this.userID = userID; this.token = token; } public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getImageList", org.apache.thrift.protocol.TMessageType.CALL, 0)); getImageList_args args = new getImageList_args(); + args.setUserID(userID); args.setToken(token); args.write(prot); prot.writeMessageEnd(); @@ -2690,6 +2721,38 @@ public class Server { } } + public void deleteImageByPath(String image_path, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + deleteImageByPath_call method_call = new deleteImageByPath_call(image_path, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class deleteImageByPath_call extends org.apache.thrift.async.TAsyncMethodCall { + private String image_path; + public deleteImageByPath_call(String image_path, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.image_path = image_path; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteImageByPath", org.apache.thrift.protocol.TMessageType.CALL, 0)); + deleteImageByPath_args args = new deleteImageByPath_args(); + args.setImage_path(image_path); + args.write(prot); + prot.writeMessageEnd(); + } + + public boolean getResult() throws org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_deleteImageByPath(); + } + } + public void connectedToLecture(String id, String version, String token, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { checkReady(); connectedToLecture_call method_call = new connectedToLecture_call(id, version, token, resultHandler, this, ___protocolFactory, ___transport); @@ -3461,6 +3524,7 @@ public class Server { processMap.put("deleteImageData", new deleteImageData()); processMap.put("updateLecturedata", new updateLecturedata()); processMap.put("deleteImageServer", new deleteImageServer()); + processMap.put("deleteImageByPath", new deleteImageByPath()); processMap.put("connectedToLecture", new connectedToLecture()); processMap.put("deleteLecture", new deleteLecture()); processMap.put("checkUser", new checkUser()); @@ -3742,7 +3806,7 @@ public class Server { public getImageList_result getResult(I iface, getImageList_args args) throws org.apache.thrift.TException { getImageList_result result = new getImageList_result(); - result.success = iface.getImageList(args.token); + result.success = iface.getImageList(args.userID, args.token); return result; } } @@ -4093,6 +4157,27 @@ public class Server { } } + public static class deleteImageByPath<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteImageByPath_args> { + public deleteImageByPath() { + super("deleteImageByPath"); + } + + public deleteImageByPath_args getEmptyArgsInstance() { + return new deleteImageByPath_args(); + } + + protected boolean isOneway() { + return false; + } + + public deleteImageByPath_result getResult(I iface, deleteImageByPath_args args) throws org.apache.thrift.TException { + deleteImageByPath_result result = new deleteImageByPath_result(); + result.success = iface.deleteImageByPath(args.image_path); + result.setSuccessIsSet(true); + return result; + } + } + public static class connectedToLecture<I extends Iface> extends org.apache.thrift.ProcessFunction<I, connectedToLecture_args> { public connectedToLecture() { super("connectedToLecture"); @@ -4526,6 +4611,7 @@ public class Server { processMap.put("deleteImageData", new deleteImageData()); processMap.put("updateLecturedata", new updateLecturedata()); processMap.put("deleteImageServer", new deleteImageServer()); + processMap.put("deleteImageByPath", new deleteImageByPath()); processMap.put("connectedToLecture", new connectedToLecture()); processMap.put("deleteLecture", new deleteLecture()); processMap.put("checkUser", new checkUser()); @@ -5211,7 +5297,7 @@ public class Server { } public void start(I iface, getImageList_args args, org.apache.thrift.async.AsyncMethodCallback<List<Image>> resultHandler) throws TException { - iface.getImageList(args.token,resultHandler); + iface.getImageList(args.userID, args.token,resultHandler); } } @@ -6087,6 +6173,58 @@ public class Server { } } + public static class deleteImageByPath<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteImageByPath_args, Boolean> { + public deleteImageByPath() { + super("deleteImageByPath"); + } + + public deleteImageByPath_args getEmptyArgsInstance() { + return new deleteImageByPath_args(); + } + + public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback<Boolean>() { + public void onComplete(Boolean o) { + deleteImageByPath_result result = new deleteImageByPath_result(); + result.success = o; + result.setSuccessIsSet(true); + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + deleteImageByPath_result result = new deleteImageByPath_result(); + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, deleteImageByPath_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException { + iface.deleteImageByPath(args.image_path,resultHandler); + } + } + public static class connectedToLecture<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, connectedToLecture_args, Boolean> { public connectedToLecture() { super("connectedToLecture"); @@ -18102,7 +18240,8 @@ public class Server { public static class getImageList_args implements org.apache.thrift.TBase<getImageList_args, getImageList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getImageList_args> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getImageList_args"); - private static final org.apache.thrift.protocol.TField TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("token", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userID", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("token", org.apache.thrift.protocol.TType.STRING, (short)2); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -18110,11 +18249,13 @@ public class Server { schemes.put(TupleScheme.class, new getImageList_argsTupleSchemeFactory()); } + public String userID; // required public String token; // required /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { - TOKEN((short)1, "token"); + USER_ID((short)1, "userID"), + TOKEN((short)2, "token"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -18129,7 +18270,9 @@ public class Server { */ public static _Fields findByThriftId(int fieldId) { switch(fieldId) { - case 1: // TOKEN + case 1: // USER_ID + return USER_ID; + case 2: // TOKEN return TOKEN; default: return null; @@ -18174,6 +18317,8 @@ public class Server { public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; static { Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userID", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.TOKEN, new org.apache.thrift.meta_data.FieldMetaData("token", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); metaDataMap = Collections.unmodifiableMap(tmpMap); @@ -18184,9 +18329,11 @@ public class Server { } public getImageList_args( + String userID, String token) { this(); + this.userID = userID; this.token = token; } @@ -18194,6 +18341,9 @@ public class Server { * Performs a deep copy on <i>other</i>. */ public getImageList_args(getImageList_args other) { + if (other.isSetUserID()) { + this.userID = other.userID; + } if (other.isSetToken()) { this.token = other.token; } @@ -18205,9 +18355,34 @@ public class Server { @Override public void clear() { + this.userID = null; this.token = null; } + public String getUserID() { + return this.userID; + } + + public getImageList_args setUserID(String userID) { + this.userID = userID; + return this; + } + + public void unsetUserID() { + this.userID = null; + } + + /** Returns true if field userID is set (has been assigned a value) and false otherwise */ + public boolean isSetUserID() { + return this.userID != null; + } + + public void setUserIDIsSet(boolean value) { + if (!value) { + this.userID = null; + } + } + public String getToken() { return this.token; } @@ -18234,6 +18409,14 @@ public class Server { public void setFieldValue(_Fields field, Object value) { switch (field) { + case USER_ID: + if (value == null) { + unsetUserID(); + } else { + setUserID((String)value); + } + break; + case TOKEN: if (value == null) { unsetToken(); @@ -18247,6 +18430,9 @@ public class Server { public Object getFieldValue(_Fields field) { switch (field) { + case USER_ID: + return getUserID(); + case TOKEN: return getToken(); @@ -18261,6 +18447,8 @@ public class Server { } switch (field) { + case USER_ID: + return isSetUserID(); case TOKEN: return isSetToken(); } @@ -18280,6 +18468,15 @@ public class Server { if (that == null) return false; + boolean this_present_userID = true && this.isSetUserID(); + boolean that_present_userID = true && that.isSetUserID(); + if (this_present_userID || that_present_userID) { + if (!(this_present_userID && that_present_userID)) + return false; + if (!this.userID.equals(that.userID)) + return false; + } + boolean this_present_token = true && this.isSetToken(); boolean that_present_token = true && that.isSetToken(); if (this_present_token || that_present_token) { @@ -18305,6 +18502,16 @@ public class Server { int lastComparison = 0; + lastComparison = Boolean.valueOf(isSetUserID()).compareTo(other.isSetUserID()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUserID()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userID, other.userID); + if (lastComparison != 0) { + return lastComparison; + } + } lastComparison = Boolean.valueOf(isSetToken()).compareTo(other.isSetToken()); if (lastComparison != 0) { return lastComparison; @@ -18335,6 +18542,14 @@ public class Server { StringBuilder sb = new StringBuilder("getImageList_args("); boolean first = true; + sb.append("userID:"); + if (this.userID == null) { + sb.append("null"); + } else { + sb.append(this.userID); + } + first = false; + if (!first) sb.append(", "); sb.append("token:"); if (this.token == null) { sb.append("null"); @@ -18385,7 +18600,15 @@ public class Server { break; } switch (schemeField.id) { - case 1: // TOKEN + case 1: // USER_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.userID = iprot.readString(); + struct.setUserIDIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // TOKEN if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.token = iprot.readString(); struct.setTokenIsSet(true); @@ -18408,6 +18631,11 @@ public class Server { struct.validate(); oprot.writeStructBegin(STRUCT_DESC); + if (struct.userID != null) { + oprot.writeFieldBegin(USER_ID_FIELD_DESC); + oprot.writeString(struct.userID); + oprot.writeFieldEnd(); + } if (struct.token != null) { oprot.writeFieldBegin(TOKEN_FIELD_DESC); oprot.writeString(struct.token); @@ -18431,10 +18659,16 @@ public class Server { public void write(org.apache.thrift.protocol.TProtocol prot, getImageList_args struct) throws org.apache.thrift.TException { TTupleProtocol oprot = (TTupleProtocol) prot; BitSet optionals = new BitSet(); - if (struct.isSetToken()) { + if (struct.isSetUserID()) { optionals.set(0); } - oprot.writeBitSet(optionals, 1); + if (struct.isSetToken()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetUserID()) { + oprot.writeString(struct.userID); + } if (struct.isSetToken()) { oprot.writeString(struct.token); } @@ -18443,8 +18677,12 @@ public class Server { @Override public void read(org.apache.thrift.protocol.TProtocol prot, getImageList_args struct) throws org.apache.thrift.TException { TTupleProtocol iprot = (TTupleProtocol) prot; - BitSet incoming = iprot.readBitSet(1); + BitSet incoming = iprot.readBitSet(2); if (incoming.get(0)) { + struct.userID = iprot.readString(); + struct.setUserIDIsSet(true); + } + if (incoming.get(1)) { struct.token = iprot.readString(); struct.setTokenIsSet(true); } @@ -36369,6 +36607,714 @@ public class Server { } + public static class deleteImageByPath_args implements org.apache.thrift.TBase<deleteImageByPath_args, deleteImageByPath_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteImageByPath_args> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteImageByPath_args"); + + private static final org.apache.thrift.protocol.TField IMAGE_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("image_path", org.apache.thrift.protocol.TType.STRING, (short)1); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new deleteImageByPath_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new deleteImageByPath_argsTupleSchemeFactory()); + } + + public String image_path; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + IMAGE_PATH((short)1, "image_path"); + + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // IMAGE_PATH + return IMAGE_PATH; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.IMAGE_PATH, new org.apache.thrift.meta_data.FieldMetaData("image_path", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteImageByPath_args.class, metaDataMap); + } + + public deleteImageByPath_args() { + } + + public deleteImageByPath_args( + String image_path) + { + this(); + this.image_path = image_path; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public deleteImageByPath_args(deleteImageByPath_args other) { + if (other.isSetImage_path()) { + this.image_path = other.image_path; + } + } + + public deleteImageByPath_args deepCopy() { + return new deleteImageByPath_args(this); + } + + @Override + public void clear() { + this.image_path = null; + } + + public String getImage_path() { + return this.image_path; + } + + public deleteImageByPath_args setImage_path(String image_path) { + this.image_path = image_path; + return this; + } + + public void unsetImage_path() { + this.image_path = null; + } + + /** Returns true if field image_path is set (has been assigned a value) and false otherwise */ + public boolean isSetImage_path() { + return this.image_path != null; + } + + public void setImage_pathIsSet(boolean value) { + if (!value) { + this.image_path = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case IMAGE_PATH: + if (value == null) { + unsetImage_path(); + } else { + setImage_path((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case IMAGE_PATH: + return getImage_path(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case IMAGE_PATH: + return isSetImage_path(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof deleteImageByPath_args) + return this.equals((deleteImageByPath_args)that); + return false; + } + + public boolean equals(deleteImageByPath_args that) { + if (that == null) + return false; + + boolean this_present_image_path = true && this.isSetImage_path(); + boolean that_present_image_path = true && that.isSetImage_path(); + if (this_present_image_path || that_present_image_path) { + if (!(this_present_image_path && that_present_image_path)) + return false; + if (!this.image_path.equals(that.image_path)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(deleteImageByPath_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetImage_path()).compareTo(other.isSetImage_path()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImage_path()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.image_path, other.image_path); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("deleteImageByPath_args("); + boolean first = true; + + sb.append("image_path:"); + if (this.image_path == null) { + sb.append("null"); + } else { + sb.append(this.image_path); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class deleteImageByPath_argsStandardSchemeFactory implements SchemeFactory { + public deleteImageByPath_argsStandardScheme getScheme() { + return new deleteImageByPath_argsStandardScheme(); + } + } + + private static class deleteImageByPath_argsStandardScheme extends StandardScheme<deleteImageByPath_args> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, deleteImageByPath_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // IMAGE_PATH + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.image_path = iprot.readString(); + struct.setImage_pathIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, deleteImageByPath_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.image_path != null) { + oprot.writeFieldBegin(IMAGE_PATH_FIELD_DESC); + oprot.writeString(struct.image_path); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class deleteImageByPath_argsTupleSchemeFactory implements SchemeFactory { + public deleteImageByPath_argsTupleScheme getScheme() { + return new deleteImageByPath_argsTupleScheme(); + } + } + + private static class deleteImageByPath_argsTupleScheme extends TupleScheme<deleteImageByPath_args> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, deleteImageByPath_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetImage_path()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetImage_path()) { + oprot.writeString(struct.image_path); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, deleteImageByPath_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.image_path = iprot.readString(); + struct.setImage_pathIsSet(true); + } + } + } + + } + + public static class deleteImageByPath_result implements org.apache.thrift.TBase<deleteImageByPath_result, deleteImageByPath_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteImageByPath_result> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteImageByPath_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new deleteImageByPath_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new deleteImageByPath_resultTupleSchemeFactory()); + } + + public boolean success; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"); + + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SUCCESS_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteImageByPath_result.class, metaDataMap); + } + + public deleteImageByPath_result() { + } + + public deleteImageByPath_result( + boolean success) + { + this(); + this.success = success; + setSuccessIsSet(true); + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public deleteImageByPath_result(deleteImageByPath_result other) { + __isset_bitfield = other.__isset_bitfield; + this.success = other.success; + } + + public deleteImageByPath_result deepCopy() { + return new deleteImageByPath_result(this); + } + + @Override + public void clear() { + setSuccessIsSet(false); + this.success = false; + } + + public boolean isSuccess() { + return this.success; + } + + public deleteImageByPath_result setSuccess(boolean success) { + this.success = success; + setSuccessIsSet(true); + return this; + } + + public void unsetSuccess() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + public void setSuccessIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Boolean)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return Boolean.valueOf(isSuccess()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof deleteImageByPath_result) + return this.equals((deleteImageByPath_result)that); + return false; + } + + public boolean equals(deleteImageByPath_result that) { + if (that == null) + return false; + + boolean this_present_success = true; + boolean that_present_success = true; + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (this.success != that.success) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(deleteImageByPath_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("deleteImageByPath_result("); + boolean first = true; + + sb.append("success:"); + sb.append(this.success); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class deleteImageByPath_resultStandardSchemeFactory implements SchemeFactory { + public deleteImageByPath_resultStandardScheme getScheme() { + return new deleteImageByPath_resultStandardScheme(); + } + } + + private static class deleteImageByPath_resultStandardScheme extends StandardScheme<deleteImageByPath_result> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, deleteImageByPath_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, deleteImageByPath_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeBool(struct.success); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class deleteImageByPath_resultTupleSchemeFactory implements SchemeFactory { + public deleteImageByPath_resultTupleScheme getScheme() { + return new deleteImageByPath_resultTupleScheme(); + } + } + + private static class deleteImageByPath_resultTupleScheme extends TupleScheme<deleteImageByPath_result> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, deleteImageByPath_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + oprot.writeBool(struct.success); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, deleteImageByPath_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } + } + } + + } + public static class connectedToLecture_args implements org.apache.thrift.TBase<connectedToLecture_args, connectedToLecture_args._Fields>, java.io.Serializable, Cloneable, Comparable<connectedToLecture_args> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("connectedToLecture_args"); diff --git a/dozentenmodulserver/src/main/java/sql/SQL.java b/dozentenmodulserver/src/main/java/sql/SQL.java index 9144e4b1..b7cb4ada 100644 --- a/dozentenmodulserver/src/main/java/sql/SQL.java +++ b/dozentenmodulserver/src/main/java/sql/SQL.java @@ -1396,11 +1396,18 @@ public class SQL { //delete the lecture record
String sql = "DELETE FROM bwLehrpool.m_VLData_lecture WHERE lectureID = ?;";
PreparedStatement prest = con.prepareStatement(sql);
- prest.setString(1, id);
+ prest.setString(1, id);
prest.executeUpdate();
- //delete all permission records for this lecture
+
+ //delete all permission records for this lecture
+ sql = "DELETE FROM bwLehrpool.pm_VLData_lecture WHERE lectureID = ?;";
+ prest = con.prepareStatement(sql);
+ prest.setString(1, id);
+
+ prest.executeUpdate();
+
con.commit();
con.close();
return true;
diff --git a/dozentenmodulserver/thrift/server.thrift b/dozentenmodulserver/thrift/server.thrift index f3bb4f33..08c99b03 100644 --- a/dozentenmodulserver/thrift/server.thrift +++ b/dozentenmodulserver/thrift/server.thrift @@ -61,7 +61,7 @@ service Server{ list<Image> getImageListPermissionLink(1: string userID, 2: string token), list<Image> getImageListPermissionAdmin(1: string userID, 2: string token), list<Image> getImageListAllTemplates(1: string token), - list<Image> getImageList(1: string token), + list<Image> getImageList(1: string userID, 2: string token), list<Lecture> getLectureList(1: string token), list<Lecture> getLectureListPermissionRead(1: string token), list<Lecture> getLectureListPermissionWrite(1: string token), @@ -79,6 +79,7 @@ service Server{ bool deleteImageData(1: string id, 2: string version, 3: string token), bool updateLecturedata(1: string name, 2: string newName, 3: string shortdesc, 4: string desc, 5: string startDate, 6: string endDate, 7: bool isActive, 8: string imageid, 9: string imageversion, 10: string token, 15: string Tel, 16: string Fak, 17: string id, 18: string university), bool deleteImageServer(1: string id, 2: string version, 3: string token), + bool deleteImageByPath(1: string image_path), bool connectedToLecture(1: string id, 2: string version, 3: string token), bool deleteLecture(1: string id, 2: string token, 3: string university), bool checkUser(1: string username, 2: string token), @@ -98,4 +99,5 @@ service Server{ bool userIsLectureAdmin(1: string userID, 2: string lectureID, 3: string token), string createRandomUUID(1: string token), string getInstitutionByID(1: string institutionID) + } |
