diff options
| author | Jonathan Bauer | 2015-03-04 17:03:25 +0100 |
|---|---|---|
| committer | Jonathan Bauer | 2015-03-04 17:03:25 +0100 |
| commit | 17c7608810c023354068699b21a8c6882d9f130a (patch) | |
| tree | 4ab23ccb171bc0fab98cd58cd905667eada70a33 /dozentenmodul/src/main/java | |
| parent | fix wrong class for logging (diff) | |
| download | tutor-module-17c7608810c023354068699b21a8c6882d9f130a.tar.gz tutor-module-17c7608810c023354068699b21a8c6882d9f130a.tar.xz tutor-module-17c7608810c023354068699b21a8c6882d9f130a.zip | |
Thrift: reconnect on transport error
Moved ThriftManager and ThriftHandler to master-sync-shared
Diffstat (limited to 'dozentenmodul/src/main/java')
22 files changed, 22 insertions, 207 deletions
diff --git a/dozentenmodul/src/main/java/ftp/DownloadTask.java b/dozentenmodul/src/main/java/ftp/DownloadTask.java index 143ff286..da75bd60 100644 --- a/dozentenmodul/src/main/java/ftp/DownloadTask.java +++ b/dozentenmodul/src/main/java/ftp/DownloadTask.java @@ -20,8 +20,8 @@ import models.SessionData; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; import org.apache.thrift.TException; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; 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 8c478f3c..94085ac1 100644 --- a/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/CreateImageTechnisch_GUI.java @@ -36,8 +36,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java index 1ff11bae..1f2500db 100644 --- a/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/DeleteImage_GUI.java @@ -54,8 +54,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Image; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java index 69fdd2c0..d10bbc59 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageAllgemein_GUI.java @@ -34,8 +34,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java index 790665c0..4ede0149 100644 --- a/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/EditImageTechnisch_GUI.java @@ -35,8 +35,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java index 88bc1cc8..d1849733 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPCreateUploader_GUI.java @@ -46,8 +46,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.User; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; import util.OpenLinks; import config.Config; diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java index 273005e7..ef008657 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditDownloader_GUI.java @@ -40,8 +40,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.User; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; import util.OpenLinks; import config.Config; diff --git a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java index 74205377..b28ac83c 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPEditUploader_GUI.java @@ -46,8 +46,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.User; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; import util.OpenLinks; import config.Config; diff --git a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java index 482abcc6..f2cbdef8 100644 --- a/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/FTPSearchDownloader_GUI.java @@ -41,8 +41,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.User; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; import util.OpenLinks; import config.Config; diff --git a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java index 16cfb5c0..bd9cca1a 100644 --- a/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/PermissionEditImage_GUI.java @@ -43,8 +43,8 @@ import models.person; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Person; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.CheckIntegrity; import util.GuiManager; import util.ListAllOtherUsers_GUI; diff --git a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java index 37512f2f..77e9bb28 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchEditImage_GUI.java @@ -54,8 +54,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; //import models.person; diff --git a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java index 2c2a349a..5e5aa6f8 100644 --- a/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java +++ b/dozentenmodul/src/main/java/gui/image/SearchImage_GUI.java @@ -53,8 +53,8 @@ import models.SessionData; import models.person;
import org.apache.thrift.TException;
+import org.openslx.thrifthelper.ThriftManager;
-import thrift.ThriftManager;
import util.GuiManager;
@SuppressWarnings("serial")
diff --git a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java index 02660011..fb46335a 100644 --- a/dozentenmodul/src/main/java/gui/intro/Login_GUI.java +++ b/dozentenmodul/src/main/java/gui/intro/Login_GUI.java @@ -19,7 +19,6 @@ import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; -import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JList; @@ -43,8 +42,8 @@ import org.apache.thrift.TException; import org.openslx.imagemaster.thrift.iface.ImageServer; import org.openslx.imagemaster.thrift.iface.OrganizationData; import org.openslx.imagemaster.thrift.iface.UserInfo; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; import util.ResourceLoader; import util.ShibbolethECP; @@ -280,7 +279,7 @@ public class Login_GUI extends JInternalFrame { // start the authentication process against the masterserver org.openslx.imagemaster.thrift.iface.SessionData result = null; // Connect to Master - ImageServer.Client client = ThriftManager.getMasterClient(); + ImageServer.Iface client = ThriftManager.getMasterClient(); String passText = new String(lblpass.getPassword()); UserInfo user = null; // Log user in diff --git a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java index d1c6bed0..d5d5c586 100644 --- a/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/CreateLectureLink_GUI.java @@ -56,8 +56,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Image; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java index 004ed2b7..05beda93 100644 --- a/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/DeleteLecture_GUI.java @@ -52,8 +52,8 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Lecture; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java index 648406f0..24f9ce65 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureAllgemein_GUI.java @@ -40,8 +40,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; import com.toedter.calendar.JDateChooser; diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java index 9b14335b..2a57dcfe 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureLink_GUI.java @@ -55,8 +55,8 @@ import models.person; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Image; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java index 437e7ab1..a1e1cc87 100644 --- a/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/EditLectureSearch_GUI.java @@ -53,8 +53,8 @@ import models.SessionData; import models.person; import org.apache.thrift.TException; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.GuiManager; @SuppressWarnings("serial") diff --git a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java index 39443196..dab6f2c9 100644 --- a/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/PermissionEditLecture_GUI.java @@ -42,8 +42,8 @@ import models.person; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Person; +import org.openslx.thrifthelper.ThriftManager; -import thrift.ThriftManager; import util.CheckIntegrity; import util.GuiManager; import util.ListAllOtherUsers_GUI; diff --git a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java index 2263fe59..8ae9871e 100644 --- a/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java +++ b/dozentenmodul/src/main/java/gui/lecture/SearchLecture_GUI.java @@ -53,8 +53,8 @@ import models.person; import org.apache.thrift.TException;
import org.openslx.sat.thrift.iface.Lecture;
+import org.openslx.thrifthelper.ThriftManager;
-import thrift.ThriftManager;
import util.GuiManager;
@SuppressWarnings("serial")
diff --git a/dozentenmodul/src/main/java/thrift/ThriftManager.java b/dozentenmodul/src/main/java/thrift/ThriftManager.java deleted file mode 100644 index cc085ecd..00000000 --- a/dozentenmodul/src/main/java/thrift/ThriftManager.java +++ /dev/null @@ -1,183 +0,0 @@ -package thrift; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -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; - - /** - * IP Validation Regex - */ - private static final String IP_VALID_PATTERN = - "^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + - "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + - "([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." + - "([01]?\\d\\d?|2[0-4]\\d|25[0-5])$"; - - /** - * 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)); - LOGGER.info("Satellite '" + SATELLITE_IP + "' reachable. Client initialised."); - } - 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; - } - // validate - Matcher matcher = Pattern.compile(IP_VALID_PATTERN).matcher(ip); - if (!matcher.matches()) { - LOGGER.error("Given form of IP is invalid: " + ip); - return false; - } - // finally set it - SATELLITE_IP = ip; - - // last check: try to connect - if (!init(ClientType.SATELLITE, SATELLITE_IP, SATELLITE_PORT, SATELLITE_TIMEOUT)) { - // init failed - LOGGER.error("Could not initialise new client to satellite: " + SATELLITE_IP); - return false; - } - // TODO final last: get version from server - 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 37f30dc3..270c783a 100644 --- a/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java +++ b/dozentenmodul/src/main/java/util/ListAllOtherUsers_GUI.java @@ -34,8 +34,7 @@ import models.person; import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.sat.thrift.iface.Person; - -import thrift.ThriftManager; +import org.openslx.thrifthelper.ThriftManager; @SuppressWarnings("serial") public class ListAllOtherUsers_GUI extends JFrame { |
