PrepareDB_user.java
Go to the documentation of this file.
1 package p2pserver;
2 
3 import java.sql.*;
4 
10 public class PrepareDB_user
11 {
12  private static String tab1 = "idip";
13  private static String tab2 = "files";
14 
19  public static String tab1(){
20  return tab1;
21  }
22 
27  public static String tab2(){
28  return tab2;
29  }
30 
42  private static boolean prepare( boolean dispok, boolean disperr,
43  String userp2p, String pswdp2p, String dbp2p
44  )
45  {
46  boolean ret = true;
47 
48  Connection db = p2pserver.Connecttodbms.connect(disperr,dbp2p,userp2p,pswdp2p);
49  pswdp2p = "";
50  if(db == null) return false;
51 
52  Statement s = p2pserver.Connecttodbms.createStat(disperr,db);
53  if(s==null) return false;
54 
55  boolean ok = false;
56  String msg = "";
57 
58  // tab1
59  String query = "create table "+tab1+" ("+
60  "id int not null, "+
61  "ip char(16) not null, "+
62  "username varchar(30) unique not null, "+
63  "password varchar(40), "+
64  "primary key(id)"+
65  ");";
66 
67  ok = p2pserver.Connecttodbms.noRSetQuery(disperr,s,query);
68  if(!ok) ret = false;
69  if(dispok) p2putility.Util.logServer("Create table "+tab1+" ok.");
70 
71  // tab2
72  query = "create table "+tab2+
73  "("+
74  "ckey bigint not null, "+
75  "name varchar(1000) not null, "+
76  "path mediumtext, "+
77  "id int, "+
78  "isdir boolean default false, "+
79  "size bigint default 0, "+
80  "cdate datetime, "+
81  "rights int default 0, "+
82  "state int default 0, "+
83  "idate timestamp default current_timestamp on update current_timestamp, "+
84  "primary key(ckey,id), "+
85  "CONSTRAINT FOREIGN KEY (id) REFERENCES "+tab1+"(id) ON DELETE CASCADE ON UPDATE CASCADE "+
86  ");";
87 
88  ok = p2pserver.Connecttodbms.noRSetQuery(disperr,s,query);
89  if(!ok) ret = false;
90  if(dispok) p2putility.Util.logServer("Create table "+tab2+" ok.");
91 
92 
95 
96  return ret;
97 
98  }
99 
111  public PrepareDB_user( boolean dispthis, boolean dispallok, boolean dispallerr,
112  String userp2p, String pswdp2p, String dbp2p
113  )
114  {
115  super();
116  @SuppressWarnings("static-access")
117  boolean ok = this.prepare(dispallok,dispallerr,userp2p,pswdp2p,dbp2p);
118  pswdp2p = "";
119 
120  if(dispthis)
121  if(ok) p2putility.Util.logServer("SETTING Tables OK!");
122  else p2putility.Util.logServer("SETTING Tables ERROR!");
123  }
124 }
static String tab2()
Restituisce il nome della tabella dei file.
Classe che implementa metodi vari di utilita' generale.
Definition: Util.java:14
Classe che permette la preparazione delle tabelle accessibili dall'utente specificato in configurazio...
static boolean noRSetQuery(boolean speak, Statement s, String query)
Esegue una query sullo Statement specificato.
static String tab1()
Restituisce il nome della tabella degli utenti.
Classe che mette a disposizione funzioni per interfacciarsi al DBMS in modo rapido ed eventualmente s...
static boolean closeStat(boolean speak, Statement s)
Chiude lo Statement specificato.
static Connection connect(boolean speak, String dbms, String user, String pswd)
Restituisce una connessione (Connection) al DB selezionato.
static boolean prepare(boolean dispok, boolean disperr, String userp2p, String pswdp2p, String dbp2p)
Crea le tabelle identificate da tab1 e tab2 secondo le specifiche adottate dal programmatore e compat...
static Statement createStat(boolean speak, Connection db)
Crea uno Statement con la connessione specificata.
static void logServer(String data)
Scrive i dati in input sul file di log del Server (se questo esiste valido)
Definition: Util.java:110
static boolean disconnect(boolean speak, Connection db)
Disconnette la connessione specificata.
PrepareDB_user(boolean dispthis, boolean dispallok, boolean dispallerr, String userp2p, String pswdp2p, String dbp2p)
Costruttore.