Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@apache.org Received: (qmail 79513 invoked from network); 30 Apr 2002 19:38:53 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 30 Apr 2002 19:38:53 -0000 Received: (qmail 5086 invoked by uid 97); 30 Apr 2002 19:38:53 -0000 Delivered-To: qmlist-jakarta-archive-ant-dev@nagoya.betaversion.org Received: (qmail 4983 invoked by alias); 30 Apr 2002 19:38:52 -0000 Delivered-To: jakarta-archive-ant-dev@jakarta.apache.org Received: (qmail 4955 invoked by uid 97); 30 Apr 2002 19:38:52 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 4943 invoked by uid 98); 30 Apr 2002 19:38:52 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) Message-Id: <5.1.0.14.0.20020430122853.038b77a8@orson.callenish.com> Date: Tue, 30 Apr 2002 12:38:46 -0700 To: "Ant Developers List" From: Bruce Atherton Subject: Re: Beta build date/time wrt TZ, Selectors, etc. In-Reply-To: <002e01c1f03f$60c91000$7fc8a8c0@manu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_95403937==_" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --=====================_95403937==_ Content-Type: text/plain; charset="us-ascii"; format=flowed At 08:05 AM 4/30/2002 -0400, Magesh Umasankar wrote: >I will see if I can get the selectors submission >committed this afternoon - it is quite big - so if >someone can do a quick review at least and give any >inputs, that would be convenient as well. Yes, apologies to everyone for the rush. I'm really sorry I didn't get it in on Friday so everyone would have at least the weekend to look it over. That damn RL intrudes at the most awkward times. >Bruce, testcases and docs can make it into Ant 1.5 >even after the beta. So, please submit them as soon >as you can. I'm working on it even as we speak. In the meantime, I've attached to this message a newer version of ContainsSelector that fixes a bug, and a build.xml file reviewers can use for testing that the code works as advertised. I included it with the submission yesterday, but it was buried down low and also had inadvertently left out the ContainsSelector test, which is how the bug got through. --=====================_95403937==_ Content-Type: application/xml; name="build.xml" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="build.xml" PHByb2plY3QgZGVmYXVsdD0idGVzdC5zZWxlY3RvcnMiIGJhc2VkaXI9Ii4iPgoKICA8cHJvcGVy dHkgbmFtZT0iZGVzdCIgdmFsdWU9ImRlc3QiLz4KICA8cHJvcGVydHkgbmFtZT0ic3Jjcm9vdCIg dmFsdWU9InNyYyIvPgogIDxwcm9wZXJ0eSBuYW1lPSJzcmMiIHZhbHVlPSIke3NyY3Jvb3R9L2ph a2FydGEtYW50LTEuNC4xIi8+CgogIDwhLS0gPGZpbGVzZXQ+CiAgICA8ZXh0ZW5kc2VsZWN0Pgog ICAgICA8c2VsZWN0b3JkZWYgc2VsZWN0b3I9ImV4dGVuZG5hbWUiCiAgICAgICAgICBjbGFzcz0i b3JnLmFwYWNoZS50b29scy5hbnQudHlwZXMuc2VsZWN0b3JzLkZpbGVuYW1lU2VsZWN0b3IiLz4K ICAgIDwvZXh0ZW5kc2VsZWN0PgogIDwvZmlsZXNldD4gLS0+CgogIDx0YXJnZXQgbmFtZT0idGVz dC5zZWxlY3RvcnMiIGRlcGVuZHM9ImluaXQiPgogICAgPCEtLSBVc2UgYW50Y2FsbCBzbyB0aGUg ZGVzdGluYXRpb24gZGlyZWN0b3J5IGlzIGVyYXNlZCBlYWNoIHRpbWUgLS0+CiAgICA8YW50Y2Fs bCB0YXJnZXQ9InRlc3QuZGF0ZXNlbGVjdC4xIi8+IAogICAgPGFudGNhbGwgdGFyZ2V0PSJ0ZXN0 LnNpemVzZWxlY3QuMSIvPgogICAgPGFudGNhbGwgdGFyZ2V0PSJ0ZXN0LmZpbGVuYW1lc2VsZWN0 LjEiLz4KICAgIDxhbnRjYWxsIHRhcmdldD0idGVzdC5leHRlbmRzZWxlY3QuMSIvPgogICAgPGFu dGNhbGwgdGFyZ2V0PSJ0ZXN0LmRlcHRoc2VsZWN0LjEiLz4KICAgIDxhbnRjYWxsIHRhcmdldD0i dGVzdC5wcmVzZW50c2VsZWN0LjEiLz4KICAgIDxhbnRjYWxsIHRhcmdldD0idGVzdC5kZXBlbmRz ZWxlY3QuMSIvPgogICAgPGFudGNhbGwgdGFyZ2V0PSJ0ZXN0LmNvbnRhaW5zc2VsZWN0LjEiLz4K ICA8L3RhcmdldD4KCiAgPHRhcmdldCBuYW1lPSJ0ZXN0LmRhdGVzZWxlY3QuMSIgZGVwZW5kcz0i aW5pdCxjbGVhci5kZXN0LGdldC5zcmMiPgogICAgPGVjaG8gbWVzc2FnZT0iU2hvdWxkIGNvcHkg NzggZmlsZXMiLz4KICAgIDxjb3B5IHRvZGlyPSIke2Rlc3R9IiBpbmNsdWRlRW1wdHlEaXJzPSJm YWxzZSI+CiAgICAgIDxmaWxlc2V0IGRpcj0iJHtzcmN9Ij4KICAgICAgICAgIDxkYXRlc2VsZWN0 IGRhdGV0aW1lPSIwMS8yMy8yMDAyIDAxOjAwIFBNIiB3aGVuPSJhZnRlciIvPgogICAgICA8L2Zp bGVzZXQ+CiAgICA8L2NvcHk+CiAgPC90YXJnZXQ+CgogIDx0YXJnZXQgbmFtZT0idGVzdC5zaXpl c2VsZWN0LjEiIGRlcGVuZHM9ImluaXQsY2xlYXIuZGVzdCxnZXQuc3JjIj4KICAgIDxlY2hvIG1l c3NhZ2U9IlNob3VsZCBjb3B5IDE5NiBmaWxlcyIvPgogICAgPGNvcHkgdG9kaXI9IiR7ZGVzdH0i IGluY2x1ZGVFbXB0eURpcnM9ImZhbHNlIj4KICAgICAgPGZpbGVzZXQgZGlyPSIke3NyY30iPgog ICAgICAgICAgPHNpemVzZWxlY3Qgc2l6ZT0iOCIgdW5pdHM9ImsiIHdoZW49Im1vcmUiLz4KICAg ICAgPC9maWxlc2V0PgogICAgPC9jb3B5PgogIDwvdGFyZ2V0PgoKICA8dGFyZ2V0IG5hbWU9InRl c3QuZmlsZW5hbWVzZWxlY3QuMSIgZGVwZW5kcz0iaW5pdCxjbGVhci5kZXN0LGdldC5zcmMiPgog ICAgPGVjaG8gbWVzc2FnZT0iU2hvdWxkIGNvcHkgMTM0IGZpbGVzIChmaW5kIHNyYyAtbmFtZSAn KlRlc3QqJyAtcHJpbnQgfCB3YykiLz4KICAgIDxjb3B5IHRvZGlyPSIke2Rlc3R9IiBpbmNsdWRl RW1wdHlEaXJzPSJmYWxzZSI+CiAgICAgIDxmaWxlc2V0IGRpcj0iJHtzcmN9Ij4KICAgICAgICAg IDxmaWxlbmFtZXNlbGVjdCBuYW1lPSIqKi8qVGVzdCoiLz4KICAgICAgPC9maWxlc2V0PgogICAg PC9jb3B5PgogIDwvdGFyZ2V0PgoKICA8dGFyZ2V0IG5hbWU9InRlc3QuZXh0ZW5kc2VsZWN0LjEi IGRlcGVuZHM9ImluaXQsY2xlYXIuZGVzdCxnZXQuc3JjIj4KICAgIDxlY2hvIG1lc3NhZ2U9IlNo b3VsZCBjb3B5IDEzNCBmaWxlcyAoc2FtZSBhcyB0ZXN0LmZpbGVuYW1lc2VsZWN0LjEsIGJ1dCB0 aHJvdWdoIGV4dGVuZCkiLz4KICAgIDxjb3B5IHRvZGlyPSIke2Rlc3R9IiBpbmNsdWRlRW1wdHlE aXJzPSJmYWxzZSI+CiAgICAgIDxmaWxlc2V0IGRpcj0iJHtzcmN9Ij4KICAgICAgICAgIDxleHRl bmRzZWxlY3QgY2xhc3NuYW1lPSJvcmcuYXBhY2hlLnRvb2xzLmFudC50eXBlcy5zZWxlY3RvcnMu RmlsZW5hbWVTZWxlY3RvciI+CgkgICAgPHBhcmFtIG5hbWU9Im5hbWUiIHZhbHVlPSIqKi8qVGVz dCoiLz4KCSAgPC9leHRlbmRzZWxlY3Q+CiAgICAgIDwvZmlsZXNldD4KICAgIDwvY29weT4KICA8 L3RhcmdldD4KCiAgPHRhcmdldCBuYW1lPSJ0ZXN0LmRlcHRoc2VsZWN0LjEiIGRlcGVuZHM9Imlu aXQsY2xlYXIuZGVzdCxnZXQuc3JjIj4KICAgIDxlY2hvIG1lc3NhZ2U9IlNob3VsZCBjb3B5IDIw IGZpbGVzIi8+CiAgICA8Y29weSB0b2Rpcj0iJHtkZXN0fSIgaW5jbHVkZUVtcHR5RGlycz0iZmFs c2UiPgogICAgICA8ZmlsZXNldCBkaXI9IiR7c3JjfSI+CiAgICAgICAgICA8ZGVwdGhzZWxlY3Qg bWluPSIwIiBtYXg9IjEiLz4KICAgICAgPC9maWxlc2V0PgogICAgPC9jb3B5PgogIDwvdGFyZ2V0 PgoKICA8dGFyZ2V0IG5hbWU9InRlc3QucHJlc2VudHNlbGVjdC4xIiBkZXBlbmRzPSJpbml0LGNs ZWFyLmRlc3QsZ2V0LnNyYyI+CiAgICA8ZWNobyBtZXNzYWdlPSJTaG91bGQgY29weSAxIGZpbGUi Lz4KICAgIDxjb3B5IHRvZGlyPSIke2Rlc3R9IiBpbmNsdWRlRW1wdHlEaXJzPSJmYWxzZSI+CiAg ICAgIDxmaWxlc2V0IGRpcj0iJHtzcmN9Ij4KICAgICAgICAgIDxwcmVzZW50c2VsZWN0IHRhcmdl dGRpcj0iJHtzcmN9L2xpYi9vcHRpb25hbCIvPgogICAgICA8L2ZpbGVzZXQ+CiAgICA8L2NvcHk+ CiAgPC90YXJnZXQ+CgogIDx0YXJnZXQgbmFtZT0idGVzdC5kZXBlbmRzZWxlY3QuMSIgZGVwZW5k cz0iaW5pdCxjbGVhci5kZXN0LGdldC5zcmMiPgogICAgPGVjaG8gbWVzc2FnZT0iU2hvdWxkIGNv cHkgNSBmaWxlcyIvPgogICAgPGNvcHkgdG9kaXI9IiR7ZGVzdH0iIGluY2x1ZGVFbXB0eURpcnM9 ImZhbHNlIj4KICAgICAgPGZpbGVzZXQgZGlyPSIke3NyY30vc3JjL3Rlc3RjYXNlcyI+CiAgICAg ICAgICA8ZGVwZW5kc2VsZWN0IHRhcmdldGRpcj0iJHtzcmN9L3NyYy90ZXN0Y2FzZXMyIiBncmFu dWxhcml0eT0iMjAwMCIvPgogICAgICA8L2ZpbGVzZXQ+CiAgICA8L2NvcHk+CiAgPC90YXJnZXQ+ CgogIDx0YXJnZXQgbmFtZT0idGVzdC5jb250YWluc3NlbGVjdC4xIiBkZXBlbmRzPSJpbml0LGNs ZWFyLmRlc3QsZ2V0LnNyYyI+CiAgICA8ZWNobyBtZXNzYWdlPSJTaG91bGQgY29weSAxMTMgZmls ZXMgKGdyZXAgLXJsIGNlbGxzcGFjaW5nIHNyYyB8IHdjKSIvPgogICAgPGNvcHkgdG9kaXI9IiR7 ZGVzdH0iIGluY2x1ZGVFbXB0eURpcnM9ImZhbHNlIj4KICAgICAgPGZpbGVzZXQgZGlyPSIke3Ny Y30iPgogICAgICAgICAgPGNvbnRhaW5zc2VsZWN0IGNvbnRhaW5zPSJjZWxsc3BhY2luZyIvPgog ICAgICA8L2ZpbGVzZXQ+CiAgICA8L2NvcHk+CiAgPC90YXJnZXQ+CgoKCiAgPHRhcmdldCBuYW1l PSJjbGVhci5kZXN0Ij4KICAgIDxkZWxldGUgZGlyPSIke2Rlc3R9Ii8+CiAgICA8bWtkaXIgZGly PSIke2Rlc3R9Ii8+CiAgPC90YXJnZXQ+CgogIDx0YXJnZXQgbmFtZT0iZ2V0LnNyYyIgdW5sZXNz PSJnb3Quc3JjIj4KICAgIDxkZWxldGUgZGlyPSIke3NyY3Jvb3R9Ii8+CiAgICA8bWtkaXIgZGly PSIke3NyY3Jvb3R9Ii8+CiAgICA8Z2V0IHNyYz0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy9i dWlsZHMvamFrYXJ0YS1hbnQvcmVsZWFzZS92MS40LjEvc3JjL2pha2FydGEtYW50LTEuNC4xLXNy Yy50YXIuZ3oiCiAgICAgICAgICAgIGRlc3Q9IiR7c3Jjcm9vdH0vYW50LnRhci5neiIvPgogICAg PGd1bnppcCBzcmM9IiR7c3Jjcm9vdH0vYW50LnRhci5neiIvPgogICAgPHVudGFyIHNyYz0iJHtz cmNyb290fS9hbnQudGFyIiBkZXN0PSIke3NyY3Jvb3R9Ii8+CiAgICA8ZGVsZXRlIGZpbGU9IiR7 c3Jjcm9vdH0vYW50LnRhciIvPgogICAgPGRlbGV0ZSBmaWxlPSIke3NyY3Jvb3R9L2FudC50YXIu Z3oiLz4KICAgIDx0b3VjaCBkYXRldGltZT0iMDEvMDEvMjAwMiAxOjAwIGFtIj4KICAgICAgPGZp bGVzZXQgZGlyPSIke3NyY30vc3JjL3Rlc3RjYXNlcyIvPgogICAgPC90b3VjaD4KICAgIDx0b3Vj aCBkYXRldGltZT0iMDIvMDEvMjAwMiAxMjowMCBwbSI+CiAgICAgIDxmaWxlc2V0IGRpcj0iJHtz cmN9L3NyYy90ZXN0Y2FzZXMvb3JnL2FwYWNoZS90b29scy96aXAiLz4KICAgIDwvdG91Y2g+CiAg ICA8dG91Y2ggZGF0ZXRpbWU9IjAyLzE1LzIwMDIgMzowMCBwbSI+CiAgICAgIDxmaWxlc2V0IGRp cj0iJHtzcmN9L3NyYy90ZXN0Y2FzZXMvb3JnL2FwYWNoZS90b29scy9hbnQvdGFza2RlZnMvb3B0 aW9uYWwiLz4KICAgIDwvdG91Y2g+CiAgICA8bWtkaXIgZGlyPSIke3NyY30vc3JjL3Rlc3RjYXNl czIiLz4KICAgIDxjb3B5IHRvZGlyPSIke3NyY30vc3JjL3Rlc3RjYXNlczIiPgogICAgICAgIDxm aWxlc2V0IGRpcj0iJHtzcmN9L3NyYy90ZXN0Y2FzZXMiLz4KICAgIDwvY29weT4KICAgIDx0b3Vj aCBmaWxlPSIke3NyY30vc3JjL3Rlc3RjYXNlczIvb2xkMSIgZGF0ZXRpbWU9IjAyLzAxLzIwMDAg MTI6MDAgcG0iLz4KICAgIDx0b3VjaCBmaWxlPSIke3NyY30vc3JjL3Rlc3RjYXNlczIvb3JnL29s ZDIiIGRhdGV0aW1lPSIwMi8wMS8yMDAwIDEyOjAwIHBtIi8+CiAgICA8dG91Y2ggZmlsZT0iJHtz cmN9L3NyYy90ZXN0Y2FzZXMyL29yZy9hcGFjaGUvdG9vbHMvYW50L29sZDMiIGRhdGV0aW1lPSIw Mi8wMS8yMDAwIDEyOjAwIHBtIi8+CiAgICA8dG91Y2ggZmlsZT0iJHtzcmN9L3NyYy90ZXN0Y2Fz ZXMyL25ldzEiIGRhdGV0aW1lPSIwNC8wMS8yMDAyIDEyOjAwIHBtIi8+CiAgICA8dG91Y2ggZmls ZT0iJHtzcmN9L3NyYy90ZXN0Y2FzZXMyL29yZy9uZXcyIiBkYXRldGltZT0iMDQvMDEvMjAwMiAx MjowMCBwbSIvPgogICAgPHRvdWNoIGZpbGU9IiR7c3JjfS9zcmMvdGVzdGNhc2VzMi9vcmcvYXBh Y2hlL3Rvb2xzL2FudC9uZXczIiBkYXRldGltZT0iMDQvMDEvMjAwMiAxMjowMCBwbSIvPgogICAg PHRvdWNoIGZpbGU9IiR7c3JjfS9zcmMvdGVzdGNhc2VzMi9vcmcvYXBhY2hlL3Rvb2xzL2FudC9Q cm9qZWN0VGVzdC5qYXZhIiBkYXRldGltZT0iMDIvMDEvMjAwMCAxMjowMCBwbSIvPgogICAgPHRv dWNoIGZpbGU9IiR7c3JjfS9zcmMvdGVzdGNhc2VzMi9vcmcvYXBhY2hlL3Rvb2xzL2FudC90eXBl cy9NYXBwZXJUZXN0LmphdmEiIGRhdGV0aW1lPSIwMi8wMS8yMDAwIDEyOjAwIHBtIi8+CiAgICA8 dG91Y2ggZmlsZT0iJHtzcmN9L3NyYy90ZXN0Y2FzZXMyL29yZy9hcGFjaGUvdG9vbHMvYW50L3R5 cGVzL0Rlc2NyaXB0aW9uVGVzdC5qYXZhIiBkYXRldGltZT0iMDIvMDEvMjAwMCAxMjowMCBwbSIv PgogICAgPGRlbGV0ZSBmaWxlPSIke3NyY30vc3JjL3Rlc3RjYXNlczIvb3JnL2FwYWNoZS90b29s cy9hbnQvdHlwZXMvRmlsdGVyU2V0VGVzdC5qYXZhIi8+CiAgICA8dG91Y2ggZmlsZT0iJHtzcmN9 L3NyYy90ZXN0Y2FzZXMyL29yZy9hcGFjaGUvdG9vbHMvYW50L0luY2x1ZGVUZXN0LmphdmEiLz4K ICAgIDxzbGVlcCBzZWNvbmRzPSIzIi8+CiAgICA8dG91Y2ggZmlsZT0iJHtzcmN9L3NyYy90ZXN0 Y2FzZXMvb3JnL2FwYWNoZS90b29scy9hbnQvSW5jbHVkZVRlc3QuamF2YSIvPgogICAgPHRvdWNo IGZpbGU9IiR7c3JjfS9zcmMvdGVzdGNhc2VzMi9vcmcvYXBhY2hlL3Rvb2xzL2FudC9EaXJlY3Rv cnlTY2FubmVyVGVzdC5qYXZhIi8+CiAgICA8c2xlZXAgc2Vjb25kcz0iMSIvPgogICAgPHRvdWNo IGZpbGU9IiR7c3JjfS9zcmMvdGVzdGNhc2VzL29yZy9hcGFjaGUvdG9vbHMvYW50L0RpcmVjdG9y eVNjYW5uZXJUZXN0LmphdmEiLz4KICA8L3RhcmdldD4KCiAgPHRhcmdldCBuYW1lPSJpbml0IiBk ZXBlbmRzPSJpbml0LmNoZWNrc3JjIiB1bmxlc3M9ImFscmVhZHktcnVubmluZyI+CiAgICA8cHJv cGVydHkgbmFtZT0iYWxyZWFkeS1ydW5uaW5nIiB2YWx1ZT0idHJ1ZSIvPgogIDwvdGFyZ2V0PgoK ICA8dGFyZ2V0IG5hbWU9ImluaXQuY2hlY2tzcmMiIHVubGVzcz0iZ290LnNyYyI+CiAgICA8YXZh aWxhYmxlIHByb3BlcnR5PSJnb3Quc3JjIiBmaWxlPSIke3NyY30vS0VZUyIvPgogIDwvdGFyZ2V0 PgoKICA8dGFyZ2V0IG5hbWU9InN0cnVjdCI+CiAgICA8YW50c3RydWN0dXJlIG91dHB1dD0ic3Ry dWN0dXJlLmR0ZCIvPgogIDwvdGFyZ2V0Pgo8L3Byb2plY3Q+Cg== --=====================_95403937==_ Content-Type: application/octet-stream; name="ContainsSelector.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ContainsSelector.java" LyoKICogVGhlIEFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMQogKgogKiBDb3B5 cmlnaHQgKGMpIDIwMDIgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgQWxsIHJpZ2h0 cwogKiByZXNlcnZlZC4KICoKICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwogKiBhcmUgbWV0Ogog KgogKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi b3ZlIGNvcHlyaWdodAogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0 aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqCiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgog KiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp dGggdGhlCiAqICAgIGRpc3RyaWJ1dGlvbi4KICoKICogMy4gVGhlIGVuZC11c2VyIGRvY3VtZW50 YXRpb24gaW5jbHVkZWQgd2l0aCB0aGUgcmVkaXN0cmlidXRpb24sIGlmCiAqICAgIGFueSwgbXVz dCBpbmNsdWRlIHRoZSBmb2xsb3dpbmcgYWNrbm93bGVnZW1lbnQ6CiAqICAgICAgICJUaGlzIHBy b2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZQogKiAgICAgICAgQXBhY2hl IFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy8pLiIKICogICAgQWx0 ZXJuYXRlbHksIHRoaXMgYWNrbm93bGVnZW1lbnQgbWF5IGFwcGVhciBpbiB0aGUgc29mdHdhcmUg aXRzZWxmLAogKiAgICBpZiBhbmQgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBhY2tub3dsZWdl bWVudHMgbm9ybWFsbHkgYXBwZWFyLgogKgogKiA0LiBUaGUgbmFtZXMgIlRoZSBKYWthcnRhIFBy b2plY3QiLCAiQW50IiwgYW5kICJBcGFjaGUgU29mdHdhcmUKICogICAgRm91bmRhdGlvbiIgbXVz dCBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAogKiAg ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIEZv ciB3cml0dGVuCiAqICAgIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0IGFwYWNoZUBhcGFjaGUu b3JnLgogKgogKiA1LiBQcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSBtYXkgbm90 IGJlIGNhbGxlZCAiQXBhY2hlIgogKiAgICBub3IgbWF5ICJBcGFjaGUiIGFwcGVhciBpbiB0aGVp ciBuYW1lcyB3aXRob3V0IHByaW9yIHdyaXR0ZW4KICogICAgcGVybWlzc2lvbiBvZiB0aGUgQXBh Y2hlIEdyb3VwLgogKgogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQg QU5ZIEVYUFJFU1NFRCBPUiBJTVBMSUVECiAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCiAqIE9GIE1FUkNIQU5UQUJJTElU WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCiAqIERJU0NMQUlNRUQu ICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVBBQ0hFIFNPRlRXQVJFIEZPVU5EQVRJT04gT1IKICog SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ REVOVEFMLAogKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo SU5DTFVESU5HLCBCVVQgTk9UCiAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YKICogVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAogKiBPTiBBTlkgVEhF T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwK ICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO IEFOWSBXQVkgT1VUCiAqIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgogKiBTVUNIIERBTUFHRS4KICogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K ICoKICogVGhpcyBzb2Z0d2FyZSBjb25zaXN0cyBvZiB2b2x1bnRhcnkgY29udHJpYnV0aW9ucyBt YWRlIGJ5IG1hbnkKICogaW5kaXZpZHVhbHMgb24gYmVoYWxmIG9mIHRoZSBBcGFjaGUgU29mdHdh cmUgRm91bmRhdGlvbi4gIEZvciBtb3JlCiAqIGluZm9ybWF0aW9uIG9uIHRoZSBBcGFjaGUgU29m dHdhcmUgRm91bmRhdGlvbiwgcGxlYXNlIHNlZQogKiA8aHR0cDovL3d3dy5hcGFjaGUub3JnLz4u CiAqLwoKcGFja2FnZSBvcmcuYXBhY2hlLnRvb2xzLmFudC50eXBlcy5zZWxlY3RvcnM7CgppbXBv cnQgamF2YS5pby5GaWxlOwppbXBvcnQgamF2YS5pby5CdWZmZXJlZFJlYWRlcjsKaW1wb3J0IGph dmEuaW8uSW5wdXRTdHJlYW1SZWFkZXI7CmltcG9ydCBqYXZhLmlvLkZpbGVJbnB1dFN0cmVhbTsK aW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CgppbXBvcnQgb3JnLmFwYWNoZS50b29scy5hbnQu UHJvamVjdDsKaW1wb3J0IG9yZy5hcGFjaGUudG9vbHMuYW50LnR5cGVzLlBhcmFtZXRlcjsKaW1w b3J0IG9yZy5hcGFjaGUudG9vbHMuYW50LkJ1aWxkRXhjZXB0aW9uOwoKLyoqCiAqIFNlbGVjdG9y IHRoYXQgZmlsdGVycyBmaWxlcyBiYXNlZCBvbiB3aGV0aGVyIHRoZXkgY29udGFpbiBhCiAqIHBh cnRpY3VsYXIgc3RyaW5nLgogKgogKiBAYXV0aG9yIDxhIGhyZWY9Im1haWx0bzpicnVjZUBjYWxs ZW5pc2guY29tIj5CcnVjZSBBdGhlcnRvbjwvYT4KICogQHNpbmNlIDEuNQogKi8KcHVibGljIGNs YXNzIENvbnRhaW5zU2VsZWN0b3IgZXh0ZW5kcyBCYXNlRXh0ZW5kU2VsZWN0b3IgewoKICAgIHBy aXZhdGUgU3RyaW5nIGNvbnRhaW5zID0gbnVsbDsKICAgIHByaXZhdGUgYm9vbGVhbiBjYXNlc2Vu c2l0aXZlID0gdHJ1ZTsKICAgIHB1YmxpYyBmaW5hbCBzdGF0aWMgU3RyaW5nIENPTlRBSU5TX0tF WSA9ICJjb250YWlucyI7CiAgICBwdWJsaWMgZmluYWwgc3RhdGljIFN0cmluZyBDQVNFX0tFWSA9 ICJjYXNlc2Vuc2l0aXZlIjsKCgogICAgcHVibGljIENvbnRhaW5zU2VsZWN0b3IoKSB7CiAgICB9 CgogICAgcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKICAgICAgICBTdHJpbmdCdWZmZXIgYnVm ID0gbmV3IFN0cmluZ0J1ZmZlcigie2NvbnRhaW5zc2VsZWN0b3IgY29udGFpbnM6ICIpOwogICAg ICAgIGJ1Zi5hcHBlbmQoY29udGFpbnMpOwogICAgICAgIGJ1Zi5hcHBlbmQoIiBjYXNlc2Vuc2l0 aXZlOiAiKTsKICAgICAgICBpZiAoY2FzZXNlbnNpdGl2ZSkgewogICAgICAgICAgICBidWYuYXBw ZW5kKCJ0cnVlIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYnVmLmFwcGVuZCgiZmFs c2UiKTsKICAgICAgICB9CiAgICAgICAgYnVmLmFwcGVuZCgifSIpOwogICAgICAgIHJldHVybiBi dWYudG9TdHJpbmcoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFRoZSBzdHJpbmcgdG8gc2VhcmNo IGZvciB3aXRoaW4gYSBmaWxlLgogICAgICoKICAgICAqIEBwYXJhbSBjb250YWlucyB0aGUgc3Ry aW5nIHRoYXQgYSBmaWxlIG11c3QgY29udGFpbiB0byBiZSBzZWxlY3RlZC4KICAgICAqLwogICAg cHVibGljIHZvaWQgc2V0Q29udGFpbnMoU3RyaW5nIGNvbnRhaW5zKSB7CiAgICAgICAgdGhpcy5j b250YWlucyA9IGNvbnRhaW5zOwogICAgfQoKICAgIC8qKgogICAgICogV2hldGhlciB0byBpZ25v cmUgY2FzZSBpbiB0aGUgc3RyaW5nIGJlaW5nIHNlYXJjaGVkLgogICAgICoKICAgICAqIEBwYXJh bSBjYXNlc2Vuc2l0aXZlIHdoZXRoZXIgdG8gcGF5IGF0dGVudGlvbiB0byBjYXNlIHNlbnNpdGl2 aXR5CiAgICAgKi8KICAgIHB1YmxpYyB2b2lkIHNldENhc2VzZW5zaXRpdmUoYm9vbGVhbiBjYXNl c2Vuc2l0aXZlKSB7CiAgICAgICAgdGhpcy5jYXNlc2Vuc2l0aXZlID0gY2FzZXNlbnNpdGl2ZTsK ICAgIH0KCiAgICAvKioKICAgICAqIFdoZW4gdXNpbmcgdGhpcyBhcyBhIGR5bmFtaWMgc2VsZWN0 b3IsIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkLgogICAgICogSXQgdHJhbnNsYXRlcyBlYWNo IHBhcmFtZXRlciBpbnRvIHRoZSBhcHByb3ByaWF0ZSBzZXRYWFgoKSBjYWxsLgogICAgICoKICAg ICAqIEBwYXJhbSBwYXJhbWV0ZXJzIHRoZSBjb21wbGV0ZSBzZXQgb2YgcGFyYW1ldGVycyBmb3Ig dGhpcyBzZWxlY3RvcgogICAgICovCiAgICBwdWJsaWMgdm9pZCBzZXRQYXJhbWV0ZXJzKFBhcmFt ZXRlcltdIHBhcmFtZXRlcnMpIHsKICAgICAgICBzdXBlci5zZXRQYXJhbWV0ZXJzKHBhcmFtZXRl cnMpOwogICAgICAgIGlmIChwYXJhbWV0ZXJzICE9IG51bGwpIHsKICAgICAgICAgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBT dHJpbmcgcGFyYW1uYW1lID0gcGFyYW1ldGVyc1tpXS5nZXROYW1lKCk7CiAgICAgICAgICAgICAg ICBpZiAoQ09OVEFJTlNfS0VZLmVxdWFsc0lnbm9yZUNhc2UocGFyYW1uYW1lKSkgewogICAgICAg ICAgICAgICAgICAgIHNldENvbnRhaW5zKHBhcmFtZXRlcnNbaV0uZ2V0VmFsdWUoKSk7CiAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmIChDQVNFX0tFWS5lcXVhbHNJZ25v cmVDYXNlKHBhcmFtbmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICBzZXRDYXNlc2Vuc2l0aXZl KFByb2plY3QudG9Cb29sZWFuKHBhcmFtZXRlcnNbaV0uZ2V0VmFsdWUoKSkpOwogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgc2V0RXJy b3IoIkludmFsaWQgcGFyYW1ldGVyICIgKyBwYXJhbW5hbWUpOwogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2tzIHRvIG1h a2Ugc3VyZSBhbGwgc2V0dGluZ3MgYXJlIGtvc2hlci4gSW4gdGhpcyBjYXNlLCBpdAogICAgICog bWVhbnMgdGhhdCB0aGUgcGF0dGVybiBhdHRyaWJ1dGUgaGFzIGJlZW4gc2V0LgogICAgICoKICAg ICAqLwogICAgcHVibGljIHZvaWQgdmVyaWZ5U2V0dGluZ3MoKSB7CiAgICAgICAgaWYgKGNvbnRh aW5zID09IG51bGwpIHsKICAgICAgICAgICAgc2V0RXJyb3IoIlRoZSBjb250YWlucyBhdHRyaWJ1 dGUgaXMgcmVxdWlyZWQiKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBUaGUgaGVh cnQgb2YgdGhlIG1hdHRlci4gVGhpcyBpcyB3aGVyZSB0aGUgc2VsZWN0b3IgZ2V0cyB0byBkZWNp ZGUKICAgICAqIG9uIHRoZSBpbmNsdXNpb24gb2YgYSBmaWxlIGluIGEgcGFydGljdWxhciBmaWxl c2V0LgogICAgICoKICAgICAqIEBwYXJhbSBiYXNlZGlyIHRoZSBiYXNlIGRpcmVjdG9yeSB0aGUg c2NhbiBpcyBiZWluZyBkb25lIGZyb20KICAgICAqIEBwYXJhbSBmaWxlbmFtZSBpcyB0aGUgbmFt ZSBvZiB0aGUgZmlsZSB0byBjaGVjawogICAgICogQHBhcmFtIGZpbGUgaXMgYSBqYXZhLmlvLkZp bGUgb2JqZWN0IHRoZSBzZWxlY3RvciBjYW4gdXNlCiAgICAgKiBAcmV0dXJuIHdoZXRoZXIgdGhl IGZpbGUgc2hvdWxkIGJlIHNlbGVjdGVkIG9yIG5vdAogICAgICovCiAgICBwdWJsaWMgYm9vbGVh biBpc1NlbGVjdGVkKEZpbGUgYmFzZWRpciwgU3RyaW5nIGZpbGVuYW1lLCBGaWxlIGZpbGUpIHsK CiAgICAgICAgLy8gdGhyb3cgQnVpbGRFeGNlcHRpb24gb24gZXJyb3IKICAgICAgICB2YWxpZGF0 ZSgpOwoKICAgICAgICBpZiAoZmlsZS5pc0RpcmVjdG9yeSgpKSB7CiAgICAgICAgICAgIHJldHVy biB0cnVlOwogICAgICAgIH0KCiAgICAgICAgQnVmZmVyZWRSZWFkZXIgaW4gPSBudWxsOwogICAg ICAgIHRyeSB7CiAgICAgICAgICAgIGluID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0 cmVhbVJlYWRlcigKICAgICAgICAgICAgICAgICAgICBuZXcgRmlsZUlucHV0U3RyZWFtKGZpbGUp KSk7CiAgICAgICAgICAgIFN0cmluZyB0ZXN0c3RyID0gaW4ucmVhZExpbmUoKTsKICAgICAgICAg ICAgd2hpbGUgKHRlc3RzdHIgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgaWYgKHRlc3RzdHIu aW5kZXhPZihjb250YWlucykgPiAtMSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVl OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGVzdHN0ciA9IGluLnJlYWRMaW5l KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAg ICAgICBjYXRjaCAoSU9FeGNlcHRpb24gaW9lKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBCdWls ZEV4Y2VwdGlvbigiQ291bGQgbm90IHJlYWQgZmlsZSAiICsgZmlsZW5hbWUpOwogICAgICAgIH0K ICAgICAgICBmaW5hbGx5IHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGluLmNs b3NlKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CiAg ICAgICAgICAgICAgICB0aHJvdyBuZXcgQnVpbGRFeGNlcHRpb24oIkNvdWxkIG5vdCBjbG9zZSBm aWxlICIgKyBmaWxlbmFtZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cgp9Cgo= --=====================_95403937==_ Content-Type: text/plain; charset="us-ascii"; format=flowed --=====================_95403937==_ Content-Type: text/plain; charset=us-ascii -- To unsubscribe, e-mail: For additional commands, e-mail: --=====================_95403937==_--