2014-09-18 7 views
1

저는 학생이며 Filenet을 처음 사용합니다. 파일 이동에 대한 테스트 코드를 작성하려고합니다.경로가있는 Filenet에 FileStorageArea 가져 오기 [문서 이동]

Document doc = Factory.Document.getInstance(os, ClassNames.DOCUMENT, new Id("{33074B6E-FD19-4C0D-96FC-D809633D35BF}")); 
FileStorageArea newDocClassFSA = Factory.FileStorageArea.fetchInstance(os, new Id("{3C6CEE68-D8CC-44A5-AEE7-CADE9752AA77}"), null); 

doc.moveContent(dsa); 
doc.save(RefreshMode.REFRESH); 

것은 내가이 같은 해당 경로로

doc = Factory.Document.fetchInstance(os, "/DEMO/MASTERFILE/ZONE-X/Org.No-XXXXX/XXXX-X-XXXX-X.TIF",null); 

을 문서를 가져올 수 있지만 경로로 StorageArea를 가져올 수 없다는 것입니다, 그것은 단지 ID를합니다. 파일을 쉽게 옮길 수 있습니까? 쿼리를 사용하지 않고 경로가있는 ID를 얻으려면 어떻게해야합니까?

 //Get ID of the Document 
     StringBuffer propertyNames = new StringBuffer(); 
     propertyNames.append(PropertyNames.ID); 
     propertyNames.append(" "); 
     propertyNames.append(PropertyNames.PATH_NAME); 

     PropertyFilter pf=new PropertyFilter(); 

     FilterElement felement= new FilterElement(Integer.valueOf(0),Long.valueOf(0),Boolean.TRUE,propertyNames.toString(),Integer.valueOf(0)); 
     pf.addIncludeProperty(felement); 

     Document document = Factory.Document.fetchInstance(os, ruta, pf); 

     idDocument = document.get_Id().toString(); 

당신이 그것을 가지고 idDocument 문자열 :

답변

-2

당신은 경로를 사용하여 문서의 ID에 액세스 할 수 있습니다. 희망이 도움이됩니다.

+0

좋은 답변입니다. 흥미로운 점은 경로를 통해 가져올 수없는 이유를 이해하는 것입니다. – abarisone

+1

@abarisone이 대답은 의미가 없습니다. 객체의 ID는 항상 존재하지만 객체는 가져옵니다. PropertyFilter를 사용한 조작은 쓸모가 없습니다. 어떤 식 으로든 문제를 해결하지 못한다고 말할 수는 없습니다. – fnt

0

FileStorageArea을 가져 오는 방법은 RootDirectoryPath 속성으로 쿼리 및 필터를 실행하는 것 이외의 다른 방법으로는 가져올 수 없습니다.