Ejemplo n.º 1
0
 public virtual void CreateEntryClass(PersistenceContext context, string className
     , string[] fieldNames, string[] fieldTypes)
 {
     LogMethodCall("createEntryClass", context, className);
     var repository = Repository(context);
     repository.DefineClass(className, fieldNames, fieldTypes);
     UpdateMetadata(context, repository);
 }
		private void MarkIndexedField(PersistenceContext context, string className, string
			 fieldName, bool indexed)
		{
			CustomField field = CustomClass(context, className).CustomField(fieldName);
			field.Indexed(indexed);
			UpdateMetadata(context, field);
			Restart(context);
		}
Ejemplo n.º 3
0
 // TODO Auto-generated method stub
 public virtual void InitContext(PersistenceContext context)
 {
     LogMethodCall("initContext", context);
     var metadata = OpenMetadata(context.Url());
     try
     {
         var repository = InitializeClassRepository(metadata);
         var reflector = new CustomReflector(repository);
         var data = OpenData(reflector, context.Url());
         context.SetProviderContext(new MyContext(repository, metadata
             , data));
     }
     catch (Exception e)
     {
         Runtime.PrintStackTrace(e);
         // make sure metadata container is not left open
         // in case something goes wrong with the setup
         CloseIgnoringExceptions(metadata);
         // cant use exception chaining here because the
         // test must run in jdk 1.1
         throw new Db4oException(e);
     }
 }
Ejemplo n.º 4
0
 private CustomClass CustomClass(PersistenceContext context, string className)
 {
     return(Repository(context).ForName(className));
 }
Ejemplo n.º 5
0
 public virtual int Delete(PersistenceContext context, string className, object uid
     )
 {
     // TODO Auto-generated method stub
     return 0;
 }
Ejemplo n.º 6
0
 public virtual void CreateIndex(PersistenceContext context, string className, string
     fieldName)
 {
     MarkIndexedField(context, className, fieldName, true);
 }
Ejemplo n.º 7
0
 private void UpdateMetadata(PersistenceContext context, object metadata)
 {
     Store(MetadataContainer(context), metadata);
 }
Ejemplo n.º 8
0
 private IQuery NewQuery(PersistenceContext context, string className)
 {
     var query = DataContainer(context).Query();
     AddClassConstraint(context, query, className);
     return query;
 }
Ejemplo n.º 9
0
 private IObjectContainer MetadataContainer(PersistenceContext context)
 {
     return My(context).metadata;
 }
		public virtual void TearDown()
		{
			ShutdownProvider(true);
			_context = null;
		}
		private void InitializeContext()
		{
			_context = new PersistenceContext(DataFile());
		}
		private Db4oPersistenceProvider.MyContext My(PersistenceContext context)
		{
			return ((Db4oPersistenceProvider.MyContext)context.GetProviderContext());
		}
Ejemplo n.º 13
0
 private IObjectContainer MetadataContainer(PersistenceContext context)
 {
     return(My(context).metadata);
 }
Ejemplo n.º 14
0
 public virtual IObjectContainer DataContainer(PersistenceContext context)
 {
     return(My(context).data);
 }
Ejemplo n.º 15
0
 private Db4oPersistenceProvider.MyContext My(PersistenceContext context)
 {
     return((Db4oPersistenceProvider.MyContext)context.GetProviderContext());
 }
Ejemplo n.º 16
0
 private MyContext My(PersistenceContext context)
 {
     return ((MyContext) context.GetProviderContext());
 }
Ejemplo n.º 17
0
 public virtual IObjectContainer DataContainer(PersistenceContext context)
 {
     return My(context).data;
 }
Ejemplo n.º 18
0
 public virtual IEnumerator Select(PersistenceContext context, PersistentEntryTemplate
     template)
 {
     LogMethodCall("select", context, template);
     var query = QueryFromTemplate(context, template);
     return new ObjectSetIterator(query.Execute());
 }
Ejemplo n.º 19
0
 private IQuery QueryFromTemplate(PersistenceContext context, PersistentEntryTemplate
     template)
 {
     var query = NewQuery(context, template.className);
     AddFieldConstraints(query, template);
     return query;
 }
Ejemplo n.º 20
0
 public virtual void Update(PersistenceContext context, PersistentEntry entry)
 {
     var existing = SelectByUid(context, entry.className, entry.uid);
     existing.fieldValues = entry.fieldValues;
     DataContainer(context).Store(existing);
 }
Ejemplo n.º 21
0
 private CustomClassRepository Repository(PersistenceContext context)
 {
     return My(context).repository;
 }
Ejemplo n.º 22
0
 public virtual void CloseContext(PersistenceContext context)
 {
     LogMethodCall("closeContext", context);
     var customContext = My(context);
     if (null != customContext)
     {
         CloseIgnoringExceptions(customContext.metadata);
         CloseIgnoringExceptions(customContext.data);
         context.SetProviderContext(null);
     }
 }
Ejemplo n.º 23
0
 private void Restart(PersistenceContext context)
 {
     CloseContext(context);
     InitContext(context);
 }
Ejemplo n.º 24
0
 private PersistentEntry SelectByUid(PersistenceContext context, string className,
     object uid)
 {
     var query = NewQuery(context, className);
     query.Descend("uid").Constrain(uid);
     return (PersistentEntry) query.Execute().Next();
 }
Ejemplo n.º 25
0
 public virtual void DropIndex(PersistenceContext context, string className, string
     fieldName)
 {
     MarkIndexedField(context, className, fieldName, false);
 }
Ejemplo n.º 26
0
 private void AddClassConstraint(PersistenceContext context, IQuery query, string
     className)
 {
     query.Constrain(CustomClass(context, className));
 }
Ejemplo n.º 27
0
 public virtual void DropEntryClass(PersistenceContext context, string className)
 {
 }
Ejemplo n.º 28
0
 private CustomClass CustomClass(PersistenceContext context, string className)
 {
     return Repository(context).ForName(className);
 }
Ejemplo n.º 29
0
 public virtual void Insert(PersistenceContext context, PersistentEntry entry)
 {
     LogMethodCall("insert", context, entry);
     // clone the entry because clients are allowed to reuse
     // entry objects
     DataContainer(context).Store(Clone(entry));
 }
Ejemplo n.º 30
0
 private void AddClassConstraint(PersistenceContext context, IQuery query, string
                                 className)
 {
     query.Constrain(CustomClass(context, className));
 }