Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@apache.org Received: (qmail 87354 invoked from network); 17 Jul 2003 23:02:44 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 17 Jul 2003 23:02:44 -0000 Received: (qmail 4566 invoked by uid 97); 17 Jul 2003 23:05:21 -0000 Delivered-To: qmlist-jakarta-archive-commons-dev@nagoya.betaversion.org Received: (qmail 4559 invoked from network); 17 Jul 2003 23:05:21 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by nagoya.betaversion.org with SMTP; 17 Jul 2003 23:05:21 -0000 Received: (qmail 87146 invoked by uid 500); 17 Jul 2003 23:02:42 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: 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 87134 invoked from network); 17 Jul 2003 23:02:41 -0000 Received: from adsl-67-122-116-206.dsl.sntc01.pacbell.net (HELO l0calh0stu1.localh0st.biz) (67.122.116.206) by daedalus.apache.org with SMTP; 17 Jul 2003 23:02:41 -0000 Received: from mail-1.solidusnetworks.com (xchange-internal [192.168.116.20]) by l0calh0stu1.localh0st.biz (8.12.9/8.12.7) with ESMTP id h6HM2wQQ027222 for ; Thu, 17 Jul 2003 15:02:58 -0700 X-MIMEOLE: Produced By Microsoft Exchange V6.0.6249.0 Content-Class: urn:content-classes:message Subject: [lang] MethodUtils Inner Class Accessibility Date: Thu, 17 Jul 2003 16:01:09 -0700 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C34CB7.4FE357F2" Message-ID: X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [lang] MethodUtils Inner Class Accessibility Thread-Index: AcNK4Ha6cHavoNL8QeCpA4cIiK9jkgB0KkIQ From: "Arun Thomas" To: "Jakarta Commons Developers List" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N ------_=_NextPart_001_01C34CB7.4FE357F2 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I wrote some additional tests for MethodUtils which fail given the = current implementation. Except I'm unsure whether this is because I'm = testing for something that I shouldn't expect, or because the behaviour = of the functions are wrong. I'll attach patches for the test cases = (testGetAccessibleMethodInaccessibleInnerClass & = testInvokeInaccessibleInnerClass) which show this issue, but I detail = below: Question.... Suppose a package protected class contains a public inner class with = public methods. It is impossible, in code outside the package, to = invoke methods declared on this inner class through direct java code = (without subclassing), simply because it is not possible to type an = object as having the type of the inner class in order to access the = methods of the class at compile time. Should it be possible to invoke = the same methods by reflection? =20 Example: ------------------------------------------------------------------ package x; Class OuterClass { public static Class InnerClass { public Object innerClassMethod(Object o) { return o; } } } public Class Factory { public static Object getInnerClassObject() { return new OuterClass.InnerClass(); } } ------------------------------------------------------------------ package y; public class CallingClass { public static void main(String[] args) { Object innerClassObject =3D Factory.getInnerClassObject(); Object arg =3D new Object(); // Impossible - because Outerclass is not accessible=20 // ((OuterClass.InnerClass) innerClassObject).innerClassMethod(arg); // Should the following be possible without raising an exception? // Currently, this is possible.... try { MethodUtils.invokeMethod( innerClassObject, "innerClassMethod", arg); } catch (Throwable t) { // Should I end up here or not? =20 } } } ------------------------------------------------------------------ Thanks,=20 -AMT P.S. The attached patche also breaks down a large test in MethodUtils = into multiple small tests, but that is besides the point of this email. = =20 ------_=_NextPart_001_01C34CB7.4FE357F2 Content-Type: text/plain; name="patch.txt" Content-Transfer-Encoding: base64 Content-Description: patch.txt Content-Disposition: attachment; filename="patch.txt" SW5kZXg6IE1ldGhvZFV0aWxzVGVzdENhc2UuamF2YQ0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9o b21lL2N2c3B1YmxpYy9qYWthcnRhLWNvbW1vbnMvbGFuZy9zcmMvdGVzdC9vcmcvYXBhY2hlL2Nv bW1vbnMvbGFuZy9yZWZsZWN0L01ldGhvZFV0aWxzVGVzdENhc2UuamF2YSx2DQpyZXRyaWV2aW5n IHJldmlzaW9uIDEuNQ0KZGlmZiAtdSAtcjEuNSBNZXRob2RVdGlsc1Rlc3RDYXNlLmphdmENCi0t LSBNZXRob2RVdGlsc1Rlc3RDYXNlLmphdmEJOCBKdW4gMjAwMyAxNDoxOTo0MyAtMDAwMAkxLjUN CisrKyBNZXRob2RVdGlsc1Rlc3RDYXNlLmphdmEJMTcgSnVsIDIwMDMgMjM6MDA6MTMgLTAwMDAN CkBAIC02NCw2ICs2NCw4IEBADQogaW1wb3J0IGp1bml0LmZyYW1ld29yay5UZXN0U3VpdGU7DQog DQogaW1wb3J0IG9yZy5hcGFjaGUuY29tbW9ucy5sYW5nLnJlZmxlY3QucHJpdi5Qcml2YXRlQmVh bkZhY3Rvcnk7DQoraW1wb3J0IG9yZy5hcGFjaGUuY29tbW9ucy5sYW5nLnJlZmxlY3QucHJpdi5Q cml2YXRlRGlyZWN0Ow0KK2ltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMubGFuZy5yZWZsZWN0LnBy aXYuUHJpdmF0ZUluZGlyZWN0Ow0KIGltcG9ydCBvcmcuYXBhY2hlLmNvbW1vbnMubGFuZy5yZWZs ZWN0LnByaXYuUHVibGljU3ViQmVhbjsNCiANCiAvKioNCkBAIC0xMTksNyArMTIxLDcgQEANCiAg ICAgLyoqDQogICAgICAqIDxwPiBUZXN0IDxjb2RlPmdldEFjY2Vzc2libGVNZXRob2Q8L2NvZGU+ Lg0KICAgICAgKi8NCi0gICAgcHVibGljIHZvaWQgdGVzdEdldEFjY2Vzc2libGVNZXRob2QoKSB7 DQorICAgIHB1YmxpYyB2b2lkIHRlc3RHZXRBY2Nlc3NpYmxlTWV0aG9kUHVibGljTWV0aG9kKCkg ew0KICAgICAgICAgLy8gdGVzdCBNZXRob2RVdGlscy5nZXRBY2Nlc3NpYmxlTWV0aG9kDQogICAg ICAgICAvLyB3ZSdsbCBtYWtlIHRoaW5ncyBlYXNpZXIgYnkgdXNpbmcgdGhlIGNvbnZlbmllbmNl IG1ldGhvZHMNCiANCkBAIC0xMzAsMzQgKzEzMiw1MyBAQA0KIA0KICAgICAgICAgLy8gY2hlY2sg dGhhdCB3ZSd2ZSBmb3VuZCBvbmUgdGhhdCBtYXRjaGVzDQogICAgICAgICBhc3NlcnROb3ROdWxs KG1ldGhvZCk7DQorICAgICAgICBhc3NlcnRFcXVhbHMoVGVzdEJlYW4uY2xhc3MsIG1ldGhvZC5n ZXREZWNsYXJpbmdDbGFzcygpKTsNCiAgICAgICAgIGFzc2VydEVxdWFscygibWV0aG9kIE9ORSBp cyBuYW1lZCBjb3JyZWN0bHkiLA0KICAgICAgICAgICAgICAgICAic2V0U3RyaW5nUHJvcGVydHki LCBtZXRob2QuZ2V0TmFtZSgpKTsNCiAgICAgICAgIGFzc2VydFRydWUoIk1ldGhvZCBPTkUgaXMg cHVibGljIiwNCiAgICAgICAgICAgICAgICAgTW9kaWZpZXIuaXNQdWJsaWMobWV0aG9kLmdldE1v ZGlmaWVycygpKSk7DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIDxwPiBUZXN0IDxjb2Rl PmdldEFjY2Vzc2libGVNZXRob2Q8L2NvZGU+Lg0KKyAgICAgKi8NCisgICAgcHVibGljIHZvaWQg dGVzdEdldEFjY2Vzc2libGVNZXRob2REaXJlY3RJbnRlcmZhY2VNZXRob2QoKSB7DQorICAgICAg ICAvLyB0ZXN0IE1ldGhvZFV0aWxzLmdldEFjY2Vzc2libGVNZXRob2QNCisgICAgICAgIC8vIHdl J2xsIG1ha2UgdGhpbmdzIGVhc2llciBieSB1c2luZyB0aGUgY29udmVuaWVuY2UgbWV0aG9kcw0K IA0KICAgICAgICAgLy8gdHJpY2tpZXIgdGhpcyBvbmUgLSBmaW5kIGEgbWV0aG9kIGluIGEgZGly ZWN0IGludGVyZmFjZQ0KICAgICAgICAgLy8gTUVUSE9EIFRXTw0KLSAgICAgICAgbWV0aG9kID0g TWV0aG9kVXRpbHMuZ2V0TWV0aG9kDQorICAgICAgICBNZXRob2QgbWV0aG9kID0gTWV0aG9kVXRp bHMuZ2V0TWV0aG9kDQogICAgICAgICAgICAgICAgIChwcml2YXRlQmVhbkZhY3RvcnkuY3JlYXRl KCkuZ2V0Q2xhc3MoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAibWV0aG9kQmFyIiwNCiAg ICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcuY2xhc3MpOw0KIA0KICAgICAgICAgLy8gY2hl Y2sgdGhhdCB3ZSd2ZSBmb3VuZCBvbmUgdGhhdCBtYXRjaGVzDQogICAgICAgICBhc3NlcnROb3RO dWxsKG1ldGhvZCk7DQorICAgICAgICBhc3NlcnRFcXVhbHMoUHJpdmF0ZURpcmVjdC5jbGFzcywg bWV0aG9kLmdldERlY2xhcmluZ0NsYXNzKCkpOw0KICAgICAgICAgYXNzZXJ0RXF1YWxzKCJNZXRo b2QgVFdPIGlzIG5hbWVkIGNvcnJlY3RseSIsDQogICAgICAgICAgICAgICAgICJtZXRob2RCYXIi LCBtZXRob2QuZ2V0TmFtZSgpKTsNCiAgICAgICAgIGFzc2VydFRydWUoIk1ldGhvZCBUV08gaXMg cHVibGljIiwNCiAgICAgICAgICAgICAgICAgTW9kaWZpZXIuaXNQdWJsaWMobWV0aG9kLmdldE1v ZGlmaWVycygpKSk7DQorICAgIH0NCisgICAgDQorICAgIC8qKg0KKyAgICAgKiA8cD4gVGVzdCA8 Y29kZT5nZXRBY2Nlc3NpYmxlTWV0aG9kPC9jb2RlPi4NCisgICAgICovDQorICAgIHB1YmxpYyB2 b2lkIHRlc3RHZXRBY2Nlc3NpYmxlTWV0aG9kSW5kaXJlY3RJbnRlcmZhY2VNZXRob2QoKSB7DQor ICAgICAgICAvLyB0ZXN0IE1ldGhvZFV0aWxzLmdldEFjY2Vzc2libGVNZXRob2QNCisgICAgICAg IC8vIHdlJ2xsIG1ha2UgdGhpbmdzIGVhc2llciBieSB1c2luZyB0aGUgY29udmVuaWVuY2UgbWV0 aG9kcw0KIA0KICAgICAgICAgLy8gdHJpY2tpZXIgdGhpcyBvbmUgLSBmaW5kIGEgbWV0aG9kIGlu IGEgaW5kaXJlY3QgaW50ZXJmYWNlDQogICAgICAgICAvLyBNRVRIT0QgVEhSRUUNCi0gICAgICAg IG1ldGhvZCA9IE1ldGhvZFV0aWxzLmdldE1ldGhvZA0KKyAgICAgICAgTWV0aG9kIG1ldGhvZCA9 IE1ldGhvZFV0aWxzLmdldE1ldGhvZA0KICAgICAgICAgICAgICAgICAocHJpdmF0ZUJlYW5GYWN0 b3J5LmNyZWF0ZVN1YmNsYXNzKCkuZ2V0Q2xhc3MoKSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAibWV0aG9kQmF6IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcuY2xhc3MpOw0K IA0KICAgICAgICAgLy8gY2hlY2sgdGhhdCB3ZSd2ZSBmb3VuZCBvbmUgdGhhdCBtYXRjaGVzDQog ICAgICAgICBhc3NlcnROb3ROdWxsKG1ldGhvZCk7DQorICAgICAgICBhc3NlcnRFcXVhbHMoUHJp dmF0ZUluZGlyZWN0LmNsYXNzLCBtZXRob2QuZ2V0RGVjbGFyaW5nQ2xhc3MoKSk7DQogICAgICAg ICBhc3NlcnRFcXVhbHMoIk1ldGhvZCBUSFJFRSBpcyBuYW1lZCBjb3JyZWN0bHkiLA0KICAgICAg ICAgICAgICAgICAibWV0aG9kQmF6IiwgbWV0aG9kLmdldE5hbWUoKSk7DQogICAgICAgICBhc3Nl cnRUcnVlKCJNZXRob2QgVEhSRUUgaXMgcHVibGljIiwNCkBAIC0xNjUsNiArMTg2LDYwIEBADQog DQogICAgIH0NCiANCisgICAgLyoqDQorICAgICAqIDxwPiBUZXN0IDxjb2RlPmdldEFjY2Vzc2li bGVNZXRob2Q8L2NvZGU+Lg0KKyAgICAgKi8NCisgICAgcHVibGljIHZvaWQgdGVzdEdldEFjY2Vz c2libGVNZXRob2RTdXBlcmNsYXNzUHVibGljTWV0aG9kKCkgew0KKyAgICAgICAgLy8gdGVzdCBN ZXRob2RVdGlscy5nZXRBY2Nlc3NpYmxlTWV0aG9kDQorICAgICAgICAvLyB3ZSdsbCBtYWtlIHRo aW5ncyBlYXNpZXIgYnkgdXNpbmcgdGhlIGNvbnZlbmllbmNlIG1ldGhvZHMNCisNCisgICAgICAg IC8vIEZpcnN0IG1ha2Ugc3VyZSBwdWJsaWMgc3VwZXJjbGFzcyBtZXRob2QgaXMgYWNjZXNzaWJs ZQ0KKyAgICAgICAgTWV0aG9kIG1ldGhvZCA9IE1ldGhvZFV0aWxzLmdldE1ldGhvZA0KKyAgICAg ICAgICAgICAgICAocHJpdmF0ZUJlYW5GYWN0b3J5LmNyZWF0ZSgpLmdldENsYXNzKCksDQorICAg ICAgICAgICAgICAgICAgICAgICAgInNldFN0cmluZ1Byb3BlcnR5IiwNCisgICAgICAgICAgICAg ICAgICAgICAgICBTdHJpbmcuY2xhc3MpOw0KKw0KKyAgICAgICAgLy8gY2hlY2sgdGhhdCB3ZSd2 ZSBmb3VuZCBvbmUgdGhhdCBtYXRjaGVzDQorICAgICAgICBhc3NlcnROb3ROdWxsKG1ldGhvZCk7 DQorICAgICAgICBhc3NlcnRFcXVhbHMoVGVzdEJlYW4uY2xhc3MsIG1ldGhvZC5nZXREZWNsYXJp bmdDbGFzcygpKTsNCisgICAgICAgIGFzc2VydEVxdWFscygiTWV0aG9kIGlzIG5hbWVkIGNvcnJl Y3RseSIsDQorICAgICAgICAgICAgICAgICJzZXRTdHJpbmdQcm9wZXJ0eSIsIG1ldGhvZC5nZXRO YW1lKCkpOw0KKyAgICAgICAgYXNzZXJ0VHJ1ZSgiTWV0aG9kIHNldFByb3BlcnR5IGlzIHB1Ymxp YyIsDQorICAgICAgICAgICAgICAgIE1vZGlmaWVyLmlzUHVibGljKG1ldGhvZC5nZXRNb2RpZmll cnMoKSkpOw0KKyAgICB9DQorDQorICAgIC8qKg0KKyAgICAgKiA8cD4gVGVzdCA8Y29kZT5nZXRB Y2Nlc3NpYmxlTWV0aG9kPC9jb2RlPi4NCisgICAgICovDQorICAgIHB1YmxpYyB2b2lkIHRlc3RH ZXRBY2Nlc3NpYmxlTWV0aG9kSW5hY2Nlc2libGVJbm5lckNsYXNzKCkgew0KKyAgICAgICAgLy8g dGVzdCBNZXRob2RVdGlscy5nZXRBY2Nlc3NpYmxlTWV0aG9kDQorICAgICAgICAvLyB3ZSdsbCBt YWtlIHRoaW5ncyBlYXNpZXIgYnkgdXNpbmcgdGhlIGNvbnZlbmllbmNlIG1ldGhvZHMNCisNCisg ICAgICAgIE1ldGhvZCBtZXRob2QgPSBNZXRob2RVdGlscy5nZXRNZXRob2QNCisgICAgICAgICAg ICAgICAgKHByaXZhdGVCZWFuRmFjdG9yeS5jcmVhdGVJbm5lckNsYXNzKCkuZ2V0Q2xhc3MoKSwN CisgICAgICAgICAgICAgICAgICAgICAgICAibWV0aG9kQmF0IiwNCisgICAgICAgICAgICAgICAg ICAgICAgICBTdHJpbmcuY2xhc3MpOw0KKw0KKyAgICAgICAgYXNzZXJ0TnVsbChtZXRob2QpOw0K KyAgICB9DQorDQorICAgIC8qKg0KKyAgICAgKiA8cD4gVGVzdCA8Y29kZT5nZXRBY2Nlc3NpYmxl TWV0aG9kPC9jb2RlPi4NCisgICAgICovDQorICAgIHB1YmxpYyB2b2lkIHRlc3RJbnZva2VJbmFj Y2VzaWJsZUlubmVyQ2xhc3MoKSB7DQorICAgICAgICB0cnkgew0KKw0KKyAgICAgICAgICAgT2Jq ZWN0IHJldCA9IE1ldGhvZFV0aWxzLmludm9rZU1ldGhvZCgNCisgICAgICAgICAgICAgICAgICAg cHJpdmF0ZUJlYW5GYWN0b3J5LmNyZWF0ZUlubmVyQ2xhc3MoKSwNCisgICAgICAgICAgICAgICAg ICAgIm1ldGhvZEJhdCIsDQorICAgICAgICAgICAgICAgICAgICJBTk9USEVSIFRFU1QiKTsNCisN CisgICAgICAgICAgIC8vIGNoZWNrIHRoYXQgbWV0aG9kIGludm9jYXRpb24gdGhyb3dzIGFuIGV4 Y2VwdGlvbg0KKyAgICAgICAgICAgZmFpbCgiSW52b2NhdGlvbiBzaG91bGQgZmFpbCEiKTsNCisN CisgICAgICAgfSBjYXRjaCAoVGhyb3dhYmxlIGV4cGVjdGVkKSB7DQorICAgICAgIH0NCisgICAg fQ0KIA0KICAgICAvKioNCiAgICAgICogPHA+IFRlc3QgPGNvZGU+aW52b2tlTWV0aG9kPC9jb2Rl Pi4NCkluZGV4OiBwcml2L1ByaXZhdGVCZWFuLmphdmENCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAv aG9tZS9jdnNwdWJsaWMvamFrYXJ0YS1jb21tb25zL2xhbmcvc3JjL3Rlc3Qvb3JnL2FwYWNoZS9j b21tb25zL2xhbmcvcmVmbGVjdC9wcml2L1ByaXZhdGVCZWFuLmphdmEsdg0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjENCmRpZmYgLXUgLXIxLjEgUHJpdmF0ZUJlYW4uamF2YQ0KLS0tIHByaXYvUHJp dmF0ZUJlYW4uamF2YQkxNCBOb3YgMjAwMiAxODo1MzozNiAtMDAwMAkxLjENCisrKyBwcml2L1By aXZhdGVCZWFuLmphdmEJMTcgSnVsIDIwMDMgMjM6MDA6MTMgLTAwMDANCkBAIC02Miw2ICs2Miw4 IEBADQogDQogcGFja2FnZSBvcmcuYXBhY2hlLmNvbW1vbnMubGFuZy5yZWZsZWN0LnByaXY7DQog DQoraW1wb3J0IG9yZy5hcGFjaGUuY29tbW9ucy5sYW5nLnJlZmxlY3QuVGVzdEJlYW47DQorDQog DQogLyoqDQogICogQmVhbiB0aGF0IGhhcyBhIHByaXZhdGUgY29uc3RydWN0b3IgdGhhdCBleHBv c2VzIHByb3BlcnRpZXMgdmlhDQpAQCAtNzYsNyArNzgsNyBAQA0KICAqIEB2ZXJzaW9uICRSZXZp c2lvbjogMS4xICQgJERhdGU6IDIwMDIvMTEvMTQgMTg6NTM6MzYgJA0KICAqLw0KIA0KLWNsYXNz IFByaXZhdGVCZWFuIGltcGxlbWVudHMgUHJpdmF0ZURpcmVjdCB7DQorY2xhc3MgUHJpdmF0ZUJl YW4gZXh0ZW5kcyBUZXN0QmVhbiBpbXBsZW1lbnRzIFByaXZhdGVEaXJlY3Qgew0KIA0KIA0KICAg ICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSBDb25zdHJ1Y3RvcnMNCkluZGV4OiBwcml2L1ByaXZhdGVCZWFuRmFjdG9yeS5qYXZh DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvY3ZzcHVibGljL2pha2FydGEtY29tbW9ucy9s YW5nL3NyYy90ZXN0L29yZy9hcGFjaGUvY29tbW9ucy9sYW5nL3JlZmxlY3QvcHJpdi9Qcml2YXRl QmVhbkZhY3RvcnkuamF2YSx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMQ0KZGlmZiAtdSAtcjEu MSBQcml2YXRlQmVhbkZhY3RvcnkuamF2YQ0KLS0tIHByaXYvUHJpdmF0ZUJlYW5GYWN0b3J5Lmph dmEJMTQgTm92IDIwMDIgMTg6NTM6MzYgLTAwMDAJMS4xDQorKysgcHJpdi9Qcml2YXRlQmVhbkZh Y3RvcnkuamF2YQkxNyBKdWwgMjAwMyAyMzowMDoxMyAtMDAwMA0KQEAgLTkzLDUgKzkzLDggQEAN CiANCiAgICAgfQ0KIA0KKyAgICBwdWJsaWMgUHJpdmF0ZUJlYW5TdWJjbGFzcy5QdWJsaWNJbm5l ckNsYXNzIGNyZWF0ZUlubmVyQ2xhc3MoKSB7DQorICAgICAgICByZXR1cm4gKG5ldyBQcml2YXRl QmVhblN1YmNsYXNzKCkpLm5ldyBQdWJsaWNJbm5lckNsYXNzKCk7DQorICAgIH0NCiANCiB9DQpJ bmRleDogcHJpdi9Qcml2YXRlQmVhblN1YmNsYXNzLmphdmENCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxl OiAvaG9tZS9jdnNwdWJsaWMvamFrYXJ0YS1jb21tb25zL2xhbmcvc3JjL3Rlc3Qvb3JnL2FwYWNo ZS9jb21tb25zL2xhbmcvcmVmbGVjdC9wcml2L1ByaXZhdGVCZWFuU3ViY2xhc3MuamF2YSx2DQpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMQ0KZGlmZiAtdSAtcjEuMSBQcml2YXRlQmVhblN1YmNsYXNz LmphdmENCi0tLSBwcml2L1ByaXZhdGVCZWFuU3ViY2xhc3MuamF2YQkxNCBOb3YgMjAwMiAxODo1 MzozNiAtMDAwMAkxLjENCisrKyBwcml2L1ByaXZhdGVCZWFuU3ViY2xhc3MuamF2YQkxNyBKdWwg MjAwMyAyMzowMDoxMyAtMDAwMA0KQEAgLTYyLDcgKzYyLDYgQEANCiANCiBwYWNrYWdlIG9yZy5h cGFjaGUuY29tbW9ucy5sYW5nLnJlZmxlY3QucHJpdjsNCiANCi0NCiAvKioNCiAgKiBCZWFuIHRo YXQgZXhwb3NlcyBtZXRob2RzIGRlZmluZWQgYnkgYW4gaW50ZXJmYWNlIHRoYXQgaXMgaW1wbGVt ZW50ZWQNCiAgKiBpbiB0aGUgc3VwZXJjbGFzcy4NCkBAIC03Myw3ICs3MiwxNSBAQA0KIA0KIGNs YXNzIFByaXZhdGVCZWFuU3ViY2xhc3MgZXh0ZW5kcyBQcml2YXRlQmVhbiB7DQogDQotDQorICAg IHB1YmxpYyBjbGFzcyBQdWJsaWNJbm5lckNsYXNzIHsNCisgICAgICAgIHB1YmxpYyBTdHJpbmcg Z2V0QmF0KCkgew0KKyAgICAgICAgICAgIHJldHVybiAiQkFUIjsNCisgICAgICAgIH0NCisgICAg ICAgIA0KKyAgICAgICAgcHVibGljIFN0cmluZyBtZXRob2RCYXQoU3RyaW5nIGluKSB7DQorICAg ICAgICAgICAgcmV0dXJuIGluOw0KKyAgICAgICAgfQ0KKyAgICB9DQogICAgIC8vIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENvbnN0 cnVjdG9ycw0KIA0KIA0K ------_=_NextPart_001_01C34CB7.4FE357F2 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_01C34CB7.4FE357F2--