GuidesChangelogData Inspector Library API Reference
Guides

NotificationApi

Data Client NotificationApi

The NotificationApi mirrors the Notification Rest Api.

It provides ways to get some notification when catalogs or subscriptions are changed.

For the full NotificationApi specification, see NotificationApi.

The following pages describe the per-request configuration and metrics.

Example

val client = BaseClient()
val notificationApi = client.of[NotificationAPIV2Api]

val someHrn = "hrn:here:data::olp-here-test:whatever"
val someLayer = "whateverStreamLayer"
val result: Future[String] =
  notificationApi
    .subscribe(someHrn,
               SubscribeRequest(notificationCatalogHRN = Some(someHrn),
                                notificationStreamLayerId = Some(someLayer)))
    .executeToEntity()

result
  .andThen {
    case Success(subscriptionId) =>
      // do something with the subscription id
      println(s"${subscriptionId}")
    case Failure(ex) =>
      ex.printStackTrace()
  }

Await.result(result, Duration.Inf)
BaseClient client = BaseClientJava.instance();
NotificationAPIV2Api notificationApi = new NotificationAPIV2Api(client);

String someHrn = "hrn:here:data::olp-here-test:whatever";
String someLayer = "whateverStreamLayer";

String subscriptionId =
    notificationApi
        .subscribe()
        .withHrn(someHrn)
        .withSubscribeRequest(
            new JSubscribeRequest.Builder()
                .withNotificationCatalogHRN(someHrn)
                .withNotificationStreamLayerId(someLayer)
                .build())
        .build()
        .executeToEntity()
        .toCompletableFuture()
        .join();

// do something with the the subscription id
System.out.println(subscriptionId);