summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/Dozentenmodulserver/src/main/java/server/ServerHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodulserver/Dozentenmodulserver/src/main/java/server/ServerHandler.java')
-rw-r--r--dozentenmodulserver/Dozentenmodulserver/src/main/java/server/ServerHandler.java547
1 files changed, 0 insertions, 547 deletions
diff --git a/dozentenmodulserver/Dozentenmodulserver/src/main/java/server/ServerHandler.java b/dozentenmodulserver/Dozentenmodulserver/src/main/java/server/ServerHandler.java
deleted file mode 100644
index 35b9579a..00000000
--- a/dozentenmodulserver/Dozentenmodulserver/src/main/java/server/ServerHandler.java
+++ /dev/null
@@ -1,547 +0,0 @@
-package server;
-
-import java.io.File;
-import java.io.IOException;
-import java.math.BigInteger;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.sql.SQLException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import models.Configuration;
-import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
-import org.apache.thrift.TException;
-
-import com.mysql.jdbc.StringUtils;
-
-import sql.SQL;
-import util.XMLCreator;
-
-
-
-public class ServerHandler implements Server.Iface {
- static SQL sql = new SQL();
-
- private static Logger log = Logger.getLogger(ServerHandler.class);
-
- @Override
- public User getFtpUser() throws TException {
- log.info(new Date() + " - returning FTPUser...");
- User user = new User();
- user.setUserName(UUID.randomUUID().toString().substring(0, 8));
- user.setPassword(getEncodedSha1Sum(UUID.randomUUID().toString()
- .substring(0, 8)));
- if (Configuration.config.getAbsolute_path().endsWith("/")) {
- user.setPath(Configuration.config.getAbsolute_path());
- } else {
- user.setPath(Configuration.config.getAbsolute_path() + "/");
- }
-
- // check if folder temp and folder prod exist
- if (folderTempExists() == true && folderProdExists() == true) {
- sql.writeFTPUser(user.getUserName(), user.getPassword());
- return user;
- } else {
- log.info(new Date() + " - returning null user");
- return null;
- }
- }
-
- public boolean folderTempExists() {
- // check if folder temp exists, otherwise create it
- Path path = null;
- if (Configuration.config.getAbsolute_path().endsWith("/")) {
- path = Paths.get(Configuration.config.getAbsolute_path() + "temp");
- } else {
- path = Paths.get(Configuration.config.getAbsolute_path() + "/temp");
- }
-
- if (Files.exists(path) == true) {
- log.info(new Date() + " - folder '" + path
- + "' exists, no further action");
- return true;
- } else {
- // create directory and set permissions
- boolean success = (new File(path + "")).mkdirs();
-
- if (!success) {
- log.info(new Date() + " - failed to create folder '" + path
- + "'");
- return false;
- } else {
- // set permissions
- try {
- Runtime.getRuntime().exec("chmod 777 " + path);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- log.info(new Date() + " - folder '" + path
- + "' successfully created");
- return true;
- }
- }
-
- }// end folderTempExists()
-
- public boolean folderProdExists() {
- // check if folder temp exists, otherwise create it
- Path path = null;
- if (Configuration.config.getAbsolute_path().endsWith("/")) {
- path = Paths.get(Configuration.config.getAbsolute_path() + "prod");
- } else {
- path = Paths.get(Configuration.config.getAbsolute_path() + "/prod");
- }
-
- if (Files.exists(path) == true) {
- log.info(new Date() + " - folder '" + path
- + "' exists, no further action");
- return true;
- } else {
- // create directory and set permissions
- boolean success = (new File(path + "")).mkdirs();
-
- if (!success) {
- log.info(new Date() + " - failed to create folder '" + path
- + "'");
- return false;
- } else {
- // set permissions
- try {
- Runtime.getRuntime().exec("chmod 777 " + path);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- log.info(new Date() + " - folder '" + path
- + "' successfully created");
- return true;
- }
- }
-
- }// end folderProdExists()
-
-
-
- public String getEncodedSha1Sum(String key) {
- try {
- MessageDigest md = MessageDigest.getInstance("SHA1");
- md.update(key.getBytes());
- log.info(new Date() + " - successfully returned EncodedSha1Sum");
- return new BigInteger(1, md.digest()).toString(16);
- } catch (NoSuchAlgorithmException e) {
- // handle error case to taste
- }
- return null;
- }
-
- @Override
- public long DeleteFtpUser(String user) throws TException {
- return sql.DeleteUser(user);
- }
-
- @Override
- public String getPathOfImage(String image_id, String version)
- throws TException {
- log.info(new Date() + " - successfully returned PathOfImage: "
- + sql.getPathOfImage(image_id, version));
- return sql.getPathOfImage(image_id, version);
-
- }
-
- @Override
- public boolean writeVLdata(String imagename, String desc ,String login,
- String firstname, String lastname, String university, String Mail,
- String Tel, String Fak, boolean license, boolean internet,
- long ram, long cpu, String imagePath, boolean isTemplate,
- long filesize, long shareMode, String os) throws TException {
-
- String mode=null;
-
- if(shareMode==0)
- {
- mode="only_local";
- }
- else{
- mode="to_be_published";
- }
-
- String pk_institution = sql.setInstitution(university);
-
- String pk_person = sql.setPerson(login, lastname, firstname, Mail,
- new Date(), pk_institution);
-
- //OS impl Select and write
- //ACHTUNG: Anzahl der Leerzeichen muss eingehalten werden: 'Windows 7 32 bit"
- String pk_os=sql.getOSpk(os.substring(0, nthIndexOf(os, " ", 2)),os.substring(nthIndexOf(os," ", 2), os.lastIndexOf(" ")).replace(" ", ""));
-
- sql.setImageData(pk_person, license, internet, cpu, ram, imagename,desc,
- imagePath, isTemplate, filesize,mode,pk_os);
-
- log.info(new Date() + " - written VLdata");
- // TODO Auto-generated method stub
- return true;
- }
-
- @Override
- public List<Image> getImageList() throws TException {
- return sql.getImageList();
-
- }
-
- @Override
- public List<String> getAllOS() throws TException {
- return sql.getAllOS();
-
- }
-
- @Override
- public Map<String, String> getPersonData(String Vorname, String Nachname)
- throws TException {
- return sql.getPersonData(Vorname, Nachname);
-
- }
-
- @Override
- public boolean writeLecturedata(String name, String shortdesc, String desc,
- String startDate, String endDate, boolean isActive,
- String imagename, String login, String firstname, String lastname,
- String university, String Mail, String Tel, String Fak)
- throws TException {
- String pk_image = null;
- Map<String, String> map = new HashMap<String, String>();
- int imageversion = 0;
- String pk_institution = sql.setInstitution(university);
- String pk_person = sql.setPerson(login, lastname, firstname, Mail,
- new Date(), pk_institution);
-
- map = sql.getImageIDandVersion(imagename);
-
- pk_image = map.get("GUID");
- imageversion = Integer.parseInt(map.get("version"));
- sql.setLectureData(pk_person, pk_image, imageversion, name, desc,
- shortdesc, startDate, endDate, isActive);
- XMLCreator xml = new XMLCreator(sql.getConnection(), name);
- try {
- xml.create(name);
- log.info(new Date() + " - XML created.");
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ParserConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (TransformerException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return false;
- }
-
- @Override
- public boolean startFileCopy(String filename) throws TException {
- //copy file from folder temp to folder prod
- String file = Configuration.config.getAbsolute_path() + "temp/"
- + filename;
- File tmpFile = new File(file);
-
- log.info(new Date()
- + " - Trying to move file to '/srv/openslx/nfs/prod/"
- + tmpFile.getName() + "'");
- try {
- FileUtils.moveFile(tmpFile,
- new File(Configuration.config.getAbsolute_path() + "prod/"
- + filename));
- // int ret = sql.UpdateImagePath(filename);
- if (sql.UpdateImagePath(filename) == 0) {
- log.info(new Date() + " - file moved and database updated.");
- }
-
- } catch (IOException e) {
- // TODO Auto-generated catch block
- log.info(new Date() + " - Failed to move file.");
- e.printStackTrace();
- }
- return true;
- }
-
- @Override
- public Map<String, String> getImageData(String imageid, String imageversion)
- throws TException {
- log.info(new Date() + " - returning ImageData: "
- + sql.getImageData(imageid, imageversion).size() + "items.");
- return sql.getImageData(imageid, imageversion);
- }
-
- @Override
- public boolean updateImageData(String name, String newName,String desc,
- String image_path, boolean license, boolean internet, long ram,
- long cpu, String id, String version, boolean isTemplate,
- long filesize, long shareMode, String os) throws TException {
- String mode=null;
-
- if(shareMode==0)
- {
- mode="only_local";
- }
- else{
- mode="to_be_published";
- }
- String pk_os=sql.getOSpk(os.substring(0, nthIndexOf(os, " ", 2)),os.substring(nthIndexOf(os," ", 2), os.lastIndexOf(" ")).replace(" ", ""));
- sql.UpdateImageData(name, newName,desc ,image_path, license, internet, cpu,
- ram, id, version, isTemplate, filesize,mode,pk_os);
- return false;
- }
-
-
-
-
- @Override
- public List<Lecture> getLectureList() throws TException {
-
-
- log.info(new Date().toString() + " - returning LectureList: "
- + sql.getLectureList().size() + " items.");
- return sql.getLectureList();
-
-
- }
-
- @Override
- public boolean updateLecturedata(String name, String newName,
- String shortdesc, String desc, String startDate, String endDate,
- boolean isActive, String imageid,String imageversion,String user ,String firstname,
- String lastname, String university, String Mail, String Tel,
- String Fak, String id) throws TException {
- Map<String, String> map = new HashMap<String, String>();
- map = sql.getDeleteXMLData(id);
- sql.updateLectureData(imageid, imageversion, lastname, newName, desc,
- shortdesc, startDate, endDate, isActive, id);
-
- String path = Configuration.config.getAbsolute_path()
- + "prod/"
- + map.get("date")
- .substring(0, map.get("date").length() - 2) + "_"
- + university + "_" + user + "_" + map.get("name") + ".xml";
- File tmpFile=new File(path);
- try {
- FileUtils.forceDelete(tmpFile);
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- XMLCreator xml = new XMLCreator(sql.getConnection(), newName);
- try {
- xml.create(newName);
- } catch (SQLException | ParserConfigurationException
- | TransformerException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- return false;
- }
-
- @Override
- public boolean deleteImageServer(String imageid, String imageversion)
- throws TException {
-
- String stringFile = sql.getFile(imageid, imageversion);
- log.info(new Date() + " - File to Delete: " + stringFile);
-
- File tmpFile = new File(Configuration.config.getAbsolute_path()
- + stringFile);
-
- try {
- // File wird von Server gel�scht
- FileUtils.forceDelete(tmpFile);
- return true;
-
- } catch (IOException e) {
- log.info(new Date() + " - Failed to execute deleteImageServer.");
- e.printStackTrace();
-
- }
-
- return false;
- }
-
- @Override
- public boolean deleteImageData(String id, String version) throws TException {
-
- return sql.deleteImage(id, version);
- }
-
- @Override
- public boolean connectedToLecture(String id, String version)
- throws TException {
- // TODO Auto-generated method stub
- return sql.connectedToLecture(id, version);
- }
-
- public boolean deleteLecture(String id, String hs, String user) {
- Map<String, String> map = new HashMap<String, String>();
- map = sql.getDeleteXMLData(id);
- try {
-
- String path = Configuration.config.getAbsolute_path()
- + "prod/"
- + map.get("date")
- .substring(0, map.get("date").length() - 2) + "_"
- + hs + "_" + user + "_" + map.get("name") + ".xml";
- File xmlFile = new File(path);
- FileUtils.forceDelete(xmlFile);
- } catch (IOException e) {
- log.info(new Date() + " - Failed to execute deleteLecture");
- e.printStackTrace();
- }
- return sql.deleteLecture(id);
-
- }
-
- @Override
- public List<String> getAllUniversities() throws TException {
- return sql.getAllUniversities();
-
- }
-
- @Override
- public Map<String, String> getLectureData(String lectureid)
- throws TException {
- log.info(new Date() + " - returning LectureData: "
- + sql.getLectureData(lectureid).size() + "items.");
- return sql.getLectureData(lectureid);
- }
-
-
-
-
- public static int nthIndexOf(final String string, final String token,
- final int index)
- {
- int j = 0;
-
- for (int i = 0; i < index; i++)
- {
- j = string.indexOf(token, j + 1);
- if (j == -1) break;
- }
-
- return j;
- }
-
- @Override
- public boolean checkUser(String username) throws TException {
- return sql.checkUser(username);
-
- }
-
- @Override
- public boolean createUser(String loginName, String lastName,
- String firstName, String mail, String university) throws TException {
- String pk_institution = sql.setInstitution(university);
- String pk_person = sql.setPerson(loginName, lastName, firstName, mail,
- new Date(), pk_institution);
- return true;
- }
-
- @Override
- public boolean writeImageRights(String imagename, String username, String lastName, String firstName, String mail, String university, String role)
- throws TException {
- String pk_image = null;
- Map<String, String> map = new HashMap<String, String>();
- int imageversion = 0;
- String pk_institution = sql.setInstitution(university);
- String pk_person = sql.setPerson(username, lastName, firstName, mail,
- new Date(), pk_institution);
- map = sql.getImageIDandVersion(imagename);
- pk_image = map.get("GUID");
- imageversion = Integer.parseInt(map.get("version"));
-
- if(role.equals("Dozent")) {
- int read=1;
- int write=1;
- int changePermission=0;
- int admin=0;
- int linkallowed=1;
- int roleID=sql.getRoleID(role);
-
- sql.setImageRights(pk_person, pk_image, roleID, read, write, changePermission, admin, linkallowed);
-
- }else if(role.equals("Admin")){
- int read=1;
- int write=1;
- int changePermission=1;
- int admin=1;
- int linkallowed=1;
- int roleID=sql.getRoleID(role);
-
- sql.setImageRights(pk_person, pk_image, roleID, read, write, changePermission, admin, linkallowed);
- }
- else{
- int read=1;
- int write=0;
- int changePermission=0;
- int admin=0;
- int linkallowed=0;
- int roleID=sql.getRoleID(role);
-
- sql.setImageRights(pk_person, pk_image, roleID, read, write, changePermission, admin, linkallowed);
- }
-
- return true;
- }
-
- @Override
- public boolean writeLectureRights(String lecturename, String username,
- String lastName, String firstName, String mail, String university,
- String role) throws TException {
- String pk_lecture = null;
-
- String pk_institution = sql.setInstitution(university);
- String pk_person = sql.setPerson(username, lastName, firstName, mail,
- new Date(), pk_institution);
- pk_lecture=sql.getLectureID(lecturename);
-
- if(role.equals("Dozent")) {
- int read=1;
- int write=1;
- int changePermission=0;
- int admin=0;
- int roleID=sql.getRoleID(role);
-
- sql.setLectureRights(pk_person, pk_lecture, roleID, read, write, changePermission, admin);
-
- }else if(role.equals("Admin")){
- int read=1;
- int write=1;
- int changePermission=1;
- int admin=1;
- int roleID=sql.getRoleID(role);
-
- sql.setLectureRights(pk_person, pk_lecture, roleID, read, write, changePermission, admin);
- }
- else{
- int read=0;
- int write=0;
- int changePermission=0;
- int admin=0;
- int roleID=sql.getRoleID(role);
-
- sql.setLectureRights(pk_person, pk_lecture, roleID, read, write, changePermission, admin);
- }
-
- return true;
- }
-
-
-}