You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2022/11/24 15:54:51 UTC
[cayenne] branch STABLE-4.2 updated: Add safety checks and cleanup code
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch STABLE-4.2
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.2 by this push:
new 5a3b70183 Add safety checks and cleanup code
5a3b70183 is described below
commit 5a3b701836a1cb428fb3b7f331c048219d8a9c5d
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Thu Nov 24 18:54:46 2022 +0300
Add safety checks and cleanup code
---
.../java/org/apache/cayenne/gen/PropertyUtils.java | 44 ++++++++++------------
1 file changed, 20 insertions(+), 24 deletions(-)
diff --git a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/PropertyUtils.java b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/PropertyUtils.java
index 8bd86b4d6..e18d115cb 100644
--- a/cayenne-cgen/src/main/java/org/apache/cayenne/gen/PropertyUtils.java
+++ b/cayenne-cgen/src/main/java/org/apache/cayenne/gen/PropertyUtils.java
@@ -20,7 +20,6 @@
package org.apache.cayenne.gen;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -77,16 +76,6 @@ public class PropertyUtils {
FACTORY_METHODS.put(BaseIdProperty.class.getName(), "createBaseId");
}
- private static final List<Class<?>> JAVA_DATE_TYPES = Arrays.asList(
- java.util.Date.class,
- java.time.LocalDate.class,
- java.time.LocalTime.class,
- java.time.LocalDateTime.class,
- java.sql.Date.class,
- java.sql.Time.class,
- java.sql.Timestamp.class
- );
-
private final ImportUtils importUtils;
private List<PropertyDescriptorCreator> propertyList;
@@ -110,8 +99,11 @@ public class PropertyUtils {
this.logger = logger;
}
- public void addImportForPK(EntityUtils entityUtils) throws ClassNotFoundException {
+ public void addImportForPK(EntityUtils entityUtils) {
DbEntity entity = entityUtils.objEntity.getDbEntity();
+ if(entity == null) {
+ return;
+ }
boolean needToCreatePK = false;
for(DbAttribute attribute : entity.getPrimaryKeys()) {
@@ -128,7 +120,7 @@ public class PropertyUtils {
}
}
- public void addImport(ObjAttribute attribute) throws ClassNotFoundException {
+ public void addImport(ObjAttribute attribute) {
importUtils.addType(PropertyFactory.class.getName());
importUtils.addType(attribute.getType());
importUtils.addType(getPropertyDescriptor(attribute.getType()).getPropertyType());
@@ -137,13 +129,13 @@ public class PropertyUtils {
}
}
- public void addImport(EmbeddedAttribute attribute) throws ClassNotFoundException {
+ public void addImport(EmbeddedAttribute attribute) {
importUtils.addType(PropertyFactory.class.getName());
importUtils.addType(attribute.getType());
importUtils.addType(getPropertyDescriptor(EmbeddableObject.class.getName()).getPropertyType());
}
- public void addImport(EmbeddableAttribute attribute) throws ClassNotFoundException {
+ public void addImport(EmbeddableAttribute attribute) {
importUtils.addType(PropertyFactory.class.getName());
importUtils.addType(attribute.getType());
importUtils.addType(getPropertyDescriptor(attribute.getType()).getPropertyType());
@@ -169,7 +161,7 @@ public class PropertyUtils {
}
}
- public String propertyDefinition(ObjEntity entity, DbAttribute attribute) throws ClassNotFoundException {
+ public String propertyDefinition(ObjEntity entity, DbAttribute attribute) {
StringUtils utils = StringUtils.getInstance();
String attributeType = TypesMapping.getJavaBySqlType(attribute);
@@ -188,7 +180,7 @@ public class PropertyUtils {
);
}
- public String propertyDefinition(ObjAttribute attribute, boolean client) throws ClassNotFoundException {
+ public String propertyDefinition(ObjAttribute attribute, boolean client) {
StringUtils utils = StringUtils.getInstance();
String attributeType = utils.stripGeneric(importUtils.formatJavaType(attribute.getType(), false));
PropertyDescriptor propertyDescriptor = getPropertyDescriptor(attribute.getType());
@@ -213,11 +205,11 @@ public class PropertyUtils {
return name;
}
- public String propertyDefinition(ObjAttribute attribute) throws ClassNotFoundException {
+ public String propertyDefinition(ObjAttribute attribute) {
return propertyDefinition(attribute, false);
}
- public String propertyDefinition(EmbeddedAttribute attribute) throws ClassNotFoundException {
+ public String propertyDefinition(EmbeddedAttribute attribute) {
StringUtils utils = StringUtils.getInstance();
String attributeType = utils.stripGeneric(importUtils.formatJavaType(attribute.getType(), false));
PropertyDescriptor propertyDescriptor = getPropertyDescriptor(EmbeddableObject.class.getName());
@@ -231,7 +223,7 @@ public class PropertyUtils {
);
}
- public String propertyDefinition(EmbeddableAttribute attribute) throws ClassNotFoundException {
+ public String propertyDefinition(EmbeddableAttribute attribute) {
StringUtils utils = StringUtils.getInstance();
String attributeType = utils.stripGeneric(importUtils.formatJavaType(attribute.getType(), false));
PropertyDescriptor propertyDescriptor = getPropertyDescriptor(attribute.getType());
@@ -344,10 +336,14 @@ public class PropertyUtils {
return FACTORY_METHODS.get(propertyType);
}
- private String getPkPropertyTypeForType(String attributeType) throws ClassNotFoundException {
- Class<?> javaClass = Class.forName(attributeType);
- if (Number.class.isAssignableFrom(javaClass)) {
- return NumericIdProperty.class.getName();
+ private String getPkPropertyTypeForType(String attributeType) {
+ try {
+ Class<?> javaClass = Class.forName(attributeType);
+ if (Number.class.isAssignableFrom(javaClass)) {
+ return NumericIdProperty.class.getName();
+ }
+ } catch (ClassNotFoundException ex) {
+ return BaseIdProperty.class.getName();
}
return BaseIdProperty.class.getName();
}