如何使用 DXL 脚本从 IBM Doors 加载特定基线

2023-12-09

我编写了一个从批处理文件运行的 DXL 脚本,它接收一个模块路径、一个基线和一个视图。批处理命令打开 IBM Doors 9.6 后,脚本应该转到具有相关视图的模块路径并加载输入的基线。

我的问题是我的脚本加载了current基线而不是我输入的基线。 我找不到加载正确基线的当前命令。

这是我的脚本:

mod = #MODULE#
xi_baseline = #BASELINE#
string mView = #VIEW#
Module m

int indexOf(string source, char c)
{
        int i = 0
        for (i = 0; i < length(source); i++)
        {           
                    if(source[i] == c)
                    {
                                return i
                    }
        }
        
        return -1
 }

int pos = indexOf(xi_baseline,'.')
string bsMajor = xi_baseline[0:pos - 1] "\n"
string bsMinor = xi_baseline[pos + 1:]
Baseline b = baseline(intOf(bsMajor), intOf(bsMinor), "")
m = read(mod)
load view mView

我需要的正确基线保存在 b 变量中,我的问题是我需要使用什么正确的命令/函数才能从门接收该基线?


您将需要一个中间 ModName_ 和一个 ModuleVersion。 假设您的输入参数是模块的全名和以以下格式给出的基线versionString呈现它,假设您的基线可能足够,您的代码可能如下所示:

Module loadBaseline (string sFullName, string sBaseline. bool shallDisplay) {
  // baselines must begin with digits <major> followed by a dot, followed by digits <minor>.
 //  If the baseline has a suffix, it is given inside brackets (<suffix>)
  Regexp reBL = regexp2 "^([0-9]+)\\.([0-9]+) ?\\(?([^)]*)\\)"

  if (!reBL sBaseline) {
    return null Module
  }

  int iMajor = intOf realOf sBaseline[match 1]
  int iMinor = intOf realOf sBaseline[match 2]
  string sSuffix = sBaseline[match 3]

  ModName_ mn = module (sFullName)
  if (null mn) {
    return null Module
  }
  Baseline b = baseline (iMajor, iMinor, sSuffix)
  ModuleVersion mv = moduleVersion (mn, b)
  Module m = load (mv, shallDisplay)
  return m
}


string sFullName = "/full/path/to/module/including/name"
string sBaseline = "1.26 (QS)"

Module m = loadBaseline (sFullName, sBaseline, true)
if (!load (m, view (mView), false)) then error "could not load view of module " sFullName

Edit2:加载视图时使用了错误的参数。脚本现在应该是正确的(未经测试)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 DXL 脚本从 IBM Doors 加载特定基线 的相关文章

