/** * Returns the corresponded DMDL model definition. * * @param model the thundergate model * @return the converted model * @throws IllegalArgumentException if some parameters were {@code null} */ public static AstModelDefinition<AstSummarize> generate(SummarizedModelDescription model) { if (model == null) { throw new IllegalArgumentException("model must not be null"); // $NON-NLS-1$ } return new AstModelDefinition<AstSummarize>( null, ModelDefinitionKind.SUMMARIZED, AstBuilder.getDesciption("{0}を集約したモデル", model.getOriginalModel().getSimpleName()), Arrays.asList( new AstAttribute[] { AstBuilder.getAutoProjection(), AstBuilder.getNamespace(AstBuilder.toDmdlName(Constants.SOURCE_VIEW)), AstBuilder.getOriginalName(model.getReference().getSimpleName()), }), AstBuilder.toName(model.getReference()), new SummarizedModelGenerator(model).generateExpression()); }
private AstSummarize generateExpression() { return generateTerm(model.getOriginalModel(), model.getGroupBy()); }