87 lines
5.4 KiB
XML
87 lines
5.4 KiB
XML
<!-- Plugin Configuration File. Read more: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html -->
|
|
<idea-plugin>
|
|
<!-- Unique id for this plugin. Must stay constant for the life of the plugin. -->
|
|
<id>com.sdk.generators.actionmodels</id>
|
|
<name>Database Action Models Generator</name>
|
|
<vendor>Sakda Sakprapakorn</vendor>
|
|
|
|
<description><![CDATA[
|
|
Generates ActionBean Java classes from a database schema.
|
|
Right-click on a package and select "Generate Database Action Models" to start.
|
|
]]></description>
|
|
|
|
<change-notes><![CDATA[
|
|
<h2>[2.1.1]</h2>
|
|
<ul>
|
|
<li>Update: Case-insensitive column type mapping in GUtils.java.</li>
|
|
<li>Update: Add "number" type mapping support for broader database compatibility.</li>
|
|
<li>Resource: Added sample Dataset.xml in DevResources for reference.</li>
|
|
</ul>
|
|
<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>
|
|
<depends>com.intellij.modules.java</depends>
|
|
<depends>com.intellij.database</depends>
|
|
|
|
<actions>
|
|
<!-- Defines an action that will appear in the context menu for project directories -->
|
|
<action id="com.sdk.generators.actionmodels.GenerateBeanAction"
|
|
class="com.sdk.generators.actionmodels.GenerateBeanAction"
|
|
text="Generate Action Models"
|
|
description="Generates ActionBean classes from a database schema.">
|
|
<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 -->
|
|
<extensions defaultExtensionNs="com.intellij">
|
|
<notificationGroup id="Action-Models-Generator-Notification" displayType="BALLOON" isLogByDefault="true"/>
|
|
</extensions>
|
|
</idea-plugin> |