| 1 package com.daffodilwoods.daffodildb.server.datasystem.persistentsystem; 2 3 import java.io.*; 4 5 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.versioninfo.*; 6 import com.daffodilwoods.database.resource.*; 7 8 public class PowerFileFactory extends PowerFileFactoryUpto3_2{ 9 10 public PowerFileFactory(String databaseUrl1){ 11 super(databaseUrl1); 12 } 13 22 public synchronized RandomAccessFile getFile(int clusterSize,boolean isReadOnlyMode)throws DException{ 23 if(freePowerfileList.size() > 0){ 24 RandomAccessFile raf = (RandomAccessFile)freePowerfileList.remove(freePowerfileList.size()-1); 25 return raf; 26 } 27 try{ 28 File ff = new File(databaseURL); 29 File ff1 = ff.getParentFile(); 30 ff = new File(ff1,"_" + name +"_PowerFile.log"); 31 RandomAccessFile powerFile = null; 32 powerFile = new RandomAccessFile(ff, "rw"); 33 powerFile.seek(0); 34 powerFile.writeByte(1) ; 35 powerFile.setLength(clusterSize * 5 + 1024); 36 list.add(powerFile); 37 name++; 38 return powerFile; 39 }catch(Exception fnfe) { 40 fnfe.printStackTrace(); 41 throw new DException("DSE2025",new Object [] {fnfe.getMessage()}); 42 } 43 } 44 45 46 } 47 | Popular Tags |