Return-Path: Delivered-To: apmail-xml-cocoon-dev-archive@xml.apache.org Received: (qmail 6876 invoked by uid 500); 29 Aug 2001 16:36:49 -0000 Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: cocoon-dev@xml.apache.org Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 6848 invoked from network); 29 Aug 2001 16:36:48 -0000 Date: Wed, 29 Aug 2001 18:25:24 +0200 (CEST) From: Marcus Crafter To: Cocoon Developers Mailing List Subject: [C2 patch] xsp generation & multiple threads Message-Id: MIME-Version: 1.0 Content-ID: Content-Type: MULTIPART/MIXED; BOUNDARY="1065501280-301944609-999100655=:22250" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --1065501280-301944609-999100655=:22250 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: Hi All, Hope all is well. During our recent load tests I've come across a thread-related bug in the ProgramGenerator implementation. The symptoms are similar to the sitemap recompilation issue we faced last week. If 2 simultaneous requests ask for the same xsp resource, which is not compiled, or has changed, etc, then the that resource is created and loaded twice. If the loading of the class occurs while the second request is (re)compiling it, then very strange things happen.. :-) I've been able to reproduce this easily in our test environment, and have attached a patch (using the Carsten method (TM) :-) ) which fixes the problem. Hope it's all ok. Cheers, Marcus -- ..... ,,$$$$$$$$$, Marcus Crafter ;$' '$$$$: Computer Systems Engineer $: $$$$: Open Software Associates GmbH $ o_)$$$: 82-84 Mainzer Landstrasse ;$, _/\ &&:' 60327 Frankfurt Germany ' /( &&& \_&&&&' Email : Marcus.Crafter@osa.de &&&&. Business Hours : +49 69 9757 200 &&&&&&&: --1065501280-301944609-999100655=:22250 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="c2.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="c2.diff" SW5kZXg6IHNyYy9vcmcvYXBhY2hlL2NvY29vbi9jb21wb25lbnRzL2xhbmd1 YWdlL2dlbmVyYXRvci9Qcm9ncmFtR2VuZXJhdG9ySW1wbC5qYXZhDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvY3ZzcHVibGlj L3htbC1jb2Nvb24yL3NyYy9vcmcvYXBhY2hlL2NvY29vbi9jb21wb25lbnRz L2xhbmd1YWdlL2dlbmVyYXRvci9Qcm9ncmFtR2VuZXJhdG9ySW1wbC5qYXZh LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS41LjIuMTQNCmRpZmYgLXUgLXIx LjUuMi4xNCBQcm9ncmFtR2VuZXJhdG9ySW1wbC5qYXZhDQotLS0gc3JjL29y Zy9hcGFjaGUvY29jb29uL2NvbXBvbmVudHMvbGFuZ3VhZ2UvZ2VuZXJhdG9y L1Byb2dyYW1HZW5lcmF0b3JJbXBsLmphdmEJMjAwMS8wOC8yMiAwMzo1Nzo1 OAkxLjUuMi4xNA0KKysrIHNyYy9vcmcvYXBhY2hlL2NvY29vbi9jb21wb25l bnRzL2xhbmd1YWdlL2dlbmVyYXRvci9Qcm9ncmFtR2VuZXJhdG9ySW1wbC5q YXZhCTIwMDEvMDgvMjkgMTU6NDc6MDYNCkBAIC0xMDEsOCArMTAxLDkgQEAN CiAgICAgfQ0KIA0KICAgICAvKioNCi0gICAgICogU2V0IHRoZSBnbG9iYWwg Y29tcG9uZW50IG1hbmFnZXIuIFRoaXMgbWV0b2QgYWxzbyBzZXRzIHRoZQ0K LSAgICAgKiA8Y29kZT5Db21wb25lbnRTZWxlY3RvcjwvY29kZT4gdXNlZCBh cyBsYW5ndWFnZSBmYWN0b3J5IGZvciBib3RoIG1hcmt1cCBhbmQgcHJvZ3Jh bW1pbmcgbGFuZ3VhZ2VzLg0KKyAgICAgKiBTZXQgdGhlIGdsb2JhbCBjb21w b25lbnQgbWFuYWdlci4gVGhpcyBtZXRob2QgYWxzbyBzZXRzIHRoZQ0KKyAg ICAgKiA8Y29kZT5Db21wb25lbnRTZWxlY3RvcjwvY29kZT4gdXNlZCBhcyBs YW5ndWFnZSBmYWN0b3J5IGZvciBib3RoIG1hcmt1cA0KKyAgICAgKiBhbmQg cHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLg0KICAgICAgKiBAcGFyYW0gbWFuYWdl ciBUaGUgZ2xvYmFsIGNvbXBvbmVudCBtYW5hZ2VyDQogICAgICAqLw0KICAg ICBwdWJsaWMgdm9pZCBjb21wb3NlKENvbXBvbmVudE1hbmFnZXIgbWFuYWdl cikgdGhyb3dzIENvbXBvbmVudEV4Y2VwdGlvbiB7DQpAQCAtMTcxLDcgKzE3 Miw3IEBADQogICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAg cHJvZ3JhbUluc3RhbmNlID0gKENvbXBpbGVkQ29tcG9uZW50KSBzZWxlY3Qo bm9ybWFsaXplZE5hbWUpOw0KICAgICAgICAgICAgIH0gY2F0Y2ggKEV4Y2Vw dGlvbiBlKSB7DQotICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLmRlYnVn KCJUaGUgaW5zdGFuY2Ugd2FzIG5vdCBhY2Nlc3NpYmxlLCBjcmVhdGluZyBp dCBub3cuIik7DQorICAgICAgICAgICAgICAgIGdldExvZ2dlcigpLmRlYnVn KCJUaGUgaW5zdGFuY2Ugd2FzIG5vdCBhY2Nlc3NpYmxlIGZyb20gdGhlIGlu dGVybmFsIGNhY2hlLiBQcm9jZWVkaW5nLiIpOw0KICAgICAgICAgICAgIH0N CiAgICAgDQogICAgICAgICAgICAgaWYgKChwcm9ncmFtSW5zdGFuY2UgPT0g bnVsbCkgJiYgdGhpcy5wcmVsb2FkKSB7DQpAQCAtMTg3LDMyICsxODgsMTEg QEANCiAgICAgICAgICAgICB9DQogICAgIA0KICAgICAgICAgICAgIGlmIChw cm9ncmFtSW5zdGFuY2UgPT0gbnVsbCkgew0KLSAgICAgICAgICAgICAgICBN YXJrdXBMYW5ndWFnZSBtYXJrdXBMYW5ndWFnZSA9IG51bGw7DQotICAgICAg ICAgICAgICAgIFByb2dyYW1taW5nTGFuZ3VhZ2UgcHJvZ3JhbW1pbmdMYW5n dWFnZSA9IG51bGw7DQotICAgICAgICAgICAgICAgIHRyeSB7DQotICAgICAg ICAgICAgICAgICAgICAvLyBHZXQgbWFya3VwIGFuZCBwcm9ncmFtbWluZyBs YW5ndWFnZXMNCi0gICAgICAgICAgICAgICAgICAgIG1hcmt1cExhbmd1YWdl ID0gKE1hcmt1cExhbmd1YWdlKXRoaXMubWFya3VwU2VsZWN0b3Iuc2VsZWN0 KG1hcmt1cExhbmd1YWdlTmFtZSk7DQotICAgICAgICAgICAgICAgICAgICBw cm9ncmFtbWluZ0xhbmd1YWdlID0gKFByb2dyYW1taW5nTGFuZ3VhZ2UpdGhp cy5sYW5ndWFnZVNlbGVjdG9yLnNlbGVjdChwcm9ncmFtbWluZ0xhbmd1YWdl TmFtZSk7DQotICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWluZ0xhbmd1 YWdlLnNldExhbmd1YWdlTmFtZShwcm9ncmFtbWluZ0xhbmd1YWdlTmFtZSk7 DQotICAgICAgICAgICAgICAgICAgICBwcm9ncmFtID0gdGhpcy5nZW5lcmF0 ZVJlc291cmNlKG5ld01hbmFnZXIsIGZpbGVOYW1lLCBub3JtYWxpemVkTmFt ZSwgbWFya3VwTGFuZ3VhZ2UsIHByb2dyYW1taW5nTGFuZ3VhZ2UsIHJlc29s dmVyKTsNCi0gICAgICAgICAgICAgICAgfSBjYXRjaCAoTGFuZ3VhZ2VFeGNl cHRpb24gbGUpIHsNCi0gICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigp LmRlYnVnKCJMYW5ndWFnZSBFeGNlcHRpb24iLCBsZSk7DQotICAgICAgICAg ICAgICAgICAgICB0aHJvdyBuZXcgUHJvY2Vzc2luZ0V4Y2VwdGlvbigiTGFu Z3VhZ2UgRXhjZXB0aW9uIiwgbGUpOw0KLSAgICAgICAgICAgICAgICB9IGZp bmFsbHkgew0KLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubWFya3Vw U2VsZWN0b3IgIT0gbnVsbCkgew0KLSAgICAgICAgICAgICAgICAgICAgICAg IHRoaXMubWFya3VwU2VsZWN0b3IucmVsZWFzZShtYXJrdXBMYW5ndWFnZSk7 DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgIA0KLSAgICAgICAgICAg ICAgICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VTZWxlY3RvciAhPSBudWxsKSB7 DQotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlbGVj dG9yLnJlbGVhc2UocHJvZ3JhbW1pbmdMYW5ndWFnZSk7DQotICAgICAgICAg ICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgIH0NCi0gICAgDQotICAg ICAgICAgICAgICAgIHRyeSB7DQotICAgICAgICAgICAgICAgICAgICBwcm9n cmFtSW5zdGFuY2UgPSAoQ29tcGlsZWRDb21wb25lbnQpIHNlbGVjdChub3Jt YWxpemVkTmFtZSk7DQotICAgICAgICAgICAgICAgIH0gY2F0Y2ggKEV4Y2Vw dGlvbiBjbWUpIHsNCi0gICAgICAgICAgICAgICAgICAgIGdldExvZ2dlcigp LmRlYnVnKCJDYW4ndCBsb2FkIFNlcnZlclBhZ2UiLCBjbWUpOw0KLSAgICAg ICAgICAgICAgICB9DQorCSAgICAgICAgcHJvZ3JhbUluc3RhbmNlID0NCisg ICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlUmVzb3VyY2UoDQorICAg ICAgICAgICAgICAgICAgICAgICAgbmV3TWFuYWdlciwgZmlsZU5hbWUsIG5v cm1hbGl6ZWROYW1lLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIG1hcmt1 cExhbmd1YWdlTmFtZSwgcHJvZ3JhbW1pbmdMYW5ndWFnZU5hbWUsIHJlc29s dmVyDQorICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgIH0N CiAgICAgDQogICAgICAgICAgICAgaWYgKHRoaXMuYXV0b1JlbG9hZCA9PSBm YWxzZSkgew0KQEAgLTI0MSwzMCArMjIxLDgwIEBADQogICAgIA0KICAgICAg ICAgICAgIGlmIChwcm9ncmFtSW5zdGFuY2UgPT0gbnVsbCkgew0KICAgICAg ICAgICAgICAgICBpZiAocHJvZ3JhbSA9PSBudWxsKSB7DQotICAgICAgICAg ICAgICAgICAgICBNYXJrdXBMYW5ndWFnZSBtYXJrdXBMYW5ndWFnZSA9IG51 bGw7DQotICAgICAgICAgICAgICAgICAgICBQcm9ncmFtbWluZ0xhbmd1YWdl IHByb2dyYW1taW5nTGFuZ3VhZ2UgPSBudWxsOw0KLSAgICAgICAgICAgICAg ICAgICAgdHJ5IHsNCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyBHZXQg bWFya3VwIGFuZCBwcm9ncmFtbWluZyBsYW5ndWFnZXMNCi0gICAgICAgICAg ICAgICAgICAgICAgICBtYXJrdXBMYW5ndWFnZSA9IChNYXJrdXBMYW5ndWFn ZSl0aGlzLm1hcmt1cFNlbGVjdG9yLnNlbGVjdChtYXJrdXBMYW5ndWFnZU5h bWUpOw0KLSAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyYW1taW5nTGFu Z3VhZ2UgPSAoUHJvZ3JhbW1pbmdMYW5ndWFnZSl0aGlzLmxhbmd1YWdlU2Vs ZWN0b3Iuc2VsZWN0KHByb2dyYW1taW5nTGFuZ3VhZ2VOYW1lKTsNCi0gICAg ICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWluZ0xhbmd1YWdlLnNldExh bmd1YWdlTmFtZShwcm9ncmFtbWluZ0xhbmd1YWdlTmFtZSk7DQotICAgICAg ICAgICAgICAgICAgICAgICAgcHJvZ3JhbSA9IHRoaXMuZ2VuZXJhdGVSZXNv dXJjZShuZXdNYW5hZ2VyLCBmaWxlTmFtZSwgbm9ybWFsaXplZE5hbWUsIG1h cmt1cExhbmd1YWdlLCBwcm9ncmFtbWluZ0xhbmd1YWdlLCByZXNvbHZlcik7 DQotICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChMYW5ndWFnZUV4Y2Vw dGlvbiBsZSkgew0KLSAgICAgICAgICAgICAgICAgICAgICAgIGdldExvZ2dl cigpLmRlYnVnKCJMYW5ndWFnZSBFeGNlcHRpb24iLCBsZSk7DQotICAgICAg ICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFByb2Nlc3NpbmdFeGNlcHRp b24oIkxhbmd1YWdlIEV4Y2VwdGlvbiIsIGxlKTsNCi0gICAgICAgICAgICAg ICAgICAgIH0gZmluYWxseSB7DQotICAgICAgICAgICAgICAgICAgICAgICAg dGhpcy5tYXJrdXBTZWxlY3Rvci5yZWxlYXNlKG1hcmt1cExhbmd1YWdlKTsN Ci0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VsZWN0 b3IucmVsZWFzZShwcm9ncmFtbWluZ0xhbmd1YWdlKTsNCi0gICAgICAgICAg ICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAg ICAgICAvLyBJbnN0YW50aWF0ZQ0KLSAgICAgICAgICAgICAgICBwcm9ncmFt SW5zdGFuY2UgPSAoQ29tcGlsZWRDb21wb25lbnQpIHNlbGVjdChub3JtYWxp emVkTmFtZSk7DQorICAgICAgICAgICAgICAgICAgICBwcm9ncmFtSW5zdGFu Y2UgPQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlUmVz b3VyY2UoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld01hbmFn ZXIsIGZpbGVOYW1lLCBub3JtYWxpemVkTmFtZSwgDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hcmt1cExhbmd1YWdlTmFtZSwgcHJvZ3JhbW1p bmdMYW5ndWFnZU5hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlc29sdmVyDQorICAgICAgICAgICAgICAgICAgICAgICAgKTsNCisgICAg ICAgICAgICAgICAgfSBlbHNlDQorICAgICAgICAgICAgICAgICAgICBwcm9n cmFtSW5zdGFuY2UgPSAoQ29tcGlsZWRDb21wb25lbnQpIHNlbGVjdChub3Jt YWxpemVkTmFtZSk7DQogICAgICAgICAgICAgfQ0KIA0KICAgICAgICAgICAg IHJldHVybiBwcm9ncmFtSW5zdGFuY2U7DQogICAgICAgICB9IGZpbmFsbHkg ew0KICAgICAgICAgICAgIHNvdXJjZS5yZWN5Y2xlKCk7DQogICAgICAgICB9 DQorICAgIH0NCisNCisgICAgLyoqDQorICAgICAqIEhlbHBlciBtZXRob2Qg dG8gY3JlYXRlIHJlc291cmNlcyBpbiBhIHRocmVhZHNhZmUgbWFubmVyLg0K KyAgICAgKi8NCisgICAgcHJpdmF0ZSBDb21waWxlZENvbXBvbmVudCBjcmVh dGVSZXNvdXJjZSgNCisgICAgICAgIENvbXBvbmVudE1hbmFnZXIgbmV3TWFu YWdlciwNCisgICAgICAgIFN0cmluZyBmaWxlTmFtZSwNCisgICAgICAgIFN0 cmluZyBub3JtYWxpemVkTmFtZSwNCisgICAgICAgIFN0cmluZyBtYXJrdXBM YW5ndWFnZU5hbWUsDQorICAgICAgICBTdHJpbmcgcHJvZ3JhbW1pbmdMYW5n dWFnZU5hbWUsDQorICAgICAgICBTb3VyY2VSZXNvbHZlciByZXNvbHZlcg0K KyAgICApDQorICAgIHRocm93cyBFeGNlcHRpb24gew0KKw0KKyAgICAgICAg Q29tcGlsZWRDb21wb25lbnQgcHJvZ3JhbUluc3RhbmNlID0gbnVsbDsNCisg ICAgICAgIE1hcmt1cExhbmd1YWdlIG1hcmt1cExhbmd1YWdlID0gbnVsbDsN CisgICAgICAgIFByb2dyYW1taW5nTGFuZ3VhZ2UgcHJvZ3JhbW1pbmdMYW5n dWFnZSA9IG51bGw7DQorICAgICAgICBDbGFzcyBwcm9ncmFtID0gbnVsbDsN CisNCisgICAgICAgIC8vIHByZXZlbnQgMiByZXF1ZXN0cyBmcm9tIGdlbmVy YXRpbmcgdGhpcyByZXNvdXJjZSBzaW11bHRhbmVvdXNseQ0KKyAgICAgICAg c3luY2hyb25pemVkICh0aGlzKSB7DQorICAgICAgICAgICAgdHJ5IHsNCisg ICAgICAgICAgICAgICAgcHJvZ3JhbUluc3RhbmNlID0gKENvbXBpbGVkQ29t cG9uZW50KSBzZWxlY3Qobm9ybWFsaXplZE5hbWUpOw0KKyAgICAgICAgICAg IH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7DQorDQorICAgICAgICAgICAgICAg IGdldExvZ2dlcigpLmRlYnVnKA0KKyAgICAgICAgICAgICAgICAgICAgICJD cmVhdGluZyByZXNvdXJjZSAiICsNCisgICAgICAgICAgICAgICAgICAgICBu b3JtYWxpemVkTmFtZS5yZXBsYWNlKEZpbGUuc2VwYXJhdG9yQ2hhciwgJy4n KSArDQorICAgICAgICAgICAgICAgICAgICAgIiwgdXNpbmcgZ2VuZXJhdG9y ICIgKyB0aGlzDQorICAgICAgICAgICAgICAgICk7DQorDQorICAgICAgICAg ICAgICAgIHRyeSB7DQorICAgICAgICAgICAgICAgICAgICAvLyBHZXQgbWFy a3VwIGFuZCBwcm9ncmFtbWluZyBsYW5ndWFnZXMNCisgICAgICAgICAgICAg ICAgICAgIG1hcmt1cExhbmd1YWdlID0gKE1hcmt1cExhbmd1YWdlKXRoaXMu bWFya3VwU2VsZWN0b3Iuc2VsZWN0KG1hcmt1cExhbmd1YWdlTmFtZSk7DQor ICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWluZ0xhbmd1YWdlID0gKFBy b2dyYW1taW5nTGFuZ3VhZ2UpdGhpcy5sYW5ndWFnZVNlbGVjdG9yLnNlbGVj dChwcm9ncmFtbWluZ0xhbmd1YWdlTmFtZSk7DQorICAgICAgICAgICAgICAg ICAgICBwcm9ncmFtbWluZ0xhbmd1YWdlLnNldExhbmd1YWdlTmFtZShwcm9n cmFtbWluZ0xhbmd1YWdlTmFtZSk7DQorICAgICAgICAgICAgICAgICAgICBw cm9ncmFtID0gdGhpcy5nZW5lcmF0ZVJlc291cmNlKG5ld01hbmFnZXIsIGZp bGVOYW1lLCBub3JtYWxpemVkTmFtZSwgbWFya3VwTGFuZ3VhZ2UsIHByb2dy YW1taW5nTGFuZ3VhZ2UsIHJlc29sdmVyKTsNCisgICAgICAgICAgICAgICAg fSBjYXRjaCAoTGFuZ3VhZ2VFeGNlcHRpb24gbGUpIHsNCisgICAgICAgICAg ICAgICAgICAgIGdldExvZ2dlcigpLmRlYnVnKCJMYW5ndWFnZSBFeGNlcHRp b24iLCBsZSk7DQorICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUHJv Y2Vzc2luZ0V4Y2VwdGlvbigiTGFuZ3VhZ2UgRXhjZXB0aW9uIiwgbGUpOw0K KyAgICAgICAgICAgICAgICB9IGZpbmFsbHkgew0KKyAgICAgICAgICAgICAg ICAgICAgaWYgKHRoaXMubWFya3VwU2VsZWN0b3IgIT0gbnVsbCkgew0KKyAg ICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFya3VwU2VsZWN0b3IucmVs ZWFzZShtYXJrdXBMYW5ndWFnZSk7DQorICAgICAgICAgICAgICAgICAgICB9 DQorDQorICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sYW5ndWFnZVNl bGVjdG9yICE9IG51bGwpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICB0 aGlzLmxhbmd1YWdlU2VsZWN0b3IucmVsZWFzZShwcm9ncmFtbWluZ0xhbmd1 YWdlKTsNCisgICAgICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAg ICAgfQ0KKw0KKyAgICAgICAgICAgICAgICB0cnkgew0KKyAgICAgICAgICAg ICAgICAgICAgcHJvZ3JhbUluc3RhbmNlID0gKENvbXBpbGVkQ29tcG9uZW50 KSBzZWxlY3Qobm9ybWFsaXplZE5hbWUpOw0KKyAgICAgICAgICAgICAgICB9 IGNhdGNoIChFeGNlcHRpb24gY21lKSB7DQorICAgICAgICAgICAgICAgICAg ICBnZXRMb2dnZXIoKS5kZWJ1ZygiQ2FuJ3QgbG9hZCBTZXJ2ZXJQYWdlIiwg Y21lKTsNCisgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIH0NCisg ICAgICAgIH0NCisNCisJcmV0dXJuIHByb2dyYW1JbnN0YW5jZTsNCiAgICAg fQ0KIA0KICAgICBwcml2YXRlIENsYXNzIGdlbmVyYXRlUmVzb3VyY2UoQ29t cG9uZW50TWFuYWdlciBuZXdNYW5hZ2VyLA0KSW5kZXg6IHNyYy9vcmcvYXBh Y2hlL2NvY29vbi9jb21wb25lbnRzL2xhbmd1YWdlL3Byb2dyYW1taW5nL2ph dmEvSmF2YUxhbmd1YWdlLmphdmENCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N ClJDUyBmaWxlOiAvaG9tZS9jdnNwdWJsaWMveG1sLWNvY29vbjIvc3JjL29y Zy9hcGFjaGUvY29jb29uL2NvbXBvbmVudHMvbGFuZ3VhZ2UvcHJvZ3JhbW1p bmcvamF2YS9KYXZhTGFuZ3VhZ2UuamF2YSx2DQpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMi4yLjQNCmRpZmYgLXUgLXIxLjIuMi40IEphdmFMYW5ndWFnZS5q YXZhDQotLS0gc3JjL29yZy9hcGFjaGUvY29jb29uL2NvbXBvbmVudHMvbGFu Z3VhZ2UvcHJvZ3JhbW1pbmcvamF2YS9KYXZhTGFuZ3VhZ2UuamF2YQkyMDAx LzA4LzIxIDE4OjAwOjAxCTEuMi4yLjQNCisrKyBzcmMvb3JnL2FwYWNoZS9j b2Nvb24vY29tcG9uZW50cy9sYW5ndWFnZS9wcm9ncmFtbWluZy9qYXZhL0ph dmFMYW5ndWFnZS5qYXZhCTIwMDEvMDgvMjkgMTU6NDc6MDYNCkBAIC0xNDks MTEgKzE0OSwxMCBAQA0KICAgICAgIFN0cmluZyBwYXRobmFtZSA9DQogICAg ICAgICBiYXNlRGlyZWN0b3J5LmdldENhbm9uaWNhbFBhdGgoKSArIEZpbGUu c2VwYXJhdG9yICsNCiAgICAgICAgIG5hbWUuc3Vic3RyaW5nKDAsIHBvcyku cmVwbGFjZShGaWxlLnNlcGFyYXRvckNoYXIsICcvJyk7DQorICAgICAgU3Ry aW5nIGZpbGVuYW1lX2FicyA9DQorICAgICAgICBwYXRobmFtZSArIEZpbGUu c2VwYXJhdG9yICsgZmlsZW5hbWUgKyAiLiIgKyB0aGlzLmdldFNvdXJjZUV4 dGVuc2lvbigpOw0KIA0KLSAgICAgIGNvbXBpbGVyLnNldEZpbGUoDQotICAg ICAgICBwYXRobmFtZSArIEZpbGUuc2VwYXJhdG9yICsNCi0gICAgICAgIGZp bGVuYW1lICsgIi4iICsgdGhpcy5nZXRTb3VyY2VFeHRlbnNpb24oKQ0KLSAg ICAgICk7DQorICAgICAgY29tcGlsZXIuc2V0RmlsZShmaWxlbmFtZV9hYnMp Ow0KIA0KICAgICAgIGNvbXBpbGVyLnNldFNvdXJjZShwYXRobmFtZSk7DQog DQpAQCAtMTc5LDYgKzE3OCw4IEBADQogICAgICAgaWYgKGVuY29kaW5nICE9 IG51bGwpIHsNCiAgICAgICAgIGNvbXBpbGVyLnNldEVuY29kaW5nKGVuY29k aW5nKTsNCiAgICAgICB9DQorDQorICAgICAgZ2V0TG9nZ2VyKCkuZGVidWco IkNvbXBpbGluZyAiICsgZmlsZW5hbWVfYWJzKTsNCiANCiAgICAgICBpZiAo IWNvbXBpbGVyLmNvbXBpbGUoKSkgew0KICAgICAgICAgU3RyaW5nQnVmZmVy IG1lc3NhZ2UgPSBuZXcgU3RyaW5nQnVmZmVyKCJFcnJvciBjb21waWxpbmcg Iik7DQo= --1065501280-301944609-999100655=:22250 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org For additional commands, email: cocoon-dev-help@xml.apache.org --1065501280-301944609-999100655=:22250--