Beispiel #1
0
        public ContextPartitionCollection GetContextPartitions(ContextPartitionSelector selector)
        {
            if (selector is ContextPartitionSelectorAll) {
                IDictionary<int, ContextPartitionIdentifier> map = new Dictionary<int, ContextPartitionIdentifier>();
                var idsInner = ContextPartitionIdService.Ids;
                foreach (var id in idsInner) {
                    var partitionKeys = ContextPartitionIdService.GetPartitionKeys(id);
                    if (partitionKeys != null) {
                        var identifier = GetContextPartitionIdentifier(partitionKeys);
                        map.Put(id, identifier);
                    }
                }

                return new ContextPartitionCollection(map);
            }

            var ids = Realization.GetAgentInstanceIds(selector);
            IDictionary<int, ContextPartitionIdentifier>
                identifiers = new Dictionary<int, ContextPartitionIdentifier>();
            foreach (var id in ids) {
                var partitionKeys = ContextPartitionIdService.GetPartitionKeys(id);
                if (partitionKeys == null) {
                    continue;
                }

                var identifier = GetContextPartitionIdentifier(partitionKeys);
                identifiers.Put(id, identifier);
            }

            return new ContextPartitionCollection(identifiers);
        }
Beispiel #2
0
 public ICollection<int> GetAgentInstanceIds(ContextPartitionSelector selector)
 {
     return Realization.GetAgentInstanceIds(selector);
 }