diff options
11 files changed, 1326 insertions, 173 deletions
diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index c80d5a52..88a63883 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -122,7 +122,7 @@ public class PermissionEditImage_GUI extends JFrame { // TODO Auto-generated catch block e.printStackTrace(); } - setTitle("bwLehrpool Suite - Image erzeugen"); + setTitle("bwLehrpool Suite - Image bearbeiten"); setBounds(0, 0, 603, 722); setLocationRelativeTo(formerGUI); @@ -136,12 +136,12 @@ public class PermissionEditImage_GUI extends JFrame { panel.setLayout(null); { JLabel lblNewLabel = new JLabel( - "Image Berechtigungen (Nur zur Veranschaulichung)"); + "Image Berechtigungen"); lblNewLabel.setBounds(10, 11, 509, 22); panel.add(lblNewLabel); lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 18)); } - + JTextPane txtpnBitteWhlenSie = new JTextPane(); txtpnBitteWhlenSie.setEditable(false); txtpnBitteWhlenSie.setBackground(SystemColor.menu); diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index bac85d04..cfb83308 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -98,7 +98,7 @@ public class SearchEditImage_GUI extends JFrame { Component c = null; int requiredPermission = 1; // 0=Read, 1= Write, 2=LinkAllowed, 3=Admin String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" };// Angezeigt + "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" };// Angezeigt // werden // aber // nur @@ -561,11 +561,12 @@ public class SearchEditImage_GUI extends JFrame { labelVerantwortlicher.setBounds(10, 272, 296, 14); panel.add(labelVerantwortlicher); - JLabel label = new JLabel("Weitere Verantwortliche:"); - label.setBounds(10, 284, 130, 14); - panel.add(label); + JLabel lblWeitereAnsprechpartner = new JLabel("Weitere Ansprechpartner:"); + lblWeitereAnsprechpartner.setBounds(10, 284, 130, 14); + panel.add(lblWeitereAnsprechpartner); labelWeitereVerantwortliche = new JLabel(""); + labelWeitereVerantwortliche.setToolTipText("Weitere Personen die Zugriff auf dieses Image haben"); labelWeitereVerantwortliche.setBounds(10, 297, 296, 14); panel.add(labelWeitereVerantwortliche); @@ -735,8 +736,8 @@ public class SearchEditImage_GUI extends JFrame { // Hole eine Liste der passenden Images images = client.getImageListPermissionWrite(person.verantwortlicher .getUserID()); - System.out.println("User is: " - + person.verantwortlicher.getUserID()); + //System.out.println("User is: " + // + person.verantwortlicher.getUserID()); // images = client.getImageList(person.verantwortlicher.getUserID(), // requiredPermission); @@ -760,7 +761,9 @@ public class SearchEditImage_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(), + byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) + }; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); @@ -831,9 +834,28 @@ public class SearchEditImage_GUI extends JFrame { labelID.setText(res.get("id")); labelVersion.setText(res.get("version")); textAreadesc.setText(res.get("desc")); + res.clear(); + + List<String> contacts = client.getAdditionalImageContacts(id); + labelWeitereVerantwortliche.setText(""); + for (int i = 0; i < contacts.size(); i++) + { + labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText()+(contacts.get(i))); + } + labelWeitereVerantwortliche.setToolTipText(labelWeitereVerantwortliche.getText()); + + } catch (TException | ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } + + public static String byteToGigabyte(long bytes, boolean si) { + int unit = si ? 1000 : 1024; + if (bytes < unit) return bytes + " B"; + int exp = (int) (Math.log(bytes) / Math.log(unit)); + String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i"); + return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre); + } } diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index c32107bf..050b81d8 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -64,7 +64,7 @@ import org.apache.thrift.TException; import server.generated.Server.Client;
import thrift.ThriftConnection;
-import util.GuiOrganizer;
+
import util.OpenLinks;
@SuppressWarnings("serial")
@@ -101,7 +101,7 @@ public class SearchImage_GUI extends JFrame { boolean activeSearch = false;
Component c = null;
String[] titles = { "Name", "Lizenzpflichtig", "OS", "Veranstaltung",
- "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; // Angezeigt
+ "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung", "Größe" }; // Angezeigt
// werden
// aber
// nur
@@ -138,6 +138,7 @@ public class SearchImage_GUI extends JFrame { return false;
}
};
+
final TableRowSorter<TableModel> rowSorterAll = new TableRowSorter<TableModel>(
modelAll);
final TableRowSorter<TableModel> rowSorterMyImages = new TableRowSorter<TableModel>(
@@ -160,22 +161,13 @@ public class SearchImage_GUI extends JFrame { ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>();
+
/**
* Create the dialog.
*/
public SearchImage_GUI(Component formerGUI) {
-
- orFilters.add(RowFilter.regexFilter(".", 0)); //search for anything
- orFilter = RowFilter.orFilter(orFilters);
-
- andFilters.add(RowFilter.regexFilter("1", 8));
- andFilter = RowFilter.andFilter(andFilters);
-
- finalFilters.add(andFilter);
- finalFilters.add(orFilter);
-
- templateFilter = RowFilter.andFilter(finalFilters);
+
addWindowListener(new WindowAdapter() {
@Override
@@ -327,11 +319,6 @@ public class SearchImage_GUI extends JFrame { public void keyReleased(KeyEvent e) {
// Textfield eingabe auslesen
String stext = textFieldName.getText().trim();
-
-
-
-
-
// Wenn Textfield nicht leer
if (stext != "")
@@ -357,7 +344,8 @@ public class SearchImage_GUI extends JFrame { finalFilters.add(andFilter);
finalFilters.add(orFilter);
templateFilter = RowFilter.andFilter(finalFilters);
- rowSorterPublicVorlagen.setRowFilter(templateFilter); //TODO füttere finalFilter mit andFilter und orFilter --> TEST
+ rowSorterPublicVorlagen.setRowFilter(templateFilter); //füttere finalFilter mit andFilter und orFilter
+
}
else
{ //refresh list
@@ -365,6 +353,7 @@ public class SearchImage_GUI extends JFrame { String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname();
orFilters.clear();
+ andFilters.clear();
orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything
orFilter = RowFilter.andFilter(orFilters);
@@ -378,6 +367,7 @@ public class SearchImage_GUI extends JFrame { orFilters.add(RowFilter.regexFilter("1", 8));
orFilter = RowFilter.orFilter(orFilters);
rowSorterPublicVorlagen.setRowFilter(orFilter);
+
}
tablemyImages.clearSelection();
@@ -412,24 +402,22 @@ public class SearchImage_GUI extends JFrame { }
// Registriert Auswahlaenderungen der Box
comboBox.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
+ public void actionPerformed(ActionEvent arg0)
+ {
// Prueft das die Auswahl nicht leer ist
if (comboBox.getSelectedItem().toString() != "") {
activeSearch = true;
- rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox
- .getSelectedItem().toString(), 2));
- rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
- comboBox.getSelectedItem().toString(), 2));
- rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- comboBox.getSelectedItem().toString(), 2));
- } else {
+ rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox.getSelectedItem().toString(), 2));
+ rowSorterMyImages.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();
- rowSorterMyImages.setRowFilter(RowFilter.regexFilter(
- username, 4));
- rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter(
- "true", 8));
+ rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4));
+ rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8));
rowSorterAll.setRowFilter(null);
}
}
@@ -442,7 +430,7 @@ public class SearchImage_GUI extends JFrame { lblHauptmen.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
- // oeffnet das Hauuetmenue
+ // oeffnet das Hauptmenue
SearchImage_GUI.this.setVisible(false);
MainMenue_GUI main = new MainMenue_GUI(c);
@@ -471,26 +459,30 @@ public class SearchImage_GUI extends JFrame { contentPanel.add(lblNewLabel_1);
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) {
+ 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));
- } else if (tabbedPane.getSelectedIndex() == 2
- && activeSearch == false) {
- rowSorterAll.setRowFilter(null);
+ //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);
@@ -535,7 +527,7 @@ public class SearchImage_GUI extends JFrame { if (tablemyImages.getSelectedRow() != -1) {
String imageid = modelMyImages.getValueAt(
tablemyImages
- .convertRowIndexToModel(tablemyImages //fehler nur, wenn zeile selektiert und dann suche eingegeben wird!
+ .convertRowIndexToModel(tablemyImages
.getSelectedRow()), 6)
.toString();
String version = modelMyImages.getValueAt(
@@ -555,6 +547,7 @@ public class SearchImage_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(3).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(4).sizeWidthToFit();
tablemyImages.getColumnModel().getColumn(5).sizeWidthToFit();
+
tablemyImages.setRowSorter(rowSorterMyImages);
scrollPaneMyImage.setViewportView(tablemyImages);
@@ -592,8 +585,11 @@ public class SearchImage_GUI extends JFrame { tablePublicVorlagen.getColumnModel().getColumn(3).sizeWidthToFit();
tablePublicVorlagen.getColumnModel().getColumn(4).sizeWidthToFit();
tablePublicVorlagen.getColumnModel().getColumn(5).sizeWidthToFit();
+
tablePublicVorlagen.setRowSorter(rowSorterPublicVorlagen);
+
scrollPanePublicVorlagen.setViewportView(tablePublicVorlagen);
+
tabbedPane.addTab("Vorlagen", null, scrollPanePublicVorlagen, null);
tableAllImages.setRowSorter(rowSorterAll);
@@ -992,11 +988,13 @@ public class SearchImage_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()};
- System.out.println("filling templates..."+images.get(x).getIsTemplate());
+ images.get(x).getDescription(),
+ byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false)
+ };
+ //System.out.println("filling templates..."+images.get(x).getIsTemplate());
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
- System.out.println(model.getValueAt(x, 9));
+ //System.out.println(model.getValueAt(x, 9));
x++;
i.next();
@@ -1034,11 +1032,15 @@ public class SearchImage_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()};
- System.out.println("filling templates..."+images.get(x).getIsTemplate());
+ images.get(x).getDescription(),
+ byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false) //filesize made readable
+
+ };
+ //System.out.println(images.get(x).getImageSize()+" "+images.get(x).getImageName());
+ //System.out.println("filling templates..."+images.get(x).getIsTemplate());
// Fuege diese Objekte der Tabelle hinzu
model.addRow(obj);
- System.out.println(model.getValueAt(x, 9));
+ //System.out.println(model.getValueAt(x, 9));
x++;
i.next();
@@ -1073,13 +1075,16 @@ public class SearchImage_GUI extends JFrame { Object[] obj = { images.get(x).getImageName(),
images.get(x).getLicenseRestriction(),
images.get(x).getOsName(),
- images.get(x).getLectureName(),
+ images.get(x).getImageName(),
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()};
+ images.get(x).getDescription(),
+ byteToGigabyte((Long.parseLong(images.get(x).getImageSize())), false)
+ };
// Fuege diese Objekte der Tabelle hinzu
+
model.addRow(obj);
x++;
i.next();
@@ -1118,7 +1123,6 @@ public class SearchImage_GUI extends JFrame { labelInternet.setText("");
labelRam.setText("");
labelCPU.setText("");
-
}
public void writeImageData(String id, String version) {
@@ -1151,9 +1155,26 @@ public class SearchImage_GUI extends JFrame { labelID.setText(res.get("id"));
labelVersion.setText(res.get("version"));
textAreadesc.setText(res.get("desc"));
+
+ List<String> contacts = client.getAdditionalImageContacts(id);
+ labelWeitereVerantwortliche.setText("");
+ for (int i = 0; i < contacts.size(); i++)
+ {
+ labelWeitereVerantwortliche.setText(labelWeitereVerantwortliche.getText()+(contacts.get(i)));
+ }
+ labelWeitereVerantwortliche.setToolTipText(labelWeitereVerantwortliche.getText());
+
} catch (TException | ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
+
+ public static String byteToGigabyte(long bytes, boolean si) {
+ int unit = si ? 1000 : 1024;
+ if (bytes < unit) return bytes + " B";
+ int exp = (int) (Math.log(bytes) / Math.log(unit));
+ String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i");
+ return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre);
+ }
}
diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java index 22cee572..879ae879 100644 --- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -376,7 +376,7 @@ public class Login_GUI extends JFrame { LOGGER.debug("Session-ID: " + result.sessionId); LOGGER.debug("Token: " + result.authToken); setStatus(Color.green, "Daten erhalten.", null); - + String hochschule = user.eMail.substring(user.eMail.indexOf("@") + 1); person.verantwortlicher.setUsername(lblusername.getText().trim()); @@ -389,6 +389,7 @@ public class Login_GUI extends JFrame { // Spaeter ueber result.getRole zum Beispiel die Rolle holen person.verantwortlicher.setRole("Dozent"); showMainMenu(); + } // end bwLehrpool-Login } diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index 415aea3c..929f9b2d 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -99,7 +99,7 @@ public class EditLectureLink_GUI extends JFrame { boolean activeSearch = false; Component c = null; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", - "Verantwortlicher", "Letztes Update", "ID", "Version", "Template" }; + "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; ThriftConnection con = new ThriftConnection(); Client client = models.Client.clientcon.getClient(); final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { @@ -126,6 +126,19 @@ public class EditLectureLink_GUI extends JFrame { modelPublicVorlagen); private JTextField textField; + + RowFilter orFilter = null; + List<RowFilter<Object,Object>> orFilters = new ArrayList<RowFilter<Object,Object>>(); + + //needed for templates, filter for name OR desc AND temp_flag --> (name || desc) && (temp_flag) + RowFilter andFilter = null; + List<RowFilter<Object,Object>> andFilters = new ArrayList<RowFilter<Object,Object>>(); + + //the final filter which handles the search in the templates + RowFilter templateFilter = null; + ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>(); + + private static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Ändern Sie hier das Image, zu dem Ihre Veranstaltung gehört.<br />" + "Wählen Sie das Image aus, das zu Ihrer Veranstaltung passt und klicken Sie anschließend auf \"Veranstaltung ändern und abschließen\"." @@ -178,32 +191,28 @@ public class EditLectureLink_GUI extends JFrame { tablemyImages.getColumnModel().getColumn(7).setWidth(0); tablemyImages.getColumnModel().getColumn(7).setMinWidth(0); tablemyImages.getColumnModel().getColumn(7).setMaxWidth(0); + tablemyImages.getColumnModel().getColumn(9).setWidth(0); + tablemyImages.getColumnModel().getColumn(9).setMinWidth(0); + tablemyImages.getColumnModel().getColumn(9).setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(1).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(1) - .setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(1) - .setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(1).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(1).setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(3).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(3) - .setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(3) - .setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(3).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(3).setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(8).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(8) - .setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(8) - .setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(8).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(8).setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(6).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(6) - .setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(6) - .setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(6).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(6).setMaxWidth(0); tablePublicVorlagen.getColumnModel().getColumn(7).setWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(7) - .setMinWidth(0); - tablePublicVorlagen.getColumnModel().getColumn(7) - .setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(7).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(7).setMaxWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(9).setWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(9).setMinWidth(0); + tablePublicVorlagen.getColumnModel().getColumn(9).setMaxWidth(0); tableAllImages.getColumnModel().getColumn(1).setWidth(0); tableAllImages.getColumnModel().getColumn(1).setMinWidth(0); @@ -220,6 +229,10 @@ public class EditLectureLink_GUI extends JFrame { tableAllImages.getColumnModel().getColumn(7).setWidth(0); tableAllImages.getColumnModel().getColumn(7).setMinWidth(0); tableAllImages.getColumnModel().getColumn(7).setMaxWidth(0); + tableAllImages.getColumnModel().getColumn(9).setWidth(0); + tableAllImages.getColumnModel().getColumn(9).setMinWidth(0); + tableAllImages.getColumnModel().getColumn(9).setMaxWidth(0); + textFieldName.requestFocusInWindow(); } }); @@ -290,26 +303,61 @@ public class EditLectureLink_GUI extends JFrame { public void keyReleased(KeyEvent e) { String stext = textFieldName.getText(); // Wenn Textfield nicht leer - if (stext != "") { + if (stext != "") + { activeSearch = true; // Filtere nach der Eingabe - rowSorterAll.setRowFilter(RowFilter.regexFilter( - textFieldName.getText(), 0)); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - textFieldName.getText(), 0)); - rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - textFieldName.getText(), 0)); - } else { + orFilters.clear(); + andFilters.clear(); + finalFilters.clear(); + + orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive + //preparation for search via lecture description. "9" has to be corrected as the index of titles + orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + + orFilter = RowFilter.orFilter(orFilters); + + rowSorterAll.setRowFilter(orFilter); + rowSorterMyImages.setRowFilter(orFilter); + + andFilters.add(RowFilter.regexFilter("1", 8)); + andFilter = RowFilter.andFilter(andFilters); + + finalFilters.add(andFilter); + finalFilters.add(orFilter); + templateFilter = RowFilter.andFilter(finalFilters); + rowSorterPublicVorlagen.setRowFilter(templateFilter); + } + else + { activeSearch = false; - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - username, 4)); - rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - "true", 8)); - rowSorterAll.setRowFilter(null); + + String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); + + orFilters.clear(); + andFilters.clear(); + orFilters.add(RowFilter.regexFilter(username, 4)); //case insensitive, filter for anything + orFilter = RowFilter.andFilter(orFilters); + + rowSorterMyImages.setRowFilter(orFilter); + rowSorterAll.setRowFilter(orFilter); + + //in addition, templates can only be shown when they really are templates! + orFilters.clear(); + orFilters.add(RowFilter.regexFilter("(?i)"+stext, 0)); //case insensitive + orFilters.add(RowFilter.regexFilter("(?i)"+stext, 9)); //case insensitive + orFilters.add(RowFilter.regexFilter("1", 8)); + orFilter = RowFilter.orFilter(orFilters); + rowSorterPublicVorlagen.setRowFilter(orFilter); + } + + tablemyImages.clearSelection(); + tableAllImages.clearSelection(); + tablePublicVorlagen.clearSelection(); + + resetLectureInfo(); } @@ -335,20 +383,15 @@ public class EditLectureLink_GUI extends JFrame { // Prueft das die Auswahl nicht leer ist if (comboBox.getSelectedItem().toString() != "") { activeSearch = true; - rowSorterAll.setRowFilter(RowFilter.regexFilter(comboBox - .getSelectedItem().toString(), 2)); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - comboBox.getSelectedItem().toString(), 2)); - rowSorterPublicVorlagen.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)); } else { activeSearch = false; String username = person.verantwortlicher.getName() + " " + person.verantwortlicher.getVorname(); - rowSorterMyImages.setRowFilter(RowFilter.regexFilter( - username, 4)); - rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter( - "true", 8)); + rowSorterMyImages.setRowFilter(RowFilter.regexFilter(username, 4)); + rowSorterPublicVorlagen.setRowFilter(RowFilter.regexFilter("true", 8)); rowSorterAll.setRowFilter(null); } } @@ -388,6 +431,8 @@ public class EditLectureLink_GUI extends JFrame { contentPanel.add(lblNewLabel_1); 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) { @@ -407,7 +452,7 @@ public class EditLectureLink_GUI extends JFrame { } }); - + */ tabbedPane.setBounds(10, 158, 557, 339); contentPanel.add(tabbedPane); @@ -415,6 +460,9 @@ public class EditLectureLink_GUI extends JFrame { tableAllImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tableAllImages.getSelectedRow() != -1) + { String imageid = modelAll.getValueAt( tableAllImages @@ -427,7 +475,7 @@ public class EditLectureLink_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); - + } } }); tableAllImages.setModel(modelAll); @@ -441,6 +489,9 @@ public class EditLectureLink_GUI extends JFrame { tablemyImages.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + + if(tablemyImages.getSelectedRow() != -1) + { String imageid = modelMyImages.getValueAt( tablemyImages .convertRowIndexToModel(tablemyImages //selber fehler wie bei image @@ -452,6 +503,7 @@ public class EditLectureLink_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); + } } }); tablemyImages.setModel(modelMyImages); @@ -469,6 +521,8 @@ public class EditLectureLink_GUI extends JFrame { tablePublicVorlagen.getSelectionModel().addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { + if(tablePublicVorlagen.getSelectedRow() != -1) + { String imageid = modelPublicVorlagen .getValueAt( tablePublicVorlagen @@ -482,6 +536,7 @@ public class EditLectureLink_GUI extends JFrame { .getSelectedRow()), 7) .toString(); writeImageData(imageid, version); + } } }); tablePublicVorlagen.setModel(modelPublicVorlagen); @@ -935,9 +990,9 @@ public class EditLectureLink_GUI extends JFrame { labelVerantwortlicher.setBounds(10, 272, 296, 14); panel.add(labelVerantwortlicher); - JLabel label = new JLabel("Weitere Verantwortliche:"); - label.setBounds(10, 284, 130, 14); - panel.add(label); + JLabel lblWeitereAnsprechpartner = new JLabel("Weitere Ansprechpartner:"); + lblWeitereAnsprechpartner.setBounds(10, 284, 130, 14); + panel.add(lblWeitereAnsprechpartner); labelWeitereVerantwortliche = new JLabel(""); labelWeitereVerantwortliche.setBounds(10, 297, 296, 14); @@ -1120,12 +1175,12 @@ public class EditLectureLink_GUI extends JFrame { images.get(x).getUserData(), out.format(in.parse(images.get(x).updateTime)), images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate() }; + images.get(x).getIsTemplate(), + images.get(x).getDescription()}; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; i.next(); - } return model; @@ -1155,7 +1210,8 @@ public class EditLectureLink_GUI extends JFrame { images.get(x).getUserData(), out.format(in.parse(images.get(x).updateTime)), images.get(x).id, images.get(x).getVersion(), - images.get(x).getIsTemplate() }; + images.get(x).getIsTemplate(), + images.get(x).getDescription()}; // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); x++; @@ -1168,7 +1224,22 @@ public class EditLectureLink_GUI extends JFrame { } - + private void resetLectureInfo() { + //reset the detailed information on the right hand side when changing search string + labelID.setText(""); + labelVersion.setText(""); + labelName.setText(""); + textAreadesc.setText(""); + labelOS.setText(""); + labelUpdate.setText(""); + labelVerantwortlicher.setText(""); + labelWeitereVerantwortliche.setText(""); + labelVorlage.setText(""); + labelLizenzSoftware.setText(""); + labelInternet.setText(""); + labelRam.setText(""); + labelCPU.setText(""); + } diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index d2ab3a45..09e5f116 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -329,6 +329,8 @@ public class SearchLecture_GUI extends JFrame { {
public void valueChanged(ListSelectionEvent e)
{
+ if(tableAllLectures.getSelectedRow() != -1)
+ {
String imageid = modelAll
.getValueAt(
tableAllLectures
@@ -346,6 +348,7 @@ public class SearchLecture_GUI extends JFrame { e1.printStackTrace();
}
}
+ }
});
tableAllLectures.setModel(modelAll);
tableAllLectures.getColumnModel().getColumn(1).sizeWidthToFit();
diff --git a/dozentenmodulserver/src/main/java/server/ServerHandler.java b/dozentenmodulserver/src/main/java/server/ServerHandler.java index 44f97308..9800b8bc 100644 --- a/dozentenmodulserver/src/main/java/server/ServerHandler.java +++ b/dozentenmodulserver/src/main/java/server/ServerHandler.java @@ -666,5 +666,12 @@ public class ServerHandler implements Server.Iface { return sql.getImageList(userID); } + @Override + public List<String> getAdditionalImageContacts(String imageID) + throws TException { + + return sql.getAdditionalImageContacts(imageID); + } + }// end class diff --git a/dozentenmodulserver/src/main/java/server/generated/Image.java b/dozentenmodulserver/src/main/java/server/generated/Image.java index 707864e6..37412c71 100644 --- a/dozentenmodulserver/src/main/java/server/generated/Image.java +++ b/dozentenmodulserver/src/main/java/server/generated/Image.java @@ -45,6 +45,7 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav private static final org.apache.thrift.protocol.TField USER_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("userData", org.apache.thrift.protocol.TType.STRING, (short)8); private static final org.apache.thrift.protocol.TField IS_TEMPLATE_FIELD_DESC = new org.apache.thrift.protocol.TField("isTemplate", org.apache.thrift.protocol.TType.STRING, (short)9); private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)10); + private static final org.apache.thrift.protocol.TField IMAGE_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("imageSize", org.apache.thrift.protocol.TType.STRING, (short)11); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -62,6 +63,7 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav public String userData; // required public String isTemplate; // required public String description; // required + public String imageSize; // 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 { @@ -74,7 +76,8 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav UPDATE_TIME((short)7, "updateTime"), USER_DATA((short)8, "userData"), IS_TEMPLATE((short)9, "isTemplate"), - DESCRIPTION((short)10, "description"); + DESCRIPTION((short)10, "description"), + IMAGE_SIZE((short)11, "imageSize"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -109,6 +112,8 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav return IS_TEMPLATE; case 10: // DESCRIPTION return DESCRIPTION; + case 11: // IMAGE_SIZE + return IMAGE_SIZE; default: return null; } @@ -172,6 +177,8 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.DEFAULT, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.IMAGE_SIZE, new org.apache.thrift.meta_data.FieldMetaData("imageSize", 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(Image.class, metaDataMap); } @@ -189,7 +196,8 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav String updateTime, String userData, String isTemplate, - String description) + String description, + String imageSize) { this(); this.id = id; @@ -202,6 +210,7 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav this.userData = userData; this.isTemplate = isTemplate; this.description = description; + this.imageSize = imageSize; } /** @@ -238,6 +247,9 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav if (other.isSetDescription()) { this.description = other.description; } + if (other.isSetImageSize()) { + this.imageSize = other.imageSize; + } } public Image deepCopy() { @@ -256,6 +268,7 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav this.userData = null; this.isTemplate = null; this.description = null; + this.imageSize = null; } public String getId() { @@ -498,6 +511,30 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav } } + public String getImageSize() { + return this.imageSize; + } + + public Image setImageSize(String imageSize) { + this.imageSize = imageSize; + return this; + } + + public void unsetImageSize() { + this.imageSize = null; + } + + /** Returns true if field imageSize is set (has been assigned a value) and false otherwise */ + public boolean isSetImageSize() { + return this.imageSize != null; + } + + public void setImageSizeIsSet(boolean value) { + if (!value) { + this.imageSize = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case ID: @@ -580,6 +617,14 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav } break; + case IMAGE_SIZE: + if (value == null) { + unsetImageSize(); + } else { + setImageSize((String)value); + } + break; + } } @@ -615,6 +660,9 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav case DESCRIPTION: return getDescription(); + case IMAGE_SIZE: + return getImageSize(); + } throw new IllegalStateException(); } @@ -646,6 +694,8 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav return isSetIsTemplate(); case DESCRIPTION: return isSetDescription(); + case IMAGE_SIZE: + return isSetImageSize(); } throw new IllegalStateException(); } @@ -753,6 +803,15 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav return false; } + boolean this_present_imageSize = true && this.isSetImageSize(); + boolean that_present_imageSize = true && that.isSetImageSize(); + if (this_present_imageSize || that_present_imageSize) { + if (!(this_present_imageSize && that_present_imageSize)) + return false; + if (!this.imageSize.equals(that.imageSize)) + return false; + } + return true; } @@ -869,6 +928,16 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav return lastComparison; } } + lastComparison = Boolean.valueOf(isSetImageSize()).compareTo(other.isSetImageSize()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImageSize()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.imageSize, other.imageSize); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -968,6 +1037,14 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav sb.append(this.description); } first = false; + if (!first) sb.append(", "); + sb.append("imageSize:"); + if (this.imageSize == null) { + sb.append("null"); + } else { + sb.append(this.imageSize); + } + first = false; sb.append(")"); return sb.toString(); } @@ -1091,6 +1168,14 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; + case 11: // IMAGE_SIZE + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.imageSize = iprot.readString(); + struct.setImageSizeIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -1156,6 +1241,11 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav oprot.writeString(struct.description); oprot.writeFieldEnd(); } + if (struct.imageSize != null) { + oprot.writeFieldBegin(IMAGE_SIZE_FIELD_DESC); + oprot.writeString(struct.imageSize); + oprot.writeFieldEnd(); + } oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -1204,7 +1294,10 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav if (struct.isSetDescription()) { optionals.set(9); } - oprot.writeBitSet(optionals, 10); + if (struct.isSetImageSize()) { + optionals.set(10); + } + oprot.writeBitSet(optionals, 11); if (struct.isSetId()) { oprot.writeString(struct.id); } @@ -1235,12 +1328,15 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav if (struct.isSetDescription()) { oprot.writeString(struct.description); } + if (struct.isSetImageSize()) { + oprot.writeString(struct.imageSize); + } } @Override public void read(org.apache.thrift.protocol.TProtocol prot, Image struct) throws org.apache.thrift.TException { TTupleProtocol iprot = (TTupleProtocol) prot; - BitSet incoming = iprot.readBitSet(10); + BitSet incoming = iprot.readBitSet(11); if (incoming.get(0)) { struct.id = iprot.readString(); struct.setIdIsSet(true); @@ -1281,6 +1377,10 @@ public class Image implements org.apache.thrift.TBase<Image, Image._Fields>, jav struct.description = iprot.readString(); struct.setDescriptionIsSet(true); } + if (incoming.get(10)) { + struct.imageSize = iprot.readString(); + struct.setImageSizeIsSet(true); + } } } diff --git a/dozentenmodulserver/src/main/java/server/generated/Server.java b/dozentenmodulserver/src/main/java/server/generated/Server.java index 57b31c81..81d3daae 100644 --- a/dozentenmodulserver/src/main/java/server/generated/Server.java +++ b/dozentenmodulserver/src/main/java/server/generated/Server.java @@ -110,13 +110,14 @@ public class Server { public List<Person> getPermissionForUserAndImage(String userID, String imageID) throws org.apache.thrift.TException; + public List<String> getAdditionalImageContacts(String imageID) throws org.apache.thrift.TException; + public List<Person> getPermissionForUserAndLecture(String userID, String lectureID) throws org.apache.thrift.TException; public void deleteAllAdditionalImagePermissions(String imageID, String userID) throws org.apache.thrift.TException; public void deleteAllAdditionalLecturePermissions(String lectureID, String userID) throws org.apache.thrift.TException; - } public interface AsyncIface { @@ -195,6 +196,8 @@ public class Server { public void getPermissionForUserAndImage(String userID, String imageID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void getAdditionalImageContacts(String imageID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void getPermissionForUserAndLecture(String userID, String lectureID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; public void deleteAllAdditionalImagePermissions(String imageID, String userID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; @@ -1163,6 +1166,29 @@ public class Server { throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPermissionForUserAndImage failed: unknown result"); } + public List<String> getAdditionalImageContacts(String imageID) throws org.apache.thrift.TException + { + send_getAdditionalImageContacts(imageID); + return recv_getAdditionalImageContacts(); + } + + public void send_getAdditionalImageContacts(String imageID) throws org.apache.thrift.TException + { + getAdditionalImageContacts_args args = new getAdditionalImageContacts_args(); + args.setImageID(imageID); + sendBase("getAdditionalImageContacts", args); + } + + public List<String> recv_getAdditionalImageContacts() throws org.apache.thrift.TException + { + getAdditionalImageContacts_result result = new getAdditionalImageContacts_result(); + receiveBase(result, "getAdditionalImageContacts"); + if (result.isSetSuccess()) { + return result.success; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAdditionalImageContacts failed: unknown result"); + } + public List<Person> getPermissionForUserAndLecture(String userID, String lectureID) throws org.apache.thrift.TException { send_getPermissionForUserAndLecture(userID, lectureID); @@ -2707,6 +2733,38 @@ public class Server { } } + public void getAdditionalImageContacts(String imageID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + getAdditionalImageContacts_call method_call = new getAdditionalImageContacts_call(imageID, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class getAdditionalImageContacts_call extends org.apache.thrift.async.TAsyncMethodCall { + private String imageID; + public getAdditionalImageContacts_call(String imageID, 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.imageID = imageID; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAdditionalImageContacts", org.apache.thrift.protocol.TMessageType.CALL, 0)); + getAdditionalImageContacts_args args = new getAdditionalImageContacts_args(); + args.setImageID(imageID); + args.write(prot); + prot.writeMessageEnd(); + } + + public List<String> 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_getAdditionalImageContacts(); + } + } + public void getPermissionForUserAndLecture(String userID, String lectureID, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { checkReady(); getPermissionForUserAndLecture_call method_call = new getPermissionForUserAndLecture_call(userID, lectureID, resultHandler, this, ___protocolFactory, ___transport); @@ -2862,6 +2920,7 @@ public class Server { processMap.put("writeAdditionalLectureRights", new writeAdditionalLectureRights()); processMap.put("getAllOtherSatelliteUsers", new getAllOtherSatelliteUsers()); processMap.put("getPermissionForUserAndImage", new getPermissionForUserAndImage()); + processMap.put("getAdditionalImageContacts", new getAdditionalImageContacts()); processMap.put("getPermissionForUserAndLecture", new getPermissionForUserAndLecture()); processMap.put("deleteAllAdditionalImagePermissions", new deleteAllAdditionalImagePermissions()); processMap.put("deleteAllAdditionalLecturePermissions", new deleteAllAdditionalLecturePermissions()); @@ -3624,6 +3683,26 @@ public class Server { } } + public static class getAdditionalImageContacts<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAdditionalImageContacts_args> { + public getAdditionalImageContacts() { + super("getAdditionalImageContacts"); + } + + public getAdditionalImageContacts_args getEmptyArgsInstance() { + return new getAdditionalImageContacts_args(); + } + + protected boolean isOneway() { + return false; + } + + public getAdditionalImageContacts_result getResult(I iface, getAdditionalImageContacts_args args) throws org.apache.thrift.TException { + getAdditionalImageContacts_result result = new getAdditionalImageContacts_result(); + result.success = iface.getAdditionalImageContacts(args.imageID); + return result; + } + } + public static class getPermissionForUserAndLecture<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getPermissionForUserAndLecture_args> { public getPermissionForUserAndLecture() { super("getPermissionForUserAndLecture"); @@ -3734,6 +3813,7 @@ public class Server { processMap.put("writeAdditionalLectureRights", new writeAdditionalLectureRights()); processMap.put("getAllOtherSatelliteUsers", new getAllOtherSatelliteUsers()); processMap.put("getPermissionForUserAndImage", new getPermissionForUserAndImage()); + processMap.put("getAdditionalImageContacts", new getAdditionalImageContacts()); processMap.put("getPermissionForUserAndLecture", new getPermissionForUserAndLecture()); processMap.put("deleteAllAdditionalImagePermissions", new deleteAllAdditionalImagePermissions()); processMap.put("deleteAllAdditionalLecturePermissions", new deleteAllAdditionalLecturePermissions()); @@ -5642,6 +5722,57 @@ public class Server { } } + public static class getAdditionalImageContacts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAdditionalImageContacts_args, List<String>> { + public getAdditionalImageContacts() { + super("getAdditionalImageContacts"); + } + + public getAdditionalImageContacts_args getEmptyArgsInstance() { + return new getAdditionalImageContacts_args(); + } + + public AsyncMethodCallback<List<String>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback<List<String>>() { + public void onComplete(List<String> o) { + getAdditionalImageContacts_result result = new getAdditionalImageContacts_result(); + result.success = o; + 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; + getAdditionalImageContacts_result result = new getAdditionalImageContacts_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, getAdditionalImageContacts_args args, org.apache.thrift.async.AsyncMethodCallback<List<String>> resultHandler) throws TException { + iface.getAdditionalImageContacts(args.imageID,resultHandler); + } + } + public static class getPermissionForUserAndLecture<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getPermissionForUserAndLecture_args, List<Person>> { public getPermissionForUserAndLecture() { super("getPermissionForUserAndLecture"); @@ -41885,6 +42016,763 @@ public class Server { } + public static class getAdditionalImageContacts_args implements org.apache.thrift.TBase<getAdditionalImageContacts_args, getAdditionalImageContacts_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAdditionalImageContacts_args> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAdditionalImageContacts_args"); + + private static final org.apache.thrift.protocol.TField IMAGE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("imageID", 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 getAdditionalImageContacts_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new getAdditionalImageContacts_argsTupleSchemeFactory()); + } + + public String imageID; // 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_ID((short)1, "imageID"); + + 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_ID + return IMAGE_ID; + 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_ID, new org.apache.thrift.meta_data.FieldMetaData("imageID", 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(getAdditionalImageContacts_args.class, metaDataMap); + } + + public getAdditionalImageContacts_args() { + } + + public getAdditionalImageContacts_args( + String imageID) + { + this(); + this.imageID = imageID; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public getAdditionalImageContacts_args(getAdditionalImageContacts_args other) { + if (other.isSetImageID()) { + this.imageID = other.imageID; + } + } + + public getAdditionalImageContacts_args deepCopy() { + return new getAdditionalImageContacts_args(this); + } + + @Override + public void clear() { + this.imageID = null; + } + + public String getImageID() { + return this.imageID; + } + + public getAdditionalImageContacts_args setImageID(String imageID) { + this.imageID = imageID; + return this; + } + + public void unsetImageID() { + this.imageID = null; + } + + /** Returns true if field imageID is set (has been assigned a value) and false otherwise */ + public boolean isSetImageID() { + return this.imageID != null; + } + + public void setImageIDIsSet(boolean value) { + if (!value) { + this.imageID = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case IMAGE_ID: + if (value == null) { + unsetImageID(); + } else { + setImageID((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case IMAGE_ID: + return getImageID(); + + } + 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_ID: + return isSetImageID(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof getAdditionalImageContacts_args) + return this.equals((getAdditionalImageContacts_args)that); + return false; + } + + public boolean equals(getAdditionalImageContacts_args that) { + if (that == null) + return false; + + boolean this_present_imageID = true && this.isSetImageID(); + boolean that_present_imageID = true && that.isSetImageID(); + if (this_present_imageID || that_present_imageID) { + if (!(this_present_imageID && that_present_imageID)) + return false; + if (!this.imageID.equals(that.imageID)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(getAdditionalImageContacts_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetImageID()).compareTo(other.isSetImageID()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetImageID()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.imageID, other.imageID); + 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("getAdditionalImageContacts_args("); + boolean first = true; + + sb.append("imageID:"); + if (this.imageID == null) { + sb.append("null"); + } else { + sb.append(this.imageID); + } + 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 getAdditionalImageContacts_argsStandardSchemeFactory implements SchemeFactory { + public getAdditionalImageContacts_argsStandardScheme getScheme() { + return new getAdditionalImageContacts_argsStandardScheme(); + } + } + + private static class getAdditionalImageContacts_argsStandardScheme extends StandardScheme<getAdditionalImageContacts_args> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, getAdditionalImageContacts_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_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.imageID = iprot.readString(); + struct.setImageIDIsSet(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, getAdditionalImageContacts_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.imageID != null) { + oprot.writeFieldBegin(IMAGE_ID_FIELD_DESC); + oprot.writeString(struct.imageID); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class getAdditionalImageContacts_argsTupleSchemeFactory implements SchemeFactory { + public getAdditionalImageContacts_argsTupleScheme getScheme() { + return new getAdditionalImageContacts_argsTupleScheme(); + } + } + + private static class getAdditionalImageContacts_argsTupleScheme extends TupleScheme<getAdditionalImageContacts_args> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, getAdditionalImageContacts_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetImageID()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetImageID()) { + oprot.writeString(struct.imageID); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, getAdditionalImageContacts_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.imageID = iprot.readString(); + struct.setImageIDIsSet(true); + } + } + } + + } + + public static class getAdditionalImageContacts_result implements org.apache.thrift.TBase<getAdditionalImageContacts_result, getAdditionalImageContacts_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAdditionalImageContacts_result> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAdditionalImageContacts_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new getAdditionalImageContacts_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new getAdditionalImageContacts_resultTupleSchemeFactory()); + } + + public List<String> 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 + 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.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAdditionalImageContacts_result.class, metaDataMap); + } + + public getAdditionalImageContacts_result() { + } + + public getAdditionalImageContacts_result( + List<String> success) + { + this(); + this.success = success; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public getAdditionalImageContacts_result(getAdditionalImageContacts_result other) { + if (other.isSetSuccess()) { + List<String> __this__success = new ArrayList<String>(other.success); + this.success = __this__success; + } + } + + public getAdditionalImageContacts_result deepCopy() { + return new getAdditionalImageContacts_result(this); + } + + @Override + public void clear() { + this.success = null; + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator<String> getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(String elem) { + if (this.success == null) { + this.success = new ArrayList<String>(); + } + this.success.add(elem); + } + + public List<String> getSuccess() { + return this.success; + } + + public getAdditionalImageContacts_result setSuccess(List<String> success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List<String>)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + } + 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 getAdditionalImageContacts_result) + return this.equals((getAdditionalImageContacts_result)that); + return false; + } + + public boolean equals(getAdditionalImageContacts_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(getAdditionalImageContacts_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("getAdditionalImageContacts_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + 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 { + 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 getAdditionalImageContacts_resultStandardSchemeFactory implements SchemeFactory { + public getAdditionalImageContacts_resultStandardScheme getScheme() { + return new getAdditionalImageContacts_resultStandardScheme(); + } + } + + private static class getAdditionalImageContacts_resultStandardScheme extends StandardScheme<getAdditionalImageContacts_result> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, getAdditionalImageContacts_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.LIST) { + { + org.apache.thrift.protocol.TList _list150 = iprot.readListBegin(); + struct.success = new ArrayList<String>(_list150.size); + for (int _i151 = 0; _i151 < _list150.size; ++_i151) + { + String _elem152; + _elem152 = iprot.readString(); + struct.success.add(_elem152); + } + iprot.readListEnd(); + } + 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, getAdditionalImageContacts_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size())); + for (String _iter153 : struct.success) + { + oprot.writeString(_iter153); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class getAdditionalImageContacts_resultTupleSchemeFactory implements SchemeFactory { + public getAdditionalImageContacts_resultTupleScheme getScheme() { + return new getAdditionalImageContacts_resultTupleScheme(); + } + } + + private static class getAdditionalImageContacts_resultTupleScheme extends TupleScheme<getAdditionalImageContacts_result> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, getAdditionalImageContacts_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.writeI32(struct.success.size()); + for (String _iter154 : struct.success) + { + oprot.writeString(_iter154); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, getAdditionalImageContacts_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list155 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.success = new ArrayList<String>(_list155.size); + for (int _i156 = 0; _i156 < _list155.size; ++_i156) + { + String _elem157; + _elem157 = iprot.readString(); + struct.success.add(_elem157); + } + } + struct.setSuccessIsSet(true); + } + } + } + + } + public static class getPermissionForUserAndLecture_args implements org.apache.thrift.TBase<getPermissionForUserAndLecture_args, getPermissionForUserAndLecture_args._Fields>, java.io.Serializable, Cloneable, Comparable<getPermissionForUserAndLecture_args> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPermissionForUserAndLecture_args"); @@ -42648,14 +43536,14 @@ public class Server { case 0: // SUCCESS if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list150 = iprot.readListBegin(); - struct.success = new ArrayList<Person>(_list150.size); - for (int _i151 = 0; _i151 < _list150.size; ++_i151) + org.apache.thrift.protocol.TList _list158 = iprot.readListBegin(); + struct.success = new ArrayList<Person>(_list158.size); + for (int _i159 = 0; _i159 < _list158.size; ++_i159) { - Person _elem152; - _elem152 = new Person(); - _elem152.read(iprot); - struct.success.add(_elem152); + Person _elem160; + _elem160 = new Person(); + _elem160.read(iprot); + struct.success.add(_elem160); } iprot.readListEnd(); } @@ -42683,9 +43571,9 @@ public class Server { oprot.writeFieldBegin(SUCCESS_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size())); - for (Person _iter153 : struct.success) + for (Person _iter161 : struct.success) { - _iter153.write(oprot); + _iter161.write(oprot); } oprot.writeListEnd(); } @@ -42716,9 +43604,9 @@ public class Server { if (struct.isSetSuccess()) { { oprot.writeI32(struct.success.size()); - for (Person _iter154 : struct.success) + for (Person _iter162 : struct.success) { - _iter154.write(oprot); + _iter162.write(oprot); } } } @@ -42730,14 +43618,14 @@ public class Server { BitSet incoming = iprot.readBitSet(1); if (incoming.get(0)) { { - org.apache.thrift.protocol.TList _list155 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); - struct.success = new ArrayList<Person>(_list155.size); - for (int _i156 = 0; _i156 < _list155.size; ++_i156) + org.apache.thrift.protocol.TList _list163 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.success = new ArrayList<Person>(_list163.size); + for (int _i164 = 0; _i164 < _list163.size; ++_i164) { - Person _elem157; - _elem157 = new Person(); - _elem157.read(iprot); - struct.success.add(_elem157); + Person _elem165; + _elem165 = new Person(); + _elem165.read(iprot); + struct.success.add(_elem165); } } struct.setSuccessIsSet(true); diff --git a/dozentenmodulserver/src/main/java/sql/SQL.java b/dozentenmodulserver/src/main/java/sql/SQL.java index 7ec99092..83bd2ccb 100644 --- a/dozentenmodulserver/src/main/java/sql/SQL.java +++ b/dozentenmodulserver/src/main/java/sql/SQL.java @@ -351,26 +351,27 @@ public class SQL { stm = con.createStatement();
- // ResultSet
- // res=stm.executeQuery("SELECT vl.GUID_imageID, vl.imageVersion,vl.image_name, vl.cond_hasLicenseRestriction, os.name,os.architecture, '' as lecture,vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate FROM bwLehrpool.pm_VLData_image as pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u Where vl.content_operatingSystem=os.operatingSystemID and vl.image_owner=u.userID and vl.image_name not in (SELECT vl.image_name FROM bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_VLData_lecture lect, bwLehrpool.m_user u Where vl.content_operatingSystem=os.operatingSystemID and lect.imageID=vl.GUID_imageID and vl.image_owner=u.userID) union SELECT vl.GUID_imageID, vl.imageVersion,vl.image_name, vl.cond_hasLicenseRestriction, os.name,os.architecture, lect.name as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate FROM bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_VLData_lecture lect, bwLehrpool.m_user u Where vl.content_operatingSystem=os.operatingSystemID and lect.imageID=vl.GUID_imageID and vl.image_owner=u.userID;");
ResultSet res = stm
- .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE pmi.userID='"
+ .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, vl.image_filesize, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE u.userID = vl.image_owner AND vl.content_operatingSystem = os.operatingSystemID AND pmi.userID = '"
+ userID
- + "' AND u.userID = pmi.userID AND pmi.image_write = 1 AND pmi.GUID_imageID = vl.GUID_imageID AND vl.content_operatingSystem=os.operatingSystemID;");
+ + "'AND pmi.image_write = 1 AND pmi.GUID_imageID = vl.GUID_imageID;");
+
+
while (res.next()) {
- list.add(new Image(res.getString("GUID_imageID"),
- res.getString("imageVersion"),
- res.getString("image_name"),
- res.getString("cond_hasLicenseRestriction"),
- res.getString("name")
- + " " +
- res.getString("architecture") + " bit",
- res.getString("lecture"),
- res.getString("image_update_time"),
- res.getString("user"),
- res.getString("image_isTemplate"),
- res.getString("image_description")));
+ list.add(new Image(res.getString("GUID_imageID"), res
+ .getString("imageVersion"),
+ res.getString("image_name"), res
+ .getString("cond_hasLicenseRestriction"), res
+ .getString("name")
+ + " "
+ + res.getString("architecture") + " bit", res
+ .getString("lecture"), res
+ .getString("image_update_time"), res
+ .getString("user"), res
+ .getString("image_isTemplate"),
+ res.getString("image_description"),
+ res.getString("image_filesize")));
}
con.close();
} catch (SQLException e) {
@@ -392,9 +393,9 @@ public class SQL { // ResultSet
ResultSet res = stm
- .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE pmi.userID='"
+ .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, vl.image_filesize, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE u.userID = vl.image_owner AND vl.content_operatingSystem = os.operatingSystemID AND pmi.userID = '"
+ userID
- + "' AND u.userID = pmi.userID AND pmi.image_read = 1 AND pmi.GUID_imageID = vl.GUID_imageID AND vl.content_operatingSystem=os.operatingSystemID;");
+ + "'AND pmi.image_read = 1 AND pmi.GUID_imageID = vl.GUID_imageID;");
while (res.next()) {
list.add(new Image(res.getString("GUID_imageID"), res
@@ -408,7 +409,8 @@ public class SQL { .getString("image_update_time"), res
.getString("user"), res
.getString("image_isTemplate"),
- res.getString("image_description")));
+ res.getString("image_description"),
+ res.getString("image_filesize")));
}
con.close();
} catch (SQLException e) {
@@ -429,9 +431,12 @@ public class SQL { stm = con.createStatement();
// ResultSet
+ /*
ResultSet res = stm
- .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE u.userID = vl.image_owner AND vl.content_operatingSystem = os.operatingSystemID");
-
+ .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, vl.image_filesize, os.name, os.architecture, '' as lecture, vl.image_update_time, vl.image_owner as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE u.userID = vl.image_owner AND vl.content_operatingSystem = os.operatingSystemID");
+ */
+ ResultSet res = stm
+ .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, vl.image_filesize, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE u.userID = vl.image_owner AND vl.content_operatingSystem = os.operatingSystemID;");
while (res.next()) {
list.add(new Image(res.getString("GUID_imageID"), res
@@ -445,7 +450,8 @@ public class SQL { .getString("image_update_time"), res
.getString("user"), res
.getString("image_isTemplate"),
- res.getString("image_description")));
+ res.getString("image_description"),
+ res.getString("image_filesize")));
}
con.close();
} catch (SQLException e) {
@@ -473,7 +479,9 @@ public class SQL { // ResultSet WITH templates
ResultSet res = stm
- .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.image_description, vl.cond_hasLicenseRestriction, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE (vl.image_isTemplate=1 OR (pmi.userID='"+userID+"' AND pmi.link_allowed=1)) AND vl.image_owner=u.userID AND pmi.GUID_imageID = vl.GUID_imageID AND vl.content_operatingSystem=os.operatingSystemID;");
+ .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, vl.image_filesize, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE u.userID = vl.image_owner AND vl.content_operatingSystem = os.operatingSystemID AND pmi.userID = '"
+ + userID
+ + "'AND pmi.link_allowed = 1 AND pmi.GUID_imageID = vl.GUID_imageID;");
while (res.next()) {
list.add(new Image(
@@ -486,7 +494,8 @@ public class SQL { res.getString("image_update_time"),
res.getString("user"),
res.getString("image_isTemplate"),
- res.getString("image_description")));
+ res.getString("image_description"),
+ res.getString("image_filesize")));
}
con.close();
} catch (SQLException e) {
@@ -508,11 +517,9 @@ public class SQL { // ResultSet
ResultSet res = stm
- - .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name,vl.image_description, vl.cond_hasLicenseRestriction, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE pmi.userID='"
- + .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.cond_hasLicenseRestriction, vl.image_filesize, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate, vl.image_description FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE u.userID = vl.image_owner AND vl.content_operatingSystem = os.operatingSystemID AND pmi.userID = '"
+ userID
- + "' AND u.userID = pmi.userID AND pmi.image_admin = 1 AND pmi.GUID_imageID = vl.GUID_imageID AND vl.content_operatingSystem=os.operatingSystemID;");
+ + "'AND pmi.image_admin = 1 AND pmi.GUID_imageID = vl.GUID_imageID;");
while (res.next()) {
list.add(new Image(
@@ -525,7 +532,8 @@ public class SQL { res.getString("image_update_time"),
res.getString("user"),
res.getString("image_isTemplate"),
- res.getString("image_description")
+ res.getString("image_description"),
+ res.getString("image_filesize")
)
);
}
@@ -550,7 +558,7 @@ public class SQL { // ResultSet
ResultSet res = stm
- .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.image_description, vl.cond_hasLicenseRestriction, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE vl.image_isTemplate=1 AND vl.content_operatingSystem=os.operatingSystemID AND vl.image_owner=u.userID;");
+ .executeQuery("SELECT DISTINCT vl.GUID_imageID, vl.imageVersion, vl.image_name, vl.image_description, vl.cond_hasLicenseRestriction, vl.image_filesize, os.name, os.architecture, '' as lecture, vl.image_update_time, Concat(u.Nachname,' ',u.Vorname) as user, vl.image_isTemplate FROM bwLehrpool.pm_VLData_image pmi, bwLehrpool.m_VLData_imageInfo vl, bwLehrpool.m_operatingSystem os, bwLehrpool.m_user u WHERE vl.image_isTemplate=1 AND vl.content_operatingSystem=os.operatingSystemID AND vl.image_owner=u.userID;");
while (res.next()) {
list.add(new Image(
@@ -563,7 +571,8 @@ public class SQL { res.getString("image_update_time"),
res.getString("user"),
res.getString("image_isTemplate"),
- res.getString("image_description")
+ res.getString("image_description"),
+ res.getString("image_filesize")
)
);
}
@@ -1757,6 +1766,35 @@ public class SQL { e.printStackTrace();
}
}// end deleteAllAdditionalImagePermissions
+
+ public List<String> getAdditionalImageContacts(String imageID)
+ {
+
+ List<String> list = new ArrayList<>();
+
+ Connection con = getConnection();
+ Statement stm;
+ try {
+ stm = con.createStatement();
+
+ ResultSet rs = stm.executeQuery("select distinct u.Nachname, u.Vorname, u.mail from bwLehrpool.pm_VLData_image img, bwLehrpool.m_user u where GUID_imageID = '"+imageID+"' and image_write = '1' and img.userID = u.userID;");
+
+ while (rs.next())
+ {
+ //also possible with mail, not used due to size issues
+ //list.add(rs.getString("Nachname") + "," + rs.getString("Vorname") + " " + rs.getString("mail"));
+ list.add(rs.getString("Nachname") + "," + rs.getString("Vorname")+" ");
+ }
+
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ return list;
+
+
+ }
}// end class
diff --git a/dozentenmodulserver/thrift/server.thrift b/dozentenmodulserver/thrift/server.thrift index bfb16d9c..13acd05f 100644 --- a/dozentenmodulserver/thrift/server.thrift +++ b/dozentenmodulserver/thrift/server.thrift @@ -22,6 +22,7 @@ struct Image{ 8: string userData, 9: string isTemplate, 10: string description, + 11: string imageSize, } struct Lecture{ 1: string id, @@ -85,6 +86,7 @@ service Server{ bool writeAdditionalLectureRights(1: string lectureName, 2: string userID, 3: bool isRead, 4: bool isWrite, 5: bool isAdmin), list<Person>getAllOtherSatelliteUsers(1: list<string> userID), list<Person>getPermissionForUserAndImage(1: string userID, 2: string imageID), + list<string>getAdditionalImageContacts(1: string imageID), list<Person>getPermissionForUserAndLecture(1: string userID, 2: string lectureID), void deleteAllAdditionalImagePermissions(1: string imageID, 2:string userID), void deleteAllAdditionalLecturePermissions(1: string lectureID, 2: string userID) |
