我有一个WTPart对象,它有一些Describe链接(与WTDocument)相关联。现在我需要通过代码修改描述链接。如何修改WTPartDescribeLink?
以下是我已经试过到目前为止
Vector localVector=new Vector();
QueryResult localQueryResult=WTPartHelper.service.getDescribedByWTDocuments(part,false);
System.out.println("size is "+localQueryResult.size());
if((localQueryResult!=null)&&(localQueryResult.hasMoreElements()))
{
while(localQueryResult.hasMoreElements())
{
WTObject localObject=(WTObject) localQueryResult.nextElement();
localVector.addElement(localObject);
}
}
if((localVector!=null)&&(localVector.size()>0))
{
for(int i=0;i<localVector.size();i++)
{
WTPartDescribeLink localPartlink=(WTPartDescribeLink) localVector.elementAt(i);
WTDocument localWTDocument=localPartlink.getDescribedBy();
System.out.println("values are "+localWTDocument.getNumber());
RevisionControlled localRevisionControlled=null;
localRevisionControlled=(RevisionControlled) VersionControlHelper.service.newVersion(localWTDocument);
localRevisionControlled=(RevisionControlled) PersistenceHelper.manager.save(localRevisionControlled);
}
}
此代码修改仅被链接为Describelink但不能修改Describelink的WTDocument对象的代码。 如果我直接通过描述链接对象这样
localRevisionControlled=(RevisionControlled) VersionControlHelper.service.newVersion((Versioned)localPartlink);
意味着我得到错误消息像下面
Exception in thread "main" java.lang.ClassCastException: wt.part.WTPartDescribeLink cannot be cast to wt.vc.Versioned
at ext.gt.test.CheckLink.getPartlink(CheckLink.java:100)
at ext.gt.test.CheckLink.searchPart(CheckLink.java:52)
at ext.gt.test.CheckLink.main(CheckLink.java:32)
我不知道如何解决这个问题,但我需要修改部分描述通过代码进行链接。建议我为此或某些示例代码段所需的API对我很有用。
由于在ClassCastException中引发,WTPartDescribeLink无法进行版本控制。 版本化的对象是WTPart,WTDocument,EPMDocument,但是是任何链接对象。 如果你想更新WTPartDescribeLink,你必须创建一个新版本的WTPart(即链接持有者)。 – 2013-03-12 07:37:46