Example #1
0
        private void OnGetResourcesCore(object sender, DualListRequestEventArgs <v12.Protocol.Discovery.GetResources, v12.Datatypes.Object.Resource, v12.Datatypes.Object.Edge> args)
        {
            var handler   = (v12.Protocol.Discovery.IDiscoveryStore)sender;
            var resources = Enumerable.Empty <v12.Datatypes.Object.Resource>();

            bool?activeStatusFilter = null;

            if (args.Request.Body.ActiveStatusFilter != null)
            {
                activeStatusFilter = args.Request.Body.ActiveStatusFilter == v12.Datatypes.Object.ActiveStatusKind.Active ? true : false;
            }

            var uri = new EtpUri(args.Request.Body.Context.Uri);

            if (!uri.IsEtp12)
            {
                args.FinalError = handler.ErrorInfo().InvalidUri(uri);
            }
            else if (uri.IsDataRootUri || uri.IsObjectUri) // List data objects
            {
                resources = Store.GetObjects(EtpVersion.v12, new MockGraphContext(args.Request.Body), activeStatusFilter, args.Request.Body.StoreLastWriteFilter)
                            .Where(o => handler.Session.SessionSupportedDataObjects.IsSupported(o.DataObjectType))
                            .Select(o => o.Resource12(true));
            }
            else
            {
                args.FinalError = handler.ErrorInfo().InvalidUri(uri);
            }

            args.Responses1.AddRange(resources);
        }
Example #2
0
 private void OnGetResources(object sender, DualListRequestEventArgs <v12.Protocol.Discovery.GetResources, v12.Datatypes.Object.Resource, v12.Datatypes.Object.Edge> args)
 {
     Store.ExecuteWithLock(() =>
     {
         OnGetResourcesCore(sender, args);
     });
 }
Example #3
0
 protected override void HandleGetResources(DualListRequestEventArgs <GetResources, Resource, Edge> args)
 {
     if (args.Request.Body.Context.Uri == EtpUri.RootUri12)
     {
         var now = DateTime.UtcNow;
         var uri = new EtpUri("eml:///witsml20.Well(5c365045-3a12-49b3-9276-356b90fff03b)");
         args.Responses1.Add(new Resource
         {
             Uri            = uri,
             Name           = "Test Well",
             AlternateUris  = new List <string>(),
             CustomData     = new Dictionary <string, DataValue>(),
             LastChanged    = now,
             StoreLastWrite = now,
             StoreCreated   = now,
             SourceCount    = 0,
             TargetCount    = 0,
             ActiveStatus   = ActiveStatusKind.Inactive,
         });
     }
     else
     {
         args.FinalError = ErrorInfo().NotSupported();
     }
 }
Example #4
0
 /// <summary>
 /// Handles the GetResources message from a customer.
 /// </summary>
 /// <param name="args">The <see cref="DualListRequestEventArgs{GetResources, Resource, Edge}"/> instance containing the event data.</param>
 protected virtual void HandleGetResources(DualListRequestEventArgs <GetResources, Resource, Edge> args)
 {
 }