clientRMI.java
Go to the documentation of this file.
1 package p2pclient;
2 
3 import java.rmi.*;
4 import java.util.ArrayList;
5 
13 public class clientRMI {
14 
15  public static int id_user;
16  public static String id_owner;
17  public static ArrayList list;
18  public static String name_file;
19  public static String path_file;
20  public static String where = "";
21  public static String accessString = "-1";
22  public static String id_file;
23 
24  public static int deleted;
25  public static boolean ison = false;
26  public static boolean alive = false;
27 
34  public static void main(String[] args) {
35 
36  //args[]
37  // 0 = server ip (127.0.0.1)
38  // 1 = username
39  // 2 = password
40  // 3 = SELEZIONA FUNZIONE (registerToServer)
41 
42  if(args.length<4) return;
43 
44  String server= "rmi://"+args[0]+"/ServerRMI";
45 
46  p2putility.Util.logClient("Using " + server);
47 
48  try {
49  RMIFuncConstructor obj = (RMIFuncConstructor)Naming.lookup(server);
50 
51  if(args[3].toLowerCase().contentEquals("registerToServer".toLowerCase())){
52  int conn =obj.registerToServer(args[1], args[2]);
53  p2putility.Util.logClient("Client registrato = "+conn);
54  id_user = conn;
55  if(conn!=-1){
56  p2pgui.ClientFrame.jLabel4.setText("Active connection with server "+server);
57  }
58  else{
59  p2pgui.ClientFrame.jLabel4.setText("No Active connection with server "+server);
60  return;
61  }
62 
63  }
64 
65  else
66  if(args[3].toLowerCase().contentEquals("sendList".toLowerCase())){
67  boolean sent = obj.sendList(args[1], args[2], list);
68 
69  }
70  else
71  if(args[3].toLowerCase().contentEquals("removeFile".toLowerCase())){
72  boolean removed = obj.removeFile(args[1], args[2], name_file, path_file, 0);
73  if(!removed){
74  deleted = 0;
75  p2putility.Util.logClient("File "+name_file+" non e' stato rimosso");
76  }
77  else{
78  deleted = 1;
79  p2putility.Util.logClient("File "+name_file+" e' stato rimosso");
80  }
81  }
82  else
83  if(args[3].toLowerCase().contentEquals("getList".toLowerCase())){
84  list = obj.getList(args[1], args[2], where);
85 
86  }
87  else
88  if(args[3].toLowerCase().contentEquals("getAccessStringRead".toLowerCase())){
89  accessString = obj.getAccessStringRead(args[1], args[2], id_owner, id_file);
90 
91  }
92  else
93  if(args[3].toLowerCase().contentEquals("getAccessStringDelete".toLowerCase())){
94  accessString = obj.getAccessStringDelete(args[1], args[2], id_owner, id_file);
95 
96  }
97  else
98  if(args[3].toLowerCase().contentEquals("getAccessStringUpload".toLowerCase())){
99  accessString = obj.getAccessStringUpload(args[1], args[2], id_owner, id_file);
100 
101  }
102  else
103  if(args[3].toLowerCase().contentEquals("getUserList".toLowerCase())){
104  list = obj.getUserList(args[1], args[2], where);
105  }
106  else
107  if(args[3].toLowerCase().contentEquals("serverOn".toLowerCase())){
108  ison = obj.serverOn();
109  }
110  else
111  if(args[3].toLowerCase().contentEquals("clientAlive".toLowerCase())){
112  alive = obj.clientAlive(args[1], args[2]);
113  }
114  else
115  if(args[3].toLowerCase().contentEquals("disconnectClient".toLowerCase())){
116  obj.disconnectClient(args[1], args[2]);
117  }
118  }
119  catch (Exception e)
120  {
121  p2putility.Util.logClient("Client exception: "+ e);
122  }
123 
124  }
125 
126 }
static javax.swing.JLabel jLabel4
static ArrayList list
Definition: clientRMI.java:17
Classe che implementa metodi vari di utilita&#39; generale.
Definition: Util.java:14
void disconnectClient(String usr, String pswd)
Interfaccia del metodo che disconnette un client dal server cancellandolo dal DBMS.
Classe che implementa il servizio Client.
static String where
Definition: clientRMI.java:20
static int deleted
Definition: clientRMI.java:24
int registerToServer(String user, String pswd)
Interfaccia del metodo che inserisce un utente autorizzato (si veda p2putility.Util.login) nella lista utenti del DBMS del server.
String getAccessStringUpload(String usr, String pswd, String id_client2, String id_file)
Interfaccia del metodo che costruisce la stringa di autenticazione che permette ad un client registra...
ArrayList getUserList(String usr, String pswd, String where)
Interfaccia del metodo che restituisce la lista degli utenti presenti sul DBMS del server...
Classe che implementa il client RMI che si interfaccia a ServerRMI, richiamando le funzione dell&#39;inte...
Definition: clientRMI.java:13
static String accessString
Definition: clientRMI.java:21
String getAccessStringDelete(String usr, String pswd, String owner_file, String id_file)
Interfaccia del metodo che costruisce la stringa di autenticazione che permette ad un client registra...
static boolean ison
Definition: clientRMI.java:25
static int id_user
Definition: clientRMI.java:15
ArrayList getList(String usr, String pswd, String where)
Interfaccia del metodo che restituisce la lista dei file presenti sul DBMS del server, in base alla clausola WHERE specificabile in input.
static boolean alive
Definition: clientRMI.java:26
static String name_file
Definition: clientRMI.java:18
boolean removeFile(String usr, String pswd, String name, String Path, int State)
Interfaccia del metodo che cancella i file presenti sul DBMS del server, in base alla clausola WHERE ...
boolean sendList(String usr, String pswd, ArrayList list)
Interfaccia del metodo che invia una lista di file al DBMS del server.
boolean clientAlive(String usr, String pswd)
Interfaccia che verifica se il client e&#39; connesso al server, cioe&#39; se e&#39; presente nel DBMS...
static void main(String[] args)
Metodo main che a seconda del nome della funzione inserita, richiama la corrispettiva su serverRMI...
Definition: clientRMI.java:34
boolean serverOn()
Interfaccia della funzione che ritorna true se il server e&#39; attivo.
static String id_file
Definition: clientRMI.java:22
static String id_owner
Definition: clientRMI.java:16
String getAccessStringRead(String usr, String pswd, String owner_file, String id_file)
Interfaccia del metodo che costruisce la stringa di autenticazione che permette ad un client registra...
static String path_file
Definition: clientRMI.java:19
static void logClient(String data)
Scrive i dati in input sul file di log del Client (se questo esiste valido)
Definition: Util.java:121