このGitHubリポジトリには、IVOA標準とプロトコルを実装する3つのライブラリのソースが含まれています。
完全なドキュメント/チュートリアルと3つのライブラリのデモについては、AdQltuto、Uwstuto、Taptutoの次のWebサイトにアクセスする必要があります。
これらのライブラリはJava 7で開発されています。
これらのライブラリの3つは、LGPL V3ライセンスの条件の下にあります。ファイルSRC/コピーとSRC/COPYING.LESSERで完全な説明とすべての使用条件を見つけることができます。
ここで遭遇する問題を宣言することを強くお勧めします。したがって、同じ問題を抱えている人なら誰でも、自分の問題がすでに知られているかどうかを確認できます。問題がわかっている場合、その決議に関する進捗や/またはコメントが公開されます。
さらに、このリポジトリを分岐して、ライブラリの他のユーザーに興味を持っている可能性が高い補正をした場合は、ここにプルリクエストを送信してください。これらの変更がIVOAの定義に適切であり、USECaseにそれほど具体的でない場合、このリポジトリに統合され(多分いくつかの変更の後)、したがって誰もが利用できるようになります。
各ライブラリには独自のパッケージがあります( adql用ADQL、UWS用のuws 、タップ用のtap )。これらのパッケージは、他の2つのパッケージが必要なtapを除いて独立しています。これらのパッケージに加えて、ライブラリへの依存関係であるcdsもあります。
以下は、各ライブラリの依存関係を要約しています。
| ADQL | UWS | タップします | |
|---|---|---|---|
パッケージadql | x | x | |
パッケージcds.utils | x | x | |
| Postgres JDBCドライバー | x | x | |
パッケージuws | x | x | |
| JSONライブラリ | x | x | |
| HTTPサーブレットAPI | x | x | |
| HTTPマルチパートライブラリ | x | x | |
パッケージcds.* | x | ||
| Stil Library | x |
libディレクトリには、3つのJARファイルがあります。
commons-fileupload-1.3.3.jar (およびcommons-io-2.6.jar )。このライブラリは、アップロードを扱うのに役立ちます。stil_3.3-2.jar (すなわちnom.tap 、 org.apache.tools.bzip2 、 uk.ac.starlink )。このライブラリは、有権者(読み取りと書き込み)およびその他の出力形式をサポートするのに役立ちます。json-20180813.jar (つまり、前者にはパッケージorg.jsonが含まれていました)。このライブラリは、JSONコンテンツの操作に役立ちます。このライブラリはすでに使用されていました(UWS-LIBのV4.4およびTAP-LIBのV2.3の前)が、外部ライブラリと見なされるのではなく、ソースに含まれていました。 Postgres JDBCドライバーは、 adql.translator.PgSphereTranslatorを使用(および保持する)場合にのみ必要です。このドライバーをPostgreSQL Webサイトで入手できます。 ADQLおよびTAPライブラリに必要なパッケージは、 org.postgresql (特にクラスorg.postgresql.Driver )です。
HTTPサーブレットAPIは、通常、使用しているWebアプリケーションサーバーに沿っているライブラリで利用できます。たとえば、Tomcatの場合、Linuxシステムに適性がある場合は、Directory lib (OR /var/lib/tomcat-x/lib ; xはTomcatのバージョン番号)にあります。 UWSおよびタップライブラリに必要なパッケージはjavax.servletです。
注:ホストシステムとのバージョンの互換性を回避するために、Postgres JDBCドライバーとHTTPサーブレットAPIはこのGitリポジトリに提供されていません(つまり、このリポジトリをチェックアウト/クローン/フォークするときにマシン)。
これら3つのライブラリのソースには、いくつかのJunitテストファイルが付属しています。 testディレクトリで見つけることができます。
Eclipseを使用している場合(または別の統合開発環境でも)、Junitは通常すでに利用可能です。その後、提供されたJunitテストファイルを直接実行およびコンパイルできます。したがって、すぐに言及した2つのライブラリは必要ありません。
それ以外の場合は、Junitライブラリを取得する必要があります。通常、JDKが提供されていますが、Junit Webサイトで対応するJARも見つけることができます。
また、 hamcrestという別のライブラリが必要になる場合があります。これをMavenリポジトリで見つけることができます。必要なものをすべて確実に用意するために、 hamcrest-all瓶として取るだけです。
注:ホストシステムとのバージョンの互換性を回避するために、JunitおよびHamcrestライブラリはこのGitリポジトリには提供されていません(つまり、このリポジトリをチェックアウト/クローン/フォークするときにマシン)。
リポジトリのルートには、3つのAntスクリプトがあります。それぞれが1つのライブラリ専用です。彼らは、ソース、バイナリ、Javadoc用のJARを生成することができます。
これらのスクリプトのいずれかを使用する前に、4つのプロパティを設定する必要があります。
POSTGRES :すべてのorg.postgresql.* - [https://jdbc.postgresql.org/download.html]を含むjarまたはバイナリディレクトリへのパスSERVLET-API :すべてのjavax.servlet.*JUNIT-API 、Junitテストを実行することに興味がない場合は不要です。すべてのクラスを含む1つまたは複数の瓶またはバイナリディレクトリへのパスJunitを使用します。JNDI-APIタップのみであり、Junitテストを実行することに興味がある場合にのみ:JNDIを実行するためにすべてのクラスを含む1つまたは複数のジャーまたはバイナリディレクトリへのパス。そのためにいくつかのライブラリが存在します。 Simple-jndiは非常にシンプルで、ライブラリ開発者が関連するJunitテストを実行するために使用されます。注: JNDIライブラリが機能し、特定のライブラリを課す理由はないため、このGITリポジトリにはJNDIライブラリが提供されていません。また、ソースをコンパイルするために必要な他のライブラリと同様に、ホストシステムとのバージョンの互換性を回避できます(つまり、このリポジトリをチェックアウト/クローン/フォークするときにマシン)。
これらのANTスクリプトにはすべて、次の主なターゲットがあります。
junitValidation :ターゲットライブラリに関連するすべてのJunitテストを実行し、あらゆるエラーでアリを停止します。ターゲットライブラリがタップしている場合、3つのライブラリのJunitテストが実行されます。buildLibデフォルト:Junitテストを実行し、すべて成功した場合は、ターゲットライブラリのクラスをコンパイルし、それらと依存関係とJARファイルを構築します。buildLibAndSrc :すべてのソースと必要なライブラリを含むJARファイルのbuildLib +構築と同じです。buildJavadoc :ターゲットライブラリのクラスのJavadocを含む瓶を生成します。buildAll : buildLibAndSrcとbuildJavadocに相当します。結果は3つの瓶です。1つは編集されたクラス、1つは対応するソースを備え、最後のソースを使用します。コードは、他のプロジェクトに含まれるJARファイルとして、またはTomcatに展開される戦争ファイルとして、Gradleで構築できます。