Я работаю над проектом JavaFx
, связанным с хранилищем данных Documentum
. И я пытаюсь настроить, как перемещать файл (позволяет вызывать его file1), помещенный в папку (позволяет вызвать Folder1) в другую папку (позволяет вызвать Folder2). Стоит отметить, что обе папки находятся в одном шкафу. Я реализовал следующий класс:Перенос файла или папки из одного репозитория в другой в Documentum
package application;
import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.DfClient;
import com.documentum.fc.client.IDfDocument;
import com.documentum.fc.client.IDfFolder;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.DfId;
import com.documentum.operations.IDfMoveNode;
import com.documentum.operations.IDfMoveOperation;
public class Migrate {
public Migrate(){}
public String move (IDfSession mySession,String docId, String destination){
String str ="";
try{
IDfClientX clientx = new DfClientX();
IDfMoveOperation mo = clientx . getMoveOperation();
IDfFolder destinationDirectory = mySession . getFolderByPath(destination);
//Here is the line that causes error
mo.setDestinationFolderId(destinationDirectory . getObjectId());
IDfDocument doc = (IDfDocument) mySession . getObject(new DfId(docId));
IDfMoveNode node = (IDfMoveNode)mo.add(doc);
if (mo.execute()) {
str= "Move operation successful . ";
}
else {
str = "Move operation failed . ";
}
}catch(DfException e){
System.out.println(e.getLocalizedMessage());
}
return str;
}
}
вместо DocId я передаю через r_object_id файла я желающей быть перемещен, но я получаю следующее сообщение об ошибке:
com.documentum.fc .client.DfFolder ___ PROXY не может быть приведен к com.documentum.fc.client.IDfDocument
знает любой, где моя ошибка есть? Или где я делаю это неправильно?
Я хотел бы задать вам еще один вопрос относительно этого. Что касается параметра, который я определил, называемого «destination», мне нужно правильно указать путь к папке назначения? –
Я не уверен, как работает механизм перемещения, но обязательно укажите, где вы хотите переместить объекты. – Miki