Exemple #1
0
 public TResult GetAllVertexTypes <TResult>(sones.Library.Commons.Security.SecurityToken mySecurityToken, Int64 myTransactionToken, RequestGetAllVertexTypes myRequestGetAllVertexTypes, Converter.GetAllVertexTypesResultConverter <TResult> myOutputconverter)
 {
     return(_iGraphDB.GetAllVertexTypes <TResult>(mySecurityToken,
                                                  myTransactionToken,
                                                  myRequestGetAllVertexTypes,
                                                  myOutputconverter));
 }
Exemple #2
0
        private IEnumerable <IVertexType> GetVertexTypes(IGraphDB myGraphDB,
                                                         SecurityToken mySecurityToken,
                                                         Int64 myTransactionToken,
                                                         IEnumerable <String> myTypes)
        {
            #region GetTypeToDump

            IEnumerable <IVertexType> typesToDump = new List <IVertexType>();

            if (myTypes.IsNullOrEmpty())
            {
                typesToDump = myGraphDB.GetAllVertexTypes(mySecurityToken,
                                                          myTransactionToken,
                                                          new RequestGetAllVertexTypes(),
                                                          (stats, vertexTypes) => vertexTypes)
                              .Where(_ => _.IsUserDefined);
            }
            else
            {
                var typesToDumpHash = new HashSet <IVertexType>();

                foreach (var stringType in myTypes)
                {
                    var type = myGraphDB.GetVertexType(mySecurityToken,
                                                       myTransactionToken,
                                                       new RequestGetVertexType(stringType),
                                                       (stats, vertexType) => vertexType);

                    if (type == null)
                    {
                        throw new TypeDoesNotExistException(stringType, "");
                    }

                    //typesToDumpHash.UnionWith(myDBContext.DBTypeManager.GetAllParentTypes(type, true, false));
                    AddVertexTypeAndAttributesRecursivly(myGraphDB,
                                                         mySecurityToken,
                                                         myTransactionToken,
                                                         type,
                                                         ref typesToDumpHash);
                }

                typesToDump = typesToDumpHash.ToList();
            }

            #endregion

            return(typesToDump);
        }
        /// <summary>
        /// <seealso cref=" ADescribeDefinition"/>
        /// </summary>
        public override IEnumerable <IVertexView> GetResult(GQLPluginManager myPluginManager,
                                                            IGraphDB myGraphDB,
                                                            SecurityToken mySecurityToken,
                                                            Int64 myTransactionToken)
        {
            var resultingVertices = new List <IVertexView>();

            if (!String.IsNullOrEmpty(_TypeName))
            {
                #region Specific type

                var request = new RequestGetVertexType(_TypeName);
                var type    = myGraphDB.GetVertexType <IVertexType>(mySecurityToken, myTransactionToken, request, (stats, vertexType) => vertexType);

                if (type != null)
                {
                    resultingVertices = new List <IVertexView>()
                    {
                        (GenerateOutput(type, 1))
                    };
                }
                else
                {
                    throw new VertexTypeDoesNotExistException(_TypeName, "");
                }

                #endregion
            }
            else
            {
                #region All types

                foreach (var type in myGraphDB.GetAllVertexTypes <IEnumerable <IVertexType> >(mySecurityToken,
                                                                                              myTransactionToken,
                                                                                              new RequestGetAllVertexTypes(),
                                                                                              (stats, vertexTypes) => vertexTypes))
                {
                    resultingVertices.Add(GenerateOutput(type));
                }

                #endregion
            }

            return(resultingVertices);
        }
        /// <summary>
        /// <seealso cref=" ADescribeDefinition"/>
        /// </summary>
        public override QueryResult GetResult(GQLPluginManager myPluginManager,
            IGraphDB myGraphDB,
            SecurityToken mySecurityToken,
            TransactionToken myTransactionToken)
        {
            var resultingVertices = new List<IVertexView>();
            ASonesException error = null;

            if (!String.IsNullOrEmpty(_TypeName))
            {

                #region Specific type

                var request = new RequestGetVertexType(_TypeName);
                var type = myGraphDB.GetVertexType<IVertexType>(mySecurityToken, myTransactionToken, request, (stats, vertexType) => vertexType);

                if (type != null)
                {
                    resultingVertices = new List<IVertexView>() { (GenerateOutput(type, 1)) };
                }
                else
                {
                    error = new VertexTypeDoesNotExistException(_TypeName, "");
                }

                #endregion

            }
            else
            {

                #region All types

                foreach (var type in myGraphDB.GetAllVertexTypes<IEnumerable<IVertexType>>(mySecurityToken,
                                                                                            myTransactionToken,
                                                                                            new RequestGetAllVertexTypes(),
                                                                                            (stats, vertexTypes) => vertexTypes))
                {
                    resultingVertices.Add(GenerateOutput(type));
                }

                #endregion
            }

            if (error != null)
                return new QueryResult("", SonesGQLConstants.GQL, 0L, ResultType.Failed, resultingVertices, error);
            else
                return new QueryResult("", SonesGQLConstants.GQL, 0L, ResultType.Successful, resultingVertices);
        }
        /// <summary>
        /// <seealso cref=" ADescribeDefinition"/>
        /// </summary>
        public override IEnumerable<IVertexView> GetResult(GQLPluginManager myPluginManager,
                                                IGraphDB myGraphDB,
                                                SecurityToken mySecurityToken,
                                                Int64 myTransactionToken)
        {
            var resultingVertices = new List<IVertexView>();

            if (!String.IsNullOrEmpty(_TypeName))
            {

                #region Specific type

                var request = new RequestGetVertexType(_TypeName);
                var type = myGraphDB.GetVertexType<IVertexType>(mySecurityToken, myTransactionToken, request, (stats, vertexType) => vertexType);

                if (type != null)
                {
                    resultingVertices = new List<IVertexView>() { (GenerateOutput(type, 1)) };
                }
                else
                {
                    throw new VertexTypeDoesNotExistException(_TypeName, "");
                }

                #endregion

            }
            else
            {

                #region All types

                foreach (var type in myGraphDB.GetAllVertexTypes<IEnumerable<IVertexType>>(mySecurityToken,
                                                                                            myTransactionToken,
                                                                                            new RequestGetAllVertexTypes(),
                                                                                            (stats, vertexTypes) => vertexTypes))
                {
                    resultingVertices.Add(GenerateOutput(type));
                }

                #endregion
            }

            return resultingVertices;
        }
        private IEnumerable<IVertexType> GetVertexTypes(IGraphDB myGraphDB, 
            SecurityToken mySecurityToken,
            Int64 myTransactionToken,
            IEnumerable<String> myTypes)
        {
            #region GetTypeToDump

            IEnumerable<IVertexType> typesToDump = new List<IVertexType>();

            if (myTypes.IsNullOrEmpty())
                typesToDump = myGraphDB.GetAllVertexTypes(mySecurityToken,
                                                            myTransactionToken,
                                                            new RequestGetAllVertexTypes(),
                                                            (stats, vertexTypes) => vertexTypes)
                                        .Where(_ => _.IsUserDefined);
            else
            {
                var typesToDumpHash = new HashSet<IVertexType>();

                foreach (var stringType in myTypes)
                {
                    var type = myGraphDB.GetVertexType(mySecurityToken,
                                                        myTransactionToken,
                                                        new RequestGetVertexType(stringType),
                                                        (stats, vertexType) => vertexType);

                    if (type == null)
                        throw new TypeDoesNotExistException(stringType, "");

                    //typesToDumpHash.UnionWith(myDBContext.DBTypeManager.GetAllParentTypes(type, true, false));
                    AddVertexTypeAndAttributesRecursivly(myGraphDB,
                                                            mySecurityToken,
                                                            myTransactionToken,
                                                            type,
                                                            ref typesToDumpHash);
                }

                typesToDump = typesToDumpHash.ToList();
            }

            #endregion

            return typesToDump;
        }