Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 68775 invoked from network); 16 Nov 2006 08:29:17 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Nov 2006 08:29:17 -0000 Received: (qmail 33342 invoked by uid 500); 16 Nov 2006 08:29:25 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 33273 invoked by uid 500); 16 Nov 2006 08:29:25 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 33262 invoked by uid 99); 16 Nov 2006 08:29:25 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Nov 2006 00:29:25 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS X-Spam-Check-By: apache.org Received-SPF: neutral (herse.apache.org: local policy) Received: from [212.227.126.186] (HELO moutng.kundenserver.de) (212.227.126.186) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Nov 2006 00:29:10 -0800 Received: from [87.78.91.180] (helo=mail.inside.de) by mrelayeu.kundenserver.de (node=mrelayeu0) with ESMTP (Nemesis), id 0MKwh2-1Gkcc32ZjL-0001DP; Thu, 16 Nov 2006 09:28:48 +0100 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.1830 Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C70958.CA319EE1" Subject: [validator] [patch] Validating all indexed properties with different messages Date: Thu, 16 Nov 2006 09:25:35 +0100 Message-ID: <6F52B85EF17DDE45AA3928FF7ECB748A71EAA1@mail.inside.de> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [validator] [patch] Validating all indexed properties with different messages thread-index: AccJWMnCpWwNLCxoSDm4VnzLKEg24A== From: "Eickvonder Bjoern" To: X-Provags-ID: kundenserver.de abuse@kundenserver.de login:a0d149e0411f17fc40d2320a628302a9 X-Virus-Checked: Checked by ClamAV on apache.org ------_=_NextPart_001_01C70958.CA319EE1 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I got a patch that might be slightly related to = https://issues.apache.org/jira/browse/VALIDATOR-116. It addresses the = following two problems. 1.) If an indexed field is validated the validation terminates on the = first index failing. My patch makes this configurable within the field = element via an attribute "stopOnFail". If this is false just the = validation for the current index is terminated if a dependency = validation fails. If it is true (Default) there is no change in = behaviour. 2.) In VALIDATOR-116 it is said that a major problem with indexed fields = is that you can't get different error messages. My patch makes this = possible by allowing a back-reference token "[]" (as used internally for = the key of the field) to be used within msg keys, arg keys and var = values. In case of an indexed property these are replaced by = [0],[1],[2],... during the iteration over all the indexes of the = validated field. By the way, should I have (or should I still) opened an "Improvement" = within Jira for this or has it been correct to first post this patch = here? Bj=F6rn Eickvonder Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte = Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtuemlich = erhalten haben,=20 informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. = Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail bzw. = Inhalte=20 hieraus ist nicht gestattet. ------_=_NextPart_001_01C70958.CA319EE1 Content-Type: text/plain; name="commons-validator-patch.txt" Content-Transfer-Encoding: base64 Content-Description: commons-validator-patch.txt Content-Disposition: attachment; filename="commons-validator-patch.txt" SW5kZXg6IEQ6L3dvcmtzcGFjZTMuMS90cnVuay9jb25mL3NoYXJlL3ZhbGlkYXRvcl8xXzNfMC5k dGQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBEOi93b3Jrc3BhY2UzLjEvdHJ1bmsvY29uZi9zaGFyZS92YWxp ZGF0b3JfMV8zXzAuZHRkCShyZXZpc2lvbiA0NzU2MTUpDQorKysgRDovd29ya3NwYWNlMy4xL3Ry dW5rL2NvbmYvc2hhcmUvdmFsaWRhdG9yXzFfM18wLmR0ZAkod29ya2luZyBjb3B5KQ0KQEAgLTEy OCwxNCArMTI4LDE4IEBADQogICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbmQgdGhlbiBsb29w IHRocm91Z2ggdGhlIGxpc3QgcGVyZm9ybWluZyB0aGUNCiAgICAgICAgICAgICAgICAgICAgICB2 YWxpZGF0aW9ucyBmb3IgdGhpcyBmaWVsZC4NCiANCisgICAgIHN0b3BPbkZhaWwgICAgICBBIGJv b2xlYW4gdmFsdWUgdGhhdCBkZWZpbmVzIGlmIGFsbCBpbmRleCB2YWx1ZXMgc2hvdWxkDQorICAg ICAgICAgICAgICAgICAgICAgYmUgdmFsaWRhdGVkIG9yIHZhbGlkYXRpb24gc2hvdWxkIHN0b3Ag b24gdGhlIGZpcnN0DQorICAgICAgICAgICAgICAgICAgICAgaW5kZXggZmFpbGluZyAoRGVmYXVs dDogdHJ1ZSkgICAgICAgICAgIA0KKw0KIC0tPg0KIDwhRUxFTUVOVCBmaWVsZCAobXNnfGFyZ3x2 YXIpKj4NCiA8IUFUVExJU1QgZmllbGQgcHJvcGVydHkgQ0RBVEEgI1JFUVVJUkVEPg0KIDwhQVRU TElTVCBmaWVsZCBkZXBlbmRzIENEQVRBICNJTVBMSUVEPg0KIDwhQVRUTElTVCBmaWVsZCBwYWdl IENEQVRBICNJTVBMSUVEPg0KIDwhQVRUTElTVCBmaWVsZCBpbmRleGVkTGlzdFByb3BlcnR5IENE QVRBICNJTVBMSUVEPg0KKzwhQVRUTElTVCBmaWVsZCBzdG9wT25GYWlsIENEQVRBICNJTVBMSUVE Pg0KIA0KLQ0KIDwhLS0NCiAgICAgIERlZmluZXMgYSBjdXN0b20gbWVzc2FnZSBrZXkgdG8gdXNl IHdoZW4gb25lIG9mIHRoZQ0KICAgICAgdmFsaWRhdG9ycyBmb3IgdGhpcyBmaWVsZCBmYWlscy4g RWFjaCB2YWxpZGF0b3IgaGFzIGEgZGVmYXVsdCBtZXNzYWdlDQpJbmRleDogRDovd29ya3NwYWNl My4xL3RydW5rL3NyYy9zaGFyZS9vcmcvYXBhY2hlL2NvbW1vbnMvdmFsaWRhdG9yL0ZpZWxkLmph dmENCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBEOi93b3Jrc3BhY2UzLjEvdHJ1bmsvc3JjL3NoYXJlL29yZy9h cGFjaGUvY29tbW9ucy92YWxpZGF0b3IvRmllbGQuamF2YQkocmV2aXNpb24gNDc1NjE1KQ0KKysr IEQ6L3dvcmtzcGFjZTMuMS90cnVuay9zcmMvc2hhcmUvb3JnL2FwYWNoZS9jb21tb25zL3ZhbGlk YXRvci9GaWVsZC5qYXZhCSh3b3JraW5nIGNvcHkpDQpAQCAtOTAsNiArOTAsMTIgQEANCiAgICAg ICogVGhlIEZpZWxkJ3MgaW5kZXhlZCBsaXN0IHByb3BlcnR5IG5hbWUuDQogICAgICAqLw0KICAg ICBwcm90ZWN0ZWQgU3RyaW5nIGluZGV4ZWRMaXN0UHJvcGVydHkgPSBudWxsOw0KKyAgICANCisg ICAgLyoqDQorICAgICAqIERlZmluZXMgaWYgYWxsIGluZGV4ZWQgZmllbGRzIHNob3VsZCBiZSB2 YWxpZGF0ZWQgb3Igc3RvcA0KKyAgICAgKiB2YWxpZGF0aW9uIHNob3VsZCBzdG9wIG9uIGZpcnN0 IGZhaWwuDQorICAgICAqLw0KKyAgICBwcm90ZWN0ZWQgYm9vbGVhbiBzdG9wT25GYWlsID0gdHJ1 ZTsNCiANCiAgICAgLyoqDQogICAgICAqIFRoZSBGaWVsZCdzIHVuaXF1ZSBrZXkuDQpAQCAtMjE2 LDggKzIyMiwyNiBAQA0KICAgICBwdWJsaWMgU3RyaW5nIGdldEluZGV4ZWRMaXN0UHJvcGVydHko KSB7DQogICAgICAgICByZXR1cm4gdGhpcy5pbmRleGVkTGlzdFByb3BlcnR5Ow0KICAgICB9DQor ICAgIA0KKyAgICAvKioNCisgICAgICogR2V0cyBhIGJvb2xlYW4gdmFsdWUgdGhhdCBkZWZpbmVz IGlmIGFsbCBpbmRleCB2YWx1ZXMgc2hvdWxkDQorICAgICAqIGJlIHZhbGlkYXRlZCBvciB2YWxp ZGF0aW9uIHNob3VsZCBzdG9wIG9uIHRoZSBmaXJzdA0KKyAgICAgKiBpbmRleCBmYWlsaW5nIChE ZWZhdWx0OiB0cnVlKQ0KKyAgICAgKiBAcmV0dXJuIHRydWUgaWYgdmFsaWRhdGlvbiBzdG9wcyBv biBmaXJzdCBmYWlsLiAgDQorICAgICAqLw0KKyAgICBwdWJsaWMgYm9vbGVhbiBpc1N0b3BPbkZh aWwoKSB7DQorICAgICAgcmV0dXJuIHN0b3BPbkZhaWw7DQorICAgIH0NCiANCiAgICAgLyoqDQor ICAgICAqIFNldHMgdGhlIHN0b3BPbkZhaWwgYm9vbGVhbiBhdHRyaWJ1dGUgb2YgdGhlIGZpZWxk Lg0KKyAgICAgKiBAcGFyYW0gc3RvcE9uRmFpbCBhIGJvb2xlYW4gdmFsdWUgdGhhdCBkZWZpbmVz IGlmIHZhbGlkYXRpb24gc2hvdWxkIHN0b3Agb24gZmlyc3QgZmFpbA0KKyAgICAgKi8NCisgICAg cHVibGljIHZvaWQgc2V0U3RvcE9uRmFpbChib29sZWFuIHN0b3BPbkZhaWwpIHsNCisgICAgICB0 aGlzLnN0b3BPbkZhaWwgPSBzdG9wT25GYWlsOw0KKyAgICB9DQorDQorICAgIC8qKg0KICAgICAg KiBTZXRzIHRoZSBpbmRleGVkIHByb3BlcnR5IG5hbWUgb2YgdGhlIGZpZWxkLg0KICAgICAgKiBA cGFyYW0gaW5kZXhlZExpc3RQcm9wZXJ0eSBUaGUgZmllbGQncyBpbmRleGVkIExpc3QgcHJvcGVy dHkgbmFtZS4NCiAgICAgICovDQpAQCAtODgxLDcgKzkwNSw4IEBADQogDQogICAgICAgICAgICAg ICAgIGlmICghZ29vZCkgew0KICAgICAgICAgICAgICAgICAgICAgYWxsUmVzdWx0cy5tZXJnZShy ZXN1bHRzKTsNCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBhbGxSZXN1bHRzOw0KKyAgICAg ICAgICAgICAgICAgICAgaWYgKGlzU3RvcE9uRmFpbCgpKSByZXR1cm4gYWxsUmVzdWx0czsNCisg ICAgICAgICAgICAgICAgICAgIGVsc2UgYnJlYWs7DQogICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICB9DQogICAgICAgICAgICAgYWxsUmVzdWx0cy5tZXJnZShyZXN1bHRzKTsNCkluZGV4 OiBEOi93b3Jrc3BhY2UzLjEvdHJ1bmsvc3JjL3NoYXJlL29yZy9hcGFjaGUvY29tbW9ucy92YWxp ZGF0b3IvVmFsaWRhdG9yQWN0aW9uLmphdmENCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBEOi93b3Jrc3BhY2Uz LjEvdHJ1bmsvc3JjL3NoYXJlL29yZy9hcGFjaGUvY29tbW9ucy92YWxpZGF0b3IvVmFsaWRhdG9y QWN0aW9uLmphdmEJKHJldmlzaW9uIDQ3NTYxNSkNCisrKyBEOi93b3Jrc3BhY2UzLjEvdHJ1bmsv c3JjL3NoYXJlL29yZy9hcGFjaGUvY29tbW9ucy92YWxpZGF0b3IvVmFsaWRhdG9yQWN0aW9uLmph dmEJKHdvcmtpbmcgY29weSkNCkBAIC0zNCw2ICszNCw3IEBADQogaW1wb3J0IGphdmEudXRpbC5M aXN0Ow0KIGltcG9ydCBqYXZhLnV0aWwuTWFwOw0KIGltcG9ydCBqYXZhLnV0aWwuU3RyaW5nVG9r ZW5pemVyOw0KK2ltcG9ydCBqYXZhLnV0aWwuSXRlcmF0b3I7DQogDQogaW1wb3J0IG9yZy5hcGFj aGUuY29tbW9ucy5sb2dnaW5nLkxvZzsNCiBpbXBvcnQgb3JnLmFwYWNoZS5jb21tb25zLmxvZ2dp bmcuTG9nRmFjdG9yeTsNCkBAIC03NDEsNiArNzQyLDM5IEBADQogICAgICAgICAgICAgICAgIEZp ZWxkLlRPS0VOX0lOREVYRUQsDQogICAgICAgICAgICAgICAgICJbIiArIHBvcyArICJdIikpOw0K IA0KKyAgICAgICAgLy8gcmVwbGFjZSBpbmRleCB0b2tlbiB3aXRoaW4ga2V5IG9mIGFyZ3MNCisg ICAgICAgIGZvciAoaW50IGk9MDsgaTxpbmRleGVkRmllbGQuYXJncy5sZW5ndGg7IGkrKykgew0K KyAgICAgICAgICAgIE1hcCBhcmdNYXAgPSBpbmRleGVkRmllbGQuYXJnc1tpXTsNCisgICAgICAg ICAgICBJdGVyYXRvciBpdGVyID0gYXJnTWFwLnZhbHVlcygpLml0ZXJhdG9yKCk7DQorICAgICAg ICAgICAgd2hpbGUgKGl0ZXIuaGFzTmV4dCgpKSB7DQorICAgICAgICAgICAgICAgIEFyZyBhcmcg PSAoQXJnKSBpdGVyLm5leHQoKTsNCisgICAgICAgICAgICAgICAgYXJnLnNldEtleShWYWxpZGF0 b3JVdGlscy5yZXBsYWNlKA0KKyAgICAgICAgICAgICAgICAgICAgYXJnLmdldEtleSgpLA0KKyAg ICAgICAgICAgICAgICAgICAgRmllbGQuVE9LRU5fSU5ERVhFRCwNCisgICAgICAgICAgICAgICAg ICAgICJbIiArIHBvcyArICJdIikpOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgIH0NCisgICAg ICAgIA0KKyAgICAgICAgLy8gcmVwbGFjZSBpbmRleCB0b2tlbiB3aXRoaW4ga2V5IG9mIG1zZw0K KyAgICAgICAgSXRlcmF0b3IgbXNnSXRlciA9IGluZGV4ZWRGaWVsZC5oTXNncy52YWx1ZXMoKS5p dGVyYXRvcigpOw0KKyAgICAgICAgd2hpbGUgKG1zZ0l0ZXIuaGFzTmV4dCgpKSB7DQorICAgICAg ICAgICAgTXNnIG1zZyA9IChNc2cpIG1zZ0l0ZXIubmV4dCgpOw0KKyAgICAgICAgICAgIG1zZy5z ZXRLZXkoVmFsaWRhdG9yVXRpbHMucmVwbGFjZSgNCisgICAgICAgICAgICAgICAgbXNnLmdldEtl eSgpLA0KKyAgICAgICAgICAgICAgICBGaWVsZC5UT0tFTl9JTkRFWEVELA0KKyAgICAgICAgICAg ICAgICAiWyIgKyBwb3MgKyAiXSIpKTsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAg Ly8gcmVwbGFjZSBpbmRleCB0b2tlbiB3aXRoaW4gdmFsdWUgb2YgdmFyDQorICAgICAgICBJdGVy YXRvciB2YXJJdGVyID0gaW5kZXhlZEZpZWxkLmhWYXJzLnZhbHVlcygpLml0ZXJhdG9yKCk7DQor ICAgICAgICB3aGlsZSAodmFySXRlci5oYXNOZXh0KCkpIHsNCisgICAgICAgICAgICBWYXIgdmFy ID0gKFZhcikgdmFySXRlci5uZXh0KCk7DQorICAgICAgICAgICAgdmFyLnNldFZhbHVlKFZhbGlk YXRvclV0aWxzLnJlcGxhY2UoDQorICAgICAgICAgICAgICAgIHZhci5nZXRWYWx1ZSgpLA0KKyAg ICAgICAgICAgICAgICBGaWVsZC5UT0tFTl9JTkRFWEVELA0KKyAgICAgICAgICAgICAgICAiWyIg KyBwb3MgKyAiXSIpKTsNCisgICAgICAgIH0NCisgICAgICAgIA0KICAgICAgICAgcGFyYW1WYWx1 ZXNbZmllbGRJbmRleF0gPSBpbmRleGVkRmllbGQ7DQogICAgIH0NCiAgICAgDQo= ------_=_NextPart_001_01C70958.CA319EE1 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org ------_=_NextPart_001_01C70958.CA319EE1--