2013-12-05 5 views
0

Я реализую Stepen Process Step. Я должен получить документ из хранилища объектов, moddify и сохранить измененную версию в том же хранилище объектов. У меня есть рабочий апплет для тестов. Я не могу запросить у пользователя дополнительную отправку логина и пароля, мне нужно работать с объектом VWSession. Документ, который я должен получить, отправляется в виде шага. Я знаю, как получить прикрепленный идентификатор документа. Как получить документ по идентификатору из Java Step Processor с использованием объекта VWSession в качестве точки подключения к хранилищу объектов?Filenet хранение и получение объектов из магазина - Java Step Processor

ответ

-1

Получение учетных данных пользователей не так уж сложно. В модуле stepprocessor Java просто доп следующее:

String userName = controller.getDataStore().getServerCredentials().getUserId(); 
String userPwd = controller.getDataStore().getServerCredentials().getPassword(); 

Для получения документа вы имеете в виду, как правило, вы не получите, что над VWConnection но над контентом подключения двигателя.

получение документа с помощью ID:

Factory.Document.fetchInstance(objectStore, guid, null); 

Надеется, что это помогает

1

Получить экземпляр ObjectStore (Получить DomainId от VWSession, и построить домен, используя соединение с VWSession также) и передать Присоединение к нижеприведенному методу:

private String getIdFromAttachment(VWAttachment att, ObjectStore os) { 
    if (att.getLibraryType() != 3) { 
     String libtype = String.valueOf(att.getLibraryType()); 
     throw new VWException("hk.ibm.ecm.cpa.uwfcustomcomponent.InvalidLibraryType", 
       "Cannot convert object from non-CE repository, type {0}.", libtype); 
    } 

    String attId = att.getId(); 
    switch (att.getType()) { 
    case 3: 
    case 4: 
     VersionSeries vs = (VersionSeries) os.getObject("VersionSeries", attId); 
     vs.refresh(); 
     String ver = att.getVersion(); 
     return getIdBasedOnVersion(vs, ver); 
    default: 
     return attId; 
    } 
} 

private String getIdBasedOnVersion(VersionSeries vs, String ver) { 
    if (ver == null) { 
     Document current = (Document) vs.get_CurrentVersion(); 
     current.refresh(); 
     return current.get_Id().toString(); 
    } else if ("-1".equals(ver)) { 
     Document released = (Document) vs.get_ReleasedVersion(); 
     released.refresh(); 
     return released.get_Id().toString(); 
    } else { 
     return ver; 
    } 
}