java - 将文件或文件夹从 Documentum 中的一个存储库迁移到另一个存储库

标签 java javafx documentum dfc

我正在开发一个连接到 Documentum 数据存储的 JavaFx 项目。我正在尝试配置如何将放置在文件夹(让我们称之为Folder1)中的文件(让我们称之为Folder1)移动到另一个文件夹(让我们称之为Folder2)。值得一提的是,这两个文件夹位于同一个柜子中。我已经实现了以下类(class):

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;


    }


    }

我传递的是我希望移动的文件的 r_object_id,而不是 docId,但出现以下错误:

com.documentum.fc.client.DfFolder___PROXY cannot be cast to com.documentum.fc.client.IDfDocument

有人知道我的错误在哪里吗?或者我哪里做错了?

最佳答案

很明显,符合

IDfDocument doc = (IDfDocument) mySession . getObject(new DfId(docId));

docId参数代表文件夹对象,而不是文档对象。首先进行类型检查以确保确定,然后使用 IDfFolderIDfDocument。如果您确定要将文件夹移动到另一个文件夹,而不仅仅是更改 IDfDocument -> IDfFolder

关于java - 将文件或文件夹从 Documentum 中的一个存储库迁移到另一个存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40011654/

相关文章:

java - 如果在 preparedstatement.execute() 期间互联网中断,则在 JDBC 上下载 blob 文件会导致内存泄漏

javafx粗笔画路径(线)与圆之间的碰撞问题

Javafx:如何将 ComboBox 项目动态绑定(bind)到从数据库更新自身的可观察列表

java - 将数据插入 map 列表在 Java 中花费太多时间

java - 如何在不使用Maven的情况下在JavaFx项目中部署log4j version2

java - 抽屉导航 Activity ,通过 fragment 发送

java - 为什么我无法在 JSP 文件中显示 MySQL BLOB 类型的图像?

java - 在列表中分配 ASCII 字符 A-Z

java - 如何减少或增加方 block ,同时保持其绝对定位?

documentum - 删除DQL语句中前100个对象