private ClassInfo GetClassInfo(string fullClassName
                                       )
        {
            if (ODBType.GetFromName(fullClassName).IsNative())
            {
                return(null);
            }
            ISession  session   = storageEngine.GetSession(true);
            MetaModel metaModel = session.GetMetaModel();

            if (metaModel.ExistClass(fullClassName))
            {
                return(metaModel.GetClassInfo(fullClassName, true));
            }
            ClassInfo     ci     = null;
            ClassInfoList ciList = null;

            ciList = classIntrospector.Introspect(fullClassName, true);
            // to enable junit tests
            if (storageEngine != null)
            {
                storageEngine.AddClasses(ciList);
                // For client Server : reset meta model
                if (!storageEngine.IsLocal())
                {
                    metaModel = session.GetMetaModel();
                }
            }
            else
            {
                metaModel.AddClasses(ciList);
            }
            ci = metaModel.GetClassInfo(fullClassName, true);
            return(ci);
        }
Ejemplo n.º 2
0
 public virtual NeoDatis.Odb.ClassRepresentation GetClassRepresentation(string fullClassName
                                                                        )
 {
     NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfo classInfo = storageEngine.GetSession
                                                                    (true).GetMetaModel().GetClassInfo(fullClassName, false);
     if (classInfo == null)
     {
         NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfoList ciList = classIntrospector.Introspect
                                                                         (fullClassName, true);
         storageEngine.AddClasses(ciList);
         classInfo = ciList.GetMainClassInfo();
     }
     return(new NeoDatis.Odb.Impl.Main.DefaultClassRepresentation(storageEngine, classInfo
                                                                  ));
 }