You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by mg...@apache.org on 2013/04/29 11:26:11 UTC
svn commit: r1476934 - in /cayenne/main/branches/STABLE-3.0:
docs/doc/src/main/resources/RELEASE-NOTES.txt
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/ObjEntityValidator.java
Author: mgentry
Date: Mon Apr 29 09:26:11 2013
New Revision: 1476934
URL: http://svn.apache.org/r1476934
Log:
Adds CAY-1813 Missing ObjEntity Attribute Validation with Duplicate DbEntity Columns.
Modified:
cayenne/main/branches/STABLE-3.0/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/ObjEntityValidator.java
Modified: cayenne/main/branches/STABLE-3.0/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=1476934&r1=1476933&r2=1476934&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/branches/STABLE-3.0/docs/doc/src/main/resources/RELEASE-NOTES.txt Mon Apr 29 09:26:11 2013
@@ -16,6 +16,7 @@ Changes/New Features Since 3.0.2:
CAY-1584 Improve Cayenne modeler re-ordering named query in the cayenne map xml
CAY-1590 DDL generation without a live datasource
CAY-1605 Switch Cayenne to use unified Maven repository
+CAY-1813 Missing ObjEntity Attribute Validation with Duplicate DbEntity Columns
Bug Fixes Since 3.0.2:
Modified: cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/ObjEntityValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/ObjEntityValidator.java?rev=1476934&r1=1476933&r2=1476934&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/ObjEntityValidator.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/project/validator/ObjEntityValidator.java Mon Apr 29 09:26:11 2013
@@ -19,8 +19,12 @@
package org.apache.cayenne.project.validator;
+import java.util.HashSet;
+import java.util.Set;
+
import org.apache.cayenne.access.DataDomain;
import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.ObjAttribute;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.project.ProjectPath;
import org.apache.cayenne.util.Util;
@@ -42,6 +46,7 @@ public class ObjEntityValidator extends
validateName(ent, path, validator);
validateClassName(ent, path, validator);
validateSuperClassName(ent, path, validator);
+ validateAttributes(ent, path, validator);
// validate DbEntity presence
if (ent.getDbEntity() == null && !ent.isAbstract()) {
@@ -107,6 +112,23 @@ public class ObjEntityValidator extends
}
}
+
+ private void validateAttributes(ObjEntity entity, ProjectPath path, Validator validator) {
+ Set<String> dbAttributeNames = new HashSet<String>();
+
+ for (ObjAttribute attribute : entity.getAttributes()) {
+ String dbAttributeName = attribute.getDbAttribute().getName();
+
+ if (Util.isEmptyString(dbAttributeName) == false) {
+ if (dbAttributeNames.contains(dbAttributeName)) {
+ validator.registerWarning("ObjEntity contains duplicate DbAttribute mappings (" + dbAttributeName + ")", path);
+ }
+
+ dbAttributeNames.add(dbAttributeName);
+ }
+ }
+ }
+
protected void validateName(ObjEntity entity, ProjectPath path, Validator validator) {
String name = entity.getName();