You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by jf...@apache.org on 2010/07/10 00:54:21 UTC
svn commit: r962718 - in
/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation:
ValidateInquiry.java ValidatePublish.java
Author: jfaath
Date: Fri Jul 9 22:54:20 2010
New Revision: 962718
URL: http://svn.apache.org/viewvc?rev=962718&view=rev
Log:
JUDDI-170, JUDDI-404: all inquiry operations automatically case-fold the user input keys
Modified:
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java?rev=962718&r1=962717&r2=962718&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java Fri Jul 9 22:54:20 2010
@@ -68,10 +68,18 @@ public class ValidateInquiry extends Val
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.NoKeys"));
HashSet<String> dupCheck = new HashSet<String>();
+ int i = 0;
for (String entityKey : entityKeyList) {
+
+ // Per section 4.4: keys must be case-folded
+ entityKey = entityKey.toLowerCase();
+ entityKeyList.set(i, entityKey);
+
boolean inserted = dupCheck.add(entityKey);
if (!inserted)
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.DuplicateKey", entityKey));
+
+ i++;
}
}
@@ -87,10 +95,18 @@ public class ValidateInquiry extends Val
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.NoKeys"));
HashSet<String> dupCheck = new HashSet<String>();
+ int i = 0;
for (String entityKey : entityKeyList) {
+
+ // Per section 4.4: keys must be case-folded
+ entityKey = entityKey.toLowerCase();
+ entityKeyList.set(i, entityKey);
+
boolean inserted = dupCheck.add(entityKey);
if (!inserted)
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.DuplicateKey", entityKey));
+
+ i++;
}
}
@@ -106,10 +122,18 @@ public class ValidateInquiry extends Val
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.NoKeys"));
HashSet<String> dupCheck = new HashSet<String>();
+ int i = 0;
for (String entityKey : entityKeyList) {
+
+ // Per section 4.4: keys must be case-folded
+ entityKey = entityKey.toLowerCase();
+ entityKeyList.set(i, entityKey);
+
boolean inserted = dupCheck.add(entityKey);
if (!inserted)
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.DuplicateKey", entityKey));
+
+ i++;
}
}
@@ -125,10 +149,18 @@ public class ValidateInquiry extends Val
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.NoKeys"));
HashSet<String> dupCheck = new HashSet<String>();
+ int i = 0;
for (String entityKey : entityKeyList) {
+
+ // Per section 4.4: keys must be case-folded
+ entityKey = entityKey.toLowerCase();
+ entityKeyList.set(i, entityKey);
+
boolean inserted = dupCheck.add(entityKey);
if (!inserted)
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.DuplicateKey", entityKey));
+
+ i++;
}
}
@@ -144,10 +176,18 @@ public class ValidateInquiry extends Val
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.NoKeys"));
HashSet<String> dupCheck = new HashSet<String>();
+ int i = 0;
for (String entityKey : entityKeyList) {
+
+ // Per section 4.4: keys must be case-folded
+ entityKey = entityKey.toLowerCase();
+ entityKeyList.set(i, entityKey);
+
boolean inserted = dupCheck.add(entityKey);
if (!inserted)
throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.DuplicateKey", entityKey));
+
+ i++;
}
}
@@ -195,7 +235,7 @@ public class ValidateInquiry extends Val
if (body.getCategoryBag() == null && body.getFindTModel() == null && body.getTModelBag() == null)
throw new FatalErrorException(new ErrorMessage("errors.findbinding.NoInput"));
-
+
validateFindQualifiers(body.getFindQualifiers());
validateTModelBag(body.getTModelBag());
validateFindTModel(body.getFindTModel(), true);
@@ -239,17 +279,24 @@ public class ValidateInquiry extends Val
boolean fromKeyExists = false;
if (body.getBusinessKey() != null && body.getBusinessKey().length() > 0) {
businessKeyExists = true;
-
+
+ // Per section 4.4: keys must be case-folded
+ body.setBusinessKey(body.getBusinessKey().toLowerCase());
}
if (body.getFromKey() != null && body.getFromKey().length() > 0) {
fromKeyExists = true;
if (businessKeyExists)
throw new FatalErrorException(new ErrorMessage("errors.findrelatedbusiness.MultipleInput"));
-
+
+ // Per section 4.4: keys must be case-folded
+ body.setFromKey(body.getFromKey().toLowerCase());
}
if (body.getToKey() != null && body.getToKey().length() > 0) {
if (businessKeyExists || fromKeyExists)
throw new FatalErrorException(new ErrorMessage("errors.findrelatedbusiness.MultipleInput"));
+
+ // Per section 4.4: keys must be case-folded
+ body.setToKey(body.getToKey().toLowerCase());
}
KeyedReference keyedRef = body.getKeyedReference();
@@ -259,6 +306,8 @@ public class ValidateInquiry extends Val
keyedRef.getKeyValue() == null || keyedRef.getKeyValue().length() == 0)
throw new ValueNotAllowedException(new ErrorMessage("errors.findrelatedbusiness.BlankKeyedRef"));
}
+ validateKeyedReference(keyedRef);
+
}
@@ -279,6 +328,15 @@ public class ValidateInquiry extends Val
if (tmodelBag.getTModelKey() == null || tmodelBag.getTModelKey().size() == 0)
throw new ValueNotAllowedException(new ErrorMessage("errors.tmodelbag.NoInput"));
+ List<String> keyList = tmodelBag.getTModelKey();
+ int i = 0;
+ for (String key : keyList) {
+ // Per section 4.4: keys must be case-folded
+ key = key.toLowerCase();
+ keyList.set(i, key);
+ i++;
+ }
+
}
public void validateDiscoveryUrls(org.uddi.api_v3.DiscoveryURLs discUrls) throws DispositionReportFaultMessage {
@@ -333,6 +391,9 @@ public class ValidateInquiry extends Val
if (krg instanceof org.uddi.api_v3.KeyedReferenceGroup) {
if (krg.getTModelKey() == null || krg.getTModelKey().length() == 0)
throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoTModelKey"));
+
+ // Per section 4.4: keys must be case-folded
+ krg.setTModelKey(krg.getTModelKey().toLowerCase());
}
}
@@ -345,6 +406,9 @@ public class ValidateInquiry extends Val
if (kr.getTModelKey() == null || kr.getTModelKey().length() == 0)
throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoTModelKey"));
+ // Per section 4.4: keys must be case-folded
+ kr.setTModelKey(kr.getTModelKey().toLowerCase());
+
if (kr.getKeyValue() == null || kr.getKeyValue().length() == 0)
throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoKeyValue"));
}
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java?rev=962718&r1=962717&r2=962718&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java Fri Jul 9 22:54:20 2010
@@ -940,6 +940,11 @@ public class ValidatePublish extends Val
// Keyed reference groups must contain a tModelKey
if (krg.getTModelKey() == null || krg.getTModelKey().length() == 0)
throw new ValueNotAllowedException(new ErrorMessage("errors.keyedreference.NoTModelKey"));
+
+ // Per section 4.4: keys must be case-folded
+ String tmodelKey = krg.getTModelKey().toLowerCase();
+ krg.setTModelKey(tmodelKey);
+
}
public void validateKeyedReference(KeyedReference kr, Configuration config) throws DispositionReportFaultMessage {
---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org