0

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


              mo.setDestinationFolderId(destinationDirectory . getObjectId());


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

              //System.out.println(doc); The output is : com.documentum.fc.client.DfFolder___PROXY@ec9178
              //System.out.println(mo.execute); output is : true
              IDfMoveNode node = (IDfMoveNode)mo.add(doc);
             // System.out.println(node);  the output : com.documentum.operations.nodes.impl.DfMoveNode@1ad8a67
              //System.out.println(mo.execute); output is : false

                 if (!mo.execute()) {
                     str= "Move operation faild . ";
                     }
                     else {
                     str = "Move operation success . ";
                     }
        }catch(DfException e){
            System.out.println(e.getLocalizedMessage());
        }catch(Exception e){

            System.out.println(e.getLocalizedMessage());
        }


    return str;


    }


    }

そして、ここに私がそれを呼ぶ方法があります:

 Migrate test = new Migrate();
 System.out.println(test.move(_session, "0b01b66980028599" ,"Cabinet/LEXOPEDIA/Sateri/Hong Kong" ));

しかし、問題はmo.execute常に false を返し、移行が常に失敗することです。私の間違いがどこにあるか知っている人はいますか?:)

4

1 に答える 1