1 package com.daffodilwoods.daffodildb.server.serversystem; 2 3 import java.util.*; 4 5 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*; 6 import com.daffodilwoods.daffodildb.server.datadictionarysystem.information.*; 7 import com.daffodilwoods.database.resource.*; 8 import com.daffodilwoods.database.utility.*; 9 public class User implements _User { 10 11 String userName; 12 String password; 13 _ServerSystem serverSystem; 14 private TreeSet databases; 15 private TreeMap databaseInformationMap; 16 17 public User(String userName,_ServerSystem serverSystem,String password) { 18 this.userName = userName; 19 this.serverSystem = serverSystem; 20 this.password = password; 21 databaseInformationMap = new TreeMap(String.CASE_INSENSITIVE_ORDER); 22 } 23 24 public String getUserName() { 25 return userName; 26 } 27 28 33 34 public ArrayList getAllDatabases() throws DException { 35 if(databases == null){ 36 databases = new TreeSet(String.CASE_INSENSITIVE_ORDER); 37 ArrayList listOfDatabases = serverSystem.getAllDatabases(userName) ; 38 if(listOfDatabases != null) 39 databases.addAll(listOfDatabases ); 40 } 41 return new ArrayList(databases); 42 } 43 44 public _Connection getConnection(String databaseName,Properties prop) throws DException{ 45 prop.setProperty(_Server.USER,userName); 46 prop.setProperty(_Server.PASSWORD,password); 47 _Connection con = serverSystem.getConnection(databaseName,prop); 48 return con; 49 } 50 51 56 public _DatabaseInformation getDatabaseInformation(String databaseName) throws DException { 57 if(databaseInformationMap.containsKey(databaseName)) 58 return (_DatabaseInformation)databaseInformationMap.get(databaseName); 59 getAllDatabases(); 60 if(!databases.contains(databaseName)) 61 return null; 62 try{ 63 _DataDictionary dic = serverSystem.getDataDictionary(databaseName); 64 DatabaseInformation databaseInformation = new DatabaseInformation(this,databaseName,dic); 65 databaseInformationMap.put(databaseName,databaseInformation); 66 return databaseInformation; 67 }catch(Exception ex){ 68 P.pln(" problem in getting the database information ........ so returning null"); 69 return null; 70 } 71 } 72 73 public ArrayList getAllSessions(String databaseName) throws DException { 74 return serverSystem.getAllSessions(databaseName); 75 } 76 77 public void createDatabase(String databaseName, Properties properties) throws DException{ 78 serverSystem.createDatabase(databaseName,properties); 79 } 80 81 public void dropDatabase( String url ) throws DException { 82 _DatabaseInformation dbinf = (_DatabaseInformation)databaseInformationMap.remove(url); 83 if(dbinf != null){ 84 dbinf.close(); 85 } 86 serverSystem.dropDatabase(url, userName,password,url); 87 } 88 89 public void refersh(){ 90 databases = null; 91 try { 92 Set set = databaseInformationMap.entrySet(); 93 Iterator iter = set.iterator(); 94 int i=1; 95 while (iter.hasNext()) { 96 ( (_DatabaseInformation) ( (Map.Entry) iter.next()).getValue()).close(); 97 } 98 } catch (DException ex) { 99 } 100 databaseInformationMap = new TreeMap(String.CASE_INSENSITIVE_ORDER); 101 } 102 103 public void setUserName(String userName0){ 104 userName = userName0; 105 } 106 107 public void setPassword(String passWord0){ 108 password = passWord0; 109 } 110 } 111 | Popular Tags |