标签: code-generation

从 XSD 生成 SQL 架构并将 XML 文件加载到 SQL Server

我有一个 XSD 文件和许多 XML 数据文件。从 XSD 文件创建数据库/表然后将所有 XML 文件加载到生成的数据库架构中的最快方法是什么?

目前,我不在乎它是使用代码生成工具还是其他任何工具。我只想知道最快的方法来做到这一点。

.net xml sql-server xsd code-generation

5
推荐指数
1
解决办法
1万
查看次数

如何生成 Spring WebMVC CRUD API

我想要做的是从数据库表/Hibernate JPA 实体创建一个完整的 Spring WebMVC CRUD API,到现有的 Maven Web 项目中。我想要生成的,准确地说:

  • Spring WebMVC 控制器(映射和实现)
  • JPA 实体(如果未提供)- ofc。使用大多数 IDE 内置的标准代
  • Spring Data JPA 存储库
  • 可选地修改一些其他文件(将实体添加到现有的persistence.xml)

有这个项目吗?创建这样的东西的最佳方法是什么?我想到的:

  • 独立Java APP
  • Maven 子生成器
  • Eclipse 插件
  • 标准代码生成方法(fe Acceleo 插件)

你有什么建议?

java spring code-generation

5
推荐指数
1
解决办法
8901
查看次数

如何使用 Java 注释像 C 宏一样插入一些样板代码?

我想使用 Java 注释来插入代码(方法调用等)。假设我有这样的代码:

     ActionBar bar = getActionBar();
     assert bar != null;
     bar.setIcon(android.R.color.transparent);
     EventBus.getDefault().register(this);
     checkGPS();
Run Code Online (Sandbox Code Playgroud)

此代码出现在我的每个 Activity 类中。而不是每次我想要这样的东西时都写它:@PrepareActivity这将扩展代码。在 C 或 C++ 中,我可以简单地使用#define PrepareActivity \ .... 我可以用 Java 注释编写相同的内容吗?以及如何做到这一点?谢谢。

java code-generation annotations

5
推荐指数
1
解决办法
1651
查看次数

使用类型参数生成构造函数调用

我想TreeMaker在我的 netbeans 代码生成器插件中使用类型参数生成构造函数调用。此外,我想导入类型而不是使用完全限定的名称(请参阅 参考资料QualIdent)。

我正在为此目的使用该NewClass方法。

例子:

给定输入java.util.ArrayList和java.lang.Integer生成的代码应该类似于:

import java.util.ArrayList;

...

new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

如果输入是java.util.ArrayList,java.util.List<java.lang.Integer>并且生成的代码应该类似于:

import java.util.ArrayList;
import java.util.List;

...

new ArrayList<List<Integer>>();
Run Code Online (Sandbox Code Playgroud)

(类型参数列表存储为List<? extends TypeMirror>)

如何生成所需的输出?

到目前为止我尝试过的:

(maker是TreeMaker实例)

  1. 将类型名称转换为字符串:

    String className = "java.util.ArrayList<java.util.List<java.lang.Integer>>"; // actually computed in real code
    
    maker.NewClass(null,
                   Collections.<ExpressionTree>emptyList(),
                   maker.QualIdent(className),
                   Collections.<ExpressionTree>emptyList(),
                   null);
    
    Run Code Online (Sandbox Code Playgroud)

    这会产生语法/语义正确的 java 代码,但使用完全限定的类名,即 new java.util.ArrayList<java.util.List<java.lang.Integer>>()

  2. 通过typeArguments至NewClass:

    List<ExpressionTree> typeArguments = Collections.singletonList(maker.QualIdent("java.lang.Integer")); // actually computed …
    Run Code Online (Sandbox Code Playgroud)

java code-generation netbeans-platform netbeans-8

5
推荐指数
0
解决办法
202
查看次数

从 YAML 生成 javascript 类/对象

是否有任何工具可以从 YAML 生成 JavaScript 类?

我有一个大摇大摆的 YAML,我想生成如下所示的 javascript 模型:

'use strict';

function Product(name,description){
    this.name = name;
    this.description = description;
    this.toString = function(){
        return this.name+" : "+this.description;
}
Run Code Online (Sandbox Code Playgroud)

}

使用大摇大摆的 YAML :

.
.
.
definitions:
  product:
properties:
  name:
    type: string
  description:
    type: string
required:
  - name
  - description
.
.
.
Run Code Online (Sandbox Code Playgroud)

javascript yaml code-generation generator swagger

5
推荐指数
1
解决办法
1876
查看次数

从 Node.js 生成 javascript 的最佳模板引擎

对我来说,要生成 HTML 或 XML,pug 是我最喜欢的一种。

