# File vapor/persistencemgr.rb, line 43 def initialize( properties ) raise TypeError, "property object does not respond to []" unless properties.respond_to? "[]" # determine backend class to use if !properties['Vapor.Datastore.BackendClass'].nil? then backend_class = properties['Vapor.Datastore.BackendClass'] else backend_class = TupleManager end # retrieve properties ds_user = properties[ 'Vapor.Datastore.Username'] ds_pass = properties[ 'Vapor.Datastore.Password' ] ds_name = properties[ 'Vapor.Datastore.Name' ] ds_host = properties[ 'Vapor.Datastore.Host' ] ds_port = properties[ 'Vapor.Datastore.Port' ] if properties[ 'Vapor.Autocommit' ].nil? then @autocommit = true else if properties[ 'Vapor.Autocommit' ] then @autocommit = true else @autocommit = false end end # initialize backend @backend = backend_class.new( ds_name, ds_user, ds_pass, ds_host, ds_port ) # initialize other instance variables @object_cache = Hash.new Persistable.persistence_manager = self @oid_gen = OIDGenerator.new @oid_gen.high_source = @backend @query_parser = QueryParser.new @transaction = Transaction.new( self, @backend ) @autocommit_in_progress = false end