Перенос файла или папки из одного хранилища в другое в Documentum
Я работаю над JavaFx
проект подключен к Documentum
хранилище данных. И я пытаюсь настроить, как переместить файл (назовем его file1), помещенный в папку (назовем его Folder1), в другую папку (назовем его Folder2) . Стоит отметить, что обе папки находятся в одном шкафу. Я реализовал следующий класс:
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
Кто-нибудь знает, где моя ошибка? Или где я делаю это неправильно?
1 ответ
Это очевидно, в соответствии
IDfDocument doc = (IDfDocument) mySession . getObject(new DfId(docId));
параметр docId представляет объект папки, а не объект документа. Сначала проверьте тип, а затем используйте либо IDfFolder
или же IDfDocument
, Если вы уверены, что перемещаете папку в другую, чем просто изменить IDfDocument
-> IDfFolder
,