2016-10-13 16 views
0

Documentum 데이터 저장소에 연결된 JavaFx 프로젝트에서 작업 중입니다. 그리고 파일을 옮기는 방법을 설정하려고합니다. (folder1이라고 부름) 폴더에있는 파일 (file1)을 다른 폴더 (folder2라고 부르죠)에 넣습니다. 두 폴더가 같은 캐비닛에 있음을 언급 할 가치가 있습니다. 나는 다음과 같은 클래스를 구현 한 :Documentum의 한 저장소에서 다른 저장소로 파일 또는 폴더 마이그레이션

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 내 잘못이 어디 하나라도 알고 있나요 com.documentum.fc.client.IDfDocument

에 캐스트 할 수없는 이유는 무엇입니까? 아니면 내가 잘못하고 있니?

답변

1

그것은

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

DOCID 매개 변수 라인

에, 분명 폴더 개체가 아닌 문서 객체를 나타냅니다. 형식 확인을 먼저 수행하고 IDfFolder 또는 IDfDocument을 사용하십시오. IDfDocument -> IDfFolder을 변경하는 것보다 폴더를 다른 폴더로 이동하는 것이 확실한 경우.

+0

이 문제에 관해 다시 한 가지 질문하고 싶습니다. 내가 정의한 매개 변수에 관해서는 "대상"이라고 불렀습니다. 대상 폴더의 경로를 올바르게 전달해야합니까? –

+0

어떻게 움직이는 메커니즘이 작동하는지 잘 모르겠지만 확실하게, 당신은 당신이 당신의 물체를 움직이기 원하는 곳을 지정할 필요가 있습니다. – Miki