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