Return-Path: X-Original-To: apmail-giraph-user-archive@www.apache.org Delivered-To: apmail-giraph-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1DC9518BD5 for ; Fri, 22 May 2015 12:43:32 +0000 (UTC) Received: (qmail 54638 invoked by uid 500); 22 May 2015 12:43:31 -0000 Delivered-To: apmail-giraph-user-archive@giraph.apache.org Received: (qmail 53924 invoked by uid 500); 22 May 2015 12:43:31 -0000 Mailing-List: contact user-help@giraph.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@giraph.apache.org Delivered-To: mailing list user@giraph.apache.org Received: (qmail 53913 invoked by uid 99); 22 May 2015 12:43:31 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 May 2015 12:43:31 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 1C2BF1A3122 for ; Fri, 22 May 2015 12:43:31 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.99 X-Spam-Level: X-Spam-Status: No, score=0.99 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 4RcJA3p8cC2V for ; Fri, 22 May 2015 12:43:27 +0000 (UTC) Received: from smtp1.ntua.gr (smtp1.ntua.gr [147.102.222.183]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTP id 270B520EA4 for ; Fri, 22 May 2015 12:43:26 +0000 (UTC) Received: from [IPv6:2001:648:2000:13:8537:4789:4eb3:f2d9] ([IPv6:2001:648:2000:13:8537:4789:4eb3:f2d9]) (authenticated bits=0) by smtp1.ntua.gr (8.14.9/8.14.7) with ESMTP id t4MChImw029173 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Fri, 22 May 2015 15:43:18 +0300 (EEST) (envelope-from axenaki@mail.ntua.gr) Message-ID: <555F2469.5060901@mail.ntua.gr> Date: Fri, 22 May 2015 15:43:21 +0300 From: Anna Xenaki User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: user@giraph.apache.org Subject: giraph-netbeans -simple question Content-Type: multipart/mixed; boundary="------------020304080707070105000606" This is a multi-part message in MIME format. --------------020304080707070105000606 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi, sorry for the inconvenience I found your mail via giraph mailing list. Im new in Giraph. I want to run a giraph job via netbeans. I have imported all libs in project , and installed hadoop 2.5.2 Giraph 1.1.0 in ubuntu 14.04. I created Java classes FbGraphInputFormat, FbGraphMessage, FbGraphOutputFormat,FbGraphState, KatzReduce public class KatzReduce extends BasicComputation { public class FbGraphState implements Writable { public class FbGraphOutputFormat extends TextVertexOutputFormat{ public class FbGraphInputFormat extends TextVertexInputFormat { class FbGraphMessage implements Writable{ MY QUESTION is simple I want to run my java project from netbeans I dont know how . I dont have a main class and do not know to start a giraph job that does exactly what KatzReduce.java says. I added in the run of the project the arguments infile_location_path outfile_location_path Do I create a main method saying what? I cannot find any documentation on deploying giraph projects from scratch so any help would be of great assistance. Thanks in advance, Anna --------------020304080707070105000606 Content-Type: text/plain; charset=windows-1253; name="FbGraphInputFormat.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FbGraphInputFormat.java" LyoKICogVG8gY2hhbmdlIHRoaXMgbGljZW5zZSBoZWFkZXIsIGNob29zZSBMaWNlbnNlIEhl YWRlcnMgaW4gUHJvamVjdCBQcm9wZXJ0aWVzLgogKiBUbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0 ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXMKICogYW5kIG9wZW4gdGhlIHRlbXBs YXRlIGluIHRoZSBlZGl0b3IuCiAqLwpwYWNrYWdlIEZiX3BhY2thZ2U7CgppbXBvcnQgamF2 YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBq YXZhLnV0aWwuSGFzaE1hcDsKaW1wb3J0IGphdmEudXRpbC5NYXA7CmltcG9ydCBvcmcuYXBh Y2hlLmdpcmFwaC5lZGdlLkVkZ2U7CmltcG9ydCBvcmcuYXBhY2hlLmdpcmFwaC5lZGdlLkVk Z2VGYWN0b3J5OwppbXBvcnQgb3JnLmFwYWNoZS5naXJhcGguZ3JhcGguVmVydGV4OwppbXBv cnQgb3JnLmFwYWNoZS5naXJhcGguaW8uZm9ybWF0cy5UZXh0VmVydGV4SW5wdXRGb3JtYXQ7 CmltcG9ydCBvcmcuYXBhY2hlLmhhZG9vcC5pby5Eb3VibGVXcml0YWJsZTsKaW1wb3J0IG9y Zy5hcGFjaGUuaGFkb29wLmlvLlRleHQ7CmltcG9ydCBvcmcuYXBhY2hlLmhhZG9vcC5tYXBy ZWR1Y2UuSW5wdXRTcGxpdDsKaW1wb3J0IG9yZy5hcGFjaGUuaGFkb29wLm1hcHJlZHVjZS5U YXNrQXR0ZW1wdENvbnRleHQ7CgovKioKICoKICogQGF1dGhvciB1c2VyCiAqLwpwdWJsaWMg Y2xhc3MgRmJHcmFwaElucHV0Rm9ybWF0IGV4dGVuZHMgVGV4dFZlcnRleElucHV0Rm9ybWF0 PFRleHQsIEZiR3JhcGhTdGF0ZSwgRG91YmxlV3JpdGFibGU+IHsKCiAgICBAT3ZlcnJpZGUK ICAgIHB1YmxpYyBUZXh0VmVydGV4UmVhZGVyIGNyZWF0ZVZlcnRleFJlYWRlcihJbnB1dFNw bGl0IGlzLCBUYXNrQXR0ZW1wdENvbnRleHQgdGFjKSB0aHJvd3MgSU9FeGNlcHRpb24gewog ICAgICAgIHJldHVybiBuZXcgRmJHcmFwaFJlYWRlcigpOwogICAgfQoKICAgIHByb3RlY3Rl ZCBjbGFzcyBGYkdyYXBoUmVhZGVyIGV4dGVuZHMgVGV4dFZlcnRleFJlYWRlciB7CgogICAg ICAgIEBPdmVycmlkZQogICAgICAgIHB1YmxpYyBib29sZWFuIG5leHRWZXJ0ZXgoKSB0aHJv d3MgSU9FeGNlcHRpb24sIEludGVycnVwdGVkRXhjZXB0aW9uIHsKICAgICAgICAgICAgcmV0 dXJuIGdldFJlY29yZFJlYWRlcigpLm5leHRLZXlWYWx1ZSgpOwogICAgICAgIH0KCiAgICAg ICAgQE92ZXJyaWRlCiAgICAgICAgcHVibGljIFZlcnRleDxUZXh0LCBGYkdyYXBoU3RhdGUs IERvdWJsZVdyaXRhYmxlPiBnZXRDdXJyZW50VmVydGV4KCkgdGhyb3dzIElPRXhjZXB0aW9u LCBJbnRlcnJ1cHRlZEV4Y2VwdGlvbiB7CiAgICAgICAgICAgIFN0cmluZyBsaW5lID0gZ2V0 UmVjb3JkUmVhZGVyKCkuZ2V0Q3VycmVudFZhbHVlKCkudG9TdHJpbmcoKTsKICAgICAgICAg ICAgU3RyaW5nW10gdG9rZW5zID0gbGluZS50cmltKCkuc3BsaXQoIiMiKTsKICAgICAgICAg ICAgaWYgKHRva2Vucy5sZW5ndGggPCAyKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcg SWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uKCJJbnZhbGlkIGxpbmU6ICgiICsgbGluZSArICIp Iik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgRmJHcmFwaFN0YXRlIHN0YXRlID0gbmV3 IEZiR3JhcGhTdGF0ZSgpOwogICAgICAgICAgICBUZXh0IGlkID0gbmV3IFRleHQodG9rZW5z WzBdKTsKICAgICAgICAgICAgc3RhdGUuc2V0VmFsdWUoaWQudG9TdHJpbmcoKSk7CiAgICAg ICAgICAgIHN0YXRlLnNldE5vZGVXZWlnaHQoMS4wKTsKCiAgICAgICAgICAgIE1hcDxUZXh0 LCBEb3VibGVXcml0YWJsZT4gZWRnZU1hcCA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgICAg ICAgQXJyYXlMaXN0PEVkZ2U8VGV4dCwgRG91YmxlV3JpdGFibGU+PiBlZGdlc0xpc3QgPSBu ZXcgQXJyYXlMaXN0PD4oKTsKICAgICAgICAgICAgU3RyaW5nW10gZWRnZXMgPSAodG9rZW5z Lmxlbmd0aCA+IDIpID8gdG9rZW5zWzFdLnNwbGl0KCIsIikgOiBuZXcgU3RyaW5nWzBdOwog ICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGVkZ2VzLmxlbmd0aDsgaSsrKSB7CiAg ICAgICAgICAgICAgICBkb3VibGUgd2VpZ2h0ID0gIDEuMDsKICAgICAgICAgICAgICAgIFRl eHQgZWRnZUtleSA9IG5ldyBUZXh0KGVkZ2VzW2ldKTsKICAgICAgICAgICAgICAgIGVkZ2VN YXAucHV0KGVkZ2VLZXksIG5ldyBEb3VibGVXcml0YWJsZSh3ZWlnaHQpKTsKICAgICAgICAg ICAgICAgIC8vIGVkZ2VzTGlzdC5hZGQoRWRnZUZhY3RvcnkuY3JlYXRlKG5ldwogICAgICAg ICAgICAgICAgLy8gTG9uZ1dyaXRhYmxlKGVkZ2VLZXkpLG5ldyBMb25nV3JpdGFibGUod2Vp Z2h0KSkpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBmb3IgKE1hcC5FbnRyeTxUZXh0 LCBEb3VibGVXcml0YWJsZT4gZW50cnkKICAgICAgICAgICAgICAgICAgICA6IGVkZ2VNYXAu ZW50cnlTZXQoKSkgewogICAgICAgICAgICAgICAgZWRnZXNMaXN0LmFkZChFZGdlRmFjdG9y eS5jcmVhdGUoZW50cnkuZ2V0S2V5KCksIGVudHJ5LmdldFZhbHVlKCkpKTsKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgVmVydGV4PFRleHQsIEZiR3JhcGhTdGF0ZSwgRG91YmxlV3Jp dGFibGU+IHZlcnRleCA9IHRoaXMuZ2V0Q29uZigpLmNyZWF0ZVZlcnRleCgpOwoKICAgICAg ICAgICAgdmVydGV4LmluaXRpYWxpemUoaWQsIHN0YXRlLCBlZGdlc0xpc3QpOwoKICAgICAg ICAgICAgcmV0dXJuIHZlcnRleDsKICAgICAgICB9CgogICAgfQp9Cg== --------------020304080707070105000606 Content-Type: text/plain; charset=windows-1253; name="FbGraphMessage.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FbGraphMessage.java" LyoKICogVG8gY2hhbmdlIHRoaXMgbGljZW5zZSBoZWFkZXIsIGNob29zZSBMaWNlbnNlIEhl YWRlcnMgaW4gUHJvamVjdCBQcm9wZXJ0aWVzLgogKiBUbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0 ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXMKICogYW5kIG9wZW4gdGhlIHRlbXBs YXRlIGluIHRoZSBlZGl0b3IuCiAqLwpwYWNrYWdlIEZiX3BhY2thZ2U7CgppbXBvcnQgamF2 YS5pby5EYXRhSW5wdXQ7CmltcG9ydCBqYXZhLmlvLkRhdGFPdXRwdXQ7CmltcG9ydCBqYXZh LmlvLklPRXhjZXB0aW9uOwppbXBvcnQgb3JnLmFwYWNoZS5oYWRvb3AuaW8uV3JpdGFibGU7 CmltcG9ydCBvcmcuYXBhY2hlLmhhZG9vcC5pby5Xcml0YWJsZVV0aWxzOwoKLyoqCiAqCiAq IEBhdXRob3IgdXNlcgogKi8KY2xhc3MgRmJHcmFwaE1lc3NhZ2UgaW1wbGVtZW50cyBXcml0 YWJsZXsKCiAgICBwcml2YXRlIGRvdWJsZSBrYXR6V2VpZ2h0OwoKICAgIHB1YmxpYyBGYkdy YXBoTWVzc2FnZSgpe30KICAgIHB1YmxpYyBGYkdyYXBoTWVzc2FnZShkb3VibGUgd2VpZ2h0 KXsKCQl0aGlzKCk7CgkJCgkJdGhpcy5rYXR6V2VpZ2h0ID0gd2VpZ2h0OwoKCX0KICAgIHB1 YmxpYyBGYkdyYXBoTWVzc2FnZShGYkdyYXBoTWVzc2FnZSBvdGhlcil7CgkJdGhpcyhvdGhl ci5rYXR6V2VpZ2h0KTsKCX0KICAgIEBPdmVycmlkZQogICAgcHVibGljIHZvaWQgd3JpdGUo RGF0YU91dHB1dCBkKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIHRocm93IG5ldyBV bnN1cHBvcnRlZE9wZXJhdGlvbkV4Y2VwdGlvbigiTm90IHN1cHBvcnRlZCB5ZXQuIik7IC8v VG8gY2hhbmdlIGJvZHkgb2YgZ2VuZXJhdGVkIG1ldGhvZHMsIGNob29zZSBUb29scyB8IFRl bXBsYXRlcy4KICAgIH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyB2b2lkIHJlYWRGaWVs ZHMoRGF0YUlucHV0IGRpKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAKCQlrYXR6V2Vp Z2h0PSBkaS5yZWFkRG91YmxlKCk7CgkJCiAgICB9CgogICAgcHVibGljIGRvdWJsZSBnZXRL YXR6V2VpZ2h0KCkgewogICAgICAgIHJldHVybiBrYXR6V2VpZ2h0OwogICAgfQoKICAgIHB1 YmxpYyB2b2lkIHNldEthdHpXZWlnaHQoZG91YmxlIGthdHpXZWlnaHQpIHsKICAgICAgICB0 aGlzLmthdHpXZWlnaHQgPSBrYXR6V2VpZ2h0OwogICAgfQoKICAgIAp9Cg== --------------020304080707070105000606 Content-Type: text/plain; charset=windows-1253; name="FbGraphOutputFormat.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FbGraphOutputFormat.java" LyoKICogVG8gY2hhbmdlIHRoaXMgbGljZW5zZSBoZWFkZXIsIGNob29zZSBMaWNlbnNlIEhl YWRlcnMgaW4gUHJvamVjdCBQcm9wZXJ0aWVzLgogKiBUbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0 ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXMKICogYW5kIG9wZW4gdGhlIHRlbXBs YXRlIGluIHRoZSBlZGl0b3IuCiAqLwpwYWNrYWdlIEZiX3BhY2thZ2U7CgppbXBvcnQgamF2 YS5pby5JT0V4Y2VwdGlvbjsKaW1wb3J0IG9yZy5hcGFjaGUuZ2lyYXBoLmVkZ2UuRWRnZTsK aW1wb3J0IG9yZy5hcGFjaGUuZ2lyYXBoLmdyYXBoLlZlcnRleDsKaW1wb3J0IG9yZy5hcGFj aGUuZ2lyYXBoLmlvLmZvcm1hdHMuVGV4dFZlcnRleE91dHB1dEZvcm1hdDsKaW1wb3J0IG9y Zy5hcGFjaGUuaGFkb29wLmlvLkRvdWJsZVdyaXRhYmxlOwppbXBvcnQgb3JnLmFwYWNoZS5o YWRvb3AuaW8uVGV4dDsKaW1wb3J0IG9yZy5hcGFjaGUuaGFkb29wLm1hcHJlZHVjZS5UYXNr QXR0ZW1wdENvbnRleHQ7CgovKioKICoKICogQGF1dGhvciB1c2VyCiAqLwpwdWJsaWMgY2xh c3MgRmJHcmFwaE91dHB1dEZvcm1hdCAgZXh0ZW5kcyBUZXh0VmVydGV4T3V0cHV0Rm9ybWF0 PFRleHQsRmJHcmFwaFN0YXRlLERvdWJsZVdyaXRhYmxlPnsKICAgIAoKICAgIEBPdmVycmlk ZQogICAgcHVibGljIFRleHRWZXJ0ZXhXcml0ZXIgY3JlYXRlVmVydGV4V3JpdGVyKFRhc2tB dHRlbXB0Q29udGV4dCB0YWMpIHRocm93cyBJT0V4Y2VwdGlvbiwgSW50ZXJydXB0ZWRFeGNl cHRpb24gewogICAgICAgcmV0dXJuIG5ldyBGYkdyYXBoV3JpdGVyKCk7CiAgICB9CgogICAg cHJpdmF0ZSBzdGF0aWMgY2xhc3MgRmJHcmFwaFdyaXRlciBleHRlbmRzIFRleHRWZXJ0ZXhX cml0ZXIgewoKICAgICAgICBwdWJsaWMgRmJHcmFwaFdyaXRlcigpIHsKICAgICAgICB9Cgog ICAgICAgIEBPdmVycmlkZQogICAgICAgIHB1YmxpYyB2b2lkIHdyaXRlVmVydGV4KFZlcnRl eDxUZXh0LCBGYkdyYXBoU3RhdGUsIERvdWJsZVdyaXRhYmxlPiB2ZXJ0ZXgpIHRocm93cyBJ T0V4Y2VwdGlvbiwgSW50ZXJydXB0ZWRFeGNlcHRpb24gewogICAgICAgICAgIFN0cmluZ0J1 aWxkZXIgYiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CgkJCWIuYXBwZW5kKHZlcnRleC5nZXRW YWx1ZSgpLmdldFZhbHVlKCkpOwoJCQliLmFwcGVuZCgiXHQiKTsKCQkJYi5hcHBlbmQodmVy dGV4LmdldFZhbHVlKCkuZ2V0Tm9kZVdlaWdodCgpKTsKCQkJYi5hcHBlbmQoIlx0Iik7CgkJ CQoJCQlmb3IgKEVkZ2U8VGV4dCxEb3VibGVXcml0YWJsZT4gZTogdmVydGV4LmdldEVkZ2Vz KCkpewoJCQkJYi5hcHBlbmQoZS5nZXRUYXJnZXRWZXJ0ZXhJZCgpKTsKCQkJCWIuYXBwZW5k KCI6Iik7CgkJCQliLmFwcGVuZChlLmdldFZhbHVlKCkpOwoJCQkJYi5hcHBlbmQoIiwiKTsK CQkJfQoJCQliLnNldExlbmd0aChiLmxlbmd0aCgpIC0gMSk7CgkJCQoJCQlnZXRSZWNvcmRX cml0ZXIoKS53cml0ZSh2ZXJ0ZXguZ2V0SWQoKSwgbmV3IFRleHQoYi50b1N0cmluZygpKSk7 CgkJCQogICAgICAgIH0KICAgIH0KfQ== --------------020304080707070105000606 Content-Type: text/plain; charset=windows-1253; name="FbGraphState.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FbGraphState.java" LyoKICogVG8gY2hhbmdlIHRoaXMgbGljZW5zZSBoZWFkZXIsIGNob29zZSBMaWNlbnNlIEhl YWRlcnMgaW4gUHJvamVjdCBQcm9wZXJ0aWVzLgogKiBUbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0 ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXMKICogYW5kIG9wZW4gdGhlIHRlbXBs YXRlIGluIHRoZSBlZGl0b3IuCiAqLwpwYWNrYWdlIEZiX3BhY2thZ2U7CgppbXBvcnQgamF2 YS5pby5EYXRhSW5wdXQ7CmltcG9ydCBqYXZhLmlvLkRhdGFPdXRwdXQ7CmltcG9ydCBqYXZh LmlvLklPRXhjZXB0aW9uOwppbXBvcnQgb3JnLmFwYWNoZS5oYWRvb3AuaW8uV3JpdGFibGU7 CmltcG9ydCBvcmcuYXBhY2hlLmhhZG9vcC5pby5Xcml0YWJsZVV0aWxzOwoKLyoqCiAqCiAq IEBhdXRob3IgdXNlcgogKi8KcHVibGljIGNsYXNzIEZiR3JhcGhTdGF0ZSBpbXBsZW1lbnRz IFdyaXRhYmxlIHsKCiAgICBwcml2YXRlIFN0cmluZyB2YWx1ZTsKICAgIHByaXZhdGUgZG91 YmxlIG5vZGVXZWlnaHQ7CiAgICBwcml2YXRlIFN0cmluZyBiaXJ0aGRheTsKICAgIHByaXZh dGUgU3RyaW5nIGVkdWNhdGlvbl9jbGFzc2VzOwogICAgcHJpdmF0ZSBTdHJpbmcgZWR1Y2F0 aW9uX2NvbmNlbnRyYXRpb25faWQ7CiAgICBwcml2YXRlIFN0cmluZyBlZHVjYXRpb25fZGVn cmVlX2lkOwogICAgcHJpdmF0ZSBTdHJpbmcgZWR1Y2F0aW9uX3NjaG9vbF9pZDsKICAgIHBy aXZhdGUgU3RyaW5nIGVkdWNhdGlvbl93aXRoX2lkOwogICAgcHJpdmF0ZSBTdHJpbmcgZWR1 Y2F0aW9uX3R5cGVfaWQ7CiAgICBwcml2YXRlIFN0cmluZyBlZHVjYXRpb25feWVhcl9pZDsK ICAgIHByaXZhdGUgU3RyaW5nIGZpcnN0X25hbWU7CiAgICBwcml2YXRlIFN0cmluZyBnZW5k ZXI7CiAgICBwcml2YXRlIFN0cmluZyBob21ldG93bl9pZDsKICAgIHByaXZhdGUgU3RyaW5n IGxhbmd1YWdlc19pZDsKICAgIHByaXZhdGUgU3RyaW5nIGxhc3RfbmFtZTsKICAgIHByaXZh dGUgU3RyaW5nIGxvY2FsZTsKICAgIHByaXZhdGUgU3RyaW5nIGxvY2F0aW9uX2lkOwogICAg cHJpdmF0ZSBTdHJpbmcgd29ya19lbXBsb3llcl9pZDsKICAgIHByaXZhdGUgU3RyaW5nIHdv cmtfZW5kX2RhdGU7CiAgICBwcml2YXRlIFN0cmluZyB3b3JrX2xvY2F0aW9uOwogICAgcHJp dmF0ZSBTdHJpbmcgd29ya19wb3NpdGlvbjsKICAgIHByaXZhdGUgU3RyaW5nIHdvcmtfc3Rh cnRfZGF0ZTsKICAgIHByaXZhdGUgU3RyaW5nIHdvcmtfd2l0aDsKICAgIHByaXZhdGUgU3Ry aW5nIG1pZGRsZV9uYW1lOwogICAgcHJpdmF0ZSBTdHJpbmcgcG9saXRjYWwgOwogICAgCiAg ICBwdWJsaWMgRmJHcmFwaFN0YXRlKCkgewogICAgfQoKICAgIHB1YmxpYyB2b2lkIHdyaXRl KERhdGFPdXRwdXQgZCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICBXcml0YWJsZVV0 aWxzLndyaXRlU3RyaW5nKGQsIHZhbHVlKTsKICAgICAgICBkLndyaXRlRG91YmxlKG5vZGVX ZWlnaHQpOwoKICAgIH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyB2b2lkIHJlYWRGaWVs ZHMoRGF0YUlucHV0IGRpKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIHZhbHVlID0g V3JpdGFibGVVdGlscy5yZWFkU3RyaW5nKGRpKTsKICAgICAgICBub2RlV2VpZ2h0ID0gZGku cmVhZExvbmcoKTsKCiAgICB9CgogICAgcHVibGljIHZvaWQgc2V0VmFsdWUoU3RyaW5nIHZh bHVlKSB7CiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyB2 b2lkIHNldE5vZGVXZWlnaHQoZG91YmxlIG5vZGVXZWlnaHQpIHsKICAgICAgICB0aGlzLm5v ZGVXZWlnaHQgPSBub2RlV2VpZ2h0OwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgZ2V0VmFs dWUoKSB7CiAgICAgICAgcmV0dXJuIHZhbHVlOwogICAgfQoKICAgIHB1YmxpYyBkb3VibGUg Z2V0Tm9kZVdlaWdodCgpIHsKICAgICAgICByZXR1cm4gbm9kZVdlaWdodDsKICAgIH0KCn0K --------------020304080707070105000606 Content-Type: text/plain; charset=windows-1253; name="KatzReduce.java" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="KatzReduce.java" LyoKICogVG8gY2hhbmdlIHRoaXMgbGljZW5zZSBoZWFkZXIsIGNob29zZSBMaWNlbnNlIEhl YWRlcnMgaW4gUHJvamVjdCBQcm9wZXJ0aWVzLgogKiBUbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0 ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXMKICogYW5kIG9wZW4gdGhlIHRlbXBs YXRlIGluIHRoZSBlZGl0b3IuCiAqLwpwYWNrYWdlIEZiX3BhY2thZ2U7CgppbXBvcnQgb3Jn LmFwYWNoZS5naXJhcGguZ3JhcGguQmFzaWNDb21wdXRhdGlvbjsKaW1wb3J0IG9yZy5hcGFj aGUuZ2lyYXBoLmdyYXBoLlZlcnRleDsKaW1wb3J0IG9yZy5hcGFjaGUuaGFkb29wLmlvLkRv dWJsZVdyaXRhYmxlOwppbXBvcnQgb3JnLmFwYWNoZS5oYWRvb3AuaW8uVGV4dDsKaW1wb3J0 IGphdmEuaW8uSU9FeGNlcHRpb247CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0OwppbXBv cnQgamF2YS51dGlsLkxpc3Q7CgovKioKICoKICogQGF1dGhvciB1c2VyCiAqLwpwdWJsaWMg Y2xhc3MgS2F0elJlZHVjZSBleHRlbmRzIEJhc2ljQ29tcHV0YXRpb248VGV4dCwgRmJHcmFw aFN0YXRlLCBEb3VibGVXcml0YWJsZSwgRmJHcmFwaE1lc3NhZ2U+IHsKCiAgICBAT3ZlcnJp ZGUKCiAgICBwdWJsaWMgdm9pZCBjb21wdXRlKAogICAgICAgICAgICBWZXJ0ZXg8VGV4dCwg RmJHcmFwaFN0YXRlLCBEb3VibGVXcml0YWJsZT4gdmVydGV4LAogICAgICAgICAgICBJdGVy YWJsZTxGYkdyYXBoTWVzc2FnZT4gbWVzc2FnZXMpIHRocm93cyBJT0V4Y2VwdGlvbiB7Cgog ICAgICAgIC8vIG5vZGVzIHRoYXQgaGF2ZSBubyBlZGdlcyBzZW5kIHRoZW1zZWx2ZXMgYSBt ZXNzYWdlIG9uIHRoZSBzdGVwIDAKICAgICAgICBpZiAoZ2V0U3VwZXJzdGVwKCkgPT0gMCAm JiAhdmVydGV4LmdldEVkZ2VzKCkuaXRlcmF0b3IoKS5oYXNOZXh0KCkpIHsKICAgICAgICAg ICAgdmVydGV4LnZvdGVUb0hhbHQoKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0K ICAgICAgICBpZiAoZ2V0U3VwZXJzdGVwKCkgPT0gMCkgewogICAgICAgICAgICBzZW5kTWVz c2FnZVRvQWxsRWRnZXModmVydGV4LCBuZXcgRmJHcmFwaE1lc3NhZ2UoMC41KSk7CiAgICAg ICAgICAgIHZlcnRleC52b3RlVG9IYWx0KCk7CiAgICAgICAgICAgIHJldHVybjsKCiAgICAg ICAgfQoKICAgICAgICBpZiAoZ2V0U3VwZXJzdGVwKCkKICAgICAgICAgICAgICAgID09IDEp IHsKICAgICAgICAgICAgZG91YmxlIHN1bSA9IDA7CiAgICAgICAgICAgIExpc3Q8VGV4dD4g bUVkZ2VzID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgICAgIGZvciAoRmJHcmFwaE1l c3NhZ2UgbWVzc2FnZSA6IG1lc3NhZ2VzKSB7CiAgICAgICAgICAgICAgICBzdW0gKz0gbWVz c2FnZS5nZXRLYXR6V2VpZ2h0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmVydGV4 LmdldFZhbHVlKCkuc2V0Tm9kZVdlaWdodCh2ZXJ0ZXguZ2V0VmFsdWUoKS5nZXROb2RlV2Vp Z2h0KCkgKyBzdW0pOwogICAgICAgICAgICBzZW5kTWVzc2FnZVRvQWxsRWRnZXModmVydGV4 LCBuZXcgRmJHcmFwaE1lc3NhZ2UoMC4yNSkpOwogICAgICAgICAgICB2ZXJ0ZXgudm90ZVRv SGFsdCgpOwogICAgICAgICAgICByZXR1cm47CgogICAgICAgIH0KCiAgICAgICAgaWYgKGdl dFN1cGVyc3RlcCgpID09IDIpIHsKICAgICAgICAgICAgZG91YmxlIHN1bSA9IDA7CiAgICAg ICAgICAgIExpc3Q8VGV4dD4gbUVkZ2VzID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAg ICAgIGZvciAoRmJHcmFwaE1lc3NhZ2UgbWVzc2FnZSA6IG1lc3NhZ2VzKSB7CiAgICAgICAg ICAgICAgICBzdW0gKz0gbWVzc2FnZS5nZXRLYXR6V2VpZ2h0KCk7CiAgICAgICAgICAgIH0K ICAgICAgICAgICAgdmVydGV4LmdldFZhbHVlKCkuc2V0Tm9kZVdlaWdodCh2ZXJ0ZXguZ2V0 VmFsdWUoKS5nZXROb2RlV2VpZ2h0KCkgKyBzdW0pOwogICAgICAgICAgICBzZW5kTWVzc2Fn ZVRvQWxsRWRnZXModmVydGV4LCBuZXcgRmJHcmFwaE1lc3NhZ2UoMC4xMjUpKTsKCiAgICAg ICAgICAgIHZlcnRleC52b3RlVG9IYWx0KCk7CiAgICAgICAgICAgIHJldHVybjsKCiAgICAg ICAgfQoKICAgICAgICBpZiAoZ2V0U3VwZXJzdGVwKCkgPT0gMykgewogICAgICAgICAgICBk b3VibGUgc3VtID0gMDsKICAgICAgICAgICAgZm9yIChGYkdyYXBoTWVzc2FnZSBtZXNzYWdl IDogbWVzc2FnZXMpIHsKICAgICAgICAgICAgICAgIHN1bSArPSBtZXNzYWdlLmdldEthdHpX ZWlnaHQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2ZXJ0ZXguZ2V0VmFsdWUoKS5z ZXROb2RlV2VpZ2h0KHZlcnRleC5nZXRWYWx1ZSgpLmdldE5vZGVXZWlnaHQoKSArIHN1bSk7 CgogICAgICAgICAgICBzZW5kTWVzc2FnZVRvQWxsRWRnZXModmVydGV4LCBuZXcgRmJHcmFw aE1lc3NhZ2UoMC4wNjIpKTsKCiAgICAgICAgICAgIHZlcnRleC52b3RlVG9IYWx0KCk7CiAg ICAgICAgICAgIHJldHVybjsKCiAgICAgICAgfQoKICAgICAgICBpZiAoZ2V0U3VwZXJzdGVw KCkgPT0gNCkgewogICAgICAgICAgICBkb3VibGUgc3VtID0gMDsKICAgICAgICAgICAgZm9y IChGYkdyYXBoTWVzc2FnZSBtZXNzYWdlIDogbWVzc2FnZXMpIHsKICAgICAgICAgICAgICAg IHN1bSArPSBtZXNzYWdlLmdldEthdHpXZWlnaHQoKTsKICAgICAgICAgICAgfQogICAgICAg ICAgICB2ZXJ0ZXguZ2V0VmFsdWUoKS5zZXROb2RlV2VpZ2h0KHZlcnRleC5nZXRWYWx1ZSgp LmdldE5vZGVXZWlnaHQoKSArIHN1bSk7CiAgICAgICAgICAgIHNlbmRNZXNzYWdlVG9BbGxF ZGdlcyh2ZXJ0ZXgsIG5ldyBGYkdyYXBoTWVzc2FnZSgwLjAzMSkpOwoKICAgICAgICAgICAg dmVydGV4LnZvdGVUb0hhbHQoKTsKICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICB9Cgog ICAgICAgIGlmIChnZXRTdXBlcnN0ZXAoKQogICAgICAgICAgICAgICAgPT0gNSkgewogICAg ICAgICAgICBkb3VibGUgc3VtID0gMDsKICAgICAgICAgICAgZm9yIChGYkdyYXBoTWVzc2Fn ZSBtZXNzYWdlIDogbWVzc2FnZXMpIHsKICAgICAgICAgICAgICAgIHN1bSArPSBtZXNzYWdl LmdldEthdHpXZWlnaHQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2ZXJ0ZXguZ2V0 VmFsdWUoKS5zZXROb2RlV2VpZ2h0KHZlcnRleC5nZXRWYWx1ZSgpLmdldE5vZGVXZWlnaHQo KSArIHN1bSk7CiAgICAgICAgICAgIHNlbmRNZXNzYWdlVG9BbGxFZGdlcyh2ZXJ0ZXgsIG5l dyBGYkdyYXBoTWVzc2FnZSgwLjAxNSkpOwogICAgICAgICAgICB2ZXJ0ZXgudm90ZVRvSGFs dCgpOwogICAgICAgICAgICByZXR1cm47CgogICAgICAgIH0KICAgICAgICAgaWYgKGdldFN1 cGVyc3RlcCgpCiAgICAgICAgICAgICAgICA+IDUpIHsKICAgICAgICAgICAgZG91YmxlIHN1 bSA9IDA7CiAgICAgICAgICAgIGZvciAoRmJHcmFwaE1lc3NhZ2UgbWVzc2FnZSA6IG1lc3Nh Z2VzKSB7CiAgICAgICAgICAgICAgICBzdW0gKz0gbWVzc2FnZS5nZXRLYXR6V2VpZ2h0KCk7 CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmVydGV4LmdldFZhbHVlKCkuc2V0Tm9kZVdl aWdodCh2ZXJ0ZXguZ2V0VmFsdWUoKS5nZXROb2RlV2VpZ2h0KCkgKyBzdW0pOwogICAgICAg ICAgICB2ZXJ0ZXgudm90ZVRvSGFsdCgpOwogICAgICAgICAgICByZXR1cm47CgogICAgICAg IH0KICAgIH0KfQo= --------------020304080707070105000606--