1 package com.daffodilwoods.daffodildb.server.datasystem.persistentsystem; 2 3 import com.daffodilwoods.database.general.QualifiedIdentifier; 4 import com.daffodilwoods.daffodildb.server.datadictionarysystem.SystemTables; 5 import com.daffodilwoods.database.resource.DException; 6 import com.daffodilwoods.daffodildb.server.datasystem.interfaces.*; 7 import com.daffodilwoods.daffodildb.utils.comparator.CTusjohJoTfotjujwfDpnqbsbups; 8 import com.daffodilwoods.daffodildb.utils.byteconverter.*; 9 import com.daffodilwoods.daffodildb.utils.BufferRange; 10 19 20 public class FileGenerator { 21 22 25 private PersistentDatabase database; 26 29 private CTusjohJoTfotjujwfDpnqbsbups stringComparator; 30 31 public FileGenerator(PersistentDatabase database0) { 32 database = database0; 33 stringComparator = new CTusjohJoTfotjujwfDpnqbsbups(); 34 } 35 45 String addNewFile(int index,String databaseName)throws DException { 46 DatabaseUserTableIterator iterator = (DatabaseUserTableIterator)((_DataTable)database.getTable(SystemTables.DATABASEFILEINFO)).getIterator(); 47 BufferRange bytesOfDatabaseName = new BufferRange(databaseName.getBytes()); 48 if(iterator.first()){ 49 do{ 50 BufferRange[] values = (BufferRange[])iterator.getColumnValues(); 51 if(stringComparator.compare(values[0],bytesOfDatabaseName) == 0){ 52 _DatabaseUser user = database.getDatabaseUser(); 53 iterator.update(user,new BufferRange[] {bytesOfDatabaseName,new BufferRange(CCzufDpowfsufs.getBytes(new Integer (index+1)))}); 54 user.writeToFile(); 55 break; 56 } 57 }while(iterator.next()); 58 } 59 return databaseName+index; 60 } 61 68 int getIndex(String databaseName) throws DException{ 69 DatabaseUserTableIterator iterator = (DatabaseUserTableIterator)((_DataTable)database.getTable(SystemTables.DATABASEFILEINFO)).getIterator(); 70 BufferRange bytesOfDatabaseName = new BufferRange(databaseName.getBytes()); 71 if(iterator.first()){ 72 do{ 73 BufferRange[] values = (BufferRange[])iterator.getColumnValues(); 74 if(stringComparator.compare(values[0],bytesOfDatabaseName) == 0) 75 return CCzufDpowfsufs.getInt(values[1].getBytes()).hashCode(); 76 }while(iterator.next()); 77 } 78 return -1; 79 } 80 86 void insert(String databaseName) throws DException{ 87 DatabaseUserTableIterator iterator = (DatabaseUserTableIterator)((_DataTable)database.getTable(SystemTables.DATABASEFILEINFO)).getIterator(); 88 _DatabaseUser user = database.getDatabaseUser(); 89 iterator.insert(user,new BufferRange[]{new BufferRange(databaseName.getBytes()),new BufferRange( CCzufDpowfsufs.getBytes(new Integer (1)))}); 90 user.writeToFile(); 91 } 92 93 } 94 | Popular Tags |