当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript abap-adt-api.ADTClient类代码示例

本文整理汇总了TypeScript中abap-adt-api.ADTClient的典型用法代码示例。如果您正苦于以下问题:TypeScript ADTClient类的具体用法?TypeScript ADTClient怎么用?TypeScript ADTClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ADTClient类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: selectTransport

export async function selectTransport(
  objContentPath: string,
  devClass: string,
  client: ADTClient,
  forCreation: boolean = false
): Promise<TransportSelection> {
  const ti = await client.transportInfo(
    objContentPath,
    devClass,
    forCreation ? "I" : ""
  )
  // if I have a lock return the locking transport
  // will probably be a task but should be fine

  if (ti.LOCKS) return sel(ti.LOCKS.HEADER.TRKORR)

  if (ti.DLVUNIT === "LOCAL") return sel("")
  const CREATENEW = "Create a new transport"
  const selection = await window.showQuickPick([
    CREATENEW,
    ...ti.TRANSPORTS.map(t => `${t.TRKORR} ${t.AS4TEXT}`)
  ])

  if (!selection) return sel("", true)
  if (selection === CREATENEW) {
    const text = await window.showInputBox({ prompt: "Request text" })
    if (!text) return sel("", true)
    return sel(await client.createTransport(objContentPath, text, ti.DEVCLASS))
  } else return sel(selection.split(" ")[0])
}
开发者ID:valdirmendesgt,项目名称:vscode_abap_remote_fs,代码行数:30,代码来源:AdtTransports.ts

示例2: getContentsUri

 public getContentsUri(): string {
   if (!this.structure || !this.techName)
     throw FileSystemError.FileNotFound(this.path)
   const include = ADTClient.classIncludes(this.structure).get(this
     .techName as classIncludes)
   if (!include) throw FileSystemError.FileNotFound(this.path)
   return include
 }
开发者ID:valdirmendesgt,项目名称:vscode_abap_remote_fs,代码行数:8,代码来源:AbapClassInclude.ts

示例3: loadMetadata

 public async loadMetadata(client: ADTClient): Promise<AbapObject> {
   if (this.name) {
     const struc = await client.objectStructure(this.path)
     if (isClassStructure(struc)) {
       this.structure = struc
     }
   }
   return this
 }
开发者ID:valdirmendesgt,项目名称:vscode_abap_remote_fs,代码行数:9,代码来源:AbapClass.ts

示例4: getChildren

  public async getChildren(
    client: ADTClient
  ): Promise<AbapNodeComponentByCategory[]> {
    if (this.isLeaf()) throw FileSystemError.FileNotADirectory(this.vsName)
    if (!this.structure) await this.loadMetadata(client)
    if (!this.structure) throw FileSystemError.FileNotFound(this.vsName)

    const ns: NodeStructureMapped = {
      categories: new Map(),
      objectTypes: new Map(),
      nodes: []
    }
    const main = this.selfLeafNode()
    main.OBJECT_URI = ADTClient.mainInclude(this.structure)
    const sources = ADTClient.classIncludes(this.structure)
    this.structure.includes.forEach(i => {
      const node = {
        EXPANDABLE: "",
        OBJECT_NAME: this.name + "." + i["class:includeType"],
        OBJECT_TYPE: i["adtcore:type"],
        OBJECT_URI: sources.get(i["class:includeType"] as classIncludes) || "",
        OBJECT_VIT_URI: "",
        TECH_NAME: i["class:includeType"] // bit of a hack, used to match include metadata
      }
      if (node.OBJECT_URI) {
        if (i["abapsource:sourceUri"] === "source/main") ns.nodes.unshift(node)
        else ns.nodes.push(node)
      }
    })

    const aggregated = aggregateNodes(ns, this.type)
    for (const cat of aggregated)
      for (const type of cat.types)
        for (const incl of type.objects)
          if (isClassInclude(incl)) incl.setParent(this)

    return aggregated
  }
开发者ID:valdirmendesgt,项目名称:vscode_abap_remote_fs,代码行数:38,代码来源:AbapClass.ts

示例5: activate

 public async activate(object: AbapObject) {
   // TODO: handle multiple inactive components
   const inactive = object.getActivationSubject()
   let result
   let message
   try {
     result = await this.client.activate(inactive.name, inactive.path)
     if (result.inactive.length > 0) {
       const inactives = inactiveObjectsInResults(result)
       result = await this.client.activate(inactives)
     }
   } catch (e) {
     if (isAdtError(e) && e.type === "invalidMainProgram") {
       const mainProg = await this.selectMain(inactive)
       if (mainProg)
         result = await this.client.activate(
           inactive.name,
           inactive.path,
           mainProg
         )
     } else message = e.toString()
   }
   if (result && result.success) {
     await inactive.loadMetadata(this.client)
   } else {
     window.showErrorMessage(
       (result && result.messages[0] && result.messages[0].shortText) ||
         message ||
         `Error activating ${object.name}`
     )
   }
 }
开发者ID:valdirmendesgt,项目名称:vscode_abap_remote_fs,代码行数:32,代码来源:AdtObjectActivator.ts


注:本文中的abap-adt-api.ADTClient类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。