feat: implement Dataset XML generation and Action Models V3
- Added 'Generate Dataset XML' feature to automate table definitions from database schema. - Implemented intelligent label generation (prioritizing comments) and automatic type mapping for XML. - Added 'Generate Action Models V3' supporting the new sdk.db package structure. - Updated release notes and bumped version to 2.1.0. - Registered new actions with keyboard shortcuts in plugin.xml.
This commit is contained in:
@@ -11,26 +11,37 @@
|
||||
]]></description>
|
||||
|
||||
<change-notes><![CDATA[
|
||||
## [1.1.2]
|
||||
fix: Update plugin version display
|
||||
Corrected the plugin version display in the IDE.
|
||||
|
||||
## [1.1.1]
|
||||
fix: Correctly generate primary keys
|
||||
The generator was failing to identify primary key columns, resulting in generated beans without them. This has been fixed by updating the code to use the `getColumnsRef()` method, which correctly retrieves the column names for the primary key.
|
||||
|
||||
## Release Notes
|
||||
|
||||
### New Features and Enhancements
|
||||
|
||||
* **DTO Generation:** Introduced new functionality to generate Data Transfer Object (DTO) classes alongside ActionBeans. This includes new FreeMarker templates (`actionDTO.ftl`, `actionDTO.extend.ftl`) and updated logic in `GeneratorServices.java`.
|
||||
* **ActionField and DTOField Enhancements:** Implemented enhancements related to the generation of `ActionField` and `DTOField` within the generated classes.
|
||||
|
||||
### Refactoring and Improvements
|
||||
|
||||
* **Project Structure Refactoring:** The project structure has been reorganized. Generator-related classes were moved to a new package (`com.sdk.generators.actionmodels`), and template directory names were standardized to `src/main/resources/templates`.
|
||||
* **Build System Updates:** Updated `build.gradle.kts`, `plugin.xml`, and Gradle wrapper files to reflect the structural and functional enhancements.
|
||||
|
||||
<h2>[2.1.0]</h2>
|
||||
<ul>
|
||||
<li>Add: Generate Dataset XML feature to generate XML table definitions from database tables.</li>
|
||||
<li>Feature: Intelligent label generation for XML datasets, prioritizing database column comments with fallback to entity-based keys.</li>
|
||||
<li>Feature: Automatic mapping of database types to XML types (TEXT, NUMBER, DATE) and column width extraction.</li>
|
||||
<li>Shortcut: Added <code>Ctrl + Alt + J</code> for the dataset generation action.</li>
|
||||
</ul>
|
||||
<h2>[2.0.1]</h2>
|
||||
<ul>
|
||||
<li>update : Refactory class structure of sdk.dbutils -> sdk.db.xxxx</li>
|
||||
<li>Add : Generate for new class structure as V3 </li>
|
||||
</ul>
|
||||
<h2>[1.1.2]</h2>
|
||||
<ul>
|
||||
<li>fix: Handle databases that do not support user-defined types</li>
|
||||
</ul>
|
||||
<h2>[1.1.1]</h2>
|
||||
<ul>
|
||||
<li>fix: Correctly generate primary keys. The generator was failing to identify primary key columns, resulting in generated beans without them. This has been fixed by updating the code to use the `getColumnsRef()` method, which correctly retrieves the column names for the primary key.</li>
|
||||
</ul>
|
||||
<h2>[1.1.0]</h2>
|
||||
<h3>New Features and Enhancements</h3>
|
||||
<ul>
|
||||
<li><strong>DTO Generation:</strong> Introduced new functionality to generate Data Transfer Object (DTO) classes alongside ActionBeans. This includes new FreeMarker templates (<code>actionDTO.ftl</code>, <code>actionDTO.extend.ftl</code>) and updated logic in <code>GeneratorServices.java</code>.</li>
|
||||
<li><strong>ActionField and DTOField Enhancements:</strong> Implemented enhancements related to the generation of <code>ActionField</code> and <code>DTOField</code> within the generated classes.</li>
|
||||
</ul>
|
||||
<h3>Refactoring and Improvements</h3>
|
||||
<ul>
|
||||
<li><strong>Project Structure Refactoring:</strong> The project structure has been reorganized. Generator-related classes were moved to a new package (<code>com.sdk.generators.actionmodels</code>), and template directory names were standardized to <code>src/main/resources/templates</code>.</li>
|
||||
<li><strong>Build System Updates:</strong> Updated <code>build.gradle.kts</code>, <code>plugin.xml</code>, and Gradle wrapper files to reflect the structural and functional enhancements.</li>
|
||||
</ul>
|
||||
]]></change-notes>
|
||||
|
||||
<depends>com.intellij.modules.platform</depends>
|
||||
@@ -46,6 +57,21 @@
|
||||
<add-to-group group-id="DatabaseViewPopupMenu" anchor="first"/>
|
||||
<keyboard-shortcut keymap="$default" first-keystroke="ctrl alt G"/>
|
||||
</action>
|
||||
<!-- Defines an action that will appear in the context menu for project directories -->
|
||||
<action id="com.sdk.generators.actionmodels.GenerateBeanAction.v3"
|
||||
class="com.sdk.generators.actionmodels.GenerateBeanActionV3"
|
||||
text="Generate Action Models V3"
|
||||
description="Generates ActionBean classes from a database schema V3 (sdk.db.xxx).">
|
||||
<add-to-group group-id="DatabaseViewPopupMenu" anchor="after" relative-to-action="com.sdk.generators.actionmodels.GenerateBeanAction"/>
|
||||
<keyboard-shortcut keymap="$default" first-keystroke="ctrl alt H"/>
|
||||
</action>
|
||||
<action id="com.sdk.generators.actionmodels.GenerateDatasetAction"
|
||||
class="com.sdk.generators.actionmodels.GenerateDatasetAction"
|
||||
text="Generate Dataset XML"
|
||||
description="Generates Dataset XML definition from a database table.">
|
||||
<add-to-group group-id="DatabaseViewPopupMenu" anchor="after" relative-to-action="com.sdk.generators.actionmodels.GenerateBeanAction.v3"/>
|
||||
<keyboard-shortcut keymap="$default" first-keystroke="ctrl alt J"/>
|
||||
</action>
|
||||
</actions>
|
||||
|
||||
<!-- in plugin.xml, inside the <extensions defaultExtensionNs="com.intellij"> tag -->
|
||||
|
||||
Reference in New Issue
Block a user