You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2010/03/11 15:19:26 UTC
svn commit: r921861 [2/2] - in /cayenne/main/trunk/framework:
cayenne-modeler/src/main/java/org/apache/cayenne/modeler/
cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/
cayenne-project-unpublished/src/main/java/org/apache/cayenne/projec...
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureParameterValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureParameterValidator.java?rev=921861&r1=921860&r2=921861&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureParameterValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureParameterValidator.java Thu Mar 11 14:19:25 2010
@@ -18,40 +18,49 @@
****************************************************************/
package org.apache.cayenne.project2.validation;
+import java.sql.Types;
+
import org.apache.cayenne.dba.TypesMapping;
import org.apache.cayenne.map.ProcedureParameter;
import org.apache.cayenne.util.Util;
+import org.apache.cayenne.validation.ValidationResult;
-class ProcedureParameterValidator {
-
- void validate(Object object, ValidationVisitor validationVisitor) {
+class ProcedureParameterValidator extends ConfigurationNodeValidator {
- ProcedureParameter parameter = (ProcedureParameter) object;
+ void validate(ProcedureParameter parameter, ValidationResult validationResult) {
// Must have name
if (Util.isEmptyString(parameter.getName())) {
- validationVisitor.registerError("Unnamed ProcedureParameter.", object);
+ addFailure(validationResult, parameter, "Unnamed ProcedureParameter");
}
// all attributes must have type
if (parameter.getType() == TypesMapping.NOT_DEFINED) {
- validationVisitor.registerWarning("ProcedureParameter has no type.", object);
+ addFailure(
+ validationResult,
+ parameter,
+ "ProcedureParameter '%s' has no type",
+ parameter.getName());
}
// VARCHAR and CHAR attributes must have max length
if (parameter.getMaxLength() < 0
- && (parameter.getType() == java.sql.Types.VARCHAR || parameter.getType() == java.sql.Types.CHAR)) {
+ && (parameter.getType() == Types.VARCHAR || parameter.getType() == Types.CHAR)) {
- validationVisitor.registerWarning(
- "Character procedure parameter doesn't have max length.",
- object);
+ addFailure(
+ validationResult,
+ parameter,
+ "Character ProcedureParameter '%s' doesn't have max length",
+ parameter.getName());
}
// all attributes must have type
if (parameter.getDirection() <= 0) {
- validationVisitor.registerWarning(
- "ProcedureParameter has no direction.",
- object);
+ addFailure(
+ validationResult,
+ parameter,
+ "ProcedureParameter '%s' has no direction",
+ parameter.getName());
}
}
}
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureQueryValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureQueryValidator.java?rev=921861&r1=921860&r2=921861&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureQueryValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureQueryValidator.java Thu Mar 11 14:19:25 2010
@@ -23,23 +23,23 @@ import org.apache.cayenne.map.Procedure;
import org.apache.cayenne.query.ProcedureQuery;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.util.Util;
+import org.apache.cayenne.validation.ValidationResult;
-class ProcedureQueryValidator {
+class ProcedureQueryValidator extends ConfigurationNodeValidator {
- void validate(Object object, ValidationVisitor validationVisitor) {
- ProcedureQuery query = (ProcedureQuery) object;
-
- validateName(query, validationVisitor);
- validateRoot(query, validationVisitor);
+ void validate(ProcedureQuery query, ValidationResult validationResult) {
+ validateName(query, validationResult);
+ validateRoot(query, validationResult);
}
- void validateRoot(ProcedureQuery query, ValidationVisitor validationVisitor) {
+ void validateRoot(ProcedureQuery query, ValidationResult validationResult) {
DataMap map = query.getDataMap();
Object root = query.getRoot();
if (root == null && map != null) {
- validationVisitor.registerWarning("Query has no root", query);
+ addFailure(validationResult, query, "ProcedureQuery '%s' has no root", query
+ .getName());
}
// procedure query only supports procedure root
@@ -48,8 +48,12 @@ class ProcedureQueryValidator {
// procedure may have been deleted...
if (map != null && map.getProcedure(procedure.getName()) != procedure) {
- validationVisitor.registerWarning("Invalid Procedure Root - "
- + procedure.getName(), query);
+ addFailure(
+ validationResult,
+ query,
+ "ProcedureQuery '%s' has invalid Procedure root: %s",
+ query.getName(),
+ procedure.getName());
}
return;
@@ -57,19 +61,22 @@ class ProcedureQueryValidator {
if (root instanceof String) {
if (map != null && map.getProcedure(root.toString()) == null) {
- validationVisitor.registerWarning(
- "Invalid Procedure Root - " + root,
- query);
+ addFailure(
+ validationResult,
+ query,
+ "ProcedureQuery '%s' has invalid Procedure root: %s",
+ query.getName(),
+ root);
}
}
}
- void validateName(ProcedureQuery query, ValidationVisitor validationVisitor) {
+ void validateName(ProcedureQuery query, ValidationResult validationResult) {
String name = query.getName();
// Must have name
if (Util.isEmptyString(name)) {
- validationVisitor.registerError("Unnamed Query.", query);
+ addFailure(validationResult, query, "Unnamed ProcedureQuery");
return;
}
@@ -85,9 +92,11 @@ class ProcedureQueryValidator {
}
if (name.equals(otherQuery.getName())) {
- validationVisitor.registerError(
- "Duplicate Query name: " + name + ".",
- query);
+ addFailure(
+ validationResult,
+ query,
+ "Dulicate ProcedureQuery name: %s",
+ name);
break;
}
}
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureValidator.java?rev=921861&r1=921860&r2=921861&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProcedureValidator.java Thu Mar 11 14:19:25 2010
@@ -24,31 +24,33 @@ import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.Procedure;
import org.apache.cayenne.map.ProcedureParameter;
import org.apache.cayenne.util.Util;
+import org.apache.cayenne.validation.ValidationResult;
-class ProcedureValidator {
+class ProcedureValidator extends ConfigurationNodeValidator {
- void validate(Object object, ValidationVisitor validationVisitor) {
- Procedure procedure = (Procedure) object;
+ void validate(Procedure procedure, ValidationResult validationResult) {
- validateName(procedure, validationVisitor);
+ validateName(procedure, validationResult);
// check that return value is present
if (procedure.isReturningValue()) {
List<ProcedureParameter> parameters = procedure.getCallParameters();
- if (parameters.size() == 0) {
- validationVisitor.registerWarning(
- "Procedure returns a value, but has no parameters.",
- object);
+ if (parameters.isEmpty()) {
+ addFailure(
+ validationResult,
+ procedure,
+ "Procedure '%s' returns a value, but has no parameters",
+ procedure.getName());
}
}
}
- void validateName(Procedure procedure, ValidationVisitor validationVisitor) {
+ void validateName(Procedure procedure, ValidationResult validationResult) {
String name = procedure.getName();
// Must have name
if (Util.isEmptyString(name)) {
- validationVisitor.registerError("Unnamed Procedure.", procedure);
+ addFailure(validationResult, procedure, "Unnamed Procedure");
return;
}
@@ -64,9 +66,11 @@ class ProcedureValidator {
}
if (name.equals(otherProcedure.getName())) {
- validationVisitor.registerError(
- "Duplicate Procedure name: " + name + ".",
- procedure);
+ addFailure(
+ validationResult,
+ procedure,
+ "Duplicate Procedure name: %s",
+ procedure.getName());
break;
}
}
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProjectValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProjectValidator.java?rev=921861&r1=921860&r2=921861&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProjectValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/ProjectValidator.java Thu Mar 11 14:19:25 2010
@@ -21,7 +21,12 @@ package org.apache.cayenne.project2.vali
import org.apache.cayenne.configuration.ConfigurationNode;
import org.apache.cayenne.validation.ValidationResult;
+/**
+ * A project validating service.
+ *
+ * @since 3.1
+ */
public interface ProjectValidator {
- public ValidationResult validate(ConfigurationNode node);
+ ValidationResult validate(ConfigurationNode node);
}
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SQLTemplateValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SQLTemplateValidator.java?rev=921861&r1=921860&r2=921861&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SQLTemplateValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SQLTemplateValidator.java Thu Mar 11 14:19:25 2010
@@ -22,18 +22,17 @@ import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.SQLTemplate;
import org.apache.cayenne.util.Util;
+import org.apache.cayenne.validation.ValidationResult;
-class SQLTemplateValidator {
+class SQLTemplateValidator extends ConfigurationNodeValidator {
- void validate(Object object, ValidationVisitor validationVisitor) {
- SQLTemplate query = (SQLTemplate) object;
-
- validateName(query, validationVisitor);
- validateRoot(query, validationVisitor);
- validateDefaultSQL(query, validationVisitor);
+ void validate(SQLTemplate query, ValidationResult validationResult) {
+ validateName(query, validationResult);
+ validateRoot(query, validationResult);
+ validateDefaultSQL(query, validationResult);
}
- void validateDefaultSQL(SQLTemplate query, ValidationVisitor validationVisitor) {
+ void validateDefaultSQL(SQLTemplate query, ValidationResult validationResult) {
if (Util.isEmptyString(query.getDefaultTemplate())) {
// see if there is at least one adapter-specific template...
@@ -44,23 +43,31 @@ class SQLTemplateValidator {
}
}
- validationVisitor.registerWarning("Query has no default SQL template", query);
+ addFailure(
+ validationResult,
+ query,
+ "SQLTemplate query '%s' has no default SQL template",
+ query.getName());
}
}
- void validateRoot(SQLTemplate query, ValidationVisitor validationVisitor) {
+ void validateRoot(SQLTemplate query, ValidationResult validationResult) {
DataMap map = query.getDataMap();
if (query.getRoot() == null && map != null) {
- validationVisitor.registerWarning("Query has no root", query);
+ addFailure(
+ validationResult,
+ query,
+ "SQLTemplate query '%s' has no root",
+ query.getName());
}
}
- void validateName(SQLTemplate query, ValidationVisitor validationVisitor) {
+ void validateName(SQLTemplate query, ValidationResult validationResult) {
String name = query.getName();
// Must have name
if (Util.isEmptyString(name)) {
- validationVisitor.registerError("Unnamed Query.", query);
+ addFailure(validationResult, query, "Unnamed SQLTemplate");
return;
}
@@ -76,9 +83,7 @@ class SQLTemplateValidator {
}
if (name.equals(otherQuery.getName())) {
- validationVisitor.registerError(
- "Duplicate Query name: " + name + ".",
- query);
+ addFailure(validationResult, query, "Duplicate query name: %s", name);
break;
}
}
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SelectQueryValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SelectQueryValidator.java?rev=921861&r1=921860&r2=921861&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SelectQueryValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project2/validation/SelectQueryValidator.java Thu Mar 11 14:19:25 2010
@@ -26,54 +26,57 @@ import org.apache.cayenne.query.Prefetch
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.SelectQuery;
import org.apache.cayenne.util.Util;
+import org.apache.cayenne.validation.ValidationResult;
-class SelectQueryValidator {
+class SelectQueryValidator extends ConfigurationNodeValidator {
- void validate(Object object, ValidationVisitor validationVisitor) {
- SelectQuery query = (SelectQuery) object;
+ void validate(SelectQuery query, ValidationResult validationResult) {
- validateName(query, validationVisitor);
+ validateName(query, validationResult);
// Resolve root to Entity for further validation
- Entity root = validateRoot(query, validationVisitor);
+ Entity root = validateRoot(query, validationResult);
// validate path-based parts
if (root != null) {
- validateQualifier(root, query.getQualifier(), validationVisitor);
+ validateQualifier(root, query.getQualifier(), validationResult);
for (final Ordering ordering : query.getOrderings()) {
- validateOrdering(root, ordering, validationVisitor);
+ validateOrdering(root, ordering, validationResult);
}
if (query.getPrefetchTree() != null) {
- for (final PrefetchTreeNode prefetchTreeNode : query
+ for (PrefetchTreeNode prefetchTreeNode : query
.getPrefetchTree()
.nonPhantomNodes()) {
- validatePrefetch(root, prefetchTreeNode.getPath(), validationVisitor);
+ validatePrefetch(root, prefetchTreeNode.getPath(), validationResult);
}
}
}
}
- void validatePrefetch(Entity root, String path, ValidationVisitor validationVisitor) {
+ void validatePrefetch(Entity root, String path, ValidationResult validationResult) {
+ // TODO: andrus 03/10/2010 - should this be implemented?
}
void validateOrdering(
Entity root,
Ordering ordering,
- ValidationVisitor validationVisitor) {
+ ValidationResult validationResult) {
+ // TODO: andrus 03/10/2010 - should this be implemented?
}
void validateQualifier(
Entity root,
Expression qualifier,
- ValidationVisitor validationVisitor) {
+ ValidationResult validationResult) {
+ // TODO: andrus 03/10/2010 - should this be implemented?
}
- Entity validateRoot(SelectQuery query, ValidationVisitor validationVisitor) {
+ Entity validateRoot(SelectQuery query, ValidationResult validationResult) {
DataMap map = query.getDataMap();
if (query.getRoot() == null && map != null) {
- validationVisitor.registerWarning("Query has no root", query);
+ addFailure(validationResult, query, "Query '%s' has no root", query.getName());
return null;
}
@@ -92,7 +95,7 @@ class SelectQueryValidator {
}
// can't validate Class root - it is likely not accessible from here...
- if (query.getRoot() instanceof Class) {
+ if (query.getRoot() instanceof Class<?>) {
return null;
}
@@ -109,12 +112,12 @@ class SelectQueryValidator {
return null;
}
- void validateName(SelectQuery query, ValidationVisitor validationVisitor) {
+ void validateName(SelectQuery query, ValidationResult validationResult) {
String name = query.getName();
// Must have name
if (Util.isEmptyString(name)) {
- validationVisitor.registerError("Unnamed SelectQuery.", query);
+ addFailure(validationResult, query, "Unnamed SelectQuery");
return;
}
@@ -131,9 +134,7 @@ class SelectQueryValidator {
}
if (name.equals(otherQuery.getName())) {
- validationVisitor.registerError(
- "Duplicate Query name: " + name + ".",
- query);
+ addFailure(validationResult, query, "Duplicate query name: %s", name);
break;
}
}