diff options
5 files changed, 196 insertions, 71 deletions
diff --git a/.gitignore b/.gitignore index 2cb52f0a6..0ed1e1855 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ derby.log *.iml *.ipr *.iws +.idea diff --git a/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CodeGeneratorCliEditor.java b/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CodeGeneratorCliEditor.java index a8fac2f73..acfc087ac 100644 --- a/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CodeGeneratorCliEditor.java +++ b/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/CodeGeneratorCliEditor.java @@ -5,15 +5,15 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - * + * * SPDX-License-Identifier: Apache-2.0 * ============LICENSE_END========================================================= */ @@ -88,16 +88,24 @@ public class CodeGeneratorCliEditor { // CHECKSTYLE:OFF: ParameterNumber - /** The name of the STG file for the code generator. */ + /** + * The name of the STG file for the code generator. + */ public static final String STG_FILE = "org/onap/policy/apex/auth/clicodegen/cli-editor.stg"; - /** The String Template Group, taken from the context. */ + /** + * The String Template Group, taken from the context. + */ private final STGroupFile stg; - /** The ST for the model, loaded from the STG. */ + /** + * The ST for the model, loaded from the STG. + */ private final ST model; - /** A default name space, set from specification. */ + /** + * A default name space, set from specification. + */ private String defaultNamespace; /** @@ -111,7 +119,7 @@ public class CodeGeneratorCliEditor { /** * Adds model parameters to the template. - * + * * @param name the name of the mode, must not be blank * @param version a version, can be null * @param uuid a UUID, can be null @@ -133,7 +141,7 @@ public class CodeGeneratorCliEditor { /** * Returns the model. - * + * * @return the model */ public ST getModel() { @@ -142,7 +150,7 @@ public class CodeGeneratorCliEditor { /** * Sets the default name space. - * + * * @param nameSpace new name space, ignored if blank */ public void setDefaultNamespace(final String nameSpace) { @@ -153,7 +161,7 @@ public class CodeGeneratorCliEditor { /** * Adds a new schema declaration to the model. - * + * * @param name the name of the schema * @param version the version of the declaration * @param uuid the UUID for the declaration @@ -162,7 +170,7 @@ public class CodeGeneratorCliEditor { * @param schema the actual schema declaration, either a string or as <code>LS schema LE</code> */ public void addSchemaDeclaration(final String name, final String version, final String uuid, - final String description, final String flavour, final String schema) { + final String description, final String flavour, final String schema) { final ST st = stg.getInstanceOf("schemaDecl"); st.add(NAME, name); st.add(VERSION, version); @@ -193,7 +201,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new event field definition which belongs to an event. - * + * * @param eventName the event name * @param version the event version * @param fieldName the name for the field in the event @@ -203,7 +211,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for event field definition */ public ST createEventFieldDefinition(final String eventName, final String version, final String fieldName, - final String fieldSchema, final String fieldSchemaVersion, final boolean optional) { + final String fieldSchema, final String fieldSchemaVersion, final boolean optional) { final ST st = stg.getInstanceOf("eventDefField"); st.add(EVENT_NAME, eventName); st.add(VERSION, version); @@ -216,7 +224,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new task logic definition which belongs to a task. - * + * * @param taskName the name of the task * @param version the task version * @param flavour the flavour, e.g. JAVA or JAVASCRIPT @@ -224,7 +232,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for task definition, logic */ public ST createTaskDefLogic(final String taskName, final String version, final String flavour, - final String logic) { + final String logic) { final ST st = stg.getInstanceOf("taskDefLogic"); st.add(TASK_NAME, taskName); st.add(VERSION, version); @@ -235,30 +243,21 @@ public class CodeGeneratorCliEditor { /** * Adds a new event declaration to the model. - * - * @param name the event name - * @param version the event version - * @param uuid a UUID for the definition - * @param description a description of the event - * @param nameSpace the name space for the event - * @param source a source sending the event - * @param target a target receiving the event - * @param fields any event fields + * + * @param eventDeclarationBuilder param object for event declaration */ - public void addEventDeclaration(final String name, final String version, final String uuid, - final String description, final String nameSpace, final String source, final String target, - final List<ST> fields) { + public void addEventDeclaration(EventDeclarationBuilder eventDeclarationBuilder) { final ST st = stg.getInstanceOf("eventDecl"); - st.add(NAME, name); - st.add(VERSION, version); - st.add(UUID, uuid); - st.add(DESCRIPTION, description); - st.add(SOURCE, source); - st.add(TARGET, target); - st.add(FIELDS, fields); - - if (nameSpace != null) { - st.add(NAME_SPACE, nameSpace); + st.add(NAME, eventDeclarationBuilder.getName()); + st.add(VERSION, eventDeclarationBuilder.getVersion()); + st.add(UUID, eventDeclarationBuilder.getUuid()); + st.add(DESCRIPTION, eventDeclarationBuilder.getDescription()); + st.add(SOURCE, eventDeclarationBuilder.getSource()); + st.add(TARGET, eventDeclarationBuilder.getTarget()); + st.add(FIELDS, eventDeclarationBuilder.getFields()); + + if (eventDeclarationBuilder.getNameSpace() != null) { + st.add(NAME_SPACE, eventDeclarationBuilder.getNameSpace()); } else if (defaultNamespace != null) { st.add(NAME_SPACE, defaultNamespace); } @@ -268,7 +267,7 @@ public class CodeGeneratorCliEditor { /** * Adds a new task declaration to the model. - * + * * @param name the name of the task * @param version the version of the task * @param uuid a UUID for the definition @@ -280,8 +279,8 @@ public class CodeGeneratorCliEditor { * @param contextRefs any context reference */ public void addTaskDeclaration(final String name, final String version, final String uuid, final String description, - final List<ST> infields, final List<ST> outfields, final ST logic, final List<ST> parameters, - final List<ST> contextRefs) { + final List<ST> infields, final List<ST> outfields, final ST logic, final List<ST> parameters, + final List<ST> contextRefs) { final ST st = stg.getInstanceOf("taskDecl"); st.add(NAME, name); st.add(VERSION, version); @@ -297,7 +296,7 @@ public class CodeGeneratorCliEditor { /** * Adds a new policy definition to the model. - * + * * @param name the name of the policy * @param version the version of the policy * @param uuid a UUID for the definition @@ -307,7 +306,7 @@ public class CodeGeneratorCliEditor { * @param states all policy states */ public void addPolicyDefinition(final String name, final String version, final String uuid, - final String description, final String template, final String firstState, final List<ST> states) { + final String description, final String template, final String firstState, final List<ST> states) { final ST st = stg.getInstanceOf("policyDef"); st.add(NAME, name); st.add(VERSION, version); @@ -321,7 +320,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new task infield definition. - * + * * @param taskName the name of the task * @param version the version of the task * @param fieldName the name of the infield @@ -330,7 +329,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for task infield definition */ public ST createTaskDefinitionInfields(final String taskName, final String version, final String fieldName, - final String fieldSchema, final String fieldSchemaVersion) { + final String fieldSchema, final String fieldSchemaVersion) { final ST st = stg.getInstanceOf("taskDefInputFields"); st.add(TASK_NAME, taskName); st.add(VERSION, version); @@ -342,7 +341,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new task outfield definition. - * + * * @param taskName the name of the task * @param version the version of the task * @param fieldName the name of the outfield @@ -351,7 +350,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for task outfield definition */ public ST createTaskDefinitionOutfields(final String taskName, final String version, final String fieldName, - final String fieldSchema, final String fieldSchemaVersion) { + final String fieldSchema, final String fieldSchemaVersion) { final ST st = stg.getInstanceOf("taskDefOutputFields"); st.add(TASK_NAME, taskName); st.add(VERSION, version); @@ -363,7 +362,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new task parameter definition belonging to a task. - * + * * @param name the name of the task * @param version the version of the task * @param parName the parameter name @@ -371,7 +370,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for a task parameter definition */ public ST createTaskDefinitionParameters(final String name, final String version, final String parName, - final String defaultValue) { + final String defaultValue) { final ST st = stg.getInstanceOf("taskDefParameter"); st.add(NAME, name); st.add(VERSION, version); @@ -382,7 +381,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new task definition context reference which belongs to a task. - * + * * @param name the name of the task * @param version the version of the task * @param albumName the name of the context album @@ -390,7 +389,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for a task context reference definition */ public ST createTaskDefinitionContextRef(final String name, final String version, final String albumName, - final String albumVersion) { + final String albumVersion) { final ST st = stg.getInstanceOf("taskDefCtxRef"); st.add(NAME, name); st.add(VERSION, version); @@ -401,7 +400,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new policy state task definition for a task which belongs to a state which belongs to a policy. - * + * * @param policyName the name of the policy * @param version the version of the policy * @param stateName the name of the new state @@ -413,8 +412,8 @@ public class CodeGeneratorCliEditor { * @return a CLI command for a policy state task definition */ public ST createPolicyStateTask(final String policyName, final String version, final String stateName, - final String taskLocalName, final String taskName, final String taskVersion, - final String outputType, final String outputName) { + final String taskLocalName, final String taskName, final String taskVersion, + final String outputType, final String outputName) { final ST st = stg.getInstanceOf("policyStateTask"); st.add(POLICY_NAME, policyName); st.add(VERSION, version); @@ -429,7 +428,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new policy state output definition for a state which belongs to a policy. - * + * * @param policyName the name of the policy * @param version the version of the policy * @param stateName the name of the new state @@ -440,8 +439,8 @@ public class CodeGeneratorCliEditor { * @return a CLI command for a state output definition */ public ST createPolicyStateOutput(final String policyName, final String version, final String stateName, - final String outputName, final String eventName, final String eventVersion, - final String nextState) { + final String outputName, final String eventName, final String eventVersion, + final String nextState) { final ST st = stg.getInstanceOf("policyStateOutput"); st.add(POLICY_NAME, policyName); st.add(VERSION, version); @@ -455,7 +454,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new policy state definition for a state which belongs to a policy. - * + * * @param policyName the name of the policy * @param version the version of the policy * @param stateName the name of the new state @@ -471,9 +470,9 @@ public class CodeGeneratorCliEditor { * @return a CLI command for a policy state definition */ public ST createPolicyStateDef(final String policyName, final String version, final String stateName, - final String triggerName, final String triggerVersion, final String defaultTask, - final String defaultTaskVersion, final List<ST> outputs, final List<ST> tasks, - final List<ST> tsLogic, final List<ST> finalizerLogics, final List<ST> ctxRefs) { + final String triggerName, final String triggerVersion, final String defaultTask, + final String defaultTaskVersion, final List<ST> outputs, final List<ST> tasks, + final List<ST> tsLogic, final List<ST> finalizerLogics, final List<ST> ctxRefs) { final ST st = stg.getInstanceOf("policyStateDef"); st.add(POLICY_NAME, policyName); st.add(VERSION, version); @@ -492,7 +491,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new task selection logic definition for a state which belongs to a policy. - * + * * @param name the name of the policy * @param version the version of the policy * @param stateName the name of the state @@ -501,7 +500,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for task selection logic definition */ public ST createPolicyStateDefTaskSelLogic(final String name, final String version, final String stateName, - final String logicFlavour, final String logic) { + final String logicFlavour, final String logic) { final ST st = stg.getInstanceOf("policyStateTaskSelectionLogic"); st.add(NAME, name); st.add(VERSION, version); @@ -513,7 +512,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new state finalizer definition for a state which belongs to a policy. - * + * * @param name the name of the policy * @param version the version of the policy * @param stateName the name of the state @@ -523,7 +522,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for finalizer definition */ public ST createPolicyStateDefFinalizerLogic(final String name, final String version, final String stateName, - final String finalizerLogicName, final String logicFlavour, final String logic) { + final String finalizerLogicName, final String logicFlavour, final String logic) { final ST st = stg.getInstanceOf("policyStateFinalizerLogic"); st.add(NAME, name); st.add(VERSION, version); @@ -536,7 +535,7 @@ public class CodeGeneratorCliEditor { /** * Creates a new policy state context reference for a state which belongs to a policy. - * + * * @param name the name of the policy * @param version the version of the policy * @param stateName the name of the state @@ -545,7 +544,7 @@ public class CodeGeneratorCliEditor { * @return a CLI command for state context reference */ public ST createPolicyStateDefContextRef(final String name, final String version, final String stateName, - final String albumName, final String albumVersion) { + final String albumName, final String albumVersion) { final ST st = stg.getInstanceOf("policyStateContextRef"); st.add(NAME, name); st.add(VERSION, version); diff --git a/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/EventDeclarationBuilder.java b/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/EventDeclarationBuilder.java new file mode 100644 index 000000000..89c338a53 --- /dev/null +++ b/auth/cli-codegen/src/main/java/org/onap/policy/apex/auth/clicodegen/EventDeclarationBuilder.java @@ -0,0 +1,108 @@ +/*- + * ============LICENSE_START======================================================= + * Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.apex.auth.clicodegen; + +import java.util.List; + +import org.stringtemplate.v4.ST; + +public class EventDeclarationBuilder { + private String name; + private String version; + private String uuid; + private String description; + private String nameSpace; + private String source; + private String target; + private List<ST> fields; + + public String getName() { + return name; + } + + public String getVersion() { + return version; + } + + public String getUuid() { + return uuid; + } + + public String getDescription() { + return description; + } + + public String getNameSpace() { + return nameSpace; + } + + public String getSource() { + return source; + } + + public String getTarget() { + return target; + } + + public List<ST> getFields() { + return fields; + } + + public EventDeclarationBuilder setName(String name) { + this.name = name; + return this; + } + + public EventDeclarationBuilder setVersion(String version) { + this.version = version; + return this; + } + + public EventDeclarationBuilder setUuid(String uuid) { + this.uuid = uuid; + return this; + } + + public EventDeclarationBuilder setDescription(String description) { + this.description = description; + return this; + } + + public EventDeclarationBuilder setNameSpace(String nameSpace) { + this.nameSpace = nameSpace; + return this; + } + + public EventDeclarationBuilder setSource(String source) { + this.source = source; + return this; + } + + public EventDeclarationBuilder setTarget(String target) { + this.target = target; + return this; + } + + public EventDeclarationBuilder setFields(List<ST> fields) { + this.fields = fields; + return this; + } +} diff --git a/auth/cli-codegen/src/test/java/org/onap/policy/apex/auth/clicodegen/CliCodegenTest.java b/auth/cli-codegen/src/test/java/org/onap/policy/apex/auth/clicodegen/CliCodegenTest.java index 956e302c6..5433f2d15 100644 --- a/auth/cli-codegen/src/test/java/org/onap/policy/apex/auth/clicodegen/CliCodegenTest.java +++ b/auth/cli-codegen/src/test/java/org/onap/policy/apex/auth/clicodegen/CliCodegenTest.java @@ -129,8 +129,16 @@ public class CliCodegenTest { final AxArtifactKey key = e.getKey(); final List<ST> fields = getParametersForEvent(codeGen, e); - codeGen.addEventDeclaration(kig.getName(key), kig.getVersion(key), kig.getUuid(key), kig.getDesc(key), - e.getNameSpace(), e.getSource(), e.getTarget(), fields); + codeGen.addEventDeclaration( + new EventDeclarationBuilder() + .setName(kig.getName(key)) + .setVersion(kig.getVersion(key)) + .setUuid(kig.getUuid(key)) + .setDescription(kig.getDesc(key)) + .setNameSpace(e.getNameSpace()) + .setSource(e.getSource()) + .setTarget(e.getTarget()) + .setFields(fields)); } // 4: context albums diff --git a/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2Cli.java b/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2Cli.java index 57a3841c9..7e02c7af5 100644 --- a/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2Cli.java +++ b/tools/model-generator/src/main/java/org/onap/policy/apex/tools/model/generator/model2cli/Model2Cli.java @@ -33,6 +33,7 @@ import java.util.Properties; import org.apache.commons.lang3.Validate; import org.onap.policy.apex.auth.clicodegen.CodeGenCliEditorBuilder; import org.onap.policy.apex.auth.clicodegen.CodeGeneratorCliEditor; +import org.onap.policy.apex.auth.clicodegen.EventDeclarationBuilder; import org.onap.policy.apex.model.basicmodel.concepts.ApexException; import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey; @@ -177,8 +178,16 @@ public class Model2Cli { final AxArtifactKey key = e.getKey(); final List<ST> fields = getParametersForEvent(codeGen, e); - codeGen.addEventDeclaration(kig.getName(key), kig.getVersion(key), kig.getUuid(key), kig.getDesc(key), - e.getNameSpace(), e.getSource(), e.getTarget(), fields); + codeGen.addEventDeclaration( + new EventDeclarationBuilder() + .setName(kig.getName(key)) + .setVersion(kig.getVersion(key)) + .setUuid(kig.getUuid(key)) + .setDescription(kig.getDesc(key)) + .setNameSpace(e.getNameSpace()) + .setSource(e.getSource()) + .setTarget(e.getTarget()) + .setFields(fields)); } // 4: context albums |