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