/// <summary>
        /// 根据订阅ID查询eSight
        /// </summary>
        /// <param name="subscribeId">The subscribe identifier.</param>
        /// <returns>Huawei.SCOM.ESightPlugin.Models.HWESightHost.</returns>
        public HWESightHost GetEntityBySubscribeId(string subscribeId)
        {
            IObjectReader <EnterpriseManagementObject> items =
                OM12Connection.Query <EnterpriseManagementObject>(ESightAppliance.EntityClassName, $"SubscribeID='{subscribeId}'");

            return(items.Select(ConvertMonitoringObjectToESightHost()).FirstOrDefault());
        }
示例#2
0
 public TransferTransactionProcessor(
     IPeerTracker peerTracker,
     IObjectReader objectReader)
 {
     _peerTracker  = peerTracker;
     _objectReader = objectReader;
 }
        /// <summary>
        /// The get list.
        /// </summary>
        /// <param name="condition">
        /// The condition.
        /// </param>
        /// <returns>
        /// The <see>
        ///         <cref>IList</cref>
        ///     </see>
        ///     .
        /// </returns>
        public IList <HWESightHost> GetList(string condition = "1=1 ")
        {
            IObjectReader <EnterpriseManagementObject> monitoringObjects = OM12Connection.All <EnterpriseManagementObject>(ESightAppliance.EntityClassName);
            IEnumerable <HWESightHost> appliances = monitoringObjects.Select(ConvertMonitoringObjectToESightHost());

            return(appliances.OrderByDescending(x => x.CreateTime).ToList());
        }
示例#4
0
 /// <summary>
 /// Check that the payload has some content.
 /// </summary>
 /// <param name="reader"></param>
 private static void CheckPayload(IObjectReader reader)
 {
     if (reader == null || !reader.GetKeys().Any())
     {
         throw new ConnectorRequestException(Messages.EmptyMessageBody);
     }
 }
        public void FillLocations()
        {
            try
            {
                //LocationType находим тип Building
                EnterpriseManagementObjectCriteria criteria = new EnterpriseManagementObjectCriteria("LocationType = '0A607435-3D34-23D1-B38E-B89DDE0A558D'", classLocation);
                //EnterpriseManagementObjectCriteria criteria = new EnterpriseManagementObjectCriteria("LocationType = 'LocationType.Building'", classLocation);
                IObjectReader <EnterpriseManagementObject> reader = emg.EntityObjects.GetObjectReader <EnterpriseManagementObject>(criteria, ObjectQueryOptions.Default);
                ObservableCollection <TreeViewItem>        Col    = new ObservableCollection <TreeViewItem>();
                foreach (EnterpriseManagementObject loc in reader)
                {
                    TreeViewItem Root = new TreeViewItem();
                    Root.Header = loc.DisplayName;
                    Root.Tag    = loc.Id;
                    Col.Add(Root);
                }
                //Сортировка
                var sortedOC = from item in Col orderby item.Header select item;

                foreach (var i in sortedOC)
                {
                    TreeViewItem item = (TreeViewItem)i;
                    item.Items.Add("*");
                    LocationsTreeView.Items.Add(item);
                }
            }
            catch (Exception ex)
            {
                System.Windows.MessageBox.Show("FillLocations procedure error : " + ex.Message, "Service Manager", MessageBoxButton.OK, MessageBoxImage.Error);
                this.Close();
            }
        }
        /// <summary>
        /// 根据IP查找ESight实体。
        /// </summary>
        /// <param name="hostIp">The host ip.</param>
        /// <returns>The <see cref="HWESightHost" />.</returns>
        public HWESightHost GetEntityByHostIp(string hostIp)
        {
            IObjectReader <EnterpriseManagementObject> items =
                OM12Connection.Query <EnterpriseManagementObject>(ESightAppliance.EntityClassName, $"Host='{hostIp}'");

            return(items.Select(ConvertMonitoringObjectToESightHost()).FirstOrDefault());
        }
 public NonNativeObjectWriter(IObjectWriter objectWriter, IStorageEngine storageEngine)
 {
     _objectWriter  = objectWriter;
     _session       = storageEngine.GetSession();
     _objectReader  = storageEngine.GetObjectReader();
     _storageEngine = storageEngine;
 }
        private PartialMonitoringObject GetSBWSHostComputer(string sbwsHostComputerName)
        {
            if (base.ManagementGroup == null)
            {
                return(null);
            }
            ManagementPackClass monitoringClass = base.ManagementGroup.EntityTypes.GetClass(SystemMonitoringClass.HealthService);

            if (monitoringClass == null)
            {
                return(null);
            }

            List <PartialMonitoringObject>          partialMonitoringObjects = new List <PartialMonitoringObject>();
            IObjectReader <PartialMonitoringObject> reader =
                ManagementGroup.EntityObjects.GetObjectReader <PartialMonitoringObject>(
                    new MonitoringObjectGenericCriteria(string.Format(CultureInfo.InvariantCulture, "Name = '{0}' OR DisplayName = '{0}'", new object[] { sbwsHostComputerName })), monitoringClass, ObjectQueryOptions.Default);

            partialMonitoringObjects.AddRange(reader);

            if (partialMonitoringObjects.Count == 1)
            {
                return(partialMonitoringObjects[0]);
            }
            return(null);
        }
示例#9
0
        internal static TemplateToken Read(
            TemplateContext context,
            String type,
            IObjectReader objectReader,
            Int32?fileId,
            TemplateSchema schema,
            out Int32 bytes)
        {
            TemplateToken result = null;

            var reader        = new TemplateReader(context, schema, objectReader, fileId);
            var originalBytes = context.Memory.CurrentBytes;

            try
            {
                objectReader.ValidateStart();
                var definition = new DefinitionInfo(schema, type);
                result = reader.ReadValue(definition);
                objectReader.ValidateEnd();
            }
            catch (Exception ex)
            {
                context.Error(fileId, null, null, ex);
            }
            finally
            {
                bytes = context.Memory.CurrentBytes - originalBytes;
            }

            return(result);
        }
