diff --git a/.idea/templateLanguages.xml b/.idea/templateLanguages.xml new file mode 100644 index 0000000..69f885d --- /dev/null +++ b/.idea/templateLanguages.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.intellijPlatform/coroutines-javaagent-legacy.jar b/.intellijPlatform/coroutines-javaagent-legacy.jar index caebd13..972e7d7 100644 Binary files a/.intellijPlatform/coroutines-javaagent-legacy.jar and b/.intellijPlatform/coroutines-javaagent-legacy.jar differ diff --git a/build.gradle.kts b/build.gradle.kts index 18c4c43..a46d8c3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } group = "com.sdk.generators.actionmodels" -version = "1.1.0" +version = "1.1.2" repositories { mavenCentral() @@ -39,6 +39,15 @@ intellijPlatform { changeNotes = """ ## Release Notes + ## [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. + + ## [1.1.0] ### 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`. @@ -49,7 +58,7 @@ intellijPlatform { * **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. - """.trimIndent() + """ } } diff --git a/src/main/java/com/sdk/generators/GUtils.java b/src/main/java/com/sdk/generators/GUtils.java index 57bf5b8..babae8d 100644 --- a/src/main/java/com/sdk/generators/GUtils.java +++ b/src/main/java/com/sdk/generators/GUtils.java @@ -1,6 +1,7 @@ package com.sdk.generators; import com.intellij.database.model.DasColumn; +import com.intellij.database.model.DasObject; import com.intellij.database.model.ObjectKind; import com.intellij.database.psi.DbObject; import com.intellij.database.psi.DbTable; @@ -63,15 +64,18 @@ public class GUtils { public static void createUserDefineType(DbTable table) { String schemaName = table.getParent() != null ? table.getParent().getName() : ""; - DasUtil.getCatalogObject(table).getDasChildren(ObjectKind.SCHEMA).forEach(schema -> { - if (schema.getName().equals("public") || schema.getName().equals(schemaName)) { - schema.getDasChildren(ObjectKind.OBJECT_TYPE).forEach(domain -> { - String domainName = domain.getName(); - String domainScript = ((DbObject) domain).getText(); - userDefType.put(domainName, getRawType(domainScript)); - }); - } - }); + DasObject objCatalog = DasUtil.getCatalogObject(table); + if (objCatalog != null) { + objCatalog.getDasChildren(ObjectKind.SCHEMA).forEach(schema -> { + if (schema.getName().equals("public") || schema.getName().equals(schemaName)) { + schema.getDasChildren(ObjectKind.OBJECT_TYPE).forEach(domain -> { + String domainName = domain.getName(); + String domainScript = ((DbObject) domain).getText(); + userDefType.put(domainName, getRawType(domainScript)); + }); + } + }); + } } public static String getFieldType(DasColumn column) { diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 8db3015..fcf3e2c 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -10,6 +10,29 @@ Right-click on a package and select "Generate Database Action Models" to start. ]]> + + com.intellij.modules.platform com.intellij.modules.java com.intellij.database