package server; import java.math.BigInteger; import java.rmi.*; import java.rmi.registry.LocateRegistry; import java.rmi.server.UnicastRemoteObject; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.UUID; import Models.*; import sql.SQL; @SuppressWarnings("serial") public class ServerMethod extends UnicastRemoteObject implements ServerInterface { protected static String m_strName; public ServerMethod() throws RemoteException { super(); // call base class constructor } public static void main(String argv[]) { try { LocateRegistry.createRegistry(9999); m_strName = "TheRMIExample"; System.out.println("Server: Registering RMIExampleImpl as \"" + m_strName +"\""); //System.setSecurityManager(new RMISecurityManager()); ServerMethod Example = new ServerMethod(); Naming.rebind("rmi://141.79.128.121:9999/"+m_strName, Example); System.out.println("Server: Ready..."); } catch (Exception e) { System.out.println("Server: Failed to register RMIExampleImpl: " + e); } } @Override public User getFtpUser() throws RemoteException { User user=new User(); user.setUsername(UUID.randomUUID().toString().substring(0, 8)); user.setPass(getEncodedSha1Sum(UUID.randomUUID().toString().substring(0, 8))); user.setPath("/srv/openslx/nfs/temp"); SQL sql=new SQL(); Connection con=sql.getConnection(); sql.writeFTPUser(con, user.getUsername(), user.getPass()); return user; } @Override public int DeleteFtpUser(String user) throws RemoteException { SQL sql=new SQL(); Connection con=sql.getConnection(); int ret = sql.DeleteUser(con, user); return ret; } public String getEncodedSha1Sum(String key) { try { MessageDigest md = MessageDigest.getInstance( "SHA1" ); md.update( key.getBytes() ); return new BigInteger(1, md.digest()).toString(16); } catch (NoSuchAlgorithmException e) { // handle error case to taste } return null; } public ArrayList getImages(){ SQL sql=new SQL(); Connection con=sql.getConnection(); ResultSet rs= sql.getImage(con); ArrayList al=new ArrayList(); try { while(rs.next()) { al.add(rs.getString(1)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return al; } public String getPathOfImage(String name){ String path = null; SQL sql=new SQL(); Connection con=sql.getConnection(); ResultSet rs= sql.getPathOfImage(con, name); try { while(rs.next()) { path=rs.getString(1); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return path; } }