Skip to content

Commit

Permalink
Add tags, detailed description and tutorial links to config files (#1500
Browse files Browse the repository at this point in the history
)

* #1403 changed pciture and added text to make it very clear what plugins should be installed

* Adjust documentation (#1491)

* fixed some types and links and corrected some parts of the documentation

* adjust angular client guide

* fixed typo

* fixed requested changes

* #1463 added options for tags, detailed descriptions and links to xsd

* #1463 added new version to constants and generation to pom

* #1463 updated version, rearranged newly added xsd elements, updated method getTrigger in configurationReader

* #1463 adpated xsd to not have a weird method, made config version non-backwards compatible, changed config reader to read single trigger

* #1463 schema version upgraded from 2.x to 2.3 in templates.xml and context.xml
added new explanation attribute to the first Increment in templates.xml
added links attribute to context.xml

* #1463 spell correction of some explanation attributes

* #1463 modified from v4.0 to v2.3 in pom.xml
explanation correction for crud_java_server_app templates.xml
link added to crud_java_server_app context.xml

* #1463 changed versions of configs

* #1463 changed config versions

* #1463 removed core changes for now

* added back linebreaks at file endings

* #1463 removed trigger node from xsd

* #1463 changed version attributes in xsds and added templateengine node from v4.0 to v5.0

* #1463 changed xsd to get a list of triggers for now, added new schema versions with upgrades

* #1500 fixed failing tests, adressed requested changes, removed some tests for now

* #1463 re-added accidently deleted v2.2 schema, changed versions of config files to latest versions

* #1463 re-removed 2.2 schema, added missing version to upgrader

* deleted unnecessary files

* removed unnecessary changes

* added new xsd version back to pom

* readded template version 5.0 to version enum

* fixed pom error

* fix compilation errors

* fix syntax error in context.xml

* changed contextconfiguration 3.0 schema

* added ignore to tests

* fix whitespaces in templates.xml


Co-authored-by: GuentherJulian <[email protected]>
Co-authored-by: Mansour Dukhan <[email protected]>
Co-authored-by: Julian Günther <[email protected]>
  • Loading branch information
4 people authored Apr 27, 2022
1 parent 36ab7ce commit a39ec1c
Show file tree
Hide file tree
Showing 50 changed files with 1,057 additions and 873 deletions.
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="2.2">




<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="3.0">
<trigger id="crud_angular_client_app" type="java">
<matcher type="fqn" value="((.+\.)?([^\.]+))\.([^\.]+)\.logic\.api\.to\.([^\.]+)Eto">
<variableAssignment type="regex" key="rootPackage" value="1"/>
<variableAssignment type="regex" key="domain" value="3"/>
<variableAssignment type="regex" key="component" value="4"/>
<variableAssignment type="regex" key="etoName" value="5"/>
<variableAssignment type="regex" key="rootPackage" value="1" />
<variableAssignment type="regex" key="domain" value="3" />
<variableAssignment type="regex" key="component" value="4" />
<variableAssignment type="regex" key="etoName" value="5" />
</matcher>
</trigger>




</contextConfiguration>
<links>
<link url="https://github.com/devonfw/cobigen/wiki/howto_angular-client-generation"></link>
</links>
</contextConfiguration>
Original file line number Diff line number Diff line change
@@ -1,52 +1,47 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<templatesConfiguration xmlns="http://capgemini.com/devonfw/cobigen/TemplatesConfiguration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1">

<templatesConfiguration xmlns="http://capgemini.com/devonfw/cobigen/TemplatesConfiguration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5.0">
<templates>
<templateExtension ref="${variables.etoName#lower_case}-dialog.component.ts" mergeStrategy="tsmerge"/>
<templateExtension ref="${variables.etoName#lower_case}-grid.component.ts" mergeStrategy="tsmerge"/>
<templateExtension ref="${variables.etoName#lower_case}-alert.component.ts" mergeStrategy="tsmerge"/>
<templateExtension ref="${variables.etoName#lower_case}.service.ts" mergeStrategy="tsmerge"/>
<templateExtension ref="app.module.ts" mergeStrategy="tsmerge"/>
<templateExtension ref="es.json" mergeStrategy="jsonmerge"/>
<templateExtension ref="en.json" mergeStrategy="jsonmerge"/>
<templateExtension ref="app-routing.module.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="nav-bar.component.html" mergeStrategy="html-ng*"/>
<templateExtension ref="${variables.etoName#lower_case}-dialog.component.ts" mergeStrategy="tsmerge" />
<templateExtension ref="${variables.etoName#lower_case}-grid.component.ts" mergeStrategy="tsmerge" />
<templateExtension ref="${variables.etoName#lower_case}-alert.component.ts" mergeStrategy="tsmerge" />
<templateExtension ref="${variables.etoName#lower_case}.service.ts" mergeStrategy="tsmerge" />
<templateExtension ref="app.module.ts" mergeStrategy="tsmerge" />
<templateExtension ref="es.json" mergeStrategy="jsonmerge" />
<templateExtension ref="en.json" mergeStrategy="jsonmerge" />
<templateExtension ref="app-routing.module.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="nav-bar.component.html" mergeStrategy="html-ng*" />
</templates>

<templateScans>
<templateScan name="ts_scan" templatePath="templates" destinationPath="" />
</templateScans>

<increments>
<increment name="devon4ng-app" description="CRUD devon4ng Angular App">
<incrementRef ref="app_angular_i18n"/>
<incrementRef ref="app_angular_devon4ng_component"/>
<increment name="devon4ng-app" description="CRUD devon4ng Angular App" explanation="Creates Angular stack CRUD service.">
<incrementRef ref="app_angular_i18n" />
<incrementRef ref="app_angular_devon4ng_component" />
</increment>

<increment name="app_angular_i18n" description="Angular i18n">
<templateRef ref="es.json"/>
<templateRef ref="en.json"/>
<templateRef ref="es.json" />
<templateRef ref="en.json" />
</increment>
<increment name="app_angular_devon4ng_component" description="Angular devon4ng Component">
<templateRef ref="${variables.etoName#lower_case}-dialog.component.html"/>
<templateRef ref="${variables.etoName#lower_case}-dialog.component.ts"/>
<templateRef ref="${variables.etoName#lower_case}-dialog.component.spec.ts"/>
<templateRef ref="${variables.etoName#lower_case}-grid.component.html"/>
<templateRef ref="${variables.etoName#lower_case}-grid.component.scss"/>
<templateRef ref="${variables.etoName#lower_case}-grid.component.ts"/>
<templateRef ref="${variables.etoName#lower_case}-grid.component.spec.ts"/>
<templateRef ref="${variables.etoName#lower_case}-alert.component.html"/>
<templateRef ref="${variables.etoName#lower_case}-alert.component.scss"/>
<templateRef ref="${variables.etoName#lower_case}-alert.component.ts"/>
<templateRef ref="${variables.etoName#lower_case}-alert.component.spec.ts"/>
<templateRef ref="${variables.etoName#lower_case}.service.ts"/>
<templateRef ref="${variables.etoName#lower_case}.service.spec.ts"/>
<templateRef ref="${variables.etoName#lower_case}-routing.module.ts"/>
<templateRef ref="${variables.etoName#lower_case}.module.ts"/>
<templateRef ref="app.module.ts"/>
<templateRef ref="app-routing.module.ts"/>
<templateRef ref="nav-bar.component.html"/>
<templateRef ref="${variables.etoName#lower_case}-dialog.component.html" />
<templateRef ref="${variables.etoName#lower_case}-dialog.component.ts" />
<templateRef ref="${variables.etoName#lower_case}-dialog.component.spec.ts" />
<templateRef ref="${variables.etoName#lower_case}-grid.component.html" />
<templateRef ref="${variables.etoName#lower_case}-grid.component.scss" />
<templateRef ref="${variables.etoName#lower_case}-grid.component.ts" />
<templateRef ref="${variables.etoName#lower_case}-grid.component.spec.ts" />
<templateRef ref="${variables.etoName#lower_case}-alert.component.html" />
<templateRef ref="${variables.etoName#lower_case}-alert.component.scss" />
<templateRef ref="${variables.etoName#lower_case}-alert.component.ts" />
<templateRef ref="${variables.etoName#lower_case}-alert.component.spec.ts" />
<templateRef ref="${variables.etoName#lower_case}.service.ts" />
<templateRef ref="${variables.etoName#lower_case}.service.spec.ts" />
<templateRef ref="${variables.etoName#lower_case}-routing.module.ts" />
<templateRef ref="${variables.etoName#lower_case}.module.ts" />
<templateRef ref="app.module.ts" />
<templateRef ref="app-routing.module.ts" />
<templateRef ref="nav-bar.component.html" />
</increment>
</increments>
</templatesConfiguration>
</templatesConfiguration>
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="2.2">



<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="3.0">
<trigger id="crud_ionic_client_app" type="java">
<matcher type="fqn" value="((.+\.)?([^\.]+))\.([^\.]+)\.logic\.api\.to\.([^\.]+)Eto">
<variableAssignment type="regex" key="rootPackage" value="1"/>
<variableAssignment type="regex" key="domain" value="3"/>
<variableAssignment type="regex" key="component" value="4"/>
<variableAssignment type="regex" key="etoName" value="5"/>
<variableAssignment type="regex" key="rootPackage" value="1" />
<variableAssignment type="regex" key="domain" value="3" />
<variableAssignment type="regex" key="component" value="4" />
<variableAssignment type="regex" key="etoName" value="5" />
</matcher>
</trigger>


</contextConfiguration>
<links>
<link url="https://github.com/devonfw/cobigen/wiki/howto_ionic-client-generation"></link>
</links>
</contextConfiguration>
Original file line number Diff line number Diff line change
@@ -1,72 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<templatesConfiguration xmlns="http://capgemini.com/devonfw/cobigen/TemplatesConfiguration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1">

<templatesConfiguration xmlns="http://capgemini.com/devonfw/cobigen/TemplatesConfiguration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5.0">
<templates>
<templateExtension ref="${variables.etoName#lower_case}-detail.page.ts" mergeStrategy="tsmerge"/>
<templateExtension ref="${variables.etoName#lower_case}-list.page.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="app.component.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="app.module.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="${variables.etoName#lower_case}-rest.service.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="${variables.etoName#lower_case}-detail.page.ts" mergeStrategy="tsmerge" />
<templateExtension ref="${variables.etoName#lower_case}-list.page.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="app.component.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="app.module.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="${variables.etoName#lower_case}-rest.service.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="${variables.etoName#lower_case}.ts" />
<templateExtension ref="${variables.etoName#lower_case}-search-criteria.ts" />
<templateExtension ref="paginated-list-to.ts" />
<templateExtension ref="pageable.ts" />
<templateExtension ref="sort.ts" />
<templateExtension ref="environment.android.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="environment.prod.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="environment.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="app-routing.module.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="${variables.etoName#lower_case}-detail.page.html" mergeStrategy="html-ng*"/>
<templateExtension ref="${variables.etoName#lower_case}-list.page.html" mergeStrategy="html-ng*"/>
<templateExtension ref="es.json" mergeStrategy="jsonmerge_override"/>
<templateExtension ref="en.json" mergeStrategy="jsonmerge_override"/>
<templateExtension ref="business-operator.service.ts" mergeStrategy="tsmerge_override"/>
<templateExtension ref="environment.android.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="environment.prod.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="environment.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="app-routing.module.ts" mergeStrategy="tsmerge_override" />
<templateExtension ref="${variables.etoName#lower_case}-detail.page.html" mergeStrategy="html-ng*" />
<templateExtension ref="${variables.etoName#lower_case}-list.page.html" mergeStrategy="html-ng*" />
<templateExtension ref="es.json" mergeStrategy="jsonmerge_override" />
<templateExtension ref="en.json" mergeStrategy="jsonmerge_override" />
<templateExtension ref="business-operator.service.ts" mergeStrategy="tsmerge_override" />
</templates>

<templateScans>
<templateScan templatePath="templates" destinationPath="src/main/java"/>
<templateScan templatePath="templates" destinationPath="src/main/java" />
</templateScans>

<increments>
<increment name="devon4ng-app" description="CRUD devon4ng Ionic App">
<incrementRef ref="app_ionic_structure"/>
<incrementRef ref="ionic_routing"/>
<incrementRef ref="ionic_i18n"/>
<incrementRef ref="ionic_component"/>
<incrementRef ref="ionic_theme"/>
<increment name="devon4ng-app" description="CRUD devon4ng Ionic App" explanation="Creates Ionic stack CRUD service.">
<incrementRef ref="app_ionic_structure" />
<incrementRef ref="ionic_routing" />
<incrementRef ref="ionic_i18n" />
<incrementRef ref="ionic_component" />
<incrementRef ref="ionic_theme" />
</increment>
<increment name="app_ionic_structure" description="Ionic devon4ng environments">
<templateRef ref="environment.android.ts" />
<templateRef ref="environment.prod.ts" />
<templateRef ref="environment.ts" />
</increment>
<increment name="ionic_routing" description="Ionic routing">
<templateRef ref="app-routing.module.ts"/>
<templateRef ref="app-routing.module.ts" />
</increment>
<increment name="ionic_i18n" description="Ionic i18n">
<templateRef ref="es.json"/>
<templateRef ref="en.json"/>
<templateRef ref="es.json" />
<templateRef ref="en.json" />
</increment>
<increment name="ionic_component" description="Ionic List">
<templateRef ref="${variables.etoName#lower_case}.ts"/>
<templateRef ref="${variables.etoName#lower_case}-search-criteria.ts"/>
<templateRef ref="paginated-list-to.ts"/>
<templateRef ref="app.component.ts"/>
<templateRef ref="app.module.ts"/>
<templateRef ref="pageable.ts"/>
<templateRef ref="sort.ts"/>
<templateRef ref="${variables.etoName#lower_case}-rest.service.ts"/>
<templateRef ref="${variables.etoName#lower_case}-list.page.ts"/>
<templateRef ref="${variables.etoName#lower_case}-list.page.html"/>
<templateRef ref="${variables.etoName#lower_case}-list.page.scss"/>
<templateRef ref="${variables.etoName#lower_case}-detail.page.ts"/>
<templateRef ref="${variables.etoName#lower_case}-detail.page.html"/>
<templateRef ref="${variables.etoName#lower_case}-detail.page.scss"/>
<templateRef ref="business-operator.service.ts"/>
<templateRef ref="${variables.etoName#lower_case}.ts" />
<templateRef ref="${variables.etoName#lower_case}-search-criteria.ts" />
<templateRef ref="paginated-list-to.ts" />
<templateRef ref="app.component.ts" />
<templateRef ref="app.module.ts" />
<templateRef ref="pageable.ts" />
<templateRef ref="sort.ts" />
<templateRef ref="${variables.etoName#lower_case}-rest.service.ts" />
<templateRef ref="${variables.etoName#lower_case}-list.page.ts" />
<templateRef ref="${variables.etoName#lower_case}-list.page.html" />
<templateRef ref="${variables.etoName#lower_case}-list.page.scss" />
<templateRef ref="${variables.etoName#lower_case}-detail.page.ts" />
<templateRef ref="${variables.etoName#lower_case}-detail.page.html" />
<templateRef ref="${variables.etoName#lower_case}-detail.page.scss" />
<templateRef ref="business-operator.service.ts" />
</increment>
<increment name="ionic_theme" description="Ionic theme">
<templateRef ref="variables.scss"/>
<templateRef ref="variables.scss" />
</increment>
</increments>
</templatesConfiguration>
17 changes: 6 additions & 11 deletions cobigen-templates/crud-java-ea-uml/src/main/resources/context.xml
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="2.2">


<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="3.0">
<trigger id="crud_java_ea_uml" type="xml">
<containerMatcher type="xpath" value="./uml:Model//packagedElement[@xmi:type='uml:Class']"/>
<containerMatcher type="xpath" value="./uml:Model//packagedElement[@xmi:type='uml:Class']" />
<matcher type="xpath" value="self::node()[@xmi:type='uml:Class']/ancestor::uml:Model">
<variableAssignment type="xpath" key="rootPackage"
value="self::node()/ancestor::packagedElement/packagedElement/@name"/>
<variableAssignment type="xpath" key="component"
value="self::node()/ancestor::packagedElement/packagedElement/packagedElement/@name"/>
<variableAssignment type="xpath" key="className" value="self::node()/@name"/>
<variableAssignment type="xpath" key="rootPackage" value="self::node()/ancestor::packagedElement/packagedElement/@name" />
<variableAssignment type="xpath" key="component" value="self::node()/ancestor::packagedElement/packagedElement/packagedElement/@name" />
<variableAssignment type="xpath" key="className" value="self::node()/@name" />
</matcher>
</trigger>

</contextConfiguration>
</contextConfiguration>
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<templatesConfiguration xmlns="http://capgemini.com/devonfw/cobigen/TemplatesConfiguration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1">

<templatesConfiguration xmlns="http://capgemini.com/devonfw/cobigen/TemplatesConfiguration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5.0">
<templates>
<templateExtension ref="${variables.className}Entity.java" mergeStrategy="javamerge"/>
<templateExtension ref="${variables.className}Entity.java" mergeStrategy="javamerge" />
</templates>

<templateScans>
<templateScan templatePath="templates" destinationPath="src/main"/>
<templateScan templatePath="templates" destinationPath="src/main" />
</templateScans>

<increments>
<increment name="xml_uml_entity" description="Entity infrastructure">
<templateRef ref="${variables.className}Entity.java"/>
<templateRef ref="${variables.className}.java"/>
<templateRef ref="ApplicationEntity.java"/>
<templateRef ref="ApplicationPersistenceEntity.java"/>
<increment name="xml_uml_entity" description="Entity infrastructure" explanation="Creates Entity java classes to CRUD from schema.">
<templateRef ref="${variables.className}Entity.java" />
<templateRef ref="${variables.className}.java" />
<templateRef ref="ApplicationEntity.java" />
<templateRef ref="ApplicationPersistenceEntity.java" />
</increment>
</increments>
</templatesConfiguration>
</templatesConfiguration>
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="2.2">

<contextConfiguration xmlns="http://capgemini.com/devonfw/cobigen/ContextConfiguration" version="3.0">
<trigger id="crud_java_server_app_complex" type="java">
<containerMatcher type="package" value="((.+\.)?([^\.]+))\.([^\.]+)\.dataaccess\.api"
retrieveObjectsRecursively="false"/>
<containerMatcher type="package" value="((.+\.)?([^\.]+))\.([^\.]+)\.dataaccess\.api" retrieveObjectsRecursively="false" />
<matcher type="fqn" value="((.+\.)?([^\.]+))\.([^\.]+)\.dataaccess\.api\.([^\.]+)Entity">
<variableAssignment type="regex" key="rootPackage" value="1"/>
<variableAssignment type="regex" key="domain" value="3"/>
<variableAssignment type="regex" key="component" value="4"/>
<variableAssignment type="regex" key="entityName" value="5"/>
<variableAssignment type="regex" key="rootPackage" value="1" />
<variableAssignment type="regex" key="domain" value="3" />
<variableAssignment type="regex" key="component" value="4" />
<variableAssignment type="regex" key="entityName" value="5" />
</matcher>
</trigger>



</contextConfiguration>
</contextConfiguration>
Loading

0 comments on commit a39ec1c

Please sign in to comment.