1 package com.daffodilwoods.daffodildb.server.serversystem.datatriggersystem; 2 3 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*; 4 import com.daffodilwoods.daffodildb.server.serversystem.dmlvalidation.constraintsystem.*; 5 import com.daffodilwoods.daffodildb.server.serversystem.dmlvalidation.triggersystem.*; 6 import com.daffodilwoods.daffodildb.utils.comparator.*; 7 import com.daffodilwoods.database.general.*; 8 import com.daffodilwoods.database.resource.*; 9 import java.util.ArrayList ; 10 public class DataTriggerSystem implements _DataTriggerSystem{ 11 private _ConstraintSystem constraintSystemImm; 12 private _ConstraintSystem constraintSystemDeff; 13 private _TriggerSystem triggerSystem; 14 private _DataDictionarySystem dataDictionarySystem; 15 private WeakOrderedKeyList dataTriggerDatabaseList = new WeakOrderedKeyList( new CTusjohDbtfJoTfotjujwfDpnqbsbups() ); 16 17 public DataTriggerSystem( _ConstraintSystem constraintSystemImmediate, _ConstraintSystem constraintSystemDeffered , _TriggerSystem triggerSystem, _DataDictionarySystem dataDictionarySystem ) throws DException { 18 constraintSystemDeff = constraintSystemDeffered; 19 constraintSystemImm = constraintSystemImmediate; 20 this.triggerSystem = triggerSystem; 21 this.dataDictionarySystem = dataDictionarySystem; 22 } 23 24 public synchronized _DataTriggerDatabase getDataTrigerDatabase( String databaseURL ) throws DException { 25 _DataTriggerDatabase dataTriggerDatabase = (_DataTriggerDatabase)dataTriggerDatabaseList.get(databaseURL); 26 if( dataTriggerDatabase != null ) 27 return dataTriggerDatabase; 28 _ConstraintDatabase constraintDatabaseImm = constraintSystemImm.getConstraintDatabase( databaseURL ); 29 _ConstraintDatabase constraintDatabaseDeff = constraintSystemDeff.getConstraintDatabase(databaseURL); 30 _TriggerDatabase triggerDatabase = triggerSystem.getTriggerDatabase(databaseURL); 31 _DataDictionary dataDictionary = dataDictionarySystem.getDataDictionary(databaseURL); 32 dataTriggerDatabase = new DataTriggerDatabase(constraintDatabaseImm,constraintDatabaseDeff , triggerDatabase, dataDictionary,databaseURL ); 33 dataTriggerDatabaseList.put( databaseURL, dataTriggerDatabase ); 34 35 return dataTriggerDatabase; 36 } 37 38 public void deleteDatabase(String databaseURL) throws DException{ 39 dataTriggerDatabaseList.remove(databaseURL); 40 triggerSystem.deleteDatabase(databaseURL); 41 } 42 43 } 44 | Popular Tags |