我有一個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