首页 > 其他分享 >基线相关操作

基线相关操作

时间:2022-10-09 11:15:50浏览次数:46  
标签:obj baseline ManagedBaseline 基线 nmOid 相关 操作 null throws

/**
     * 创建指定名称基线
     * @throws WTException
     */
    public static ManagedBaseline createBaseline() throws WTException {
        PersistableAdapter persistableAdapter = new PersistableAdapter("wt.vc.baseline.ManagedBaseline",
                null, null);
        persistableAdapter.load( "name");

        persistableAdapter.set("name", "testBaseline");
        ManagedBaseline baseline = (ManagedBaseline) persistableAdapter.apply();
        baseline = (ManagedBaseline) PersistenceHelper.manager.save(baseline);
        return baseline;
    }
 /**
     * 将BOM包括父件加入基线
     * @throws WTException
     */
    public static void insertIntoBaseline(String pOid, String bOid) throws WTException {
        WTPart rootPart = null;
        WTCollection collection = new WTArrayList();
        NmOid nmOid = NmOid.newNmOid(pOid);
        Object refObj = nmOid.getRefObject();
        if (refObj != null && refObj instanceof WTPart){
            rootPart = (WTPart) refObj;
        }
        WTCollection collections = findBOM(rootPart, collection);
        ManagedBaseline baseline = null;
        nmOid = nmOid.newNmOid(bOid);
        refObj = nmOid.getRefObject();
        if (refObj != null && refObj instanceof ManagedBaseline){
            baseline = (ManagedBaseline) refObj;
            baseline = (ManagedBaseline) BaselineHelper.service.addToBaseline(rootPart, baseline);
        }
        for (Object obj : collections.persistableCollection()){
            WTPart part = (WTPart) obj;
            baseline = (ManagedBaseline) BaselineHelper.service.addToBaseline(part, baseline);
        }
    }

    /**
     * 递归查找BOM所有子件
     * @param part
     * @param collection
     * @return
     * @throws WTException
     */
    public static WTCollection findBOM(WTPart part, WTCollection collection) throws WTException {
        WTPartConfigSpec wtPartConfigSpec = WTPartHelper.service.findWTPartConfigSpec();
        WTPartStandardConfigSpec standardConfigSpec = wtPartConfigSpec.getStandard();
        QueryResult qr = WTPartHelper.service.getUsesWTParts(part, standardConfigSpec);
        while (qr.hasMoreElements()){
            Object[] arr = (Object[]) qr.nextElement();
            if (arr[1] instanceof WTPart){
                WTPart part1 = (WTPart) arr[1];
                collection.add(part1);
                findBOM(part1,collection);
            }
        }
        return collection;
    }

 

    /**
     * 基线中删除对象
     * @throws WTException
     */
    public static void deletePartFromBaseline(String pOid, String bOid) throws WTException {
        WTPart part = null;
        NmOid nmOid = NmOid.newNmOid(pOid);
        Object obj = nmOid.getRefObject();
        if (obj != null && obj instanceof WTPart){
            part = (WTPart) obj;
        }
        ManagedBaseline baseline = null;
        nmOid = nmOid.newNmOid(bOid);
        obj = nmOid.getRefObject();
        if (obj != null && obj instanceof ManagedBaseline){
            baseline = (ManagedBaseline) obj;
        }
        if (part != null && baseline != null){
            baseline = (ManagedBaseline) BaselineHelper.service.removeFromBaseline(part, baseline);
        }
    }
/**
     * 锁定基线
     * @throws WTException
     */
    public static void lockBaseline(String bOid) throws WTException, WTPropertyVetoException {
        ManagedBaseline baseline = null;
        NmOid nmOid = NmOid.newNmOid(bOid);
        Object obj = nmOid.getRefObject();
        if (obj != null && obj instanceof ManagedBaseline){
            baseline = (ManagedBaseline) obj;
            baseline = (ManagedBaseline) LockHelper.service.lock(baseline, SessionHelper.manager.getPrincipalReference());
        }
    }
    
    /**
     * 解锁基线
     * @param bOid
     * @throws WTException
     * @throws WTPropertyVetoException
     */
    public static void unlockBaseline(String bOid) throws WTException, WTPropertyVetoException {
        ManagedBaseline baseline = null;
        NmOid nmOid = NmOid.newNmOid(bOid);
        Object obj = nmOid.getRefObject();
        if (obj != null && obj instanceof ManagedBaseline){
            baseline = (ManagedBaseline) obj;
            baseline = (ManagedBaseline) LockHelper.service.unlock(baseline, SessionHelper.manager.getPrincipalReference());
        }
    }

 

标签:obj,baseline,ManagedBaseline,基线,nmOid,相关,操作,null,throws
From: https://www.cnblogs.com/SHH269157/p/16771403.html

相关文章

  • docker安装clickhouse以及相关的语法操作
    第一步:先拉取clickhouse镜像(dockerpullyandex/clickhouse-server) 第二步:再拉取clickhouses客户端(为以后连接clickhouses数据库:dockerpullyandex/clickhouse-client......
  • git 操作记录
    gitpull拉去线上的。gitbranch查看当前分支gitbranch-r查看远程分支gitcheckout[分支名称]切换到某个分支gitpush​​​http://www.open-open.com/lib/vi......
  • CentOS 8操作
    CentOS8操作1.安装一些常用的Linux工具net-tools:yuminstallnet-toolsvim:Yum-yinstallvim 2.系统的一些小坑“Failedtodownloadmetadataforrepo‘......
  • spring 的相关的事务失效的问题总结
     这一个问题,真的是很有意思。之前不了解的时候觉得会用就行了。但是真的不知道里边这么多坑。不过这些坑都真的很有意思。它推着你去了解底层。推着你看源码,了解实现原理......
  • MobaXterm注册认证版,亲测可用,操作简单(本机已安装python3环境)
    去github地址下下载代码  解压后在该目录下打开CMD执行MobaXterm-Keygen.py<UserName><Version>命令  生成的文件放在安装目录下,我的是免安装版,放在exe同目......
  • 打印三角形及 Debug 操作
    打印三角形//Java-零基础学习/src/process/Demo15packageprocess;​publicclassDemo15{  publicstaticvoidmain(String[]args){    //打印三角形 ......
  • 10月8日内容总结——文件操作之文本模式和二进制模式、文件内光标的移动
    目录一、文件操作1、概念讲解2、通过代码打开文件的两种方式方式一:方法二:一些小知识点总结:二、文件的读写模式1、只读模式(r)2、只写模式(w)3、只追加模式(a)三、文件的操作模式......
  • Python pandas DataFrame 行列的常用操作及运算
    Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量......
  • 文件操作/模式
    目录今日内容概要1.文件操作2.文件读写模式3.文件操作模式:4.文件操作方法5.练习题及答案今日内容概要文件操作文件读写模式文件诸多方法文件内光标的移动练习题及答......
  • 文件操作
    目录一.前言二.在python中打开/关闭文件open方法close资源回收with上下文管理(推荐使用)三.文件的操作模式r模式的使用w模式的使用a模式的使用+模式的使用b模式的使用(重......