summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNino Breuer2014-11-11 16:49:04 +0100
committerNino Breuer2014-11-11 16:49:04 +0100
commitb8ef5d05efbc773eb87844911e8b103ce5acfca8 (patch)
treef39ed66637a73dd91d76da240571a9ca2c6f8559
parentmain mainu now not resizable (diff)
downloadtutor-module-b8ef5d05efbc773eb87844911e8b103ce5acfca8.tar.gz
tutor-module-b8ef5d05efbc773eb87844911e8b103ce5acfca8.tar.xz
tutor-module-b8ef5d05efbc773eb87844911e8b103ce5acfca8.zip
h
-rw-r--r--dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java6
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java36
-rw-r--r--dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java127
-rw-r--r--dozentenmodul/src/main/java/gui/intro/Login_GUI.java3
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java181
-rw-r--r--dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java3
-rw-r--r--dozentenmodulserver/src/main/java/server/ServerHandler.java7
-rw-r--r--dozentenmodulserver/src/main/java/server/generated/Image.java108
-rw-r--r--dozentenmodulserver/src/main/java/server/generated/Server.java926
-rw-r--r--dozentenmodulserver/src/main/java/sql/SQL.java100
-rw-r--r--dozentenmodulserver/thrift/server.thrift2
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)