Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 54317 invoked from network); 9 Aug 2004 11:53:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 9 Aug 2004 11:53:41 -0000 Received: (qmail 70710 invoked by uid 500); 9 Aug 2004 11:53:40 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 70177 invoked by uid 500); 9 Aug 2004 11:53:35 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 70157 invoked by uid 99); 9 Aug 2004 11:53:34 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [131.159.0.18] (HELO mailout1.informatik.tu-muenchen.de) (131.159.0.18) by apache.org (qpsmtpd/0.27.1) with ESMTP; Mon, 09 Aug 2004 04:53:31 -0700 Date: Mon, 9 Aug 2004 13:53:29 +0200 (MEST) From: Halgurt Mustafa-Ali Reply-To: Halgurt Mustafa-Ali Subject: SemWeb To: dev@cocoon.apache.org Cc: stefano@apache.org MIME-Version: 1.0 Content-Type: MULTIPART/mixed; BOUNDARY=Family_of_Sardines_562_000 X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.5.5 SunOS 5.9 sun4u sparc Message-Id: <20040809115329.140EE1D48E@mailrelay2.informatik.tu-muenchen.de> X-Virus-Scanned: by amavisd-new/sophie/sophos at mailrelay2.informatik.tu-muenchen.de X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N --Family_of_Sardines_562_000 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: +ixpbk+kaRsA+VkHJXKxwg== Hi all, Well I implemented the RDQLTransformer and works properly. It would be very nice if you be so kind a test it. I used Jena 2.1, and cocoon 2.2. It is possible to pass the knowledge base as src attribute to the Transformer, If you have a komplex model you kann give all needed files as sitemap Parameters, it does not matter how you name the parameters. It is also possible to set these values as request parameters: Triple statement: subject, object and statement: operand1, operand2 For example if you have this query: ?name ?semester you can set these values: ?x, ?y, ?z2, ?semester, ?name and ?matrikelNr like that: http://yourURL??z2=8&?name=anyName It will be very nice if you feedback and tell me your --Family_of_Sardines_562_000 Content-Type: APPLICATION/octet-stream; name="RDQLTransformer.java"; x-unix-mode=0644 Content-Transfer-Encoding: BASE64 Content-Description: RDQLTransformer.java Content-MD5: lU5aUtXG0tckgje82kcIlQ== CmltcG9ydCBjb20uaHAuaHBsLmplbmEub250b2xvZ3kuKjsKaW1wb3J0IGNv bS5ocC5ocGwuamVuYS5yZGYubW9kZWwuKjsKaW1wb3J0IGNvbS5ocC5ocGwu amVuYS5yZHFsLio7CgppbXBvcnQgb3JnLmFwYWNoZS5jb2Nvb24uZW52aXJv bm1lbnQuT2JqZWN0TW9kZWxIZWxwZXI7CmltcG9ydCBvcmcuYXBhY2hlLmNv Y29vbi5lbnZpcm9ubWVudC5SZXF1ZXN0OwppbXBvcnQgamF2YS51dGlsLkVu dW1lcmF0aW9uOwoKLy9pbXBvcnQgb3JnLmFwYWNoZS5jb2Nvb24ueG1sLkFi c3RyYWN0WE1MUGlwZTsKaW1wb3J0IG9yZy5hcGFjaGUuY29jb29uLnRyYW5z Zm9ybWF0aW9uLkFic3RyYWN0VHJhbnNmb3JtZXI7CmltcG9ydCBvcmcuYXBh Y2hlLmNvY29vbi5lbnZpcm9ubWVudC5Tb3VyY2VSZXNvbHZlcjsKaW1wb3J0 IG9yZy5hcGFjaGUuY29jb29uLlByb2Nlc3NpbmdFeGNlcHRpb247CmltcG9y dCBvcmcuYXBhY2hlLmF2YWxvbi5mcmFtZXdvcmsucGFyYW1ldGVycy5QYXJh bWV0ZXJzOwppbXBvcnQgb3JnLnhtbC5zYXguU0FYRXhjZXB0aW9uOwppbXBv cnQgb3JnLnhtbC5zYXguQXR0cmlidXRlczsKaW1wb3J0IG9yZy54bWwuc2F4 LmhlbHBlcnMuQXR0cmlidXRlc0ltcGw7CgppbXBvcnQgamF2YS51dGlsLio7 CmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOwoKLyoqCiAqCiAqIENsYXNz IFJEUUxUcmFuc2Zvcm1lcgogKgogKiBUaGlzIHRyYW5zZm9ybWVyIGV4cGVj dHMgYW4gWE1MIGRvY3VtZW50IGluY2x1ZGluZyBlbGVtZW50cyBvZiBpbnRl cmVzdCBpbgogKiB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZToKICoKICogPHJk cWw6UkRRTCB4bWxuczpyZHFsID0gImh0dHA6Ly9tYXJpYV9zaGFyYXBvdmEu aHRtbCI+CiAqICA8cmRxbDpxdWVyeT4KICogICAgIDxyZHFsOnNlbGVjdD4K ICogICAgICAgICAgPHJkcWw6cGFyYW0+bXlQYXJhbV8xPC9yZHFsOnBhcmFt PgogKiAgICAgICAgICAuLi4uLi4uCiAqICAgICAgICAgIDxyZHFsOnBhcmFt Pm15UGFyYW1fbjwvcmRxbDpwYXJhbT4KICogICAgICA8L3JkcWw6c2VsZWN0 PgogKiAgICAgIDxyZHFsOndoZXJlPgogKiAgICAgICAgICA8cmRxbDp0cmlw bGUgc3ViamVjdD0iP3giIHByZWRpY2F0ZT0iaHR0cDovL2EuY29tL29udG9s b2d5I2hhdFN0dWRlbnQiIG9iamVjdD0iP3kiLz4KICogICAgICAgICAgIC4u Li4uLi4uCiAqICAgICAgPC9yZHFsOndoZXJlPgogKiAgICAgIDxyZHFsOmFu ZCBvcGVyYW5kMT0iP3giIG9wZXJhbmQyPSJodHRwOi8vYS5jb20vb250b2xv Z3kjVFVNIiBvcGVyYXRvcj0iZXEiLz4KICogICAgICA8cmRxbDp1c2luZy8+ CiAqICA8L3JkcWw6cXVlcnk+CiAqIDwvcmRxbDpSRFFMPgogKgogKgogKiBh bGwgb3RoZXIgZWxlbWVudHMgd2lsbCBiZSByZXR1cm5lZCB1bm1vZGlmaWVk CiAqCiAqIDxwPlRpdGxlOiA8L3A+CiAqIDxwPkRlc2NyaXB0aW9uOiA8L3A+ CiAqIDxwPkNvcHlyaWdodDogQ29weXJpZ2h0IChjKSAyMDA0PC9wPgogKiA8 cD5Db21wYW55OiA8L3A+CiAqCiAqIEBhdXRob3IgQ2FuINZuZGVyCiAqIEBh dXRob3IgSGFsZ3VydCBNdXN0YWZhIEFsaQogKgogKiBAdmVyc2lvbiAxLjAK ICoKICovCgoKcHVibGljIGNsYXNzIFJEUUxUcmFuc2Zvcm1lciBleHRlbmRz IEFic3RyYWN0VHJhbnNmb3JtZXIgewoKICAgIC8vQ2xhc3NQYXRoIFByb3Bl cnR5IHNldHplbiBTeXN0ZW0uZ2V0UHJvcGVydGllcygpLnB1dC4uLgogICAg cHJpdmF0ZSBTdHJpbmcgbmFtZXNwYWNlOwogICAgaW50IGNvdW50OwoKICAg IGJvb2xlYW4gc3RhcnQ7CiAgICBib29sZWFuIHJlYWRRdWVyeTsKICAgIGJv b2xlYW4gcmVhZFNlbGVjdDsKICAgIGJvb2xlYW4gcmVhZFBhcmFtOwogICAg Ym9vbGVhbiByZWFkV2hlcmU7CiAgICBib29sZWFuIHJlYWRUcmlwbGU7CiAg ICBib29sZWFuIHJlYWRBbmQ7CiAgICBib29sZWFuIHJlYWRVc2luZzsKCiAg ICBFbnVtZXJhdGlvbiBwYXJhbU5hbWVzOwogICAgUmVxdWVzdCByZXF1ZXN0 OwogICAgU3RyaW5nW10gcGFyYW1ldGVyczsKICAgIFN0cmluZyBzcmM7CiAg ICBTdHJpbmdCdWZmZXIgcXVlcnk7CiAgICBTdHJpbmdCdWZmZXIgdXNpbmc7 CiAgICBTdHJpbmdCdWZmZXIgcGFyYW07CgogICAgU3RyaW5nIHN1YmplY3Qs IHByZWRpY2F0ZSwgb2JqZWN0OwogICAgU3RyaW5nIG9wZXJhbmQxLCBvcGVy YW5kMiwgb3BlcmF0b3I7CgogICAgVmVjdG9yIHBhcmFtczsKICAgIFZlY3Rv ciB0cmlwbGVzOwogICAgVmVjdG9yIGFuZHM7CiAgICBWZWN0b3IgcmVxUGFy YW1zOwogICAgVmVjdG9yIHB1cmVQYXJhbXM7CgoKICAgIC8qKgogICAgICog Q29uc3RydWN0b3IKICAgICAqLwogICAgcHVibGljIFJEUUxUcmFuc2Zvcm1l ciAoKSB7CgogICAgICAgIG5hbWVzcGFjZSA9ICJodHRwOi8vbWFyaWFfc2hh cmFwb3ZhLmh0bWwiOwoKICAgICAgICBzdGFydCAgICAgICAgID0gZmFsc2U7 CiAgICAgICAgcmVhZFF1ZXJ5ICAgICA9IGZhbHNlOwogICAgICAgIHJlYWRT ZWxlY3QgICAgPSBmYWxzZTsKICAgICAgICByZWFkUGFyYW0gICAgID0gZmFs c2U7CiAgICAgICAgcmVhZFdoZXJlICAgICA9IGZhbHNlOwogICAgICAgIHJl YWRUcmlwbGUgICAgPSBmYWxzZTsKICAgICAgICByZWFkQW5kICAgICAgID0g ZmFsc2U7CiAgICAgICAgcmVhZFVzaW5nICAgICA9IGZhbHNlOwoKICAgICAg ICBxdWVyeSAgICAgID0gbmV3IFN0cmluZ0J1ZmZlciAoKTsKICAgICAgICBw YXJhbSAgICAgID0gbmV3IFN0cmluZ0J1ZmZlciAoKTsKICAgICAgICB1c2lu ZyAgICAgID0gbmV3IFN0cmluZ0J1ZmZlciAoKTsKCiAgICAgICAgcGFyYW1z ICAgICA9IG5ldyBWZWN0b3IgKCk7CiAgICAgICAgdHJpcGxlcyAgICA9IG5l dyBWZWN0b3IgKCk7CiAgICAgICAgYW5kcyAgICAgICA9IG5ldyBWZWN0b3Ig KCk7CiAgICAgICAgcHVyZVBhcmFtcyA9IG5ldyBWZWN0b3IgKCk7CiAgICAg ICAgcmVxUGFyYW1zICA9IG5ldyBWZWN0b3IgKCk7CgogICAgICAgIFN5c3Rl bS5vdXQucHJpbnRsbiAoIlN0YXJ0aW5nLi4uIik7CiAgICB9CgoKICAgIC8q KgogICAgICoKICAgICAqIG5vIG5lZWQgdG8gYmUgaW1wbGVtZW50ZWQgZm9y IHRoZSBSRFFMVHJhbXNmb3JtZXI7CiAgICAgKiBpbmhlcml0ZWQgZnJvbSBv cmcuYXBhY2hlLmNvY29vbi50cmFuc2Zvcm1hdGlvbi5BYnN0cmFjdFRyYW5z Zm9ybWVyCiAgICAgKgogICAgICogQHBhcmFtIHJlc29sdmVyIFNvdXJjZVJl c29sdmVyCiAgICAgKiBAcGFyYW0gb2JqZWN0TW9kZWwgTWFwCiAgICAgKiBA cGFyYW0gc3JjIFN0cmluZwogICAgICogQHBhcmFtIHBhciBTaXRlbWFwIFBh cmFtZXRlcnMKICAgICAqIEB0aHJvd3MgUHJvY2Vzc2luZ0V4Y2VwdGlvbgog ICAgICogQHRocm93cyBTQVhFeGNlcHRpb24KICAgICAqIEB0aHJvd3MgSU9F eGNlcHRpb24KICAgICAqLwogICAgcHVibGljIHZvaWQgc2V0dXAgKFNvdXJj ZVJlc29sdmVyIHJlc29sdmVyLCBNYXAgb2JqZWN0TW9kZWwsIFN0cmluZyBz cmMsIFBhcmFtZXRlcnMgcGFyKSB0aHJvd3MgUHJvY2Vzc2luZ0V4Y2VwdGlv biwgU0FYRXhjZXB0aW9uLCBJT0V4Y2VwdGlvbiB7CgogICAgICAgIGlmIChz cmMgPT0gbnVsbCl7CiAgICAgICAgCVN5c3RlbS5vdXQucHJpbnRsbiAoImZp bGUgIiArIHJlc29sdmVyLnJlc29sdmVVUkkgKHNyYykuZ2V0VVJJKCkgKyAi IG5vdCBmb3VuZCIpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAg ICAJLy9hYnNvbHV0ZSBwYXRoIHRvIHRoZSBvbnRvbG9neSBtb2RlbAogICAg ICAgICAgICB0aGlzLnNyYyA9IHJlc29sdmVyLnJlc29sdmVVUkkgKHNyYyku Z2V0VVJJKCk7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAg ICBwYXJhbWV0ZXJzID0gcGFyLmdldE5hbWVzICgpOwogICAgICAgICAgICBm b3IgKGludCBpID0gMDsgaSA8IHBhcmFtZXRlcnMubGVuZ3RoOyBpKyspIHsK ICAgICAgICAgICAgICAgIHBhcmFtZXRlcnNbaV0gPSByZXNvbHZlci5yZXNv bHZlVVJJIChwYXIuZ2V0UGFyYW1ldGVyIChwYXJhbWV0ZXJzW2ldKSkuZ2V0 VVJJICgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXF1ZXN0ID0g T2JqZWN0TW9kZWxIZWxwZXIuZ2V0UmVxdWVzdCAob2JqZWN0TW9kZWwpOwog ICAgICAgICAgICBwYXJhbU5hbWVzID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXJO YW1lcyAoKTsKCiAgICAgICAgICAgIHdoaWxlIChwYXJhbU5hbWVzLmhhc01v cmVFbGVtZW50cyAoKSkgewogICAgICAgICAgICAgICAgZmluYWwgU3RyaW5n IHMgPSAoU3RyaW5nKXBhcmFtTmFtZXMubmV4dEVsZW1lbnQgKCk7CiAgICAg ICAgICAgICAgICByZXFQYXJhbXMuYWRkRWxlbWVudCAocyk7CiAgICAgICAg ICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKHMpOwogICAgICAgICAgICAg ICAgU3lzdGVtLm91dC5wcmludGxuIChyZXF1ZXN0LmdldFBhcmFtZXRlciAo cykpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjYXRjaCAo RXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxu ICgiQW4gRXJyb3Igb2NjdXJlZCBkdXJpbmcgUGFyYW1ldGVyIGluc3RhbnRp YXRpb24gIik7CiAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlICgpOwog ICAgICAgICAgICByZXNldCAoKTsKICAgICAgICB9CiAgICB9CgoKCiAgICAv KioKICAgICAqCiAgICAgKiBQYXJzZXMgdGhlIGluY29taW5nIFNBWCBldmVu dHMuCiAgICAgKiBUaGUgUkRRTFRyYW5zZm9ybWVyIHJlYWN0cyBvbiB0YWdz IHdpdGggdGhlIG5hbWVzcGFjZSAoPHhtbG5zOnJkcWw9ICJodHRwOi8vbWFy aWFfc2hhcmFwb3ZhLmh0bWwiPikKICAgICAqCiAgICAgKiBAcGFyYW0gbmFt ZXNwYWNlVVJJIFRoZSBuYW1lc3BhY2UKICAgICAqIEBwYXJhbSBsb2NhbE5h bWUgVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgdGFnCiAgICAgKiBAcGFyYW0g cU5hbWUgVGhlIHF1YWxpZmllZCBuYW1lCiAgICAgKiBAcGFyYW0gYXR0cmli dXRlcyBUaGUgYXR0cmlidXRlcyBvZiB0aGUgY3VycmVudCB0YWcKICAgICAq IEB0aHJvd3MgU0FYRXhjZXB0aW9uCiAgICAgKi8KICAgIHB1YmxpYyB2b2lk IHN0YXJ0RWxlbWVudCAoU3RyaW5nIG5hbWVzcGFjZVVSSSwgU3RyaW5nIGxv Y2FsTmFtZSwgU3RyaW5nIHFOYW1lLCBBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMp IHRocm93cyBTQVhFeGNlcHRpb24gewoKICAgICAgICAvL3JlYWN0IG9uIHRo ZSBmb2xsb3dpbmcgdGFncyBvZiBpbnRlcmVzdC4uLgogICAgICAgIGlmIChu YW1lc3BhY2VVUkkuZXF1YWxzIChuYW1lc3BhY2UpICYmIGxvY2FsTmFtZS5l cXVhbHMgKCJSRFFMIikpIHsKICAgICAgICAgICAgc3RhcnQgPSB0cnVlOwog ICAgICAgIH0KCiAgICAgICAgZWxzZSBpZiAobmFtZXNwYWNlVVJJLmVxdWFs cyAobmFtZXNwYWNlKSAmJiBsb2NhbE5hbWUuZXF1YWxzICgicXVlcnkiKSkg ewogICAgICAgICAgICByZWFkUXVlcnkgPSB0cnVlOwogICAgICAgIH0KCgog ICAgICAgIGVsc2UgaWYgKG5hbWVzcGFjZVVSSS5lcXVhbHMgKG5hbWVzcGFj ZSkgJiYgbG9jYWxOYW1lLmVxdWFscyAoInNlbGVjdCIpICYmIHJlYWRRdWVy eSkgewogICAgICAgICAgICByZWFkU2VsZWN0ID0gdHJ1ZTsKICAgICAgICB9 CgogICAgICAgIGVsc2UgaWYgKG5hbWVzcGFjZVVSSS5lcXVhbHMgKG5hbWVz cGFjZSkgJiYgbG9jYWxOYW1lLmVxdWFscyAoInBhcmFtIikgJiYgcmVhZFNl bGVjdCkgewogICAgICAgICAgICByZWFkUGFyYW0gPSB0cnVlOwogICAgICAg IH0KCiAgICAgICAgZWxzZSBpZiAobmFtZXNwYWNlVVJJLmVxdWFscyAobmFt ZXNwYWNlKSAmJiBsb2NhbE5hbWUuZXF1YWxzICgid2hlcmUiKSAmJiByZWFk UXVlcnkpIHsKICAgICAgICAgICAgcmVhZFdoZXJlID0gdHJ1ZTsKICAgICAg ICB9CgogICAgICAgIGVsc2UgaWYgKG5hbWVzcGFjZVVSSS5lcXVhbHMgKG5h bWVzcGFjZSkgJiYgbG9jYWxOYW1lLmVxdWFscyAoInRyaXBsZSIpICYmIHJl YWRXaGVyZSkgewogICAgICAgICAgICByZWFkVHJpcGxlID0gdHJ1ZTsKICAg ICAgICAgICAgc3ViamVjdCAgID0gYXR0cmlidXRlcy5nZXRWYWx1ZSAoInN1 YmplY3QiKTsKICAgICAgICAgICAgb2JqZWN0ICAgID0gYXR0cmlidXRlcy5n ZXRWYWx1ZSAoIm9iamVjdCIpOwogICAgICAgICAgICBwcmVkaWNhdGUgPSBh dHRyaWJ1dGVzLmdldFZhbHVlICgicHJlZGljYXRlIik7CiAgICAgICAgfQoK ICAgICAgICBlbHNlIGlmIChuYW1lc3BhY2VVUkkuZXF1YWxzIChuYW1lc3Bh Y2UpICYmIGxvY2FsTmFtZS5lcXVhbHMgKCJhbmQiKSAmJiByZWFkUXVlcnkp IHsKICAgICAgICAgICAgcmVhZEFuZCA9IHRydWU7CiAgICAgICAgICAgIG9w ZXJhbmQxID0gYXR0cmlidXRlcy5nZXRWYWx1ZSAoIm9wZXJhbmQxIik7CiAg ICAgICAgICAgIG9wZXJhbmQyID0gYXR0cmlidXRlcy5nZXRWYWx1ZSAoIm9w ZXJhbmQyIik7CiAgICAgICAgICAgIG9wZXJhdG9yID0gYXR0cmlidXRlcy5n ZXRWYWx1ZSAoIm9wZXJhdG9yIik7CiAgICAgICB9CgogICAgICAgIGVsc2Ug aWYgKG5hbWVzcGFjZVVSSS5lcXVhbHMgKG5hbWVzcGFjZSkgJiYgbG9jYWxO YW1lLmVxdWFscyAoInVzaW5nIikgJiYgcmVhZFF1ZXJ5KSB7CiAgICAgICAg ICAgIHJlYWRVc2luZyA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICAvL2Rv IG5vdCBtb2RpZnkgYW55IG90aGVyIHRhZ3MuLi4KICAgICAgICBlbHNlIHsK ICAgICAgICAgICAgc3VwZXIuc3RhcnRFbGVtZW50IChuYW1lc3BhY2VVUkks IGxvY2FsTmFtZSwgcU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgIH0KCiAg ICB9CgoKCgoKICAgIC8qKgogICAgICoKICAgICAqIFJlYWRzIHRoZSBjb250 ZW50IGJldHdlZW4gdGhlIHRhZ3Mgb2YgaW50ZXJlc3QuCiAgICAgKiBUaGUg Y29udGVudCBpcyBzYXZlZCBpbiBTdHJpbmdCdWZmZXJzCiAgICAgKgogICAg ICogQHBhcmFtIGNoIFRoZSB3aG9sZSBYTUwgZG9jdW1lbnQgYXMgYW4gY2hh cmFjdGVyIGFycmF5CiAgICAgKiBAcGFyYW0gc3RhcnQgVGhlIHN0YXJ0IGlu ZGV4IG9mIHRoZSB0YWcgY29udGVudAogICAgICogQHBhcmFtIGxlbmd0aCBU aGUgbGVuZ3RoIG9mIHRoZSBjb250ZW50IGJldHdlZW4gdGhlIHN0YXJ0IGFu ZCB0aGUgZW5kIHRhZwogICAgICoKICAgICAqLwogICAgcHVibGljIHZvaWQg Y2hhcmFjdGVycyAoY2hhcltdIGNoLCBpbnQgc3RhcnQsIGludCBsZW5ndGgp IHsKCgogICAgICAgIGlmIChyZWFkVXNpbmcgJiYgKGxlbmd0aCAhPSAwKSkg ewogICAgICAgICAgICB1c2luZy5hcHBlbmQgKGNoLCBzdGFydCwgbGVuZ3Ro KTsKICAgICAgICAgICAgcmVhZFVzaW5nID0gZmFsc2U7CiAgICAgICAgfQoK ICAgICAgICBpZiAocmVhZFBhcmFtKSB7CiAgICAgICAgICAgIHBhcmFtLmFw cGVuZCAoY2gsIHN0YXJ0LCBsZW5ndGgpOwogICAgICAgIH0KICAgIH0KCgoK CgoKICAgIC8qKgogICAgICoKICAgICAqIEFmdGVyIGFueSB0cmlwbGUgZGVj bGFyYXRpb24sIHBhcmFtIGRlY2xhcmF0aW9uIG9yIGFuZCBkZWNsYXJhdGlv biwgd2UgY29tcG9zZSB0aGUgc3BlY2lmaWVkIHBhcnQKICAgICAqIG9mIHRo ZSBxdWVyeSAoYXMgdGhlcmUgY2FuIGJlIG11bHRpcGxlIHRyaXBsZSwgcGFy YW0gb3IgYW5kIGRlY2xhcmF0aW9ucykgYmVmb3JlIGdlbmVyYXRpbmcgYW5k CiAgICAgKiBleGVjdXRpbmcgdGhlIHF1ZXJ5IGl0c2VsZgogICAgICoKICAg ICAqIEBwYXJhbSBuYW1lc3BhY2VVUkkgVGhlIG5hbWVzcGFjZQogICAgICog QHBhcmFtIGxvY2FsTmFtZSBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCB0YWcK ICAgICAqIEBwYXJhbSBxTmFtZSBUaGUgcXVhbGlmaWVkIG5hbWUKICAgICAq IEB0aHJvd3MgU0FYRXhjZXB0aW9uCiAgICAgKgogICAgICovCiAgICBwdWJs aWMgdm9pZCBlbmRFbGVtZW50IChTdHJpbmcgbmFtZXNwYWNlVVJJLCBTdHJp bmcgbG9jYWxOYW1lLCBTdHJpbmcgcU5hbWUpIHRocm93cyBTQVhFeGNlcHRp b24gewoKICAgICAgICAvL2FkZCB0aGlzIHRyaXBsZSBzdGF0ZW1lbnQgdG8g dGhlIHZlY3RvciBvZiBhbGwgdHJpcGxlcywgYmVsb25naW5nIHRvIHRoaXMg cXVlcnkKICAgICAgICBpZiAobmFtZXNwYWNlVVJJLmVxdWFscyAobmFtZXNw YWNlKSAmJiBsb2NhbE5hbWUuZXF1YWxzICgidHJpcGxlIikpIHsKCiAgICAg ICAgICAgIHJlYWRUcmlwbGUgPSBmYWxzZTsKCiAgICAgICAgICAgIC8vUGFy YW1ldGVyIHNldHplbiwgZmFsbHMg/GJlcmdlYmVuLi4uCiAgICAgICAgICAg IGZvciAoaW50IGkgPSAwOyBpIDwgcmVxUGFyYW1zLnNpemUoKTsgaSsrKSB7 CgogICAgICAgICAgICAgICAgU3RyaW5nIHRlbXAgPSAoU3RyaW5nKXJlcVBh cmFtcy5lbGVtZW50QXQoaSk7CiAgICAgICAgICAgICAgICAvL1N5c3RlbS5v dXQucHJpbnRsbiAocmVxUGFyYW1zLmVsZW1lbnRBdChpKSsgIiA9ICIgK3N1 YmplY3QpOwoKICAgICAgICAgICAgICAgIGlmIChzdWJqZWN0LmVxdWFscyAo dGVtcCkpIHsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50 bG4gKHJlcVBhcmFtcy5lbGVtZW50QXQoaSkrICIgPSAiICsgc3ViamVjdCk7 CiAgICAgICAgICAgICAgICAgICAgc3ViamVjdCA9IHJlcXVlc3QuZ2V0UGFy YW1ldGVyICh0ZW1wKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIGlmIChyZXFQYXJhbXMuZWxlbWVudEF0KGkpLmVxdWFscyAob2JqZWN0 KSkgewogICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiAo cmVxUGFyYW1zLmVsZW1lbnRBdChpKSsgIiA9ICIgKyBzdWJqZWN0KTsKICAg ICAgICAgICAgICAgICAgICBvYmplY3QgPSByZXF1ZXN0LmdldFBhcmFtZXRl ciAodGVtcCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIHRyaXBsZXMuYWRkRWxlbWVudCAoZ2VuZXJhdGVUcmlwbGUg KHN1YmplY3QsIHByZWRpY2F0ZSwgb2JqZWN0KSk7CiAgICAgICAgfQoKICAg ICAgICAvL2FkZCB0aGlzIHBhcmFtIHN0YXRlbWVudCB0byB0aGUgdmVjdG9y IG9mIGFsbCBwYXJhbXMsIGJlbG9uZ2luZyB0byB0aGlzIHF1ZXJ5CiAgICAg ICAgZWxzZSBpZiAobmFtZXNwYWNlVVJJLmVxdWFscyAobmFtZXNwYWNlKSAm JiBsb2NhbE5hbWUuZXF1YWxzICgicGFyYW0iKSkgewoKICAgICAgICAgICAg cmVhZFBhcmFtID0gZmFsc2U7CiAgICAgICAgICAgIHBhcmFtcy5hZGRFbGVt ZW50IChwYXJhbS50b1N0cmluZyAoKSk7CiAgICAgICAgICAgIHBhcmFtID0g bmV3IFN0cmluZ0J1ZmZlciAoKTsKICAgICAgICB9CgogICAgICAgIC8vYWRk IHRoaXMgYW5kIHN0YXRlbWVudCB0byB0aGUgdmVjdG9yIG9mIGFsbCBhbmQt c3RhdGVtZW50cywgYmVsb25naW5nIHRvIHRoaXMgcXVlcnkKICAgICAgICBl bHNlIGlmIChuYW1lc3BhY2VVUkkuZXF1YWxzIChuYW1lc3BhY2UpICYmIGxv Y2FsTmFtZS5lcXVhbHMgKCJhbmQiKSkgewoKICAgICAgICAgICAgcmVhZEFu ZCA9IGZhbHNlOwogICAgICAgIAlmb3IgKGludCBpPTA7IGk8cmVxUGFyYW1z LnNpemUoKTsgaSsrKSB7CgogICAgICAgIAkJU3RyaW5nIHRlbXAgPSByZXFQ YXJhbXMuZWxlbWVudEF0KGkpLnRvU3RyaW5nKCk7CiAgICAgICAgCQlpZiAo dGVtcC5lcXVhbHMgKG9wZXJhbmQxKSkgewogICAgICAgICAgICAgICAgICAg IG9wZXJhbmQxID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIodGVtcCk7CiAgICAg ICAgCQl9CiAgICAgICAgCQlpZiAodGVtcC5lcXVhbHMgKG9wZXJhbmQyKSkg ewogICAgICAgICAgICAgICAgICAgIG9wZXJhbmQyID0gcmVxdWVzdC5nZXRQ YXJhbWV0ZXIodGVtcCk7CiAgICAgICAgCQl9CiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIGlmIChvcGVyYW5kMS50cmltICgpLmxlbmd0aCgpICE9IDAg JiYgb3BlcmFuZDIudHJpbSAoKS5sZW5ndGgoKSAhPSAwICYmIG9wZXJhdG9y LnRyaW0gKCkubGVuZ3RoKCkgIT0gMCkgewogICAgICAgICAgICAgICAgYW5k cy5hZGRFbGVtZW50IChnZW5lcmF0ZUFuZCAob3BlcmFuZDEudHJpbSAoKSwg b3BlcmFuZDIudHJpbSAoKSwgb3BlcmF0b3IudHJpbSAoKSkpOwogICAgICAg ICAgICB9CiAgICAgICAgfQoKICAgICAgICAvL3doZW4gd2UgYXJyaXZlIGF0 IHRoZSBlbmQgb2YgdGhlIHF1ZXJ5IHRhZywgd2UgY2FuIGNvbXBvc2UgYW5k IGV4ZWN1dGUgdGhlIFJEUUwgcXVlcnksIGNvbnNpZGVyaW5nIGFsbCB0aGUg cmVsZXZhbnQgaW5mb3JtYXRpb24KICAgICAgICBlbHNlIGlmIChuYW1lc3Bh Y2VVUkkuZXF1YWxzIChuYW1lc3BhY2UpICYmIGxvY2FsTmFtZS5lcXVhbHMg KCJxdWVyeSIpKSB7CgogICAgICAgICAgICAvL2ZpcnN0LCBjb21wb3NlIHRo ZSBxdWVyeSBmcm9tICJzZWxlY3QiLCAid2hlcmUiLCAiYW5kIiBhbmQgInVz aW5nIiB0YWdzCiAgICAgICAgICAgIHJlYWRRdWVyeSA9IGZhbHNlOwogICAg ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHBhcmFtcy5zaXplKCk7IGkr Kyl7CiAgICAgICAgICAgIAkvL1N5c3RlbS5vdXQucHJpbnRsbigoKFN0cmlu ZylwYXJhbXMuZWxlbWVudEF0KGkpKS5zdWJzdHJpbmcoMSkpOwogICAgICAg ICAgICAJZmluYWwgU3RyaW5nIGYgPSAocGFyYW1zLmVsZW1lbnRBdChpKS50 b1N0cmluZygpKS5zdWJzdHJpbmcoMSk7CiAgICAgICAgICAgIAlwdXJlUGFy YW1zLmFkZEVsZW1lbnQoZik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAg cXVlcnkuYXBwZW5kICgiU2VsZWN0ICIpOwogICAgICAgICAgICBmb3IgKGlu dCBpID0gMDsgaSA8IHBhcmFtcy5zaXplICgpOyBpKyspIHsKICAgICAgICAg ICAgICAgIHF1ZXJ5LmFwcGVuZCAoKFN0cmluZylwYXJhbXMuZWxlbWVudEF0 IChpKSArICIgIik7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHF1ZXJ5 LmFwcGVuZCAoIndoZXJlICIpOwoKICAgICAgICAgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCB0cmlwbGVzLnNpemUgKCk7IGkrKykgewogICAgICAgICAgICAg ICAgcXVlcnkuYXBwZW5kICgoU3RyaW5nKXRyaXBsZXMuZWxlbWVudEF0IChp KSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvciAoaW50IGkgPSAw OyBpIDwgYW5kcy5zaXplKCk7IGkrKykgewogICAgICAgICAgICAgICAgcXVl cnkuYXBwZW5kICgiIGFuZCAiICsgYW5kcy5lbGVtZW50QXQoaSkpOwogICAg ICAgICAgICB9CgogICAgICAgICAgICBpZiAodXNpbmcudG9TdHJpbmcgKCku dHJpbSAoKS5sZW5ndGggKCkgIT0gMCkgewogICAgICAgICAgICAgICAgU3Ry aW5nIHVzaW5nVHJpbW1lZCA9IHVzaW5nLnRvU3RyaW5nICgpLnRyaW0gKCk7 CiAgICAgICAgICAgICAgICBxdWVyeS5hcHBlbmQgKCIgdXNpbmcgIiArIHVz aW5nVHJpbW1lZCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vcXVl cnkgaXMgY29tcG9zZWQsIG5vdyBleGVjdXRlIGFuZCBlbWJlZCB0aGUgcmVz dWx0IGluIGEgInJlc3VsdCIgdGFnLi4uCiAgICAgICAgICAgIE9udE1vZGVs IG0gPSBudWxsOwogICAgICAgICAgICBRdWVyeSBxICAgID0gbnVsbDsKICAg ICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHN1cGVyLnN0YXJ0RWxl bWVudCAoIiIsICJyZXN1bHQiLCAicmVzdWx0IiwgKEF0dHJpYnV0ZXMpbmV3 IEF0dHJpYnV0ZXNJbXBsICgpKTsKCiAgICAgICAgICAgICAgICAvL2NvbnN0 cnVjdHMgYW4gZW1wdHkgbW9kZWwgb2YgdGhlIHR5cGUgUkRGUwogICAgICAg ICAgICAgICAgbSA9IE1vZGVsRmFjdG9yeS5jcmVhdGVPbnRvbG9neU1vZGVs IChPbnRNb2RlbFNwZWMuUkRGU19NRU0sIG51bGwpOwoKICAgICAgICAgICAg ICAgIC8vYWRkIHRoZSBvbnRvbG9neSBhbmQgdGhlIGluc3RhbmNlcyB0byB0 aGUgbW9kZWwKICAgICAgICAgICAgICAgIG0uZ2V0RG9jdW1lbnRNYW5hZ2Vy ICgpLmFkZEFsdEVudHJ5IChzcmMsIHNyYyk7CiAgICAgICAgICAgICAgICAv L3JlYWQgdGhlIGluc3RhbmNlcy4uLgogICAgICAgICAgICAgICAgbS5yZWFk IChzcmMpOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBw YXJhbWV0ZXJzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAg bS5yZWFkIChwYXJhbWV0ZXJzW2ldKTsKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAvLy4uLmFuZCBleGVjdXRlIHRoZSBxdWVyeS4uLgog ICAgICAgICAgICAgICAgcSA9IG5ldyBRdWVyeSAocXVlcnkudG9TdHJpbmcg KCkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBjYXRjaCAoRXhjZXB0 aW9uIGUpIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiAo IkFuIEVycm9yIG9jY3VyZWQgZHVyaW5nIHF1ZXJ5IGluc3RhbnRpYXRpb24g Iik7CiAgICAgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSAoKTsKICAg ICAgICAgICAgICAgIHJlc2V0ICgpOwogICAgICAgICAgICB9CgogICAgICAg ICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKCJRdWVyeTogIiArIHF1ZXJ5LnRv U3RyaW5nICgpKTsKICAgICAgICAgICAgcS5zZXRTb3VyY2UgKG0pOwoKICAg ICAgICAgICAgUXVlcnlFeGVjdXRpb24gcWUgPSBuZXcgUXVlcnlFbmdpbmUg KHEpOwogICAgICAgICAgICBRdWVyeVJlc3VsdHMgcXIgPSBxZS5leGVjICgp OwoKICAgICAgICAgICAgLy9nbyB0aHJvdWdoIHRoZSByZXN1bHRzZXQgdW50 aWwgaXQgaXMgZW1wdHkKICAgICAgICAgICAgZm9yIChJdGVyYXRvciBpdGVy ID0gcXI7IHFyLmhhc05leHQgKCk7ICkgewoKICAgICAgICAgICAgICAgIFJl c3VsdEJpbmRpbmcgcmJpbmQgPSAoUmVzdWx0QmluZGluZylpdGVyLm5leHQg KCk7CiAgICAgICAgICAgICAgICBzdXBlci5zdGFydEVsZW1lbnQgKCIiLCAi aXRlbSIsICJpdGVtIiwgKEF0dHJpYnV0ZXMpbmV3IEF0dHJpYnV0ZXNJbXBs KCkpOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwYXJh bXMuc2l6ZSAoKTsgaSsrKSB7CgogICAgICAgICAgICAgICAgICAgIE9iamVj dCBvYmogPSByYmluZC5nZXRWYWx1ZSAoKFN0cmluZylwdXJlUGFyYW1zLmVs ZW1lbnRBdCAoaSkpLmdldFJERkxpdGVyYWwgKCkuZ2V0VmFsdWUgKCk7CiAg ICAgICAgICAgICAgICAgICAgc3VwZXIuc3RhcnRFbGVtZW50ICgiIiwgcHVy ZVBhcmFtcy5lbGVtZW50QXQgKGkpLnRvU3RyaW5nICgpLCBwdXJlUGFyYW1z LmVsZW1lbnRBdCAoaSkudG9TdHJpbmcgKCksIChBdHRyaWJ1dGVzKW5ldyBB dHRyaWJ1dGVzSW1wbCgpKTsKICAgICAgICAgICAgICAgICAgICBzdXBlci5j aGFyYWN0ZXJzIChvYmoudG9TdHJpbmcgKCkudG9DaGFyQXJyYXkgKCksIDAs IG9iai50b1N0cmluZyAoKS5sZW5ndGggKCkpOwogICAgICAgICAgICAgICAg ICAgIHN1cGVyLmVuZEVsZW1lbnQgKCIiLCBwdXJlUGFyYW1zLmVsZW1lbnRB dCAoaSkudG9TdHJpbmcgKCksIHB1cmVQYXJhbXMuZWxlbWVudEF0IChpKS50 b1N0cmluZyAoKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICBzdXBlci5lbmRFbGVtZW50ICgiIiwgIml0ZW0iLCAiaXRlbSIpOwogICAg ICAgICAgICB9CgogICAgICAgICAgICAvL25vdywgd2UgaGF2ZSB0aGUgcmVz dWx0CiAgICAgICAgICAgIHN1cGVyLmVuZEVsZW1lbnQgKCIiLCAicmVzdWx0 IiwgInJlc3VsdCIpOwoKICAgICAgICAgICAgLy9xdWVyeSBpcyBleGVjdXRl ZCwgbm93IHJlc2V0IHF1ZXJ5IHBhcmFtZXRlcnMuLi4KICAgICAgICAgICAg cGFyYW1zLnJlbW92ZUFsbEVsZW1lbnRzICgpOwogICAgICAgICAgICB0cmlw bGVzLnJlbW92ZUFsbEVsZW1lbnRzICgpOwogICAgICAgICAgICBhbmRzLnJl bW92ZUFsbEVsZW1lbnRzICgpOwogICAgICAgICAgICBwdXJlUGFyYW1zLnJl bW92ZUFsbEVsZW1lbnRzKCk7CgogICAgICAgICAgICBxdWVyeSA9IG5ldyBT dHJpbmdCdWZmZXIgKCk7CiAgICAgICAgICAgIHVzaW5nID0gbmV3IFN0cmlu Z0J1ZmZlciAoKTsKICAgICAgICB9CgoKICAgICAgICAvL3JlY3ljbGUgYWxs IHZhcmlhYmxlcyB3aGVuIHdlIGFycml2ZSBhdCB0aGUgZW5kLi4uCiAgICAg ICAgZWxzZSBpZiAobmFtZXNwYWNlVVJJLmVxdWFscyAobmFtZXNwYWNlKSAm JiBsb2NhbE5hbWUuZXF1YWxzICgiUkRRTCIpKSB7CiAgICAgICAgICAgIHJl c2V0KCk7CiAgICAgICAgfQoKICAgICAgICAvL2RvIG5vdGhpbmcgd2hlbiB0 aGVzZSBlbGVtZW50cyBvY2N1ci4uLgogICAgICAgIGVsc2UgaWYgKG5hbWVz cGFjZVVSSS5lcXVhbHMgKG5hbWVzcGFjZSkgJiYgKGxvY2FsTmFtZS5lcXVh bHMgKCJzZWxlY3QiKSAgICB8fAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsTmFtZS5lcXVhbHMg KCJ3aGVyZSIpICAgICB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsTmFtZS5lcXVhbHMgKCJh bmQiKSAgICAgICB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxvY2FsTmFtZS5lcXVhbHMgKCJ1c2lu ZyIpKSkge30KCgogICAgICAgIC8vZG8gbm90IG1vZGlmeSBhbnkgb3RoZXIg ZWxlbWVudHMKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgc3VwZXIuZW5k RWxlbWVudCAobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUsIHFOYW1lKTsKICAg ICAgICB9CiAgICB9CgoKCgogICAgLyoqCiAgICAgKgogICAgICogZ2VuZXJh dGVzIGEgc2luZ2xlIFJEUUwgdHJpcGxlIGluIHRoZSBjb3JyZWN0IFJEUUwg c3ludGF4LCBwdXR0aW5nIHN1YmplY3QsIHByZWRpY2F0ZQogICAgICogYW5k IG9iamVjdCB0b2dldGhlcgogICAgICoKICAgICAqIEBwYXJhbSBzdWJqZWN0 IFRoZSBzdWJqZWN0CiAgICAgKiBAcGFyYW0gcHJlZGljYXRlIFRoZSBwcmVk aWNhdGUKICAgICAqIEBwYXJhbSBvYmplY3QgVGhlIG9iamVjdAogICAgICog QHJldHVybiBUaGUgdHJpcGxlCiAgICAgKgogICAgICovCiAgICBwdWJsaWMg U3RyaW5nIGdlbmVyYXRlVHJpcGxlIChTdHJpbmcgc3ViamVjdCwgU3RyaW5n IHByZWRpY2F0ZSwgU3RyaW5nIG9iamVjdCkgewoKICAgICAgICBTdHJpbmdC dWZmZXIgcmV0dmFsID0gbmV3IFN0cmluZ0J1ZmZlciAoKTsKICAgICAgICBy ZXR2YWwuYXBwZW5kICgiKCIpOwoKICAgICAgICBpZiAoIXN1YmplY3Quc3Rh cnRzV2l0aCAoIj8iKSkgewogICAgICAgICAgICB0cnkgewogICAgICAgICAg ICAgICAgaW50IHphaGwgPSBJbnRlZ2VyLnBhcnNlSW50IChzdWJqZWN0KTsK ICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiAoIlpBSEwiKTsK ICAgICAgICAgICAgICAgIHJldHZhbC5hcHBlbmQgKHN1YmplY3QpOwogICAg ICAgICAgICB9CiAgICAgICAgICAgIGNhdGNoIChFeGNlcHRpb24gZSkgewog ICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuICgiU1RSSU5HIik7 CiAgICAgICAgICAgICAgICByZXR2YWwuYXBwZW5kICgiXCIiICsgc3ViamVj dCArICJcIiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVs c2UgewogICAgICAgICAgICByZXR2YWwuYXBwZW5kIChzdWJqZWN0KTsKICAg ICAgICB9CiAgICAgICAgcmV0dmFsLmFwcGVuZCAoIiwgPCIgKyBwcmVkaWNh dGUgKyAiPiwgIik7CgogICAgICAgIGlmICghb2JqZWN0LnN0YXJ0c1dpdGgg KCI/IikpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGlu dCB6YWhsID0gSW50ZWdlci5wYXJzZUludCAob2JqZWN0KTsKICAgICAgICAg ICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiAoIlpBSEwiKTsKICAgICAgICAg ICAgICAgIHJldHZhbC5hcHBlbmQgKG9iamVjdCk7CiAgICAgICAgICAgIH0K ICAgICAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAg ICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKCJTVFJJTkciKTsKICAgICAgICAg ICAgICAgIHJldHZhbC5hcHBlbmQgKCJcIiIgKyBvYmplY3QgKyAiXCIiKTsK ICAgICAgICAgICAgfQogICAgICAgIH0KICAgIAllbHNlIHtyZXR2YWwuYXBw ZW5kIChvYmplY3QgKyAiKSIpO30KCiAgICAgICAgU3lzdGVtLm91dC5wcmlu dGxuICgiVHJpcGxlOiAiICsgcmV0dmFsLnRvU3RyaW5nICgpKTsKICAgICAg ICByZXR1cm4gcmV0dmFsLnRvU3RyaW5nICgpOwogICAgfQoKCgoKICAgIC8q KgogICAgICoKICAgICAqIGdlbmVyYXRlcyBhIHNpbmdsZSBSRFFMIGFuZCBz dGF0ZW1lbnQgaW4gdGhlIGNvcnJlY3QgUkRRTCBzeW50YXgsIHB1dHRpbmcg YWxsIG9wZXJhbmRzIGFuZAogICAgICogdGhlIG9wZXJhdG9yIHRvZ2V0aGVy CiAgICAgKgogICAgICogQHBhcmFtIG9wMSBGaXJzdCBvcGVyYW5kCiAgICAg KiBAcGFyYW0gb3AyIFNlY29uZCBvcGVyYW5kCiAgICAgKiBAcGFyYW0gb3Bl cmF0b3IgVGhlIG9wZXJhdG9yCiAgICAgKiBAcmV0dXJuIFN0cmluZwogICAg ICoKICAgICAqLwogICAgcHVibGljIFN0cmluZyBnZW5lcmF0ZUFuZCAoU3Ry aW5nIG9wMSwgU3RyaW5nIG9wMiwgU3RyaW5nIG9wZXJhdG9yKSB7CgogICAg ICAgIFN0cmluZ0J1ZmZlciByZXR2YWwgPSBuZXcgU3RyaW5nQnVmZmVyICgp OwoKICAgICAgICBpZiAoIW9wMS5zdGFydHNXaXRoICgiPyIpKSB7CiAgICAg ICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBpbnQgemFobCA9IEludGVn ZXIucGFyc2VJbnQgKG9wMSk7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0 LnByaW50bG4gKCJaQUhMIik7CiAgICAgICAgICAgICAgICByZXR2YWwuYXBw ZW5kIChvcDErICIgIiArb3BlcmF0b3IrICIgIik7CiAgICAgICAgICAgIH0K ICAgICAgICAgICAgY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAg ICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKCJTVFJJTkciKTsKICAgICAgICAg ICAgICAgIHJldHZhbC5hcHBlbmQgKCJcIiIgKyBvcDEgKyAiXCIgIisgb3Bl cmF0b3IgKyAiICIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAg IGVsc2UgewogICAgICAgICAgICByZXR2YWwuYXBwZW5kIChvcDErICIgIiAr b3BlcmF0b3IrICIgIik7CiAgICAgICAgfQoKICAgICAgICBpZiAoIW9wMi5z dGFydHNXaXRoICgiPyIpKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAg ICAgICAgICBpbnQgemFobCA9IEludGVnZXIucGFyc2VJbnQgKG9wMik7CiAg ICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4gKCJaQUhMIik7CiAg ICAgICAgICAgICAgICByZXR2YWwuYXBwZW5kIChvcDIpOwogICAgICAgICAg ICB9CiAgICAgICAgICAgIGNhdGNoIChFeGNlcHRpb24gZSkgewogICAgICAg ICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuICgiU1RSSU5HIik7CiAgICAg ICAgICAgICAgICByZXR2YWwuYXBwZW5kICgiXCIiICsgb3AyICsgIlwiIik7 CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAg ICAgICAgIHJldHZhbC5hcHBlbmQgKG9wMik7CiAgICAgICAgfQogICAgICAg IHJldHVybiByZXR2YWwudG9TdHJpbmcgKCk7CiAgICB9CgoKCiAgICAvKioK ICAgICAqIFJlY3ljbGVzIGFsbCB0aGUgdmFyaWFibGVzIGFuZCBwYXJhbWV0 ZXJzCiAgICAgKi8KICAgIHByaXZhdGUgdm9pZCByZXNldCAoKSB7CgogICAg ICAgIC8vYm9vbGVhbiB2YXJpYWJsZXMKICAgICAgICBzdGFydCA9IGZhbHNl OwogICAgICAgIHJlYWRRdWVyeSA9IGZhbHNlOwogICAgICAgIHJlYWRTZWxl Y3QgPSBmYWxzZTsKICAgICAgICByZWFkUGFyYW0gPSBmYWxzZTsKICAgICAg ICByZWFkV2hlcmUgPSBmYWxzZTsKICAgICAgICByZWFkVHJpcGxlID0gZmFs c2U7CiAgICAgICAgcmVhZEFuZCA9IGZhbHNlOwogICAgICAgIHJlYWRVc2lu ZyA9IGZhbHNlOwoKICAgICAgICAvL1N0cmluZ0J1ZmZlcnMKICAgICAgICBx dWVyeSA9IG5ldyBTdHJpbmdCdWZmZXIgKCk7CiAgICAgICAgcGFyYW0gPSBu ZXcgU3RyaW5nQnVmZmVyICgpOwogICAgICAgIHVzaW5nID0gbmV3IFN0cmlu Z0J1ZmZlciAoKTsKCiAgICAgICAgLy9WZWN0b3JzCiAgICAgICAgcGFyYW1z LnJlbW92ZUFsbEVsZW1lbnRzICgpOwogICAgICAgIHRyaXBsZXMucmVtb3Zl QWxsRWxlbWVudHMgKCk7CiAgICAgICAgYW5kcy5yZW1vdmVBbGxFbGVtZW50 cyAoKTsKICAgICAgICByZXFQYXJhbXMucmVtb3ZlQWxsRWxlbWVudHMoKTsK ICAgICAgICBwdXJlUGFyYW1zLnJlbW92ZUFsbEVsZW1lbnRzKCk7CiAgICB9 Cn0KCg== --Family_of_Sardines_562_000 Content-Type: TEXT/plain; name="test.xml"; charset=us-ascii; x-unix-mode=0644 Content-Description: test.xml Content-MD5: lPyfC0Z5OZ2D9cQph/FknA== ?name ?matrikelNr ?name ?semester --Family_of_Sardines_562_000 Content-Type: TEXT/plain; name="TUM.owl"; charset=ISO-8859-15; x-unix-mode=0644 Content-Transfer-Encoding: QUOTED-PRINTABLE Content-Description: TUM.owl Content-MD5: 07dvNwTSf16f8HLxiYiSpg== =09=09=09 =09=09 =09=09 =09 =09=09=09=09=09 =09 =09 =09<= !-- XML-Schema URL, wo "int" definiert ist --> =09 =09=09 Bachelor<= /art>=09 =09 2271547 Can Oender =09 Radig =09 =09 Diplom =09=09=09 5 =09 12876324 Halgurt Mustafa Ali TUM 8 --Family_of_Sardines_562_000--