This is an automated email from the ASF dual-hosted git repository.

dbalek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new fa3c1dba5b @Serdeable annotation added to generated entities.
     new 771b1400b7 Merge pull request #6811 from 
dbalek/dbalek/micronaut-entity-generator-update
fa3c1dba5b is described below

commit fa3c1dba5ba970e6399c733e6c2eaf1a1071533f
Author: Dusan Balek <[email protected]>
AuthorDate: Thu Dec 7 13:11:40 2023 +0100

    @Serdeable annotation added to generated entities.
---
 .../modules/micronaut/db/MicronautEntity.java      | 34 ++++++++++------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git 
a/enterprise/micronaut/src/org/netbeans/modules/micronaut/db/MicronautEntity.java
 
b/enterprise/micronaut/src/org/netbeans/modules/micronaut/db/MicronautEntity.java
index 76d072c548..977775b4ce 100644
--- 
a/enterprise/micronaut/src/org/netbeans/modules/micronaut/db/MicronautEntity.java
+++ 
b/enterprise/micronaut/src/org/netbeans/modules/micronaut/db/MicronautEntity.java
@@ -88,7 +88,6 @@ import org.openide.filesystems.FileObject;
 import org.openide.filesystems.FileUtil;
 import org.openide.loaders.DataObject;
 import org.openide.loaders.TemplateWizard;
-import org.openide.util.Cancellable;
 import org.openide.util.NbBundle;
 
 /**
@@ -465,6 +464,7 @@ public class MicronautEntity extends RelatedCMPWizard {
 
             protected final boolean generateJPA;
             protected final boolean generateValidationConstraints;
+            protected final boolean generateSerdeable;
 
             private ClassGenerator(WorkingCopy copy, EntityClass entityClass, 
boolean jpaSupported, boolean beanValidationSupported) throws IOException {
                 copy.toPhase(JavaSource.Phase.RESOLVED);
@@ -487,6 +487,7 @@ public class MicronautEntity extends RelatedCMPWizard {
                 genUtils = GenerationUtils.newInstance(copy);
                 generateJPA = jpaSupported;
                 generateValidationConstraints = beanValidationSupported;
+                generateSerdeable = 
copy.getElements().getTypeElement("io.micronaut.serde.annotation.Serdeable") != 
null;
             }
 
             protected String createFieldName(String capitalizedFieldName) {
@@ -534,7 +535,7 @@ public class MicronautEntity extends RelatedCMPWizard {
 
                 List<ExpressionTree> columnAnnArguments = new ArrayList<>();
                 String memberName = m.getMemberName();
-                String memberType = getMemberType(m);
+                String memberType = m.getMemberType();
 
                 String columnName = 
dbMappings.getCMPFieldMapping().get(memberName);
                 if (!memberName.equalsIgnoreCase(columnName)){
@@ -571,19 +572,7 @@ public class MicronautEntity extends RelatedCMPWizard {
             }
 
             protected VariableTree createVariable(EntityMember m) {
-                return genUtils.createVariable(typeElement, m.getMemberName(), 
getMemberType(m));
-            }
-
-            String getMemberType(EntityMember m) {
-                String memberType = m.getMemberType();
-                if ("java.sql.Date".equals(memberType)) { //NOI18N
-                    memberType = "java.util.Date";
-                } else if ("java.sql.Time".equals(memberType)) { //NOI18N
-                    memberType = "java.util.Date";
-                } else if ("java.sql.Timestamp".equals(memberType)) { //NOI18N
-                    memberType = "java.util.Date";
-                }
-                return memberType;
+                return genUtils.createVariable(typeElement, m.getMemberName(), 
m.getMemberType());
             }
 
             private boolean isCharacterType(String type) {
@@ -739,6 +728,9 @@ public class MicronautEntity extends RelatedCMPWizard {
                             pkFieldName);
                     properties.add(pkProperty);
                 }
+                if (generateSerdeable) {
+                    newClassTree = genUtils.addAnnotation(newClassTree, 
genUtils.createAnnotation("io.micronaut.serde.annotation.Serdeable")); //NOI18N
+                }
                 if (generateJPA) {
                     newClassTree = genUtils.addAnnotation(newClassTree, 
genUtils.createAnnotation("javax.persistence.Entity")); //NOI18N
                     if (dbMappings.getTableName() != null && 
!entityClassName.equalsIgnoreCase(dbMappings.getTableName())) {
@@ -784,9 +776,12 @@ public class MicronautEntity extends RelatedCMPWizard {
             protected void generateRelationship(RelationshipRole role) throws 
IOException {
                 String memberName = role.getFieldName();
                 if (role.isMany() && !role.isToMany()) {
-                    String pkMemberName = 
getPkMemberName(beanMap.get(role.getParent().getRoleB().getEntityName()));
-                    if (pkMemberName != null) {
-                        memberName = pkMemberName;
+                    String roleName = role.getRoleName();
+                    if (roleName.endsWith("Id")) {
+                        roleName = roleName.substring(0, roleName.length() - 
2);
+                    }
+                    if (!roleName.isEmpty()) {
+                        memberName = Character.toLowerCase(roleName.charAt(0)) 
+ roleName.substring(1);
                     }
                 }
                 String typeName = getRelationshipFieldType(role, 
entityClass.getPackage());
@@ -970,6 +965,9 @@ public class MicronautEntity extends RelatedCMPWizard {
             @Override
             protected void initialize() throws IOException {
                 newClassTree = genUtils.ensureNoArgConstructor(newClassTree);
+                if (generateSerdeable) {
+                    newClassTree = genUtils.addAnnotation(newClassTree, 
genUtils.createAnnotation("io.micronaut.serde.annotation.Serdeable")); //NOI18N
+                }
                 newClassTree = genUtils.addAnnotation(newClassTree, 
genUtils.createAnnotation(generateJPA ? "javax.persistence.Embeddable" : 
"io.micronaut.data.annotation.Embeddable")); // NOI18N
             }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to