wtdocument创建以及文件夹的创建

package jwis.retest;


import wt.doc.WTDocument;
import wt.fc.PersistenceHelper;
import wt.fc.QueryResult;
import wt.folder.Folder;
import wt.folder.FolderHelper;
import wt.folder.SubFolder;
import wt.inf.container.WTContainer;
import wt.inf.container.WTContainerRef;
import wt.method.RemoteAccess;
import wt.method.RemoteMethodServer;
import wt.pds.StatementSpec;
import wt.query.QueryException;
import wt.query.QuerySpec;
import wt.query.SearchCondition;
import wt.query.WhereExpression;
import wt.util.WTException;

/**
*
* @author Administrator
* 新建文档
*/

public class InitDocument implements RemoteAccess {

// 获取产品容器
public static WTContainer getContain(String containName){

int[] index = {0};

try {

QuerySpec spec = new QuerySpec(WTContainer.class);

SearchCondition sc = new SearchCondition(WTContainer.class, WTContainer.NAME,"=",containName);

spec.appendWhere(sc, index);

QueryResult rs = PersistenceHelper.manager.find((StatementSpec) spec);

while(rs.hasMoreElements()){

WTContainer container =(WTContainer) rs.nextElement();

return container;
}

} catch (QueryException e) {

e.printStackTrace();

} catch (WTException e) {

e.printStackTrace();

}
return null;
}

//根据产品id和文档的名称查询文档
public static WTDocument getDocument(String docName, WTContainer container){

int[] index = {0};

WTDocument doc = null;

QueryResult result = null;

long containerId = PersistenceHelper.getObjectIdentifier(container).getId();

try {

QuerySpec qs = new QuerySpec(WTDocument.class);

WhereExpression ws = new SearchCondition(WTDocument.class, WTDocument.NAME,SearchCondition.EQUAL,docName);

qs.appendWhere(ws, index);

qs.appendAnd();

ws = new SearchCondition(WTDocument.class,"containerReference.key.id",SearchCondition.EQUAL,containerId);

qs.appendWhere(ws, index);

result = PersistenceHelper.manager.find((StatementSpec) qs);

while(result.hasMoreElements()){

doc = (WTDocument) result.nextElement();
}

} catch (QueryException e) {

e.printStackTrace();

} catch (WTException e) {

e.printStackTrace();

}
return doc;
}


// 创建文件夹目录
public static void creatDirectory(String array[], WTContainerRef containerRef){

// 获得容器的目录
String path = ((WTContainer) containerRef.getObject()).getDefaultCabinet().getFolderPath();

if(array != null){
//下级目录的个数
int len = array.length;

Folder folder = null;

//根据array数组创建文件夹
for(int i = 0; i < len; i++){

try {

folder = FolderHelper.service.getFolder(path, containerRef);

path = path + '/' + array[i];

QueryResult result = FolderHelper.service.findSubFolders(folder);

//若不存在该文件夹,则新建该文件夹
if(!checkFolder(result,array[i])){

FolderHelper.service.createSubFolder(path, containerRef);
}


} catch (WTException e) {

e.printStackTrace();

}

}

}

}


// 判断文件夹是否存在
public static boolean checkFolder(QueryResult result, String str){

if(result == null){
return false;
}
while(result.hasMoreElements()){

Object object = result.nextElement();

if(object instanceof SubFolder){

SubFolder subfolder = (SubFolder)object;

if(subfolder.getName().equals(str)){

return true;

}

}
else{
return false;
}

}

return false;
}


// 主函数
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception {

RemoteMethodServer server = RemoteMethodServer.getDefault();

server.setUserName("wcadmin");

server.setPassword("katch");

String contName = "test";

WTContainer cont = getContain(contName);

WTContainerRef contrf = WTContainerRef.newWTContainerRef(cont);
// 获取产品的oid
System.out.println("产品的OID为:"+contrf.getObjectId());

// 获取文档的信息
WTDocument document = getDocument("bus", cont);

System.out.println(document.getNumber());


String array[] = {"one","two","three"};

//创建文件夹(路径)
creatDirectory(array,contrf);

// 路径创建成功
System.out.println("多级文件目录创建成功!!");

}



}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值