示例#10
0
 public void Clear()
 {
     _objectReader    = null;
     _objectWriter    = null;
     _lastIdPositions = null;
     _lastIds         = null;
 }
        public void Test_GetObjectList_Null(string json)
        {
            IObjectReader reader = GetReader(json);
            IReadOnlyList <IObjectReader> list = reader.GetObjectList("a");

            Assert.That(list, Is.Null);
        }
        /// <summary>
        /// Loads a user's schema file
        /// </summary>
        internal static TemplateSchema Load(IObjectReader objectReader)
        {
            var context = new TemplateContext
            {
                CancellationToken = CancellationToken.None,
                Errors            = new TemplateValidationErrors(maxErrors: 10, maxMessageLength: 500),
                Memory            = new TemplateMemory(
                    maxDepth: 50,
                    maxEvents: 1000000,     // 1 million
                    maxBytes: 1024 * 1024), // 1 mb
                TraceWriter = new EmptyTraceWriter(),
            };

            var value = TemplateReader.Read(context, TemplateConstants.TemplateSchema, objectReader, null, Schema, out _);

            if (context.Errors.Count > 0)
            {
                throw new TemplateValidationException(context.Errors);
            }

            var mapping = value.AssertMapping(TemplateConstants.TemplateSchema);
            var schema  = new TemplateSchema(mapping);

            schema.Validate();
            return(schema);
        }
示例#13
0
        public WorkItem DownloadWIfromSM(string Id)
        {
            EnterpriseManagementObject wiInSM = null;
            WorkItem wi = new WorkItem();

            EnterpriseManagementObjectCriteria criteria = new EnterpriseManagementObjectCriteria(String.Format("Name='{0}'", Id), wiClass);

            IObjectReader <EnterpriseManagementObject> reader = mg.EntityObjects.
                                                                GetObjectReader <EnterpriseManagementObject>(criteria, ObjectQueryOptions.Default);

            if (reader.Count == 1)
            {    // Found WI
                wiInSM = reader.GetRange(0, 1)[0];
            }
            else
            {
                Console.WriteLine("Can't find Work Item {0}", Id);
                Environment.Exit(2);
            }

            wi.Id                 = Convert.ToString(wiInSM[wiClass, "Id"].Value);
            wi.Title              = Convert.ToString(wiInSM[wiClass, "Title"].Value);
            wi.Description        = Convert.ToString(wiInSM[wiClass, "Description"].Value);
            wi.ContactMethod      = Convert.ToString(wiInSM[wiClass, "ContactMethod"].Value);
            wi.DisplayName        = Convert.ToString(wiInSM[wiClass, "DisplayName"].Value);
            wi.ScheduledStartDate = Convert.ToDateTime(wiInSM[wiClass, "ScheduledStartDate"].Value).ToLocalTime();
            wi.ScheduledEndDate   = Convert.ToDateTime(wiInSM[wiClass, "ScheduledEndDate"].Value).ToLocalTime();
            wi.ActualStartDate    = Convert.ToDateTime(wiInSM[wiClass, "ActualStartDate"].Value).ToLocalTime();
            wi.ActualEndDate      = Convert.ToDateTime(wiInSM[wiClass, "ActualEndDate"].Value).ToLocalTime();
            //            wi.LastModified     = Convert.ToDateTime(wiInSM[null, "LastModified"].Value).ToLocalTime();  // doesnt' work - this one is from System.Entity

            return(wi);
        }
示例#14
0
        public IEnumerable <T> GetResult <T>()
        {
            MetaType metaType = null;

            // Check the inheritance hierarchy of each mapped result row type
            // for the function.
            if (this.function != null)
            {
                foreach (MetaType mt in function.ResultRowTypes)
                {
                    metaType = mt.InheritanceTypes.SingleOrDefault(it => it.Type == typeof(T));
                    if (metaType != null)
                    {
                        break;
                    }
                }
            }
            if (metaType == null)
            {
                if (_readerProvider == null)
                {
                    throw Error.ArgumentTypeMismatch("provider");
                }
                metaType = _readerProvider.Services.Model.GetMetaType(typeof(T));
            }
            IObjectReaderFactory factory   = this.provider.GetDefaultFactory(metaType);
            IObjectReader        objReader = factory.GetNextResult(this.session, false);

            if (objReader == null)
            {
                this.Dispose();
                return(null);
            }
            return(new SingleResult <T>(new OneTimeEnumerable <T>((IEnumerator <T>)objReader), this.executeResult, _readerProvider.Services.Context));
        }
        public override void SetUp()
        {
            base.SetUp();

            _rdbmsPersistenceModelProvider = new RdbmsPersistenceModelProvider();

            _dbCommandBuilderFactoryStrictMock = MockRepository.GenerateStrictMock <IDbCommandBuilderFactory>();
            _objectReaderFactoryStrictMock     = MockRepository.GenerateStrictMock <IObjectReaderFactory>();
            _dbCommandBuilderStub              = MockRepository.GenerateStub <IDbCommandBuilder> ();
            _dataContainerReaderStub           = MockRepository.GenerateStub <IObjectReader <DataContainer> > ();
            _objectIDReaderStub                = MockRepository.GenerateStub <IObjectReader <ObjectID> > ();
            _fakeStorageProviderCommandFactory = MockRepository.GenerateStub <IStorageProviderCommandFactory <IRdbmsProviderCommandExecutionContext> >();

            _factory = new RelationLookupCommandFactory(
                _fakeStorageProviderCommandFactory,
                _dbCommandBuilderFactoryStrictMock,
                _rdbmsPersistenceModelProvider,
                _objectReaderFactoryStrictMock);

            _tableDefinition     = TableDefinitionObjectMother.Create(TestDomainStorageProviderDefinition, new EntityNameDefinition(null, "Table1"));
            _unionViewDefinition = UnionViewDefinitionObjectMother.Create(
                TestDomainStorageProviderDefinition,
                new EntityNameDefinition(null, "ViewName"),
                _tableDefinition);

            _foreignKeyValue = CreateObjectID(_tableDefinition);
            _foreignKeyStoragePropertyDefinitionStrictMock = MockRepository.GenerateStrictMock <IRdbmsStoragePropertyDefinition>();

            _fakeComparedColumns = new[] { new ColumnValue(ColumnDefinitionObjectMother.IDColumn, _foreignKeyValue.Value) };
        }
