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 2017/02/02 07:40:06 UTC

cayenne git commit: CAY-2219 validation for Java package in DataMap

Repository: cayenne
Updated Branches:
  refs/heads/master cbca4bcc7 -> 4920e53c1


CAY-2219 validation for Java package in DataMap


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/4920e53c
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/4920e53c
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/4920e53c

Branch: refs/heads/master
Commit: 4920e53c1d31882641fe4cf93cc41b973a2d0c35
Parents: cbca4bc
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Feb 2 10:39:47 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Feb 2 10:39:47 2017 +0300

----------------------------------------------------------------------
 .../project/validation/DataMapValidator.java    | 21 +++++++-
 .../validation/DefaultProjectValidator.java     | 55 +++++---------------
 .../apache/cayenne/tools/DbImporterMojo.java    |  2 +-
 3 files changed, 33 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/4920e53c/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DataMapValidator.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DataMapValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DataMapValidator.java
index 147adcd..6802387 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DataMapValidator.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DataMapValidator.java
@@ -29,9 +29,10 @@ class DataMapValidator extends ConfigurationNodeValidator {
     void validate(DataMap map, ValidationResult validationResult) {
         validateName(map, validationResult);
         validateNodeLinks(map, validationResult);
+        validateJavaPackage(map, validationResult);
     }
 
-    void validateNodeLinks(DataMap map, ValidationResult validationResult) {
+    private void validateNodeLinks(DataMap map, ValidationResult validationResult) {
         DataChannelDescriptor domain = map.getDataChannelDescriptor();
         if (domain == null) {
             return;
@@ -52,7 +53,7 @@ class DataMapValidator extends ConfigurationNodeValidator {
         }
     }
 
-    void validateName(DataMap map, ValidationResult validationResult) {
+    private void validateName(DataMap map, ValidationResult validationResult) {
         String name = map.getName();
 
         if (Util.isEmptyString(name)) {
@@ -77,4 +78,20 @@ class DataMapValidator extends ConfigurationNodeValidator {
             }
         }
     }
+
+    private void validateJavaPackage(DataMap map, ValidationResult validationResult) {
+        String javaPackage = map.getDefaultPackage();
+
+        if(Util.isEmptyString(javaPackage)) {
+            addFailure(validationResult, map, "Java package is not set in DataMap '%s'", map.getName());
+            return;
+        }
+
+        NameValidationHelper helper = NameValidationHelper.getInstance();
+        String invalidChars = helper.invalidCharsInJavaClassName(javaPackage);
+        if(invalidChars != null) {
+            addFailure(validationResult, map, "DataMap '%s' Java package '%s' contains invalid characters: %s",
+                    map.getName(), javaPackage, invalidChars);
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4920e53c/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
index c25fefe..3f6876f 100644
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
+++ b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/DefaultProjectValidator.java
@@ -97,9 +97,7 @@ public class DefaultProjectValidator implements ProjectValidator {
             validationResult = new ValidationResult();
         }
 
-        public ValidationResult visitDataChannelDescriptor(
-                DataChannelDescriptor channelDescriptor) {
-
+        public ValidationResult visitDataChannelDescriptor(DataChannelDescriptor channelDescriptor) {
             dataChannelValidator.validate(channelDescriptor, validationResult);
 
             for (DataNodeDescriptor node : channelDescriptor.getNodeDescriptors()) {
@@ -115,33 +113,23 @@ public class DefaultProjectValidator implements ProjectValidator {
 
         public ValidationResult visitDataMap(DataMap dataMap) {
             mapValidator.validate(dataMap, validationResult);
-            Iterator<Embeddable> itEmb = dataMap.getEmbeddables().iterator();
-            while (itEmb.hasNext()) {
-                Embeddable emb = itEmb.next();
+            for (Embeddable emb : dataMap.getEmbeddables()) {
                 visitEmbeddable(emb);
             }
 
-            Iterator<ObjEntity> itObjEnt = dataMap.getObjEntities().iterator();
-            while (itObjEnt.hasNext()) {
-                ObjEntity ent = itObjEnt.next();
+            for (ObjEntity ent : dataMap.getObjEntities()) {
                 visitObjEntity(ent);
             }
 
-            Iterator<DbEntity> itDbEnt = dataMap.getDbEntities().iterator();
-            while (itDbEnt.hasNext()) {
-                DbEntity ent = itDbEnt.next();
+            for (DbEntity ent : dataMap.getDbEntities()) {
                 visitDbEntity(ent);
             }
 
-            Iterator<Procedure> itProc = dataMap.getProcedures().iterator();
-            while (itProc.hasNext()) {
-                Procedure proc = itProc.next();
+            for (Procedure proc : dataMap.getProcedures()) {
                 visitProcedure(proc);
             }
 
-            Iterator<QueryDescriptor> itQuer = dataMap.getQueryDescriptors().iterator();
-            while (itQuer.hasNext()) {
-                QueryDescriptor q = itQuer.next();
+            for (QueryDescriptor q : dataMap.getQueryDescriptors()) {
                 visitQuery(q);
             }
 
@@ -161,15 +149,11 @@ public class DefaultProjectValidator implements ProjectValidator {
         public ValidationResult visitDbEntity(DbEntity entity) {
             dbEntityValidator.validate(entity, validationResult);
 
-            Iterator<DbAttribute> itAttr = entity.getAttributes().iterator();
-            while (itAttr.hasNext()) {
-                DbAttribute attr = itAttr.next();
+            for (DbAttribute attr : entity.getAttributes()) {
                 visitDbAttribute(attr);
             }
 
-            Iterator<DbRelationship> itRel = entity.getRelationships().iterator();
-            while (itRel.hasNext()) {
-                DbRelationship rel = itRel.next();
+            for (DbRelationship rel : entity.getRelationships()) {
                 visitDbRelationship(rel);
             }
             return validationResult;
@@ -182,9 +166,7 @@ public class DefaultProjectValidator implements ProjectValidator {
 
         public ValidationResult visitEmbeddable(Embeddable embeddable) {
             embeddableValidator.validate(embeddable, validationResult);
-            Iterator<EmbeddableAttribute> it = embeddable.getAttributes().iterator();
-            while (it.hasNext()) {
-                EmbeddableAttribute attr = it.next();
+            for (EmbeddableAttribute attr : embeddable.getAttributes()) {
                 visitEmbeddableAttribute(attr);
             }
             return validationResult;
@@ -203,15 +185,11 @@ public class DefaultProjectValidator implements ProjectValidator {
         public ValidationResult visitObjEntity(ObjEntity entity) {
             objEntityValidator.validate(entity, validationResult);
 
-            Iterator<ObjAttribute> itAttr = entity.getAttributes().iterator();
-            while (itAttr.hasNext()) {
-                ObjAttribute attr = itAttr.next();
+            for (ObjAttribute attr : entity.getAttributes()) {
                 visitObjAttribute(attr);
             }
 
-            Iterator<ObjRelationship> itRel = entity.getRelationships().iterator();
-            while (itRel.hasNext()) {
-                ObjRelationship rel = itRel.next();
+            for (ObjRelationship rel : entity.getRelationships()) {
                 visitObjRelationship(rel);
             }
             return validationResult;
@@ -229,17 +207,11 @@ public class DefaultProjectValidator implements ProjectValidator {
                 visitProcedureParameter(parameter);
             }
 
-            Iterator<ProcedureParameter> itPrOut = procedure
-                    .getCallOutParameters()
-                    .iterator();
-            while (itPrOut.hasNext()) {
-                ProcedureParameter procPar = itPrOut.next();
+            for (ProcedureParameter procPar : procedure.getCallOutParameters()) {
                 visitProcedureParameter(procPar);
             }
 
-            Iterator<ProcedureParameter> itPr = procedure.getCallParameters().iterator();
-            while (itPr.hasNext()) {
-                ProcedureParameter procPar = itPr.next();
+            for (ProcedureParameter procPar : procedure.getCallParameters()) {
                 visitProcedureParameter(procPar);
             }
 
@@ -252,7 +224,6 @@ public class DefaultProjectValidator implements ProjectValidator {
         }
 
         public ValidationResult visitQuery(QueryDescriptor query) {
-
             switch (query.getType()) {
                 case QueryDescriptor.SELECT_QUERY:
                     selectQueryValidator.validate((SelectQueryDescriptor) query, validationResult);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4920e53c/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
----------------------------------------------------------------------
diff --git a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
index e473c37..8faf2ba 100644
--- a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
+++ b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
@@ -205,7 +205,7 @@ public class DbImporterMojo extends AbstractMojo {
 
     @Deprecated
     public void setDefaultPackage(String defaultPackage) {
-        throw new UnsupportedOperationException("defaultPackage property has been deprecated since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
+        throw new UnsupportedOperationException("defaultPackage property has been moved to <dbimport> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
     }
 }