標準のCognos名前空間でグループのサブグループを取得しようとしています。
すべてのグループを取得するためにコンテンツストアを照会すると、正常に機能します。オブジェクトの「メンバー」を取得する標準的なメソッドは、ユーザーまたは「ルート」グループ(サブグループが必要なグループ)のみを返します。他には何もありません...
私は何か間違ったことをしているのですか、それとも単に「行われてはいけない」のですか?
標準のCognos名前空間でグループのサブグループを取得しようとしています。
すべてのグループを取得するためにコンテンツストアを照会すると、正常に機能します。オブジェクトの「メンバー」を取得する標準的なメソッドは、ユーザーまたは「ルート」グループ(サブグループが必要なグループ)のみを返します。他には何もありません...
私は何か間違ったことをしているのですか、それとも単に「行われてはいけない」のですか?
私はそれを行う方法を見つけました:
サブグループが必要なグループの検索パスがあると仮定します。次のPropEnumを使用して、コンテンツストアにクエリを実行します。
PropEnum[] props = {
PropEnum.defaultName,
PropEnum.searchPath,
PropEnum.members };
その結果、BaseClass[] object
(要素は1つだけですが...)が得られます。インポートcom.cognos.developer.schemas.bibus._3.Group
<---これはCognosSDKライブラリの一部であり、object[0]
グループにキャストできるようになりました。
object.getMembers().getValue()[]
グループ、ロール、アカウントを含むすべてのメンバーの配列です。
Javaでは、次のようになります(オブジェクトのクエリはすでに実行されています)。
Group group = (Group)object[0];
BaseClass obj = null;
for (int i = 0; i < group.getMembers().getValue().length; i++){
obj = group.getMembers().getValue();
System.out.println(obj.getSearchPath().getValue());
}