知识积累

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

知识积累

常用类记录

wt.access.AccessControlHelper.manager.hasAccess(Object obj, AccessPermission access);

判断是当前用户对指定对象是否有指定操作的权限,可以通过策略管理器配置权限。wt.content.contentHelper

doc = (WTDocument)ContentHelper.service.getContents(doc);

List items = ContentHelper.getContentListAll(doc);

wt.content.ContentItem

wt.lifycycle.State

State[] state = State.getStateSet();//返回系统中所有存在的state

wt.query.QuerySpec

QuerySpecc qs = new QuerySpec(WTDocument.class);

●qs.setAdvancedQueryEnabled(true);//

●ClassAttribute ca = new ClassAttribute(WTDocument.class, WTDocument.PERSIST_INFO+"."

+PersistInfo.CREATE_STAMP);

OrderBy orderBy = new OrderBy(ca,true);

qs.appendOrderBy(orderBy,new int[]{0})//设置查询结果的排序列

●qs.setQueryLimit(size);//设置查询结果的限制数量

wt.query.SearchCondition

new SearchCondition(WTDocument.class,WTDocument.CREATE_TIMESTAMP, SearchCondition.GREATER_THAN_OR_EQUAL,timestamp)

注:参数分别是:类、关键字、条件、内容,示例中意思是构建一个查询条件:查询WTDocument,

且WTDocument的创建时间大于等于指定的timestamp。

wt.session.SessionContext

WTPrincipal admin = SessionHelper.manager.getAdministrator();//获取管理员用户WTPrincipal current = SessionContext.setEffectivePrincipal(admin);//设置环境为管理员用户,且

返回当前用户。SessionContext.setEffectivePrincipal(current);//目标管理员用户处理完任务后,切换回原来的

用户。

wt.type.ClientTypedUtility

TypeDefinitionReference tdr1 =

ClientTypedUtility.getTypeDefinitionReference(WTUtil.qualifyTypeId(CmQuestionConstants.QUES TIONITEM_SOFTTYPE));

注:根据类型id获取“类型定义引用”。其中WTUtil.qualifyTypeld用于修正id。

public static final String QUESTIONITEM_SOFTTYPE="wt.doc.WTDocument|QuestionItem"; 配置

配置BackgroundMethodServer监听队列处理信息

1.向site.conf中添加行:

2.windchill shell中执行xconfmanager -p 更新

代码实例

关于查询

public static Vector getLatestQues(int size) throws Exception { boolean flag = SessionServerHelper.manager.setAccessEnforced(false);

try {

Vector ret = new Vector();

QuerySpec qs = new QuerySpec(WTDocument.class);

qs.setAdvancedQueryEnabled(true);

TypeDefinitionReference tdr1 =

ClientTypedUtility.getTypeDefinitionReference(WTUtil.qualifyTypeId(CmQuestionConstants. QUESTIONITEM_SOFTTYPE));

long branchId1 = tdr1.getKey().getBranchId();

qs.appendWhere(new SearchCondition(WTDocument.class, WTDocument.TYPE_DEFINITION_REFERENCE + "." + TypeDefinitionReference.KEY + "." + TypeDefinitionForeignKey.BRANCH_ID,

SearchCondition.EQUAL, branchId1), new int[]{0});

qs = new LatestConfigSpec().appendSearchCriteria(qs);

qs.appendAnd();

qs.appendWhere(new SearchCondition(WTDocument.class, WTDocument.CREATE_TIMESTAMP, SearchCondition.GREATER_THAN_OR_EQUAL, CmDateUtil.getCurrentDayZeroOracleTime()), new int[]{0});

ClassAttribute ca = new ClassAttribute(WTDocument.class, WTDocument.PERSIST_INFO + "." + PersistInfo.CREATE_STAMP);

OrderBy orderBy = new OrderBy(ca, true);

qs.appendOrderBy(orderBy, new int[]{0});

if (size != -1) {

qs.setQueryLimit(size);

}

Debug.P("getLatestKnows sql :" + qs.toString());

QueryResult qr = null;

try {

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

} catch (PartialResultException pe) {

qr = pe.getQueryResult();

}

CmQuestionItemInfo info = null;

WTDocument doc = null;

CmUserInfo userInfo = null;

HashMap ibaMap = null;

while (qr.hasMoreElements()) {

doc = (WTDocument) qr.nextElement();

info = new CmQuestionItemInfo();

ibaMap = new HashMap();

CmIBAHelper.getIBAValuesLite(doc, ibaMap);

userInfo = CmQuestionUtil.getCmUserInfo(doc.getCreator().getPrincipal());

addIBAValueToCmQuestionItemInfo(info, ibaMap);

info.setOid(CmReferenceFactoryUtil.getOID(doc));

info.setQuestionTitle(doc.getName());

info.setQuestionContent(doc.getDescription());

info.setUserInfo(userInfo);

info.setQuestionState(doc.getLifeCycleState().getFullDisplay());

info.setCreateTime(doc.getCreateTimestamp());

info.setModifyTime(doc.getModifyTimestamp());

相关文档
最新文档