Я рассматриваю старый Java проект, который состоит из пользовательского WorkflowMethod
для Documentum. Это рабочий процесс, запускаемый экспортом проекта Kofax; Странно то, что этот рабочий процесс завершается правильно, когда запускается конкретным проектом Kofax; другой, новый проект с такой же конфигурацией приводит к ошибке.
Сложная часть этого запроса:
final IDfQuery destType = (IDfQuery)new DfQuery();
final String newFolderPath = thisObjectDoc.getString("destination_path");
final String oldFolderPath = thisObjectDoc.getString("i_folder_id");
try {
System.out.println("Link a folder: " + newFolderPath);
thisObjectDoc.link(newFolderPath);
System.out.println("Unlink da folder: " + oldFolderPath);
thisObjectDoc.unlink(oldFolderPath);
thisObjectDoc.save();
}
catch (Exception e) {
e.printStackTrace();
}
destType.setDQL("Select * from isa_tabella_picklist where folder_path='" + newFolderPath + "'");
IDfCollection path = null;
path = destType.execute(sess, 4); //This is line 129
path.next();
final String newType = path.getString("dest_type");
final String alias_set = path.getString("alias_set");
Запрос допустим и должен содержать результат , Но я получаю эту ошибку для вызова execute ():
com.documentum.fc.common.DfEndOfCollectionException: [DFC_QUERY_END_OF_COLLECTION] Attempting to read beyond the end of the collection
at com.documentum.fc.client.impl.collection.TypedDataCollection.validateStateForGet(TypedDataCollection.java:109)
at com.documentum.fc.client.impl.collection.TypedDataCollection.doGetString(TypedDataCollection.java:88)
at com.documentum.fc.client.DfTypedObject.getString(DfTypedObject.java:597)
at com.documentum.fc.client.impl.collection.CollectionHandle.getString(CollectionHandle.java:152)
at it.globo.WorkaroundLC.runDQL(WorkaroundLC.java:129)
at it.globo.WorkaroundLC.doTask(WorkaroundLC.java:80)
at com.documentum.bpm.rtutil.WorkflowMethod.execute(WorkflowMethod.java:214)
Что может быть причиной для этого? Я не понимаю, что validateStateForGet()
.