从Filenet Enterprise记录中获取记录信息

时间:2015-11-02 15:26:49

标签: java filenet-p8 filenet filenet-content-engine ibm-enterprise-records

我正在尝试使用Java获取与记录相关的信息。我可以获得标题,所有者,创建日期等基本信息。现在我需要获取与该特定记录相关的文档的信息。假设我们从Doc1创建了Rec1,我需要获取有关Doc1的信息。我试着寻找可能的解决方案,但没有运气。请告诉我在哪里可以找到所需的信息。

    // Create a JARM connection to the CE
    jarmDomainConnection = RMFactory.DomainConnection.createInstance(DomainType.P8_CE, ceServerURL, null);
    // Set the IER subject
    com.ibm.jarm.api.util.RMUserContext ierUC = com.ibm.jarm.api.util.RMUserContext.get();
    javax.security.auth.Subject subject = com.ibm.jarm.api.util.RMUserContext.createSubject(jarmDomainConnection, userName,
    password, JAAS_STANZA);
    ierUC.setSubject(subject);
    // Get the IER JARM domain
    jarmDomain = RMFactory.RMDomain.fetchInstance(jarmDomainConnection, null, null);    
    // Connect to the IER object stores
    jarmROS = com.ibm.jarm.api.core.RMFactory.ContentRepository.fetchInstance(jarmDomain, rosName,null);
    jarmFPOS = RMFactory.FilePlanRepository.fetchInstance(jarmDomain, fposName,null);
    com.ibm.jarm.api.core.Record r = RMFactory.Record.fetchInstance(jarmFPOS, "{C3EBF49F-B193-432C-8A18-3EED321F7051}", pf);
    System.out.println(r.getName().toString());

我得到了一个获取recordAssociatedByIDs的选项,但是它适用于RecordInfo对象,而不适用于Record类型。即使我尝试将Record转换为RecordInfo类型,也会抛出错误。 请提供任何意见。

1 个答案:

答案 0 :(得分:0)

我希望你已经找到了答案,因为这已经过期了。可以通过关联的内容项检索与记录关联的文档(可以有多个)。但是,ContentItem位于JARM上下文中,而不是通常的Document / P8 API上下文中,因此您需要更改它。在JARM中,你有P8CE_Convert工具类,就是这样。

对于那些寻找解决方案的人来说,答案如下:

PageableSet<ContentItem> contentItems = record.getAssociatedContentItems();

Iterator<ContentItem> iter = contentItems.iterator();
while(iter.hasNext())
{
   ContentItem jarmContentItem = iter.next();
   Document p8Doc = P8CE_Convert.fromJARM(jarmContentItem);
   // read stuff
}