Ejemplo n.º 1
0
        public virtual void TestCollectIdsByFieldName()
        {
            ClassMetadataCollectIdsTestCase.Item root = QueryRootItem();
            CollectIdContext context = CollectIdContext.ForID(Trans(), (int)Db().GetID(root));

            context.ClassMetadata().CollectIDs(context, "typedRef");
            AssertCollectedIds(context, new object[] { root.typedRef });
        }
Ejemplo n.º 2
0
        public virtual void TestCollectIds()
        {
            ClassMetadataCollectIdsTestCase.Item root = QueryRootItem();
            CollectIdContext context = CollectIdContext.ForID(Trans(), (int)Db().GetID(root));

            context.ClassMetadata().CollectIDs(context);
            AssertCollectedIds(context, new object[] { root.typedRef, root.untypedRef, root.UntypedElementAt
                                                           (0) });
        }
Ejemplo n.º 3
0
            public object Apply(object current)
            {
                int id = ((int)current);
                CollectIdContext context = CollectIdContext.ForID(this._enclosing.i_trans, id);

                if (context == null)
                {
                    return(Iterators.Skip);
                }
                context.ClassMetadata().CollectIDs(context, fieldName);
                return(new TreeKeyIterator(context.Ids()));
            }
Ejemplo n.º 4
0
        public virtual IEnumerator ReferencesFrom(int id)
        {
            CollectIdContext context       = CollectIdContext.ForID(_transaction, id);
            ClassMetadata    classMetadata = context.ClassMetadata();

            if (null == classMetadata)
            {
                // most probably ClassMetadata reading
                return(Iterators.EmptyIterator);
            }
            if (!classMetadata.HasIdentity())
            {
                throw new InvalidOperationException(classMetadata.ToString());
            }
            if (!Handlers4.IsCascading(classMetadata.TypeHandler()))
            {
                return(Iterators.EmptyIterator);
            }
            classMetadata.CollectIDs(context);
            return(new TreeKeyIterator(context.Ids()));
        }