java - 如何修改WTPartDescribeLink?

标签 java ptc-windchill

我有一个 WTPart 对象,它有一些与之关联的描述链接(如 WTDocument)。现在我需要通过代码修改描述链接。

以下是我迄今为止尝试过的代码

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 的WTDocument 对象,但不修改Describelink。 如果我像这样直接传递描述链接对象

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,或者一些示例代码片段对我有用。

最佳答案

如果您需要更新 WTPartDescribeLink 上的某些属性,则应创建新版本的 WTPart(而不是 WTDocument)。
可以使用以下代码来完成:

part = VersionControlHelper.service.newVersion(part);
QueryResult qr =WTPartHelper.service.getDescribedByWTDocuments(part,false);

if(qr!=null)
{
    while(qr.hasMoreElements())
    {
       WTPartDescribeLink link =(WTPartDescribeLink) localQueryResult.nextElement();
       /** ...
       Update some attributes on the link
       ... **/
       link= PersistenceServerHelper.manager.save(link);
    }
}

最好进行 checkout / checkin ,以便创建 WTPart 的新迭代并使用 Windchill 事务包围操作

关于java - 如何修改WTPartDescribeLink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335033/

相关文章:

java - 将表保存在 Docker 容器中

java - 蠕虫(蛇)游戏,棋子生长/move

java - Android AdView NoClassDefFoundError

java - 如何在 Windchill GUI 中的列表内添加自定义按钮

java - 在方法中导入类?

java - 如何通过API获取windchill中的序号

java - 使用鼠标滚轮时如何加快 JScrollPane 中的滚动速度?

java - jsp页面不需要显示

java - Spring Boot Jackson Databind - 配置继承