状況:
私は実際に、Java アプリケーション内の LDAP ソースから連絡先情報を読み取っています。見つかった SearchResult には、必要なすべての値が含まれています。問題はありません。SearchResult が利用可能になったら、その属性を読み取る必要があります。読み取る属性は、ユーザーが構成ファイルで指定します。
例で説明した問題:
ユーザーは、プロパティ「stateOrProvinceName」を読み取るように指定します。LDAP はこれを「st」として処理します。返される Searchresult には、「st」をキーとする key=>value ペアが含まれます。「stateOrProvinceName」を調べても、もちろん見つかりません。その「st」キーが必要ですが、代替 Ldap フィールド名の mappnig を手動でコーディングしたくありません。関連するコード部分:
Attributes ldapAttributes = foundContact.getAttributes();
Attribute wantedAttribute = ldapAttributes.get(ldapFieldName);
説明: 「foundContact」は SearchResult です。その属性を「ldapAttributes」に保存します。「ldapFieldName」は名前であり、構成ファイルで指定されたユーザー (「stateOrProvinceName」など) です。この属性を取得して「wantedAttribute」に保存しようとします。「stateOrProvinceName」が含まれていない場合、「wantedAttribute」はもちろん null です。しかし、「st」が存在するので、これを null にしたくありません;)
質問:
属性の 1 つの名前を指定して、すべての代替名のリストを取得する「簡単な」方法はありますか?
御時間ありがとうございます!