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