0

私はデータストレージJavaFxに接続されたプロジェクトに取り組んでいます。Documentumそして、フォルダー(Folder1と呼びましょう)に配置されたファイル(file1と呼びましょう)を別のフォルダー(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 にキャストできません

私の間違いがどこにあるか知っている人はいますか?または、どこで間違っていますか?

4

1 に答える 1

1

それは明らかです、並んで

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

docId パラメータは、ドキュメント オブジェクトではなく、フォルダ オブジェクトを表します。最初に型チェックを行って確認し、または のいずれかを使用してIDfFolderくださいIDfDocument。フォルダーを別のフォルダーに移動していることが確実な場合は、変更するだけではなく IDfDocument-> IDfFolder.

于 2016-10-13T06:07:39.823 に答える