diff options
| author | Jonathan Bauer | 2015-03-02 13:22:44 +0100 |
|---|---|---|
| committer | Jonathan Bauer | 2015-03-02 13:22:44 +0100 |
| commit | ea9f9848a6e7a68dc90decc2e38bd3e1081ebf8a (patch) | |
| tree | 1e252164aa23b6b74d30c6185fda06ceddcd6041 | |
| parent | pom.xml (diff) | |
| download | tutor-module-ea9f9848a6e7a68dc90decc2e38bd3e1081ebf8a.tar.gz tutor-module-ea9f9848a6e7a68dc90decc2e38bd3e1081ebf8a.tar.xz tutor-module-ea9f9848a6e7a68dc90decc2e38bd3e1081ebf8a.zip | |
ThriftManager class: use getSatClient() and getMasterClient() to get the singleton instances of the thrift clients to satellite and master servers
DO NOT CREATE NEW THRIFT OBJECTS!!!
28 files changed, 371 insertions, 553 deletions
diff --git a/dozentenmodul/src/main/java/auth/Authentification.java b/dozentenmodul/src/main/java/auth/Authentification.java index d242c01e..d7a195f7 100644 --- a/dozentenmodul/src/main/java/auth/Authentification.java +++ b/dozentenmodul/src/main/java/auth/Authentification.java @@ -1,6 +1,5 @@ package auth; -import org.openslx.imagemaster.thrift.iface.UserInfo; public class Authentification { diff --git a/dozentenmodul/src/main/java/ftp/DownloadTask.java b/dozentenmodul/src/main/java/ftp/DownloadTask.java index bb81ab51..63335f46 100644 --- a/dozentenmodul/src/main/java/ftp/DownloadTask.java +++ b/dozentenmodul/src/main/java/ftp/DownloadTask.java @@ -5,7 +5,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -22,7 +21,6 @@ import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import config.Config; import util.ResourceLoader; /** diff --git a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java index 42e98c4f..ac90c518 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java @@ -46,9 +46,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -66,8 +65,6 @@ public class CreateImageTechnisch_GUI extends JFrame { private JCheckBox chckbxIsLicensed; private JCheckBox chckbxIsInternetBlocked; JComboBox<String> comboBox; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); Component c = null; private static final String HELP_MESSAGE = "<html><div align = \"center\">" + "Geben Sie hier bitte einige technische Daten an, die dann mit dem Image angezeigt werden.<br />" + @@ -85,7 +82,7 @@ public class CreateImageTechnisch_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -202,7 +199,7 @@ public class CreateImageTechnisch_GUI extends JFrame { }); List<String> os = null; try { - os = client.getAllOS(SessionData.session.getAuthToken()); + os = ThriftManager.getSatClient().getAllOS(SessionData.session.getAuthToken()); for(int i=0; i<os.size();i++){ comboBox.addItem(os.get(i).toString()); } diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java index 44e86aae..c6dc58c9 100644 --- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java @@ -61,9 +61,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Image; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -116,9 +115,6 @@ public class DeleteImage_GUI extends JFrame { + "Wird das Image nach dem Löschen nochmal benötigt, muss es erneut hochgeladen werden." + "</div></html>"; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; @@ -145,9 +141,8 @@ public class DeleteImage_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X - con.closeThriftConnection(); try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -298,7 +293,7 @@ public class DeleteImage_GUI extends JFrame { try { // Holt sich eine Liste aller verfügbaren Betriebssysteme vom // Server - List<String> list = client.getAllOS(SessionData.session + List<String> list = ThriftManager.getSatClient().getAllOS(SessionData.session .getAuthToken()); // Leeres Item hinzufuegen comboBox.addItem(""); @@ -352,12 +347,6 @@ public class DeleteImage_GUI extends JFrame { lblHauptmen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent arg0) { - - // oeffnet das Hauuetmenue - con.closeThriftConnection(); - - // oeffnet das Hauuetmenue - DeleteImage_GUI.this.setVisible(false); MainMenue_GUI main = new MainMenue_GUI(c); main.setVisible(true); @@ -418,17 +407,17 @@ public class DeleteImage_GUI extends JFrame { // Unbdingt abfragen! try { - if (!client.connectedToLecture(imageid, + if (!ThriftManager.getSatClient().connectedToLecture(imageid, imageversion, SessionData.session.getAuthToken())) { try { // try to delete file from file system - if (client.deleteImageServer(imageid, + if (ThriftManager.getSatClient().deleteImageServer(imageid, imageversion, SessionData.session.getAuthToken()) == true) { // successful, now delete file from DB - if (client.deleteImageData(imageid, + if (ThriftManager.getSatClient().deleteImageData(imageid, imageversion, SessionData.session .getAuthToken())) { @@ -566,12 +555,6 @@ public class DeleteImage_GUI extends JFrame { JButton okButton = new JButton("Zurück"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - - // oeffnet das Hauptmenü - con.closeThriftConnection(); - - // oeffnet das Hauptmenue - MainMenue_GUI main = new MainMenue_GUI(c); main.setVisible(true); dispose(); @@ -791,11 +774,11 @@ public class DeleteImage_GUI extends JFrame { // Hole eine Liste der Images if (person.verantwortlicher.getRole() == "Admin") { // get complete list - images = client.getImageList(person.verantwortlicher + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher .getUserID(),SessionData.session.getAuthToken()); } else { // get permitted list - images = client.getImageListPermissionAdmin( + images = ThriftManager.getSatClient().getImageListPermissionAdmin( person.verantwortlicher.getUserID(), SessionData.session.getAuthToken()); } @@ -867,7 +850,7 @@ public class DeleteImage_GUI extends JFrame { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = client.getImageData(id, version, + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version, SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java index 1dfd8191..57406817 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java @@ -43,9 +43,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -59,8 +58,6 @@ public class EditImageAllgemein_GUI extends JFrame { private JTextField EMail; private JTextField imagename; private JTextArea textAreadesc; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); private JPanel panel_2; private JLabel lblNewLabel; private JTextPane txtpnBitteWhlenSie; @@ -86,9 +83,8 @@ public class EditImageAllgemein_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung bei einem Klick auf das X - con.closeThriftConnection(); try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -433,7 +429,8 @@ public class EditImageAllgemein_GUI extends JFrame { public void initData() { try { - Map<String, String> map = client.getImageData(Image.image.getImageId(), Image.image.getVersion(),SessionData.session.getAuthToken()); + Map<String, String> map = ThriftManager.getSatClient().getImageData( + Image.image.getImageId(), Image.image.getVersion(),SessionData.session.getAuthToken()); if (map.get("internet").equals("0")) { Image.image.setInternet(false); diff --git a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java index 6895f6c1..679b3c62 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java @@ -45,9 +45,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -65,8 +64,6 @@ public class EditImageTechnisch_GUI extends JFrame { private JCheckBox chckbxIsLicensed; private JCheckBox chckbxIsInternetBlocked; JComboBox<String> comboBox; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); Component c = null; private static final String HELP_MESSAGE = "<html><div align = \"center\">" + "Bearbeiten Sie hier die technischen Angaben zu Ihrem Image, die Sie beim Erzeugen des Images hinterlegt haben.<br />" + @@ -83,7 +80,7 @@ public class EditImageTechnisch_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung bei Klick auf das X try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -200,7 +197,7 @@ public class EditImageTechnisch_GUI extends JFrame { List<String> os = null; try { - os=client.getAllOS(SessionData.session.getAuthToken()); + os=ThriftManager.getSatClient().getAllOS(SessionData.session.getAuthToken()); for(int i=0;i<os.size();i++) { comboBox.addItem(os.get(i).toString()); } @@ -218,7 +215,7 @@ public class EditImageTechnisch_GUI extends JFrame { panel_1.add(comboBox); try { - comboBox.setSelectedItem(client.getOsNameForGuestOs(Image.image.getOS(),SessionData.session.getAuthToken())); + comboBox.setSelectedItem(ThriftManager.getSatClient().getOsNameForGuestOs(Image.image.getOS(),SessionData.session.getAuthToken())); } catch (TException e1) { // TODO Auto-generated catch block @@ -381,7 +378,7 @@ public class EditImageTechnisch_GUI extends JFrame { try { //check if user may change permissions and choose window - if(client.userIsImageAdmin(Image.image.getImageId(),SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()) == true || (person.verantwortlicher.getRole().equals("Admin"))) { + if(ThriftManager.getSatClient().userIsImageAdmin(Image.image.getImageId(),SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()) == true || (person.verantwortlicher.getRole().equals("Admin"))) { //user has permission, go to permission GUI PermissionEditImage_GUI ea=new PermissionEditImage_GUI(c); ea.setVisible(true); diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java index a2247b97..d201d3b7 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java @@ -47,10 +47,9 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; import org.openslx.sat.thrift.iface.User; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; import config.Config; import ftp.UploadTask; @@ -91,8 +90,6 @@ public class FTPCreateUploader_GUI extends JFrame implements double speed; long bytesread; boolean taskrun = false; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); JButton btnFinish = new JButton("Fertigstellen"); JButton btnUploadStarten = new JButton("Upload auf Server starten"); JButton btnZurck = new JButton("Zurück"); @@ -120,7 +117,7 @@ public class FTPCreateUploader_GUI extends JFrame implements try { - uuid = client.createRandomUUID(SessionData.session.getAuthToken()); + uuid = ThriftManager.getSatClient().createRandomUUID(SessionData.session.getAuthToken()); } catch (TException e1) { @@ -145,16 +142,15 @@ public class FTPCreateUploader_GUI extends JFrame implements // 0=beenden, 1=abbrechen if (choice == 0) { try { - client.DeleteFtpUser(user.userName, + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.session.getAuthToken()); } catch (TException e1) { e1.printStackTrace(); } task.cancel(true); - con.closeThriftConnection(); try { - client.setSessionInvalid(SessionData.session + ThriftManager.getSatClient().setSessionInvalid(SessionData.session .getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block @@ -166,7 +162,7 @@ public class FTPCreateUploader_GUI extends JFrame implements // no upload running, close window try { - client.setSessionInvalid(SessionData.session + ThriftManager.getSatClient().setSessionInvalid(SessionData.session .getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block @@ -401,7 +397,7 @@ public class FTPCreateUploader_GUI extends JFrame implements isAborted = true; // set flag try { - client.DeleteFtpUser(user.userName, + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.session.getAuthToken()); LOGGER.info("Deleted FTP user."); } catch (TException e1) { @@ -470,7 +466,7 @@ public class FTPCreateUploader_GUI extends JFrame implements if (taskrun == true) { try { - client.DeleteFtpUser(user.userName, + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.session.getAuthToken()); } catch (TException e1) { @@ -528,7 +524,7 @@ public class FTPCreateUploader_GUI extends JFrame implements // 0=beenden, 1=abbrechen if (choice == 0) { try { - client.DeleteFtpUser(user.userName, + ThriftManager.getSatClient().DeleteFtpUser(user.userName, SessionData.session.getAuthToken()); } catch (TException e1) { @@ -642,7 +638,7 @@ public class FTPCreateUploader_GUI extends JFrame implements try { LOGGER.info("Getting FTP User..."); - user = client.getFtpUser(SessionData.session.getAuthToken()); + user = ThriftManager.getSatClient().getFtpUser(SessionData.session.getAuthToken()); LOGGER.info("Received FTP user."); // LOGGER.debug("FTP name: " + user.userName); // LOGGER.debug("FTP path: " + user.path); @@ -737,7 +733,7 @@ public class FTPCreateUploader_GUI extends JFrame implements try { - client.writeVLdata(Image.image.getImagename(), + ThriftManager.getSatClient().writeVLdata(Image.image.getImagename(), Image.image.getDesc(), person.verantwortlicher.getTel(), person.verantwortlicher.getFakultaet(), Image.image.isLicensed(), Image.image.isInternet(), @@ -750,10 +746,10 @@ public class FTPCreateUploader_GUI extends JFrame implements // System.out.println("userID is: "+person.verantwortlicher.getUserID()); System.out.println("starting file copy..."); - client.startFileCopy(Image.image.getNewName(), + ThriftManager.getSatClient().startFileCopy(Image.image.getNewName(), SessionData.session.getAuthToken()); - client.writeImageRights(uuid, SessionData.session.getAuthToken(), + ThriftManager.getSatClient().writeImageRights(uuid, SessionData.session.getAuthToken(), person.verantwortlicher.getRole(), person.verantwortlicher.getHochschule(), person.verantwortlicher.getUserID()); @@ -761,7 +757,7 @@ public class FTPCreateUploader_GUI extends JFrame implements for (int i = 0; i < RightsManagement.rightsManagement .getPermittedUserList().size(); i++) { // System.out.println("Writing additional rights for user "+RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID()+", User "+i+"/"+RightsManagement.rightsManagement.getPermittedUserList().size()); - client.writeAdditionalImageRights(uuid, + ThriftManager.getSatClient().writeAdditionalImageRights(uuid, RightsManagement.rightsManagement .getPermittedUserList().get(i).getUserID(), RightsManagement.rightsManagement diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java index d190c50f..6db115fb 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java @@ -42,10 +42,9 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; import org.openslx.sat.thrift.iface.User; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; import config.Config; import ftp.DownloadTask; @@ -84,8 +83,6 @@ public class FTPEditDownloader_GUI extends JFrame implements long bytesread; JLabel lblZeit; boolean taskrun = false; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); JButton btnZurck = new JButton("Zurück"); JButton btnDownloadStarten = new JButton("Download starten"); JButton btnDownloadStoppen = new JButton("Download abbrechen"); @@ -123,10 +120,9 @@ public class FTPEditDownloader_GUI extends JFrame implements // 0=beenden, 1=abbrechen if (choice == 0) { try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); - con.closeThriftConnection(); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -141,7 +137,7 @@ public class FTPEditDownloader_GUI extends JFrame implements } else { // no download running, close window try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -426,7 +422,7 @@ public class FTPEditDownloader_GUI extends JFrame implements isAborted = true; // set flag try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); LOGGER.info("FTP user deleted."); } catch (TException e1) { @@ -465,7 +461,7 @@ public class FTPEditDownloader_GUI extends JFrame implements if (choice == 0) { task.cancel(true); try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { e1.printStackTrace(); @@ -527,11 +523,11 @@ public class FTPEditDownloader_GUI extends JFrame implements // Klick btnDownloadStarten.setText("Bitte warten"); try { - user = client.getFtpUser(SessionData.session.getAuthToken()); + user = ThriftManager.getSatClient().getFtpUser(SessionData.session.getAuthToken()); downloadFile = user.path + "/" - + client.getPathOfImage(Image.image.getImageId(), + + ThriftManager.getSatClient().getPathOfImage(Image.image.getImageId(), Image.image.getVersion(),SessionData.session.getAuthToken()); } catch (TException e) { diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java index a8c2424c..231fd82f 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java @@ -47,10 +47,9 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; import org.openslx.sat.thrift.iface.User; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; import config.Config; import ftp.UploadTask; @@ -91,8 +90,6 @@ public class FTPEditUploader_GUI extends JFrame implements boolean fileupload = false; boolean taskrun = false; int progress = 0; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); JButton btnUploadStarten = new JButton("Upload auf Server starten"); JButton btnSpeicherortAuswhlen = new JButton("Image auswählen"); JButton btnFinish = new JButton("Fertigstellen"); @@ -135,20 +132,19 @@ public class FTPEditUploader_GUI extends JFrame implements // 0=beenden, 1=abbrechen if (choice == 0) { try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { e1.printStackTrace(); } task.cancel(true); try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); } - con.closeThriftConnection(); try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -158,7 +154,7 @@ public class FTPEditUploader_GUI extends JFrame implements } else { // no upload running, close window try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -375,7 +371,7 @@ public class FTPEditUploader_GUI extends JFrame implements isAborted = true; // set flag try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); LOGGER.info("FTP user deleted."); } catch (TException e1) { e1.printStackTrace(); @@ -449,7 +445,7 @@ public class FTPEditUploader_GUI extends JFrame implements if (taskrun == true) { try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { e1.printStackTrace(); @@ -479,7 +475,7 @@ public class FTPEditUploader_GUI extends JFrame implements // 0=beenden, 1=abbrechen if (choice == 0) { try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { e1.printStackTrace(); } @@ -488,7 +484,7 @@ public class FTPEditUploader_GUI extends JFrame implements try { - if(client.userIsImageAdmin(Image.image.getImageId(), SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()) == true || person.verantwortlicher.getRole().equals("Admin")){ + if(ThriftManager.getSatClient().userIsImageAdmin(Image.image.getImageId(), SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()) == true || person.verantwortlicher.getRole().equals("Admin")){ //user is admin and may change permissions PermissionEditImage_GUI ei = new PermissionEditImage_GUI(c); @@ -519,7 +515,7 @@ public class FTPEditUploader_GUI extends JFrame implements try { System.out.println("userID in editimageuploader is : "+person.verantwortlicher.getUserID()); - if(client.userIsImageAdmin(Image.image.getImageId(), SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()) == true) + if(ThriftManager.getSatClient().userIsImageAdmin(Image.image.getImageId(), SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()) == true) { //user is admin and may change permissions PermissionEditImage_GUI ei = new PermissionEditImage_GUI(c); @@ -624,7 +620,7 @@ public class FTPEditUploader_GUI extends JFrame implements try { //LOGGER.info("Getting FTP-User..."); - user = client.getFtpUser(SessionData.session.getAuthToken()); + user = ThriftManager.getSatClient().getFtpUser(SessionData.session.getAuthToken()); LOGGER.info("Received FTP user."); //LOGGER.debug("FTP name: " + user.userName); //LOGGER.debug("FTP path: " + user.path); @@ -727,7 +723,7 @@ public class FTPEditUploader_GUI extends JFrame implements LOGGER.debug("New file uploaded and new filename is set"); //LOGGER.debug("(NOT NULL) new FileName is '"+Image.image.getNewName()+"', imagepath="+ Image.image.getImagepath()); - client.updateImageData( + ThriftManager.getSatClient().updateImageData( Image.image.getImagename(), Image.image.getImagename(), Image.image.getDesc(), @@ -746,14 +742,14 @@ public class FTPEditUploader_GUI extends JFrame implements SessionData.session.getAuthToken() ); if (fileupload == true) { - client.startFileCopy(Image.image.getNewName(),SessionData.session.getAuthToken()); + ThriftManager.getSatClient().startFileCopy(Image.image.getNewName(),SessionData.session.getAuthToken()); } } else { //no new file uploaded and old file name stays //LOGGER.debug("(NULL) newName is '"+Image.image.getNewName()+"', imagepath="+ Image.image.getImagepath()); LOGGER.debug("old file should remain"); - client.updateImageData( + ThriftManager.getSatClient().updateImageData( Image.image.getImagename(), Image.image.getImagename(), Image.image.getDesc(), @@ -773,7 +769,7 @@ public class FTPEditUploader_GUI extends JFrame implements ); if (fileupload == true) { - client.startFileCopy(Image.image.getNewName(),SessionData.session.getAuthToken()); + ThriftManager.getSatClient().startFileCopy(Image.image.getNewName(),SessionData.session.getAuthToken()); // client.startFileCopy(Image.image.getImagename()); } } @@ -781,7 +777,7 @@ public class FTPEditUploader_GUI extends JFrame implements // remove all additional user permissions on first stage - client.deleteAllAdditionalImagePermissions(Image.image.getImageId(),SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()); + ThriftManager.getSatClient().deleteAllAdditionalImagePermissions(Image.image.getImageId(),SessionData.session.getAuthToken(),person.verantwortlicher.getUserID()); // then, add user permissions as they have been set new for (int i = 0; i < RightsManagement.rightsManagement.getPermittedUserList().size(); i++) @@ -795,7 +791,7 @@ public class FTPEditUploader_GUI extends JFrame implements + RightsManagement.rightsManagement.getPermittedUserList().size()); */ - client.writeAdditionalImageRights(Image.image.getImageId(), + ThriftManager.getSatClient().writeAdditionalImageRights(Image.image.getImageId(), RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageRead(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isImageWrite(), diff --git a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java index 823d8894..0cb63429 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java @@ -42,10 +42,9 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; import org.openslx.sat.thrift.iface.User; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; import config.Config; import ftp.DownloadTask; @@ -81,8 +80,6 @@ public class FTPSearchDownloader_GUI extends JFrame implements long bytesread; JLabel lblZeit; boolean taskrun = false; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); JButton btnZurck = new JButton("Zurück"); JButton btnDownloadStarten = new JButton("Download starten"); JButton btnMainMenu = new JButton("Hauptmenü"); @@ -122,16 +119,15 @@ public class FTPSearchDownloader_GUI extends JFrame implements if (choice == 0) { try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } - con.closeThriftConnection(); try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -147,7 +143,7 @@ public class FTPSearchDownloader_GUI extends JFrame implements } else { // no download running, close window try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -432,7 +428,7 @@ public class FTPSearchDownloader_GUI extends JFrame implements isAborted = true; // set flag try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); LOGGER.info("Deleted FTP user."); } catch (TException e1) { // TODO Auto-generated catch block @@ -472,7 +468,7 @@ public class FTPSearchDownloader_GUI extends JFrame implements if (choice == 0) { task.cancel(true); try { - client.DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); + ThriftManager.getSatClient().DeleteFtpUser(user.userName,SessionData.session.getAuthToken()); } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -534,11 +530,11 @@ public class FTPSearchDownloader_GUI extends JFrame implements // Klick btnDownloadStarten.setText("Bitte warten"); try { - user = client.getFtpUser(SessionData.session.getAuthToken()); + user = ThriftManager.getSatClient().getFtpUser(SessionData.session.getAuthToken()); downloadFile = user.path + "/" - + client.getPathOfImage(Image.image.getImageId(), + + ThriftManager.getSatClient().getPathOfImage(Image.image.getImageId(), Image.image.getVersion(),SessionData.session.getAuthToken()); } catch (TException e) { diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index 7ebd604d..3ad45213 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -61,9 +61,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; //import models.person; @@ -116,10 +115,6 @@ public class SearchEditImage_GUI extends JFrame { + "Klicken Sie auf \"Weiter\" um das Image für weitere Schritte auszuwählen." + "</div></html>"; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); - - final DefaultTableModel modelMyImages = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { @@ -151,13 +146,11 @@ public class SearchEditImage_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); } - con.closeThriftConnection(); - System.exit(0); } @@ -315,7 +308,7 @@ public class SearchEditImage_GUI extends JFrame { try { // Holt sich eine Liste aller verfuegbaren Betriebssysteme vom // Server - List<String> list = client.getAllOS(SessionData.session.getAuthToken()); + List<String> list = ThriftManager.getSatClient().getAllOS(SessionData.session.getAuthToken()); // Leeres Item hinzufuegen comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { @@ -750,10 +743,10 @@ public class SearchEditImage_GUI extends JFrame { // Hole eine Liste der passenden Images, if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } else { //only get permitted list - images = client.getImageListPermissionWrite(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + images = ThriftManager.getSatClient().getImageListPermissionWrite(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator(); @@ -821,7 +814,7 @@ public class SearchEditImage_GUI extends JFrame { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = client.getImageData(id, version,SessionData.session.getAuthToken()); + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); @@ -850,7 +843,7 @@ public class SearchEditImage_GUI extends JFrame { textAreadesc.setText(res.get("desc")); res.clear(); - List<String> contacts = client.getAdditionalImageContacts(id,SessionData.session.getAuthToken()); + List<String> contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id,SessionData.session.getAuthToken()); labelWeitereVerantwortliche.setText(""); for (int i = 0; i < contacts.size(); i++) { @@ -870,7 +863,7 @@ public class SearchEditImage_GUI extends JFrame { try { //get values from server and set them in model - map=client.getItemOwner(imageid,SessionData.session.getAuthToken()); + map=ThriftManager.getSatClient().getItemOwner(imageid,SessionData.session.getAuthToken()); ItemOwner.itemOwner.setUserID(map.get("userID")); ItemOwner.itemOwner.setUsername(map.get("loginName")); diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index 18f4a1e7..78b21987 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -60,9 +60,8 @@ import models.SessionData; import models.person;
import org.apache.thrift.TException;
-import org.openslx.sat.thrift.iface.Server.Client;
-import thrift.ThriftConnection;
+import thrift.ThriftManager;
import util.OpenLinks;
@SuppressWarnings("serial")
@@ -114,8 +113,7 @@ public class SearchImage_GUI extends JFrame { "Die Volltextsuche sucht in den Feldern Name und Beschreibung." +
"</div></html>";
- ThriftConnection con = new ThriftConnection();
- Client client = models.Client.clientcon.getClient();
+
final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
@@ -166,12 +164,11 @@ public class SearchImage_GUI extends JFrame { public void windowClosing(WindowEvent arg0) {
// Beendet die Anwendung nach klick auf X
try {
- client.setSessionInvalid(SessionData.session.getAuthToken());
+ ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken());
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- con.closeThriftConnection();
System.exit(0);
}
@@ -420,7 +417,7 @@ public class SearchImage_GUI extends JFrame { try {
// Holt sich eine Liste aller verfuegbaren Betriebssysteme vom
// Server
- List<String> list = client.getAllOS(SessionData.session.getAuthToken());
+ List<String> list = ThriftManager.getSatClient().getAllOS(SessionData.session.getAuthToken());
// Leeres Item hinzufuegen
comboBox.addItem("");
for (int i = 0; i < list.size(); i++) {
@@ -987,9 +984,9 @@ public class SearchImage_GUI extends JFrame { // Hole eine Liste der Images
if(person.verantwortlicher.getRole()=="Admin"){
//get complete list
- images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
+ images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
} else {
- images = client.getImageListPermissionRead(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
+ images = ThriftManager.getSatClient().getImageListPermissionRead(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
}
Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator();
@@ -1037,7 +1034,7 @@ public class SearchImage_GUI extends JFrame { List<org.openslx.sat.thrift.iface.Image> images;
try {
// Hole eine Liste der Images
- images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
+ images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken());
Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator();
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1087,7 +1084,7 @@ public class SearchImage_GUI extends JFrame { List<org.openslx.sat.thrift.iface.Image> images;
try {
// Hole eine Liste der Images
- images = client.getImageListAllTemplates(SessionData.session.getAuthToken());
+ images = ThriftManager.getSatClient().getImageListAllTemplates(SessionData.session.getAuthToken());
Iterator<org.openslx.sat.thrift.iface.Image> i = images.iterator();
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1155,7 +1152,7 @@ public class SearchImage_GUI extends JFrame { try {
SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- Map<String, String> res = client.getImageData(id, version,SessionData.session.getAuthToken());
+ Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.session.getAuthToken());
labelName.setText(res.get("name"));
labelOS.setText(res.get("os"));
labelUpdate.setText(out.format(in.parse(res.get("lastupdate"))));
@@ -1182,7 +1179,7 @@ public class SearchImage_GUI extends JFrame { labelVersion.setText(res.get("version"));
textAreadesc.setText(res.get("desc"));
- List<String> contacts = client.getAdditionalImageContacts(id,SessionData.session.getAuthToken());
+ List<String> contacts = ThriftManager.getSatClient().getAdditionalImageContacts(id,SessionData.session.getAuthToken());
labelWeitereVerantwortliche.setText("");
for (int i = 0; i < contacts.size(); i++)
{
diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java index 0af27fee..974a62aa 100644 --- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -41,13 +41,12 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.imagemaster.thrift.iface.ImageServer.Client; +import org.openslx.imagemaster.thrift.iface.ImageServer; import org.openslx.imagemaster.thrift.iface.OrganizationData; import org.openslx.imagemaster.thrift.iface.UserInfo; import org.openslx.sat.thrift.iface.Server; -import thrift.MasterThriftConnection; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.GuiOrganizer; import util.ResourceLoader; import util.ShibbolethECP; @@ -295,24 +294,12 @@ public class Login_GUI extends JFrame { public void performLogin(final String loginType) { LOGGER.info("Trying login of type: " + loginType); - - - if (loginType == LOGIN_TYPE_BWLEHRPOOL) - { + if (loginType == LOGIN_TYPE_BWLEHRPOOL) { // start the authentication process against the masterserver org.openslx.imagemaster.thrift.iface.SessionData result = null; // Connect to Master - MasterThriftConnection thrift = new MasterThriftConnection(); - Client client = thrift.getMasterThriftConnection(); - - if (client == null) { - // Thrift connection to master could not be established - setStatus(Color.red, "Fehler: Masterserver nicht erreichbar.", null); - LOGGER.info("Thrift client could not be initialized, is the masterserver up and running?"); - return; - } - + ImageServer.Client client = ThriftManager.getMasterClient(); String passText = new String(lblpass.getPassword()); UserInfo user = null; // Log user in @@ -355,18 +342,14 @@ public class Login_GUI extends JFrame { // set Information SessionData.session.setAuthToken(result.authToken); SessionData.session.setSessionID(result.sessionId); + // TODO: support list of adresses SessionData.session.setServerAdress(result.serverAddress); + ThriftManager.setSatellite(result.serverAddress); // Satellite-Connection setStatus(Color.black, "Hole Verbindungsdaten von Server...", null); - // set connection to bwLehrpoolSuiteServer - ThriftConnection bwthrift = new ThriftConnection(); - Server.Client bwClient = bwthrift.getThriftConnection(); - models.Client.clientcon.setClient(bwClient); // User-Info - //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); @@ -417,6 +400,11 @@ public class Login_GUI extends JFrame { JOptionPane.showMessageDialog(c, "Anmeldung fehlgeschlagen. Überprüfen Sie den Benutzername und Passwort.", "Fehler", JOptionPane.ERROR_MESSAGE); break; + case ERROR_UNREG: + setStatus(Color.red, "Fehler: Nicht bei bwLehrpool registriert!", null); + JOptionPane.showMessageDialog(c, "Sie sind nicht bei bwLehrpool registriert.\nGehen Sie dazu auf folgende Seite:\n" + + ShibbolethECP.getRegistrationUrl(), "Fehler", JOptionPane.ERROR_MESSAGE); + break; case ERROR_SP: setStatus(Color.red, "Fehler: bwIDM-Anmeldung fehlgeschlagen!", null); JOptionPane.showMessageDialog(c, "Anmeldung erfolgreich aber die Antwort des Service Providers ist ungültig.", @@ -480,33 +468,19 @@ public class Login_GUI extends JFrame { * This function should be called on a successful login. */ private void showMainMenu() { - - /* - * TODO check if user has already been regisistered. if not, do so - * - * - */ - //import server.generated.Server.Client; - Server.Client client_2 = models.Client.clientcon.getClient(); - try - { - boolean authenticated = client_2.authenticated(authToken); - - if(!authenticated) - { + try { + boolean authenticated = ThriftManager.getSatClient().authenticated(authToken); + if(!authenticated) { //TODO message for user and deactivation of menu points, actually just system exit System.exit(0); } - } catch (TException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try { - String pk_institution = client_2.setInstitution(person.verantwortlicher.getHochschule(),SessionData.session.getAuthToken()); - //LOGGER.info("Institution of user is: "+pk_institution); - client_2.setPerson(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken(),pk_institution); - //LOGGER.info("user data, ID="+person.verantwortlicher.getUserID()+" , Name="+person.verantwortlicher.getName()+" , Vorname="+ person.verantwortlicher.getVorname()+" , E-Mail="+ person.verantwortlicher.getEMail()+" , Institution="+ pk_institution); + String pk_institution = ThriftManager.getSatClient().setInstitution(person.verantwortlicher.getHochschule(),SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setPerson(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken(),pk_institution); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -636,11 +610,11 @@ public class Login_GUI extends JFrame { protected Boolean doInBackground() throws Exception { publish("Info: Hole Liste von IdPs"); // if not then request it from the masterserver - MasterThriftConnection thrift = new MasterThriftConnection(); - Client client = thrift.getMasterThriftConnection(); List<OrganizationData> tempOrgs = null; try { - tempOrgs = client.getOrganizations(); + if (ThriftManager.getMasterClient() == null) LOGGER.error("DERP"); + + tempOrgs = ThriftManager.getMasterClient().getOrganizations(); } catch (TException e) { LOGGER.error("Could not fetch list of identity providers from the masterserver, see trace: ", e); return false; diff --git a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java index 504203fe..c811b585 100644 --- a/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/MainMenue_GUI.java @@ -56,6 +56,7 @@ import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Server.Client; +import thrift.ThriftManager; import util.News; import util.OpenLinks; import util.ResourceLoader; @@ -82,9 +83,6 @@ public class MainMenue_GUI extends JFrame { private JMenuItem mntmAbout; Component c = null; - Client client = models.Client.clientcon.getClient(); - - // for testing ImageRights imageRights = new ImageRights(); @@ -97,7 +95,7 @@ public class MainMenue_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { try { - tokenDeleted = client.setSessionInvalid(SessionData.session.getAuthToken()); + tokenDeleted = ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java index 54a22d9f..1bac4642 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureAllgemein_GUI.java @@ -46,8 +46,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; +import thrift.ThriftManager; import util.OpenLinks; import com.toedter.calendar.JDateChooser; @@ -70,7 +70,6 @@ public class CreateLectureAllgemein_GUI extends JFrame { Date startDate = new Date(); Date endDate; Component c = null; - Client client = models.Client.clientcon.getClient(); private boolean descriptionLengthOK = false; // description may not be // longer than // MAX_DESCRIPTION_LENGTH @@ -94,7 +93,7 @@ public class CreateLectureAllgemein_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -512,11 +511,10 @@ public class CreateLectureAllgemein_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - OpenLinks open = new OpenLinks(); URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { e.printStackTrace(); @@ -529,13 +527,10 @@ public class CreateLectureAllgemein_GUI extends JFrame { mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { e.printStackTrace(); diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index 14b050a9..837b6683 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -63,9 +63,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Image; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -100,8 +99,6 @@ public class CreateLectureLink_GUI extends JFrame { private String uuid = null; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); private static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Damit Ihre Veranstaltung geladen werden kann, muss sie mit einem Image verbunden werden.<br />" @@ -126,7 +123,7 @@ public class CreateLectureLink_GUI extends JFrame { - RowFilter rf = null; + RowFilter<Object, Object> rf = null; List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2); /** @@ -142,12 +139,11 @@ public class CreateLectureLink_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); } - con.closeThriftConnection(); System.exit(0); } @@ -216,8 +212,6 @@ public class CreateLectureLink_GUI extends JFrame { setBounds(0, 0, 918, 722); setLocationRelativeTo(formerGUI); - final DefaultTableModel model = new DefaultTableModel(titles, 0); - getContentPane().setLayout(null); { JPanel panel = new JPanel(); @@ -300,7 +294,7 @@ public class CreateLectureLink_GUI extends JFrame { comboBox = new JComboBox<String>(); try { - List<String> list = client.getAllOS(SessionData.session.getAuthToken()); + List<String> list = ThriftManager.getSatClient().getAllOS(SessionData.session.getAuthToken()); comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { comboBox.addItem(list.get(i)); @@ -443,8 +437,6 @@ public class CreateLectureLink_GUI extends JFrame { "Veranstaltung erzeugen und abschließen"); doLinkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - String username = person.verantwortlicher.getName() - + " " + person.verantwortlicher.getVorname(); // check if a row is selected if (tablemyImages.getSelectedRow() != -1) { @@ -457,7 +449,7 @@ public class CreateLectureLink_GUI extends JFrame { "yyyy-MM-dd HH:mm:ss"); //create new lecture - client.writeLecturedata( + ThriftManager.getSatClient().writeLecturedata( Lecture.lecture.getName(), Lecture.lecture.getShortDesc(), Lecture.lecture.getDesc(), @@ -474,7 +466,7 @@ public class CreateLectureLink_GUI extends JFrame { System.out.println("lectureID" + " " + uuid); //set rights for this user - client.writeLectureRights( + ThriftManager.getSatClient().writeLectureRights( uuid, person.verantwortlicher.getRole(), SessionData.session.getAuthToken(), @@ -485,7 +477,7 @@ public class CreateLectureLink_GUI extends JFrame { //set rights for additional users for(int i=0; i< RightsManagement.rightsManagement.getPermittedUserList().size(); i++){ //System.out.println("Writing additional rights for user "+RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID()+", User "+(i+1)+"/"+RightsManagement.rightsManagement.getPermittedUserList().size()); - client.writeAdditionalLectureRights( + ThriftManager.getSatClient().writeAdditionalLectureRights( uuid, RightsManagement.rightsManagement.getPermittedUserList().get(i).getUserID(), RightsManagement.rightsManagement.getPermittedUserList().get(i).isLecture_read(), @@ -682,14 +674,11 @@ public class CreateLectureLink_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -703,14 +692,11 @@ public class CreateLectureLink_GUI extends JFrame { mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -743,7 +729,7 @@ public class CreateLectureLink_GUI extends JFrame { try { - uuid = client.createRandomUUID(SessionData.session.getAuthToken()); + uuid = ThriftManager.getSatClient().createRandomUUID(SessionData.session.getAuthToken()); } catch (TException e1) { @@ -763,9 +749,9 @@ public class CreateLectureLink_GUI extends JFrame { // Hole eine Liste der Images if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } else { - images = client.getImageListPermissionLink(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } Iterator<Image> i = images.iterator(); @@ -819,7 +805,7 @@ public class CreateLectureLink_GUI extends JFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = client.getImageData(id, version,SessionData.session.getAuthToken()); + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java index 438e817f..0dd68697 100644 --- a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java @@ -59,9 +59,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Lecture; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -90,9 +89,6 @@ public class DeleteLecture_GUI extends JFrame { "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung", "Verantwortlicher", "Image", "Schlagwort", "ID" }; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); - final DefaultTableModel modelMyLectures = new DefaultTableModel(titles, 0){ public boolean isCellEditable(int rowIndex, int mColIndex) { return false; @@ -106,7 +102,6 @@ public class DeleteLecture_GUI extends JFrame { modelMyLectures); private JButton button; - private JTextField textField; Component c = null; private static final String HELP_MESSAGE = "<html><div align=\"center\">" @@ -115,7 +110,7 @@ public class DeleteLecture_GUI extends JFrame { + "Veraltet bedeutet, dass Veranstaltungen, die drei Monate lang nicht augerufen wurden, vorerst deaktiviert werden." + "</div></html>"; - RowFilter rf = null; + RowFilter<Object, Object> rf = null; List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>(2); /** @@ -132,12 +127,11 @@ public class DeleteLecture_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); } - con.closeThriftConnection(); System.exit(0); } @@ -376,8 +370,6 @@ public class DeleteLecture_GUI extends JFrame { String lectureID = ""; int eingabe; - String username = person.verantwortlicher.getName() + " " - + person.verantwortlicher.getVorname(); // check if a row is selected if (tablemyLectures.getSelectedRowCount() != 0) { // a row is selected @@ -401,7 +393,7 @@ public class DeleteLecture_GUI extends JFrame { // LOGGER.info("Lösche Veranstaltung: " + lectureID); try { - if (client.deleteLecture( + if (ThriftManager.getSatClient().deleteLecture( lectureID, SessionData.session.getAuthToken(), person.verantwortlicher.getHochschule() @@ -568,14 +560,11 @@ public class DeleteLecture_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -589,14 +578,11 @@ public class DeleteLecture_GUI extends JFrame { mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -641,12 +627,12 @@ public class DeleteLecture_GUI extends JFrame { if(person.verantwortlicher.getRole()=="Admin") { //get complete list - lectures = client.getLectureList(SessionData.session.getAuthToken()); + lectures = ThriftManager.getSatClient().getLectureList(SessionData.session.getAuthToken()); } else { //get permitted list - lectures = client.getLectureListPermissionAdmin(SessionData.session.getAuthToken()); + lectures = ThriftManager.getSatClient().getLectureListPermissionAdmin(SessionData.session.getAuthToken()); } Iterator<Lecture> i = lectures.iterator(); @@ -704,7 +690,7 @@ public class DeleteLecture_GUI extends JFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = client.getLectureData(id,SessionData.session.getAuthToken()); + Map<String, String> res = ThriftManager.getSatClient().getLectureData(id,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelAktiv.setText(res.get("isActive")); labeldesc.setText(res.get("desc")); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index 88a79fb6..597a3539 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -556,11 +556,10 @@ public class EditLectureAllgemein_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - OpenLinks open = new OpenLinks(); URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { e.printStackTrace(); @@ -573,11 +572,10 @@ public class EditLectureAllgemein_GUI extends JFrame { mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - OpenLinks open = new OpenLinks(); URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { e.printStackTrace(); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index 9ae612f6..3e78751c 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -62,9 +62,8 @@ import models.person; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Image; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -98,8 +97,7 @@ public class EditLectureLink_GUI extends JFrame { Component c = null; String[] titles = { "Image-Name", "Lizenzpflichtig", "OS", "Veranstaltung", "Verantwortlicher", "Letztes Update", "ID", "Version", "Template", "Beschreibung" }; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); + final DefaultTableModel modelAll = new DefaultTableModel(titles, 0) { public boolean isCellEditable(int rowIndex, int mColIndex) { return false; @@ -122,18 +120,17 @@ public class EditLectureLink_GUI extends JFrame { modelMyImages); final TableRowSorter<TableModel> rowSorterPublicVorlagen = new TableRowSorter<TableModel>( modelPublicVorlagen); - private JTextField textField; - RowFilter orFilter = null; + RowFilter<Object, Object> 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; + RowFilter<Object, Object> 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; + RowFilter<Object, Object> templateFilter = null; ArrayList<RowFilter<Object, Object>> finalFilters = new ArrayList<RowFilter<Object, Object>>(); @@ -152,12 +149,11 @@ public class EditLectureLink_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); } - con.closeThriftConnection(); System.exit(0); } @@ -412,7 +408,7 @@ public class EditLectureLink_GUI extends JFrame { comboBox = new JComboBox<String>(); try { - List<String> list = client.getAllOS(SessionData.session.getAuthToken()); + List<String> list = ThriftManager.getSatClient().getAllOS(SessionData.session.getAuthToken()); comboBox.addItem(""); for (int i = 0; i < list.size(); i++) { comboBox.addItem(list.get(i)); @@ -627,7 +623,7 @@ public class EditLectureLink_GUI extends JFrame { //check which GUI to open try { - if(client.userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken()) || (person.verantwortlicher.getRole().equals("Admin"))){ + if(ThriftManager.getSatClient().userIsLectureAdmin(person.verantwortlicher.getUserID(), Lecture.lecture.getid(),SessionData.session.getAuthToken()) || (person.verantwortlicher.getRole().equals("Admin"))){ //user is admin of the lecture PermissionEditLecture_GUI ev = new PermissionEditLecture_GUI(c); @@ -662,15 +658,12 @@ public class EditLectureLink_GUI extends JFrame { if (tablemyImages.getSelectedRow() != -1) { // a row is selected, do operations - String imagename = tablemyImages.getValueAt( - tablemyImages.getSelectedRow(), 0) - .toString(); try { DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); // update the lecture - client.updateLecturedata( + ThriftManager.getSatClient().updateLecturedata( Lecture.lecture.getid(), Lecture.lecture.getNewName(), Lecture.lecture.getShortDesc(), @@ -698,7 +691,7 @@ public class EditLectureLink_GUI extends JFrame { // remove all additional user permissions on // first stage - client.deleteAllAdditionalLecturePermissions( + ThriftManager.getSatClient().deleteAllAdditionalLecturePermissions( Lecture.lecture.getid(), SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()); @@ -724,7 +717,7 @@ public class EditLectureLink_GUI extends JFrame { ); */ - client.writeAdditionalLectureRights( + ThriftManager.getSatClient().writeAdditionalLectureRights( Lecture.lecture.getid(), RightsManagement.rightsManagement .getPermittedUserList() @@ -777,13 +770,10 @@ public class EditLectureLink_GUI extends JFrame { .toString().equals(username)) { // a row is selected, do operations - String imagename = tablePublicVorlagen.getValueAt( - tablePublicVorlagen.getSelectedRow(), 0) - .toString(); try { DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); - client.updateLecturedata( + ThriftManager.getSatClient().updateLecturedata( Lecture.lecture.getName(), Lecture.lecture.getNewName(), Lecture.lecture.getShortDesc(), @@ -815,7 +805,7 @@ public class EditLectureLink_GUI extends JFrame { // remove all additional user permissions on // first stage - client.deleteAllAdditionalLecturePermissions( + ThriftManager.getSatClient().deleteAllAdditionalLecturePermissions( Lecture.lecture.getid(), SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()); @@ -835,7 +825,7 @@ public class EditLectureLink_GUI extends JFrame { + RightsManagement.rightsManagement .getPermittedUserList() .size()); - client.writeAdditionalLectureRights( + ThriftManager.getSatClient().writeAdditionalLectureRights( Lecture.lecture.getName(), RightsManagement.rightsManagement .getPermittedUserList() @@ -886,13 +876,10 @@ public class EditLectureLink_GUI extends JFrame { 4).toString().equals(username)) { // a row is selected, do operations - String imagename = tableAllImages.getValueAt( - tableAllImages.getSelectedRow(), 0) - .toString(); try { DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); - client.updateLecturedata( + ThriftManager.getSatClient().updateLecturedata( Lecture.lecture.getName(), Lecture.lecture.getNewName(), Lecture.lecture.getShortDesc(), @@ -922,7 +909,7 @@ public class EditLectureLink_GUI extends JFrame { // remove all additional user permissions on // first stage - client.deleteAllAdditionalLecturePermissions( + ThriftManager.getSatClient().deleteAllAdditionalLecturePermissions( Lecture.lecture.getid(), SessionData.session.getAuthToken(), person.verantwortlicher.getUserID()); @@ -942,7 +929,7 @@ public class EditLectureLink_GUI extends JFrame { + RightsManagement.rightsManagement .getPermittedUserList() .size()); - client.writeAdditionalLectureRights( + ThriftManager.getSatClient().writeAdditionalLectureRights( Lecture.lecture.getName(), RightsManagement.rightsManagement .getPermittedUserList() @@ -1145,14 +1132,11 @@ public class EditLectureLink_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -1166,14 +1150,11 @@ public class EditLectureLink_GUI extends JFrame { mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -1216,10 +1197,10 @@ public class EditLectureLink_GUI extends JFrame { // Hole eine Liste der Images if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } else { //get permitted list - images = client.getImageListPermissionLink(person.verantwortlicher + images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher .getUserID(),SessionData.session.getAuthToken()); } @@ -1259,10 +1240,10 @@ public class EditLectureLink_GUI extends JFrame { // Hole eine Liste der Images if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - images = client.getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); + images = ThriftManager.getSatClient().getImageList(person.verantwortlicher.getUserID(),SessionData.session.getAuthToken()); } else { //get permitted list - images = client.getImageListPermissionLink(person.verantwortlicher + images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher .getUserID(),SessionData.session.getAuthToken()); } @@ -1301,8 +1282,8 @@ public class EditLectureLink_GUI extends JFrame { List<Image> images; // Hole eine Liste der Images - //images = client.getImageListPermissionLink(person.verantwortlicher.getUserID()); - images = client.getImageListAllTemplates(SessionData.session.getAuthToken()); + //images = ThriftManager.getSatClient().getImageListPermissionLink(person.verantwortlicher.getUserID()); + images = ThriftManager.getSatClient().getImageListAllTemplates(SessionData.session.getAuthToken()); Iterator<Image> i = images.iterator(); SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -1356,7 +1337,7 @@ public class EditLectureLink_GUI extends JFrame { try { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = client.getImageData(id, version,SessionData.session.getAuthToken()); + Map<String, String> res = ThriftManager.getSatClient().getImageData(id, version,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelOS.setText(res.get("os")); labelUpdate.setText(out.format(in.parse(res.get("lastupdate")))); diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index a3119b79..3f2da363 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -61,9 +61,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; import util.OpenLinks; @SuppressWarnings("serial") @@ -89,8 +88,6 @@ public class EditLectureSearch_GUI extends JFrame { String[] titles = { "Veranstaltungsname", "Beschreibung", "Gültigkeitsdatum", "Aktiv", "Letzte Benutzung", "Verantwortlicher", "Image", "Schlagwort", "ID" }; - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); private static final String HELP_MESSAGE = "<html><div align=\"center\">" + "Suchen Sie hier Ihre Veranstaltungen und wählen Sie sie für weitere Schritte aus.<br />" + "Klicken Sie anschließend auf \"Weiter\", um die Details der Veranstaltung sowie die Berechtigungen zu ändern." @@ -105,7 +102,7 @@ public class EditLectureSearch_GUI extends JFrame { final TableRowSorter<TableModel> rowSorterMyLectures = new TableRowSorter<TableModel>( modelMyLectures); - RowFilter rf = null; + RowFilter<Object, Object> rf = null; List<RowFilter<Object, Object>> filters = new ArrayList<RowFilter<Object, Object>>( 2); @@ -123,12 +120,11 @@ public class EditLectureSearch_GUI extends JFrame { public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); } - con.closeThriftConnection(); System.exit(0); } @@ -392,8 +388,6 @@ public class EditLectureSearch_GUI extends JFrame { JButton btnContinue = new JButton("Weiter"); btnContinue.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - String username = person.verantwortlicher.getName() - + " " + person.verantwortlicher.getVorname(); // check if a row is selected if (tablemyLectures.getSelectedRow() != -1) { @@ -598,14 +592,11 @@ public class EditLectureSearch_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -619,14 +610,11 @@ public class EditLectureSearch_GUI extends JFrame { mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -670,10 +658,10 @@ public class EditLectureSearch_GUI extends JFrame { // Hole eine Liste der erlaubten Images für die diese Person if(person.verantwortlicher.getRole()=="Admin"){ //get complete list - lectures = client.getLectureList(SessionData.session.getAuthToken()); + lectures = ThriftManager.getSatClient().getLectureList(SessionData.session.getAuthToken()); } else { //get permitted list - lectures = client.getLectureListPermissionWrite(SessionData.session.getAuthToken()); + lectures = ThriftManager.getSatClient().getLectureListPermissionWrite(SessionData.session.getAuthToken()); } Iterator<org.openslx.sat.thrift.iface.Lecture> i = lectures.iterator(); @@ -732,7 +720,7 @@ public class EditLectureSearch_GUI extends JFrame { SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Map<String, String> res = client.getLectureData(id,SessionData.session.getAuthToken()); + Map<String, String> res = ThriftManager.getSatClient().getLectureData(id,SessionData.session.getAuthToken()); labelName.setText(res.get("name")); labelAktiv.setText(res.get("isActive")); labeldesc.setText(res.get("desc")); @@ -750,7 +738,7 @@ public class EditLectureSearch_GUI extends JFrame { try { // get values from server and set them in model - map = client.getItemOwner(lectureid,SessionData.session.getAuthToken()); + map = ThriftManager.getSatClient().getItemOwner(lectureid,SessionData.session.getAuthToken()); ItemOwner.itemOwner.setUserID(map.get("userID")); ItemOwner.itemOwner.setUsername(map.get("loginName")); diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index ab53c43d..5eb40b0b 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -42,7 +42,6 @@ import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; import javax.swing.table.DefaultTableModel; -import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import models.Lecture; @@ -53,8 +52,8 @@ import models.person; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Person; -import org.openslx.sat.thrift.iface.Server.Client; +import thrift.ThriftManager; import util.CheckIntegrity; import util.ListAllOtherUsers_GUI; import util.OpenLinks; @@ -62,7 +61,6 @@ import util.OpenLinks; @SuppressWarnings("serial") public class PermissionEditLecture_GUI extends JFrame { - Client client = models.Client.clientcon.getClient(); private final JPanel contentPanel = new JPanel(); String[] result; private JTable table; @@ -102,7 +100,7 @@ public class PermissionEditLecture_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { try { - client.setSessionInvalid(SessionData.session.getAuthToken()); + ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken()); } catch (TException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -229,7 +227,7 @@ public class PermissionEditLecture_GUI extends JFrame { //System.out.println("Loading data from db"); try { - map = client.getPermissionForUserAndLecture( + map = ThriftManager.getSatClient().getPermissionForUserAndLecture( SessionData.session.getAuthToken(),Lecture.lecture.getid(),person.verantwortlicher.getUserID() ); Iterator<Person> i = map.iterator(); @@ -268,9 +266,7 @@ public class PermissionEditLecture_GUI extends JFrame { .getPermittedUserList(); Iterator<person> i = listt.iterator(); - int x = 0; while (i.hasNext()) { - // System.out.println("current pos=" + x); // erzeuge Objekte fuer die Tabelle person temp = i.next(); @@ -286,7 +282,6 @@ public class PermissionEditLecture_GUI extends JFrame { // + temp.isLecture_admin() + ", " + temp.getUserID()); // Fuege diese Objekte der Tabelle hinzu model.addRow(obj); - x++; } }// end set list of permitted users @@ -294,7 +289,6 @@ public class PermissionEditLecture_GUI extends JFrame { // Boolean(false),new Boolean(false),new Boolean(false)}; // model.addRow(rowdata); - TableCellRenderer rend = table.getTableHeader().getDefaultRenderer(); TableColumn tc1 = table.getColumnModel().getColumn(1); tc1.setCellEditor(table.getDefaultEditor(Boolean.class)); @@ -503,14 +497,11 @@ public class PermissionEditLecture_GUI extends JFrame { mntmFaq.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -524,14 +515,11 @@ public class PermissionEditLecture_GUI extends JFrame { mntmOtrs.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent arg0) { - - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { @@ -593,8 +581,6 @@ public class PermissionEditLecture_GUI extends JFrame { // save the entered rights into the model and prepare them to be written to // the database private void saveTableToList() { - //System.out.println("Saving Table to List"); - List<person> list = new ArrayList<person>(); int seperatorIndex = 0; @@ -608,22 +594,6 @@ public class PermissionEditLecture_GUI extends JFrame { seperatorIndex = table.getModel().getValueAt(i, 0).toString() .indexOf(","); - //LOGGER.info(table.getModel().getValueAt(i, 4).toString() - // + " (userID)\t" - // + Boolean.parseBoolean(table.getModel().getValueAt(i, 3) - // .toString()) - // + "(admin)\t" - // + Boolean.parseBoolean(table.getModel().getValueAt(i, 2) - // .toString()) - // + "(write)\t" - // + Boolean.parseBoolean(table.getModel().getValueAt(i, 1) - // .toString()) - // + "(read)\t" - // + table.getModel().getValueAt(i, 0).toString() - // .substring(0, seperatorIndex) - // + "(Nachname)\t" - // + table.getModel().getValueAt(i, 0).toString() - // .substring(seperatorIndex + 2) + "(Vorname)"); temp.setUserID(table.getModel().getValueAt(i, 4).toString()); // get // userID @@ -651,10 +621,6 @@ public class PermissionEditLecture_GUI extends JFrame { } } - //for (int y = 0; y < list.size(); y++) { - // System.out.println("" + list.get(y).getName()); - //} - RightsManagement.rightsManagement.setPermittedUserList(list); }// end saveTableToList() @@ -712,38 +678,3 @@ public class PermissionEditLecture_GUI extends JFrame { } } } -/* - * class CheckBoxHeader extends JCheckBox implements TableCellRenderer, - * MouseListener { protected CheckBoxHeader rendererComponent; protected int - * column; protected boolean mousePressed = false; - * - * public CheckBoxHeader(ItemListener itemListener ,String text) { - * rendererComponent = this; rendererComponent.addItemListener(itemListener); - * rendererComponent.setText(text); } - * - * public Component getTableCellRendererComponent( JTable table, Object value, - * boolean isSelected, boolean hasFocus, int row, int column) { if (table != - * null) { JTableHeader header = table.getTableHeader(); if (header != null) { - * rendererComponent.setForeground(header.getForeground()); - * rendererComponent.setBackground(header.getBackground()); - * rendererComponent.setFont(header.getFont()); - * rendererComponent.setBorder(header.getBorder()); - * header.addMouseListener(rendererComponent); } } setColumn(column); - * //rendererComponent.setText("Check All"); - * //setBorder(UIManager.getBorder("TableHeader.cellBorder")); - * - * return rendererComponent; } protected void setColumn(int column) { - * this.column = column; } public int getColumn() { return column; } protected - * void handleClickEvent(MouseEvent e) { if (mousePressed) { mousePressed=false; - * JTableHeader header = (JTableHeader)(e.getSource()); JTable tableView = - * header.getTable(); TableColumnModel columnModel = tableView.getColumnModel(); - * int viewColumn = columnModel.getColumnIndexAtX(e.getX()); int column = - * tableView.convertColumnIndexToModel(viewColumn); - * - * if (viewColumn == this.column && e.getClickCount() == 1 && column != -1) { - * doClick(); } } } public void mouseClicked(MouseEvent e) { - * handleClickEvent(e); ((JTableHeader)e.getSource()).repaint(); } public void - * mousePressed(MouseEvent e) { mousePressed = true; } public void - * mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } - * public void mouseExited(MouseEvent e) { } } - */ diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index bd387fab..fbb24849 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -60,9 +60,8 @@ import models.person; import org.apache.thrift.TException;
import org.openslx.sat.thrift.iface.Lecture;
-import org.openslx.sat.thrift.iface.Server.Client;
-import thrift.ThriftConnection;
+import thrift.ThriftManager;
import util.OpenLinks;
@SuppressWarnings("serial")
@@ -89,8 +88,6 @@ public class SearchLecture_GUI extends JFrame { String[] titles = { "Veranstaltungsname", "Beschreibung",
"Gültigkeitsdatum", "Aktiv", "Letzte Benutzung",
"Verantwortlicher", "Image", "Schlagwort", "ID" };
- ThriftConnection con = new ThriftConnection();
- Client client = models.Client.clientcon.getClient();
final DefaultTableModel modelAll = new DefaultTableModel(titles, 0){
public boolean isCellEditable(int rowIndex, int mColIndex) {
@@ -127,9 +124,8 @@ public class SearchLecture_GUI extends JFrame { @Override
public void windowClosing(WindowEvent arg0) {
// Beendet die Anwendung nach klick auf X
- con.closeThriftConnection();
try {
- client.setSessionInvalid(SessionData.session.getAuthToken());
+ ThriftManager.getSatClient().setSessionInvalid(SessionData.session.getAuthToken());
} catch (TException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -628,10 +624,10 @@ public class SearchLecture_GUI extends JFrame { // Hole eine Liste der erlaubten Images für die diese Person
if(person.verantwortlicher.getRole()=="Admin"){
//get complete list
- lectures = client.getLectureList(SessionData.session.getAuthToken());
+ lectures = ThriftManager.getSatClient().getLectureList(SessionData.session.getAuthToken());
} else {
//get permitted list
- lectures = client.getLectureListPermissionRead(SessionData.session.getAuthToken());
+ lectures = ThriftManager.getSatClient().getLectureListPermissionRead(SessionData.session.getAuthToken());
}
Iterator<Lecture> i = lectures.iterator();
@@ -671,8 +667,8 @@ public class SearchLecture_GUI extends JFrame { List<Lecture> lectures;
try {
// Hole eine Liste der erlaubten Images für die diese Person
- //lectures = client.getLectureList();
- lectures = client.getLectureList(SessionData.session.getAuthToken());
+ //lectures = ThriftManager.getSatClient().getLectureList();
+ lectures = ThriftManager.getSatClient().getLectureList(SessionData.session.getAuthToken());
Iterator<Lecture> i = lectures.iterator();
SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
@@ -725,7 +721,7 @@ public class SearchLecture_GUI extends JFrame { SimpleDateFormat in=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat out=new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
- Map<String,String> res=client.getLectureData(id,SessionData.session.getAuthToken());
+ Map<String,String> res=ThriftManager.getSatClient().getLectureData(id,SessionData.session.getAuthToken());
labelName.setText(res.get("name"));
labelAktiv.setText(res.get("isActive"));
labeldesc.setText(res.get("desc"));
diff --git a/dozentenmodul/src/main/java/thrift/MasterThriftConnection.java b/dozentenmodul/src/main/java/thrift/MasterThriftConnection.java deleted file mode 100644 index 686d0944..00000000 --- a/dozentenmodul/src/main/java/thrift/MasterThriftConnection.java +++ /dev/null @@ -1,42 +0,0 @@ -package thrift; - -import org.apache.log4j.Logger; -import org.apache.thrift.protocol.TBinaryProtocol; -import org.apache.thrift.protocol.TProtocol; -import org.apache.thrift.transport.TFramedTransport; -import org.apache.thrift.transport.TSocket; -import org.apache.thrift.transport.TTransport; -import org.apache.thrift.transport.TTransportException; -import org.openslx.imagemaster.thrift.iface.ImageServer.Client; - -public class MasterThriftConnection { - - private final static Logger LOGGER = Logger.getLogger(MasterThriftConnection.class); - - public static final String MASTERSERVER_IP = "132.230.4.16"; - public static final int MASTERSERVER_PORT = 9090; - public static final int MASTERSERVER_TIMEOUT_MS = 30000; - - final TTransport transport = new TFramedTransport(new TSocket( - MASTERSERVER_IP, MASTERSERVER_PORT, MASTERSERVER_TIMEOUT_MS)); - - public Client getMasterThriftConnection() { - - try { - transport.open(); - } catch (TTransportException e) { - LOGGER.error("Keine Verbindung möglich!"); - return null; - } - - final TProtocol protocol = new TBinaryProtocol(transport); - final Client client = new Client(protocol); - LOGGER.info("Masterserver '" + MASTERSERVER_IP + "' erreichbar."); - - return client; - } - - public void closeMasterThriftConnection() { - transport.close(); - } -} diff --git a/dozentenmodul/src/main/java/thrift/ThriftConnection.java b/dozentenmodul/src/main/java/thrift/ThriftConnection.java deleted file mode 100644 index a026ef03..00000000 --- a/dozentenmodul/src/main/java/thrift/ThriftConnection.java +++ /dev/null @@ -1,77 +0,0 @@ -package thrift; - -import javax.swing.JOptionPane; - -import models.SessionData; - -import org.apache.log4j.Logger; -import org.apache.thrift.protocol.TBinaryProtocol; -import org.apache.thrift.protocol.TProtocol; -import org.apache.thrift.transport.TSocket; -import org.apache.thrift.transport.TTransport; -import org.openslx.sat.thrift.iface.Server; -import org.openslx.sat.thrift.iface.Server.Client; -import org.openslx.sat.thrift.version.Version; - -public class ThriftConnection { - - private final static Logger LOGGER = Logger - .getLogger(ThriftConnection.class); - - private String satAddress = SessionData.session.getServerAdress(); - final TTransport transport = new TSocket(satAddress, 9090, 10000); - - public Client getThriftConnection() { - - try { - transport.open(); - } catch (Exception e) { - LOGGER.error("Keine Verbindung möglich! Satellit: " + satAddress, e); - JOptionPane.showMessageDialog(null, - "Konnte keine Verbindung zum Satellit '" + satAddress - + "' aufbauen!", "Debug-Message", - JOptionPane.ERROR_MESSAGE); - return null; - } - - final TProtocol protocol = new TBinaryProtocol(transport); - final Server.Client client = new Server.Client(protocol); - LOGGER.info("Verbindung zu " + satAddress + " wurde aufgebaut."); - - long remoteVersion; - try { - remoteVersion = client.getVersion(); - } catch (Exception e) { - LOGGER.error( - "Could not query sat server version after successful connect! Assuming untagged version 1", - e); - remoteVersion = 1; - } - String text = null; - if (remoteVersion > Version.VERSION) { - text = "Das von Ihnen verwendete Dozentenmodul ist zu alt, um mit dem Satelliten-Server zu verbinden.\n" - + "Sie verwenden Version " - + Version.VERSION - + ", der Satellit " - + remoteVersion - + "\n" - + "Aktuelle Version unter http://bwlehrpool.hs-offenburg.de/"; - } else if (remoteVersion < Version.VERSION) { - text = "Das von Ihnen verwendete Dozentenmodul ist zu neu, um mit dem Satelliten-Server zu verbinden.\n" - + "Sie verwenden Version " - + Version.VERSION - + ", der Satellit " + remoteVersion; - } - if (text != null) { - JOptionPane.showMessageDialog(null, text, "Fehler", - JOptionPane.ERROR_MESSAGE); - } - - return client; - } - - public void closeThriftConnection() { - LOGGER.info("Verbindung wird geplant getrennt."); - transport.close(); - } -} diff --git a/dozentenmodul/src/main/java/thrift/ThriftManager.java b/dozentenmodul/src/main/java/thrift/ThriftManager.java new file mode 100644 index 00000000..716c4439 --- /dev/null +++ b/dozentenmodul/src/main/java/thrift/ThriftManager.java @@ -0,0 +1,155 @@ +package thrift; + +import org.apache.log4j.Logger; +import org.apache.thrift.protocol.TBinaryProtocol; +import org.apache.thrift.protocol.TProtocol; +import org.apache.thrift.transport.TFramedTransport; +import org.apache.thrift.transport.TSocket; +import org.apache.thrift.transport.TTransport; +import org.apache.thrift.transport.TTransportException; +import org.openslx.imagemaster.thrift.iface.ImageServer; +import org.openslx.sat.thrift.iface.Server; + +public class ThriftManager { + + private final static Logger LOGGER = Logger.getLogger(ThriftManager.class); + + /** + * Public variables to represent client types + * TODO: Public needed? + */ + public static enum ClientType { + MASTER, SATELLITE + } + /** + * Private singleton instances of itself and the satellite/master clients + */ + private static ThreadLocal<ThriftManager> _instance = null; + private static ThreadLocal<Server.Client> _satClient = new ThreadLocal<>(); + private static ThreadLocal<ImageServer.Client> _masterClient = new ThreadLocal<>(); + + /** + * Private members for master connection information + */ + private static final String MASTERSERVER_IP = "132.230.4.16"; + private static final int MASTERSERVER_PORT = 9090; + private static final int MASTERSERVER_TIMEOUT = 30000; + + + /** + * Private members for satellite connection information + */ + private static String SATELLITE_IP = null; + private static final int SATELLITE_PORT = 9090; + private static final int SATELLITE_TIMEOUT = 10000; + + /** + * Protected constructor to avoid external instantiation + */ + protected ThriftManager() { + if (_instance.get() == null) { + _instance.set(new ThriftManager()); + } + if (_instance.get() == null) { + // something very wrong... + LOGGER.error("Could not initialize Thrift Manager, this should not happen. Contact a developper."); + // TODO handle: exit? message box? + } + } + + /** + * Initialise the client of type 'type' with give ip, port and timeout. + * + * @param type type of the client. Valid are 'MASTER' or 'SATELLITE' + * @param ip ip of the server to connect to + * @param port port of the server to connect to + * @param timeout timeout of the connection in milliseconds + * @return true if initializing the client worked, false otherwise + */ + private static boolean init(ClientType type, String ip, int port, int timeout) { + + /* + * Master Connection + */ + if (type == ClientType.MASTER) { + TTransport transport = + new TFramedTransport(new TSocket(MASTERSERVER_IP, MASTERSERVER_PORT, MASTERSERVER_TIMEOUT)); + try { + transport.open(); + } catch (TTransportException e) { + LOGGER.error("Could not open transport to thrift's server with IP: " + MASTERSERVER_IP); + return false; + } + final TProtocol protocol = new TBinaryProtocol(transport); + // now we are ready to create the client, according to ClientType! + _masterClient.set(new ImageServer.Client(protocol)); + LOGGER.info("Masterserver '" + MASTERSERVER_IP + "' reachable. Client initialised."); + } + /* + * Satellite Connection + */ + if (type == ClientType.SATELLITE) { + // first check if we have a sat ip + if (SATELLITE_IP == null) { + LOGGER.error("Satellite ip adress was not set prior to getting the sat client. Use setSatellite(<ip>)."); + return false; + } + // ok lets do it + TTransport transport = + new TSocket(SATELLITE_IP, SATELLITE_PORT, SATELLITE_TIMEOUT); + try { + transport.open(); + } catch (TTransportException e) { + LOGGER.error("Could not open transport to thrift's server with IP: " + SATELLITE_IP); + return false; + } + final TProtocol protocol = new TBinaryProtocol(transport); + // now we are ready to create the client, according to ClientType! + _satClient.set(new Server.Client(protocol)); + } + return true; + } + /** + * Sets the IP of the satellite to connect to + * @param ip the ip of the satellite as String + * @return true if setting the ip worked, false otherwise + */ + public static boolean setSatellite(String ip) { + if (ip.isEmpty()) { + LOGGER.error("Given IP for satellite is empty."); + return false; + } + SATELLITE_IP = ip; + return true; + } + /** + * Returns the singleton client of the thrift connection to the satellite + * @return the thrift client to the satellite server + */ + public static Server.Client getSatClient() { + if (_satClient.get() == null) { + init(ClientType.SATELLITE, SATELLITE_IP, SATELLITE_PORT, SATELLITE_TIMEOUT); + } + if (_satClient.get() == null) { + LOGGER.error("Satelite client still null. Initialisation must have failed. Contact developper."); + return null; + } + return _satClient.get(); + } + + /** + * Returns the singleton client of the master thrift connection + * @return the thrift client to the master server + */ + public static ImageServer.Client getMasterClient() { + if (_masterClient.get() == null) { + LOGGER.debug("Initialising master thrift client..."); + init(ClientType.MASTER, MASTERSERVER_IP, MASTERSERVER_PORT, MASTERSERVER_TIMEOUT); + } + if (_masterClient.get() == null) { + LOGGER.error("Satellite client still null. Initialisation must have failed. Contact developper."); + return null; + } + return _masterClient.get(); + } +} diff --git a/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java b/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java index e09f0b08..56adaf4f 100644 --- a/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java +++ b/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java @@ -30,7 +30,6 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; -import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; @@ -46,9 +45,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Person; -import org.openslx.sat.thrift.iface.Server.Client; -import thrift.ThriftConnection; +import thrift.ThriftManager; @SuppressWarnings("serial") public class ListAllOtherUsers_GUI extends JFrame { @@ -62,14 +60,9 @@ public class ListAllOtherUsers_GUI extends JFrame { boolean activeSearch = false; String[] titles = { "userID", "Nachname", "Vorname", "Mail" }; - - ThriftConnection con = new ThriftConnection(); - Client client = models.Client.clientcon.getClient(); - //final DefaultTableModel modelUsers = new DefaultTableModel(titles, 0); private JButton btnAdd; private List<Person> map = null; // List of people - private JTextField textField; Component c = null; private JTable table; private int userIDPos; @@ -111,7 +104,6 @@ public class ListAllOtherUsers_GUI extends JFrame { @Override public void windowClosing(WindowEvent arg0) { // Beendet die Anwendung nach klick auf X - con.closeThriftConnection(); dispose(); } @@ -290,12 +282,10 @@ public class ListAllOtherUsers_GUI extends JFrame { @Override public void mousePressed(MouseEvent arg0) { - OpenLinks open = new OpenLinks(); - URI windows; try { windows = new URI(Links.getFAQ()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { e.printStackTrace(); @@ -309,11 +299,10 @@ public class ListAllOtherUsers_GUI extends JFrame { @Override public void mousePressed(MouseEvent arg0) { - OpenLinks open = new OpenLinks(); URI windows; try { windows = new URI(Links.getOTRS()); - open.openWebpage(windows); + OpenLinks.openWebpage(windows); } catch (URISyntaxException e) { e.printStackTrace(); } @@ -362,7 +351,7 @@ public class ListAllOtherUsers_GUI extends JFrame { } //get the info - map = client.getAllOtherSatelliteUsers(user,SessionData.session.getAuthToken()); + map = ThriftManager.getSatClient().getAllOtherSatelliteUsers(user,SessionData.session.getAuthToken()); Iterator<Person> i = map.iterator(); int x = 0; diff --git a/dozentenmodul/src/main/java/util/ServiceProviderResponse.java b/dozentenmodul/src/main/java/util/ServiceProviderResponse.java index 62819ded..99f120f1 100644 --- a/dozentenmodul/src/main/java/util/ServiceProviderResponse.java +++ b/dozentenmodul/src/main/java/util/ServiceProviderResponse.java @@ -1,14 +1,7 @@ package util; public class ServiceProviderResponse { - private String status; - - public String getStatus() { - return status; - } - - public void setStatus(String sTATUS) { - status = sTATUS; - } - + public String status; + public String id; + public String url; } diff --git a/dozentenmodul/src/main/java/util/ShibbolethECP.java b/dozentenmodul/src/main/java/util/ShibbolethECP.java index 3dea9e3e..b834b1a2 100644 --- a/dozentenmodul/src/main/java/util/ShibbolethECP.java +++ b/dozentenmodul/src/main/java/util/ShibbolethECP.java @@ -1,8 +1,10 @@ package util; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; import org.apache.http.HttpResponse; import org.apache.http.ParseException; @@ -31,13 +33,19 @@ public class ShibbolethECP { private static final Gson GSON = new GsonBuilder().create(); /** + * URL for bwLehrpool registration + */ + private static URL _registrationUrl = null; + /** * Return codes */ public static enum ReturnCode { NO_ERROR(0, "Authentication against the identity provider and request of the service provider resource worked."), ERROR_IDP(1, "Authentication against the identity provider failed."), - ERROR_SP(2, "Invalid resource of the service provider."), - ERROR_OTHER(3, "Internal class error."); + ERROR_UNREG(2, "User not registered to use bwLehrpool"), + ERROR_SP(3, "Invalid resource of the service provider."), + ERROR_URL(4, "Invalid URL received from master server."), + ERROR_OTHER(5, "Internal class error."); private final int id; private final String msg; @@ -63,7 +71,7 @@ public class ShibbolethECP { static { URI tmp; try { - tmp = new URI("https://bwlp-masterserver.ruf.uni-freiburg.de/secure-all/test.php"); + tmp = new URI("https://bwlp-masterserver.ruf.uni-freiburg.de/secure-all/api.php"); } catch (URISyntaxException e) { // should never happen! LOGGER.error("Bad URI syntax of the service provider, see trace: ", e); @@ -148,9 +156,23 @@ public class ShibbolethECP { LOGGER.error("Bad JSON syntax, see trace: ", e); return ReturnCode.ERROR_SP; } - LOGGER.debug("SP JSON STATUS: " + spr.getStatus()); // TODO: here we will need to parse the answer accordingly. // no errors, meaning everything worked fine. - return spr.getStatus().equals("funzt") ? ReturnCode.NO_ERROR : ReturnCode.ERROR_SP; + if (spr.status.equals("unregistered")) { + try { + _registrationUrl = new URL(spr.url); + } catch (MalformedURLException e) { + LOGGER.error("URL returned by masterserver is malformed, see trace: " + e); + return ReturnCode.ERROR_URL; + } + return ReturnCode.ERROR_UNREG; + } + // TODO the rest of the cases... + + // still here? then something else went wrong + return ReturnCode.ERROR_OTHER; + } + public static URL getRegistrationUrl() { + return _registrationUrl; } } |