示例#16
0
        public void Pack(IObjectReader reader, IByteArray writer)
        {
            var message   = reader.ReadOne() as SendPackage;
            var byteArray = Pack(message);

            writer.WriteBytes(byteArray.Bytes, 0, byteArray.Length);
        }
示例#17
0
        public override void SetUp()
        {
            base.SetUp();

            _dbCommandBuilderFactoryStrictMock = MockRepository.GenerateStrictMock <IDbCommandBuilderFactory>();

            _objectReaderFactoryStrictMock = MockRepository.GenerateStrictMock <IObjectReaderFactory>();
            _dataStoragePropertyDefinitionFactoryStrictMock = MockRepository.GenerateStrictMock <IDataStoragePropertyDefinitionFactory> ();

            _factory = new QueryCommandFactory(
                _objectReaderFactoryStrictMock,
                _dbCommandBuilderFactoryStrictMock,
                _dataStoragePropertyDefinitionFactoryStrictMock);

            _dataContainerReader1Stub = MockRepository.GenerateStub <IObjectReader <DataContainer> >();
            _resultRowReaderStub      = MockRepository.GenerateStub <IObjectReader <IQueryResultRow> >();

            _queryParameter1 = new QueryParameter("first", DomainObjectIDs.Order1);
            _queryParameter2 = new QueryParameter("second", DomainObjectIDs.Order3.Value);
            _queryParameter3 = new QueryParameter("third", DomainObjectIDs.Official1);
            var collection = new QueryParameterCollection {
                _queryParameter1, _queryParameter2, _queryParameter3
            };

            _queryStub = MockRepository.GenerateStub <IQuery>();
            _queryStub.Stub(stub => stub.Statement).Return("statement");
            _queryStub.Stub(stub => stub.Parameters).Return(new QueryParameterCollection(collection, true));

            _property1 = ObjectIDStoragePropertyDefinitionObjectMother.Create("Test");
            _property2 = SimpleStoragePropertyDefinitionObjectMother.CreateStorageProperty();
            _property3 = SerializedObjectIDStoragePropertyDefinitionObjectMother.Create("Test");
        }
示例#18
0
        /// <summary>
        /// Update
        /// </summary>
        private ConnectorResponse HandlePut(ConnectorRequest request, ApiResourceMapping mapping)
        {
            IReaderToEntityAdapter adapter = GetReaderAdapter(mapping);
            IObjectReader          reader  = request.Payload;
            IEntity instance;

            // Check payload
            CheckPayload(reader);

            // Get instance
            ConnectorResponse errorResponse;

            instance = LocateResource(request, mapping, out errorResponse);
            if (errorResponse != null)
            {
                return(errorResponse);
            }

            // Modify instance
            instance = instance.AsWritable( );
            adapter.FillEntity(reader, instance, ConnectorRequestExceptionReporter.Instance);
            SaveInstance(instance);

            return(new ConnectorResponse(HttpStatusCode.OK, "Updated"));
        }
