2015-11-04 5 views
0

У меня возникла проблема, когда я не могу получить информацию о документе, связанную с записью. Строка ниже используется, чтобы получить конкретную запись,Проблема при извлечении информации о документе из файла записи

com.ibm.jarm.api.core.Record г = RMFactory.Record.fetchInstance (jarmFPOS, «{AE10E0F1-323F-4445-A529-78F744E8D3E4} ", ноль);

Теперь, когда у меня есть объект записи, мне нужно получить информацию о документе, такую ​​как DocId, DocTitle, DocOwner и т. Д. Я знаю, что необходимая информация хранится в свойстве, называемом «RecordedDocuments», или мы можем использовать RMProperty .DOCUMENT_LINK, из которого мы можем получить значение. Я использую что-то вроде ниже.

Объект obj3 = (Object) r.getProperties(). Get (RMProperty.DOCUMENT_LINK) .getObjectValue();

Моя проблема здесь. Я не могу получить значения из объекта. Я пробовал приписывать его объекту документа, но не повезло. Я продолжаю получать ошибку при печати. Может кто-нибудь, пожалуйста, помогите мне, как получить желаемый результат.

Спасибо.

ответ

0

Объект Link не будет документом напрямую ... Я не очень хорошо знаком с API-интерфейсом RM, больше с API-интерфейсом CE, но это, вероятно, будет реализация интерфейса RMLink.

Что я обычно делаю в таком случае, это распечатать имя класса java объекта (obj3.getClass().getName()), и это даст вам хороший признак того, какой объект API вы можете использовать.

0

Может быть, это потому, что это был список, а не документ, который не прошел кастинг? Попробуйте, что вам рассказали полоноко и напечатайте имя класса.

Или попробуйте этот код :)

List<com.filenet.api.core.Document> doc = (List<com.filenet.api.core.Document>) r.getProperties().get(RMProperty.DOCUMENT_LINK).getObjectValue();