2

Jackrabbit/JCR 2.0 を使用しています。

次のシナリオを想像してみてください: ノードを追加し、それをチェックアウトし、いくつかのプロパティを編集してチェックインします。それからまたやります。

次に、バージョン履歴でバージョン 1.0 と 1.1 が作成されていることがわかります。1、2、3など、常に1ずつインクリメントするにはどうすればよいですか?

また、バージョン タイプのノードがある場合、実際のバージョン管理されたノード (データを含むノード) にアクセスするにはどうすればよいですか?

また、バージョンのコメントや作成者 (チェックインしたユーザー) など、バージョンに関連する他のプロパティを追加して取得するにはどうすればよいですか?

4

1 に答える 1

3

独自のバージョン番号プロパティを使用して、必要に応じてインクリメントできるようにする必要があります(特に、単純なバージョン管理モードでない場合)。履歴と履歴バージョンのプロパティにアクセスするには、VersionHisotyを使用し、次のようなコードを使用してバージョンノードを取得する必要があります。

VersionHistory history = session.getWorkspace().getVersionManager().getVersionHistory("/my/node/path");
// To iterate over all versions
VersionIterator versions = history.getAllVersions();
while (versions.hasNext()) {
  Version version = versions.nextVersion();
}
// Obtain version per name
Version mySpecificVersion = history.getVersion("myVersion");
//Obtain version per label
Version labelisedVersion = history.getVersionByLabel("myLabel");
String myVersionPropertyValue = labelisedVersion.getFrozenNode().getProperty("myProperty").getString();
于 2012-12-03T07:22:34.813 に答える