示例#19
0
        public IEntity RunTest(string json, ApiResourceMapping mapping, ReaderToEntityAdapterSettings settings = null)
        {
            if (json != null)
            {
                json = json.Replace("'", @"""");
            }

            // Get dynamic object from JSON
            object raw = JilHelpers.Deserialize <object>(json);

            Assert.That(raw, Is.InstanceOf <IDynamicMetaObjectProvider>( ), "Dynamic object should be IDynamicMetaObjectProvider");
            IDynamicMetaObjectProvider dynamicProvider = ( IDynamicMetaObjectProvider )raw;

            // Get object reader
            IDynamicObjectReaderService objectReaderService = Factory.Current.Resolve <IDynamicObjectReaderService>( );
            IObjectReader reader = objectReaderService.GetObjectReader(dynamicProvider);

            // Settings
            ReaderToEntityAdapterSettings settingsToUse = settings ?? new ReaderToEntityAdapterSettings();

            // Run adapter provider
            IReaderToEntityAdapterProvider adapterProvider = Factory.Current.Resolve <IReaderToEntityAdapterProvider>( );
            IReaderToEntityAdapter         adapter         = adapterProvider.GetAdapter(mapping.Id, settingsToUse);

            IEntity entity = adapter.CreateEntity(reader, ConnectorRequestExceptionReporter.Instance);

            return(entity);
        }
        public override void SetUp()
        {
            base.SetUp();

            _tableDefinitionFinder = new TableDefinitionFinder(new RdbmsPersistenceModelProvider());

            _dbCommandBuilderFactoryStrictMock = MockRepository.GenerateStrictMock <IDbCommandBuilderFactory>();
            _objectReaderFactoryStrictMock     = MockRepository.GenerateStrictMock <IObjectReaderFactory>();
            _dbCommandBuilder1Stub             = MockRepository.GenerateStub <IDbCommandBuilder>();
            _dbCommandBuilder2Stub             = MockRepository.GenerateStub <IDbCommandBuilder>();
            _timestampReader1Stub     = MockRepository.GenerateStub <IObjectReader <Tuple <ObjectID, object> > > ();
            _timestampReader2Stub     = MockRepository.GenerateStub <IObjectReader <Tuple <ObjectID, object> > > ();
            _dataContainerReader1Stub = MockRepository.GenerateStub <IObjectReader <DataContainer> > ();
            _dataContainerReader2Stub = MockRepository.GenerateStub <IObjectReader <DataContainer> > ();

            _factory = new LookupCommandFactory(
                TestDomainStorageProviderDefinition,
                _dbCommandBuilderFactoryStrictMock,
                _objectReaderFactoryStrictMock,
                _tableDefinitionFinder);

            _tableDefinition1 = TableDefinitionObjectMother.Create(TestDomainStorageProviderDefinition);
            _tableDefinition2 = TableDefinitionObjectMother.Create(TestDomainStorageProviderDefinition);

            _objectID1 = CreateObjectID(_tableDefinition1);
            _objectID2 = CreateObjectID(_tableDefinition1);
            _objectID3 = CreateObjectID(_tableDefinition2);
        }
        /// <summary>
        /// Alls the specified entity class name.
        /// </summary>
        /// <param name="entityClass">The entity class.</param>
        /// <returns>IObjectReader&lt;EnterpriseManagementObject&gt;.</returns>
        public IObjectReader <EnterpriseManagementObject> All(ManagementPackClass entityClass)
        {
            IObjectReader <EnterpriseManagementObject> items = this.EntityObjects
                                                               .GetObjectReader <EnterpriseManagementObject>(entityClass, ObjectQueryOptions.Default);

            return(items);
        }
示例#22
0
 public NonNativeObjectWriter(IObjectWriter objectWriter, IStorageEngine storageEngine)
 {
     _objectWriter = objectWriter;
     _session = storageEngine.GetSession();
     _objectReader = storageEngine.GetObjectReader();
     _storageEngine = storageEngine;
 }
            IEnumerable <T> IMultipleResults.GetResult <T>()
            {
                MetaType rowType = null;
                Func <MetaType, bool> predicate = null;

                if (function != null)
                {
                    foreach (MetaType type2 in function.ResultRowTypes)
                    {
                        if (predicate == null)
                        {
                            predicate = (it => it.Type == typeof(T));
                        }
                        rowType = type2.InheritanceTypes.SingleOrDefault(predicate);
                        if (rowType != null)
                        {
                            break;
                        }
                    }
                }
                if (rowType == null)
                {
                    rowType = provider.services.Model.GetMetaType(typeof(T));
                }
                IObjectReader nextResult = provider.GetDefaultFactory(rowType).GetNextResult(session, false);

                if (nextResult == null)
                {
                    Dispose();
                    return(null);
                }
                return(new SingleResult <T>(new OneTimeEnumerable <T>((IEnumerator <T>)nextResult), executeResult,
                                            provider.services.Context));
            }
示例#24
0
        /// <summary>
        /// Report the failure to import a record.
        /// </summary>
        /// <param name="objectReader">The record that failed.</param>
        /// <param name="message">The cause of failure.</param>
        public void ReportError(IObjectReader objectReader, string message)
        {
            // Strip off any API connector platform error codes
            string errorMessage = Messages.GetErrorText(message);

            string location = objectReader.GetLocation( );

            if (location != null)
            {
                errorMessage = string.Concat(location, ": ", errorMessage);
            }

            if (_failReasons == null)
            {
                _failReasons = new List <string>( );
            }
            if (_message == null)
            {
                _message = new StringBuilder(_importRun.ImportMessages);
            }

            if (!_readersWithErrors.Contains(objectReader))
            {
                _readersWithErrors.Add(objectReader);
                _recordsFailed++;
            }

            _failReasons.Add(errorMessage);
            _messageChanged = true;
        }
        public IHttpActionResult GetComputerPartialMonitoringObject()
        {
            ManagementPackClassCriteria classCriteria     = new ManagementPackClassCriteria("Name = 'Microsoft.Windows.Computer'");
            IList <ManagementPackClass> monitoringClasses = mg.EntityTypes.GetClasses(classCriteria);


            List <PartialMonitoringObject> windowsComputerObjects = new List <PartialMonitoringObject>();

            IObjectReader <PartialMonitoringObject> reader = mg.EntityObjects.GetObjectReader <PartialMonitoringObject>(monitoringClasses[0], ObjectQueryOptions.Default);

            windowsComputerObjects.AddRange(reader);

            List <SCOMComputerModel> SCOMComputers = new List <SCOMComputerModel>();

            foreach (PartialMonitoringObject windowsComputerObject in windowsComputerObjects)
            {
                SCOMComputerModel SCOMComputer = new SCOMComputerModel();
                SCOMComputer.id            = windowsComputerObject.Id;
                SCOMComputer.displayName   = windowsComputerObject.DisplayName;
                SCOMComputer.healthState   = windowsComputerObject.HealthState.ToString();
                SCOMComputer.inMaintenance = windowsComputerObject.InMaintenanceMode;
                SCOMComputer.isAvailable   = windowsComputerObject.IsAvailable;

                SCOMComputers.Add(SCOMComputer);
            }

            return(Json(SCOMComputers));
        }
示例#26
0
        private void PopulateGroups()
        {
            IManagementGroupSession managementGroupSession = null;

            if (base.ParentForm != null && base.ParentForm.Site != null)
            {
                managementGroupSession = (base.ParentForm.Site.GetService(typeof(IManagementGroupSession)) as IManagementGroupSession);
            }

            if (managementGroupSession == null || managementGroupSession.ManagementGroup == null)
            {
                return;
            }

            using (ManageQueryOleDBSDKHelper helper = new ManageQueryOleDBSDKHelper(managementGroupSession.ManagementGroup))
            {
                monitoringClass = helper.GetManagementPackClass("QueryOleDbMonitorLibrary", "OleDBQueryMonitoringGroup");
                if (GroupsImage == null)
                {
                    GroupsImage = ComponentMethodLibrary.GetImageFromSharedCache(monitoringClass, base.ParentForm);
                }
                List <EnterpriseManagementObject>          list      = new List <EnterpriseManagementObject>();
                IObjectReader <EnterpriseManagementObject> allGroups = helper.GetEnterpriseManagementObjects(monitoringClass);
                if (allGroups != null)
                {
                    foreach (EnterpriseManagementObject current in allGroups)
                    {
                        list.Add(current);
                    }
                }
                groups = list;
            }
        }
示例#27
0
 public MessageDispatcher(IObjectReader reader,
                          ITransactionDispatcher transactionDispatcher,
                          IIndex <MessageType, IMessageProcessor> messageProcessors)
 {
     _reader = reader;
     _transactionDispatcher = transactionDispatcher;
     _messageProcessors     = messageProcessors;
 }
示例#28
0
 public DictionaryReader(IReadObjectsCache readObjects, IDocumentObjectsRepository docObjectRepository,
                         IObjectReader objectReader, ITypeFinder typeFinder)
 {
     this.readObjects         = readObjects;
     this.docObjectRepository = docObjectRepository;
     this.objectReader        = objectReader;
     this.typeFinder          = typeFinder;
 }
        public static IObjectReader <T> All <T>(string entityClassName, ObjectQueryOptions queryOption) where T : EnterpriseManagementObject
        {
            ManagementPackClass clazz = GetManagementPackClass(entityClassName);
            IObjectReader <T>   items = HuaweiESightMG.EntityObjects
                                        .GetObjectReader <T>(clazz, queryOption);

            return(items);
        }
示例#30
0
 public ListReader(IReadObjectsCache readObjects, IDocumentObjectsRepository docObjectRepository,
     IObjectReader objectReader, ITypeFinder typeFinder)
 {
     this.readObjects = readObjects;
     this.docObjectRepository = docObjectRepository;
     this.objectReader = objectReader;
     this.typeFinder = typeFinder;
 }
示例#31
0
 protected GenericQueryExecutor(IQuery query, IStorageEngine engine)
 {
     Query         = (SodaQuery)query;
     StorageEngine = engine;
     ObjectReader  = StorageEngine.GetObjectReader();
     Session       = StorageEngine.GetSession();
     _executeStartAndEndOfQueryAction = true;
 }
        /// <summary>
        /// Queries the specified entity class name.
        /// </summary>
        /// <param name="entityClass">The entity class.</param>
        /// <param name="criteria">The criteria.</param>
        /// <returns>IObjectReader&lt;EnterpriseManagementObject&gt;.</returns>
        public IObjectReader <EnterpriseManagementObject> Query(ManagementPackClass entityClass, string criteria)
        {
            EnterpriseManagementObjectCriteria         c     = new EnterpriseManagementObjectCriteria(criteria, entityClass);
            IObjectReader <EnterpriseManagementObject> items = this.EntityObjects
                                                               .GetObjectReader <EnterpriseManagementObject>(c, ObjectQueryOptions.Default);

            return(items);
        }
示例#33
0
 public ClassReader(IReadObjectsCache readObjects, IMemberReader memberReader, ITypeFinder typeFinder,
     IDocumentObjectsRepository docObjectRepository, IBaseTypeMembersReader baseClassMembersReader,
     IObjectReader objectReader)
 {
     this.readObjects = readObjects;
     this.memberReader = memberReader;
     this.typeFinder = typeFinder;
     this.docObjectRepository = docObjectRepository;
     this.baseClassMembersReader = baseClassMembersReader;
     this.objectReader = objectReader;
 }
            public static JsonNetSimpleObject ReadFrom(
                IObjectReader reader)
            {
                JsonNetSimpleObject obj = null;

                if (reader.ReadStartObject())
                {
                    obj = new JsonNetSimpleObject();

                    int memberKey;

                    while (reader.ReadNextMemberKey())
                    {
                        memberKey = reader.MemberKey;

                        if (memberKey == 1)
                        {
                            obj.Id = reader.ReadValueAsInt32();
                        }
                        else if (memberKey == 2)
                        {
                            obj.Name = reader.ReadValueAsString(StringQuotaInBytes);
                        }
                        else if (memberKey == 3)
                        {
                            obj.Address = reader.ReadValueAsString(StringQuotaInBytes);
                        }
                        else if (memberKey == 4)
                        {
                            obj.Scores = null;

                            if (reader.ReadStartArray())
                            {
                                List<int> list = new List<int>();

                                while (reader.MoveToNextArrayValue())
                                {
                                    list.Add(reader.ReadValueAsInt32());
                                }

                                reader.ReadEndArray();

                                obj.Scores = list.ToArray();
                            }
                        }
                    }

                    reader.ReadEndObject();
                }

                return obj;
            }
示例#35
0
        /// <param name="objectWriter"> The object writer </param>
        /// <param name="objectReader"> The object reader </param>
        /// <param name="currentIdBlock">Current Id block data </param>
        public IdManager(IObjectWriter objectWriter, IObjectReader objectReader, CurrentIdBlockInfo currentIdBlock)
        {
            _objectWriter = objectWriter;
            _objectReader = objectReader;
            _currentBlockIdPosition = currentIdBlock.CurrentIdBlockPosition;
            _currentBlockIdNumber = currentIdBlock.CurrentIdBlockNumber;
            _maxId = new ObjectOID((long)currentIdBlock.CurrentIdBlockNumber * StorageEngineConstant.NbIdsPerBlock);
            _nextId = new ObjectOID(currentIdBlock.CurrentIdBlockMaxOid.ObjectId + 1);

            _lastIds = new OID[IdBufferSize];
            for (var i = 0; i < IdBufferSize; i++)
                _lastIds[i] = StorageEngineConstant.NullObjectId;

            _lastIdPositions = new long[IdBufferSize];
            _lastIdIndex = 0;
        }
            public static ProtoBufNetTestObject ReadFrom(
                IObjectReader reader)
            {
                ProtoBufNetTestObject obj = null;

                if (reader.ReadStartObject())
                {
                    obj = new ProtoBufNetTestObject();

                    int memberKey;

                    while (reader.ReadNextMemberKey())
                    {
                        memberKey = reader.MemberKey;

                        if (memberKey == 1)
                        {
                            obj.Foo = reader.ReadValueAsInt32();
                        }
                        else if (memberKey == 2)
                        {
                            obj.Bar = reader.ReadValueAsString(StringQuotaInBytes);
                        }
                        else if (memberKey == 3)
                        {
                            obj.Blip = reader.ReadValueAsSingle();
                        }
                        else if (memberKey == 4)
                        {
                            obj.Blop = reader.ReadValueAsDouble();
                        }
                    }

                    reader.ReadEndObject();
                }

                return obj;
            }
示例#37
0
        public static EmptyObject ReadFrom(
            IObjectReader reader)
        {
            EmptyObject emptyObject = null;

            if (reader.ReadStartObject())
            {
                emptyObject = new EmptyObject();

                int memberKey;

                while (reader.ReadNextMemberKey())
                {
                    memberKey = reader.MemberKey;

                    Debug.WriteLine("Skipping member key {0}", memberKey);
                }

                // TODO: Should ReadEndObject skip any remaining members?
                reader.ReadEndObject();
            }

            return emptyObject;
        }
示例#38
0
 public ConvertArgs(IObjectReader reader, ObjectConverter objectConverter, Type destinationType)
 {
     Reader = reader;
     this.Converter = objectConverter;
     DestinationType = destinationType;
 }
示例#39
0
 public PayloadReader(IObjectReader objectReader)
 {
     this.objectReader = objectReader;
 }
示例#40
0
 public void Close()
 {
     _objectReader = null;
     if (_idManager != null)
     {
         _idManager.Clear();
         _idManager = null;
     }
     _storageEngine = null;
     FileSystemProcessor.Close();
 }
示例#41
0
 public void AfterInit()
 {
     _objectReader = _storageEngine.GetObjectReader();
     _nonNativeObjectWriter.AfterInit();
     _idManager = _storageEngine.GetIdManager();
 }
示例#42
0
        private static SimpleObject[] ReadArrayOfSimpleObjects(
            IObjectReader reader)
        {
            SimpleObject[] array = null;

            if (reader.ReadStartArray())
            {
                List<SimpleObject> list = new List<SimpleObject>();

                while (reader.MoveToNextArrayValue())
                {
                    list.Add(SimpleObject.ReadFrom(reader));
                }

                reader.ReadEndArray();

                array = list.ToArray();
            }

            return array;
        }
示例#43
0
 public void Clear()
 {
     _objectReader = null;
     _objectWriter = null;
     _lastIdPositions = null;
     _lastIds = null;
 }
示例#44
0
        void ICustomSerializable.Read(IObjectReader reader)
        {
            Guard.NotNull(reader, "reader");

            Location = reader.Read<SpeedCaptureLocation>();
            var speeds = new KeyValuePair<string, int>[reader.Read<int>()];
            for(int i = 0; i < speeds.Length; ++i)
            {
                speeds[i] = new KeyValuePair<string, int>(reader.Read<string>(), reader.Read<int>());
            }
            Speeds = Array.AsReadOnly(speeds);
        }
示例#45
0
 public FieldReader(IObjectReader objectReader)
 {
     this.objectReader = objectReader;
 }
示例#46
0
        public static Person DeserializePerson1(IObjectReader reader)
        {
            if (!reader.ReadStartObject())
            {
                return null;
            }

            Person person = new Person();

            while (reader.ReadNextMemberKey())
            {
                if (reader.MemberKey == 1)
                {
                    person.Id = reader.ReadValueAsInt32();
                }
                else if (reader.MemberKey == 2)
                {
                    person.Name = reader.ReadValueAsString(250);
                }
                else if (reader.MemberKey == 3)
                {
                    person.Scores = reader.ReadValueAsInt32Array();
                }
            }

            reader.ReadEndObject();

            return person;
        }
示例#47
0
        private static string[][] ReadNestedArrayOfStrings(
            IObjectReader reader)
        {
            string[][] array = null;

            if (reader.ReadStartArray())
            {
                List<string[]> list = new List<string[]>();

                while (reader.MoveToNextArrayValue())
                {
                    if (reader.ReadStartArray())
                    {
                        List<string> innerList = new List<string>();

                        while (reader.MoveToNextArrayValue())
                        {
                            innerList.Add(reader.ReadValueAsString(MaximumValueLengthInBytes));
                        }

                        reader.ReadEndArray();

                        list.Add(innerList.ToArray());
                    }
                    else
                    {
                        list.Add(null);
                    }
                }

                reader.ReadEndArray();

                array = list.ToArray();
            }

            return array;
        }
示例#48
0
 public ObjectEnumerator(IObjectReader reader)
 {
     this.reader = reader;
 }
示例#49
0
        public object GetValue(IObjectReader reader, string propertyName)
        {
            if (reader.Properties != null)
            {
                var property = reader.Properties.FirstOrDefault(x => string.Equals(x, propertyName, PropertyComparer));
                if (property != null)
                {
                    return reader.GetValue(property);
                }
            }
            else
            {
                object obj;
                if (reader.TryGetValue(propertyName, out obj))
                    return obj;
            }

            if (!IsIgnoreNotExistingProperty)
                throw new FieldNotFoundException(propertyName);

            return _propertyNotExisting;
        }
示例#50
0
 internal object CreateInstance(IObjectReader reader, Type destinationType)
 {
     return CreateObjectCore(reader, destinationType);
 }
 private void Initialise(Stream input, bool ownsInput)
 {
     Input = input;
     OwnsInput = ownsInput;
     Reader = new DecoratedObjectReader(input);
     DelayEngine = new RecordedMessageDelayEngine(this);
 }
示例#52
0
 public void AfterInit()
 {
     _objectReader = _storageEngine.GetObjectReader();
 }
示例#53
0
        public static SimpleObject ReadFrom(
            IObjectReader reader)
        {
            SimpleObject simpleObject = null;

            if (reader.ReadStartObject())
            {
                simpleObject = new SimpleObject();

                int memberKey;

                while (reader.ReadNextMemberKey())
                {
                    memberKey = reader.MemberKey;

                    if (memberKey == MemberKey.StringValue)
                    {
                        simpleObject.StringValue = reader.ReadValueAsString(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.StringEmptyValue)
                    {
                        simpleObject.StringEmptyValue = reader.ReadValueAsString(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.StringNullValue)
                    {
                        simpleObject.StringNullValue = reader.ReadValueAsString(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.ByteArrayValue)
                    {
                        simpleObject.ByteArrayValue = reader.ReadValueAsBytes(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.ByteArrayEmptyValue)
                    {
                        simpleObject.ByteArrayEmptyValue = reader.ReadValueAsBytes(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.ByteArrayNullValue)
                    {
                        simpleObject.ByteArrayNullValue = reader.ReadValueAsBytes(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.Int32ZeroValue)
                    {
                        simpleObject.Int32ZeroValue = reader.ReadValueAsInt32();
                    }
                    else if (memberKey == MemberKey.Int32MinValue)
                    {
                        simpleObject.Int32MinValue = reader.ReadValueAsInt32();
                    }
                    else if (memberKey == MemberKey.Int32MaxValue)
                    {
                        simpleObject.Int32MaxValue = reader.ReadValueAsInt32();
                    }
                    else if (memberKey == MemberKey.UInt32MinValue)
                    {
                        simpleObject.UInt32MinValue = reader.ReadValueAsUInt32();
                    }
                    else if (memberKey == MemberKey.UInt32MaxValue)
                    {
                        simpleObject.UInt32MaxValue = reader.ReadValueAsUInt32();
                    }
                    else if (memberKey == MemberKey.SingleValue)
                    {
                        simpleObject.SingleValue = reader.ReadValueAsSingle();
                    }
                    else if (memberKey == MemberKey.SingleMinValue)
                    {
                        simpleObject.SingleMinValue = reader.ReadValueAsSingle();
                    }
                    else if (memberKey == MemberKey.SingleMaxValue)
                    {
                        simpleObject.SingleMaxValue = reader.ReadValueAsSingle();
                    }
                    else if (memberKey == MemberKey.Int32ArrayValue)
                    {
                        simpleObject.Int32ArrayValue = reader.ReadValueAsInt32Array();
                    }
                    else if (memberKey == MemberKey.Int32ArrayEmptyValue)
                    {
                        simpleObject.Int32ArrayEmptyValue = reader.ReadValueAsInt32Array();
                    }
                    else if (memberKey == MemberKey.Int32ArrayNullValue)
                    {
                        simpleObject.Int32ArrayNullValue = reader.ReadValueAsInt32Array();
                    }
                    else if (memberKey == MemberKey.StringArrayValue)
                    {
                        simpleObject.StringArrayValue = reader.ReadValueAsStringArray(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.StringArrayEmptyValue)
                    {
                        simpleObject.StringArrayEmptyValue = reader.ReadValueAsStringArray(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.StringArrayNullValue)
                    {
                        simpleObject.StringArrayNullValue = reader.ReadValueAsStringArray(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.StringWithEscapesValue)
                    {
                        simpleObject.StringWithEscapesValue = reader.ReadValueAsString(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.StringWithSurrogatePairsValue)
                    {
                        simpleObject.StringWithSurrogatePairsValue = reader.ReadValueAsString(StringQuotaInBytes);
                    }
                    else if (memberKey == MemberKey.DoubleValue)
                    {
                        simpleObject.DoubleValue = reader.ReadValueAsDouble();
                    }
                    else if (memberKey == MemberKey.DoubleMinValue)
                    {
                        simpleObject.DoubleMinValue = reader.ReadValueAsDouble();
                    }
                    else if (memberKey == MemberKey.DoubleMaxValue)
                    {
                        simpleObject.DoubleMaxValue = reader.ReadValueAsDouble();
                    }
                    else if (memberKey == MemberKey.Int64ZeroValue)
                    {
                        simpleObject.Int64ZeroValue = reader.ReadValueAsInt64();
                    }
                    else if (memberKey == MemberKey.Int64MinValue)
                    {
                        simpleObject.Int64MinValue = reader.ReadValueAsInt64();
                    }
                    else if (memberKey == MemberKey.Int64MaxValue)
                    {
                        simpleObject.Int64MaxValue = reader.ReadValueAsInt64();
                    }
                    else if (memberKey == MemberKey.UInt64ZeroValue)
                    {
                        simpleObject.UInt64ZeroValue = reader.ReadValueAsUInt64();
                    }
                    else if (memberKey == MemberKey.UInt64MinValue)
                    {
                        simpleObject.UInt64MinValue = reader.ReadValueAsUInt64();
                    }
                    else if (memberKey == MemberKey.UInt64MaxValue)
                    {
                        simpleObject.UInt64MaxValue = reader.ReadValueAsUInt64();
                    }
                    else if (memberKey == MemberKey.BooleanTrueValue)
                    {
                        simpleObject.BooleanTrueValue = reader.ReadValueAsBoolean();
                    }
                    else if (memberKey == MemberKey.BooleanFalseValue)
                    {
                        simpleObject.BooleanFalseValue = reader.ReadValueAsBoolean();
                    }
                    else if (memberKey == MemberKey.BooleanArrayValue)
                    {
                        simpleObject.BooleanArrayValue = reader.ReadValueAsBooleanArray();
                    }
                    //else
                    //{
                    //    Debug.WriteLine("Skipping member key {0}", memberKey);
                    //}
                }

                reader.ReadEndObject();
            }

            return simpleObject;
        }
示例#54
0
 private void Connect()
 {
     try
     {
         Log.InfoFormat("connecting: {0}", _endpoint);
         _socket = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
         _socket.Connect(_endpoint);
         _reader = new DecoratedObjectReader(new BufferedStream(new NetworkStream(_socket)));
         Log.Info("connected");
     }
     catch(SocketException exc)
     {
         DisposeOf(_socket);
         Log.Error(exc);
         throw Guard.ProxyMessageReader_FailedToConnect(exc);
     }
 }
示例#55
0
        public static ComplexObject ReadFrom(
            IObjectReader reader)
        {
            ComplexObject complexObject = null;

            if (reader.ReadStartObject())
            {
                complexObject = new ComplexObject();

                int memberKey;

                while (reader.ReadNextMemberKey())
                {
                    memberKey = reader.MemberKey;

                    if (memberKey == MemberKey.NestedObject)
                    {
                        complexObject.NestedObject = SimpleObject.ReadFrom(reader);
                    }
                    if (memberKey == MemberKey.NestedEmptyObject)
                    {
                        complexObject.NestedEmptyObject = EmptyObject.ReadFrom(reader);
                    }
                    if (memberKey == MemberKey.NestedNullObject)
                    {
                        complexObject.NestedNullObject = SimpleObject.ReadFrom(reader);
                    }
                    else if (memberKey == MemberKey.ArrayOfObjects)
                    {
                        complexObject.ArrayOfObjects = ReadArrayOfSimpleObjects(reader);
                    }
                    else if (memberKey == MemberKey.EmptyArrayOfObjects)
                    {
                        complexObject.EmptyArrayOfObjects = ReadArrayOfSimpleObjects(reader);
                    }
                    else if (memberKey == MemberKey.NullArrayOfObjects)
                    {
                        complexObject.NullArrayOfObjects = ReadArrayOfSimpleObjects(reader);
                    }
                    else if (memberKey == MemberKey.NestedArrayOfInts)
                    {
                        complexObject.NestedArrayOfInts = ReadNestedArrayOfInts(reader);
                    }
                    else if (memberKey == MemberKey.NestedEmptyArrayOfInts)
                    {
                        complexObject.NestedEmptyArrayOfInts = ReadNestedArrayOfInts(reader);
                    }
                    else if (memberKey == MemberKey.NestedNullArrayOfInts)
                    {
                        complexObject.NestedNullArrayOfInts = ReadNestedArrayOfInts(reader);
                    }
                    else if (memberKey == MemberKey.NestedArrayOfStrings)
                    {
                        complexObject.NestedArrayOfStrings = ReadNestedArrayOfStrings(reader);
                    }
                    else if (memberKey == MemberKey.NestedEmptyArrayOfStrings)
                    {
                        complexObject.NestedEmptyArrayOfStrings = ReadNestedArrayOfStrings(reader);
                    }
                    else if (memberKey == MemberKey.NestedNullArrayOfStrings)
                    {
                        complexObject.NestedNullArrayOfStrings = ReadNestedArrayOfStrings(reader);
                    }
                    else if (memberKey == MemberKey.NestedArrayOfObjects)
                    {
                        complexObject.NestedArrayOfObjects = ReadNestedArrayOfSimpleObjects(reader);
                    }
                    else if (memberKey == MemberKey.NestedEmptyArrayOfObjects)
                    {
                        complexObject.NestedEmptyArrayOfObjects = ReadNestedArrayOfSimpleObjects(reader);
                    }
                    else if (memberKey == MemberKey.NestedNullArrayOfObjects)
                    {
                        complexObject.NestedNullArrayOfObjects = ReadNestedArrayOfSimpleObjects(reader);
                    }
                    //else
                    //{
                    //    Debug.WriteLine("Skipping member key {0}", memberKey);
                    //}
                }

                reader.ReadEndObject();
            }

            return complexObject;
        }
 public ArrayOfObjectsReader(IReadObjectsCache readObjects, IObjectReader objectReader, ITypeFinder typeFinder)
 {
     this.readObjects = readObjects;
     this.objectReader = objectReader;
     this.typeFinder = typeFinder;
 }
示例#57
0
        private static int[][] ReadNestedArrayOfInts(
            IObjectReader reader)
        {
            int[][] array = null;

            if (reader.ReadStartArray())
            {
                List<int[]> list = new List<int[]>();

                while (reader.MoveToNextArrayValue())
                {
                    if (reader.ReadStartArray())
                    {
                        List<int> innerList = new List<int>();

                        while (reader.MoveToNextArrayValue())
                        {
                            innerList.Add(reader.ReadValueAsInt32());
                        }

                        reader.ReadEndArray();

                        list.Add(innerList.ToArray());
                    }
                    else
                    {
                        list.Add(null);
                    }
                }

                reader.ReadEndArray();

                array = list.ToArray();
            }

            return array;
        }
示例#58
0
 protected virtual object CreateObjectCore(IObjectReader reader, Type destinationType)
 {
     return Activator.CreateInstance(destinationType);
 }
示例#59
0
        private static SimpleObject[][] ReadNestedArrayOfSimpleObjects(
            IObjectReader reader)
        {
            SimpleObject[][] array = null;

            if (reader.ReadStartArray())
            {
                List<SimpleObject[]> list = new List<SimpleObject[]>();

                while (reader.MoveToNextArrayValue())
                {
                    if (reader.ReadStartArray())
                    {
                        List<SimpleObject> innerList = new List<SimpleObject>();

                        while (reader.MoveToNextArrayValue())
                        {
                            SimpleObject innerObject = SimpleObject.ReadFrom(reader);
                            innerList.Add(innerObject);
                        }

                        reader.ReadEndArray();

                        list.Add(innerList.ToArray());
                    }
                    else
                    {
                        list.Add(null);
                    }
                }

                reader.ReadEndArray();

                array = list.ToArray();
            }

            return array;
        }
示例#60
0
        public static Person DeserializePerson2(IObjectReader reader)
        {
            var obj = reader.GetObject();
            if (obj == null)
            {
                return null;
            }

            Person person = new Person();

            foreach (var member in obj.Members)
            {
                if (member.MemberKey == 1)
                {
                    person.Id = member.ReadValueAsInt32();
                }
                else if (member.MemberKey == 2)
                {
                    person.Name = member.ReadValueAsString(250);
                }
                else if (member.MemberKey == 3)
                {
                    person.Scores = member.ReadValueAsInt32Array();
                }
            }

            return person;
        }