但是,当预期结果不是基于标记语言时,我曾经使用 Handlebars。但是当我使用handlebar动态生成javascript时,维护模板和保持生成代码漂亮的可读性非常困难。

当我用 java 做同样的事情时,我更喜欢使用 Xtend。

是否有任何旨在生成代码的模板引擎?(这不是基于 AST)


全场景

  1. 我使用 TypeScript 制作了一个 Java Script 库。
  2. 为了使 Eclipse 的 Java Script 类型推理引擎能够支持该库的内容辅助,我需要创建一些 TS 到 JS 骨架的反编译器。(结果js只包含Eclipse JS功能的scheme和js-doc)
  3. 我使用 NPM 的 type-script 来检查库方案。
  4. 我将 TypeScript AST 转换为我自己的目的模型来生成 JavaScript 文件。
  5. 然后我需要从这个模型生成 Java Script 文件,我正在寻找最好的模板引擎。
  6. 模板引擎应该易于管理缩进、迭代、条件模板,以生成具有可读模板的清晰代码。

code-generation template-engine node.js

5
推荐指数
1
解决办法
1329
查看次数

用于生成 JavaScript 代码的 Java 库

我需要从 Java 程序内部生成 JavaScript (ECMAScript) 代码。为此,我正在寻找类似JavaPoet 的东西,但生成 JavaScript 作为输出。

我不能使用将另一种语言翻译成 JavaScript 的这些转译器中的一个(例如 GWT 不是答案),也不能使用从语法树生成 JavaScript 的工具(只有当有一个库可以帮助构建该语法树时......)。

像已经提到的 JavaPoet 之类的东西将是答案,因为它在内存使用和代码大小方面的占用空间都非常小。

生成的 JavaScript 代码的目标是 Java/JSR 223 (Nashorn),如果这相关的话。

指定要求:JavaPoet 使用此代码

MethodSpec main = MethodSpec.methodBuilder("main")
    .addModifiers(Modifier.PUBLIC, Modifier.STATIC)
    .returns(void.class)
    .addParameter(String[].class, "args")
    .addStatement("$T.out.println($S)", System.class, "Hello, JavaPoet!")
    .build();

TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld")
    .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
    .addMethod(main)
    .build();

JavaFile javaFile = JavaFile.builder("com.example.helloworld", helloWorld)
    .build();
javaFile.writeTo(System.out);
Run Code Online (Sandbox Code Playgroud)

创建此 Java 代码

package com.example.helloworld;

public final class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, JavaPoet!");
  }
}
Run Code Online (Sandbox Code Playgroud)

(我已经从 JavaPoet …

javascript java code-generation jsr223

5
推荐指数
1
解决办法
3054
查看次数

在 Jest 中动态生成测试

我正在寻找一种在 Jest 中生成测试并运行它们的方法。我正在测试一个 API,测试用例是从 CSV 文件导入的,从中生成测试。

目前我得到的是一组参数,我想从中生成测试并运行它们。这就是我看到它的工作方式:

let testFn =  (testName, request, expected) => it(test.testName, (request, expected) => {
    return new Promise((resolve, reject) => {
        http.post(request, (err, res) => {
            if (err) {
                reject(err);
            } else {
                resolve(res);
            }
        })
    }).then((res) => {
        expect(res.result).toBe(expected['result']);
        return response;
    })
});
Run Code Online (Sandbox Code Playgroud)

上面的代码是我的测试功能。在我看来,应该调用它来执行测试。它根据 3 个参数生成测试:

  • testName 他是测试的名称,在控制台中显示
  • request 是发送到 API 的请求
  • expected 是预期的结果。

结构总是相同的:res.result应该是参数中的任何内容expect。

我从 CSV 获得的带有测试的数组元素的示例是:

const oneTest = {
    testName: 'the request should return 10',
    request: {
        input: …
Run Code Online (Sandbox Code Playgroud)

javascript testing code-generation jestjs

5
推荐指数
1
解决办法
3779
查看次数

如何为自耕农生成器提示注册inquirer.js 插件?

在创作自耕农生成器时,我想在我的一个提示中使用查询器的“自动完成”插件(https://github.com/mokkabonna/inquirer-autocomplete-prompt)。我似乎无法在文档中找到任何说明如何从自耕农生成器中向查询器注册此插件的内容。这可能吗?

code-generation node.js yeoman yeoman-generator inquirerjs

5
推荐指数
1
解决办法
392
查看次数

“去生成”多行命令

我试图//go:generate在编译我的代码之前使用外部工具运行,并且由于我需要传递一定数量的参数,因此该行变得相当长。

好像没有办法写多行go:generate命令,对吗?是否有替代方法?

谢谢

code-generation go

5
推荐指数
2
解决办法
2727
查看次数