随机推荐

  • 为什么java ThreadPoolExecutor在发生RuntimeException时杀死线程?

    为什么在调用execute方法时 worker中会重新抛出unhanded异常 因此 将在下次执行时创建新线程以最大化线程数 为什么java ThreadPoolExecutor在发生RuntimeException时杀死线程 我只能猜测原
  • iOS 3DES 与 ECB 返回一半正确数据

    使用 3DES ECB 算法加密密码时遇到问题 这是我使用的代码 class func encryptPassword pass String gt String let keyString 123456789012345678901234
  • 在 C# 中重用数组

    所以我正在优化一个非常非常频繁地使用字节数组的C 程序 我编写了一种回收池的东西来重用必须由GC收集的数组 像那样 public class ArrayPool
  • 将 mysql 转换为 pdo

    所以我有一个应该处理所有数据执行操作的函数 sql function loadResult sql this gt connect sth mysql query sql rows array while r mysql fetch obj
  • 使用 fastxml.jackson 将 JSON 解析为 Java 记录

    根据设计 Java 记录不能从另一个对象继承 请参阅为什么Java记录不支持继承 所以我想知道实现以下目标的最佳方法是什么 鉴于我的 JSON 数据包含具有一些通用数据 独特数据的对象 例如 类型 宽度和高度适用于所有形状 但根据类型 它们
  • AngularJS 和 jquery 移动

    我通过 AngularJS 中的控制器将 html partial 加载到 ng view 指令中 html 部分看起来像这样 div ul li a href detailsuser a A a li li a href detailsu
  • 将 Http“Post”请求发送到 C 或 C++ 中的 PHP 代码

    我正在尝试向我的 php 文件发送 post 请求并获取信息 它工作正常 但是 在打印 php 文件中的响应之前 它还会打印一些内容 这就是它打印的内容 first HTTP 1 1 200 OK Date Fri 20 Apr 2012
  • ASP.NET MVC 自定义路由 很长的自定义路由在我脑海中没有出现

    今天我花了几个小时阅读有关在 ASP NET MVC 中进行自定义路由的内容 我可以理解如何执行任何类型的自定义路由 如果它从默认路由扩展或类似于 小于默认路由 但是 我正在尝试找出如何执行类似于以下内容的路线 Language Langu
  • 对自定义类的 IEnumerable 中具有特定 ID 的项目求和

    CustomClass int ID int numberToSum float numToAverage IEnumerable
  • Volley速度慢并导致内存泄漏

    在我的项目中 我使用 volley 下载 JSON 流 我解析该流并将其显示在列表视图中 我使用以下方法加载数据 private void loadEventData int year final int month get volley
  • 在您的 delphi 应用程序中托管 WSH(VBScript、JavaScript)?

    我正在寻找从我的 Delphi 应用程序执行用户提供的脚本 是否可以在我的应用程序中托管 Windows 脚本宿主引擎并为其提供要执行的脚本 或者 有更好的方法来解决这个问题吗 P S 我不是在寻找第三方组件 这是完全可能的 并且有大量代码
  • 替换每行中第一次出现的位置

    假设我有一个格式如下的文档 word1 word2 word3 word4 word5 word6 word7 word8 我该如何使用sed将第一次出现的空格替换为逗号后跟空格 以便文档如下所示 word1 word2 word3 wor
  • 在从命令行调用的 Jython 脚本中使用 UCanAccess

    操作系统 Windows7 Jython2 7 0FR 最终版本 尝试将 Gord Thompson 的解决方案与 Jython 结合使用 在没有 ODBC 的情况下从 Java 操作 Access 数据库 我可以让 Ucanaccess
  • 如何在核心java中实现图?

    我有一个有向未加权图 给出了节点的数量和节点之间的所有链接 我尝试使用向量数组来完成该任务 但 java 不支持它 ArrayList 和 Vectors 支持随机访问迭代器 但无法在 java 中执行此操作 因为我是新手 我不想使用二维矩
  • 排序合并的数据框

    作为一个相当新的 R 程序员 我似乎遇到了一个奇怪的问题 可能是我对 R 缺乏经验 在读取连续文件并将其合并到单个数据帧中后 我发现顺序未按预期对数据进行排序 我在每个文件中有多个引用 但每个文件引用在不同时间获得的测量数据 这是代码 li
  • 正确的 Bash 和 shell 脚本变量大写 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我遇到过许多变量全部大写的 shell 脚本 我一直认为这存在严重的误解 我的理解是 按照惯例 也许很久以前就有必要 环境变量全部大写 但在像 Bash 这样的现代脚本环境中 我一直更喜欢
  • Google oauth java 客户端获取访问令牌失败,并显示“400 Bad Request {“error”:“invalid_request”}”

    我正在使用此处显示的 Web 服务器应用程序 示例 在我的回调 servlet 中 我想检索访问令牌 但无法成功执行此操作 以下是我的代码 Override protected String getUserId HttpServletReq
  • UIAnimation的理解

    我正在尝试使用以下代码来执行一些动画 void performSlidingfromX int xx fromY int yy UIImageView Image self getImage UIView beginAnimations n
  • 透明JButton

    是否可以使 JButton 透明 包括边框 但不透明文本 我扩展了 swing 的 JButton 并覆盖了它 Override public void paint Graphics g Graphics2D g2 Graphics2D g
  • 如何使用 DXL 脚本从 IBM Doors 加载特定基线

    我编写了一个从批处理文件运行的 DXL 脚本 它接收一个模块路径 一个基线和一个视图 批处理命令打开 IBM Doors 9 6 后 脚本应该转到具有相关视图的模块路径并加载输入的基线 我的问题是我的脚本加载了current基线而不是我输入