アプリケーションを作成します

データ クライアント ベース ライブラリを使用すると、 HERE platform データアプリケーションを作成できます。 以下の手順では、 Scala ビルドツール (SBT) および Maven を使用する基本的なアプリケーションのプロセスについて説明します。

資格情報にアクセスします

次の 2 種類の資格情報が必要です。

  1. HERE platform 資格情報 -- HERE platform 資格情報を取得するに は、 https://platform.here.com/profile/apps-and-keys ページから新しいアプリケーションを作成します。 アプリケーションを作成したら 、 [ キーの作成 ] をクリックして、これらの資格情報をダウンロードします。 資格情報をに置き $HOME/.here/credentials.propertiesます。
  2. Repository 資格情報 -- 資格情報を取得してデータ クライアント ベース ライブラリが含まれているリポジトリにアクセスするに は、 https://platform.here.com/profile/repository にアクセスし、 Create 資格情報をクリックしてsettings.xmlファイルをダウンロードします。

プラットフォームおよびリポジトリ資格情報の取得方法の詳細について は、『 Identity & Access Management 開発者ガイド』を参照してください。

ビルドシステムを設定します

以下の手順では、 SBT および Maven プロジェクトを設定する方法について説明します。

SBT の場合、次 ~/.ivy2/.credentials の内容の新しいファイルをで作成します。

realm=Artifactory Realm
host=repo.platform.here.com
user=[REPOSITORY_USERNAME]
password=[REPOSITORY_PASSWORD]

[REPOSITORY_USERNAME] ここで、および [REPOSITORY_PASSWORD] は、ダウンロードされたからのユーザー名とパスワード settings.xmlです。 この情報は servers/server[1] 、 XML ノードで確認できます。

Maven の場合は、ダウンロード settings.xml したをにコピー ~/.m2します。

プロジェクトを作成する

build.sbt SBT または pom.xml Maven のいずれかのファイルを使用して、新しい空のプロジェクトディレクトリを作成します。

SBT
Maven
scalaVersion := "2.12.12"
credentials += Credentials(Path.userHome / ".ivy2" / ".credentials")
resolvers += "HERE Repo" at "https://repo.platform.here.com/artifactory/open-location-platform/"
libraryDependencies ++= Seq(
  "com.here.platform.data.client.base" %% "data-client-base" % "1.0.56"
)
<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.company</groupId>
    <artifactId>my-data-sample</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>com.here.platform.data.client.base</groupId>
            <artifactId>data-client-base_${scala.compat.version}</artifactId>
            <version>1.0.56</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

これでプロジェクトの設定が完了し、データ クライアント ベース ライブラリの使用を開始できます。

次のコード例は、 HERE platform でアクセス権を持つカタログの HERE リソース名 (HRNS) を出力する単純なクラスを示しています。

クラスを含むファイルを、 src/main/scala または src/main/javaプロジェクトの適切なディレクトリに追加します。

Scala
Java
import com.here.platform.data.client.base.generated.codecs.JsonSupport._
import com.here.platform.data.client.base.generated.scaladsl.api.config.ConfigApi
import com.here.platform.data.client.base.generated.scaladsl.model.config.CatalogsResultBase
import com.here.platform.data.client.base.scaladsl.BaseClient

import scala.concurrent.Await
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration.Duration
import scala.util.{Failure, Success}

object ScalaSimpleMain {

  def main(args: Array[String]): Unit = {

    val client = BaseClient()
    val configApi = client.of[ConfigApi]

    val result =
      for {
        catalogsListResult: CatalogsResultBase <- configApi
          .getCatalogs(
            verbose = Some(false),
            organisationType = Nil,
            layerType = Nil,
            region = Nil,
            resourceType = None,
            coverage = Nil,
            access = Nil,
            marketplaceReady = None,
            sortBy = None,
            sortOrder = None
          )
          .executeToEntity()
      } yield {
        catalogsListResult
      }

    result
      .andThen {
        case Success(response) => println(s"response: $response")
        case Failure(ex) => ex.printStackTrace()
      }

    Await.result(result, Duration.Inf)
  }
}
import com.here.platform.data.client.base.generated.javadsl.api.config.ConfigApi;
import com.here.platform.data.client.base.generated.scaladsl.model.config.CatalogsSummaryListResult;
import com.here.platform.data.client.base.javadsl.BaseClient;
import com.here.platform.data.client.base.javadsl.BaseClientJava;
import java.util.Collections;
import java.util.Optional;

public class JavaSimpleMain {
  public static void main(String[] args) {
    BaseClient baseClient = BaseClientJava.instance();
    ConfigApi configApi = new ConfigApi(baseClient);

    CatalogsSummaryListResult listResult =
        (CatalogsSummaryListResult)
            configApi
                .getCatalogs(
                    Optional.of(false),
                    Optional.empty(),
                    Optional.empty(),
                    Collections.emptyList(),
                    Collections.emptyList(),
                    Collections.emptyList(),
                    Optional.empty(),
                    Optional.empty(),
                    Collections.emptyList(),
                    Collections.emptyList(),
                    Optional.empty(),
                    Optional.empty(),
                    Optional.empty(),
                    Optional.empty(),
                    Optional.empty(),
                    Optional.empty())
                .executeToEntity()
                .toCompletableFuture()
                .join();

    System.out.println(listResult);
  }
}

Scala と Java の比較

データ クライアント ベース ライブラリは、 Java バインディングと Scala バインディングの両方をサポートしています。多くのクラスには、javadslscaladslの両方の実装があります。 クラスパッケージに特定のドメイン固有言語 (DSL) が含まれていない場合、このクラスパッケージには Scala と Java の両方で利用できる getter と setter が含まれています。

アーティファクト

SBT
Maven
グレードル
libraryDependencies += "com.here.platform.data.client.base" % "{data-module}" % "1.0.56"
<dependency>
  <groupId>com.here.platform.data.client.base</groupId>
  <artifactId>{data-module}</artifactId>
  <version>1.0.56</version>
</dependency>
dependencies {
  compile group: 'com.here.platform.data.client.base', name: '{data-module}', version: '1.0.56'
}

」に一致する結果は 件です

    」に一致する結果はありません