I am working on a JavaFx project connected to Documentum data storage . And I am trying to configure how to move a folder (lets call it folder11) placed in a folder (lets call it Folder1) into another folder (lets call it Folder2) . It's worth mentioning that both of the Folders are in the same cabinet . I have implemented the following 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);
              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;
    }
    }
And here is how I call it :
 Migrate test = new Migrate();
 System.out.println(test.move(_session, "0b01b66980028599" ,"Cabinet/LEXOPEDIA/Sateri/Hong Kong" ));
But the problem is no matter what mo.execute always return false and the migration always fails . Does any one know where my mistake is ? :) 
 
    