You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(7) |
Aug
|
Sep
(46) |
Oct
(102) |
Nov
(10) |
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(1) |
Feb
(3) |
Mar
(14) |
Apr
(9) |
May
(12) |
Jun
(4) |
Jul
(40) |
Aug
(60) |
Sep
(38) |
Oct
(2) |
Nov
(1) |
Dec
(42) |
2008 |
Jan
(23) |
Feb
(29) |
Mar
(107) |
Apr
(27) |
May
(3) |
Jun
(1) |
Jul
(15) |
Aug
(7) |
Sep
(19) |
Oct
|
Nov
(2) |
Dec
|
2009 |
Jan
(36) |
Feb
(4) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(15) |
Jul
(30) |
Aug
(32) |
Sep
(11) |
Oct
(21) |
Nov
(12) |
Dec
(15) |
2010 |
Jan
(29) |
Feb
(9) |
Mar
(25) |
Apr
|
May
(7) |
Jun
(5) |
Jul
(21) |
Aug
(32) |
Sep
(10) |
Oct
(8) |
Nov
(29) |
Dec
(8) |
2011 |
Jan
(9) |
Feb
(35) |
Mar
(11) |
Apr
(4) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(30) |
2012 |
Jan
(5) |
Feb
(7) |
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
Revision: 529 http://cishell.svn.sourceforge.net/cishell/?rev=529&view=rev Author: mwlinnem Date: 2007-09-17 10:41:07 -0700 (Mon, 17 Sep 2007) Log Message: ----------- Expanded explanation for non-tested converters. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-17 17:37:12 UTC (rev 528) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-17 17:41:07 UTC (rev 529) @@ -114,6 +114,10 @@ report.println("a file format, go through some converters, return back to"); report.println("that same file format, and can then be somehow converted"); report.println("to the in-memory graph comparison format (prefuse.graph)"); + report.println("It is also possible that all the file passes that would"); + report.println("eventually pass through this converter are failing before"); + report.println("they reach this converter."); + report.println(""); report.println("Consult the Annotated Graph Report for details on why this"); report.println("may not be testable."); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2007-09-17 17:37:14
|
Revision: 528 http://cishell.svn.sourceforge.net/cishell/?rev=528&view=rev Author: mwlinnem Date: 2007-09-17 10:37:12 -0700 (Mon, 17 Sep 2007) Log Message: ----------- Not tested is now treated as a different category from not trusted. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java 2007-09-17 17:26:25 UTC (rev 527) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java 2007-09-17 17:37:12 UTC (rev 528) @@ -105,13 +105,15 @@ for (int ii = 0; ii < trustedConvs.size(); ii++) { ConvResult cr = (ConvResult) trustedConvs.get(ii); - //add this converters name to all convs report - report.println(" " + cr.getShortName()); + if (cr.wasTested()) { + //add this converters name to all convs report + report.println(" " + cr.getShortName()); - //generate corresponding sub-report - this.convSubGen.generate(cr); - ConvReport convReport = this.convSubGen.getConvReport(); - convReportsList.add(convReport); + //generate corresponding sub-report + this.convSubGen.generate(cr); + ConvReport convReport = this.convSubGen.getConvReport(); + convReportsList.add(convReport); + } } report.println(""); @@ -119,14 +121,30 @@ for (int ii = 0; ii < nonTrustedConvs.size(); ii++) { ConvResult cr = (ConvResult) nonTrustedConvs.get(ii); - //add this converters name to all convs report - report.println(" " + cr.getShortName()); + if (cr.wasTested()) { + //add this converters name to all convs report + report.println(" " + cr.getShortName()); - //generate corresponding sub-report - this.convSubGen.generate(cr); - ConvReport convReport = this.convSubGen.getConvReport(); - convReportsList.add(convReport); + //generate corresponding sub-report + this.convSubGen.generate(cr); + ConvReport convReport = this.convSubGen.getConvReport(); + convReportsList.add(convReport); + } + } + + report.println(""); + + report.println("Untested Converters..."); + for (int ii = 0; ii < convResults.length; ii++) { + ConvResult cr = convResults[ii]; + if (! cr.wasTested()) { + report.println(" " + cr.getShortName()); + + this.convSubGen.generate(cr); + ConvReport convReport = this.convSubGen.getConvReport(); + convReportsList.add(convReport); + } } report.println(""); Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-17 17:26:25 UTC (rev 527) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-17 17:37:12 UTC (rev 528) @@ -119,7 +119,7 @@ } this.convReport = new ConvReport(reportFile, new TestReport[0], - cr.getShortNameWithTrust()); + cr.getShortNameWithStatus()); report.println(""); report.flush(); Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java 2007-09-17 17:26:25 UTC (rev 527) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java 2007-09-17 17:37:12 UTC (rev 528) @@ -169,9 +169,11 @@ return this.conv.getShortName(); } - public String getShortNameWithTrust() { + public String getShortNameWithStatus() { String nameNoPackageWithTrust = " - " + getShortName() ; - if (isTrusted()) { + if (! wasTested()) { + nameNoPackageWithTrust = "Not Tested" + nameNoPackageWithTrust; + } else if (isTrusted()) { nameNoPackageWithTrust = "Trusted" + nameNoPackageWithTrust; } else { nameNoPackageWithTrust = "Not Trusted" + nameNoPackageWithTrust; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 527 http://cishell.svn.sourceforge.net/cishell/?rev=527&view=rev Author: mwlinnem Date: 2007-09-17 10:26:25 -0700 (Mon, 17 Sep 2007) Log Message: ----------- Added .mat test files that are actually valid, and removed the invalid one. Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons1.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons2.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons3.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons4.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons5.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons6.mat Removed Paths: ------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/WorldCities.mat Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons1.mat =================================================================== Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons2.mat =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons2.mat (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons2.mat 2007-09-17 17:26:25 UTC (rev 527) @@ -0,0 +1,29 @@ +*network Baboon1bin Baboon grooming relations at t1 / binary +% Baboons H22A / binary +% aug 18, 1998 +*vertices 12 + 1 f1 + 2 m1 + 3 f2 + 4 f3 + 5 m2 + 6 f4 + 7 m3 + 8 f5 + 9 m4 +10 f6 +11 f7 +12 m5 +*matrix + 0 1 0 1 1 0 0 0 0 0 1 1 + 1 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 1 1 1 0 0 1 1 1 + 1 0 1 0 1 1 1 0 0 1 0 1 + 1 0 1 1 0 1 0 1 0 0 0 0 + 0 0 1 1 1 0 0 0 0 1 0 1 + 0 0 1 1 0 0 0 1 0 0 0 0 + 0 0 0 0 1 0 1 0 1 1 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 + 0 0 1 1 0 1 0 1 0 0 0 0 + 1 0 1 0 0 0 0 0 0 0 0 0 + 1 0 1 1 0 1 0 0 0 0 0 0 \ No newline at end of file Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons3.mat =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons3.mat (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons3.mat 2007-09-17 17:26:25 UTC (rev 527) @@ -0,0 +1,16 @@ +*partition H22Agender +% Baboons H22A / gender partition +% 1 - female; 2 - male +*vertices 12 +1 +2 +1 +1 +2 +1 +2 +1 +2 +1 +1 +2 \ No newline at end of file Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons4.mat =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons4.mat (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons4.mat 2007-09-17 17:26:25 UTC (rev 527) @@ -0,0 +1,34 @@ +*network Baboon2: Baboon grooming relations at t2 +% Baboon colony/H22b; 50 / 0 0 1 1 1 1 0 0 0 0 0 0 0 0 +% Stephenson & Zelen, Social Networks 11(1989),1-37 +% STRAN 21. feb 1993; Pajek: 1. jan 2007 +*vertices 14 + 1 "FadultD" + 2 "M2year" + 3 "Fadult" + 4 "Fadult" + 5 "MadultL" + 6 "F3year" + 7 "M3yearF" + 8 "Fadult" + 9 "M1year" + 10 "F3year" + 11 "F2year" + 12 "M1year" + 13 "M1year" + 14 "FadultN" +*matrix + 0 11 0 1 1 0 2 2 0 0 0 0 0 14 + 11 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 21 0 14 0 0 0 0 0 2 3 0 + 1 0 21 0 6 0 0 0 0 1 0 19 0 0 + 1 0 0 6 0 0 0 0 0 0 0 0 0 51 + 0 0 14 0 0 0 0 0 0 3 0 5 4 3 + 2 0 0 0 0 0 0 31 0 0 0 0 0 0 + 2 0 0 0 0 0 31 0 3 2 1 0 0 1 + 0 0 0 0 0 0 0 3 0 0 0 0 0 0 + 0 0 0 1 0 3 0 2 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 2 19 0 5 0 0 0 0 0 0 0 0 + 0 0 3 0 0 4 0 0 0 0 0 0 0 0 + 14 0 0 0 51 3 0 1 0 0 0 0 0 0 \ No newline at end of file Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons5.mat =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons5.mat (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons5.mat 2007-09-17 17:26:25 UTC (rev 527) @@ -0,0 +1,33 @@ +*network Baboon2bin: Baboon grooming relations at t2 +% Baboons H22B / binary +% aug 18, 1998 +*vertices 14 + 1 f1 + 2 m1 + 3 f2 + 4 f3 + 5 m2 + 6 f4 + 7 m3 + 8 f5 + 9 m4 +10 f6 +11 f7 +12 m5 +13 m6 +14 f8 +*matrix + 0 1 0 1 1 0 1 1 0 0 0 0 0 1 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 0 1 0 0 0 0 0 1 1 0 + 1 0 1 0 1 0 0 0 0 1 0 1 0 0 + 1 0 0 1 0 0 0 0 0 0 0 0 0 1 + 0 0 1 0 0 0 0 0 0 1 0 1 1 1 + 1 0 0 0 0 0 0 1 0 0 0 0 0 0 + 1 0 0 0 0 0 1 0 1 1 1 0 0 1 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 0 1 0 1 0 1 0 0 0 0 0 0 + 0 0 0 0 0 0 0 1 0 0 0 0 0 0 + 0 0 1 1 0 1 0 0 0 0 0 0 0 0 + 0 0 1 0 0 1 0 0 0 0 0 0 0 0 + 1 0 0 0 1 1 0 1 0 0 0 0 0 0 \ No newline at end of file Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons6.mat =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons6.mat (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/Baboons6.mat 2007-09-17 17:26:25 UTC (rev 527) @@ -0,0 +1,18 @@ +*partition H22Bgender +% Baboons H22B / gender partition +% 1 - female; 2 - male +*vertices 14 +1 +2 +1 +1 +2 +1 +2 +1 +2 +1 +1 +2 +2 +1 \ No newline at end of file Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/WorldCities.mat =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/WorldCities.mat 2007-09-17 17:25:54 UTC (rev 526) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/WorldCities.mat 2007-09-17 17:26:25 UTC (rev 527) @@ -1,735 +0,0 @@ -% World Cities and Services - two-mode network -% http://www.lboro.ac.uk/gawc/datasets/da11.html -% Transformed in Pajek format by V. Batagelj, March 20, 2006 -*vertices 415 315 - 1 "Aberdeen" - 2 "Abijan" - 3 "Abu Dhabi" - 4 "Accra" - 5 "Addis Ababa" - 6 "Adelaide" - 7 "Ahmadabad" - 8 "Alexandria" - 9 "Algiers" - 10 "Almaty" - 11 "Amman" - 12 "Amsterdam" - 13 "Ankara" - 14 "Antwerp" - 15 "Arhus" - 16 "Asuncion" - 17 "Athens" - 18 "Atlanta" - 19 "Auckland" - 20 "Baghdad" - 21 "Baku" - 22 "Baltimore" - 23 "Banda Seri Begawan" - 24 "Bandung" - 25 "Bangalore" - 26 "Bangkok" - 27 "Barcelona" - 28 "Basel" - 29 "Batam" - 30 "Beijing" - 31 "Beirut" - 32 "Belfast" - 33 "Belgrade" - 34 "Belo Horizonte" - 35 "Bergen" - 36 "Berlin" - 37 "Bern" - 38 "Bilbao" - 39 "Birmingham" - 40 "Bogota" - 41 "Bologna" - 42 "Bonn" - 43 "Bordeaux" - 44 "Boston" - 45 "Bratislava" - 46 "Brazilia" - 47 "Brazzaville" - 48 "Brisbane" - 49 "Bristol" - 50 "Brussels" - 51 "Bucharest" - 52 "Budapest" - 53 "Buenos Aires" - 54 "Buffalo" - 55 "Bulawayo" - 56 "Cairo" - 57 "Calcutta" - 58 "Calgary" - 59 "Canberra" - 60 "Cape Town" - 61 "Caracas" - 62 "Cardiff" - 63 "Casablanca" - 64 "Charlotte" - 65 "Chennai" - 66 "Chicago" - 67 "Christchurch" - 68 "Cincinnatti" - 69 "Ciudad Juarez" - 70 "Cleveland" - 71 "Cologne" - 72 "Colombo" - 73 "Columbus" - 74 "Conakry" - 75 "Copenhagen" - 76 "Curitiba" - 77 "Dakar" - 78 "Dalian" - 79 "Dallas" - 80 "Damascus" - 81 "Dar Es Salaam" - 82 "Denver" - 83 "Detroit" - 84 "Dhaka" - 85 "Djibouti" - 86 "Doha" - 87 "Dortmund" - 88 "Douala" - 89 "Dresden" - 90 "Dubai" - 91 "Dublin" - 92 "Durban" - 93 "Dusseldorf" - 94 "Edinburgh" - 95 "Edmonton" - 96 "Essen" - 97 "Frankfurt" - 98 "Freetown" - 99 "Gaborone" -100 "Geneva" -101 "Genoa" -102 "Georgetown" -103 "Glasgow" -104 "Gothenburg" -105 "Grenoble" -106 "Guadalajara" -107 "Guangzhou" -108 "Guatemala City" -109 "Guayaquil" -110 "Hamburg" -111 "Hamilton" -112 "Hannover" -113 "Hanoi" -114 "Harare" -115 "Hartford" -116 "Havana" -117 "Helsinki" -118 "Ho Chi Minh City" -119 "Hobart" -120 "Hong Kong" -121 "Honolulu" -122 "Houston" -123 "Hyderabad" -124 "Indianapolis" -125 "Islamabad" -126 "Istanbul" -127 "Jaipur" -128 "Jakarta" -129 "Jeddah" -130 "Jerusalem" -131 "Johannesburg" -132 "Kabul" -133 "Kampala" -134 "Kansas City" -135 "Karachi" -136 "Kawasaki" -137 "Khartoum" -138 "Kiev" -139 "Kingston" -140 "Kinshasa" -141 "Kobe" -142 "Krakow" -143 "Kuala Lumpur" -144 "Kuwait" -145 "Kyoto" -146 "La Paz" -147 "Labuan" -148 "Lagos" -149 "Lahore" -150 "Las Vegas" -151 "Lausanne" -152 "Leeds" -153 "Leipzig" -154 "Liege" -155 "Lille" -156 "Lima" -157 "Limassol" -158 "Linz" -159 "Lisbon" -160 "Liverpool" -161 "Ljubljana" -162 "Lome" -163 "London" -164 "Los Angeles" -165 "Luanda" -166 "Lucknow" -167 "Lusaka" -168 "Luxembourg" -169 "Lyon" -170 "Macau" -171 "Madrid" -172 "Mainz" -173 "Malacca" -174 "Malmo" -175 "Managua" -176 "Manama" -177 "Manaus" -178 "Manchester" -179 "Manila" -180 "Mannheim" -181 "Maputu" -182 "Marseille" -183 "Medan" -184 "Medellin" -185 "Melbourne" -186 "Mexico City" -187 "Miami" -188 "Milan" -189 "Minneapolis" -190 "Minsk" -191 "Mombasa" -192 "Monrovia" -193 "Monterrey" -194 "Montevideo" -195 "Montreal" -196 "Moscow" -197 "Mumbai" -198 "Munich" -199 "Nagoya" -200 "Nairobi" -201 "Nanjing" -202 "Naples" -203 "Nassau" -204 "New Delhi" -205 "New Orleans" -206 "New York" -207 "Newcastle" -208 "Nicosia" -209 "Norwich" -210 "Nottingham" -211 "Nuremberg" -212 "Omaha" -213 "Osaka" -214 "Oslo" -215 "Ottawa" -216 "Palermo" -217 "Palo Alto" -218 "Panama City" -219 "Paris" -220 "Penang" -221 "Perth" -222 "Philadelphia" -223 "Phoenix" -224 "Pittsburg" -225 "Plymouth" -226 "Port Louis" -227 "Port Moresby" -228 "Port Of Spain" -229 "Port-Au-Prince" -230 "Portland" -231 "Porto Alegre" -232 "Prague" -233 "Pretoria" -234 "Pusan" -235 "Pyongyang" -236 "Quebec" -237 "Quito" -238 "Rabat" -239 "Rawalpindi" -240 "Recife" -241 "Reykjavik" -242 "Richmond" -243 "Riga" -244 "Rio De Janeiro" -245 "Riyadh" -246 "Rochester" -247 "Rome" -248 "Rotterdam" -249 "Ruwi" -250 "Sacramento" -251 "Salvador" -252 "San Diego" -253 "San Francisco" -254 "San Jose (Ca)" -255 "San Jose (Cr)" -256 "San Salvador" -257 "Sanaa" -258 "Santiago" -259 "Santo Domingo" -260 "Sao Paulo" -261 "Sarajevo" -262 "Seattle" -263 "Seoul" -264 "Seville" -265 "Shanghai" -266 "Sheffield" -267 "Shenzen" -268 "Singapore" -269 "Sofia" -270 "Southampton" -271 "St Louis" -272 "St Petersburg" -273 "Stockholm" -274 "Strasbourg" -275 "Stuttgart" -276 "Suva" -277 "Sydney" -278 "Taipei" -279 "Tallin" -280 "Tampa" -281 "Tashkent" -282 "Tbilisi" -283 "Tegucigalpa" -284 "Tehran" -285 "Tel Aviv" -286 "The Hague" -287 "Tianjin" -288 "Tijuana" -289 "Tirana" -290 "Tokyo" -291 "Toronto" -292 "Trieste" -293 "Tripoli" -294 "Tunis" -295 "Turin" -296 "Ulan Bator" -297 "Utrecht" -298 "Valencia" -299 "Vancouver" -300 "Venice" -301 "Vienna" -302 "Vilnius" -303 "Warsaw" -304 "Washington" -305 "Wellington" -306 "Wilmington" -307 "Windhoek" -308 "Winnipeg" -309 "Xiamen" -310 "Yangon" -311 "Yaonde" -312 "Yerevan" -313 "Yokohama" -314 "Zagreb" -315 "Zurich" -316 "Ernst & Young" -317 "Arthur Andersen" -318 "MSI" -319 "IGAF" -320 "AGN" -321 "BDO" -322 "Grant Thornton" -323 "Horwath" -324 "KPMG" -325 "Summit & Baker" -326 "RSM" -327 "Moores Rowland" -328 "HLB" -329 "Moore Stephens" -330 "Nexia" -331 "PKF" -332 "Fiducial" -333 "PWC" -334 "Impiric" -335 "TMP" -336 "Hakuhodo" -337 "Draft Worldwide" -338 "Densu Y & R" -339 "D'Arcy" -340 "FCB" -341 "Saatchi & Saatchi" -342 "O&M" -343 "BBDO" -344 "McCann Erickson" -345 "J Walter Thompson" -346 "Euro RSCG" -347 "CMG" -348 "Asatsu DK" -349 "West LB" -350 "Dresdner" -351 "Commerzbank" -352 "Deutsche" -353 "Chase" -354 "BNP Paribas" -355 "ABN Amro" -356 "CSFB" -357 "Rabobank" -358 "UBS" -359 "ING" -360 "Barclays" -361 "Fuji" -362 "BHV" -363 "BLG" -364 "Sakura" -365 "Sumitomo" -366 "Sanwa" -367 "JP Morgan" -368 "BTM" -369 "DKB" -370 "HSBC" -371 "Citibank" -372 "Allianz" -373 "Skandia" -374 "Chubb" -375 "Prudential" -376 "Reliance" -377 "Winterthur" -378 "Fortis" -379 "CGNU" -380 "Liberty" -381 "Royal & Sun" -382 "Lloyds" -383 "Latham & Watkins" -384 "Morgan Lewis" -385 "Baker & McKenzie" -386 "Clifford Chance" -387 "Jones Day" -388 "FBD" -389 "Allen & Overy" -390 "Dorsey & Whitney" -391 "Linklaters" -392 "White & Case" -393 "Cameron McKenna" -394 "Morrison & Foerster" -395 "Lovells" -396 "Skadden" -397 "Sidley & Austin" -398 "Coudert" -399 "Towers Perrin" -400 "Logica" -401 "Watson Wyatt" -402 "Sema" -403 "CSC" -404 "Hewitt" -405 "IBM" -406 "Mercer" -407 "Boston" -408 "Deloitte" -409 "BoozeA&M" -410 "A.T. Kearney" -411 "McKinsey" -412 "Bain" -413 "Compass" -414 "Andersen Consulting" -415 "Gemini -*matrix - 2 0 0 0 0 0 0 2 2 0 0 2 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 3 0 0 0 0 0 0 0 2 0 0 0 2 0 0 2 0 2 0 0 0 0 2 0 2 2 0 0 2 0 0 0 0 0 2 0 0 0 4 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 0 0 2 0 0 2 2 0 2 0 2 0 0 2 2 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 3 0 0 0 0 2 0 0 2 0 0 2 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 2 0 - 0 0 0 0 0 0 2 0 2 0 0 2 2 0 0 2 0 2 0 0 0 0 0 0 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 2 2 2 3 2 0 0 2 2 0 3 2 2 2 2 2 0 2 2 2 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 1 2 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 2 0 0 0 0 0 0 0 2 2 2 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 2 2 2 0 0 2 0 0 0 2 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 2 0 0 2 0 3 0 2 2 0 0 2 0 0 2 3 2 2 0 0 0 0 0 0 2 2 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 0 0 0 0 0 0 - 2 2 0 0 2 2 2 5 5 0 2 3 3 3 2 2 2 3 3 2 2 2 3 3 2 2 3 3 3 3 2 2 2 2 0 2 2 2 2 5 2 2 0 5 3 2 2 0 0 0 2 0 2 2 3 2 3 0 0 0 3 3 4 0 0 2 0 0 0 4 3 0 3 4 0 3 0 2 0 0 0 0 0 3 2 2 2 0 2 3 0 2 0 2 2 4 1 0 2 0 - 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 2 0 2 0 2 0 0 3 2 0 0 3 3 2 0 2 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 2 3 0 0 2 0 3 0 2 0 0 0 0 0 0 0 0 0 0 0 2 2 0 2 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 - 2 2 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 2 2 2 0 2 2 0 2 2 0 0 2 0 0 2 0 0 0 0 0 2 0 0 0 2 2 2 0 0 0 0 2 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 0 2 0 0 2 2 2 2 2 0 2 2 0 2 0 2 2 2 2 0 0 0 2 2 4 0 2 4 3 2 0 0 0 0 3 0 2 2 4 3 0 0 0 2 2 0 2 0 0 2 0 0 0 0 3 3 3 0 0 0 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 0 0 0 0 2 0 - 3 3 2 3 2 0 1 2 3 0 3 3 2 2 0 2 0 2 0 3 0 0 0 0 2 0 2 2 3 3 0 2 0 0 0 2 2 3 0 2 2 2 0 3 2 0 0 0 0 2 0 2 2 0 0 3 0 0 2 0 0 2 1 3 3 0 2 0 0 0 0 3 2 0 0 2 0 0 0 0 0 0 0 3 0 2 3 0 2 0 0 2 0 2 2 2 3 2 2 0 - 2 2 0 2 2 0 2 3 3 2 2 2 3 3 0 3 2 2 2 2 0 2 3 0 2 2 2 3 3 2 0 2 0 0 0 0 2 0 2 2 2 2 0 2 2 0 0 0 0 2 0 0 2 0 3 2 2 0 0 0 0 1 0 3 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 2 2 2 0 2 0 0 2 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 2 0 0 1 0 3 0 0 2 3 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 1 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 - 2 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 1 0 0 0 2 0 2 2 2 2 0 2 0 2 2 0 0 2 3 0 2 0 2 2 2 3 2 0 0 0 0 0 2 0 2 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 - 0 0 2 0 1 2 2 3 3 0 2 2 2 2 2 2 0 2 0 0 3 2 3 2 2 2 2 2 2 0 0 0 3 2 0 2 2 2 3 0 2 3 0 3 2 3 0 2 3 3 3 2 4 3 2 2 2 0 2 2 0 1 2 3 0 2 0 0 0 3 2 0 0 2 0 2 2 0 0 0 0 0 2 0 0 2 0 0 2 3 0 2 2 2 0 2 0 0 2 0 - 2 2 2 2 2 0 0 2 2 0 2 3 3 2 2 2 3 2 2 3 0 0 2 2 2 0 2 3 3 3 0 0 0 0 0 2 4 2 0 2 0 2 0 0 2 0 0 0 0 2 0 0 2 0 2 2 2 0 2 0 3 3 0 3 0 3 0 0 0 2 3 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 2 2 0 2 2 2 - 2 2 0 0 2 0 0 0 2 0 2 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 1 2 2 2 0 2 2 2 2 2 0 0 2 2 0 2 0 3 2 2 2 2 2 2 2 2 0 4 2 3 2 2 3 2 2 2 2 0 3 3 2 2 3 2 3 2 2 2 2 2 0 2 0 2 0 0 2 2 2 0 0 0 0 0 2 2 0 2 1 0 0 0 2 2 2 2 0 0 0 2 2 3 0 2 2 2 0 0 0 2 2 2 0 2 0 - 2 2 0 2 2 2 2 4 2 0 2 2 3 0 2 2 2 2 0 0 0 0 2 2 2 2 2 2 2 2 0 0 0 0 2 2 0 2 0 2 0 0 0 2 0 0 0 0 0 2 0 0 0 0 2 2 2 0 0 0 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 2 0 0 0 0 0 0 - 2 0 0 0 1 0 0 2 2 0 2 2 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 2 2 0 0 0 0 0 2 2 0 2 0 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 2 2 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 2 2 0 0 3 3 0 2 4 2 0 0 3 2 3 0 0 0 0 0 0 2 0 0 2 0 0 2 0 0 2 2 3 4 2 0 2 0 0 2 2 2 0 3 3 0 0 0 0 2 0 2 3 2 3 0 0 0 3 2 0 0 0 0 0 0 2 3 0 2 0 0 3 2 2 0 2 0 0 2 0 0 0 0 0 0 0 0 2 0 0 2 2 0 0 2 2 - 2 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 0 0 0 0 2 0 2 2 0 2 0 0 3 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 3 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 - 2 2 0 0 2 0 0 2 2 3 3 0 3 2 0 2 0 2 0 3 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 2 0 0 0 2 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 2 0 1 2 2 2 2 0 2 2 2 2 2 2 0 2 0 2 0 0 0 2 2 0 2 2 3 2 0 0 0 2 3 0 2 2 2 4 0 0 0 2 3 2 0 0 0 0 0 0 2 0 0 3 0 3 2 0 0 1 0 0 2 3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 2 0 0 2 2 0 2 0 0 2 0 - 0 3 0 2 0 0 0 0 2 0 0 0 3 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 3 0 3 1 2 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 3 2 3 3 0 0 1 0 3 2 0 3 2 2 2 2 0 2 0 2 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 2 3 0 2 2 0 0 0 2 0 0 0 0 0 0 2 3 0 0 3 0 0 2 0 2 3 2 4 5 2 3 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 3 0 3 2 0 2 5 0 2 2 2 5 0 2 2 - 3 2 0 2 2 2 2 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 2 0 2 0 2 2 2 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 2 2 2 0 0 0 0 0 0 0 0 0 2 0 2 0 0 2 0 0 0 0 0 2 0 - 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 2 0 0 0 0 0 2 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 2 3 3 0 0 2 2 0 3 3 2 2 2 2 0 2 0 2 0 0 2 0 0 0 0 3 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 2 2 0 0 0 2 2 0 0 0 0 0 1 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 - 2 2 0 0 0 0 0 0 2 2 3 0 2 2 2 2 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 2 3 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 2 5 2 3 2 0 3 2 2 2 0 0 3 2 1 2 0 3 2 2 3 2 2 3 3 3 0 2 0 4 3 3 3 2 4 2 0 0 0 3 2 0 0 0 2 3 2 3 2 0 2 3 4 0 2 0 0 3 5 2 0 2 2 0 2 2 3 2 4 1 2 4 3 2 2 2 2 0 3 2 2 2 3 0 2 3 0 2 3 0 2 2 3 0 2 2 - 0 0 0 0 0 2 2 2 2 0 3 0 2 2 0 0 0 2 0 0 0 0 2 2 2 2 2 2 2 3 0 0 0 0 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 2 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 2 - 2 2 0 2 2 0 2 2 3 0 3 0 4 2 2 2 0 2 2 0 0 0 3 2 2 2 2 2 2 2 0 0 0 3 3 2 2 0 3 4 2 2 0 0 2 0 2 3 0 2 0 0 0 0 0 2 2 0 0 0 0 3 0 0 0 0 0 0 0 2 2 0 2 1 0 2 2 3 0 2 0 0 2 0 0 0 0 0 2 2 0 2 2 0 2 2 0 0 2 0 - 2 2 0 2 2 4 2 3 2 0 2 2 2 2 2 2 2 2 3 2 0 0 3 2 2 2 2 2 2 3 0 2 0 4 3 2 2 2 0 0 2 2 0 3 3 0 2 0 0 0 0 2 2 2 2 3 2 0 2 0 4 3 0 0 2 2 0 0 0 3 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 2 3 0 2 2 2 2 2 2 2 4 0 0 2 0 - 2 0 0 0 0 0 0 0 2 0 3 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 2 0 0 2 0 2 0 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 2 3 2 2 2 2 2 2 2 2 0 2 2 2 2 0 0 0 0 2 2 2 2 2 2 2 2 0 0 0 0 2 2 2 2 3 2 2 0 2 0 3 0 0 0 0 3 0 0 2 0 2 2 2 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 0 0 0 3 2 0 0 2 0 2 2 0 2 0 0 0 3 0 0 0 0 3 0 2 0 2 2 2 3 2 0 0 0 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 2 0 4 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 0 0 0 2 2 0 0 3 0 0 2 0 0 2 0 2 0 0 2 0 0 0 2 2 3 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 2 0 0 3 0 0 0 2 0 0 1 0 2 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 2 2 0 0 0 0 0 0 0 0 2 0 0 - 2 0 0 0 1 0 0 0 2 0 2 2 2 0 2 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 - 2 2 0 3 2 0 0 2 2 0 2 3 3 2 2 2 0 2 0 0 0 0 0 0 3 2 2 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 - 0 2 0 2 1 2 2 2 2 0 2 2 2 2 2 2 0 1 2 2 0 0 3 2 2 2 0 2 2 2 0 0 0 2 2 0 2 2 2 0 0 0 0 2 3 0 0 0 0 0 0 2 2 2 2 2 2 0 2 0 0 1 0 0 2 2 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0 0 2 2 2 2 0 0 2 0 - 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 2 2 0 0 0 0 2 2 0 2 2 3 2 0 0 0 0 2 2 0 2 2 0 2 2 0 0 0 0 0 2 0 0 0 3 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 0 2 2 0 0 2 3 0 3 2 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 2 0 2 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 2 0 0 0 0 0 0 2 0 0 2 0 - 2 2 2 0 0 0 0 0 2 0 0 2 2 0 0 0 2 2 2 0 0 0 3 0 2 0 2 2 2 3 2 0 0 0 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 5 2 2 2 2 5 2 3 2 3 2 4 0 2 2 4 2 3 3 0 5 0 2 3 0 2 2 2 3 2 2 0 2 2 3 3 2 2 2 2 2 3 2 3 3 0 0 4 3 2 4 3 4 2 3 0 0 4 3 2 3 2 3 3 2 3 3 0 5 0 4 0 0 0 0 0 0 0 2 3 5 0 3 0 2 0 0 5 0 2 2 0 2 5 4 3 2 5 0 - 2 0 0 2 1 0 0 2 2 0 0 2 2 2 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 2 0 0 1 0 3 0 0 2 2 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 0 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 - 2 2 0 0 0 0 0 0 2 0 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 0 0 1 0 3 2 0 4 0 2 2 0 0 2 0 2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 2 1 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 2 0 2 0 0 2 2 2 0 0 2 0 - 0 2 0 0 3 0 0 0 3 0 0 3 2 0 0 2 2 2 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 3 2 2 3 0 0 2 0 0 0 2 0 0 2 2 0 0 0 0 0 0 0 2 2 0 0 0 3 1 2 0 0 0 0 0 0 0 0 0 2 0 0 3 0 0 0 0 0 0 0 2 0 0 3 2 0 0 0 0 0 0 0 2 0 0 0 2 - 0 0 0 0 0 0 2 0 2 0 0 0 2 2 2 0 0 2 0 0 0 0 0 0 2 0 2 0 2 2 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 0 0 0 0 - 2 2 0 2 2 0 0 0 3 0 3 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 2 3 3 2 2 2 3 0 2 2 3 4 2 3 2 2 2 0 0 0 3 2 2 2 3 3 4 2 2 0 0 1 2 3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 2 0 0 3 2 0 0 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 0 0 0 2 2 2 2 2 0 0 2 2 - 2 2 0 0 0 0 0 2 2 0 0 0 2 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 3 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 2 0 0 2 3 2 0 2 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 2 2 3 0 3 2 0 2 0 0 0 2 0 3 0 0 0 0 2 0 2 0 2 2 0 2 0 0 0 0 2 2 2 2 0 2 2 0 0 0 0 0 0 0 0 3 2 0 2 3 0 0 4 0 2 3 2 3 0 3 0 0 0 2 0 4 0 0 0 0 0 0 0 0 0 3 0 2 2 2 0 0 2 0 2 2 0 2 2 2 3 0 2 0 - 0 2 0 0 1 0 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 0 0 0 0 1 3 3 0 0 3 3 0 0 2 0 2 0 2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 2 0 2 0 0 0 2 0 0 0 0 0 2 0 2 0 0 2 3 0 0 2 2 2 0 0 0 4 3 0 0 0 0 0 0 0 0 3 0 0 0 2 0 0 0 2 2 2 2 0 2 2 0 0 0 0 2 0 0 0 0 2 0 - 2 2 0 0 2 0 1 0 3 0 0 4 0 2 0 0 0 2 3 0 0 0 0 2 3 0 2 2 0 4 0 2 0 0 0 0 2 2 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 2 0 0 0 0 0 2 2 0 0 2 0 - 0 0 0 3 3 0 0 0 2 0 2 0 2 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 0 0 0 0 1 2 2 2 0 0 1 2 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 2 0 - 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 3 0 0 0 0 0 0 0 0 0 2 0 2 0 0 2 0 2 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 2 0 2 0 0 0 0 2 0 0 2 2 2 0 2 2 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 2 2 2 3 2 3 3 0 2 2 2 2 2 2 2 2 0 0 0 0 2 2 2 2 2 2 2 2 0 0 0 2 2 0 0 0 2 0 0 0 0 2 3 0 0 0 0 2 0 0 0 0 2 2 2 0 0 0 0 1 2 2 0 2 0 0 0 0 2 0 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 2 0 0 2 0 - 2 2 0 2 2 2 2 2 2 0 3 0 2 2 2 2 3 2 0 2 0 0 2 2 0 0 2 2 2 2 0 0 0 2 2 3 2 4 2 3 0 2 2 0 2 0 2 0 0 3 0 0 0 0 3 2 2 2 2 2 0 3 3 3 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 2 2 0 0 2 0 0 2 0 0 2 0 - 2 2 0 0 0 0 0 0 2 0 2 2 3 2 2 2 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 3 0 0 0 2 0 3 3 3 2 2 0 2 3 0 2 2 0 0 2 0 0 2 4 0 0 0 0 0 5 2 3 3 0 0 2 0 0 0 0 2 2 2 2 3 3 2 0 3 3 3 2 0 0 2 0 0 3 0 2 0 0 0 0 0 2 3 0 3 0 0 0 2 2 0 3 0 0 0 0 0 2 2 0 0 0 0 2 2 2 2 2 0 0 2 0 - 2 2 0 0 0 0 0 0 2 0 0 1 2 2 0 2 2 2 0 2 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 0 2 2 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 0 0 0 0 0 0 0 2 0 2 2 3 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 1 0 2 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 2 3 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 2 4 2 0 0 3 0 3 3 2 0 0 3 3 4 3 3 2 2 3 3 3 2 2 0 3 4 0 0 2 2 5 5 5 4 2 3 2 2 3 3 4 0 3 2 0 0 0 3 3 2 2 2 2 0 2 2 0 3 3 0 0 0 2 0 2 3 4 2 4 3 0 3 3 2 0 4 2 0 4 3 2 2 0 0 0 0 2 2 0 2 2 4 0 2 2 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 1 2 0 2 0 0 2 0 0 0 2 0 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 0 0 1 0 2 3 2 0 2 2 3 2 0 2 2 2 0 0 0 0 2 0 0 2 0 0 2 0 0 0 0 0 2 2 2 2 2 2 2 0 2 3 2 0 0 0 0 0 0 2 0 0 3 2 2 0 0 0 0 0 0 3 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 0 0 0 2 2 0 0 1 3 2 0 2 0 2 0 3 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 2 0 0 0 2 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 0 0 2 2 0 2 0 0 0 2 2 2 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 2 0 0 2 2 - 0 0 0 0 0 0 0 0 3 0 3 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 2 0 0 0 0 2 3 0 2 2 3 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 2 2 3 0 2 2 2 0 2 2 2 0 3 0 2 0 2 0 2 2 0 0 0 2 0 2 0 0 2 3 2 0 2 2 2 0 2 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 2 2 0 2 0 2 2 0 0 0 2 0 2 2 0 0 0 2 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 0 2 0 2 0 2 2 0 0 0 2 0 2 0 0 0 0 2 2 0 2 2 2 2 2 0 0 0 0 2 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 4 0 2 2 3 0 3 2 3 2 0 3 3 2 2 2 2 2 0 2 2 0 0 3 2 2 2 0 0 2 3 2 3 0 0 2 0 2 0 2 2 0 4 2 0 0 0 0 2 0 2 3 2 0 2 0 0 3 0 0 0 0 0 0 0 0 0 0 3 0 0 0 3 2 0 3 0 0 0 0 0 0 3 0 0 0 0 2 0 0 0 2 0 0 2 0 - 2 2 2 0 2 0 2 2 2 0 0 2 2 3 0 2 0 2 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 3 2 2 2 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 0 0 0 1 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 2 0 2 0 2 0 0 0 0 2 2 2 2 0 0 2 0 0 2 0 0 2 2 0 0 2 0 1 0 0 0 2 0 0 0 2 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 3 0 0 0 0 1 0 0 2 0 0 0 2 0 0 0 0 2 2 0 0 0 2 0 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 1 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 2 2 0 0 0 0 3 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 - 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 2 0 0 2 2 2 2 0 0 2 2 2 0 2 2 3 2 0 0 0 2 2 2 2 2 2 3 2 2 0 0 1 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 2 2 2 0 2 2 2 - 2 2 0 0 1 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 2 0 3 2 2 2 2 0 2 2 0 0 3 0 2 0 2 0 2 0 0 2 0 2 2 0 0 0 0 3 2 0 2 2 2 0 2 0 0 2 0 1 2 0 0 2 0 0 0 2 0 0 2 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 1 0 0 2 2 0 3 2 2 0 0 2 0 2 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 3 2 4 4 4 4 0 2 2 3 2 2 2 2 2 2 2 2 3 4 2 4 4 2 4 2 3 2 0 3 4 4 3 4 4 2 3 2 2 3 4 4 3 2 2 3 3 4 3 4 4 3 3 3 2 2 3 4 4 4 3 2 2 2 2 0 3 3 2 3 3 2 3 3 2 2 3 2 2 3 3 2 2 3 0 2 3 3 2 2 2 2 2 2 0 2 0 - 2 2 0 0 0 0 1 3 3 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 3 0 1 2 3 2 3 2 2 0 0 3 0 2 0 0 0 0 0 0 0 0 0 2 2 2 0 2 0 2 0 0 2 2 2 2 2 0 2 0 0 4 0 0 0 2 2 2 2 0 2 2 0 0 2 0 2 1 0 2 0 2 3 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 2 2 2 0 3 0 0 0 0 0 2 0 2 0 0 2 0 - 2 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 2 0 2 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 2 0 0 0 3 0 4 4 3 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 - 0 0 0 0 1 0 0 0 2 0 2 0 2 0 0 0 0 2 0 0 0 0 2 0 0 0 2 2 2 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 3 2 0 2 3 2 2 3 0 2 2 2 2 2 0 2 2 2 0 0 0 2 2 2 2 2 3 3 2 0 0 0 2 3 2 2 2 4 2 2 2 0 2 3 0 0 0 2 2 0 2 2 0 4 2 3 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 2 0 2 2 0 0 2 0 - 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 2 3 2 3 2 2 2 3 2 2 2 0 2 0 2 0 0 3 2 2 0 2 2 2 2 2 0 2 2 2 2 2 3 4 3 2 3 0 3 2 2 0 2 2 3 4 2 3 4 2 3 2 0 0 2 0 2 0 3 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0 0 2 3 0 2 2 2 2 2 0 0 2 0 - 2 2 0 0 1 0 2 2 2 2 0 2 2 2 0 0 2 2 0 0 0 0 2 2 2 0 2 2 2 2 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 1 0 2 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 0 3 2 2 0 0 2 2 3 3 2 2 0 2 2 0 0 0 0 2 4 2 2 3 3 2 0 2 0 2 3 2 2 0 2 2 2 2 0 2 3 0 2 2 0 3 0 2 2 0 0 2 2 0 0 0 3 3 3 3 0 0 2 2 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 2 0 0 3 0 0 2 0 2 2 2 2 2 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 0 0 0 0 1 2 3 0 3 4 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 1 2 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 - 0 0 0 0 1 2 2 0 3 0 2 2 3 0 0 0 0 2 0 0 0 0 3 2 2 2 2 2 2 2 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 2 2 0 0 0 0 1 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 1 0 2 0 2 0 0 0 0 2 0 2 0 2 0 0 0 0 0 2 0 2 2 2 2 2 0 0 0 2 0 2 2 0 2 0 2 2 0 2 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 2 0 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 3 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 2 0 2 2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 2 2 2 2 2 3 0 2 2 2 2 0 2 0 2 2 0 2 2 3 2 2 0 2 2 3 3 0 0 3 0 2 0 3 3 0 2 2 2 0 2 3 2 0 0 2 3 2 0 3 2 4 2 2 0 0 2 0 1 0 3 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 3 0 2 3 0 2 2 0 2 2 0 0 2 0 - 2 2 0 2 1 2 2 2 2 0 0 0 0 0 2 2 2 2 0 0 0 0 2 2 2 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 2 2 2 0 2 0 0 2 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 0 2 2 0 0 3 2 0 2 2 3 2 2 2 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 3 0 0 0 1 2 0 2 2 0 0 2 2 0 0 2 0 2 0 0 0 0 0 2 2 2 2 0 2 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 - 0 0 0 0 1 0 0 2 2 0 2 0 2 0 2 0 0 2 0 0 0 0 2 0 0 0 2 0 2 2 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 2 3 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 2 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 3 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 0 0 2 2 2 0 3 2 3 0 0 2 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 3 2 0 0 0 3 0 3 0 0 0 0 2 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 2 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 3 0 3 1 2 0 0 2 3 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 2 2 2 3 2 3 2 0 2 0 2 2 2 0 2 0 0 2 0 2 2 0 2 2 2 0 0 0 0 2 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 2 0 0 0 0 0 0 - 0 0 0 2 2 0 0 0 2 0 2 2 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 0 2 2 2 2 2 0 2 2 2 2 2 2 3 2 3 0 0 2 3 2 2 2 0 3 4 3 3 0 0 0 3 0 2 2 3 2 0 0 0 0 2 0 2 0 0 0 0 0 2 0 0 2 2 0 0 0 0 3 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0 2 3 2 2 2 0 2 2 0 0 2 2 - 2 0 0 2 0 0 0 0 2 0 0 0 2 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 0 0 0 2 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 3 3 5 2 5 3 4 4 4 4 5 5 5 5 5 5 3 4 3 4 2 3 4 4 4 5 2 4 4 4 4 3 3 4 4 2 4 4 3 3 5 4 3 4 5 4 2 2 3 4 3 4 4 4 5 4 5 4 4 5 4 3 4 5 3 5 5 3 3 5 5 2 5 5 2 5 3 5 2 5 2 3 3 4 5 5 5 4 2 0 3 2 3 2 2 4 4 3 2 2 - 3 3 2 3 4 0 2 2 3 0 4 3 3 2 2 3 4 2 0 3 0 0 0 2 3 2 2 4 2 3 0 2 2 2 2 2 3 3 2 2 2 0 2 2 2 3 0 0 3 3 4 4 2 4 2 3 2 0 4 0 2 3 2 3 3 2 3 5 3 0 0 3 0 0 2 0 2 0 4 0 2 4 3 3 0 3 0 5 2 0 0 2 0 2 2 3 3 0 2 0 - 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 2 0 2 0 0 2 0 0 0 2 0 2 0 0 0 0 2 0 2 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 0 2 0 0 2 2 2 0 3 0 2 2 2 2 2 3 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 2 2 4 2 3 0 0 2 0 2 3 2 3 2 0 0 0 2 2 2 2 3 2 0 0 0 2 4 2 0 0 0 0 0 0 3 0 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 2 0 0 2 0 0 0 3 0 3 3 3 2 0 3 5 3 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 2 - 0 0 0 0 1 1 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 2 0 3 3 2 3 2 0 2 4 2 2 0 2 3 3 2 2 0 2 3 2 2 2 2 3 3 4 0 2 2 3 3 2 3 2 4 3 2 2 2 3 3 0 2 0 0 3 0 3 3 0 4 3 3 2 2 0 3 1 0 3 0 3 0 0 0 0 2 2 2 2 0 2 0 0 0 0 0 0 0 2 0 2 4 2 2 3 2 2 2 2 2 4 3 0 3 2 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 0 0 2 2 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 2 - 0 0 0 0 1 0 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 2 0 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 2 0 0 0 2 0 0 2 2 0 0 0 2 0 0 2 2 2 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 2 2 2 3 2 0 0 3 2 0 2 0 0 2 3 2 0 2 2 2 2 0 0 0 0 0 0 0 3 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 2 2 0 0 2 2 2 3 1 2 2 0 2 0 2 0 2 0 0 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 2 0 - 2 3 2 0 1 2 2 2 2 0 2 2 0 2 2 2 0 2 2 0 2 1 3 2 2 2 2 2 2 3 0 0 0 0 2 0 2 2 2 2 2 0 0 3 2 2 0 0 2 3 2 2 2 2 2 2 2 0 0 2 0 1 0 3 0 2 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 3 0 0 2 0 0 2 0 0 2 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 2 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 0 2 2 2 0 0 0 3 0 3 1 2 0 0 2 2 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 1 0 0 0 2 0 0 0 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 3 0 2 0 2 2 3 2 3 3 3 2 2 2 0 2 2 3 2 0 3 2 3 0 3 4 2 3 0 2 0 0 2 2 0 2 0 2 2 0 2 2 2 0 0 0 0 2 2 3 2 2 3 2 0 0 2 0 0 3 2 2 0 3 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 2 0 0 2 0 0 2 0 2 2 2 3 0 2 0 - 2 2 2 2 3 2 2 2 3 0 2 3 3 4 2 3 0 2 2 2 0 0 0 2 2 2 2 2 2 3 0 2 0 2 2 2 0 2 2 2 2 2 0 0 3 2 2 2 0 3 2 3 2 2 2 2 2 2 2 3 0 3 0 0 2 0 3 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 2 3 0 2 0 0 3 2 2 2 2 2 2 2 2 0 0 0 - 2 2 3 2 1 0 4 4 3 0 3 3 0 2 2 3 0 2 3 3 0 0 4 0 4 4 2 4 3 2 0 0 0 0 2 0 2 2 2 2 0 0 2 0 3 0 0 0 0 0 0 3 2 0 3 4 0 4 4 0 2 1 3 0 0 0 0 0 3 2 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 2 0 0 0 0 0 0 0 2 2 2 0 0 2 0 - 0 3 2 2 3 2 2 2 2 2 4 2 3 3 0 2 3 3 2 3 0 2 3 3 2 2 2 3 3 4 0 0 0 3 2 3 4 2 4 3 2 2 3 2 3 0 2 2 0 2 0 2 3 0 3 2 3 2 2 0 0 3 3 3 0 3 2 0 0 2 2 0 2 3 0 3 0 0 0 0 0 0 2 3 2 2 2 2 2 2 3 2 2 2 2 4 2 2 2 2 - 2 2 0 2 0 0 1 0 3 3 4 2 3 0 0 0 0 2 0 2 0 0 0 0 0 0 0 2 0 0 0 5 0 0 0 0 0 2 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 2 3 2 0 2 0 2 0 3 0 0 2 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 3 0 2 0 0 2 0 0 0 0 0 0 2 0 5 2 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 2 2 2 0 2 0 0 2 2 0 2 2 2 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 - 2 0 0 2 2 2 2 2 2 0 2 2 3 0 2 2 0 2 0 0 0 0 2 2 2 0 2 2 2 2 0 0 0 2 3 0 2 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 3 3 2 2 3 0 3 2 2 3 2 0 3 2 0 2 0 3 0 2 0 2 2 2 2 0 2 2 3 3 0 2 0 0 0 0 2 0 2 2 2 0 0 0 2 0 0 0 0 2 0 2 2 0 3 0 0 0 2 0 0 1 0 2 2 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 0 2 0 3 2 0 2 0 2 0 0 2 0 2 2 0 - 2 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 2 2 2 2 2 2 2 2 2 0 0 0 3 3 2 2 2 4 2 0 2 0 0 2 0 2 2 0 2 0 2 2 0 3 2 0 0 0 0 0 1 0 0 0 0 0 2 0 2 2 0 2 2 0 2 2 2 0 2 2 0 2 0 0 0 0 0 0 3 0 2 2 2 2 2 2 0 2 0 - 2 2 2 0 2 0 2 3 3 0 2 3 2 2 2 3 2 3 2 0 0 2 3 2 2 2 3 2 2 4 2 2 0 2 3 3 2 2 2 3 2 2 0 2 3 2 2 0 3 3 0 2 2 2 4 2 2 0 0 2 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 2 0 0 2 2 0 0 2 0 0 2 0 - 0 2 0 3 3 0 0 3 3 0 3 2 2 2 0 3 3 3 0 3 2 2 0 0 0 0 0 2 0 0 2 0 0 2 3 3 3 0 0 2 0 0 0 0 3 0 5 5 0 0 0 0 2 0 2 2 4 0 2 0 0 3 0 0 0 0 0 0 0 2 2 0 2 0 0 3 0 2 0 2 0 0 2 0 0 2 2 0 0 0 2 2 0 2 2 2 4 0 2 2 - 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 2 2 0 2 2 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 - 3 0 0 0 1 2 0 2 3 0 0 2 0 0 2 2 0 2 0 0 0 0 2 2 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 2 0 0 2 0 2 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 2 2 2 2 2 2 2 2 2 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 0 2 0 0 0 2 0 0 0 0 0 0 2 0 0 3 2 0 0 0 0 0 0 3 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 - 2 2 0 0 2 0 2 0 2 0 2 2 2 2 0 3 2 2 2 0 2 2 3 0 2 0 2 2 3 3 2 0 0 0 0 0 2 0 2 2 0 2 0 2 3 2 0 0 2 2 2 0 2 0 3 2 0 0 2 2 0 1 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 0 0 3 0 0 0 0 0 2 2 0 0 2 0 - 2 2 2 0 0 0 0 0 3 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 5 3 2 5 4 2 4 5 3 5 3 4 4 2 2 3 4 5 5 5 3 2 5 5 5 5 5 5 5 5 5 2 2 4 2 3 4 5 3 4 5 2 3 3 4 4 2 2 3 4 3 5 4 4 4 5 0 4 5 2 5 3 3 4 4 2 2 4 4 3 4 4 4 2 4 3 5 0 4 2 5 4 5 5 2 2 0 4 2 5 5 2 5 4 2 5 3 2 2 5 - 2 2 0 0 0 0 0 0 2 0 0 1 2 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 - 0 0 0 0 2 2 2 3 2 0 0 2 2 2 2 2 3 2 0 0 0 0 0 2 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 2 0 0 0 1 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 2 2 0 0 2 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 2 0 0 0 2 2 0 0 0 0 2 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 1 0 2 0 3 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 2 0 0 0 0 0 0 2 0 2 1 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 2 0 0 0 2 2 0 0 2 2 0 0 0 0 0 0 0 3 0 0 0 5 2 0 2 2 2 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 - 2 2 2 2 2 2 2 3 3 0 0 3 2 2 3 2 2 2 2 0 0 0 0 2 0 2 2 2 4 0 0 2 0 0 0 0 2 2 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 2 2 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 2 2 2 2 0 0 0 0 2 - 0 2 0 0 0 0 0 0 2 0 2 0 2 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 3 0 0 0 0 0 0 2 0 0 0 2 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 3 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 3 0 2 0 0 0 0 0 0 2 0 3 0 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 2 0 - 0 2 2 2 2 2 2 2 3 0 0 2 0 0 0 2 2 2 0 0 0 0 2 2 2 0 2 2 3 2 0 0 0 0 0 0 0 2 2 2 0 0 2 0 0 0 0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 2 3 2 3 3 2 2 2 3 0 3 2 4 2 2 3 4 4 3 3 2 2 2 2 2 2 2 3 4 0 3 2 2 4 4 3 3 2 5 4 2 3 3 3 4 2 2 2 0 3 0 2 3 3 4 2 3 2 2 2 0 3 4 3 0 3 2 0 0 3 3 2 4 2 0 3 3 0 0 2 2 0 3 3 2 2 5 2 2 3 2 2 2 2 2 4 2 2 2 2 - 0 2 0 0 2 0 0 2 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 2 3 2 0 0 2 2 0 3 2 3 3 2 2 0 2 0 2 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 2 2 0 0 2 0 0 1 2 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 2 2 0 2 0 0 1 2 3 0 0 0 0 2 0 2 0 2 0 2 0 0 0 0 2 0 0 0 0 2 0 2 0 0 0 0 2 2 3 0 2 0 0 0 0 0 0 0 0 2 0 3 0 0 2 3 0 0 2 0 2 1 0 3 0 2 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 2 0 0 2 0 0 0 0 2 0 0 0 0 2 0 - 2 2 2 0 0 0 0 0 2 0 3 0 2 0 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 - 2 2 0 2 0 0 0 0 3 0 3 1 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 2 0 2 0 0 2 0 3 0 0 2 0 0 3 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 2 0 2 0 0 2 0 2 0 0 2 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 2 0 2 0 2 3 2 0 2 2 2 2 2 2 2 2 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 2 2 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 0 0 0 3 1 0 0 0 2 0 0 0 2 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 - 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 2 2 2 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0... [truncated message content] |
Revision: 526 http://cishell.svn.sourceforge.net/cishell/?rev=526&view=rev Author: mwlinnem Date: 2007-09-17 10:25:54 -0700 (Mon, 17 Sep 2007) Log Message: ----------- Removed System.out.printlns. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java Modified: trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java 2007-09-17 17:19:02 UTC (rev 525) +++ trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java 2007-09-17 17:25:54 UTC (rev 526) @@ -328,8 +328,9 @@ return refs; } catch (InvalidSyntaxException e) { - System.out.println("OOPS!"); - System.out.println(e); + this.log.log(LogService.LOG_ERROR, "Invalid syntax '" + filter + + "' for filtering service references. Attempted to " + + "obtain all converter references.", e); return null; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2007-09-17 17:19:10
|
Revision: 525 http://cishell.svn.sourceforge.net/cishell/?rev=525&view=rev Author: mwlinnem Date: 2007-09-17 10:19:02 -0700 (Mon, 17 Sep 2007) Log Message: ----------- Moved big test files. Fixed a couple bugs. Removed System.out.printlns. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConvResultMaker.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/WeightedFullTrustHeuristic.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/FlyMINT.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/TF_DNA_regulonDB.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/fittestperGeneration1179169554713.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/NotUsed/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/WorldCities.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/NotUsed/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/NotUsed/fromPajek/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/XGMML Files/NotUsed/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/XGMML Files/NotUsed/xmlhackjavacourse.xgmml.xml Removed Paths: ------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TF_DNA_regulonDB.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/fittestperGeneration1179169554713.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/WorldCities.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/1CRN.NET trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile1.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile3.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile4.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile5.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile6.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile7.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile8.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/fromPajek/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/XGMML Files/xmlhackjavacourse.xgmml.xml Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java 2007-09-17 14:22:10 UTC (rev 524) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java 2007-09-17 17:19:02 UTC (rev 525) @@ -444,7 +444,6 @@ Converter c = convs[j]; String convName = c.getShortName(); String convsOutputFormatName = c.getOutData(); - System.out.println("Converters output format is " + convsOutputFormatName); String nodeNumber = nodeNameToInt.get(nodeName).toString(); String convNumber = nodeNameToInt.get(convName).toString(); String convsOutputNodeNumber = Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb 2007-09-17 14:22:10 UTC (rev 524) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb 2007-09-17 17:19:02 UTC (rev 525) @@ -1,630 +0,0 @@ -#Converted by Cesifoti for the NWB... :-) -*Nodes 330 -id*int label*string -1 "ACTB" -2 "AKAP1" -3 "ATPsyn-beta" -4 "Act57B" -5 "BEAF-32" -6 "BEST:CK01296" -7 "BG4" -8 "BG:DS00180.8" -9 "BM-40-SPARC" -10 "C901" -11 "CDC2" -12 "CDC28" -13 "CDK3" -14 "CDK4" -15 "CG10014" -16 "CG10017" -17 "CG10019" -18 "CG10032" -19 "CG10039" -20 "CG10051" -21 "CG10053" -22 "CG10055" -23 "CG10068" -24 "CG10166" -25 "CG10200" -26 "CG10263" -27 "CG11097" -28 "CG11327" -29 "CG11345" -30 "CG11489" -31 "CG11635" -32 "CG11656" -33 "CG11699" -34 "CG11722" -35 "CG11876" -36 "CG11881" -37 "CG11899" -38 "CG12065" -39 "CG12203" -40 "CG12679" -41 "CG12932" -42 "CG13142" -43 "CG13159" -44 "CG13320" -45 "CG13512" -46 "CG13588" -47 "CG13627" -48 "CG13840" -49 "CG13903" -50 "CG14079" -51 "CG14204" -52 "CG14354" -53 "CG14546" -54 "CG14578" -55 "CG14718" -56 "CG15032" -57 "CG15080" -58 "CG15136" -59 "CG15436" -60 "CG15489" -61 "CG15529" -62 "CG15631" -63 "CG15772" -64 "CG15783" -65 "CG15816" -66 "CG16728" -67 "CG17019" -68 "CG17050" -69 "CG17666" -70 "CG17819" -71 "CG1792" -72 "CG1850" -73 "CG18659" -74 "CG2233" -75 "CG2767" -76 "CG3062" -77 "CG3075" -78 "CG3081" -79 "CG31054" -80 "CG31122" -81 "CG31160" -82 "CG31245" -83 "CG31826" -84 "CG32226" -85 "CG32542" -86 "CG32677" -87 "CG3270" -88 "CG33017" -89 "CG3800" -90 "CG3918" -91 "CG41099" -92 "CG4404" -93 "CG4461" -94 "CG4617" -95 "CG4818" -96 "CG4829" -97 "CG4959" -98 "CG5023" -99 "CG5140" -100 "CG5494" -101 "CG5804" -102 "CG6049" -103 "CG6416" -104 "CG6459" -105 "CG6607" -106 "CG6608" -107 "CG6707" -108 "CG6770" -109 "CG6945" -110 "CG7081" -111 "CG7101" -112 "CG7683" -113 "CG8010" -114 "CG8173" -115 "CG8854" -116 "CG8942" -117 "CG9205" -118 "CG9288" -119 "CG9467" -120 "CG9520" -121 "CG9572" -122 "CG9663" -123 "CG9757" -124 "CG9778" -125 "CG9784" -126 "CG9917" -127 "CTBP1" -128 "Caf1" -129 "Cam" -130 "Ccn" -131 "Cdk7" -132 "CkII-alpha" -133 "CkII-alpha-i1" -134 "CkII-beta" -135 "Cks30A" -136 "Clp" -137 "CtBP" -138 "CycD" -139 "CycE" -140 "CycJ" -141 "DIP1" -142 "DNApol-alpha-180" -143 "DNApol-alpha-73" -144 "Ddc" -145 "Dmel_CG10035" -146 "Dok1" -147 "Dpit47" -148 "Dredd" -149 "Dref" -150 "E(spl)" -151 "E(z)" -152 "EG:BACH7M4.4" -153 "EG:BACR42I17.8" -154 "Fak56D" -155 "Fcp3C" -156 "G-i-alpha-65A" -157 "GTF2B" -158 "Graf" -159 "Grasp65" -160 "GstD1" -161 "HLH4C" -162 "HLHm5" -163 "HLHm7" -164 "Hsf" -165 "Hsp67Ba" -166 "IM2" -167 "Iswi" -168 "Jun" -169 "MAGE" -170 "MBD-R2" -171 "MED19" -172 "MPP5" -173 "MTA1-like" -174 "Mbs" -175 "Mer" -176 "Mst84Da" -177 "Mst84Dc" -178 "Myd88" -179 "Mylk2" -180 "N" -181 "NPC1b" -182 "NUCB1" -183 "Nak" -184 "Nep1" -185 "Nipsnap" -186 "Noa36" -187 "Nrt" -188 "Oli" -189 "PGR" -190 "PPP1CC" -191 "PRK1" -192 "Pak" -193 "Pen" -194 "Pif1B" -195 "Pk17E" -196 "Pka-R2" -197 "Pkc98E" -198 "Poxm" -199 "Pp1-alpha-96A" -200 "Pros26.4" -201 "Q8ML63" -202 "Q9NKB3" -203 "Q9VXK4" -204 "RAC1" -205 "Rack1" -206 "RpL17" -207 "RpL24" -208 "RpL5" -209 "RpLP0" -210 "RpS15" -211 "RpS15Aa" -212 "RpS3" -213 "RpS8" -214 "SPT15" -215 "Scm" -216 "Sec61-beta" -217 "Sirt4" -218 "Sox21b" -219 "Sra-1" -220 "SytIV" -221 "Taf1" -222 "Taf12" -223 "Taf4" -224 "Taf6" -225 "Tango9" -226 "Tektin-A" -227 "Tequila" -228 "TfIIB" -229 "Traf2" -230 "Trf" -231 "Trf2" -232 "Trl" -233 "Ubc84D" -234 "Ubx" -235 "VP16" -236 "WWOX" -237 "X11L" -238 "YL-1" -239 "aPKC" -240 "alpha-Tub84B" -241 "arm" -242 "baz" -243 "bif" -244 "bowl" -245 "brk" -246 "bsh" -247 "cdc2" -248 "cdc2c" -249 "cm" -250 "corto" -251 "crb" -252 "dap" -253 "dlt" -254 "drm" -255 "e(y)1" -256 "eIF2B-beta" -257 "elfless" -258 "emc" -259 "esc" -260 "exd" -261 "exu" -262 "fkh" -263 "fng" -264 "for" -265 "fs(1)Ya" -266 "ftz" -267 "ftz-f1" -268 "fws" -269 "fz2" -270 "gro" -271 "h" -272 "hbn" -273 "inaD" -274 "insc" -275 "kirre" -276 "l(1)G0004" -277 "l(2)37Cc" -278 "l(3)IX-14" -279 "l(3)s2214" -280 "lark" -281 "lin" -282 "lola" -283 "mira" -284 "mod" -285 "mod(mdg4)" -286 "mus205" -287 "nej" -288 "norpA" -289 "num-1" -290 "numb" -291 "odd" -292 "opa" -293 "otp" -294 "par-6" -295 "ph-p" -296 "phr" -297 "pll" -298 "plu" -299 "png" -300 "prod" -301 "pros" -302 "protein_alias_1" -303 "protein_alias_2" -304 "raps" -305 "rl" -306 "rst" -307 "rtGEF" -308 "sala" -309 "sc" -310 "sca" -311 "scu" -312 "sdt" -313 "slou" -314 "sns" -315 "sol" -316 "ssh" -317 "sta" -318 "star1" -319 "stau" -320 "term" -321 "tinc" -322 "tj" -323 "tos" -324 "tral" -325 "tub" -326 "vir-1" -327 "vvl" -328 "wek" -329 "yps" -330 "zfh1" -*UndirectedEdges -source*int target*int -97 262 -48 18 -322 134 -198 15 -27 23 -54 18 -319 274 -69 322 -219 204 -254 111 -8 322 -307 276 -7 148 -324 18 -150 132 -30 18 -43 18 -82 307 -60 18 -201 194 -272 18 -140 135 -313 18 -23 106 -235 228 -231 128 -307 174 -300 258 -219 1 -243 199 -98 4 -83 307 -40 186 -299 298 -223 189 -90 322 -234 168 -322 108 -323 18 -15 129 -262 121 -322 101 -202 18 -322 103 -262 134 -55 160 -244 181 -248 135 -44 19 -31 22 -307 246 -45 18 -50 18 -52 21 -57 327 -285 225 -319 283 -264 212 -81 18 -292 186 -74 322 -251 172 -2 196 -264 205 -63 154 -35 307 -193 154 -252 248 -240 18 -18 136 -79 262 -78 18 -160 102 -58 169 -322 207 -265 209 -21 195 -213 18 -322 116 -307 268 -322 115 -297 229 -4 318 -301 283 -329 261 -322 211 -322 210 -184 18 -138 12 -322 216 -4 314 -307 29 -208 18 -68 307 -206 18 -18 107 -18 100 -264 126 -38 264 -92 18 -42 169 -322 3 -307 153 -307 152 -279 113 -71 186 -217 18 -322 24 -230 164 -258 161 -242 239 -66 307 -140 12 -85 18 -87 307 -170 118 -31 186 -325 297 -51 18 -28 156 -221 214 -316 262 -295 250 -4 222 -162 132 -6 18 -225 141 -187 18 -322 163 -262 177 -18 112 -262 176 -307 105 -264 114 -18 119 -220 117 -91 262 -135 12 -135 13 -135 11 -294 242 -327 10 -283 274 -219 134 -53 186 -96 18 -37 262 -304 274 -303 302 -267 266 -255 228 -330 127 -4 236 -99 307 -252 13 -289 197 -281 244 -250 151 -33 264 -255 235 -307 233 -244 241 -69 145 -70 160 -18 166 -21 161 -307 158 -171 156 -186 124 -243 190 -5 279 -26 18 -179 129 -89 322 -231 167 -77 4 -248 138 -279 137 -64 18 -307 185 -28 15 -322 257 -9 327 -160 125 -309 258 -271 270 -86 306 -320 18 -296 225 -322 269 -147 142 -49 322 -306 237 -308 160 -18 122 -315 18 -4 200 -39 244 -34 307 -290 183 -80 186 -290 180 -73 307 -275 237 -286 262 -321 307 -163 133 -163 132 -40 18 -93 20 -186 130 -186 131 -138 13 -46 322 -41 18 -76 186 -36 307 -256 191 -264 175 -32 154 -238 16 -50 322 -95 16 -328 16 -282 264 -94 307 -97 322 -84 322 -69 262 -248 140 -21 182 -262 110 -245 18 -169 120 -259 250 -278 17 -278 18 -322 315 -88 307 -322 317 -274 242 -65 307 -312 253 -231 149 -186 109 -61 262 -287 284 -4 326 -72 18 -279 249 -260 234 -25 160 -56 18 -311 16 -62 21 -18 143 -18 144 -14 138 -264 165 -307 192 -247 135 -247 138 -247 139 -322 291 -250 232 -203 146 -280 16 -262 104 -292 18 -250 215 -47 18 -226 18 -277 18 -218 18 -160 123 -227 18 -59 254 -288 273 -188 160 -175 16 -4 30 -173 16 -290 283 -255 157 -293 159 -262 18 -305 279 -310 180 -312 251 -75 20 -263 180 -255 224 -297 178 -67 18 -18 155 Copied: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/FlyMINT.nwb (from rev 517, trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb) =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/FlyMINT.nwb (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/FlyMINT.nwb 2007-09-17 17:19:02 UTC (rev 525) @@ -0,0 +1,630 @@ +#Converted by Cesifoti for the NWB... :-) +*Nodes 330 +id*int label*string +1 "ACTB" +2 "AKAP1" +3 "ATPsyn-beta" +4 "Act57B" +5 "BEAF-32" +6 "BEST:CK01296" +7 "BG4" +8 "BG:DS00180.8" +9 "BM-40-SPARC" +10 "C901" +11 "CDC2" +12 "CDC28" +13 "CDK3" +14 "CDK4" +15 "CG10014" +16 "CG10017" +17 "CG10019" +18 "CG10032" +19 "CG10039" +20 "CG10051" +21 "CG10053" +22 "CG10055" +23 "CG10068" +24 "CG10166" +25 "CG10200" +26 "CG10263" +27 "CG11097" +28 "CG11327" +29 "CG11345" +30 "CG11489" +31 "CG11635" +32 "CG11656" +33 "CG11699" +34 "CG11722" +35 "CG11876" +36 "CG11881" +37 "CG11899" +38 "CG12065" +39 "CG12203" +40 "CG12679" +41 "CG12932" +42 "CG13142" +43 "CG13159" +44 "CG13320" +45 "CG13512" +46 "CG13588" +47 "CG13627" +48 "CG13840" +49 "CG13903" +50 "CG14079" +51 "CG14204" +52 "CG14354" +53 "CG14546" +54 "CG14578" +55 "CG14718" +56 "CG15032" +57 "CG15080" +58 "CG15136" +59 "CG15436" +60 "CG15489" +61 "CG15529" +62 "CG15631" +63 "CG15772" +64 "CG15783" +65 "CG15816" +66 "CG16728" +67 "CG17019" +68 "CG17050" +69 "CG17666" +70 "CG17819" +71 "CG1792" +72 "CG1850" +73 "CG18659" +74 "CG2233" +75 "CG2767" +76 "CG3062" +77 "CG3075" +78 "CG3081" +79 "CG31054" +80 "CG31122" +81 "CG31160" +82 "CG31245" +83 "CG31826" +84 "CG32226" +85 "CG32542" +86 "CG32677" +87 "CG3270" +88 "CG33017" +89 "CG3800" +90 "CG3918" +91 "CG41099" +92 "CG4404" +93 "CG4461" +94 "CG4617" +95 "CG4818" +96 "CG4829" +97 "CG4959" +98 "CG5023" +99 "CG5140" +100 "CG5494" +101 "CG5804" +102 "CG6049" +103 "CG6416" +104 "CG6459" +105 "CG6607" +106 "CG6608" +107 "CG6707" +108 "CG6770" +109 "CG6945" +110 "CG7081" +111 "CG7101" +112 "CG7683" +113 "CG8010" +114 "CG8173" +115 "CG8854" +116 "CG8942" +117 "CG9205" +118 "CG9288" +119 "CG9467" +120 "CG9520" +121 "CG9572" +122 "CG9663" +123 "CG9757" +124 "CG9778" +125 "CG9784" +126 "CG9917" +127 "CTBP1" +128 "Caf1" +129 "Cam" +130 "Ccn" +131 "Cdk7" +132 "CkII-alpha" +133 "CkII-alpha-i1" +134 "CkII-beta" +135 "Cks30A" +136 "Clp" +137 "CtBP" +138 "CycD" +139 "CycE" +140 "CycJ" +141 "DIP1" +142 "DNApol-alpha-180" +143 "DNApol-alpha-73" +144 "Ddc" +145 "Dmel_CG10035" +146 "Dok1" +147 "Dpit47" +148 "Dredd" +149 "Dref" +150 "E(spl)" +151 "E(z)" +152 "EG:BACH7M4.4" +153 "EG:BACR42I17.8" +154 "Fak56D" +155 "Fcp3C" +156 "G-i-alpha-65A" +157 "GTF2B" +158 "Graf" +159 "Grasp65" +160 "GstD1" +161 "HLH4C" +162 "HLHm5" +163 "HLHm7" +164 "Hsf" +165 "Hsp67Ba" +166 "IM2" +167 "Iswi" +168 "Jun" +169 "MAGE" +170 "MBD-R2" +171 "MED19" +172 "MPP5" +173 "MTA1-like" +174 "Mbs" +175 "Mer" +176 "Mst84Da" +177 "Mst84Dc" +178 "Myd88" +179 "Mylk2" +180 "N" +181 "NPC1b" +182 "NUCB1" +183 "Nak" +184 "Nep1" +185 "Nipsnap" +186 "Noa36" +187 "Nrt" +188 "Oli" +189 "PGR" +190 "PPP1CC" +191 "PRK1" +192 "Pak" +193 "Pen" +194 "Pif1B" +195 "Pk17E" +196 "Pka-R2" +197 "Pkc98E" +198 "Poxm" +199 "Pp1-alpha-96A" +200 "Pros26.4" +201 "Q8ML63" +202 "Q9NKB3" +203 "Q9VXK4" +204 "RAC1" +205 "Rack1" +206 "RpL17" +207 "RpL24" +208 "RpL5" +209 "RpLP0" +210 "RpS15" +211 "RpS15Aa" +212 "RpS3" +213 "RpS8" +214 "SPT15" +215 "Scm" +216 "Sec61-beta" +217 "Sirt4" +218 "Sox21b" +219 "Sra-1" +220 "SytIV" +221 "Taf1" +222 "Taf12" +223 "Taf4" +224 "Taf6" +225 "Tango9" +226 "Tektin-A" +227 "Tequila" +228 "TfIIB" +229 "Traf2" +230 "Trf" +231 "Trf2" +232 "Trl" +233 "Ubc84D" +234 "Ubx" +235 "VP16" +236 "WWOX" +237 "X11L" +238 "YL-1" +239 "aPKC" +240 "alpha-Tub84B" +241 "arm" +242 "baz" +243 "bif" +244 "bowl" +245 "brk" +246 "bsh" +247 "cdc2" +248 "cdc2c" +249 "cm" +250 "corto" +251 "crb" +252 "dap" +253 "dlt" +254 "drm" +255 "e(y)1" +256 "eIF2B-beta" +257 "elfless" +258 "emc" +259 "esc" +260 "exd" +261 "exu" +262 "fkh" +263 "fng" +264 "for" +265 "fs(1)Ya" +266 "ftz" +267 "ftz-f1" +268 "fws" +269 "fz2" +270 "gro" +271 "h" +272 "hbn" +273 "inaD" +274 "insc" +275 "kirre" +276 "l(1)G0004" +277 "l(2)37Cc" +278 "l(3)IX-14" +279 "l(3)s2214" +280 "lark" +281 "lin" +282 "lola" +283 "mira" +284 "mod" +285 "mod(mdg4)" +286 "mus205" +287 "nej" +288 "norpA" +289 "num-1" +290 "numb" +291 "odd" +292 "opa" +293 "otp" +294 "par-6" +295 "ph-p" +296 "phr" +297 "pll" +298 "plu" +299 "png" +300 "prod" +301 "pros" +302 "protein_alias_1" +303 "protein_alias_2" +304 "raps" +305 "rl" +306 "rst" +307 "rtGEF" +308 "sala" +309 "sc" +310 "sca" +311 "scu" +312 "sdt" +313 "slou" +314 "sns" +315 "sol" +316 "ssh" +317 "sta" +318 "star1" +319 "stau" +320 "term" +321 "tinc" +322 "tj" +323 "tos" +324 "tral" +325 "tub" +326 "vir-1" +327 "vvl" +328 "wek" +329 "yps" +330 "zfh1" +*UndirectedEdges +source*int target*int +97 262 +48 18 +322 134 +198 15 +27 23 +54 18 +319 274 +69 322 +219 204 +254 111 +8 322 +307 276 +7 148 +324 18 +150 132 +30 18 +43 18 +82 307 +60 18 +201 194 +272 18 +140 135 +313 18 +23 106 +235 228 +231 128 +307 174 +300 258 +219 1 +243 199 +98 4 +83 307 +40 186 +299 298 +223 189 +90 322 +234 168 +322 108 +323 18 +15 129 +262 121 +322 101 +202 18 +322 103 +262 134 +55 160 +244 181 +248 135 +44 19 +31 22 +307 246 +45 18 +50 18 +52 21 +57 327 +285 225 +319 283 +264 212 +81 18 +292 186 +74 322 +251 172 +2 196 +264 205 +63 154 +35 307 +193 154 +252 248 +240 18 +18 136 +79 262 +78 18 +160 102 +58 169 +322 207 +265 209 +21 195 +213 18 +322 116 +307 268 +322 115 +297 229 +4 318 +301 283 +329 261 +322 211 +322 210 +184 18 +138 12 +322 216 +4 314 +307 29 +208 18 +68 307 +206 18 +18 107 +18 100 +264 126 +38 264 +92 18 +42 169 +322 3 +307 153 +307 152 +279 113 +71 186 +217 18 +322 24 +230 164 +258 161 +242 239 +66 307 +140 12 +85 18 +87 307 +170 118 +31 186 +325 297 +51 18 +28 156 +221 214 +316 262 +295 250 +4 222 +162 132 +6 18 +225 141 +187 18 +322 163 +262 177 +18 112 +262 176 +307 105 +264 114 +18 119 +220 117 +91 262 +135 12 +135 13 +135 11 +294 242 +327 10 +283 274 +219 134 +53 186 +96 18 +37 262 +304 274 +303 302 +267 266 +255 228 +330 127 +4 236 +99 307 +252 13 +289 197 +281 244 +250 151 +33 264 +255 235 +307 233 +244 241 +69 145 +70 160 +18 166 +21 161 +307 158 +171 156 +186 124 +243 190 +5 279 +26 18 +179 129 +89 322 +231 167 +77 4 +248 138 +279 137 +64 18 +307 185 +28 15 +322 257 +9 327 +160 125 +309 258 +271 270 +86 306 +320 18 +296 225 +322 269 +147 142 +49 322 +306 237 +308 160 +18 122 +315 18 +4 200 +39 244 +34 307 +290 183 +80 186 +290 180 +73 307 +275 237 +286 262 +321 307 +163 133 +163 132 +40 18 +93 20 +186 130 +186 131 +138 13 +46 322 +41 18 +76 186 +36 307 +256 191 +264 175 +32 154 +238 16 +50 322 +95 16 +328 16 +282 264 +94 307 +97 322 +84 322 +69 262 +248 140 +21 182 +262 110 +245 18 +169 120 +259 250 +278 17 +278 18 +322 315 +88 307 +322 317 +274 242 +65 307 +312 253 +231 149 +186 109 +61 262 +287 284 +4 326 +72 18 +279 249 +260 234 +25 160 +56 18 +311 16 +62 21 +18 143 +18 144 +14 138 +264 165 +307 192 +247 135 +247 138 +247 139 +322 291 +250 232 +203 146 +280 16 +262 104 +292 18 +250 215 +47 18 +226 18 +277 18 +218 18 +160 123 +227 18 +59 254 +288 273 +188 160 +175 16 +4 30 +173 16 +290 283 +255 157 +293 159 +262 18 +305 279 +310 180 +312 251 +75 20 +263 180 +255 224 +297 178 +67 18 +18 155 Copied: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/TF_DNA_regulonDB.nwb (from rev 517, trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TF_DNA_regulonDB.nwb) =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/TF_DNA_regulonDB.nwb (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/NotUsed/TF_DNA_regulonDB.nwb 2007-09-17 17:19:02 UTC (rev 525) @@ -0,0 +1,4074 @@ +#Converted by Cesifoti for the NWB... :-) +*Nodes 1333 +id*int label*string +1 "aceA" +2 "aceB" +3 "aceE" +4 "aceF" +5 "aceK" +6 "ackA" +7 "acnA" +8 "acnB" +9 "acrA" +10 "acrB" +11 "acrD" +12 "acrE" +13 "acrF" +14 "acrR" +15 "acs" +16 "actP" +17 "ada" +18 "adhE" +19 "adiA" +20 "adiY" +21 "aer" +22 "agaA" +23 "agaB" +24 "agaC" +25 "agaD" +26 "agaI" +27 "agaR" +28 "agaS" +29 "agaV" +30 "agaW" +31 "agaY" +32 "agaZ" +33 "agp" +34 "ahpC" +35 "ahpF" +36 "aidB" +37 "alaT" +38 "alaU" +39 "alaV" +40 "alaW" +41 "alaX" +42 "aldA" +43 "aldB" +44 "alkA" +45 "alkB" +46 "allA" +47 "allB" +48 "allC" +49 "allD" +50 "allR" +51 "allS" +52 "alpA" +53 "alsA" +54 "alsB" +55 "alsC" +56 "alsE" +57 "alsI" +58 "alsR" +59 "amiA" +60 "amtB" +61 "ansB" +62 "appA" +63 "appB" +64 "appC" +65 "appY" +66 "araA" +67 "araB" +68 "araC" +69 "araD" +70 "araE" +71 "araF" +72 "araG" +73 "araH" +74 "araJ" +75 "arcA" +76 "argA" +77 "argB" +78 "argC" +79 "argD" +80 "argE" +81 "argF" +82 "argG" +83 "argH" +84 "argI" +85 "argK" +86 "argP" +87 "argR" +88 "argT" +89 "argU" +90 "argW" +91 "argX" +92 "aroA" +93 "aroF" +94 "aroG" +95 "aroH" +96 "aroL" +97 "aroM" +98 "aroP" +99 "asnA" +100 "asnB" +101 "asnC" +102 "aspA" +103 "aspV" +104 "asr" +105 "astA" +106 "astB" +107 "astC" +108 "astD" +109 "astE" +110 "atoA" +111 "atoB" +112 "atoC" +113 "atoD" +114 "atoE" +115 "bacA" +116 "baeR" +117 "baeS" +118 "bcsB" +119 "bcsZ" +120 "bdm" +121 "betA" +122 "betB" +123 "betI" +124 "betT" +125 "bglB" +126 "bglF" +127 "bglG" +128 "bioA" +129 "bioB" +130 "bioC" +131 "bioD" +132 "bioF" +133 "birA" +134 "bolA" +135 "borD" +136 "cadA" +137 "cadB" +138 "cadC" +139 "caiA" +140 "caiB" +141 "caiC" +142 "caiD" +143 "caiE" +144 "caiF" +145 "caiT" +146 "carA" +147 "carB" +148 "cbl" +149 "ccmA" +150 "ccmB" +151 "ccmC" +152 "ccmD" +153 "ccmE" +154 "ccmF" +155 "ccmG" +156 "ccmH" +157 "cdd" +158 "chbA" +159 "chbB" +160 "chbC" +161 "chbF" +162 "chbG" +163 "chbR" +164 "cheA" +165 "cheB" +166 "cheR" +167 "cheW" +168 "cheY" +169 "cheZ" +170 "chiA" +171 "cirA" +172 "codA" +173 "codB" +174 "copA" +175 "cpdB" +176 "cpxA" +177 "cpxP" +178 "cpxR" +179 "crp" +180 "crr" +181 "csgA" +182 "csgB" +183 "csgC" +184 "csgD" +185 "csgE" +186 "csgF" +187 "csgG" +188 "csiD" +189 "csiE" +190 "csiR" +191 "cspA" +192 "cspD" +193 "cstA" +194 "cueO" +195 "cueR" +196 "cusA" +197 "cusB" +198 "cusC" +199 "cusF" +200 "cusR" +201 "cusS" +202 "cvpA" +203 "cyaA" +204 "cydA" +205 "cydB" +206 "cydC" +207 "cydD" +208 "cynR" +209 "cynS" +210 "cynT" +211 "cynX" +212 "cyoA" +213 "cyoB" +214 "cyoC" +215 "cyoD" +216 "cyoE" +217 "cysA" +218 "cysB" +219 "cysC" +220 "cysD" +221 "cysG" +222 "cysH" +223 "cysI" +224 "cysJ" +225 "cysK" +226 "cysM" +227 "cysN" +228 "cysP" +229 "cysU" +230 "cysW" +231 "cytR" +232 "dadA" +233 "dadX" +234 "dctA" +235 "dcuA" +236 "dcuB" +237 "dcuC" +238 "dcuD" +239 "dcuR" +240 "dcuS" +241 "ddpA" +242 "ddpB" +243 "ddpC" +244 "ddpD" +245 "ddpF" +246 "ddpX" +247 "deoA" +248 "deoB" +249 "deoC" +250 "deoD" +251 "deoR" +252 "dhaK" +253 "dhaL" +254 "dhaM" +255 "dhaR" +256 "dinF" +257 "dinG" +258 "dmsA" +259 "dmsB" +260 "dmsC" +261 "dmsD" +262 "dnaA" +263 "dnaG" +264 "dnaN" +265 "dppA" +266 "dppB" +267 "dppC" +268 "dppD" +269 "dppF" +270 "dps" +271 "dsbA" +272 "dsbC" +273 "dsdA" +274 "dsdC" +275 "dsdX" +276 "dusB" +277 "ebgA" +278 "ebgC" +279 "ebgR" +280 "ecfI" +281 "ecpD" +282 "eda" +283 "edd" +284 "emrA" +285 "emrB" +286 "emrK" +287 "emrR" +288 "emrY" +289 "entA" +290 "entB" +291 "entC" +292 "entD" +293 "entE" +294 "entF" +295 "entS" +296 "envY" +297 "envZ" +298 "epd" +299 "evgA" +300 "evgS" +301 "exbB" +302 "exbD" +303 "exuR" +304 "exuT" +305 "fabA" +306 "fabB" +307 "fabR" +308 "fabZ" +309 "fadA" +310 "fadB" +311 "fadD" +312 "fadI" +313 "fadJ" +314 "fadL" +315 "fadR" +316 "fbaA" +317 "fdhF" +318 "fdnG" +319 "fdnH" +320 "fdnI" +321 "fecA" +322 "fecB" +323 "fecC" +324 "fecD" +325 "fecE" +326 "fecI" +327 "fecR" +328 "feoA" +329 "feoB" +330 "fepA" +331 "fepB" +332 "fepC" +333 "fepD" +334 "fepE" +335 "fepG" +336 "fes" +337 "fhlA" +338 "fhuA" +339 "fhuB" +340 "fhuC" +341 "fhuD" +342 "fhuE" +343 "fhuF" +344 "fimA" +345 "fimB" +346 "fimC" +347 "fimD" +348 "fimE" +349 "fimF" +350 "fimG" +351 "fimH" +352 "fimI" +353 "fis" +354 "fiu" +355 "fixA" +356 "fixB" +357 "fixC" +358 "fixX" +359 "fldA" +360 "fldB" +361 "flgA" +362 "flgB" +363 "flgC" +364 "flgD" +365 "flgE" +366 "flgF" +367 "flgG" +368 "flgH" +369 "flgI" +370 "flgJ" +371 "flgM" +372 "flgN" +373 "flhA" +374 "flhB" +375 "flhC" +376 "flhCflhD|" +377 "flhD" +378 "flhE" +379 "fliA" +380 "fliC" +381 "fliD" +382 "fliE" +383 "fliF" +384 "fliG" +385 "fliH" +386 "fliI" +387 "fliJ" +388 "fliK" +389 "fliL" +390 "fliM" +391 "fliN" +392 "fliO" +393 "fliP" +394 "fliQ" +395 "fliR" +396 "fliS" +397 "fliT" +398 "fliY" +399 "fliZ" +400 "flu" +401 "fnr" +402 "focA" +403 "focB" +404 "fpr" +405 "frdA" +406 "frdB" +407 "frdC" +408 "frdD" +409 "fruA" +410 "fruB" +411 "fruK" +412 "fruR" +413 "ftsA" +414 "ftsK" +415 "ftsQ" +416 "ftsZ" +417 "fucA" +418 "fucI" +419 "fucK" +420 "fucO" +421 "fucP" +422 "fucR" +423 "fucU" +424 "fumA" +425 "fumB" +426 "fumC" +427 "fur" +428 "gabD" +429 "gabP" +430 "gabT" +431 "gadA" +432 "gadB" +433 "gadC" +434 "gadE" +435 "gadW" +436 "gadX" +437 "galE" +438 "galK" +439 "galM" +440 "galP" +441 "galR" +442 "galS" +443 "galT" +444 "gapA" +445 "garD" +446 "garK" +447 "garL" +448 "garP" +449 "garR" +450 "gatA" +451 "gatB" +452 "gatC" +453 "gatD" +454 "gatR_2gatR_1|" +455 "gatY" +456 "gatZ" +457 "gcd" +458 "gcl" +459 "gcvA" +460 "gcvB" +461 "gcvH" +462 "gcvP" +463 "gcvR" +464 "gcvT" +465 "gdhA" +466 "glcA" +467 "glcB" +468 "glcC" +469 "glcD" +470 "glcE" +471 "glcF" +472 "glcG" +473 "glgA" +474 "glgC" +475 "glgP" +476 "glgS" +477 "glk" +478 "glmS" +479 "glmU" +480 "glnA" +481 "glnB" +482 "glnG" +483 "glnH" +484 "glnK" +485 "glnL" +486 "glnP" +487 "glnQ" +488 "glnU" +489 "glnV" +490 "glnW" +491 "glnX" +492 "glpA" +493 "glpB" +494 "glpC" +495 "glpD" +496 "glpE" +497 "glpF" +498 "glpG" +499 "glpK" +500 "glpQ" +501 "glpR" +502 "glpT" +503 "glpX" +504 "gltA" +505 "gltB" +506 "gltD" +507 "gltF" +508 "gltI" +509 "gltJ" +510 "gltK" +511 "gltL" +512 "gltT" +513 "gltU" +514 "gltV" +515 "gltW" +516 "glxK" +517 "glxR" +518 "glyA" +519 "glyT" +520 "glyU" +521 "gnd" +522 "gntK" +523 "gntP" +524 "gntR" +525 "gntT" +526 "gntU" +527 "gor" +528 "grpE" +529 "grxA" +530 "guaA" +531 "guaB" +532 "gudD" +533 "gudP" +534 "gudX" +535 "gutM" +536 "gutQ" +537 "gyrA" +538 "gyrB" +539 "hcaB" +540 "hcaC" +541 "hcaD" +542 "hcaE" +543 "hcaF" +544 "hcaR" +545 "hcp" +546 "hcr" +547 "hdeA" +548 "hdeB" +549 "hdeD" +550 "hdfR" +551 "hemA" +552 "hemF" +553 "hemL" +554 "hflD" +555 "hisJ" +556 "hisM" +557 "hisP" +558 "hisQ" +559 "hisR" +560 "hlyE" +561 "hmp" +562 "hns" +563 "hpt" +564 "htrA" +565 "htrE" +566 "hupA" +567 "hupAhupB|" +568 "hupB" +569 "hyaA" +570 "hyaB" +571 "hyaC" +572 "hyaD" +573 "hyaE" +574 "hyaF" +575 "hybA" +576 "hybB" +577 "hybC" +578 "hybD" +579 "hybE" +580 "hybF" +581 "hybG" +582 "hybO" +583 "hycA" +584 "hycB" +585 "hycC" +586 "hycD" +587 "hycE" +588 "hycF" +589 "hycG" +590 "hycH" +591 "hycI" +592 "hydN" +593 "hyfA" +594 "hyfB" +595 "hyfC" +596 "hyfD" +597 "hyfE" +598 "hyfF" +599 "hyfG" +600 "hyfH" +601 "hyfI" +602 "hyfJ" +603 "hyfR" +604 "hyi" +605 "hypA" +606 "hypB" +607 "hypC" +608 "hypD" +609 "hypE" +610 "hypF" +611 "ibpB" +612 "icd" +613 "iclR" +614 "idnD" +615 "idnK" +616 "idnO" +617 "idnR" +618 "idnT" +619 "ihfA" +620 "ihfAihfB|" +621 "ihfB" +622 "ileT" +623 "ileU" +624 "ileV" +625 "ilvA" +626 "ilvB" +627 "ilvC" +628 "ilvD" +629 "ilvE" +630 "ilvH" +631 "ilvI" +632 "ilvL" +633 "ilvM" +634 "ilvN" +635 "ilvY" +636 "inaA" +637 "infB" +638 "insK" +639 "iscA" +640 "iscR" +641 "iscS" +642 "iscU" +643 "ivbL" +644 "katG" +645 "kbl" +646 "kdgR" +647 "kdpA" +648 "kdpB" +649 "kdpC" +650 "kdpE" +651 "lacA" +652 "lacI" +653 "lacY" +654 "lacZ" +655 "lamB" +656 "lctD" +657 "lctP" +658 "lctR" +659 "leuA" +660 "leuB" +661 "leuC" +662 "leuD" +663 "leuL" +664 "leuO" +665 "leuP" +666 "leuQ" +667 "leuT" +668 "leuV" +669 "leuW" +670 "leuX" +671 "lexA" +672 "livF" +673 "livG" +674 "livH" +675 "livJ" +676 "livK" +677 "livM" +678 "lon" +679 "lpdA" +680 "lpxA" +681 "lpxD" +682 "lrhA" +683 "lrp" +684 "lsrA" +685 "lsrB" +686 "lsrC" +687 "lsrD" +688 "lsrF" +689 "lsrG" +690 "lsrR" +691 "lysA" +692 "lysR" +693 "lysT" +694 "lysU" +695 "lysV" +696 "lysW" +697 "lyxK" +698 "malE" +699 "malF" +700 "malG" +701 "malI" +702 "malK" +703 "malM" +704 "malP" +705 "malQ" +706 "malS" +707 "malT" +708 "malX" +709 "malY" +710 "malZ" +711 "manX" +712 "manY" +713 "manZ" +714 "marA" +715 "marB" +716 "marR" +717 "mazE" +718 "mazF" +719 "mdh" +720 "mdtA" +721 "mdtB" +722 "mdtC" +723 "mdtD" +724 "melA" +725 "melB" +726 "melR" +727 "metA" +728 "metB" +729 "metC" +730 "metE" +731 "metF" +732 "metH" +733 "metI" +734 "metJ" +735 "metK" +736 "metL" +737 "metN" +738 "metQ" +739 "metR" +740 "metT" +741 "metU" +742 "metY" +743 "mglA" +744 "mglB" +745 "mglC" +746 "mgrB" +747 "mgtA" +748 "mhpA" +749 "mhpB" +750 "mhpC" +751 "mhpD" +752 "mhpE" +753 "mhpF" +754 "mhpR" +755 "micF" +756 "mlc" +757 "mngA" +758 "mngB" +759 "mngR" +760 "mntH" +761 "mntR" +762 "moaA" +763 "moaB" +764 "moaC" +765 "moaD" +766 "moaE" +767 "modA" +768 "modB" +769 "modC" +770 "modE" +771 "moeA" +772 "moeB" +773 "motA" +774 "motB" +775 "mpl" +776 "mreB" +777 "mreC" +778 "mreD" +779 "mtlA" +780 "mtlD" +781 "mtlR" +782 "mtr" +783 "mukB" +784 "mukE" +785 "mukF" +786 "nac" +787 "nadB" +788 "nadR" +789 "nagA" +790 "nagB" +791 "nagC" +792 "nagD" +793 "nagE" +794 "nanA" +795 "nanC" +796 "nanE" +797 "nanK" +798 "nanR" +799 "nanT" +800 "napA" +801 "napB" +802 "napC" +803 "napD" +804 "napF" +805 "napG" +806 "napH" +807 "narG" +808 "narH" +809 "narI" +810 "narJ" +811 "narK" +812 "narL" +813 "narP" +814 "narX" +815 "ndh" +816 "nfnB" +817 "nfo" +818 "nfsA" +819 "nhaA" +820 "nhaR" +821 "nikA" +822 "nikB" +823 "nikC" +824 "nikD" +825 "nikE" +826 "nikR" +827 "nirB" +828 "nirC" +829 "nirD" +830 "nmpC" +831 "nohA" +832 "norR" +833 "norV" +834 "norW" +835 "nrdA" +836 "nrdB" +837 "nrdD" +838 "nrdE" +839 "nrdF" +840 "nrdG" +841 "nrdH" +842 "nrdI" +843 "nrfA" +844 "nrfB" +845 "nrfC" +846 "nrfD" +847 "nrfE" +848 "nrfF" +849 "nrfG" +850 "nsrR" +851 "nuoA" +852 "nuoB" +853 "nuoC" +854 "nuoE" +855 "nuoF" +856 "nuoG" +857 "nuoH" +858 "nuoI" +859 "nuoJ" +860 "nuoK" +861 "nuoL" +862 "nuoM" +863 "nuoN" +864 "nupC" +865 "nupG" +866 "nusA" +867 "ompA" +868 "ompC" +869 "ompF" +870 "ompR" +871 "ompW" +872 "ompX" +873 "omrA" +874 "omrB" +875 "oppA" +876 "oppB" +877 "oppC" +878 "oppD" +879 "oppF" +880 "osmB" +881 "osmC" +882 "osmE" +883 "osmY" +884 "oxyR" +885 "paaA" +886 "paaB" +887 "paaC" +888 "paaD" +889 "paaE" +890 "paaF" +891 "paaG" +892 "paaH" +893 "paaI" +894 "paaJ" +895 "paaK" +896 "paaX" +897 "paaZ" +898 "pagP" +899 "pckA" +900 "pdhR" +901 "pdxA" +902 "pepA" +903 "pepT" +904 "pfkA" +905 "pflB" +906 "pgk" +907 "pgm" +908 "pgmA" +909 "pheM" +910 "pheU" +911 "pheV" +912 "phnC" +913 "phnD" +914 "phnE" +915 "phnF" +916 "phnG" +917 "phnH" +918 "phnI" +919 "phnJ" +920 "phnK" +921 "phnL" +922 "phnM" +923 "phnN" +924 "phnO" +925 "phnP" +926 "phoA" +927 "phoB" +928 "phoE" +929 "phoH" +930 "phoP" +931 "phoQ" +932 "phoR" +933 "phoU" +934 "phr" +935 "pitA" +936 "pncB" +937 "pnp" +938 "polA" +939 "polB" +940 "potF" +941 "potG" +942 "potH" +943 "potI" +944 "poxB" +945 "ppiA" +946 "ppiD" +947 "ppsA" +948 "pqiA" +949 "pqiB" +950 "proK" +951 "proL" +952 "proM" +953 "proP" +954 "proV" +955 "proW" +956 "proX" +957 "prpB" +958 "prpC" +959 "prpD" +960 "prpE" +961 "prpR" +962 "prsA" +963 "psd" +964 "psiE" +965 "psiF" +966 "pspA" +967 "pspB" +968 "pspC" +969 "pspD" +970 "pspE" +971 "pspF" +972 "pspG" +973 "pstA" +974 "pstB" +975 "pstC" +976 "pstS" +977 "ptsG" +978 "ptsH" +979 "ptsI" +980 "purA" +981 "purB" +982 "purC" +983 "purD" +984 "purE" +985 "purF" +986 "purH" +987 "purK" +988 "purL" +989 "purM" +990 "purN" +991 "purR" +992 "putA" +993 "putP" +994 "pykF" +995 "pyrC" +996 "pyrD" +997 "qseB" +998 "qseC" +999 "queA" +1000 "rbfA" +1001 "rbsA" +1002 "rbsB" +1003 "rbsC" +1004 "rbsD" +1005 "rbsK" +1006 "rbsR" +1007 "rcsA" +1008 "rcsArcsB|" +1009 "rdoA" +1010 "recA" +1011 "recF" +1012 "recN" +1013 "recX" +1014 "rhaA" +1015 "rhaB" +1016 "rhaD" +1017 "rhaR" +1018 "rhaS" +1019 "rhaT" +1020 "ribA" +1021 "rimK" +1022 "rimM" +1023 "rng" +1024 "rnpB" +1025 "rob" +1026 "rplB" +1027 "rplC" +1028 "rplD" +1029 "rplM" +1030 "rplP" +1031 "rplS" +1032 "rplT" +1033 "rplV" +1034 "rplW" +1035 "rpmC" +1036 "rpoD" +1037 "rpoE" +1038 "rpoH" +1039 "rpoS" +1040 "rpsC" +1041 "rpsI" +1042 "rpsJ" +1043 "rpsO" +1044 "rpsP" +1045 "rpsQ" +1046 "rpsS" +1047 "rpsU" +1048 "rrfA" +1049 "rrfB" +1050 "rrfC" +1051 "rrfD" +1052 "rrfE" +1053 "rrfF" +1054 "rrfG" +1055 "rrfH" +1056 "rrlA" +1057 "rrlB" +1058 "rrlC" +1059 "rrlD" +1060 "rrlE" +1061 "rrlG" +1062 "rrlH" +1063 "rrnA" +1064 "rrnB" +1065 "rrnC" +1066 "rrnD" +1067 "rrnE" +1068 "rrnG" +1069 "rrnH" +1070 "rseA" +1071 "rseB" +1072 "rseC" +1073 "rsmA" +1074 "rstA" +1075 "rstB" +1076 "rtcA" +1077 "rtcB" +1078 "rtcR" +1079 "rutA" +1080 "rutB" +1081 "rutC" +1082 "rutD" +1083 "rutE" +1084 "rutF" +1085 "rutG" +1086 "ruvA" +1087 "ruvB" +1088 "sbm" +1089 "sdaA" +1090 "sdaR" +1091 "sdhA" +1092 "sdhB" +1093 "sdhC" +1094 "sdhD" +1095 "sdiA" +1096 "seqA" +1097 "serA" +1098 "serC" +1099 "serT" +1100 "serX" +1101 "sgbE" +1102 "sgbH" +1103 "sgbU" +1104 "skp" +1105 "slp" +1106 "slyA" +1107 "slyB" +1108 "smpA" +1109 "smtA" +1110 "sodA" +1111 "sodB" +1112 "sohB" +1113 "soxR" +1114 "soxS" +1115 "speA" +1116 "speB" +1117 "speC" +1118 "spf" +1119 "spy" +1120 "sra" +1121 "sraI" +1122 "srlA" +1123 "srlB" +1124 "srlD" +1125 "srlE" +1126 "srlR" +1127 "ssb" +1128 "ssuA" +1129 "ssuB" +1130 "ssuC" +1131 "ssuD" +1132 "ssuE" +1133 "stpA" +1134 "sucA" +1135 "sucB" +1136 "sucC" +1137 "sucD" +1138 "sufA" +1139 "sufB" +1140 "sufC" +1141 "sufD" +1142 "sufE" +1143 "sufS" +1144 "sulA" +1145 "tap" +1146 "tar" +1147 "tauA" +1148 "tauB" +1149 "tauC" +1150 "tauD" +1151 "tdcA" +1152 "tdcB" +1153 "tdcC" +1154 "tdcD" +1155 "tdcE" +1156 "tdcF" +1157 "tdcG" +1158 "tdcR" +1159 "tdh" +1160 "tehA" +1161 "tehB" +1162 "thrT" +1163 "thrU" +1164 "thrV" +1165 "thrW" +1166 "tnaA" +1167 "tnaB" +1168 "tnaC" +1169 "tonB" +1170 "topA" +1171 "torA" +1172 "torC" +1173 "torD" +1174 "torR" +1175 "tppB" +1176 "tpr" +1177 "tpx" +1178 "treB" +1179 "treC" +1180 "treR" +1181 "trmA" +1182 "trmD" +1183 "trpA" +1184 "trpB" +1185 "trpC" +1186 "trpD" +1187 "trpE" +1188 "trpL" +1189 "trpR" +1190 "truB" +1191 "trxA" +1192 "trxC" +1193 "tsr" +1194 "tsx" +1195 "tufB" +1196 "tyrA" +1197 "tyrB" +1198 "tyrP" +1199 "tyrR" +1200 "tyrT" +1201 "tyrU" +1202 "tyrV" +1203 "ubiA" +1204 "ubiC" +1205 "ubiG" +1206 "ubiX" +1207 "udp" +1208 "ugpA" +1209 "ugpB" +1210 "ugpC" +1211 "ugpE" +1212 "ugpQ" +1213 "uhpA" +1214 "uhpT" +1215 "uidA" +1216 "uidB" +1217 "uidR" +1218 "ulaA" +1219 "ulaB" +1220 "ulaC" +1221 "ulaD" +1222 "ulaE" +1223 "ulaF" +1224 "ulaG" +1225 "ulaR" +1226 "umuC" +1227 "umuD" +1228 "ung" +1229 "upp" +1230 "uraA" +1231 "uspA" +1232 "uvrA" +1233 "uvrB" +1234 "uvrC" +1235 "uvrD" +1236 "uvrY" +1237 "uxaA" +1238 "uxaB" +1239 "uxaC" +1240 "uxuA" +1241 "uxuB" +1242 "uxuR" +1243 "valT" +1244 "valU" +1245 "valX" +1246 "valY" +1247 "wcaA" +1248 "wcaB" +1249 "wza" +1250 "wzb" +1251 "wzc" +1252 "xapA" +1253 "xapB" +1254 "xapR" +1255 "xdhA" +1256 "xseA" +1257 "xylA" +1258 "xylB" +1259 "xylF" +1260 "xylG" +1261 "xylH" +1262 "xylR" +1263 "yadR" +1264 "yaiA" +1265 "ybaS" +1266 "ybbV" +1267 "ybbW" +1268 "ybbY" +1269 "ybdB" +1270 "ybdZ" +1271 "ybiS" +1272 "ybjC" +1273 "ybjG" +1274 "ybjN" +1275 "ycaC" +1276 "ycgR" +1277 "ychO" +1278 "ydeA" +1279 "ydeO" +1280 "ydiU" +1281 "ydjM" +1282 "yeaG" +1283 "yeaH" +1284 "yecR" +1285 "yeiL" +1286 "yfhD" +1287 "yfiD" +1288 "ygaC" +1289 "ygaF" +1290 "ygbA" +1291 "ygfG" +1292 "ygfH" +1293 "ygjG" +1294 "yhbC" +1295 "yhcH" +1296 "yhdE" +1297 "yhdW" +1298 "yhdX" +1299 "yhdY" +1300 "yhdZ" +1301 "yhfA" +1302 "yhgH" +1303 "yhgI" +1304 "yhhY" +1305 "yhjH" +1306 "yiaJ" +1307 "yiaK" +1308 "yiaL" +1309 "yiaM" +1310 "yiaN" +1311 "yiaO" +1312 "yjcH" +1313 "yjiD" +1314 "ylbA" +1315 "ynfE" +1316 "ynfF" +1317 "ynfG" +1318 "ynfH" +1319 "yodA" +1320 "yqjI" +1321 "yrbL" +1322 "ysgA" +1323 "ytfE" +1324 "zntA" +1325 "zntR" +1326 "znuA" +1327 "znuB" +1328 "znuC" +1329 "zraP" +1330 "zraR" +1331 "zraS" +1332 "zur" +1333 "zwf" +*UndirectedEdges +source*int target*int weight*int +829 813 1 +829 812 1 +75 578 -1 +75 579 -1 +75 576 -1 +75 577 -1 +75 574 1 +75 575 -1 +75 572 1 +75 573 1 +75 570 1 +75 571 1 +954 562 -1 +845 401 1 +427 289 -1 +225 218 1 +685 179 1 +493 401 1 +436 137 1 +812 149 -1 +213 179 1 +50 458 -1 +812 144 -1 +683 1061 -1 +548 1174 1 +443 441 -1 +443 442 -1 +1286 1025 1 +75 719 -1 +858 620 -1 +850 561 -1 +469 468 1 +555 482 1 +896 895 -1 +930 728 1 +772 401 -1 +896 894 -1 +427 1270 -1 +434 433 1 +427 425 1 +434 431 1 +896 891 -1 +704 179 1 +935 401 1 +671 256 -1 +671 257 -1 +412 204 1 +412 205 1 +620 457 1 +868 620 -1 +711 179 1 +786 507 -1 +828 353 -1 +786 505 -1 +707 655 1 +756 711 -1 +756 713 -1 +756 712 -1 +752 179 1 +324 179 1 +562 428 1 +562 429 1 +598 401 -1 +643 179 1 +274 273 1 +596 401 -1 +706 179 1 +434 380 1 +620 487 1 +421 179 1 +930 79 -1 +640 1280 1 +89 353 1 +812 546 1 +603 179 1 +32 179 1 +502 401 1 +812 573 -1 +468 467 1 +468 466 1 +562 398 1 +562 399 1 +788 787 -1 +383 376 1 +1306 1101 -1 +1306 1103 -1 +1306 1102 -1 +448 401 1 +75 1278 -1 +436 136 1 +971 970 1 +493 376 1 +590 337 1 +484 482 1 +431 1174 -1 +884 1142 1 +499 179 1 +766 401 1 +620 276 1 +812 319 1 +620 270 1 +927 104 1 +749 179 1 +884 1143 1 +507 434 1 +560 179 1 +616 179 1 +806 640 -1 +695 353 1 +870 187 1 +870 186 1 +870 185 1 +870 184 1 +51 1314 1 +714 1025 -1 +1152 1151 1 +632 620 -1 +401 240 1 +290 179 1 +179 1167 1 +179 1166 1 +298 179 1 +688 179 1 +683 630 1 +683 633 -1 +179 1168 1 +804 401 1 +144 139 1 +401 12 1 +401 13 1 +562 170 -1 +828 812 1 +828 813 1 +401 18 1 +562 144 -1 +562 375 1 +401 1239 1 +562 377 1 +6 401 1 +651 562 -1 +401 1230 1 +401 1237 1 +562 379 1 +779 353 -1 +770 258 -1 +770 259 -1 +770 769 -1 +770 250 -1 +827 353 -1 +734 34 -1 +75 4 -1 +75 5 -1 +75 6 1 +75 7 -1 +179 1303 1 +75 1 -1 +75 2 -1 +75 3 -1 +791 479 -1 +791 478 -1 +427 1136 1 +179 1309 1 +179 1308 1 +179 1097 1 +683 675 -1 +179 1094 1 +179 1093 1 +179 1092 1 +179 1091 1 +683 674 -1 +620 1111 -1 +620 1110 -1 +401 1156 1 +401 1157 1 +401 1154 1 +401 1155 1 +401 1152 1 +401 1153 1 +559 353 1 +617 526 -1 +617 524 -1 +188 179 1 +617 522 -1 +813 319 -1 +813 318 -1 +853 401 -1 +998 997 1 +70 68 1 +321 179 1 +179 1238 1 +634 179 1 +853 75 -1 +179 1237 1 +353 1202 1 +482 246 1 +763 296 1 +482 244 1 +482 243 1 +482 242 1 +482 241 1 +210 208 1 +683 1055 -1 +620 1203 -1 +900 401 1 +958 179 1 +620 1204 -1 +965 927 1 +683 1054 -1 +821 401 1 +927 1210 -1 +886 620 1 +1309 1306 -1 +620 258 -1 +636 1025 1 +719 179 1 +494 179 1 +856 812 1 +75 569 1 +436 100 1 +860 401 -1 +708 701 -1 +991 1115 -1 +846 401 1 +690 689 -1 +272 178 1 +854 75 -1 +812 150 -1 +812 151 -1 +812 152 -1 +812 153 -1 +690 684 -1 +690 685 -1 +457 179 -1 +492 401 1 +231 179 1 +822 812 -1 +614 524 -1 +859 620 -1 +1271 1025 1 +861 620 -1 +182 178 -1 +620 259 -1 +786 172 1 +786 173 1 +75 493 -1 +75 492 -1 +75 495 -1 +75 494 -1 +494 376 1 +451 179 1 +759 758 -1 +620 483 1 +214 179 1 +116 1119 1 +223 218 1 +75 143 1 +75 142 1 +75 141 1 +75 140 1 +726 179 1 +75 145 1 +905 812 -1 +694 683 -1 +620 469 1 +671 263 -1 +75 64 1 +75 63 1 +75 62 1 +620 467 1 +620 466 1 +355 179 1 +353 1244 1 +353 1245 1 +353 1246 1 +190 1289 -1 +353 1243 1 +315 1231 -1 +526 524 -1 +756 707 -1 +707 683 1 +503 179 1 +869 178 -1 +869 179 1 +88 482 1 +75 1040 -1 +870 1175 1 +75 1042 -1 +75 1045 -1 +75 1046 -1 +200 197 1 +200 196 1 +991 147 -1 +229 218 1 +683 1058 -1 +955 562 -1 +651 179 -1 +562 560 1 +75 1262 1 +621 620 -1 +460 459 1 +779 179 1 +1325 1324 1 +123 122 -1 +434 432 1 +755 683 -1 +556 482 1 +502 501 -1 +564 562 -1 +683 1052 -1 +1126 1125 -1 +1126 1124 -1 +1126 1123 -1 +1126 1122 -1 +377 179 1 +299 288 1 +507 401 -1 +463 461 -1 +463 462 -1 +449 1090 1 +927 922 1 +299 286 1 +200 199 1 +209 208 1 +743 376 -1 +683 1048 -1 +683 1049 -1 +51 49 1 +51 48 1 +948 1114 1 +620 297 -1 +658 657 -1 +658 656 -1 +870 284 1 +179 1156 1 +144 142 1 +144 141 1 +144 140 1 +179 1152 1 +179 1153 1 +179 1151 1 +489 353 1 +61 401 1 +315 309 -1 +837 401 1 +562 189 1 +562 188 1 +482 1283 1 +715 1114 1 +654 652 -1 +482 1282 1 +620 5 1 +930 314 1 +562 345 -1 +562 344 1 +562 347 1 +562 346 1 +562 349 1 +793 179 1 +401 1204 -1 +850 1290 -1 +376 1296 1 +401 1203 -1 +482 105 1 +482 106 1 +482 107 1 +482 108 1 +482 109 1 +716 179 1 +1242 1240 -1 +857 812 1 +650 648 1 +644 401 1 +650 649 1 +391 376 1 +646 282 -1 +803 376 1 +475 179 1 +430 190 -1 +401 1145 1 +401 1146 1 +835 262 1 +744 442 -1 +801 376 1 +97 1189 -1 +215 179 1 +683 625 -1 +683 622 -1 +683 623 -1 +905 620 1 +878 75 -1 +683 628 -1 +683 629 -1 +510 376 1 +386 376 1 +179 1209 1 +179 1207 1 +930 1180 -1 +179 1205 1 +991 554 -1 +549 436 1 +793 791 -1 +549 434 1 +833 812 -1 +785 562 1 +562 1133 -1 +550 377 -1 +550 375 -1 +851 812 1 +823 812 -1 +887 620 1 +739 518 1 +786 506 -1 +903 401 1 +881 820 1 +745 353 -1 +179 1331 1 +716 1114 1 +596 179 1 +5 412 1 +771 75 1 +524 522 -1 +874 870 1 +1110 1025 1 +75 551 1 +620 1308 1 +620 1309 1 +96 1199 -1 +664 662 1 +683 1098 1 +551 401 -1 +620 1306 -1 +620 1307 1 +683 1097 -1 +845 376 1 +937 353 1 +1189 1186 -1 +854 401 -1 +889 620 1 +1189 1185 -1 +353 1099 1 +1189 1183 -1 +824 401 1 +848 353 -1 +986 930 1 +1189 1188 -1 +767 179 1 +884 527 1 +620 502 -1 +620 500 -1 +881 683 -1 +884 529 1 +620 504 1 +184 183 1 +184 182 1 +273 179 1 +1332 1328 -1 +1189 1184 -1 +1332 1327 -1 +937 179 -1 +930 898 1 +885 179 1 +852 353 1 +863 75 -1 +449 401 1 +940 482 1 +931 930 -1 +377 1008 -1 +862 75 -1 +671 1127 -1 +435 432 -1 +435 433 -1 +434 1195 1 +620 472 1 +620 470 1 +620 471 1 +815 75 1 +997 375 1 +896 893 -1 +994 412 -1 +978 756 -1 +827 401 1 +796 179 1 +964 179 -1 +58 53 -1 +412 221 -1 +58 57 -1 +58 56 -1 +58 55 -1 +58 54 -1 +353 1259 -1 +808 620 1 +679 353 1 +603 594 1 +603 595 1 +603 596 1 +603 597 1 +607 337 1 +603 598 1 +603 599 1 +536 535 1 +427 215 -1 +707 698 1 +707 699 1 +781 353 -1 +427 214 -1 +859 812 1 +852 620 -1 +412 316 -1 +854 620 -1 +640 1139 1 +640 1138 1 +75 1079 1 +756 179 -1 +538 353 -1 +870 830 -1 +761 760 -1 +75 1094 -1 +75 1093 -1 +75 1092 -1 +75 1091 -1 +812 154 -1 +683 1133 1 +91 353 1 +789 179 1 +605 337 1 +603 600 1 +603 601 1 +603 602 1 +387 376 1 +653 562 -1 +817 714 1 +897 179 1 +865 251 -1 +220 218 1 +51 50 -1 +506 401 -1 +715 714 1 +717 353 1 +401 1320 1 +1154 1151 1 +401 1322 -1 +401 266 -1 +401 267 -1 +683 1059 -1 +401 265 -1 +123 121 -1 +401 260 1 +401 261 1 +683 1053 -1 +836 179 1 +683 1051 -1 +683 1050 -1 +683 1057 -1 +683 1056 -1 +401 268 -1 +401 269 -1 +869 620 -1 +568 353 -1 +315 305 1 +315 306 1 +376 371 1 +376 370 1 +376 373 1 +376 372 1 +376 374 1 +595 337 1 +376 151 1 +376 150 1 +376 153 1 +376 152 1 +376 155 1 +376 154 1 +376 156 1 +891 620 1 +650 647 1 +792 179 1 +991 173 -1 +812 425 -1 +562 191 1 +562 192 1 +1158 1156 1 +700 179 1 +448 1090 1 +376 1284 1 +562 352 1 +562 353 1 +562 350 1 +562 351 1 +66 179 1 +464 401 1 +690 688 -1 +65 64 1 +65 62 1 +65 63 1 +938 262 1 +427 171 -1 +535 179 1 +4 179 1 +482 480 -1 +884 35 1 +884 34 1 +401 1134 -1 +401 1135 -1 +401 1136 -1 +401 1137 -1 +401 1130 1 +401 1131 1 +401 1132 1 +1217 1215 -1 +1217 1216 -1 +991 427 -1 +97 1199 -1 +671 1086 -1 +87 1000 -1 +944 1114 1 +179 1211 1 +179 1210 1 +179 1212 1 +179 1215 1 +179 1214 1 +179 1216 1 +179 1219 1 +179 1218 1 +979 179 -1 +991 1206 -1 +401 1040 1 +401 1041 -1 +401 1042 1 +900 179 1 +401 1044 -1 +303 1240 -1 +401 1046 1 +303 1242 -1 +547 434 1 +425 239 1 +820 819 1 +547 436 1 +417 179 1 +75 544 1 +826 812 -1 +992 714 1 +683 507 1 +562 38 -1 +683 505 1 +861 812 1 +641 640 -1 +564 178 1 +86 836 1 +600 337 1 +620 1312 -1 +620 1311 1 +620 1310 1 +480 179 -1 +844 353 -1 +616 524 -1 +353 1060 1 +353 1061 1 +353 1062 1 +353 1063 1 +353 1064 1 +353 1065 1 +353 1066 1 +353 1067 1 +353 1068 1 +353 1069 1 +684 179 1 +907 567 -1 +620 59 -1 +60 436 1 +562 432 -1 +825 401 1 +775 179 1 +991 989 -1 +991 988 -1 +375 179 1 +979 756 -1 +991 983 -1 +991 982 -1 +991 985 -1 +991 984 -1 +991 987 -1 +991 986 -1 +353 276 -1 +618 617 1 +562 431 -1 +829 353 -1 +1025 10 1 +50 1267 -1 +620 402 1 +179 144 1 +65 569 1 +178 11 1 +65 562 -1 +75 612 -1 +930 238 -1 +857 620 -1 +597 401 -1 +470 468 1 +353 1262 -1 +353 1260 -1 +353 1261 -1 +944 714 1 +976 927 1 +705 401 1 +698 179 1 +603 337 1 +718 353 1 +531 179 1 +487 353 -1 +94 1199 -1 +524 283 -1 +748 179 1 +490 353 1 +326 325 1 +326 324 1 +977 756 -1 +326 321 1 +326 323 1 +326 322 1 +813 151 -1 +813 150 -1 +560 1106 1 +849 813 1 +849 812 -1 +640 1140 1 +640 1141 1 +640 1142 1 +640 1143 1 +29 179 1 +754 748 1 +846 813 1 +850 1161 -1 +420 179 1 +75 1084 1 +75 1085 1 +75 1080 1 +75 1081 1 +602 401 -1 +75 1083 1 +303 1241 -1 +401 1045 1 +482 1079 1 +766 296 1 +427 1288 -1 +52 1105 1 +585 337 1 +737 734 -1 +881 1008 1 +620 221 -1 +732 427 -1 +506 434 1 +751 179 1 +635 627 1 +620 349 1 +412 298 -1 +897 896 -1 +416 1095 -1 +232 179 1 +376 366 1 +376 367 1 +376 364 1 +376 365 1 +376 362 1 +376 363 1 +401 215 -1 +276 179 1 +683 1066 -1 +683 1067 -1 +683 1064 -1 +683 1065 -1 +683 1062 -1 +683 1063 -1 +376 368 1 +376 369 1 +671 1281 -1 +561 401 -1 +315 314 -1 +315 312 1 +315 313 1 +315 310 -1 +315 311 -1 +714 426 1 +620 1076 1 +620 1077 1 +376 149 1 +501 179 1 +854 353 1 +401 21 1 +805 401 1 +1158 1153 1 +1158 1152 1 +1158 1151 1 +1158 1157 1 +812 1172 -1 +376 1276 1 +1158 1154 1 +462 459 -1 +401 329 1 +401 328 1 +401 320 1 +401 145 1 +179 1043 -1 +401 143 1 +890 179 1 +401 141 1 +401 140 1 +95 1189 -1 +401 149 1 +927 282 -1 +407 239 1 +401 1128 1 +884 1139 1 +884 1138 1 +812 569 -1 +483 482 -1 +779 412 -1 +813 320 -1 +681 178 1 +75 424 -1 +683 645 -1 +187 178 -1 +179 1134 1 +179 1135 1 +179 1136 1 +179 1137 1 +179 1260 1 +179 1261 1 +179 1262 1 +179 1269 1 +991 530 -1 +991 531 -1 +399 376 1 +848 813 1 +523 179 1 +683 461 1 +683 462 1 +683 464 1 +562 1111 -1 +899 412 1 +683 506 1 +928 927 1 +901 353 1 +71 179 1 +804 376 1 +826 821 -1 +826 823 -1 +826 822 -1 +826 825 -1 +826 824 -1 +721 116 1 +628 620 -1 +683 514 -1 +683 515 -1 +980 714 -1 +622 353 1 +683 513 -1 +384 376 1 +791 158 -1 +450 179 1 +845 353 -1 +9 714 1 +834 401 -1 +683 631 1 +864 231 -1 +425 353 -1 +353 1073 1 +86 835 1 +683 632 -1 +640 570 -1 +883 620 -1 +640 573 -1 +640 572 -1 +357 179 1 +991 990 -1 +830 620 -1 +452 179 1 +1250 1008 1 +425 179 1 +750 179 1 +909 401 -1 +9 14 -1 +482 1084 1 +482 1081 1 +87 106 1 +482 1083 1 +482 1082 1 +934 671 -1 +665 353 1 +557 482 1 +429 190 -1 +719 376 -1 +426 1025 1 +65 574 1 +65 571 1 +65 570 1 +65 573 1 +65 572 1 +1157 1151 1 +178 115 1 +683 677 -1 +178 117 1 +178 116 1 +495 179 1 +596 337 1 +226 218 1 +993 179 -1 +683 676 -1 +868 683 -1 +353 1100 1 +697 1306 -1 +530 353 1 +739 734 -1 +353 1293 1 +889 179 1 +353 1294 1 +714 1114 1 +426 1113 1 +868 178 1 +863 812 1 +116 11 1 +406 239 1 +562 443 -1 +562 512 -1 +562 513 -1 +568 179 1 +739 727 1 +1248 1008 1 +766 195 -1 +902 147 -1 +1225 1218 -1 +849 376 1 +930 789 1 +434 216 1 +434 215 1 +434 214 1 +434 213 1 +434 212 1 +620 238 1 +723 178 1 +862 812 1 +513 353 1 +500 179 1 +427 375 -1 +275 274 1 +977 353 -1 +562 204 -1 +562 205 -1 +422 418 1 +422 419 1 +401 204 -1 +401 205 -1 +401 206 1 +401 207 1 +855 620 -1 +422 417 1 +7 412 1 +179 1307 1 +179 1306 -1 +762 401 1 +249 231 -1 +976 620 1 +812 408 -1 +519 353 1 +812 402 -1 +653 652 -1 +715 179 1 +812 406 -1 +812 407 -1 +179 1302 1 +401 1277 -1 +778 376 1 +401 1275 -1 +179 1301 -1 +401 1270 1 +960 179 1 +113 112 1 +980 434 1 +851 75 -1 +865 231 -1 +501 500 -1 +401 334 1 +401 336 1 +401 337 1 +852 75 -1 +401 154 1 +401 155 1 +401 156 1 +768 179 1 +401 150 1 +401 151 1 +401 152 1 +401 153 1 +390 376 1 +812 576 -1 +812 577 -1 +401 1110 -1 +683 188 1 +812 572 -1 +408 401 1 +812 570 -1 +812 571 -1 +442 441 -1 +812 578 -1 +812 579 -1 +433 179 -1 +485 482 -1 +991 981 -1 +515 353 1 +765 296 1 +179 1126 1 +179 1125 1 +179 1124 1 +179 1123 1 +179 1122 1 +683 673 -1 +683 672 -1 +405 401 1 +802 770 1 +562 1109 1 +930 10 -1 +791 789 -1 +1008 1007 1 +930 135 1 +933 927 1 +60 482 1 +813 317 1 +327 326 1 +905 75 -1 +1114 10 1 +316 179 1 +791 160 -1 +791 163 -1 +791 162 -1 +620 1 1 +620 2 1 +876 683 -1 +877 770 -1 +800 401 1 +401 1151 1 +664 663 1 +528 179 1 +664 661 1 +664 660 1 +844 376 1 +422 420 1 +353 1043 1 +602 179 1 +844 620 -1 +427 213 -1 +427 212 -1 +427 216 -1 +353 1048 1 +353 1049 1 +834 832 1 +178 1193 -1 +812 1203 -1 +75 455 -1 +75 456 -1 +75 451 -1 +357 144 1 +75 453 -1 +75 452 -1 +810 620 1 +883 683 -1 +353 250 1 +398 376 1 +840 401 1 +783 562 1 +852 812 1 +427 327 -1 +427 326 -1 +427 325 -1 +427 324 -1 +427 323 -1 +427 322 -1 +427 321 -1 +943 482 1 +412 1 1 +412 2 1 +427 329 -1 +427 328 -1 +75 679 -1 +860 620 -1 +325 179 1 +884 400 -1 +7 179 1 +892 620 1 +179 145 1 +50 1266 -1 +179 143 1 +179 142 1 +179 141 1 +179 140 1 +179 1000 -1 +991 146 -1 +524 282 -1 +50 1268 -1 +765 401 1 +870 1120 -1 +831 427 -1 +179 1003 1 +814 401 -1 +687 179 1 +707 179 1 +179 1239 1 +939 671 -1 +845 813 1 +845 812 -1 +604 50 -1 +438 179 -1 +620 337 1 +670 353 1 +833 401 -1 +769 179 1 +740 353 1 +444 179 1 +251 249 -1 +251 248 -1 +848 620 -1 +961 959 1 +739 732 1 +739 730 1 +961 958 1 +872 401 -1 +251 247 -1 +356 144 1 +239 236 1 +239 234 1 +92 683 1 +795 179 1 +819 562 -1 +461 401 1 +471 468 1 +896 890 -1 +72 68 1 +72 179 1 +442 179 1 +203 179 -1 +637 353 1 +781 780 -1 +696 353 1 +791 713 -1 +617 179 1 +423 422 1 +422 421 1 +764 296 1 +843 813 1 +843 812 -1 +812 1204 -1 +401 239 1 +401 235 1 +401 237 1 +401 236 1 +233 179 1 +805 640 -1 +201 200 1 +7 401 -1 +961 957 1 +716 353 1 +75 450 -1 +563 179 1 +1153 1151 1 +1251 1008 1 +765 195 -1 +878 770 -1 +870 375 -1 +870 377 -1 +454 453 -1 +786 430 1 +1331 1330 1 +743 442 -1 +743 441 -1 +193 179 1 +544 539 1 +865 179 -1 +401 165 1 +896 887 -1 +401 166 1 +401 169 1 +401 168 1 +896 888 -1 +896 889 -1 +43 353 -1 +455 454 -1 +683 37 -1 +1174 1173 1 +714 353 1 +189 179 1 +999 353 1 +683 38 -1 +683 39 -1 +782 620 -1 +680 434 1 +849 620 -1 +179 1112 -1 +179 1110 1 +179 1111 -1 +179 1117 -1 +626 179 1 +179 1118 -1 +43 179 1 +774 178 -1 +1199 1196 -1 +1199 1197 -1 +1199 1198 -1 +991 172 -1 +69 179 1 +86 262 1 +86 264 1 +406 401 1 +945 231 -1 +633 620 -1 +423 179 1 +770 156 1 +514 353 1 +770 154 1 +61 179 1 +770 152 1 +770 151 1 +770 150 1 +200 198 1 +828 401 1 +297 179 -1 +975 927 1 +791 179 1 +436 401 -1 +667 353 1 +562 1007 -1 +1174 1172 1 +860 75 -1 +905 401 1 +179 1242 1 +179 1240 1 +179 1241 1 +829 562 -1 +844 812 -1 +844 813 1 +745 441 -1 +745 442 -1 +441 440 -1 +434 1279 1 +75 469 -1 +930 9 -1 +827 813 1 +827 812 1 +75 466 -1 +75 467 -1 +617 614 1 +617 615 1 +617 616 1 +714 1105 -1 +353 248 1 +353 249 1 +353 247 1 +27 24 -1 +27 25 -1 +27 26 -1 +427 330 -1 +427 331 -1 +395 376 1 +852 401 -1 +427 338 -1 +427 339 -1 +822 401 1 +429 179 1 +413 1008 1 +1078 1077 1 +896 886 -1 +966 620 1 +179 157 -1 +896 885 -1 +179 158 1 +179 159 1 +353 1059 1 +353 1058 1 +224 218 1 +594 401 -1 +829 412 -1 +353 1051 1 +353 1050 1 +353 1053 1 +353 1052 1 +353 1055 1 +353 1054 1 +353 1057 1 +353 1056 1 +300 299 1 +353 1120 1 +813 805 -1 +813 804 -1 +813 803 -1 +813 802 -1 +714 404 1 +813 800 -1 +412 282 -1 +412 283 -1 +446 1090 1 +412 18 -1 +31 27 -1 +830 179 1 +683 36 -1 +445 1090 1 +927 86 1 +849 353 -1 +501 492 -1 +811 401 1 +961 179 1 +356 179 1 +800 770 1 +880 1008 1 +620 143 -1 +87 866 -1 +715 1025 1 +508 376 1 +755 567 1 +1275 116 1 +755 562 -1 +416 1008 1 +815 353 -1 +486 482 -1 +770 260 -1 +798 1295 -1 +791 161 -1 +801 770 1 +562 221 -1 +964 927 1 +211 208 1 +794 179 1 +427 1169 -1 +977 179 1 +813 221 1 +73 179 1 +401 221 1 +434 308 1 +812 155 -1 +87 77 -1 +87 76 -1 +690 686 -1 +251 250 -1 +690 687 -1 +87 79 -1 +87 78 -1 +183 178 -1 +75 1082 1 +180 179 -1 +355 144 1 +401 1255 1 +975 620 1 +1180 1179 -1 +401 317 1 +847 620 -1 +734 427 -1 +715 353 1 +401 318 1 +401 319 1 +544 543 1 +292 179 1 +544 541 1 +544 540 1 +668 353 1 +802 376 1 +68 67 -1 +87 1190 -1 +353 15 -1 +353 16 -1 +1078 1076 1 +613 2 -1 +613 1 -1 +991 462 -1 +858 812 1 +724 179 1 +991 464 -1 +427 1114 1 +738 734 -1 +813 574 -1 +813 573 -1 +813 572 -1 +813 571 -1 +908 427 -1 +179 1101 1 +179 1103 1 +179 1102 1 +877 683 -1 +942 482 1 +884 179 1 +231 1194 -1 +861 75 -1 +74 68 1 +562 1164 -1 +1249 1008 1 +829 179 -1 +287 284 -1 +287 285 -1 +896 892 -1 +812 206 1 +812 207 1 +683 233 -1 +683 232 -1 +770 149 1 +828 412 -1 +436 434 1 +436 431 1 +436 433 1 +436 432 1 +114 112 1 +75 504 -1 +713 179 1 +187 184 1 +517 50 -1 +353 127 -1 +353 126 -1 +353 125 -1 +791 790 -1 +456 454 -1 +179 1259 1 +179 1258 1 +179 15 1 +179 1257 1 +179 1256 -1 +42 401 -1 +620 15 -1 +441 437 -1 +75 472 -1 +75 471 -1 +75 470 -1 +612 412 1 +441 439 -1 +441 438 -1 +991 518 -1 +431 179 -1 +442 440 -1 +722 116 1 +436 1265 1 +786 482 1 +834 813 -1 +834 812 -1 +936 179 -1 +803 770 1 +424 401 -1 +427 301 -1 +427 302 -1 +75 657 -1 +75 656 -1 +184 178 -1 +184 179 1 +75 658 -1 +812 318 1 +615 524 -1 +851 401 -1 +884 427 1 +847 813 1 +608 401 1 +978 412 -1 +179 161 1 +179 160 1 +179 163 1 +179 162 1 +251 1194 -1 +413 1095 -1 +829 401 1 +353 1024 -1 +720 178 1 +620 353 1 +620 352 1 +620 351 1 +620 350 1 +473 179 1 +87 80 -1 +87 81 -1 +87 82 -1 +87 83 -1 +87 84 -1 +742 353 1 +620 591 1 +620 590 1 +770 155 1 +786 465 -1 +602 337 1 +770 153 1 +186 1008 -1 +1262 1261 1 +1262 1260 1 +401 213 -1 +593 401 -1 +1114 1113 1 +401 212 -1 +1225 1224 -1 +99 101 1 +1225 1221 -1 +1225 1222 -1 +1225 1223 -1 +855 812 1 +810 401 1 +376 1023 1 +401 216 -1 +683 1068 -1 +401 214 -1 +39 353 1 +812 771 1 +814 770 1 +812 772 1 +567 443 -1 +873 870 1 +90 353 1 +870 179 -1 +671 1087 -1 +75 1177 -1 +683 1060 -1 +509 376 1 +401 355 1 +75 1178 1 +75 1179 1 +218 1150 1 +133 129 -1 +133 128 -1 +652 651 -1 +516 50 -1 +75 1287 1 +927 914 1 +927 917 1 +911 353 1 +927 916 1 +402 401 1 +780 353 -1 +595 179 1 +124 123 -1 +850 1160 -1 +701 179 -1 +1214 1213 1 +620 587 1 +464 459 -1 +771 401 -1 +905 179 1 +812 1173 -1 +620 585 1 +716 715 -1 +716 714 1 +388 376 1 +620 139 -1 +799 798 -1 +181 178 -1 +401 102 1 +762 296 1 +9 1025 1 +87 105 1 +857 75 -1 +87 107 1 +87 108 1 +87 109 1 +521 434 1 +870 755 1 +813 569 -1 +592 337 1 +860 812 1 +523 1242 -1 +277 179 1 +725 179 1 +37 353 1 +234 179 1 +875 75 -1 +620 1293 1 +221 179 -1 +812 239 -1 +835 353 1 +900 658 1 +87 742 -1 +900 656 1 +812 235 -1 +812 236 -1 +786 101 -1 +179 1004 1 +179 1005 1 +179 1006 1 +946 178 1 +179 1001 1 +179 1002 1 +430 179 1 +932 927 1 +178 1072 -1 +178 1070 -1 +178 1071 -1 +828 179 -1 +869 683 1 +120 1008 1 +847 353 -1 +415 1095 -1 +879 770 -1 +654 562 -1 +595 401 -1 +426 1114 1 +231 1038 -1 +614 179 1 +664 659 1 +763 195 -1 +75 402 -1 +75 401 -1 +883 179 -1 +709 701 -1 +45 17 -1 +44 17 1 +1018 1014 1 +812 320 1 +1158 1155 1 +405 239 1 +482 245 1 +625 620 -1 +353 221 -1 +567 1096 -1 +425 401 1 +618 179 1 +1180 1178 -1 +825 812 -1 +894 179 1 +117 116 1 +948 714 1 +640 639 -1 +184 1008 -1 +530 179 1 +33 179 1 +75 310 -1 +145 144 1 +385 376 1 +699 179 1 +179 175 1 +609 401 1 +179 171 1 +791 159 -1 +594 179 1 +218 217 1 +821 812 -1 +1019 1018 1 +995 991 -1 +989 401 -1 +620 344 1 +620 346 1 +620 347 1 +397 376 1 +933 401 1 +30 27 -1 +443 179 -1 +902 146 -1 +620 583 1 +620 586 1 +603 403 1 +620 584 1 +603 401 -1 +620 588 1 +620 589 1 +707 700 1 +707 702 1 +707 703 1 +707 704 1 +707 705 1 +707 706 1 +953 179 -1 +85 401 1 +947 412 1 +770 585 1 +598 337 1 +427 1094 1 +427 1093 1 +427 1092 1 +427 1091 1 +957 179 1 +401 144 1 +322 179 1 +461 459 -1 +930 747 1 +401 142 1 +75 136 -1 +75 137 -1 +38 353 1 +754 752 1 +20 19 1 +754 751 1 +75 139 1 +754 753 1 +418 179 1 +875 683 -1 +754 750 1 +815 620 -1 +536 1126 -1 +843 353 -1 +708 179 -1 +250 179 1 +428 179 1 +218 1147 1 +218 1149 1 +403 179 1 +841 427 -1 +133 130 -1 +133 131 -1 +133 132 -1 +427 1142 -1 +961 960 1 +714 1333 1 +427 294 -1 +806 401 1 +562 19 -1 +468 179 1 +784 562 1 +401 1129 1 +760 427 -1 +804 640 -1 +491 353 1 +567 437 -1 +381 376 1 +500 401 1 +859 75 -1 +930 746 1 +930 1080 1 +534 1090 1 +401 118 1 +401 119 1 +884 1140 1 +884 1141 1 +930 1085 1 +836 262 1 +231 1207 -1 +1308 1306 -1 +620 1198 -1 +764 401 1 +927 1212 -1 +69 68 -1 +927 1211 -1 +991 481 -1 +680 178 1 +404 1114 1 +806 376 1 +857 401 -1 +503 501 -1 +428 190 -1 +895 179 1 +862 401 -1 +681 434 1 +314 179 -1 +762 195 -1 +770 768 -1 +427 334 -1 +427 335 -1 +770 762 1 +770 763 1 +620 1285 1 +427 336 -1 +770 766 1 +770 767 -1 +401 1022 -1 +401 1026 1 +401 1027 1 +401 1024 1 +218 1148 1 +843 620 -1 +401 1028 1 +401 1029 -1 +360 1114 1 +824 812 -1 +27 22 -1 +772 75 1 +27 23 -1 +846 620 -1 +864 179 1 +403 401 -1 +855 353 1 +179 1018 1 +179 1017 1 +179 1016 1 +179 1015 1 +179 1014 1 +427 1141 -1 +629 620 -1 +427 1140 -1 +427 1143 -1 +802 640 -1 +186 178 -1 +186 179 1 +801 401 1 +279 278 -1 +812 317 -1 +812 1171 -1 +671 1144 -1 +353 103 1 +945 178 1 +279 277 -1 +42 179 1 +623 562 -1 +666 353 1 +584 337 1 +453 179 1 +431 401 -1 +249 179 1 +722 178 1 +777 376 1 +950 353 1 +424 179 1 +68 179 1 +709 179 -1 +1333 1025 1 +248 231 -1 +353 1312 -1 +216 179 1 +613 315 1 +487 482 -1 +979 412 -1 +75 309 -1 +307 305 -1 +307 306 -1 +71 68 1 +219 218 1 +823 401 1 +179 102 1 +597 337 1 +848 812 -1 +586 337 1 +353 1000 1 +813 149 -1 +714 10 1 +618 524 -1 +427 333 -1 +427 1319 1 +599 401 -1 +888 179 1 +1155 1151 1 +358 179 1 +482 1300 1 +567 438 -1 +1310 1306 -1 +14 10 -1 +996 991 -1 +858 75 -1 +75 234 -1 +75 237 1 +463 460 -1 +600 401 -1 +834 620 -1 +567 439 -1 +615 179 1 +593 179 1 +637 179 -1 +412 411 -1 +412 410 -1 +848 376 1 +537 191 1 +525 179 1 +28 27 -1 +671 414 -1 +75 124 -1 +75 121 -1 +434 1104 1 +75 123 -1 +75 122 -1 +885 620 1 +952 353 1 +754 749 1 +353 1170 1 +353 1176 1 +620 486 1 +813 806 -1 +218 1130 -1 +218 1131 -1 +218 1132 -1 +599 337 1 +427 1134 1 +427 1135 1 +839 427 -1 +427 1137 1 +642 640 -1 +683 1289 1 +683 1285 1 +842 427 -1 +427 1139 -1 +807 401 1 +991 1116 -1 +795 791 -1 +807 620 1 +759 757 -1 +402 179 1 +714 179 1 +379 376 1 +401 294 1 +401 1287 -1 +401 1284 1 +401 1285 -1 +669 353 1 +856 620 -1 +427 1138 -1 +848 401 1 +930 553 1 +1254 1253 1 +1254 1252 1 +492 376 1 +974 401 1 +484 436 1 +870 285 1 +870 287 1 +755 620 -1 +138 137 1 +138 136 1 +436 1174 -1 +770 764 1 +799 179 1 +817 1025 1 +927 1209 -1 +927 1208 -1 +583 337 1 +813 546 1 +813 545 1 +546 401 1 +671 1047 -1 +1274 1114 1 +624 353 1 +770 591 1 +770 590 1 +227 218 1 +533 1090 1 +846 376 1 +401 1035 1 +401 1034 1 +401 1031 -1 +401 1030 1 +401 1033 1 +401 1032 -1... [truncated message content] |
From: <hu...@us...> - 2007-09-17 14:22:29
|
Revision: 524 http://cishell.svn.sourceforge.net/cishell/?rev=524&view=rev Author: huangb Date: 2007-09-17 07:22:10 -0700 (Mon, 17 Sep 2007) Log Message: ----------- Update the bundle version to 0.7 Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.persistence/META-INF/MANIFEST.MF Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.persistence/META-INF/MANIFEST.MF 2007-09-17 14:17:26 UTC (rev 523) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/META-INF/MANIFEST.MF 2007-09-17 14:22:10 UTC (rev 524) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Persistence Plug-in Bundle-SymbolicName: org.cishell.reference.gui.persistence;singleton:=true -Bundle-Version: 0.6.0 +Bundle-Version: 0.7.0 Bundle-ClassPath: . Bundle-Localization: plugin Import-Package: org.cishell.app.service.datamanager, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 523 http://cishell.svn.sourceforge.net/cishell/?rev=523&view=rev Author: mwlinnem Date: 2007-09-17 07:17:26 -0700 (Mon, 17 Sep 2007) Log Message: ----------- Fixed bug in AnnotatedGraphReport. The chanceCorrect column values should now be the actual value instead of always being 100.0 Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java 2007-09-13 19:43:23 UTC (rev 522) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java 2007-09-17 14:17:26 UTC (rev 523) @@ -12,6 +12,7 @@ import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; +import org.cishell.testing.convertertester.core.tester2.util.FormatUtil; import org.osgi.service.log.LogService; public class AnnotatedGraphReportGenerator implements ReportGenerator { @@ -47,12 +48,13 @@ } else if (line.matches(NODE_LINE)) { String[] parts = line.split(" "); String rawConvName = parts[1]; + //raw names are now short names String convName = rawConvName.replaceAll("\"", ""); boolean wroteAttributes = false; for (int ii = 0; ii < convs.length ; ii++) { ConvResult cr = convs[ii]; - if (cr.getUniqueName().equals(convName)) { + if (cr.getShortName().equals(convName)) { int trusted; if (cr.isTrusted()) { @@ -61,15 +63,17 @@ trusted = 0; } - writer.write(line + " " + trusted + " " + - cr.getChanceCorrect() + " 1 " + "\r\n"); + writer.write(line + " " + trusted + + " " + + FormatUtil.formatToPercent(cr.getChanceCorrect()) + + " 1 " + "\r\n"); wroteAttributes = true; break; } } if (! wroteAttributes) { - writer.write(line + " 1 1.0 0" + "\r\n"); + writer.write(line + " 1 100.0 0" + "\r\n"); } } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2007-09-13 19:43:28
|
Revision: 522 http://cishell.svn.sourceforge.net/cishell/?rev=522&view=rev Author: mwlinnem Date: 2007-09-13 12:43:23 -0700 (Thu, 13 Sep 2007) Log Message: ----------- Added new fault analysis heuristic that gives converters that crash a higher chance of being at fault than the converters that precede them. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/FullTrustHeuristic.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/WeightedFullTrustHeuristic.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java 2007-09-13 18:47:33 UTC (rev 521) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java 2007-09-13 19:43:23 UTC (rev 522) @@ -22,7 +22,7 @@ import org.cishell.testing.convertertester.core.tester2.graphcomparison.NewGraphComparer; import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFaultHeuristic; -import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.FullTrustHeuristic; +import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.WeightedFullTrustHeuristic; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; @@ -84,7 +84,8 @@ Converter[] allConverters = converterGraph.getAllConverters(); - ChanceAtFaultHeuristic faultHeuristic = new FullTrustHeuristic(); + ChanceAtFaultHeuristic faultHeuristic = + new WeightedFullTrustHeuristic(); AllConvsResult allConvertersResult = ConvResultMaker.generate(allTestsResult, allConverters, faultHeuristic); Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java 2007-09-13 18:47:33 UTC (rev 521) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java 2007-09-13 19:43:23 UTC (rev 522) @@ -3,6 +3,7 @@ import java.util.Comparator; import org.cishell.testing.convertertester.core.converter.graph.Converter; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.filepass.FilePassFailure; public class ChanceAtFault { @@ -10,11 +11,11 @@ public static final Comparator COMPARE_BY_LIKELIHOOD = new CompareByLikelihood(); - private FilePassFailure failedFP; + private FilePassResult failedFP; private Converter c; private float chanceAtFault; - public ChanceAtFault(FilePassFailure failedFP, Converter c, float chanceAtFault) { + public ChanceAtFault(FilePassResult failedFP, Converter c, float chanceAtFault) { this.failedFP = failedFP; this.c = c; this.chanceAtFault = chanceAtFault; @@ -32,7 +33,7 @@ return this.c; } - public FilePassFailure getFailedFilePass() { + public FilePassResult getFailedFilePass() { return this.failedFP; } Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/FullTrustHeuristic.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/FullTrustHeuristic.java 2007-09-13 18:47:33 UTC (rev 521) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/FullTrustHeuristic.java 2007-09-13 19:43:23 UTC (rev 522) @@ -33,7 +33,7 @@ for (int ii = 0; ii < involvedCs.length; ii++) { uniqueInvolvedCs.add(involvedCs[ii]); } - //eliminate converters that are not trusted + //eliminate converters that are trusted List uniqueUntrustedCs = new ArrayList(); Iterator iter = uniqueInvolvedCs.iterator(); @@ -58,10 +58,10 @@ ChanceAtFault chanceAtFault = null; if (uniqueUntrustedCs.contains(c)) { chanceAtFault = - new ChanceAtFault((FilePassFailure) failFP, c, chanceEachAtFault); + new ChanceAtFault(failFP, c, chanceEachAtFault); } else { chanceAtFault = - new ChanceAtFault((FilePassFailure) failFP, c, 0.0f); + new ChanceAtFault(failFP, c, 0.0f); } chanceAtFaultList.add(chanceAtFault); Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/WeightedFullTrustHeuristic.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/WeightedFullTrustHeuristic.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/WeightedFullTrustHeuristic.java 2007-09-13 19:43:23 UTC (rev 522) @@ -0,0 +1,161 @@ +package org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.cishell.testing.convertertester.core.converter.graph.Converter; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; + +/** + * + * @author mwlinnem + * + * A less naive approach to assessing likelihood of fault, + * that gives higher weight to the converter that caused the error for + * failures in conversion, and increases chance at fault for converters + * involved more than once in the conversion path + */ +public class WeightedFullTrustHeuristic implements ChanceAtFaultHeuristic{ + + public static final Float TRUSTED_FAULT_SCORE = new Float(0); + public static final Float DEFAULT_FAULT_SCORE = new Float(1); + public static final Float FAILED_CONV_FAULT_SCORE = new Float(2); + + public ChanceAtFault[] determine(FilePassResult failFP, + Converter[] involvedCs, + Converter[] trustedCs) { + + List trustedCList = Arrays.asList(trustedCs); + + //eliminate converters that are trusted + + List unTrustedCs = new ArrayList(); + for (int ii = 0; ii < involvedCs.length; ii++) { + Converter c = involvedCs[ii]; + + if (! trustedCList.contains(c)) { + unTrustedCs.add(c); + } + } + + //assign fault scores to each untrusted converter + + Map convToFaultScore = new HashMap(); + + float totalFaultScore = 0.0f; + for (int ii = 0; ii < unTrustedCs.size(); ii++) { + Converter untrustedC = (Converter) unTrustedCs.get(ii); + + Float oldFaultScore = (Float) convToFaultScore.get(untrustedC); + Float newFaultScore; + if (oldFaultScore == null) { + //first occurrence of this converter + + if (! isConvThatFailed(untrustedC, failFP)) { + newFaultScore = DEFAULT_FAULT_SCORE; + } else { + newFaultScore = FAILED_CONV_FAULT_SCORE; + } + + } else { + //converter has occurred before + + newFaultScore = new Float(oldFaultScore.floatValue() + + DEFAULT_FAULT_SCORE.floatValue()); + } + + convToFaultScore.put(untrustedC, newFaultScore); + totalFaultScore += newFaultScore.floatValue(); + } + + //return chance each converter is at fault, based on fault scores. + + + List resultCAFList = new ArrayList(); + + + + + for (int ii = 0; ii < involvedCs.length; ii++) { + Converter involvedC = involvedCs[ii]; + + Float faultScore = (Float) convToFaultScore.get(involvedC); + //if there is no associated score... + if (faultScore == null) { + //this converter must have been removed because it was + //trusted, so give it the fault score for trusted converters. + faultScore = TRUSTED_FAULT_SCORE; + } + + float normalizedFaultScore = + faultScore.floatValue() / totalFaultScore; + + ChanceAtFault resultCAF = new ChanceAtFault(failFP, involvedC, + normalizedFaultScore); + + resultCAFList.add(resultCAF); + } + + return (ChanceAtFault[]) resultCAFList.toArray(new ChanceAtFault[0]); + + + + +// +// //easier to deal with as a list +// List trustedCList = Arrays.asList(trustedCs); +// +// //eliminate converters involved twice in the file pass +// +// Set uniqueInvolvedCs = new HashSet(); +// for (int ii = 0; ii < involvedCs.length; ii++) { +// uniqueInvolvedCs.add(involvedCs[ii]); +// } +// //eliminate converters that are trusted +// +// List uniqueUntrustedCs = new ArrayList(); +// Iterator iter = uniqueInvolvedCs.iterator(); +// while (iter.hasNext()) { +// Converter c = (Converter) iter.next(); +// if (! trustedCList.contains(c)) { +// //converter isn't trusted +// //add it to the list +// uniqueUntrustedCs.add(c); +// } else { +// //converter is trusted +// //do nothing +// } +// } +// +// float chanceEachAtFault = 1.0f / uniqueUntrustedCs.size(); +// +// List chanceAtFaultList = new ArrayList(); +// for (int ii = 0; ii < involvedCs.length; ii++) { +// Converter c = involvedCs[ii]; +// +// ChanceAtFault chanceAtFault = null; +// if (uniqueUntrustedCs.contains(c)) { +// chanceAtFault = +// new ChanceAtFault((FilePassFailure) failFP, c, chanceEachAtFault); +// } else { +// chanceAtFault = +// new ChanceAtFault((FilePassFailure) failFP, c, 0.0f); +// } +// +// chanceAtFaultList.add(chanceAtFault); +// } +// +// return (ChanceAtFault[]) +// chanceAtFaultList.toArray(new ChanceAtFault[0]); + } + + private boolean isConvThatFailed(Converter c, FilePassResult failFP) { + return failFP.failedWhileConverting() && + failFP.getFailedConverter() == c; + } +} Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java 2007-09-13 18:47:33 UTC (rev 521) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java 2007-09-13 19:43:23 UTC (rev 522) @@ -88,11 +88,6 @@ this.failedInvolvedPasses.add(fpr); } } - - System.out.println(conv.getUniqueName() + - " is involved in " + succeededInvolvedPasses.size() + " successful passes"); - System.out.println(conv.getUniqueName() + - " is involved in " + failedInvolvedPasses.size() + " failed passes"); } private void initializePercentPassed() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 521 http://cishell.svn.sourceforge.net/cishell/?rev=521&view=rev Author: mwlinnem Date: 2007-09-13 11:47:33 -0700 (Thu, 13 Sep 2007) Log Message: ----------- Added error analysis to all errors report, which infers the most likely sources of each error. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/DefaultErrorSourceAnalyzer.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSource.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSourceAnalyzer.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java 2007-09-12 18:19:29 UTC (rev 520) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java 2007-09-13 18:47:33 UTC (rev 521) @@ -14,6 +14,9 @@ import org.cishell.testing.convertertester.core.converter.graph.Converter; import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; +import org.cishell.testing.convertertester.core.tester2.reportgen.allerrors.analyzer.DefaultErrorSourceAnalyzer; +import org.cishell.testing.convertertester.core.tester2.reportgen.allerrors.analyzer.ErrorSource; +import org.cishell.testing.convertertester.core.tester2.reportgen.allerrors.analyzer.ErrorSourceAnalyzer; import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFault; import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllErrorReport; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; @@ -30,6 +33,8 @@ private LogService log; private AllErrorReport allErrorsReport; + private ErrorSourceAnalyzer errSourceAnalyzer = + new DefaultErrorSourceAnalyzer(); public AllErrorReportGenerator(LogService log) { this.log = log; @@ -69,6 +74,48 @@ List CafsWithSameExpln = (List) explnToCafs.get(expln); Map testToPassesToCafs = categorizeByTestAndPass(CafsWithSameExpln); + + ErrorSource[] errSources = + this.errSourceAnalyzer.analyze(testToPassesToCafs); + + report.println("--Error Source Analysis Summary--"); + + for (int jj = 0; jj < errSources.length; jj++) { + ErrorSource errSource = errSources[jj]; + + report.println(""); + + ChanceAtFault[] overallCafs = errSource.getCulprits(); + + if (overallCafs.length > 0) { + report.println(errSource.getComment()); + + Arrays.sort(overallCafs, + ChanceAtFault.COMPARE_BY_LIKELIHOOD); + + for (int kk = 0; kk < overallCafs.length; kk++) { + ChanceAtFault caf = overallCafs[kk]; + + report.println(caf.getConverter() + " (%" + + FormatUtil. + formatToPercent( + caf.getChanceAtFault()) + + " Chance At Fault)"); + } + + report.println(""); + + } else { + report.println("There is no converter common to all " + + "failed file passes with this error."); + report.println("This most likely means that there is " + + "more than one source that returns this error" + + " message."); + report.println(""); + } + } + report.println("--All Error Sources--"); + Set tests = testToPassesToCafs.keySet(); Iterator testIter = tests.iterator(); Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/DefaultErrorSourceAnalyzer.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/DefaultErrorSourceAnalyzer.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/DefaultErrorSourceAnalyzer.java 2007-09-13 18:47:33 UTC (rev 521) @@ -0,0 +1,121 @@ +package org.cishell.testing.convertertester.core.tester2.reportgen.allerrors.analyzer; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFault; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult; + +public class DefaultErrorSourceAnalyzer implements ErrorSourceAnalyzer { + + public ErrorSource[] analyze(Map testToPassesToCafs) { + + PotentialCulpritList potentialCulprits = new PotentialCulpritList(); + + Set tests = testToPassesToCafs.keySet(); + + Iterator testIter = tests.iterator(); + while (testIter.hasNext()) { + TestResult test = (TestResult) testIter.next(); + + Map passToCafs + = (Map) testToPassesToCafs.get(test); + + Set passes = passToCafs.keySet(); + Iterator passIter = passes.iterator(); + while (passIter.hasNext()) { + FilePassResult pass = (FilePassResult) passIter.next(); + + List cafList = (List) passToCafs.get(pass); + ChanceAtFault[] cafs = + (ChanceAtFault[]) cafList.toArray(new ChanceAtFault[0]); + + potentialCulprits.merge(cafs); + } + } + + ErrorSource onlyErrorSource = new ErrorSource( + "Assuming the error has only one source, the following " + + "converters are most likely to be that source.", + potentialCulprits.getCulprits()); + + return new ErrorSource[] {onlyErrorSource}; + } + + private class PotentialCulpritList { + private List pcs; + + public void merge(ChanceAtFault[] otherPCs) { + if (this.pcs != null) { + //set potential culprits to be intersection of + //new potential culprits and old. + List newPCs = new ArrayList(); + + for (int ii = 0; ii < this.pcs.size(); ii++) { + ChanceAtFault pc = (ChanceAtFault) this.pcs.get(ii); + + for (int jj = 0; jj < otherPCs.length; jj++) { + ChanceAtFault otherPC = otherPCs[jj]; + + if (pc.getConverter() == otherPC.getConverter() + && otherPC.getChanceAtFault() > 0.0f) { + + ChanceAtFault newPC = new ChanceAtFault(pc + .getFailedFilePass(), pc.getConverter(), pc + .getChanceAtFault() + + otherPC.getChanceAtFault()); + + newPCs.add(pc); + + break; + } + } + } + + this.pcs = newPCs; + + } else { + //add all chance at faults > 0.0f to potential culprit list + List newPCs = new ArrayList(); + for (int ii = 0; ii < otherPCs.length; ii++) { + ChanceAtFault pc = (ChanceAtFault) otherPCs[ii]; + + if (pc.getChanceAtFault() > 0.0f) { + newPCs.add(pc); + } + } + + this.pcs = newPCs; + } + } + + public ChanceAtFault[] getCulprits() { + //normalize chance at faults + float totalChanceAtFaults = 0.0f; + for (int ii = 0; ii < pcs.size(); ii++) { + ChanceAtFault pc = (ChanceAtFault) pcs.get(ii); + + totalChanceAtFaults += pc.getChanceAtFault(); + } + + List normalizedCafs = new ArrayList(); + for (int ii = 0; ii < pcs.size(); ii++) { + ChanceAtFault pc = (ChanceAtFault) pcs.get(ii); + + ChanceAtFault normPC = new ChanceAtFault( + pc.getFailedFilePass(), + pc.getConverter(), + pc.getChanceAtFault() / totalChanceAtFaults); + + normalizedCafs.add(normPC); + } + + return (ChanceAtFault[]) + normalizedCafs.toArray(new ChanceAtFault[0]); + } + } +} Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSource.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSource.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSource.java 2007-09-13 18:47:33 UTC (rev 521) @@ -0,0 +1,22 @@ +package org.cishell.testing.convertertester.core.tester2.reportgen.allerrors.analyzer; + +import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFault; + +public class ErrorSource { + + private String comment; + private ChanceAtFault[] cafs; + + public ErrorSource(String comment, ChanceAtFault[] cafs) { + this.comment = comment; + this.cafs = cafs; + } + + public String getComment() { + return this.comment; + } + + public ChanceAtFault[] getCulprits() { + return this.cafs; + } +} Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSourceAnalyzer.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSourceAnalyzer.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/analyzer/ErrorSourceAnalyzer.java 2007-09-13 18:47:33 UTC (rev 521) @@ -0,0 +1,7 @@ +package org.cishell.testing.convertertester.core.tester2.reportgen.allerrors.analyzer; + +import java.util.Map; + +public interface ErrorSourceAnalyzer { + public ErrorSource[] analyze(Map testToPassesToCafs); +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 520 http://cishell.svn.sourceforge.net/cishell/?rev=520&view=rev Author: mwlinnem Date: 2007-09-12 11:19:29 -0700 (Wed, 12 Sep 2007) Log Message: ----------- Now shows what specific file caused a given error. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-12 18:16:29 UTC (rev 519) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-12 18:19:29 UTC (rev 520) @@ -12,6 +12,7 @@ import org.cishell.testing.convertertester.core.tester2.reportgen.reports.ConvReport; import org.cishell.testing.convertertester.core.tester2.reportgen.reports.TestReport; import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult; import org.cishell.testing.convertertester.core.tester2.util.FormatUtil; import org.osgi.service.log.LogService; @@ -80,10 +81,17 @@ for (int ii = 0; ii < failureExplns.length; ii++) { ChanceAtFault failureExp = failureExplns[ii]; - + FilePassResult filePass = failureExp.getFailedFilePass(); + + if (filePass.failedWhileConverting()) { + report.println("While converting " + + filePass.getOriginalFileShortLabel() + + "..."); + } + String explanation = failureExp.getExplanation(); float chanceAtFault = failureExp.getChanceAtFault(); - + report.println(""); report.println(explanation); report.println(""); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 519 http://cishell.svn.sourceforge.net/cishell/?rev=519&view=rev Author: mwlinnem Date: 2007-09-12 11:16:29 -0700 (Wed, 12 Sep 2007) Log Message: ----------- No longer attempts to use directories as test files. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java 2007-09-12 18:01:51 UTC (rev 518) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java 2007-09-12 18:16:29 UTC (rev 519) @@ -127,7 +127,7 @@ File[] dirContents = dir.listFiles(); for (int ii = 0; ii < dirContents.length; ii++) { File fileInDir = dirContents[ii]; - if (! fileInDir.isHidden()) { + if (! fileInDir.isHidden() && !fileInDir.isDirectory()) { try { String testFilePath = fileInDir .getCanonicalPath(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2007-09-12 18:01:54
|
Revision: 518 http://cishell.svn.sourceforge.net/cishell/?rev=518&view=rev Author: mwlinnem Date: 2007-09-12 11:01:51 -0700 (Wed, 12 Sep 2007) Log Message: ----------- Lots of small changes. New converters (pajek MAT and isi) now work with the converter tester. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/FilePassSubGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/TestReportSubGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/util/FormatUtil.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java 2007-09-12 18:01:51 UTC (rev 518) @@ -6,8 +6,11 @@ import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.TreeSet; import java.util.concurrent.ConcurrentHashMap; @@ -17,7 +20,9 @@ public class ConverterGraph { private prefuse.data.Graph converterGraph; + private Set dataFormats; private Map inDataToConverters; + private Map outDataToConverters; private Map fileExtensionTestConverters; private Map fileExtensionCompareConverters; private Converter[] converters; @@ -33,13 +38,18 @@ this.converters = createConverters(converterRefs); inDataToConverters = - new HashMap();//<String, List<Convertere>>(); + new HashMap();//<String, List<Converter>>(); + outDataToConverters = + new HashMap();//<String, List<Converter>>(); + dataFormats = + new HashSet();//<String> fileExtensionTestConverters = new ConcurrentHashMap();//<String, List<ConverterPath>>(); fileExtensionCompareConverters = new ConcurrentHashMap();//<String, ConverterPath>(); - associateConverters(this.converters, this.inDataToConverters); + deriveDataFormats(this.converters, this.dataFormats); + associateConverters(this.converters, this.inDataToConverters, this.outDataToConverters); createConverterPaths(this.inDataToConverters, this.fileExtensionTestConverters, this.fileExtensionCompareConverters); } @@ -54,20 +64,28 @@ return (Converter[]) converters.toArray(new Converter[0]); } - private void associateConverters(Converter[] cs, Map hm){ + private void deriveDataFormats(Converter[] cs, Set dataFormats) { + for (int ii = 0; ii < cs.length; ii++) { + Converter c = cs[ii]; + + String inDataFormat = c.getInData(); + dataFormats.add(inDataFormat); + + String outDataFormat = c.getOutData(); + dataFormats.add(outDataFormat); + } + } + + private void associateConverters(Converter[] cs, + Map inDataToConvs, Map outDataToConvs){ for (int i = 0; i < cs.length; i++){ Converter c = cs[i]; - String s = c.getInData(); + String inDataFormat = c.getInData(); + addValueToListAssociatedWithKey(inDataToConvs, inDataFormat, c); - if(hm.get(s) == null){ - List l = new ArrayList(); - l.add(c); - hm.put(s, l); - } - else{ - ((List)hm.get(s)).add(c); - } + String outDataFormat = c.getOutData(); + addValueToListAssociatedWithKey(outDataToConvs, outDataFormat, c); } } @@ -142,7 +160,14 @@ } private static List removeReferences(List al, ConverterPath cp){ - List cs = new ArrayList(al); + List cs; + + if (al != null) { + cs = new ArrayList(al); + } else { + cs = new ArrayList(); + } + cs.removeAll(cp.getPath()); List forbidden = new ArrayList(); for(int i = 0; i < cs.size(); i++){ @@ -345,25 +370,32 @@ Map nodesToInt = new ConcurrentHashMap(); - String[] inDatas = new String[this.inDataToConverters.keySet().size()]; - inDatas = (String[])this.inDataToConverters.keySet().toArray(inDatas); - TreeSet nodeNameList = new TreeSet(); - //for each unique in_data... - for(int i = 0; i < inDatas.length; i++){ - String inData = inDatas[i]; + //for each unique data format + Iterator formatIter = this.dataFormats.iterator(); + while (formatIter.hasNext()) { + String dataFormat = (String) formatIter.next(); - //add the in_data string to our list of node names - nodeNameList.add(inData); + //add the data format string to our list of node names + nodeNameList.add(dataFormat); - List convsList = (List)this.inDataToConverters.get(inData); - Converter[] convs = new Converter[convsList.size()]; - convs = (Converter[])convsList.toArray(convs); + List inConvs = (List)this.inDataToConverters.get(dataFormat); + List outConvs = (List) this.outDataToConverters.get(dataFormat); - //for each converter associated with each in_data... - for(int j = 0; j < convs.length; j++){ - Converter c = convs[j]; + Set convs = new HashSet(); + + if (inConvs != null) { + convs.addAll(inConvs); + } + if (outConvs != null) { + convs.addAll(outConvs); + } + + Iterator convIter = convs.iterator(); + //for each converter that inputs or outputs this data format... + while (convIter.hasNext()) { + Converter c = (Converter) convIter.next(); //add the name of the converter to our list of node names nodeNameList.add(c.getShortName()); } @@ -412,7 +444,7 @@ Converter c = convs[j]; String convName = c.getShortName(); String convsOutputFormatName = c.getOutData(); - + System.out.println("Converters output format is " + convsOutputFormatName); String nodeNumber = nodeNameToInt.get(nodeName).toString(); String convNumber = nodeNameToInt.get(convName).toString(); String convsOutputNodeNumber = @@ -456,4 +488,16 @@ } return tempFile; } + + private void addValueToListAssociatedWithKey(Map m, Object key, Object value) { + + if(m.get(key) == null){ + List listOfValues = new ArrayList(); + listOfValues.add(value); + m.put(key, listOfValues); + } + else{ + ((List)m.get(key)).add(value); + } + } } \ No newline at end of file Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java 2007-09-12 18:01:51 UTC (rev 518) @@ -42,10 +42,20 @@ .getComparisonConverters(); List testResults = new ArrayList(); + +// System.out.println("Running test with the following converters..."); +// System.out.println("Test converters"); +// for (int ii = 0; ii < testConverters.size(); ii++) { +// System.out.println(testConverters.get(ii).getShortName()); +// } +// System.out.println("Comparison Converters"); +// for (int ii = 0 ; ii < comparisonConverters.size(); ii++) { +// System.out.println(comparisonConverters.get(ii).getShortName()); +// } for (int ii = 0; ii < testFileData.length; ii++) { Data[] originalFileData = testFileData[ii]; - + //System.out.println("Beginning test phase for file " + ii); // test conversion phase ConvertResult testPhaseResult = convert(originalFileData, @@ -60,6 +70,7 @@ } Data[] resultFileData = testPhaseResult.getResult(); + //System.out.println("Passed test phase for file " + ii); // comparison conversion (for original file) phase ConvertResult comparePhaseOrigResult = convert(originalFileData, @@ -132,6 +143,7 @@ Converter currentConverter = converters.get(0); try { for (int ii = 0; ii < converters.size(); ii++) { + //System.out.println("Going into converter " + ii); currentConverter = converters.get(ii); //no parameters used Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/TestFileKeeper.java 2007-09-12 18:01:51 UTC (rev 518) @@ -122,6 +122,8 @@ File dir = new File(dirName); + System.out.println("Looking in dir " + dirName); + File[] dirContents = dir.listFiles(); for (int ii = 0; ii < dirContents.length; ii++) { File fileInDir = dirContents[ii]; Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/AllConvsReportGenerator.java 2007-09-12 18:01:51 UTC (rev 518) @@ -13,6 +13,7 @@ import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; +import org.cishell.testing.convertertester.core.tester2.util.FormatUtil; import org.osgi.service.log.LogService; public class AllConvsReportGenerator implements ReportGenerator { @@ -92,9 +93,9 @@ report.println(""); report.println(" Average chance each converter is correct : " + - avgChanceCorrect); + FormatUtil.formatToPercent(avgChanceCorrect)); report.println(" Average % successful file passes : " + - avgPercentPassed); + FormatUtil.formatToPercent(avgPercentPassed)); report.println(""); Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-09-12 18:01:51 UTC (rev 518) @@ -13,6 +13,7 @@ import org.cishell.testing.convertertester.core.tester2.reportgen.reports.TestReport; import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult; +import org.cishell.testing.convertertester.core.tester2.util.FormatUtil; import org.osgi.service.log.LogService; public class ConvReportSubGenerator { @@ -55,9 +56,9 @@ + convResult.getNumFilePasses()); report.println(""); // report.println("% Passed : " -// + convResult.getPercentPassed()); +// + FormatUtil.formatToPercent(convResult.getPercentPassed())); report.println("% Chance of Flaw : " - + convResult.getChanceOfFlaw()); + + FormatUtil.formatToPercent(convResult.getChanceOfFlaw())); report.println(""); @@ -87,7 +88,7 @@ report.println(explanation); report.println(""); report.println("Chance this converter is responsible: " - + chanceAtFault); + + FormatUtil.formatToPercent(chanceAtFault)); report.println("----------"); } Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java 2007-09-12 18:01:51 UTC (rev 518) @@ -15,14 +15,13 @@ import org.cishell.testing.convertertester.core.converter.graph.Converter; import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFault; -import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllConvsReport; import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllErrorReport; -import org.cishell.testing.convertertester.core.tester2.reportgen.reports.ConvReport; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult; +import org.cishell.testing.convertertester.core.tester2.util.FormatUtil; import org.osgi.service.log.LogService; public class AllErrorReportGenerator implements ReportGenerator { @@ -87,6 +86,7 @@ FilePassResult pass = (FilePassResult) passIter.next(); report.println(" " + pass.getName()); + report.println(" " + pass.getOriginalFileShortLabel()); List cafs = (List) passToCafs.get(pass); @@ -101,7 +101,7 @@ if (associatedCaf.getChanceAtFault() > 0.0f) { report.println(" " + involvedConv.getShortName() + " (%" + - associatedCaf.getChanceAtFault() + + FormatUtil.formatToPercent(associatedCaf.getChanceAtFault()) + " Chance At Fault)"); } else { report.println(" " + Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/FilePassSubGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/FilePassSubGenerator.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/FilePassSubGenerator.java 2007-09-12 18:01:51 UTC (rev 518) @@ -68,6 +68,11 @@ report.println(""); if (! fpr.getExplanation().trim().equals("")) { + + if (fpr.failedWhileConverting()) { + report.println("Failed at " + fpr.getFailedConverter()); + } + report.println("Explanation... \r\n" + fpr.getExplanation()); } Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/TestReportSubGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/TestReportSubGenerator.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/alltests/TestReportSubGenerator.java 2007-09-12 18:01:51 UTC (rev 518) @@ -46,7 +46,12 @@ report.println(" # Failed File Passes : " + tr.getNumFilePassFailures()); report.println(" Total : " + tr.getNumFilePasses()); - float percentSuccessful = tr.getNumFilePassSuccesses() / tr.getNumFilePasses(); + float percentSuccessful; + if (tr.getNumFilePasses() > 0) { + percentSuccessful = tr.getNumFilePassSuccesses() / tr.getNumFilePasses(); + } else { + percentSuccessful = 0; + } report.println(""); report.println("---------------"); Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java 2007-09-12 18:01:51 UTC (rev 518) @@ -1,5 +1,6 @@ package org.cishell.testing.convertertester.core.tester2.reportgen.results; +import java.io.File; import java.util.ArrayList; import java.util.Comparator; import java.util.Iterator; @@ -53,6 +54,24 @@ boolean result = lastReachedPhase == PassPhase.SUCCEEDED_PHASE; return result; } + + public boolean failedWhileConverting() { + + boolean result = + (this.getLastReachedPhase().equals(PassPhase.TEST_CONV_PHASE) || + this.getLastReachedPhase().equals(PassPhase.COMPARE_CONV_ORIG_PHASE) || + this.getLastReachedPhase().equals(PassPhase.COMPARE_CONV_RESULT_PHASE)); + + return result; + } + + public boolean failedWhileComparingGraphs() { + + boolean result = + (this.getLastReachedPhase().equals(PassPhase.GRAPH_COMPARE_PHASE)); + + return result; + } public PassPhase getLastReachedPhase() { return this.lastReachedPhase; @@ -66,7 +85,7 @@ * Will return null if either this file pass did not fail, * or it did not fail due to a converter error (failed during * graph comparison) - * @return + * @return the failed converter, or null */ public Converter getFailedConverter() { return this.failedConverter; @@ -80,6 +99,15 @@ return (String) getOriginalData()[0].getMetaData().get(DataProperty.LABEL); } + public String getOriginalFileShortLabel() { + String label = getOriginalFileLabel(); + + int lastSeparatorIndex = label.lastIndexOf(File.separator); + + String shortLabel = label.substring(lastSeparatorIndex + 1); + return shortLabel; + } + public String getFileFormat() { return originalData[0].getFormat(); } Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java 2007-09-12 18:00:09 UTC (rev 517) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java 2007-09-12 18:01:51 UTC (rev 518) @@ -39,7 +39,12 @@ this.successes = new boolean[fprs.length]; - this.format = fprs[0].getFileFormat(); + if (fprs.length > 0) { + this.format = fprs[0].getFileFormat(); + } else { + this.format = "Unable to determine format for a test that has " + + "no file passes"; + } for (int ii = 0; ii < fprs.length; ii++) { FilePassResult fpr = fprs[ii]; Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/util/FormatUtil.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/util/FormatUtil.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/util/FormatUtil.java 2007-09-12 18:01:51 UTC (rev 518) @@ -0,0 +1,22 @@ +package org.cishell.testing.convertertester.core.tester2.util; + +public class FormatUtil { + + public static final int NUM_DECIMALS = 1; + + /** + * + * @param decimal 0.0f to 1.0f + * @return + */ + public static float formatToPercent(float decimal) { + + float temp = decimal; + temp *= 100f; + temp *= Math.pow(10.0, NUM_DECIMALS); + temp = Math.round(temp) / (float) (Math.pow(10.0, NUM_DECIMALS)); + float percent = temp; + + return percent; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2007-09-12 18:00:13
|
Revision: 517 http://cishell.svn.sourceforge.net/cishell/?rev=517&view=rev Author: mwlinnem Date: 2007-09-12 11:00:09 -0700 (Wed, 12 Sep 2007) Log Message: ----------- Added support for .mat, and removed some of the bigger graphs that were causing the mat converter to take ages. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/filetypes.conf Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webattrexample.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webparseinfoattr.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/wikipedia.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TF_DNA_regulonDB.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek MAT Files/WorldCities.mat trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/1.NET trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/1CRN.NET trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/AHO3.NET trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/LINKS.NET trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/MREZAS1.NET trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/SHORT.NET trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/TreeML Files/webexample.treeml.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/XGMML Files/xmlhackexample.xgmml.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/XGMML Files/xmlhackjavacourse.xgmml.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/XGMML Files/xmlhackvcard.xgmml.xml Removed Paths: ------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgeattributes1.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount1.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount2.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency1.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency2.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency3.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor1.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor2.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor3.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor4.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor5.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes2.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes3.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes4.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodecount2.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NET Files/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TestFile2.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TestFile4.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TestFile5.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TestFile6.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TestFile7.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile2.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/Pajek NET Files/TestFile3nocomment.net trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/TestFile8.net.1.nwb trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/TestFile8.net.1.nwb.1.xml trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/TestFile8.net.1.xml Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgeattributes1.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgeattributes1.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgeattributes1.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<key id="label" for="node" attr.name="label" attr.type="string"/> -<key id="label" for="edge" attr.name="label" attr.type="string"/> -<graph edgedefault="directed"> -<node id="0"> -<data key="label">A</data> -</node> -<node id="1"> -<data key="label">B</data> -</node> -<node id="2"> -<data key="label">C</data> -</node> -<node id="3"> -<data key="label">D</data> -</node> -<edge id="0" source="0" target="1"> -<data key="label">Monkey</data> -</edge> -<edge id="1" source="0" target="3"> -<data key="label">Warthog</data> -</edge> -<edge id="2" source="1" target="0"> -<data key="label">Salmon</data> -</edge> -<edge id="3" source="3" target="2"> -<data key="label">Hawk</data> -</edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount1.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount1.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount1.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="undirected"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="2" target="3"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount2.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount2.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgecount2.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="undirected"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="2" target="3"></edge> -<edge id="3" source="1" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency1.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency1.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency1.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="directed"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="3" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency2.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency2.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency2.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="directed"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="2"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="3" target="1"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency3.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency3.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/edgefrequency3.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="directed"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="3" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor1.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor1.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor1.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="directed"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="3" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor2.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor2.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor2.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="directed"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="2" target="3"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor3.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor3.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor3.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="undirected"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="2" target="3"></edge> -<edge id="3" source="1" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor4.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor4.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor4.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="undirected"> -<node id="0"></node> -<node id="1"></node> - -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="2" target="3"></edge> -<edge id="3" source="1" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor5.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor5.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/neighbor5.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="undirected"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="2" target="3"></edge> -<edge id="3" source="1" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes2.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes2.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes2.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<key id="label" for="node" attr.name="label" attr.type="string"/> - -<graph edgedefault="directed"> -<node id="0"> -<data key="label">A</data> -</node> -<node id="1"> -<data key="label">B</data> -</node> -<node id="2"> -<data key="label">C</data> -</node> -<node id="3"> -<data key="label">F</data> -</node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="3" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes3.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes3.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes3.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<key id="label" for="node" attr.name="label" attr.type="string"/> - -<graph edgedefault="directed"> -<node id="0"> -<data key="label">A</data> -</node> -<node id="1"> -<data key="label">B</data> -</node> -<node id="2"> -<data key="label">C</data> -</node> -<node id="3"> -<data key="label">D</data> -</node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="3" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes4.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes4.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodeattributes4.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<key id="label" for="node" attr.name="label" attr.type="string"/> - -<graph edgedefault="directed"> -<node id="0"> -<data key="label">A</data> -</node> -<node id="1"> -<data key="label">B</data> -</node> -<node id="2"> -<data key="label">D</data> -</node> -<node id="3"> -<data key="label">C</data> -</node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="1" target="0"></edge> -<edge id="3" source="3" target="2"></edge> -</graph> -</graphml> Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodecount2.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodecount2.xml 2007-09-12 04:36:19 UTC (rev 516) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/nodecount2.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns - http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - -<graph edgedefault="undirected"> -<node id="0"></node> -<node id="1"></node> -<node id="2"></node> -<node id="3"></node> -<edge id="0" source="0" target="1"></edge> -<edge id="1" source="0" target="3"></edge> -<edge id="2" source="2" target="3"></edge> -</graph> -</graphml> Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webattrexample.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webattrexample.xml (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webattrexample.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns + http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> + <key id="d0" for="node" attr.name="color" attr.type="string"> + <default>yellow</default> + </key> + <key id="d1" for="edge" attr.name="weight" attr.type="double"/> + <graph id="G" edgedefault="undirected"> + <node id="n0"> + <data key="d0">green</data> + </node> + <node id="n1"/> + <node id="n2"> + <data key="d0">blue</data> + </node> + <node id="n3"> + <data key="d0">red</data> + </node> + <node id="n4"/> + <node id="n5"> + <data key="d0">turquoise</data> + </node> + <edge id="e0" source="n0" target="n2"> + <data key="d1">1.0</data> + </edge> + <edge id="e1" source="n0" target="n1"> + <data key="d1">1.0</data> + </edge> + <edge id="e2" source="n1" target="n3"> + <data key="d1">2.0</data> + </edge> + <edge id="e3" source="n3" target="n2"/> + <edge id="e4" source="n2" target="n4"/> + <edge id="e5" source="n3" target="n5"/> + <edge id="e6" source="n5" target="n4"> + <data key="d1">1.1</data> + </edge> + </graph> +</graphml> \ No newline at end of file Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webparseinfoattr.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webparseinfoattr.xml (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/webparseinfoattr.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- This file was written by the JAVA GraphML Library.--> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns + http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> + <graph id="G" edgedefault="directed" + parse.nodes="11" parse.edges="12" + parse.maxindegree="2" parse.maxoutdegree="3" + parse.nodeids="canonical" parse.edgeids="free" + parse.order="nodesfirst"> + <node id="n0" parse.indegree="0" parse.outdegree="1"/> + <node id="n1" parse.indegree="0" parse.outdegree="1"/> + <node id="n2" parse.indegree="2" parse.outdegree="1"/> + <node id="n3" parse.indegree="1" parse.outdegree="2"/> + <node id="n4" parse.indegree="1" parse.outdegree="1"/> + <node id="n5" parse.indegree="2" parse.outdegree="1"/> + <node id="n6" parse.indegree="1" parse.outdegree="2"/> + <node id="n7" parse.indegree="2" parse.outdegree="0"/> + <node id="n8" parse.indegree="1" parse.outdegree="3"/> + <node id="n9" parse.indegree="1" parse.outdegree="0"/> + <node id="n10" parse.indegree="1" parse.outdegree="0"/> + <edge id="edge0001" source="n0" target="n2"/> + <edge id="edge0002" source="n1" target="n2"/> + <edge id="edge0003" source="n2" target="n3"/> + <edge id="edge0004" source="n3" target="n5"/> + <edge id="edge0005" source="n3" target="n4"/> + <edge id="edge0006" source="n4" target="n6"/> + <edge id="edge0007" source="n6" target="n5"/> + <edge id="edge0008" source="n5" target="n7"/> + <edge id="edge0009" source="n6" target="n8"/> + <edge id="edge0010" source="n8" target="n7"/> + <edge id="edge0011" source="n8" target="n9"/> + <edge id="edge0012" source="n8" target="n10"/> + </graph> +</graphml> \ No newline at end of file Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/wikipedia.xml =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/wikipedia.xml (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/GraphML Files/wikipedia.xml 2007-09-12 18:00:09 UTC (rev 517) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns15" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance16" + xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns17 + http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd18"> + <graph id="G" edgedefault="undirected"> + <node id="n0"/> + <node id="n1"/> + <edge source="n0" target="n1"/> + </graph> +</graphml> \ No newline at end of file Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/FlyMINT.nwb 2007-09-12 18:00:09 UTC (rev 517) @@ -0,0 +1,630 @@ +#Converted by Cesifoti for the NWB... :-) +*Nodes 330 +id*int label*string +1 "ACTB" +2 "AKAP1" +3 "ATPsyn-beta" +4 "Act57B" +5 "BEAF-32" +6 "BEST:CK01296" +7 "BG4" +8 "BG:DS00180.8" +9 "BM-40-SPARC" +10 "C901" +11 "CDC2" +12 "CDC28" +13 "CDK3" +14 "CDK4" +15 "CG10014" +16 "CG10017" +17 "CG10019" +18 "CG10032" +19 "CG10039" +20 "CG10051" +21 "CG10053" +22 "CG10055" +23 "CG10068" +24 "CG10166" +25 "CG10200" +26 "CG10263" +27 "CG11097" +28 "CG11327" +29 "CG11345" +30 "CG11489" +31 "CG11635" +32 "CG11656" +33 "CG11699" +34 "CG11722" +35 "CG11876" +36 "CG11881" +37 "CG11899" +38 "CG12065" +39 "CG12203" +40 "CG12679" +41 "CG12932" +42 "CG13142" +43 "CG13159" +44 "CG13320" +45 "CG13512" +46 "CG13588" +47 "CG13627" +48 "CG13840" +49 "CG13903" +50 "CG14079" +51 "CG14204" +52 "CG14354" +53 "CG14546" +54 "CG14578" +55 "CG14718" +56 "CG15032" +57 "CG15080" +58 "CG15136" +59 "CG15436" +60 "CG15489" +61 "CG15529" +62 "CG15631" +63 "CG15772" +64 "CG15783" +65 "CG15816" +66 "CG16728" +67 "CG17019" +68 "CG17050" +69 "CG17666" +70 "CG17819" +71 "CG1792" +72 "CG1850" +73 "CG18659" +74 "CG2233" +75 "CG2767" +76 "CG3062" +77 "CG3075" +78 "CG3081" +79 "CG31054" +80 "CG31122" +81 "CG31160" +82 "CG31245" +83 "CG31826" +84 "CG32226" +85 "CG32542" +86 "CG32677" +87 "CG3270" +88 "CG33017" +89 "CG3800" +90 "CG3918" +91 "CG41099" +92 "CG4404" +93 "CG4461" +94 "CG4617" +95 "CG4818" +96 "CG4829" +97 "CG4959" +98 "CG5023" +99 "CG5140" +100 "CG5494" +101 "CG5804" +102 "CG6049" +103 "CG6416" +104 "CG6459" +105 "CG6607" +106 "CG6608" +107 "CG6707" +108 "CG6770" +109 "CG6945" +110 "CG7081" +111 "CG7101" +112 "CG7683" +113 "CG8010" +114 "CG8173" +115 "CG8854" +116 "CG8942" +117 "CG9205" +118 "CG9288" +119 "CG9467" +120 "CG9520" +121 "CG9572" +122 "CG9663" +123 "CG9757" +124 "CG9778" +125 "CG9784" +126 "CG9917" +127 "CTBP1" +128 "Caf1" +129 "Cam" +130 "Ccn" +131 "Cdk7" +132 "CkII-alpha" +133 "CkII-alpha-i1" +134 "CkII-beta" +135 "Cks30A" +136 "Clp" +137 "CtBP" +138 "CycD" +139 "CycE" +140 "CycJ" +141 "DIP1" +142 "DNApol-alpha-180" +143 "DNApol-alpha-73" +144 "Ddc" +145 "Dmel_CG10035" +146 "Dok1" +147 "Dpit47" +148 "Dredd" +149 "Dref" +150 "E(spl)" +151 "E(z)" +152 "EG:BACH7M4.4" +153 "EG:BACR42I17.8" +154 "Fak56D" +155 "Fcp3C" +156 "G-i-alpha-65A" +157 "GTF2B" +158 "Graf" +159 "Grasp65" +160 "GstD1" +161 "HLH4C" +162 "HLHm5" +163 "HLHm7" +164 "Hsf" +165 "Hsp67Ba" +166 "IM2" +167 "Iswi" +168 "Jun" +169 "MAGE" +170 "MBD-R2" +171 "MED19" +172 "MPP5" +173 "MTA1-like" +174 "Mbs" +175 "Mer" +176 "Mst84Da" +177 "Mst84Dc" +178 "Myd88" +179 "Mylk2" +180 "N" +181 "NPC1b" +182 "NUCB1" +183 "Nak" +184 "Nep1" +185 "Nipsnap" +186 "Noa36" +187 "Nrt" +188 "Oli" +189 "PGR" +190 "PPP1CC" +191 "PRK1" +192 "Pak" +193 "Pen" +194 "Pif1B" +195 "Pk17E" +196 "Pka-R2" +197 "Pkc98E" +198 "Poxm" +199 "Pp1-alpha-96A" +200 "Pros26.4" +201 "Q8ML63" +202 "Q9NKB3" +203 "Q9VXK4" +204 "RAC1" +205 "Rack1" +206 "RpL17" +207 "RpL24" +208 "RpL5" +209 "RpLP0" +210 "RpS15" +211 "RpS15Aa" +212 "RpS3" +213 "RpS8" +214 "SPT15" +215 "Scm" +216 "Sec61-beta" +217 "Sirt4" +218 "Sox21b" +219 "Sra-1" +220 "SytIV" +221 "Taf1" +222 "Taf12" +223 "Taf4" +224 "Taf6" +225 "Tango9" +226 "Tektin-A" +227 "Tequila" +228 "TfIIB" +229 "Traf2" +230 "Trf" +231 "Trf2" +232 "Trl" +233 "Ubc84D" +234 "Ubx" +235 "VP16" +236 "WWOX" +237 "X11L" +238 "YL-1" +239 "aPKC" +240 "alpha-Tub84B" +241 "arm" +242 "baz" +243 "bif" +244 "bowl" +245 "brk" +246 "bsh" +247 "cdc2" +248 "cdc2c" +249 "cm" +250 "corto" +251 "crb" +252 "dap" +253 "dlt" +254 "drm" +255 "e(y)1" +256 "eIF2B-beta" +257 "elfless" +258 "emc" +259 "esc" +260 "exd" +261 "exu" +262 "fkh" +263 "fng" +264 "for" +265 "fs(1)Ya" +266 "ftz" +267 "ftz-f1" +268 "fws" +269 "fz2" +270 "gro" +271 "h" +272 "hbn" +273 "inaD" +274 "insc" +275 "kirre" +276 "l(1)G0004" +277 "l(2)37Cc" +278 "l(3)IX-14" +279 "l(3)s2214" +280 "lark" +281 "lin" +282 "lola" +283 "mira" +284 "mod" +285 "mod(mdg4)" +286 "mus205" +287 "nej" +288 "norpA" +289 "num-1" +290 "numb" +291 "odd" +292 "opa" +293 "otp" +294 "par-6" +295 "ph-p" +296 "phr" +297 "pll" +298 "plu" +299 "png" +300 "prod" +301 "pros" +302 "protein_alias_1" +303 "protein_alias_2" +304 "raps" +305 "rl" +306 "rst" +307 "rtGEF" +308 "sala" +309 "sc" +310 "sca" +311 "scu" +312 "sdt" +313 "slou" +314 "sns" +315 "sol" +316 "ssh" +317 "sta" +318 "star1" +319 "stau" +320 "term" +321 "tinc" +322 "tj" +323 "tos" +324 "tral" +325 "tub" +326 "vir-1" +327 "vvl" +328 "wek" +329 "yps" +330 "zfh1" +*UndirectedEdges +source*int target*int +97 262 +48 18 +322 134 +198 15 +27 23 +54 18 +319 274 +69 322 +219 204 +254 111 +8 322 +307 276 +7 148 +324 18 +150 132 +30 18 +43 18 +82 307 +60 18 +201 194 +272 18 +140 135 +313 18 +23 106 +235 228 +231 128 +307 174 +300 258 +219 1 +243 199 +98 4 +83 307 +40 186 +299 298 +223 189 +90 322 +234 168 +322 108 +323 18 +15 129 +262 121 +322 101 +202 18 +322 103 +262 134 +55 160 +244 181 +248 135 +44 19 +31 22 +307 246 +45 18 +50 18 +52 21 +57 327 +285 225 +319 283 +264 212 +81 18 +292 186 +74 322 +251 172 +2 196 +264 205 +63 154 +35 307 +193 154 +252 248 +240 18 +18 136 +79 262 +78 18 +160 102 +58 169 +322 207 +265 209 +21 195 +213 18 +322 116 +307 268 +322 115 +297 229 +4 318 +301 283 +329 261 +322 211 +322 210 +184 18 +138 12 +322 216 +4 314 +307 29 +208 18 +68 307 +206 18 +18 107 +18 100 +264 126 +38 264 +92 18 +42 169 +322 3 +307 153 +307 152 +279 113 +71 186 +217 18 +322 24 +230 164 +258 161 +242 239 +66 307 +140 12 +85 18 +87 307 +170 118 +31 186 +325 297 +51 18 +28 156 +221 214 +316 262 +295 250 +4 222 +162 132 +6 18 +225 141 +187 18 +322 163 +262 177 +18 112 +262 176 +307 105 +264 114 +18 119 +220 117 +91 262 +135 12 +135 13 +135 11 +294 242 +327 10 +283 274 +219 134 +53 186 +96 18 +37 262 +304 274 +303 302 +267 266 +255 228 +330 127 +4 236 +99 307 +252 13 +289 197 +281 244 +250 151 +33 264 +255 235 +307 233 +244 241 +69 145 +70 160 +18 166 +21 161 +307 158 +171 156 +186 124 +243 190 +5 279 +26 18 +179 129 +89 322 +231 167 +77 4 +248 138 +279 137 +64 18 +307 185 +28 15 +322 257 +9 327 +160 125 +309 258 +271 270 +86 306 +320 18 +296 225 +322 269 +147 142 +49 322 +306 237 +308 160 +18 122 +315 18 +4 200 +39 244 +34 307 +290 183 +80 186 +290 180 +73 307 +275 237 +286 262 +321 307 +163 133 +163 132 +40 18 +93 20 +186 130 +186 131 +138 13 +46 322 +41 18 +76 186 +36 307 +256 191 +264 175 +32 154 +238 16 +50 322 +95 16 +328 16 +282 264 +94 307 +97 322 +84 322 +69 262 +248 140 +21 182 +262 110 +245 18 +169 120 +259 250 +278 17 +278 18 +322 315 +88 307 +322 317 +274 242 +65 307 +312 253 +231 149 +186 109 +61 262 +287 284 +4 326 +72 18 +279 249 +260 234 +25 160 +56 18 +311 16 +62 21 +18 143 +18 144 +14 138 +264 165 +307 192 +247 135 +247 138 +247 139 +322 291 +250 232 +203 146 +280 16 +262 104 +292 18 +250 215 +47 18 +226 18 +277 18 +218 18 +160 123 +227 18 +59 254 +288 273 +188 160 +175 16 +4 30 +173 16 +290 283 +255 157 +293 159 +262 18 +305 279 +310 180 +312 251 +75 20 +263 180 +255 224 +297 178 +67 18 +18 155 Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TF_DNA_regulonDB.nwb =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TF_DNA_regulonDB.nwb (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/test_files/NWB Files/TF_DNA_regulonDB.nwb 2007-09-12 18:00:09 UTC (rev 517) @@ -0,0 +1,4074 @@ +#Converted by Cesifoti for the NWB... :-) +*Nodes 1333 +id*int label*string +1 "aceA" +2 "aceB" +3 "aceE" +4 "aceF" +5 "aceK" +6 "ackA" +7 "acnA" +8 "acnB" +9 "acrA" +10 "acrB" +11 "acrD" +12 "acrE" +13 "acrF" +14 "acrR" +15 "acs" +16 "actP" +17 "ada" +18 "adhE" +19 "adiA" +20 "adiY" +21 "aer" +22 "agaA" +23 "agaB" +24 "agaC" +25 "agaD" +26 "agaI" +27 "agaR" +28 "agaS" +29 "agaV" +30 "agaW" +31 "agaY" +32 "agaZ" +33 "agp" +34 "ahpC" +35 "ahpF" +36 "aidB" +37 "alaT" +38 "alaU" +39 "alaV" +40 "alaW" +41 "alaX" +42 "aldA" +43 "aldB" +44 "alkA" +45 "alkB" +46 "allA" +47 "allB" +48 "allC" +49 "allD" +50 "allR" +51 "allS" +52 "alpA" +53 "alsA" +54 "alsB" +55 "alsC" +56 "alsE" +57 "alsI" +58 "alsR" +59 "amiA" +60 "amtB" +61 "ansB" +62 "appA" +63 "appB" +64 "appC" +65 "appY" +66 "araA" +67 "araB" +68 "araC" +69 "araD" +70 "araE" +71 "araF" +72 "araG" +73 "araH" +74 "araJ" +75 "arcA" +76 "argA" +77 "argB" +78 "argC" +79 "argD" +80 "argE" +81 "argF" +82 "argG" +83 "argH" +84 "argI" +85 "argK" +86 "argP" +87 "argR" +88 "argT" +89 "argU" +90 "argW" +91 "argX" +92 "aroA" +93 "aroF" +94 "aroG" +95 "aroH" +96 "aroL" +97 "aroM" +98 "aroP" +99 "asnA" +100 "asnB" +101 "asnC" +102 "aspA" +103 "aspV" +104 "asr" +105 "astA" +106 "astB" +107 "astC" +108 "astD" +109 "astE" +110 "atoA" +111 "atoB" +112 "atoC" +113 "atoD" +114 "atoE" +115 "bacA" +116 "baeR" +117 "baeS" +118 "bcsB" +119 "bcsZ" +120 "bdm" +121 "betA" +122 "betB" +123 "betI" +124 "betT" +125 "bglB" +126 "bglF" +127 "bglG" +128 "bioA" +129 "bioB" +130 "bioC" +131 "bioD" +132 "bioF" +133 "birA" +134 "bolA" +135 "borD" +136 "cadA" +137 "cadB" +138 "cadC" +139 "caiA" +140 "caiB" +141 "caiC" +142 "caiD" +143 "caiE" +144 "caiF" +145 "caiT" +146 "carA" +147 "carB" +148 "cbl" +149 "ccmA" +150 "ccmB" +151 "ccmC" +152 "ccmD" +153 "ccmE" +154 "ccmF" +155 "ccmG" +156 "ccmH" +157 "cdd" +158 "chbA" +159 "chbB" +160 "chbC" +161 "chbF" +162 "chbG" +163 "chbR" +164 "cheA" +165 "cheB" +166 "cheR" +167 "cheW" +168 "cheY" +169 "cheZ" +170 "chiA" +171 "cirA" +172 "codA" +173 "codB" +174 "copA" +175 "cpdB" +176 "cpxA" +177 "cpxP" +178 "cpxR" +179 "crp" +180 "crr" +181 "csgA" +182 "csgB" +183 "csgC" +184 "csgD" +185 "csgE" +186 "csgF" +187 "csgG" +188 "csiD" +189 "csiE" +190 "csiR" +191 "cspA" +192 "cspD" +193 "cstA" +194 "cueO" +195 "cueR" +196 "cusA" +197 "cusB" +198 "cusC" +199 "cusF" +200 "cusR" +201 "cusS" +202 "cvpA" +203 "cyaA" +204 "cydA" +205 "cydB" +206 "cydC" +207 "cydD" +208 "cynR" +209 "cynS" +210 "cynT" +211 "cynX" +212 "cyoA" +213 "cyoB" +214 "cyoC" +215 "cyoD" +216 "cyoE" +217 "cysA" +218 "cysB" +219 "cysC" +220 "cysD" +221 "cysG" +222 "cysH" +223 "cysI" +224 "cysJ" +225 "cysK" +226 "cysM" +227 "cysN" +228 "cysP" +229 "cysU" +230 "cysW" +231 "cytR" +232 "dadA" +233 "dadX" +234 "dctA" +235 "dcuA" +236 "dcuB" +237 "dcuC" +238 "dcuD" +239 "dcuR" +240 "dcuS" +241 "ddpA" +242 "ddpB" +243 "ddpC" +244 "ddpD" +245 "ddpF" +246 "ddpX" +247 "deoA" +248 "deoB" +249 "deoC" +250 "deoD" +251 "deoR" +252 "dhaK" +253 "dhaL" +254 "dhaM" +255 "dhaR" +256 "dinF" +257 "dinG" +258 "dmsA" +259 "dmsB" +260 "dmsC" +261 "dmsD" +262 "dnaA" +263 "dnaG" +264 "dnaN" +265 "dppA" +266 "dppB" +267 "dppC" +268 "dppD" +269 "dppF" +270 "dps" +271 "dsbA" +272 "dsbC" +273 "dsdA" +274 "dsdC" +275 "dsdX" +276 "dusB" +277 "ebgA" +278 "ebgC" +279 "ebgR" +280 "ecfI" +281 "ecpD" +282 "eda" +283 "edd" +284 "emrA" +285 "emrB" +286 "emrK" +287 "emrR" +288 "emrY" +289 "entA" +290 "entB" +291 "entC" +292 "entD" +293 "entE" +294 "entF" +295 "entS" +296 "envY" +297 "envZ" +298 "epd" +299 "evgA" +300 "evgS" +301 "exbB" +302 "exbD" +303 "exuR" +304 "exuT" +305 "fabA" +306 "fabB" +307 "fabR" +308 "fabZ" +309 "fadA" +310 "fadB" +311 "fadD" +312 "fadI" +313 "fadJ" +314 "fadL" +315 "fadR" +316 "fbaA" +317 "fdhF" +318 "fdnG" +319 "fdnH" +320 "fdnI" +321 "fecA" +322 "fecB" +323 "fecC" +324 "fecD" +325 "fecE" +326 "fecI" +327 "fecR" +328 "feoA" +329 "feoB" +330 "fepA" +331 "fepB" +332 "fepC" +333 "fepD" +334 "fepE" +335 "fepG" +336 "fes" +337 "fhlA" +338 "fhuA" +339 "fhuB" +340 "fhuC" +341 "fhuD" +342 "fhuE" +343 "fhuF" +344 "fimA" +345 "fimB" +346 "fimC" +347 "fimD" +348 "fimE" +349 "fimF" +350 "fimG" +351 "fimH" +352 "fimI" +353 "fis" +354 "fiu" +355 "fixA" +356 "fixB" +357 "fixC" +358 "fixX" +359 "fldA" +360 "fldB" +361 "flgA" +362 "flgB" +363 "flgC" +364 "flgD" +365 "flgE" +366 "flgF" +367 "flgG" +368 "flgH" +369 "flgI" +370 "flgJ" +371 "flgM" +372 "flgN" +373 "flhA" +374 "flhB" +375 "flhC" +376 "flhCflhD|" +377 "flhD" +378 "flhE" +379 "fliA" +380 "fliC" +381 "fliD" +382 "fliE" +383 "fliF" +384 "fliG" +385 "fliH" +386 "fliI" +387 "fliJ" +388 "fliK" +389 "fliL" +390 "fliM" +391 "fliN" +392 "fliO" +393 "fliP" +394 "fliQ" +395 "fliR" +396 "fliS" +397 "fliT" +398 "fliY" +399 "fliZ" +400 "flu" +401 "fnr" +402 "focA" +403 "focB" +404 "fpr" +405 "frdA" +406 "frdB" +407 "frdC" +408 "frdD" +409 "fruA" +410 "fruB" +411 "fruK" +412 "fruR" +413 "ftsA" +414 "ftsK" +415 "ftsQ" +416 "ftsZ" +417 "fucA" +418 "fucI" +419 "fucK" +420 "fucO" +421 "fucP" +422 "fucR" +423 "fucU" +424 "fumA" +425 "fumB" +426 "fumC" +427 "fur" +428 "gabD" +429 "gabP" +430 "gabT" +431 "gadA" +432 "gadB" +433 "gadC" +434 "gadE" +435 "gadW" +436 "gadX" +437 "galE" +438 "galK" +439 "galM" +440 "galP" +441 "galR" +442 "galS" +443 "galT" +444 "gapA" +445 "garD" +446 "garK" +447 "garL" +448 "garP" +449 "garR" +450 "gatA" +451 "gatB" +452 "gatC" +453 "gatD" +454 "gatR_2gatR_1|" +455 "gatY" +456 "gatZ" +457 "gcd" +458 "gcl" +459 "gcvA" +460 "gcvB" +461 "gcvH" +462 "gcvP" +463 "gcvR" +464 "gcvT" +465 "gdhA" +466 "glcA" +467 "glcB" +468 "glcC" +469 "glcD" +470 "glcE" +471 "glcF" +472 "glcG" +473 "glgA" +474 "glgC" +475 "glgP" +476 "glgS" +477 "glk" +478 "glmS" +479 "glmU" +480 "glnA" +481 "glnB" +482 "glnG" +483 "glnH" +484 "glnK" +485 "glnL" +486 "glnP" +487 "glnQ" +488 "glnU" +489 "glnV" +490 "glnW" +491 "glnX" +492 "glpA" +493 "glpB" +494 "glpC" +495 "glpD" +496 "glpE" +497 "glpF" +498 "glpG" +499 "glpK" +500 "glpQ" +501 "glpR" +502 "glpT" +503 "glpX" +504 "gltA" +505 "gltB" +506 "gltD" +507 "gltF" +508 "gltI" +509 "gltJ" +510 "gltK" +511 "gltL" +512 "gltT" +513 "gltU" +514 "gltV" +515 "gltW" +516 "glxK" +517 "glxR" +518 "glyA" +519 "glyT" +520 "glyU" +521 "gnd" +522 "gntK" +523 "gntP" +524 "gntR" +525 "gntT" +526 "gntU" +527 "gor" +528 "grpE" +529 "grxA" +530 "guaA" +531 "guaB" +532 "gudD" +533 "gudP" +534 "gudX" +535 "gutM" +536 "gutQ" +537 "gyrA" +538 "gyrB" +539 "hcaB" +540 "hcaC" +541 "hcaD" +542 "hcaE" +543 "hcaF" +544 "hcaR" +545 "hcp" +546 "hcr" +547 "hdeA" +548 "hdeB" +549 "hdeD" +550 "hdfR" +551 "hemA" +552 "hemF" +553 "hemL" +554 "hflD" +555 "hisJ" +556 "hisM" +557 "hisP" +558 "hisQ" +559 "hisR" +560 "hlyE" +561 "hmp" +562 "hns" +563 "hpt" +564 "htrA" +565 "htrE" +566 "hupA" +567 "hupAhupB|" +568 "hupB" +569 "hyaA" +570 "hyaB" +571 "hyaC" +572 "hyaD" +573 "hyaE" +574 "hyaF" +575 "hybA" +576 "hybB" +577 "hybC" +578 "hybD" +579 "hybE" +580 "hybF" +581 "hybG" +582 "hybO" +583 "hycA" +584 "hycB" +585 "hycC" +586 "hycD" +587 "hycE" +588 "hycF" +589 "hycG" +590 "hycH" +591 "hycI" +592 "hydN" +593 "hyfA" +594 "hyfB" +595 "hyfC" +596 "hyfD" +597 "hyfE" +598 "hyfF" +599 "hyfG" +600 "hyfH" +601 "hyfI" +602 "hyfJ" +603 "hyfR" +604 "hyi" +605 "hypA" +606 "hypB" +607 "hypC" +608 "hypD" +609 "hypE" +610 "hypF" +611 "ibpB" +612 "icd" +613 "iclR" +614 "idnD" +615 "idnK" +616 "idnO" +617 "idnR" +618 "idnT" +619 "ihfA" +620 "ihfAihfB|" +621 "ihfB" +622 "ileT" +623 "ileU" +624 "ileV" +625 "ilvA" +626 "ilvB" +627 "ilvC" +628 "ilvD" +629 "ilvE" +630 "ilvH" +631 "ilvI" +632 "ilvL" +633 "ilvM" +634 "ilvN" +635 "ilvY" +636 "inaA" +637 "infB" +638 "insK" +639 "iscA" +640 "iscR" +641 "iscS" +642 "iscU" +643 "ivbL" +644 "katG" +645 "kbl" +646 "kdgR" +647 "kdpA" +648 "kdpB" +649 "kdpC" +650 "kdpE" +651 "lacA" +652 "lacI" +653 "lacY" +654 "lacZ" +655 "lamB" +656 "lctD" +657 "lctP" +658 "lctR" +659 "leuA" +660 "leuB" +661 "leuC" +662 "leuD" +663 "leuL" +664 "leuO" +665 "leuP" +666 "leuQ" +667 "leuT" +668 "leuV" +669 "leuW" +670 "leuX" +671 "lexA" +672 "livF" +673 "livG" +674 "livH" +675 "livJ" +676 "livK" +677 "livM" +678 "lon" +679 "lpdA" +680 "lpxA" +681 "lpxD" +682 "lrhA" +683 "lrp" +684 "lsrA" +685 "lsrB" +686 "lsrC" +687 "lsrD" +688 "lsrF" +689 "lsrG" +690 "lsrR" +691 "lysA" +692 "lysR" +693 "lysT" +694 "lysU" +695 "lysV" +696 "lysW" +697 "lyxK" +698 "malE" +699 "malF" +700 "malG" +701 "malI" +702 "malK" +703 "malM" +704 "malP" +705 "malQ" +706 "malS" +707 "malT" +708 "malX" +709 "malY" +710 "malZ" +711 "manX" +712 "manY" +713 "manZ" +714 "marA" +715 "marB" +716 "marR" +717 "mazE" +718 "mazF" +719 "mdh" +720 "mdtA" +721 "mdtB" +722 "mdtC" +723 "mdtD" +724 "melA" +725 "melB" +726 "melR" +727 "metA" +728 "metB" +729 "metC" +730 "metE" +731 "metF" +732 "metH" +733 "metI" +734 "metJ" +735 "metK" +736 "metL" +737 "metN" +738 "metQ" +739 "metR" +740 "metT" +741 "metU" +742 "metY" +743 "mglA" +744 "mglB" +745 "mglC" +746 "mgrB" +747 "mgtA" +748 "mhpA" +749 "mhpB" +750 "mhpC" +751 "mhpD" +752 "mhpE" +753 "mhpF" +754 "mhpR" +755 "micF" +756 "mlc" +757 "mngA" +758 "mngB" +759 "mngR" +760 "mntH" +761 "mntR" +762 "moaA" +763 "moaB" +764 "moaC" +765 "moaD" +766 "moaE" +767 "modA" +768 "modB" +769 "modC" +770 "modE" +771 "moeA" +772 "moeB" +773 "motA" +774 "motB" +775 "mpl" +776 "mreB" +777 "mreC" +778 "mreD" +779 "mtlA" +780 "mtlD" +781 "mtlR" +782 "mtr" +783 "mukB" +784 "mukE" +785 "mukF" +786 "nac" +787 "nadB" +788 "nadR" +789 "nagA" +790 "nagB" +791 "nagC" +792 "nagD" +793 "nagE" +794 "nanA" +795 "nanC" +796 "nanE" +797 "nanK" +798 "nanR" +799 "nanT" +800 "napA" +801 "napB" +802 "napC" +803 "napD" +804 "napF" +805 "napG" +806 "napH" +807 "narG" +808 "narH" +809 "narI" +810 "narJ" +811 "narK" +812 "narL" +813 "narP" +814 "narX" +815 "ndh" +816 "nfnB" +817 "nfo" +818 "nfsA" +819 "nhaA" +820 "nhaR" +821 "nikA" +822 "nikB" +823 "nikC" +824 "nikD" +825 "nikE" +826 "nikR" +827 "nirB" +828 "nirC" +829 "nirD" +830 "nmpC" +831 "nohA" +832 "norR" +833 "norV" +834 "norW" +835 "nrdA" +836 "nrdB" +837 "nrdD" +838 "nrdE" +839 "nrdF" +840 "nrdG" +841 "nrdH" +842 "nrdI" +843 "nrfA" +844 "nrfB" +845 "nrfC" +846 "nrfD" +847 "nrfE" +848 "nrfF" +849 "nrfG" +850 "nsrR" +851 "nuoA" +852 "nuoB" +853 "nuoC" +854 "nuoE" +855 "nuoF" +856 "nuoG" +857 "nuoH" +858 "nuoI" +859 "nuoJ" +860 "nuoK" +861 "nuoL" +862 "nuoM" +863 "nuoN" +864 "nupC" +865 "nupG" +866 "nusA" +867 "ompA" +868 "ompC" +869 "ompF" +870 "ompR" +871 "ompW" +872 "ompX" +873 "omrA" +874 "omrB" +875 "oppA" +876 "oppB" +877 "oppC" +878 "oppD" +879 "oppF" +880 "osmB" +881 "osmC" +882 "osmE" +883 "osmY" +884 "oxyR" +885 "paaA" +886 "paaB" +887 "paaC" +888 "paaD" +889 "paaE" +890 "paaF" +891 "paaG" +892 "paaH" +893 "paaI" +894 "paaJ" +895 "paaK" +896 "paaX" +897 "paaZ" +898 "pagP" +899 "pckA" +900 "pdhR" +901 "pdxA" +902 "pepA" +903 "pepT" +904 "pfkA" +905 "pflB" +906 "pgk" +907 "pgm" +908 "pgmA" +909 "pheM" +910 "pheU" +911 "pheV" +912 "phnC" +913 "phnD" +914 "phnE" +915 "phnF" +916 "phnG" +917 "phnH" +918 "phnI" +919 "phnJ" +920 "phnK" +921 "phnL" +922 "phnM" +923 "phnN" +924 "phnO" +925 "phnP" +926 "phoA" +927 "phoB" +928 "phoE" +929 "phoH" +930 "phoP" +931 "phoQ" +932 "phoR" +933 "phoU" +934 "phr" +935 "pitA" +936 "pncB" +937 "pnp" +938 "polA" +939 "polB" +940 "potF" +941 "potG" +942 "potH" +943 "potI" +944 "poxB" +945 "ppiA" +946 "ppiD" +947 "ppsA" +948 "pqiA" +949 "pqiB" +950 "proK" +951 "proL" +952 "proM" +953 "proP" +954 "proV" +955 "proW" +956 "proX" +957 "prpB" +958 "prpC" +959 "prpD" +960 "prpE" +961 "prpR" +962 "prsA" +963 "psd" +964 "psiE" +965 "psiF" +966 "pspA" +967 "pspB" +968 "pspC" +969 "pspD" +970 "pspE" +971 "pspF" +972 "pspG" +973 "pstA" +974 "pstB" +975 "pstC" +976 "pstS" +977 "ptsG" +978 "ptsH" +979 "ptsI" +980 "purA" +981 "purB" +982 "purC" +983 "purD" +984 "purE" +985 "purF" +986 "purH" +987 "purK" +988 "purL" +989 "purM" +990 "purN" +991 "purR" +992 "putA" +993 "putP" +994 "pykF" +995 "pyrC" +996 "pyrD" +997 "qseB" +998 "qseC" +999 "queA" +1000 "rbfA" +1001 "rbsA" +1002 "rbsB" +1003 "rbsC" +1004 "rbsD" +1005 "rbsK" +1006 "rbsR" +1007 "rcsA" +1008 "rcsArcsB|" +1009 "rdoA" +1010 "recA" +1011 "recF" +1012 "recN" +1013 "recX" +1014 "rhaA" +1015 "rhaB" +1016 "rhaD" +1017 "rhaR" +1018 "rhaS" +1019 "rhaT" +1020 "ribA" +1021 "rimK" +1022 "rimM" +1023 "rng" +1024 "rnpB" +1025 "rob" +1026 "rplB" +1027 "rplC" +1028 "rplD" +1029 "rplM" +1030 "rplP" +1031 "rplS" +1032 "rplT" +1033 "rplV" +1034 "rplW" +1035 "rpmC" +1036 "rpoD" +1037 "rpoE" +1038 "rpoH" +1039 "rpoS" +1040 "rpsC" +1041 "rpsI" +1042 "rpsJ" +1043 "rpsO" +1044 "rpsP" +1045 "rpsQ" +1046 "rpsS" +1047 "rpsU" +1048 "rrfA" +1049 "rrfB" +1050 "rrfC" +1051 "rrfD" +1052 "rrfE" +1053 "rrfF" +1054 "rrfG" +1055 "rrfH" +1056 "rrlA" +1057 "rrlB" +1058 "rrlC" +1059 "rrlD" +1060 "rrlE" +1061 "rrlG" +1062 "rrlH" +1063 "rrnA" +1064 "rrnB" +1065 "rrnC" +1066 "rrnD" +1067 "rrnE" +1068 "rrnG" +1069 "rrnH" +1070 "rseA" +1071 "rseB" +1072 "rseC" +1073 "rsmA" +1074 "rstA" +1075 "rstB" +1076 "rtcA" +1077 "rtcB" +1078 "rtcR" +1079 "rutA" +1080 "rutB" +1081 "rutC" +1082 "rutD" +1083 "rutE" +1084 "rutF" +1085 "rutG" +1086 "ruvA" +1087 "ruvB" +1088 "sbm" +1089 "sdaA" +1090 "sdaR" +1091 "sdhA" +1092 "sdhB" +1093 "sdhC" +1094 "sdhD" +1095 "sdiA" +1096 "seqA" +1097 "serA" +1098 "serC" +1099 "serT" +1100 "serX" +1101 "sgbE" +1102 "sgbH" +1103 "sgbU" +1104 "skp" +1105 "slp" +1106 "slyA" +1107 "slyB" +1108 "smpA" +1109 "smtA" +1110 "sodA" +1111 "sodB" +1112 "sohB" +1113 "soxR" +1114 "soxS" +1115 "speA" +1116 "speB" +1117 "speC" +1118 "spf" +1119 "spy" +1120 "sra" +1121 "sraI" +1122 "srlA" +1123 "srlB" +1124 "srlD" +1125 "srlE" +1126 "srlR" +1127 "ssb" +1128 "ssuA" +1129 "ssuB" +1130 "ssuC" +1131 "ssuD" +1132 "ssuE" +1133 "stpA" +1134 "sucA" +1135 "sucB" +1136 "sucC" +1137 "sucD" +1138 "sufA" +1139 "sufB" +1140 "sufC" +1141 "sufD" +1142 "sufE" +1143 "sufS" +1144 "sulA" +1145 "tap" +1146 "tar" +1147 "tauA" +1148 "tauB" +1149 "tauC" +1150 "tauD" +1151 "tdcA" +1152 "tdcB" +1153 "tdcC" +1154 "tdcD" +1155 "tdcE" +1156 "tdcF" +1157 "tdcG" +1158 "tdcR" +1159 "tdh" +1160 "tehA" +1161 "tehB" +1162 "thrT" +1163 "thrU" +1164 "thrV" +1165 "thrW" +1166 "tnaA" +1167 "tnaB" +1168 "tnaC" +1169 "tonB" +1170 "topA" +1171 "torA" +1172 "torC" +1173 "torD" +1174 "torR" +1175 "tppB" +1176 "tpr" +1177 "tpx" +1178 "treB" +1179 "treC" +1180 "treR" +1181 "trmA" +1182 "trmD" +1183 "trpA" +1184 "trpB" +1185 "trpC" +1186 "trpD" +1187 "trpE" +1188 "trpL" +1189 "trpR" +1190 "truB" +1191 "trxA" +1192 "trxC" +1193 "tsr" +1194 "tsx" +1195 "tufB" +1196 "tyrA" +1197 "tyrB" +1198 "tyrP" +1199 "tyrR" +1200 "tyrT" +1201 "tyrU" +1202 "tyrV" +1203 "ubiA" +1204 "ubiC" +1205 "ubiG" +1206 "ubiX" +1207 "udp" +1208 "ugpA" +1209 "ugpB" +1210 "ugpC" +1211 "ugpE" +1212 "ugpQ" +1213 "uhpA" +1214 "uhpT" +1215 "uidA" +1216 "uidB" +1217 "uidR" +1218 "ulaA" +1219 "ulaB" +1220 "ulaC" +1221 "ulaD" +1222 "ulaE" +1223 "ulaF" +1224 "ulaG" +1225 "ulaR" +1226 "umuC" +1227 "umuD" +1228 "ung" +1229 "upp" +1230 "uraA" +1231 "uspA" +1232 "uvrA" +1233 "uvrB" +1234 "uvrC" +1235 "uvrD" +1236 "uvrY" +1237 "uxaA" +1238 "uxaB" +1239 "uxaC" +1240 "uxuA" +1241 "uxuB" +1242 "uxuR" +1243 "valT" +1244 "valU" +1245 "valX" +1246 "valY" +1247 "wcaA" +1248 "wcaB" +1249 "wza" +1250 "wzb" +1251 "wzc" +1252 "xapA" +1253 "xapB" +1254 "xapR" +1255 "xdhA" +1256 "xseA" +1257 "xylA" +1258 "xylB" +1259 "xylF" +1260 "xylG" +1261 "xylH" +1262 "xylR" +1263 "yadR" +1264 "yaiA" +1265 "ybaS" +1266 "ybbV" +1267 "ybbW" +1268 "ybbY" +1269 "ybdB" +1270 "ybdZ" +1271 "ybiS" +1272 "ybjC" +1273 "ybjG" +1274 "ybjN" +1275 "ycaC" +1276 "ycgR" +1277 "ychO" +1278 "ydeA" +1279 "ydeO" +1280 "ydiU" +1281 "ydjM" +1282 "yeaG" +1283 "yeaH" +1284 "yecR" +1285 "yeiL" +1286 "yfhD" +1287 "yfiD" +1288 "ygaC" +1289 "ygaF" +1290 "ygbA" +1291 "ygfG" +1292 "ygfH" +1293 "ygjG" +1294 "yhbC" +1295 "yhcH" +1296 "yhdE" +1297 "yhdW" +1298 "yhdX" +1299 "yhdY" +1300 "yhdZ" +1301 "yhfA" +1302 "yhgH" +1303 "yhgI" +1304 "yhhY" +1305 "yhjH" +1306 "yiaJ" +1307 "yiaK" +1308 "yiaL" +1309 "yiaM" +1310 "yiaN" +1311 "yiaO" +1312 "yjcH" +1313 "yjiD" +1314 "ylbA" +1315 "ynfE" +1316 "ynfF" +1317 "ynfG" +1318 "ynfH" +1319 "yodA" +1320 "yqjI" +1321 "yrbL" +1322 "ysgA" +1323 "ytfE" +1324 "zntA" +1325 "zntR" +1326 "znuA" +1327 "znuB" +1328 "znuC" +1329 "zraP" +1330 "zraR" +1331 "zraS" +1332 "zur" +1333 "zwf" +*UndirectedEdges +source*int target*int weight*int +829 813 1 +829 812 1 +75 578 -1 +75 579 -1 +75 576 -1 +75 577 -1 +75 574 1 +75 575 -1 +75 572 1 +75 573 1 +75 570 1 +75 571 1 +954 562 -1 +845 401 1 +427 289 -1 +225 218 1 +685 179 1 +493 401 1 +436 137 1 +812 149 -1 +213 179 1 +50 458 -1 +812 144 -1 +683 1061 -1 +548 1174 1 +443 441 -1 +443 442 -1 +1286 1025 1 +75 719 -1 +858 620 -1 +850 561 -1 +469 468 1 +555 482 1 +896 895 -1 +930 728 1 +772 401 -1 +896 894 -1 +427 1270 -1 +434 433 1 +427 425 1 +434 431 1 +896 891 -1 +704 179 1 +935 401 1 +671 256 -1 +671 257 -1 +412 204 1 +412 205 1 +620 457 1 +868 620 -1 +711 179 1 +786 507 -1 +828 353 -1 +786 505 -1 +707 655 1 +756 711 -1 +756 713 -1 +756 712 -1 +752 179 1 +324 179 1 +562 428 1 +562 429 1 +598 401 -1 +643 179 1 +274 273 1 +596 401 -1 +706 179 1 +434 380 1 +620 487 1 +421 179 1 +930 79 -1 +640 1280 1 +89 353 1 +812 546 1 +603 179 1 +32 179 1 +502 401 1 +812 573 -1 +468 467 1 +468 466 1 +562 398 1 +562 399 1 +788 787 -1 +383 376 1 +1306 1101 -1 +1306 1103 -1 +1306 1102 -1 +448 401 1 +75 1278 -1 +436 136 1 +971 970 1 +493 376 1 +590 337 1 +484 482 1 +431 1174 -1 +884 1142 1 +499 179 1 +766 401 1 +620 276 1 +812 319 1 +620 270 1 +927 104 1 +749 179 1 +884 1143 1 +507 434 1 +560 179 1 +616 179 1 +806 640 -1 +695 353 1 +870 187 1 +870 186 1 +870 185 1 +870 184 1 +51 1314 1 +714 1025 -1 +1152 1151 1 +632 620 -1 +401 240 1 +290 179 1 +179 1167 1 +179 1166 1 +298 179 1 +688 179 1 +683 630 1 +683 633 -1 +179 1168 1 +804 401 1 +144 139 1 +401 12 1 +401 13 1 +562 170 -1 +828 812 1 +828 813 1 +401 18 1 +562 144 -1 +562 375 1 +401 1239 1 +562 377 1 +6 401 1 +651 562 -1 +401 1230 1 +401 1237 1 +562 379 1 +779 353 -1 +770 258 -1 +770 259 -1 +770 769 -1 +770 250 -1 +827 353 -1 +734 34 -1 +75 4 -1 +75 5 -1 +75 6 1 +75 7 -1 +179 1303 1 +75 1 -1 +75 2 -1 +75 3 -1 +791 479 -1 +791 478 -1 +427 1136 1 +179 1309 1 +179 1308 1 +179 1097 1 +683 675 -1 +179 1094 1 +179 1093 1 +179 1092 1 +179 1091 1 +683 674 -1 +620 1111 -1 +620 1110 -1 +401 1156 1 +401 1157 1 +401 1154 1 +401 1155 1 +401 1152 1 +401 1153 1 +559 353 1 +617 526 -1 +617 524 -1 +188 179 1 +617 522 -1 +813 319 -1 +813 318 -1 +853 401 -1 +998 997 1 +70 68 1 +321 179 1 +179 1238 1 +634 179 1 +853 75 -1 +179 1237 1 +353 1202 1 +482 246 1 +763 296 1 +482 244 1 +482 243 1 +482 242 1 +482 241 1 +210 208 1 +683 1055 -1 +620 1203 -1 +900 401 1 +958 179 1 +620 1204 -1 +965 927 1 +683 1054 -1 +821 401 1 +927 1210 -1 +886 620 1 +1309 1306 -1 +620 258 -1 +636 1025 1 +719 179 1 +494 179 1 +856 812 1 +75 569 1 +436 100 1 +860 401 -1 +708 701 -1 +991 1115 -1 +846 401 1 +690 689 -1 +272 178 1 +854 75 -1 +812 150 -1 +812 151 -1 +812 152 -1 +812 153 -1 +690 684 -1 +690 685 -1 +457 179 -1 +492 401 1 +231 179 1 +822 812 -1 +614 524 -1 +859 620 -1 +1271 1025 1 +861 620 -1 +182 178 -1 +620 259 -1 +786 172 1 +786 173 1 +75 493 -1 +75 492 -1 +75 495 -1 +75 494 -1 +494 376 1 +451 179 1 +759 758 -1 +620 483 1 +214 179 1 +116 1119 1 +223 218 1 +75 143 1 +75 142 1 +75 141 1 +75 140 1 +726 179 1 +75 145 1 +905 812 -1 +694 683 -1 +620 469 1 +671 263 -1 +75 64 1 +75 63 1 +75 62 1 +620 467 1 +620 466 1 +355 179 1 +353 1244 1 +353 1245 1 +353 1246 1 +190 1289 -1 +353 1243 1 +315 1231 -1 +526 524 -1 +756 707 -1 +707 683 1 +503 179 1 +869 178 -1 +869 179 1 +88 482 1 +75 1040 -1 +870 1175 1 +75 1042 -1 +75 1045 -1 +75 1046 -1 +200 197 1 +200 196 1 +991 147 -1 +229 218 1 +683 1058 -1 +955 562 -1 +651 179 -1 +562 560 1 +75 1262 1 +621 620 -1 +460 459 1 +779 179 1 +1325 1324 1 +123 122 -1 +434 432 1 +755 683 -1 +556 482 1 +502 501 -1 +564 562 -1 +683 1052 -1 +1126 1125 -1 +1126 1124 -1 +1126 1123 -1 +1126 1122 -1 +377 179 1 +299 288 1 +507 401 -1 +463 461 -1 +463 462 -1 +449 1090 1 +927 922 1 +299 286 1 +200 199 1 +209 208 1 +743 376 -1 +683 1048 -1 +683 1049 -1 +51 49 1 +51 48 1 +948 1114 1 +620 297 -1 +658 657 -1 +658 656 -1 +870 284 1 +179 1156 1 +144 142 1 +144 141 1 +144 140 1 +179 1152 1 +179 1153 1 +179 1151 1 +489 353 1 +61 401 1 +315 309 -1 +837 401 1 +562 189 1 +562 188 1 +482 1283 1 +715 1114 1 +654 652 -1 +482 1282 1 +620 5 1 +930 314 1 +562 345 -1 +562 344 1 +562 347 1 +562 346 1 +562 349 1 +793 179 1 +401 1204 -1 +850 1290 -1 +376 1296 1 +401 1203 -1 +482 105 1 +482 106 1 +482 107 1 +482 108 1 +482 109 1 +716 179 1 +1242 1240 -1 +857 812 1 +650 648 1 +644 401 1 +650 649 1 +391 376 1 +646 282 -1 +803 376 1 +475 179 1 +430 190 -1 +401 1145 1 +401 1146 1 +835 262 1 +744 442 -1 +801 376 1 +97 1189 -1 +215 179 1 +683 625 -1 +683 622 -1 +683 623 -1 +905 620 1 +878 75 -1 +683 628 -1 +683 629 -1 +510 376 1 +386 376 1 +179 1209 1 +179 1207 1 +930 1180 -1 +179 1205 1 +991 554 -1 +549 436 1 +793 791 -1 +549 434 1 +833 812 -1 +785 562 1 +562 1133 -1 +550 377 -1 +550 375 -1 +851 812 1 +823 812 -1 +887 620 1 +739 518 1 +786 506 -1 +903 401 1 +881 820 1 +745 353 -1 +179 1331 1 +71... [truncated message content] |
Revision: 515 http://cishell.svn.sourceforge.net/cishell/?rev=515&view=rev Author: huangb Date: 2007-09-11 21:35:06 -0700 (Tue, 11 Sep 2007) Log Message: ----------- Modify the title of the pop-up window to "Applicaiton Viewer Type" and adjust the order of the application shown up in the pull-down box. Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWithFactory.java Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWithFactory.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWithFactory.java 2007-09-12 02:50:23 UTC (rev 514) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWithFactory.java 2007-09-12 04:35:06 UTC (rev 515) @@ -48,7 +48,7 @@ public MetaTypeProvider createParameters(Data[] data) { BasicObjectClassDefinition definition; - definition = new BasicObjectClassDefinition("fileViewWithDefinition", "Application viewer type", "Please choose an application viewer to read this file.", null); + definition = new BasicObjectClassDefinition("fileViewWithDefinition", "Application Viewer Type", "Please choose an application viewer to read this file.", null); Display.getDefault().syncExec(new Runnable() { public void run() { @@ -74,30 +74,29 @@ int possiblePrograms = 0; int counter = 0; - if (programTxt != null) { + if (programHtml != null) { possiblePrograms++; } if (programDoc != null) { possiblePrograms++; } - if (programHtml != null) { + if (programTxt != null) { possiblePrograms++; } String[] myOptionLabels = new String[possiblePrograms]; String[] myOptionValues = new String[possiblePrograms]; - - if (programTxt != null) { - myOptionLabels[counter] = programTxt.getName(); - myOptionValues[counter++] = "txt"; + if (programHtml != null) { + myOptionLabels[counter] = programHtml.getName(); + myOptionValues[counter++] = "html"; } if (programDoc != null) { myOptionLabels[counter] = programDoc.getName(); myOptionValues[counter++] = "doc"; } - if (programHtml != null) { - myOptionLabels[counter] = programHtml.getName(); - myOptionValues[counter++] = "html"; + if (programTxt != null) { + myOptionLabels[counter] = programTxt.getName(); + myOptionValues[counter++] = "txt"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2007-09-12 04:36:22
|
Revision: 516 http://cishell.svn.sourceforge.net/cishell/?rev=516&view=rev Author: huangb Date: 2007-09-11 21:36:19 -0700 (Tue, 11 Sep 2007) Log Message: ----------- Modify the title of the pop-up window to "View As..." a Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWith.java Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWith.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWith.java 2007-09-12 04:35:06 UTC (rev 515) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/viewwith/FileViewWith.java 2007-09-12 04:36:19 UTC (rev 516) @@ -209,7 +209,7 @@ public void run() { // lots of persisters found, return the chooser - ViewWithDataChooser vdc = new ViewWithDataChooser("View as...", theFile, shell, + ViewWithDataChooser vdc = new ViewWithDataChooser("View As...", theFile, shell, theData, theConverters, context); vdc.open(); isSaved = vdc.isSaved(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2007-09-12 02:50:25
|
Revision: 514 http://cishell.svn.sourceforge.net/cishell/?rev=514&view=rev Author: huangb Date: 2007-09-11 19:50:23 -0700 (Tue, 11 Sep 2007) Log Message: ----------- Now by default File load...points to sampledata/Network directory. Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java 2007-09-11 04:02:40 UTC (rev 513) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java 2007-09-12 02:50:23 UTC (rev 514) @@ -105,13 +105,16 @@ FileDialog dialog = new FileDialog(window.getShell(), SWT.OPEN); if (currentDir == null) { - currentDir = new File(System.getProperty("user.dir") + File.separator + "sampledata"); + currentDir = new File(System.getProperty("osgi.install.area").replace("file:","") + + "sampledata"+File.separator+"Network"); if (!currentDir.exists()) { - currentDir = new File(System.getProperty("user.home") + File.separator + "anything"); - } else { - currentDir = new File(System.getProperty("user.dir") + File.separator + "sampledata" + File.separator + "anything"); - } + currentDir = new File(System.getProperty("osgi.install.area").replace("file:","") + + "sampledata" +File.separator+"Network"+ File.separator + "anything"); + } +// else { +// currentDir = new File(System.getProperty("user.dir") + File.separator + "sampledata" + File.separator + "anything"); +// } } dialog.setFilterPath(currentDir.getPath()); dialog.setText("Select a File"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2007-09-11 04:02:46
|
Revision: 513 http://cishell.svn.sourceforge.net/cishell/?rev=513&view=rev Author: huangb Date: 2007-09-10 21:02:40 -0700 (Mon, 10 Sep 2007) Log Message: ----------- Change the file extension to lower case before set it in the filter. This change should fix the #86 ticket in the trac. Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java Modified: trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java 2007-09-10 17:22:15 UTC (rev 512) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/src/org/cishell/reference/gui/persistence/load/FileLoad.java 2007-09-11 04:02:40 UTC (rev 513) @@ -128,7 +128,7 @@ currentDir = new File(file.getParent() + File.separator + "anything"); } - String fileExtension = getFileExtension(file); + String fileExtension = getFileExtension(file).toLowerCase(); String filter = "(&(type=converter)(in_data=file-ext:"+fileExtension+"))"; try { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 512 http://cishell.svn.sourceforge.net/cishell/?rev=512&view=rev Author: mwlinnem Date: 2007-09-10 10:22:15 -0700 (Mon, 10 Sep 2007) Log Message: ----------- Corrected small bug in handling errors caught by log service while converting. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java 2007-09-10 16:43:04 UTC (rev 511) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/DefaultTestRunner.java 2007-09-10 17:22:15 UTC (rev 512) @@ -263,7 +263,9 @@ String message = entry.getMessage(); logText += message + "\r\n"; + if (e != null) { logText += getStackTrace(e) + "\r\n"; + } logText += "\r\n"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 511 http://cishell.svn.sourceforge.net/cishell/?rev=511&view=rev Author: mwlinnem Date: 2007-09-10 09:43:04 -0700 (Mon, 10 Sep 2007) Log Message: ----------- Changed the order reports are shown in (all tests report isn't as friendly as the converter report, so best to put the converter report at the top). Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java Modified: trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java 2007-09-10 16:38:02 UTC (rev 510) +++ trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java 2007-09-10 16:43:04 UTC (rev 511) @@ -151,26 +151,6 @@ readmeReport.getName(), null); addReturn(readMeData); - //return all tests report - - AllTestsReport allReport = allGen.getAllTestsReport(); - File allReportFile = allReport.getAllTestsReport(); - Data allReportData = createReportData(allReportFile, - allReport.getName() , null); - addReturn(allReportData); - - TestReport[] sTestReports = - allReport.getSuccessfulTestReports(); - addFilePasses(sTestReports, allReportData); - - TestReport[] ppTestReports = - allReport.getPartialSuccessTestReports(); - addFilePasses(ppTestReports, allReportData); - - TestReport[] fTestReports = - allReport.getFailedTestReports(); - addFilePasses(fTestReports, allReportData); - //return all converters report AllConvsReport allConvReport = @@ -196,6 +176,26 @@ addFilePasses(trs, convReportData); } + //return all tests report + + AllTestsReport allReport = allGen.getAllTestsReport(); + File allReportFile = allReport.getAllTestsReport(); + Data allReportData = createReportData(allReportFile, + allReport.getName() , null); + addReturn(allReportData); + + TestReport[] sTestReports = + allReport.getSuccessfulTestReports(); + addFilePasses(sTestReports, allReportData); + + TestReport[] ppTestReports = + allReport.getPartialSuccessTestReports(); + addFilePasses(ppTestReports, allReportData); + + TestReport[] fTestReports = + allReport.getFailedTestReports(); + addFilePasses(fTestReports, allReportData); + //return all errors report AllErrorReport allErrorReport = @@ -205,6 +205,7 @@ allErrorReport.getName(), null); addReturn(allErrReport); + //return annotated graph report File graphReportFile = graphGen.getGraphReport(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2007-09-10 16:38:07
|
Revision: 510 http://cishell.svn.sourceforge.net/cishell/?rev=510&view=rev Author: mwlinnem Date: 2007-09-10 09:38:02 -0700 (Mon, 10 Sep 2007) Log Message: ----------- Added "All Errors Report". Still pretty rough. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java trunk/testing/org.cishell.testing.convertertester.core.new/META-INF/MANIFEST.MF Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/reports/AllErrorReport.java Modified: trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java 2007-09-08 04:11:12 UTC (rev 509) +++ trunk/testing/org.cishell.testing.convertertester.algorithm/src/org/cishell/testing/convertertester/algorithm/ConverterTesterAlgorithm.java 2007-09-10 16:38:02 UTC (rev 510) @@ -14,11 +14,13 @@ import org.cishell.testing.convertertester.core.tester2.ConverterTester2; import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.allconvs.AllConvsReportGenerator; +import org.cishell.testing.convertertester.core.tester2.reportgen.allerrors.AllErrorReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.alltests.AllTestsReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.convgraph.AnnotatedGraphReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.convgraph.GraphReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.readme.ReadMeReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllConvsReport; +import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllErrorReport; import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllTestsReport; import org.cishell.testing.convertertester.core.tester2.reportgen.reports.ConvReport; import org.cishell.testing.convertertester.core.tester2.reportgen.reports.FilePassReport; @@ -117,6 +119,8 @@ new AllTestsReportGenerator(this.log); AllConvsReportGenerator allConvGen = new AllConvsReportGenerator(this.log); + AllErrorReportGenerator allErrGen = + new AllErrorReportGenerator(this.log); GraphReportGenerator origGraphGen = new GraphReportGenerator(this.log); AnnotatedGraphReportGenerator graphGen = @@ -131,8 +135,8 @@ ConverterTester2 ct = new ConverterTester2(log); ct.execute(convRefs, new ReportGenerator[] - {allGen, allConvGen, graphGen, origGraphGen, - readmeGen}, + {allGen, allConvGen, allErrGen, + graphGen, origGraphGen, readmeGen}, cContext, bContext); /* * report generators have now been supplied with the test @@ -178,7 +182,6 @@ null); addReturn(allConvReportData); - //return each converter report ConvReport[] convReports = allConvReport.getConverterReports(); for (int ii = 0; ii < convReports.length; ii++) { @@ -193,6 +196,15 @@ addFilePasses(trs, convReportData); } + //return all errors report + + AllErrorReport allErrorReport = + allErrGen.getAllErrorsReport(); + File allErrReportFile = allErrorReport.getReportFile(); + Data allErrReport = createReportData(allErrReportFile, + allErrorReport.getName(), null); + addReturn(allErrReport); + //return annotated graph report File graphReportFile = graphGen.getGraphReport(); Modified: trunk/testing/org.cishell.testing.convertertester.core.new/META-INF/MANIFEST.MF =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/META-INF/MANIFEST.MF 2007-09-08 04:11:12 UTC (rev 509) +++ trunk/testing/org.cishell.testing.convertertester.core.new/META-INF/MANIFEST.MF 2007-09-10 16:38:02 UTC (rev 510) @@ -21,11 +21,14 @@ org.cishell.testing.convertertester.core.tester, org.cishell.testing.convertertester.core.tester.graphcomparison, org.cishell.testing.convertertester.core.tester2, + org.cishell.testing.convertertester.core.tester2.fakelogger, org.cishell.testing.convertertester.core.tester2.graphcomparison, org.cishell.testing.convertertester.core.tester2.reportgen, org.cishell.testing.convertertester.core.tester2.reportgen.allconvs, + org.cishell.testing.convertertester.core.tester2.reportgen.allerrors, org.cishell.testing.convertertester.core.tester2.reportgen.alltests, org.cishell.testing.convertertester.core.tester2.reportgen.convgraph, + org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis, org.cishell.testing.convertertester.core.tester2.reportgen.readme, org.cishell.testing.convertertester.core.tester2.reportgen.reports, org.cishell.testing.convertertester.core.tester2.reportgen.results, Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allerrors/AllErrorReportGenerator.java 2007-09-10 16:38:02 UTC (rev 510) @@ -0,0 +1,210 @@ +package org.cishell.testing.convertertester.core.tester2.reportgen.allerrors; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.cishell.testing.convertertester.core.converter.graph.Converter; +import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; +import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFault; +import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllConvsReport; +import org.cishell.testing.convertertester.core.tester2.reportgen.reports.AllErrorReport; +import org.cishell.testing.convertertester.core.tester2.reportgen.reports.ConvReport; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult; +import org.osgi.service.log.LogService; + +public class AllErrorReportGenerator implements ReportGenerator { + public static final String TEMP_FILE_PATH = "All-Errors-Report.txt"; + + private LogService log; + + private AllErrorReport allErrorsReport; + + public AllErrorReportGenerator(LogService log) { + this.log = log; + } + + public void generateReport(AllTestsResult atr, + AllConvsResult acr, + File nwbConvGraph) { + + Map explnToCafs = getChanceAtFaultsByExpln(acr); + + FileOutputStream reportOutStream = null; + try { + File reportFile = + new File(ReportGenerator.TEMP_DIR + TEMP_FILE_PATH); + reportOutStream = new FileOutputStream(reportFile); + PrintStream report = new PrintStream(reportOutStream); + + report.println("All Errors Report"); + report.println("---------------------------------------------"); + report.println("" ); + + Set explnSet = explnToCafs.keySet(); + String[] explns = (String[]) explnSet.toArray(new String[0]); + Arrays.sort(explns); + + for (int ii = 0; ii < explns.length; ii++) { + + report.println("------------"); + report.println("Error " + ii); + + String expln = explns[ii]; + + report.println(expln); + report.println(""); + + List CafsWithSameExpln = (List) explnToCafs.get(expln); + Map testToPassesToCafs = + categorizeByTestAndPass(CafsWithSameExpln); + Set tests = testToPassesToCafs.keySet(); + + Iterator testIter = tests.iterator(); + while (testIter.hasNext()) { + TestResult test = (TestResult) testIter.next(); + + report.println(test.getName()); + + Map passToCafs + = (Map) testToPassesToCafs.get(test); + + Set passes = passToCafs.keySet(); + Iterator passIter = passes.iterator(); + while (passIter.hasNext()) { + FilePassResult pass = (FilePassResult) passIter.next(); + + report.println(" " + pass.getName()); + + List cafs = (List) passToCafs.get(pass); + + Converter[] involvedConvs = pass.getConvertersInvolved(); + for (int jj = 0; jj < involvedConvs.length; jj++) { + Converter involvedConv = involvedConvs[jj]; + + ChanceAtFault associatedCaf = + getCafAssociatedWithProvidedConverter( + cafs, involvedConv); + + if (associatedCaf.getChanceAtFault() > 0.0f) { + report.println(" " + + involvedConv.getShortName() + " (%" + + associatedCaf.getChanceAtFault() + + " Chance At Fault)"); + } else { + report.println(" " + + involvedConv.getShortName()); + } + } + } + } + } + report.flush(); + + reportOutStream.close(); + + this.allErrorsReport = new AllErrorReport(reportFile, + "All Errors Report"); + + } catch (IOException e) { + + this.log.log(LogService.LOG_ERROR, "Unable to generate all converters report.", e); + try { + if (reportOutStream != null) reportOutStream.close(); + } catch (IOException e2) { + this.log.log(LogService.LOG_ERROR, "Unable to generate all converters report.", e); + } + } + } + + //expln = explanation + private Map getChanceAtFaultsByExpln(AllConvsResult acr) { + Map explnToCafs = new HashMap(); + + ConvResult[] crs = acr.getConvResults(); + for (int ii = 0; ii < crs.length; ii++) { + ConvResult cr = crs[ii]; + + ChanceAtFault[] cafs = cr.getAllChanceAtFaults(); + for (int jj = 0; jj < cafs.length; jj++) { + ChanceAtFault caf = cafs[jj]; + + String expln = caf.getExplanation(); + + if(explnToCafs.get(expln) != null) { + ((List)explnToCafs.get(expln)).add(caf); + } + else { + List cafsWithSameExpln = new ArrayList(); + cafsWithSameExpln.add(caf); + explnToCafs.put(expln, cafsWithSameExpln); + } + } + } + + return explnToCafs; + } + + //Map<test, Map<pass, List<cafs>>> + private Map categorizeByTestAndPass(List cafList) { + Map testToPassesToCafs = new HashMap(); + for (int ii = 0; ii < cafList.size(); ii++) { + ChanceAtFault caf = (ChanceAtFault) cafList.get(ii); + FilePassResult pass = caf.getFailedFilePass(); + TestResult test = pass.getParent(); + + Map passToCafs; + List cafs; + + passToCafs = (Map) testToPassesToCafs.get(test); + + if(passToCafs == null) { + passToCafs = new HashMap(); + + cafs = new ArrayList(); + } else { + cafs = (List) passToCafs.get(pass); + + if (cafs == null) { + cafs = new ArrayList(); + } + } + + cafs.add(caf); + passToCafs.put(pass, cafs); + testToPassesToCafs.put(test, passToCafs); + } + + return testToPassesToCafs; + } + + public AllErrorReport getAllErrorsReport() { + return this.allErrorsReport; + } + + public ChanceAtFault getCafAssociatedWithProvidedConverter( + List cafs, Converter conv) { + Iterator cafIter = cafs.iterator(); + while (cafIter.hasNext()) { + ChanceAtFault caf = (ChanceAtFault) cafIter.next(); + + if (caf.getConverter() == conv) { + return caf; + } + } + + return null; + } +} Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/reports/AllErrorReport.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/reports/AllErrorReport.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/reports/AllErrorReport.java 2007-09-10 16:38:02 UTC (rev 510) @@ -0,0 +1,21 @@ +package org.cishell.testing.convertertester.core.tester2.reportgen.reports; + +import java.io.File; + +public class AllErrorReport implements Report { + + private File file; + private String name; + + public AllErrorReport(File file, String name) { + this.file = file; + this.name = name; + } + public String getName() { + return this.name; + } + + public File getReportFile() { + return this.file; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2007-09-08 04:11:16
|
Revision: 509 http://cishell.svn.sourceforge.net/cishell/?rev=509&view=rev Author: huangb Date: 2007-09-07 21:11:12 -0700 (Fri, 07 Sep 2007) Log Message: ----------- this package is out of date and should be moved to /trunk/client/old-cishell-compatibility Added Paths: ----------- trunk/clients/old-cishell-compatibility/org.cishell.reference.gui.guibuilder.temp/ Removed Paths: ------------- trunk/clients/gui/org.cishell.reference.gui.guibuilder.temp/ Copied: trunk/clients/old-cishell-compatibility/org.cishell.reference.gui.guibuilder.temp (from rev 508, trunk/clients/gui/org.cishell.reference.gui.guibuilder.temp) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mwl...@us...> - 2007-08-30 22:36:36
|
Revision: 508 http://cishell.svn.sourceforge.net/cishell/?rev=508&view=rev Author: mwlinnem Date: 2007-08-30 15:30:46 -0700 (Thu, 30 Aug 2007) Log Message: ----------- Error explanations in Converter Reports are now sorted so the errors that particular converter is most likely to be responsible for come before the errors that converter is less likely to be responsible for. Modified Paths: -------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConvResultMaker.java Removed Paths: ------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/ConvResultMaker.java Copied: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConvResultMaker.java (from rev 498, trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/ConvResultMaker.java) =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConvResultMaker.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConvResultMaker.java 2007-08-30 22:30:46 UTC (rev 508) @@ -0,0 +1,334 @@ +package org.cishell.testing.convertertester.core.tester2; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.cishell.testing.convertertester.core.converter.graph.Converter; +import org.cishell.testing.convertertester.core.converter.graph.ConverterPath; +import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFault; +import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFaultHeuristic; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult; + +public class ConvResultMaker { + + public static AllConvsResult generate(AllTestsResult atr, + Converter[] allConvs, ChanceAtFaultHeuristic faultHeuristic) { + + Converter[] trustedConvs = determineWhichAreTrusted(atr); + + System.out.println("*** # Trusted Convs: " + trustedConvs.length); + + Map convToTestsToPasses = associateConvsWithTestsAndPasses(atr, + allConvs, trustedConvs, + faultHeuristic); + ConvResult[] convResults = generateConvResults(convToTestsToPasses, + allConvs, trustedConvs); + +// addFaultInfo(convResults, trustedConvs, faultHeuristic); + + return new AllConvsResult(convResults); + + } + + /** + * Looks for tests where each file pass succeeded. We will assume that + * each converter involved in a test where all file passes succeeded is + * very likely to be correct. If one of these converters is involved + * in a file pass that fails at some later point, we will assume + * that that converter was not at fault, but was fed erroneous data + * by previous converters. + * @param atr the test results, which contain info on failure + * or success of each test. + * @return an array of the converters that are trusted + */ + private static Converter[] determineWhichAreTrusted(AllTestsResult atr) { + TestResult[] trs = atr.getTestResults(); + + Set trustedConverters = new HashSet(); + for (int ii = 0; ii < trs.length; ii++) { + TestResult tr = trs[ii]; + FilePassResult[] fprs = tr.getFilePassResults(); + + //check if all file passes were successes + + boolean trusted = true; + for (int jj = 0; jj < fprs.length; jj++) { + FilePassResult fpr = fprs[jj]; + if (! fpr.succeeded()) { + //not all were successes + trusted = false; + break; + } + } + + if (trusted && fprs.length > 0) { + //mark all converters involved as trusted. + + ConverterPath testConvs = tr.getTestConverters(); + for (int kk = 0; kk < testConvs.size(); kk++) { + Converter conv = testConvs.get(kk); + trustedConverters.add(conv); + } + } + } + + return (Converter[]) trustedConverters.toArray(new Converter[0]); + } + + + private static Map associateConvsWithTestsAndPasses(AllTestsResult atr, + Converter[] allConvs, Converter[] trustedConvs, + ChanceAtFaultHeuristic faultHeuristic) { + TestResult[] trs = atr.getTestResults(); + + //Map<Converter, Map<TestResult, List<FilePassResult>>> + Map convToTestsToPasses = new HashMap(); + initialize(convToTestsToPasses, allConvs); + + //for each test... + for (int ii = 0; ii < trs.length; ii++) { + TestResult tr = trs[ii]; + + FilePassResult[] fps = tr.getFilePassResults(); + //for each file pass... + for (int jj = 0; jj < fps.length; jj++) { + FilePassResult fp = fps[jj]; + + Converter[] convsInvolved = fp.getConvertersInvolved(); + + /* + * associate the file pass with the chance that each converter + * involved is at fault. + */ + + if (! fp.succeeded()) { + ChanceAtFault[] chanceAtFaults = faultHeuristic.determine(fp, + convsInvolved, trustedConvs); + for (int kk = 0; kk < chanceAtFaults.length; kk++) { + ChanceAtFault caf = chanceAtFaults[kk]; + fp.addChanceAtFault(caf); + } + } + + //for each converter involved... + for (int kk = 0; kk < convsInvolved.length; kk++) { + Converter conv = convsInvolved[kk]; + + /* + * associate the converter with the tests and + * file passes that involve it. + * + * (side-effects convToTestsToPasses) + */ + addPassResult(convToTestsToPasses, conv, + fp); + + } + } + } + + return convToTestsToPasses; + } + + private static ConvResult[] generateConvResults(Map convToTestsToPasses, + Converter[] allConvs, Converter[] trustedConvs) { + + ConvResult[] convResults = makeAndFillWithAssociatedTestsAndPasses( + convToTestsToPasses, allConvs, trustedConvs); + +// addFaultInfo(convResults, convToTestsToPasses, allConvs, trustedConvs, +// faultHeuristic); + + return convResults; + } + + private static ConvResult[] makeAndFillWithAssociatedTestsAndPasses( + Map convToTestsToPasses, Converter[] allConvs, + Converter[] trustedConvs) { + List convResults = new ArrayList(); + + List trustedConvList = Arrays.asList(trustedConvs); + // for every converter we know of... + for (int ii = 0; ii < allConvs.length; ii++) { + Converter conv = allConvs[ii]; + // get the associated test to passes map + Map testToPasses = (Map) convToTestsToPasses.get(conv); + + /* + * create converter result objects which contain information about + * which tests and file passes it is involved with, and whether it + * is trusted. + */ + + boolean isTrusted = trustedConvList.contains(conv); + + ConvResult convResult = new ConvResult(conv, isTrusted, + testToPasses); + + convResults.add(convResult); + } + // return the converter result objects + return (ConvResult[]) convResults.toArray(new ConvResult[0]); + } + + private static void addPassResult(Map convToTestsToPasses, Converter conv, + FilePassResult pass) { + + TestResult test = pass.getParent(); + + Map testToPasses = (Map) convToTestsToPasses.get(conv); + List passes; + + //if we already associated this test with the converter... + if (testToPasses != null) { + passes = (List) testToPasses.get(test); + if (passes == null) { + passes = new ArrayList(); + } + } else { //otherwise... + testToPasses = new HashMap(); + passes = new ArrayList(); + } + + passes.add(pass); + testToPasses.put(test, passes); + convToTestsToPasses.put(conv, testToPasses); + } + + /** + * Ensures that each converter is represented in the map, whether or not + * there are any test associated with it. + * @param convToTestsToPasses The map we side-effect + * @param allConvs an array of all the converters we know of + */ + private static void initialize(Map convToTestsToPasses, Converter[] allConvs) { + for (int ii = 0; ii < allConvs.length; ii++) { + Converter conv = allConvs[ii]; + + convToTestsToPasses.put(conv, new HashMap()); + } + } + +// private static addFaultInfo(AllTestsResult atr, ConvResult[] crs, +// Converter[] trustedConvs, ChanceAtFaultHeuristic faultHeuristic) { +// +// Map convToChanceAtFaults = new HashMap(); +// +// FilePassResult[] failFPRs = atr.getFailedFilePasses(); +// for (int ii = 0; ii < failFPRs.length; ii++) { +// FilePassResult failFPR = failFPRs[ii]; +// +// ChanceAtFault[] chanceAtFaultsForEachConv = getFaultInfo(failFPR, +// trustedConvs, trustedConvs); +// +// for (int jj = 0; jj < chanceAtFaultsForEachConv.length; jj++) { +// ChanceAtFault chanceAtFaultForAConv = +// chanceAtFaultsForEachConv[jj]; +// +// Converter conv = chanceAtFaultForAConv.getConverter(); +// +// addEntryToList(convToChanceAtFaults, conv, +// chanceAtFaultForAConv); +// +// } +// } +// +// for (int ii = 0; ii < crs.length; ii++) { +// ConvResult cr = crs[ii]; +// +// Converter c = cr.getConverter(); +// List chanceAtFaults = convToChanceAtFaults.get(c); +// +// if (chanceAtFaults != null) { +// +// Iterator faultIter = chanceAtFaults.iterator(); +// while (faultIter.hasNext()) { +// ChanceAtFault caf = (ChanceAtFault) faultIter.next(); +// +// cr. +// } +// } +// } +// +// +//// List convResults = new ArrayList(); +//// +//// List trustedConvList = Arrays.asList(trustedConvs); +//// //for every converter we know of... +//// for (int ii = 0; ii < allConvs.length; ii++) { +//// Converter conv = allConvs[ii]; +//// //get the associated test to passes map +//// Map testToPasses = (Map) convToTestsToPasses.get(conv); +//// +//// /* +//// * create converter result objects which contain +//// * information about which tests and file passes +//// * it is involved with, and whether it is trusted. +//// */ +//// +//// boolean isTrusted = trustedConvList.contains(conv); +//// +//// ConvResult convResult = new ConvResult(conv, isTrusted, +//// testToPasses); +//// +//// convResults.add(convResult); +//// +//// Set tests = testToPasses.keySet(); +//// Iterator testIter = tests.iterator(); +//// //for each test... +//// while (testIter.hasNext()) { +//// TestResult tr = (TestResult) testIter.next(); +//// List passes = (List) testToPasses.get(tr); +//// Iterator passIter = passes.iterator(); +//// //for each involved pass... +//// while (passIter.hasNext()) { +//// FilePassResult fpr = (FilePassResult) passIter.next(); +//// +//// if (! fpr.succeeded()) { +//// addFailInfo(fpr, trustedConvs, faultHeuristic); +//// } +//// } +//// } +//// } +// } + +// private static ChanceAtFault[] getFaultInfo(FilePassResult failFP, Converter[] trustedConverters, +// ChanceAtFaultHeuristic faultHeuristic) { +// Converter[] convsInvolvedInFailure = failFP.getConvertersInvolved(); +// ChanceAtFault[] chanceAtFaults = faultHeuristic.determine(failFP, +// convsInvolvedInFailure, trustedConverters); +// return chanceAtFaults; +// } + + /** + * For maps that associate an object to a list of objects, + * add the given value to the list associated with the key. + * + * Side-effects the map + * + * @param map + * @param key + * @param value + */ + private static void addEntryToList(Map map, Object key, Object value) { + List oldEntries = (List) map.get(key); + + if (oldEntries == null) { + //no entries so far + oldEntries = new ArrayList(); + } + + oldEntries.add(value); + + map.put(key, value); + } +} Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/ConverterTester2.java 2007-08-30 22:30:46 UTC (rev 508) @@ -20,7 +20,6 @@ import org.cishell.testing.convertertester.core.tester2.graphcomparison.IdsPreservedComparer; import org.cishell.testing.convertertester.core.tester2.graphcomparison.LossyComparer; import org.cishell.testing.convertertester.core.tester2.graphcomparison.NewGraphComparer; -import org.cishell.testing.convertertester.core.tester2.reportgen.ConvResultMaker; import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFaultHeuristic; import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.FullTrustHeuristic; Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/ConvResultMaker.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/ConvResultMaker.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/ConvResultMaker.java 2007-08-30 22:30:46 UTC (rev 508) @@ -1,335 +0,0 @@ -package org.cishell.testing.convertertester.core.tester2.reportgen; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.cishell.testing.convertertester.core.converter.graph.Converter; -import org.cishell.testing.convertertester.core.converter.graph.ConverterPath; -import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFault; -import org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis.ChanceAtFaultHeuristic; -import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; -import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; -import org.cishell.testing.convertertester.core.tester2.reportgen.results.ConvResult; -import org.cishell.testing.convertertester.core.tester2.reportgen.results.FilePassResult; -import org.cishell.testing.convertertester.core.tester2.reportgen.results.TestResult; -import org.cishell.testing.convertertester.core.tester2.reportgen.results.filepass.FilePassSuccess; - -public class ConvResultMaker { - - public static AllConvsResult generate(AllTestsResult atr, - Converter[] allConvs, ChanceAtFaultHeuristic faultHeuristic) { - - Converter[] trustedConvs = determineWhichAreTrusted(atr); - - System.out.println("*** # Trusted Convs: " + trustedConvs.length); - - Map convToTestsToPasses = associateConvsWithTestsAndPasses(atr, - allConvs, trustedConvs, - faultHeuristic); - ConvResult[] convResults = generateConvResults(convToTestsToPasses, - allConvs, trustedConvs); - -// addFaultInfo(convResults, trustedConvs, faultHeuristic); - - return new AllConvsResult(convResults); - - } - - /** - * Looks for tests where each file pass succeeded. We will assume that - * each converter involved in a test where all file passes succeeded is - * very likely to be correct. If one of these converters is involved - * in a file pass that fails at some later point, we will assume - * that that converter was not at fault, but was fed erroneous data - * by previous converters. - * @param atr the test results, which contain info on failure - * or success of each test. - * @return an array of the converters that are trusted - */ - private static Converter[] determineWhichAreTrusted(AllTestsResult atr) { - TestResult[] trs = atr.getTestResults(); - - List trustedConverters = new ArrayList(); - for (int ii = 0; ii < trs.length; ii++) { - TestResult tr = trs[ii]; - FilePassResult[] fprs = tr.getFilePassResults(); - - //check if all file passes were successes - - boolean trusted = true; - for (int jj = 0; jj < fprs.length; jj++) { - FilePassResult fpr = fprs[jj]; - if (! fpr.succeeded()) { - //not all were successes - trusted = false; - break; - } - } - - if (trusted && fprs.length > 0) { - //mark all converters involved as trusted. - - ConverterPath testConvs = tr.getTestConverters(); - for (int kk = 0; kk < testConvs.size(); kk++) { - Converter conv = testConvs.get(kk); - trustedConverters.add(conv); - } - } - } - - return (Converter[]) trustedConverters.toArray(new Converter[0]); - } - - - private static Map associateConvsWithTestsAndPasses(AllTestsResult atr, - Converter[] allConvs, Converter[] trustedConvs, - ChanceAtFaultHeuristic faultHeuristic) { - TestResult[] trs = atr.getTestResults(); - - //Map<Converter, Map<TestResult, List<FilePassResult>>> - Map convToTestsToPasses = new HashMap(); - initialize(convToTestsToPasses, allConvs); - - //for each test... - for (int ii = 0; ii < trs.length; ii++) { - TestResult tr = trs[ii]; - - FilePassResult[] fps = tr.getFilePassResults(); - //for each file pass... - for (int jj = 0; jj < fps.length; jj++) { - FilePassResult fp = fps[jj]; - - Converter[] convsInvolved = fp.getConvertersInvolved(); - - /* - * associate the file pass with the chance that each converter - * involved is at fault. - */ - - if (! fp.succeeded()) { - ChanceAtFault[] chanceAtFaults = faultHeuristic.determine(fp, - convsInvolved, trustedConvs); - for (int kk = 0; kk < chanceAtFaults.length; kk++) { - ChanceAtFault caf = chanceAtFaults[kk]; - fp.addChanceAtFault(caf); - } - } - - //for each converter involved... - for (int kk = 0; kk < convsInvolved.length; kk++) { - Converter conv = convsInvolved[kk]; - - /* - * associate the converter with the tests and - * file passes that involve it. - * - * (side-effects convToTestsToPasses) - */ - addPassResult(convToTestsToPasses, conv, - fp); - - } - } - } - - return convToTestsToPasses; - } - - private static ConvResult[] generateConvResults(Map convToTestsToPasses, - Converter[] allConvs, Converter[] trustedConvs) { - - ConvResult[] convResults = makeAndFillWithAssociatedTestsAndPasses( - convToTestsToPasses, allConvs, trustedConvs); - -// addFaultInfo(convResults, convToTestsToPasses, allConvs, trustedConvs, -// faultHeuristic); - - return convResults; - } - - private static ConvResult[] makeAndFillWithAssociatedTestsAndPasses( - Map convToTestsToPasses, Converter[] allConvs, - Converter[] trustedConvs) { - List convResults = new ArrayList(); - - List trustedConvList = Arrays.asList(trustedConvs); - // for every converter we know of... - for (int ii = 0; ii < allConvs.length; ii++) { - Converter conv = allConvs[ii]; - // get the associated test to passes map - Map testToPasses = (Map) convToTestsToPasses.get(conv); - - /* - * create converter result objects which contain information about - * which tests and file passes it is involved with, and whether it - * is trusted. - */ - - boolean isTrusted = trustedConvList.contains(conv); - - ConvResult convResult = new ConvResult(conv, isTrusted, - testToPasses); - - convResults.add(convResult); - } - // return the converter result objects - return (ConvResult[]) convResults.toArray(new ConvResult[0]); - } - - private static void addPassResult(Map convToTestsToPasses, Converter conv, - FilePassResult pass) { - - TestResult test = pass.getParent(); - - Map testToPasses = (Map) convToTestsToPasses.get(conv); - List passes; - - //if we already associated this test with the converter... - if (testToPasses != null) { - passes = (List) testToPasses.get(test); - if (passes == null) { - passes = new ArrayList(); - } - } else { //otherwise... - testToPasses = new HashMap(); - passes = new ArrayList(); - } - - passes.add(pass); - testToPasses.put(test, passes); - convToTestsToPasses.put(conv, testToPasses); - } - - /** - * Ensures that each converter is represented in the map, whether or not - * there are any test associated with it. - * @param convToTestsToPasses The map we side-effect - * @param allConvs an array of all the converters we know of - */ - private static void initialize(Map convToTestsToPasses, Converter[] allConvs) { - for (int ii = 0; ii < allConvs.length; ii++) { - Converter conv = allConvs[ii]; - - convToTestsToPasses.put(conv, new HashMap()); - } - } - -// private static addFaultInfo(AllTestsResult atr, ConvResult[] crs, -// Converter[] trustedConvs, ChanceAtFaultHeuristic faultHeuristic) { -// -// Map convToChanceAtFaults = new HashMap(); -// -// FilePassResult[] failFPRs = atr.getFailedFilePasses(); -// for (int ii = 0; ii < failFPRs.length; ii++) { -// FilePassResult failFPR = failFPRs[ii]; -// -// ChanceAtFault[] chanceAtFaultsForEachConv = getFaultInfo(failFPR, -// trustedConvs, trustedConvs); -// -// for (int jj = 0; jj < chanceAtFaultsForEachConv.length; jj++) { -// ChanceAtFault chanceAtFaultForAConv = -// chanceAtFaultsForEachConv[jj]; -// -// Converter conv = chanceAtFaultForAConv.getConverter(); -// -// addEntryToList(convToChanceAtFaults, conv, -// chanceAtFaultForAConv); -// -// } -// } -// -// for (int ii = 0; ii < crs.length; ii++) { -// ConvResult cr = crs[ii]; -// -// Converter c = cr.getConverter(); -// List chanceAtFaults = convToChanceAtFaults.get(c); -// -// if (chanceAtFaults != null) { -// -// Iterator faultIter = chanceAtFaults.iterator(); -// while (faultIter.hasNext()) { -// ChanceAtFault caf = (ChanceAtFault) faultIter.next(); -// -// cr. -// } -// } -// } -// -// -//// List convResults = new ArrayList(); -//// -//// List trustedConvList = Arrays.asList(trustedConvs); -//// //for every converter we know of... -//// for (int ii = 0; ii < allConvs.length; ii++) { -//// Converter conv = allConvs[ii]; -//// //get the associated test to passes map -//// Map testToPasses = (Map) convToTestsToPasses.get(conv); -//// -//// /* -//// * create converter result objects which contain -//// * information about which tests and file passes -//// * it is involved with, and whether it is trusted. -//// */ -//// -//// boolean isTrusted = trustedConvList.contains(conv); -//// -//// ConvResult convResult = new ConvResult(conv, isTrusted, -//// testToPasses); -//// -//// convResults.add(convResult); -//// -//// Set tests = testToPasses.keySet(); -//// Iterator testIter = tests.iterator(); -//// //for each test... -//// while (testIter.hasNext()) { -//// TestResult tr = (TestResult) testIter.next(); -//// List passes = (List) testToPasses.get(tr); -//// Iterator passIter = passes.iterator(); -//// //for each involved pass... -//// while (passIter.hasNext()) { -//// FilePassResult fpr = (FilePassResult) passIter.next(); -//// -//// if (! fpr.succeeded()) { -//// addFailInfo(fpr, trustedConvs, faultHeuristic); -//// } -//// } -//// } -//// } -// } - -// private static ChanceAtFault[] getFaultInfo(FilePassResult failFP, Converter[] trustedConverters, -// ChanceAtFaultHeuristic faultHeuristic) { -// Converter[] convsInvolvedInFailure = failFP.getConvertersInvolved(); -// ChanceAtFault[] chanceAtFaults = faultHeuristic.determine(failFP, -// convsInvolvedInFailure, trustedConverters); -// return chanceAtFaults; -// } - - /** - * For maps that associate an object to a list of objects, - * add the given value to the list associated with the key. - * - * Side-effects the map - * - * @param map - * @param key - * @param value - */ - private static void addEntryToList(Map map, Object key, Object value) { - List oldEntries = (List) map.get(key); - - if (oldEntries == null) { - //no entries so far - oldEntries = new ArrayList(); - } - - oldEntries.add(value); - - map.put(key, value); - } -} Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/allconvs/ConvReportSubGenerator.java 2007-08-30 22:30:46 UTC (rev 508) @@ -4,8 +4,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; -import java.util.ArrayList; -import java.util.List; +import java.util.Arrays; import org.cishell.testing.convertertester.core.converter.graph.Converter; import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; @@ -72,8 +71,11 @@ ChanceAtFault[] failureExplns = cr .getUniqueExplnChanceAtFaults(); + Arrays.sort(failureExplns, cr.getCompareFaultsByLikelihood()); + if (failureExplns.length > 0) { - report.println("Unique Failure Explanations..."); + report.println("Unique Failure Explanations " + + "(sorted by likelihood)..."); for (int ii = 0; ii < failureExplns.length; ii++) { ChanceAtFault failureExp = failureExplns[ii]; @@ -107,18 +109,21 @@ report.println("may not be testable."); } - this.convReport = new ConvReport(reportFile, new TestReport[0], cr - .getShortNameWithTrust()); + this.convReport = new ConvReport(reportFile, new TestReport[0], + cr.getShortNameWithTrust()); + report.println(""); report.flush(); reportOutStream.close(); } catch (IOException e) { - this.log.log(LogService.LOG_ERROR, "Unable to generate a converter report.", e); + this.log.log(LogService.LOG_ERROR, + "Unable to generate a converter report.", e); try { if (reportOutStream != null) reportOutStream.close(); } catch (IOException e2) { - this.log.log(LogService.LOG_ERROR, "Unable to close a converter report", e); + this.log.log(LogService.LOG_ERROR, + "Unable to close a converter report", e); } } } Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/AnnotatedGraphReportGenerator.java 2007-08-30 22:30:46 UTC (rev 508) @@ -7,7 +7,7 @@ import java.io.FileWriter; import java.io.IOException; -import org.cishell.testing.convertertester.core.tester2.reportgen.ConvResultMaker; +import org.cishell.testing.convertertester.core.tester2.ConvResultMaker; import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/faultanalysis/ChanceAtFault.java 2007-08-30 22:30:46 UTC (rev 508) @@ -1,10 +1,15 @@ package org.cishell.testing.convertertester.core.tester2.reportgen.faultanalysis; +import java.util.Comparator; + import org.cishell.testing.convertertester.core.converter.graph.Converter; import org.cishell.testing.convertertester.core.tester2.reportgen.results.filepass.FilePassFailure; public class ChanceAtFault { + public static final Comparator COMPARE_BY_LIKELIHOOD = + new CompareByLikelihood(); + private FilePassFailure failedFP; private Converter c; private float chanceAtFault; @@ -38,4 +43,33 @@ public String toString() { return String.valueOf(chanceAtFault); } + + private static class CompareByLikelihood implements Comparator { + + public int compare(Object arg0, Object arg1) { + if (arg0 instanceof ChanceAtFault && + arg1 instanceof ChanceAtFault) { + ChanceAtFault caf0 = (ChanceAtFault) arg0; + ChanceAtFault caf1 = (ChanceAtFault) arg1; + + float difference = caf1.getChanceAtFault() - + caf0.getChanceAtFault(); + + if (difference > 0.0f) { + return 1; + } else if (difference == 0.0f) { + return 0; + } else if (difference < 0.0f) { + return -1; + } + + } else { + throw new IllegalArgumentException("Must compare two " + + "ChanceAtFaults"); + } + + return 0; + } + + } } Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/ConvResult.java 2007-08-30 22:30:46 UTC (rev 508) @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -241,6 +242,10 @@ return 1.0f - this.chanceCorrect; } + public Comparator getCompareFaultsByLikelihood() { + return ChanceAtFault.COMPARE_BY_LIKELIHOOD; + } + private boolean containsChanceAtFaultWithExpln(List chanceAtFaultList, String explanation) { Iterator iter = chanceAtFaultList.iterator(); Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/FilePassResult.java 2007-08-30 22:30:46 UTC (rev 508) @@ -1,6 +1,7 @@ package org.cishell.testing.convertertester.core.tester2.reportgen.results; import java.util.ArrayList; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -13,6 +14,8 @@ public abstract class FilePassResult { + public static final Comparator COMPARE_BY_SUCCESS = new CompareBySuccess(); + public static final String DEFAULT_NAME = "Default File Pass Name"; private Data[] originalData; @@ -186,4 +189,45 @@ public void addChanceAtFault(ChanceAtFault chanceAtFault) { this.chanceAtFaults.add(chanceAtFault); } + + +private static class CompareBySuccess implements Comparator { + + /** + * Compare first by success, where + * completely successful > partially successful > complet failure, + * and then alphabetize (the natural order of test results) + * for cases where they both have the same success type. + */ + public int compare(Object o1, Object o2) { + if (o1 instanceof TestResult && o2 instanceof TestResult) { + TestResult tr1 = (TestResult) o1; + TestResult tr2 = (TestResult) o2; + + int success1 = getSuccessRating(tr1); + int success2 = getSuccessRating(tr2); + + if (success1 != success2) { + return success2 - success1; + } else { + return tr1.compareTo(tr2); + } + + } else { + throw new IllegalArgumentException("Can only " + + "compare test results"); + } + + } + + private int getSuccessRating(TestResult tr) { + if (tr.allSucceeded()) { + return 2; + } else if (tr.someSucceeded()) { + return 1; + } else { + return 0; + } + } + } } Modified: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java 2007-08-30 21:26:38 UTC (rev 507) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/results/TestResult.java 2007-08-30 22:30:46 UTC (rev 508) @@ -266,51 +266,6 @@ } public static Comparator getCompareBySuccess() { - return new CompareBySuccess(); - } - - private static class CompareBySuccess implements Comparator { - - /** - * Compare first by success, where - * completely successful > partially successful > complet failure, - * and then alphabetize (the natural order of test results) - * for cases where they both have the same success type. - */ - public int compare(Object o1, Object o2) { - if (o1 instanceof TestResult && o2 instanceof TestResult) { - TestResult tr1 = (TestResult) o1; - TestResult tr2 = (TestResult) o2; - - int success1 = getSuccessRating(tr1); - int success2 = getSuccessRating(tr2); - - if (success1 != success2) { - return success2 - success1; - } else { - return tr1.compareTo(tr2); - } - - } else { - throw new IllegalArgumentException("Can only " + - "compare test results"); - } - - } - - private int getSuccessRating(TestResult tr) { - if (tr.allSucceeded()) { - return 2; - } else if (tr.someSucceeded()) { - return 1; - } else { - return 0; - } - } - } - - - - - + return FilePassResult.COMPARE_BY_SUCCESS; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 507 http://cishell.svn.sourceforge.net/cishell/?rev=507&view=rev Author: mwlinnem Date: 2007-08-30 14:26:38 -0700 (Thu, 30 Aug 2007) Log Message: ----------- Fixed error I made while refactoring, and fixed the missing edge bug. Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java 2007-08-30 21:26:38 UTC (rev 507) @@ -0,0 +1,459 @@ +package org.cishell.testing.convertertester.core.converter.graph; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TreeSet; +import java.util.concurrent.ConcurrentHashMap; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.log.LogService; + +public class ConverterGraph { + private prefuse.data.Graph converterGraph; + private Map inDataToConverters; + private Map fileExtensionTestConverters; + private Map fileExtensionCompareConverters; + private Converter[] converters; + private BundleContext bContext; + private LogService log; + private static final String testOutData = "prefuse.data.Graph"; + + public ConverterGraph(ServiceReference[] converterRefs, + BundleContext bContext, LogService log) { + this.bContext = bContext; + this.log = log; + + this.converters = createConverters(converterRefs); + + inDataToConverters = + new HashMap();//<String, List<Convertere>>(); + fileExtensionTestConverters = + new ConcurrentHashMap();//<String, List<ConverterPath>>(); + fileExtensionCompareConverters = + new ConcurrentHashMap();//<String, ConverterPath>(); + + associateConverters(this.converters, this.inDataToConverters); + createConverterPaths(this.inDataToConverters, this.fileExtensionTestConverters, this.fileExtensionCompareConverters); + + } + + private Converter[] createConverters(ServiceReference[] convRefs) { + List converters = new ArrayList(); + + for (int ii = 0; ii < convRefs.length; ii++) { + converters.add(new Converter(this.bContext, convRefs[ii])); + } + + return (Converter[]) converters.toArray(new Converter[0]); + } + + private void associateConverters(Converter[] cs, Map hm){ + for (int i = 0; i < cs.length; i++){ + Converter c = cs[i]; + + String s = c.getInData(); + + if(hm.get(s) == null){ + List l = new ArrayList(); + l.add(c); + hm.put(s, l); + } + else{ + ((List)hm.get(s)).add(c); + } + } + } + + private void createConverterPaths(Map algorithms, Map testPaths, + Map comparePaths){ + String[] keySet = new String[algorithms.keySet().size()]; + keySet = (String[])algorithms.keySet().toArray(keySet); + for(int i = 0; i < keySet.length; i++){ + String s = keySet[i]; + if(s.startsWith("file-ext")){ + + + ConverterPath test = new ConverterPath(this.bContext, this.log); + + test.setInData(s); + + createPaths((List)algorithms.get(s), test, s); + + } + } + + } + + private ConverterPath createPaths(List algorithms, ConverterPath path, String dataType){ + List cs = removeReferences(algorithms, path); + + addCompareCycle(path); + + if(path.getInData().equals(path.getOutData())){ + addTestCycle(path); + return path; + } + while(!cs.isEmpty()){ + ConverterPath p = new ConverterPath(path, this.bContext); + p.add((Converter) cs.get(0)); + cs.remove(0); + createPaths((List)this.inDataToConverters.get(p.getOutData()), p, p.getOutData()); + + } + return null; + } + + private void addTestCycle(ConverterPath cp){ + String firstOutData, lastInData; + firstOutData = ((Converter) cp.getPath().get(0)).getOutData(); + lastInData = ((Converter)cp.getPath().get(cp.getPath().size()-1)).getInData(); + if(firstOutData.equals(lastInData)){ + addTestPath(cp); + } + } + + private void addCompareCycle(ConverterPath cp){ + if(cp.getOutData() != null){ + if(cp.getOutData().equals(ConverterGraph.testOutData)){ + String key = cp.getInData() + " " + ((Converter) cp.getPath().get(0)).getOutData(); + //System.out.println(key); + if(this.fileExtensionCompareConverters.get(key) == null){ + + + this.fileExtensionCompareConverters.put(key, new ConverterPath(cp, this.bContext)); + } + else { + ConverterPath tempPath = (ConverterPath)this.fileExtensionCompareConverters.get(key); + int pathSize = tempPath.getPath().size(); + if(pathSize > cp.getPath().size()){ + + this.fileExtensionCompareConverters.put(key, new ConverterPath(cp, this.bContext)); + } + } + } + } + } + + private static List removeReferences(List al, ConverterPath cp){ + List cs = new ArrayList(al); + cs.removeAll(cp.getPath()); + List forbidden = new ArrayList(); + for(int i = 0; i < cs.size(); i++){ + Converter c = (Converter) cs.get(i); + String outData = c.getOutData(); + if(outData.startsWith("file-ext") && (!outData.equals(cp.getInData()))){ + + forbidden.add(c); + } + } + cs.removeAll(forbidden); + return cs; + } + + private void addTestPath(ConverterPath p){ + String key = p.getInData(); + key += " "; + key += ((Converter)p.getPath().get(0)).getOutData(); + if(this.fileExtensionTestConverters.get(key) == null){ + + List paths = new ArrayList(); + paths.add(p); + this.fileExtensionTestConverters.put(key, paths); + + } + else{ + + ((List)this.fileExtensionTestConverters.get(key)).add(p); + + } + } + + + public String printTestConverterPath(String s){ + StringBuffer sb = new StringBuffer(); + List al = (List)this.fileExtensionTestConverters.get(s); + for(int i = 0; i < al.size(); i++){ + ConverterPath cp = (ConverterPath)al.get(i); + sb.append(cp.toString()); + } + sb.trimToSize(); + return sb.toString(); + } + + public String printTestConverterPaths(){ + StringBuffer sb = new StringBuffer(); + String[] keySet = new String[this.fileExtensionTestConverters.keySet().size()]; + keySet = (String[])this.fileExtensionTestConverters.keySet().toArray(keySet); + for(int i = 0; i < keySet.length; i++){ + String s = keySet[i]; + sb.append(printTestConverterPath(s)); + } + sb.trimToSize(); + return sb.toString(); + } + + + public String printComparisonConverterPath(String s){ + return this.fileExtensionCompareConverters.get(s).toString(); + } + + public String printComparisonConverterPaths(){ + StringBuffer sb = new StringBuffer(); + String[] keySet = new String[this.fileExtensionCompareConverters.keySet().size()]; + keySet = (String[])this.fileExtensionCompareConverters.keySet().toArray(keySet); + for(int i = 0; i < keySet.length; i++){ + String s = keySet[i]; + //System.out.println(s); + sb.append(printComparisonConverterPath(s)); + } + sb.trimToSize(); + return sb.toString(); + } + + + public String toString(){ + StringBuffer str = new StringBuffer(); + String[] keySet = new String[this.inDataToConverters.keySet().size()]; + keySet = (String[])this.inDataToConverters.keySet().toArray(keySet); + for(int i = 0; i < keySet.length; i++){ + String s = keySet[i]; + str.append(s + "\r\n"); + List al = (List)this.inDataToConverters.get(s); + for(int j = 0; j < al.size(); j++){ + Converter c = (Converter)al.get(j); + str.append("\t" + c.getUniqueName() + "\r\n"); + } + } + str.append("Test Paths:\r\n"); + str.append(printTestConverterPaths()); + str.append("Comparison Paths:\r\n"); + str.append(printComparisonConverterPaths()); + str.trimToSize(); + return str.toString(); + } + + public ConverterPath[] getTestPath(String s){ + return (ConverterPath[])((List)this.fileExtensionTestConverters.get(s)).toArray(new ConverterPath[0]); + } + + public ConverterPath[][] getTestPaths(){ + ConverterPath[][] paths = new ConverterPath[this.fileExtensionTestConverters.keySet().size()][]; + String[] fileExtensions = (String[])this.fileExtensionTestConverters.keySet().toArray(new String[0]); + for(int i = 0; i < fileExtensions.length; i++){ + paths[i] = (getTestPath(fileExtensions[i])); + } + //this line may be busted + return paths; + } + + public ConverterPath getComparePath(String s){ + return (ConverterPath)this.fileExtensionCompareConverters.get(s); + } + + + public ConverterPath[] getComparePaths(){ + String[] fileExtensions = (String[])this.fileExtensionCompareConverters.keySet().toArray(new String[0]); + List graphs = new ArrayList(); + for(int i = 0; i < fileExtensions.length; i++){ + graphs.add(getComparePath(fileExtensions[i])); + } + return (ConverterPath[])graphs.toArray(new ConverterPath[0]); + } + + public Map getCompareMap(){ + return this.fileExtensionCompareConverters; + } + + public Map getTestMap(){ + return this.fileExtensionTestConverters; + } + + public Converter[] getAllConverters() { + return this.converters; + } + + public File asNWB() { + + Map nodes = assembleNodesSet(); + TreeSet edges = assembleEdges(nodes); + + File f = getTempFile(); + try { + BufferedWriter writer = + new BufferedWriter(new FileWriter(f)); + + writeNodes(writer,nodes); + writeEdges(writer,edges); + + } catch(IOException e) { + System.out.println("Blurt!"); + this.log.log(LogService.LOG_ERROR, + "IOException while creating converter graph file", + e); + } + + return f; + } + + private void writeNodeHeader(BufferedWriter bw, int numNodes) throws IOException{ + bw.flush(); + bw.write("*Nodes " + numNodes + "\r\nid*int label*string\r\n"); + + } + + private void writeNodes(BufferedWriter bw, Map nodes) throws IOException{ + writeNodeHeader(bw, nodes.size()); + + String[] keySet = new String[nodes.keySet().size()]; + + keySet = (String[])nodes.keySet().toArray(keySet); + for(int i = 0; i < keySet.length; i++){ + bw.write(nodes.get(keySet[i]) + " \"" + keySet[i]+"\"\r\n"); + } + + bw.flush(); + + } + + private void writeEdgeHeader(BufferedWriter bw, int numEdges) throws IOException{ + bw.flush(); + bw.write("*DirectedEdges " + numEdges + "\r\nsource*int target*int\r\n"); + } + + + private void writeEdges(BufferedWriter bw, TreeSet edges) throws IOException{ + writeEdgeHeader(bw,edges.size()); + + String[] edgeArray = new String[edges.size()]; + edgeArray = (String[])edges.toArray(edgeArray); + + for(int i = 0; i < edgeArray.length; i++){ + bw.write(edgeArray[i]+"\r\n"); + } + + bw.flush(); + } + + private Map assembleNodesSet(){ + + Map nodesToInt = new ConcurrentHashMap(); + + String[] inDatas = new String[this.inDataToConverters.keySet().size()]; + inDatas = (String[])this.inDataToConverters.keySet().toArray(inDatas); + + TreeSet nodeNameList = new TreeSet(); + + //for each unique in_data... + for(int i = 0; i < inDatas.length; i++){ + String inData = inDatas[i]; + + //add the in_data string to our list of node names + nodeNameList.add(inData); + + List convsList = (List)this.inDataToConverters.get(inData); + Converter[] convs = new Converter[convsList.size()]; + convs = (Converter[])convsList.toArray(convs); + + //for each converter associated with each in_data... + for(int j = 0; j < convs.length; j++){ + Converter c = convs[j]; + //add the name of the converter to our list of node names + nodeNameList.add(c.getShortName()); + } + } + + String[] names = new String[nodeNameList.size()]; + names = (String[])nodeNameList.toArray(names); + + //for each node name in our list of node names ... + for(int i = 0; i < names.length; i++){ + //associate that name with a unique integer in our map + nodesToInt.put(names[i], new Integer(i+1)); + } + + //return our map of nodes to unique integers + return nodesToInt; + } + + private TreeSet assembleEdges(Map nodeNameToInt){ + TreeSet edges = new TreeSet(); + + + String[] nodeNames = new String[nodeNameToInt.size()]; + nodeNames = (String[])nodeNameToInt.keySet().toArray(nodeNames); + //for each node name in our list of node names... + for(int i = 0; i < nodeNames.length; i++){ + String nodeName = nodeNames[i]; + + /* + * check to see if that node name is associated with a list of + * converters. + * + * (Node names are either the names of in_data formats or the + * names of converters) + */ + List converterList = (List)this.inDataToConverters.get(nodeName); + + //if our node name is associated with a list of converters... + if(converterList != null) { + //(then our node name must be the name of an in_data format) + Converter[] convs = new Converter[converterList.size()]; + convs = (Converter[])converterList.toArray(convs); + + //for each converter associated with this in_data format... + for(int j = 0; j < convs.length; j++){ + Converter c = convs[j]; + String convName = c.getShortName(); + String convsOutputFormatName = c.getOutData(); + + String nodeNumber = nodeNameToInt.get(nodeName).toString(); + String convNumber = nodeNameToInt.get(convName).toString(); + String convsOutputNodeNumber = + nodeNameToInt.get(convsOutputFormatName).toString(); + + /* + * add an edge from our original node to this converter + */ + String edge1 = nodeNumber + " " + convNumber; + edges.add(edge1); + + /* + * add an edge from this converter to this converters + * output node. + */ + String edge2 = convNumber + " " + convsOutputNodeNumber; + edges.add(edge2); + } + } + + } + + //return our set of edges + return edges; + } + + private File getTempFile(){ + File tempFile; + + String tempPath = System.getProperty("java.io.tmpdir"); + File tempDir = new File(tempPath+File.separator+"temp"); + if(!tempDir.exists()) + tempDir.mkdir(); + try{ + tempFile = File.createTempFile("NWB-Session-", ".nwb", tempDir); + + }catch (IOException e){ + + tempFile = new File (tempPath+File.separator+"nwbTemp"+File.separator+"temp.nwb"); + + } + return tempFile; + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 506 http://cishell.svn.sourceforge.net/cishell/?rev=506&view=rev Author: mwlinnem Date: 2007-08-30 14:19:53 -0700 (Thu, 30 Aug 2007) Log Message: ----------- Fixed error I made while refactoring, and fixed the missing edge bug. Removed Paths: ------------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java Deleted: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java 2007-08-30 20:39:55 UTC (rev 505) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/converter/graph/ConverterGraph.java 2007-08-30 21:19:53 UTC (rev 506) @@ -1,452 +0,0 @@ -package org.cishell.testing.convertertester.core.converter.graph; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeSet; -import java.util.concurrent.ConcurrentHashMap; - -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; -import org.osgi.service.log.LogService; - -public class ConverterGraph { - prefuse.data.Graph converterGraph; - Map inDataToConverters; - Map fileExtensionTestConverters; - Map fileExtensionCompareConverters; - Converter[] converters; - BundleContext bContext; - private LogService log; - private static final String testOutData = "prefuse.data.Graph"; - - public ConverterGraph(ServiceReference[] converterRefs, - BundleContext bContext, LogService log) { - this.bContext = bContext; - this.log = log; - - this.converters = createConverters(converterRefs); - - inDataToConverters = - new HashMap();//<String, List<Convertere>>(); - fileExtensionTestConverters = - new ConcurrentHashMap();//<String, List<ConverterPath>>(); - fileExtensionCompareConverters = - new ConcurrentHashMap();//<String, ConverterPath>(); - - associateConverters(this.converters, this.inDataToConverters); - createConverterPaths(this.inDataToConverters, this.fileExtensionTestConverters, this.fileExtensionCompareConverters); - - } - - private Converter[] createConverters(ServiceReference[] convRefs) { - List converters = new ArrayList(); - - for (int ii = 0; ii < convRefs.length; ii++) { - converters.add(new Converter(this.bContext, convRefs[ii])); - } - - return (Converter[]) converters.toArray(new Converter[0]); - } - - private void associateConverters(Converter[] cs, Map hm){ - for (int i = 0; i < cs.length; i++){ - Converter c = cs[i]; - - String s = c.getInData(); - - if(hm.get(s) == null){ - List l = new ArrayList(); - l.add(c); - hm.put(s, l); - } - else{ - ((List)hm.get(s)).add(c); - } - } - } - - private void createConverterPaths(Map algorithms, Map testPaths, - Map comparePaths){ - String[] keySet = new String[algorithms.keySet().size()]; - keySet = (String[])algorithms.keySet().toArray(keySet); - for(int i = 0; i < keySet.length; i++){ - String s = keySet[i]; - if(s.startsWith("file-ext")){ - - - ConverterPath test = new ConverterPath(this.bContext, this.log); - - test.setInData(s); - - createPaths((List)algorithms.get(s), test, s); - - } - } - - } - - private ConverterPath createPaths(List algorithms, ConverterPath path, String dataType){ - List cs = removeReferences(algorithms, path); - - addCompareCycle(path); - - if(path.getInData().equals(path.getOutData())){ - addTestCycle(path); - return path; - } - while(!cs.isEmpty()){ - ConverterPath p = new ConverterPath(path, this.bContext); - p.add((Converter) cs.get(0)); - cs.remove(0); - createPaths((List)this.inDataToConverters.get(p.getOutData()), p, p.getOutData()); - - } - return null; - } - - private void addTestCycle(ConverterPath cp){ - String firstOutData, lastInData; - firstOutData = ((Converter) cp.getPath().get(0)).getOutData(); - lastInData = ((Converter)cp.getPath().get(cp.getPath().size()-1)).getInData(); - if(firstOutData.equals(lastInData)){ - addTestPath(cp); - } - } - - private void addCompareCycle(ConverterPath cp){ - if(cp.getOutData() != null){ - if(cp.getOutData().equals(ConverterGraph.testOutData)){ - String key = cp.getInData() + " " + ((Converter) cp.getPath().get(0)).getOutData(); - //System.out.println(key); - if(this.fileExtensionCompareConverters.get(key) == null){ - - - this.fileExtensionCompareConverters.put(key, new ConverterPath(cp, this.bContext)); - } - else { - ConverterPath tempPath = (ConverterPath)this.fileExtensionCompareConverters.get(key); - int pathSize = tempPath.getPath().size(); - if(pathSize > cp.getPath().size()){ - - this.fileExtensionCompareConverters.put(key, new ConverterPath(cp, this.bContext)); - } - } - } - } - } - - private static List removeReferences(List al, ConverterPath cp){ - List cs = new ArrayList(al); - cs.removeAll(cp.getPath()); - List forbidden = new ArrayList(); - for(int i = 0; i < cs.size(); i++){ - Converter c = (Converter) cs.get(i); - String outData = c.getOutData(); - if(outData.startsWith("file-ext") && (!outData.equals(cp.getInData()))){ - - forbidden.add(c); - } - } - cs.removeAll(forbidden); - return cs; - } - - private void addTestPath(ConverterPath p){ - String key = p.getInData(); - key += " "; - key += ((Converter)p.getPath().get(0)).getOutData(); - if(this.fileExtensionTestConverters.get(key) == null){ - - List paths = new ArrayList(); - paths.add(p); - this.fileExtensionTestConverters.put(key, paths); - - } - else{ - - ((List)this.fileExtensionTestConverters.get(key)).add(p); - - } - } - - - public String printTestConverterPath(String s){ - StringBuffer sb = new StringBuffer(); - List al = (List)this.fileExtensionTestConverters.get(s); - for(int i = 0; i < al.size(); i++){ - ConverterPath cp = (ConverterPath)al.get(i); - sb.append(cp.toString()); - } - sb.trimToSize(); - return sb.toString(); - } - - public String printTestConverterPaths(){ - StringBuffer sb = new StringBuffer(); - String[] keySet = new String[this.fileExtensionTestConverters.keySet().size()]; - keySet = (String[])this.fileExtensionTestConverters.keySet().toArray(keySet); - for(int i = 0; i < keySet.length; i++){ - String s = keySet[i]; - sb.append(printTestConverterPath(s)); - } - sb.trimToSize(); - return sb.toString(); - } - - - public String printComparisonConverterPath(String s){ - return this.fileExtensionCompareConverters.get(s).toString(); - } - - public String printComparisonConverterPaths(){ - StringBuffer sb = new StringBuffer(); - String[] keySet = new String[this.fileExtensionCompareConverters.keySet().size()]; - keySet = (String[])this.fileExtensionCompareConverters.keySet().toArray(keySet); - for(int i = 0; i < keySet.length; i++){ - String s = keySet[i]; - //System.out.println(s); - sb.append(printComparisonConverterPath(s)); - } - sb.trimToSize(); - return sb.toString(); - } - - - public String toString(){ - StringBuffer str = new StringBuffer(); - String[] keySet = new String[this.inDataToConverters.keySet().size()]; - keySet = (String[])this.inDataToConverters.keySet().toArray(keySet); - for(int i = 0; i < keySet.length; i++){ - String s = keySet[i]; - str.append(s + "\r\n"); - List al = (List)this.inDataToConverters.get(s); - for(int j = 0; j < al.size(); j++){ - Converter c = (Converter)al.get(j); - str.append("\t" + c.getUniqueName() + "\r\n"); - } - } - str.append("Test Paths:\r\n"); - str.append(printTestConverterPaths()); - str.append("Comparison Paths:\r\n"); - str.append(printComparisonConverterPaths()); - str.trimToSize(); - return str.toString(); - } - - public ConverterPath[] getTestPath(String s){ - return (ConverterPath[])((List)this.fileExtensionTestConverters.get(s)).toArray(new ConverterPath[0]); - } - - public ConverterPath[][] getTestPaths(){ - ConverterPath[][] paths = new ConverterPath[this.fileExtensionTestConverters.keySet().size()][]; - String[] fileExtensions = (String[])this.fileExtensionTestConverters.keySet().toArray(new String[0]); - for(int i = 0; i < fileExtensions.length; i++){ - paths[i] = (getTestPath(fileExtensions[i])); - } - //this line may be busted - return paths; - } - - public ConverterPath getComparePath(String s){ - return (ConverterPath)this.fileExtensionCompareConverters.get(s); - } - - - public ConverterPath[] getComparePaths(){ - String[] fileExtensions = (String[])this.fileExtensionCompareConverters.keySet().toArray(new String[0]); - List graphs = new ArrayList(); - for(int i = 0; i < fileExtensions.length; i++){ - graphs.add(getComparePath(fileExtensions[i])); - } - return (ConverterPath[])graphs.toArray(new ConverterPath[0]); - } - - public Map getCompareMap(){ - return this.fileExtensionCompareConverters; - } - - public Map getTestMap(){ - return this.fileExtensionTestConverters; - } - - public Converter[] getAllConverters() { - return this.converters; - } - - public File asNWB() { - - Map nodes = assembleNodesSet(); - TreeSet edges = assembleEdges(nodes); - - File f = getTempFile(); - try { - BufferedWriter writer = - new BufferedWriter(new FileWriter(f)); - - writeNodes(writer,nodes); - writeEdges(writer,edges); - - } catch(IOException e) { - System.out.println("Blurt!"); - this.log.log(LogService.LOG_ERROR, - "IOException while creating converter graph file", - e); - } - - return f; - } - - private void writeNodeHeader(BufferedWriter bw, int numNodes) throws IOException{ - bw.flush(); - bw.write("*Nodes " + numNodes + "\r\nid*int label*string\r\n"); - - } - - private void writeNodes(BufferedWriter bw, Map nodes) throws IOException{ - writeNodeHeader(bw, nodes.size()); - - String[] keySet = new String[nodes.keySet().size()]; - - keySet = (String[])nodes.keySet().toArray(keySet); - for(int i = 0; i < keySet.length; i++){ - bw.write(nodes.get(keySet[i]) + " \"" + keySet[i]+"\"\r\n"); - } - - bw.flush(); - - } - - private void writeEdgeHeader(BufferedWriter bw, int numEdges) throws IOException{ - bw.flush(); - bw.write("*DirectedEdges " + numEdges + "\r\nsource*int target*int\r\n"); - } - - - private void writeEdges(BufferedWriter bw, TreeSet edges) throws IOException{ - writeEdgeHeader(bw,edges.size()); - - String[] edgeArray = new String[edges.size()]; - edgeArray = (String[])edges.toArray(edgeArray); - - for(int i = 0; i < edgeArray.length; i++){ - bw.write(edgeArray[i]+"\r\n"); - } - - bw.flush(); - } - - private Map assembleNodesSet(){ - - Map nodesToInt = new ConcurrentHashMap(); - - //create a set of all the in_data, out_data, and algorithm names - - String[] inDatas = new String[this.inDataToConverters.keySet().size()]; - inDatas = (String[])this.inDataToConverters.keySet().toArray(inDatas); - - TreeSet nodeNameList = new TreeSet(); - - //for each unique in_data... - for(int i = 0; i < inDatas.length; i++){ - String inData = inDatas[i]; - - //add the in_data string to our list of node names - nodeNameList.add(inData); - - List convsList = (List)this.inDataToConverters.get(inData); - Converter[] convs = new Converter[convsList.size()]; - convs = (Converter[])convsList.toArray(convs); - - //for each converter associated with each in_data... - for(int j = 0; j < convs.length; j++){ - Converter c = convs[j]; - //add the name of the converter to our list of node names - nodeNameList.add(c.getShortName()); - } - } - - String[] names = new String[nodeNameList.size()]; - names = (String[])nodeNameList.toArray(names); - - //for each node name in our list of node names ... - for(int i = 0; i < names.length; i++){ - //associate that name with a unique integer in our map - nodesToInt.put(names[i], new Integer(i+1)); - } - - //return our map of nodes to unique integers - return nodesToInt; - } - - private TreeSet assembleEdges(Map nodeNameToInt){ - TreeSet edges = new TreeSet(); - - - String[] nodeNames = new String[nodeNameToInt.size()]; - nodeNames = (String[])nodeNameToInt.keySet().toArray(nodeNames); - //for each node name in our list of node names... - for(int i = 0; i < nodeNames.length; i++){ - String nodeName = nodeNames[i]; - - /* - * check to see if that node name is associated with a list of - * converters. - * - * (Node names are either the names of in_data formats or the - * names of converters) - */ - List converterList = (List)this.inDataToConverters.get(nodeName); - - //if our node name is associated with a list of converters... - if(converterList != null) { - //(then our node name must be the name of an in_data format) - Converter[] convs = new Converter[converterList.size()]; - convs = (Converter[])converterList.toArray(convs); - - //for each converter... - for(int j = 0; j < convs.length; j++){ - String convName = convs[j].getShortName(); - - String nodeNumber = nodeNameToInt.get(nodeName).toString(); - String convNumber = nodeNameToInt.get(convName).toString(); - - //add an edge from our original node to this converter - String edge1 = nodeNumber + " " + convNumber; - edges.add(edge1); - //and add an edge from this converter to our original node - String edge2 = convNumber + " " + nodeNumber; - edges.add(edge2); - - } - } - - } - - //return our set of edges - return edges; - } - - private File getTempFile(){ - File tempFile; - - String tempPath = System.getProperty("java.io.tmpdir"); - File tempDir = new File(tempPath+File.separator+"temp"); - if(!tempDir.exists()) - tempDir.mkdir(); - try{ - tempFile = File.createTempFile("NWB-Session-", ".nwb", tempDir); - - }catch (IOException e){ - - tempFile = new File (tempPath+File.separator+"nwbTemp"+File.separator+"temp.nwb"); - - } - return tempFile; - } -} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 505 http://cishell.svn.sourceforge.net/cishell/?rev=505&view=rev Author: mwlinnem Date: 2007-08-30 13:39:55 -0700 (Thu, 30 Aug 2007) Log Message: ----------- Added report that simply outputs the unmodified converter graph. Added Paths: ----------- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/GraphReportGenerator.java Added: trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/GraphReportGenerator.java =================================================================== --- trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/GraphReportGenerator.java (rev 0) +++ trunk/testing/org.cishell.testing.convertertester.core.new/src/org/cishell/testing/convertertester/core/tester2/reportgen/convgraph/GraphReportGenerator.java 2007-08-30 20:39:55 UTC (rev 505) @@ -0,0 +1,29 @@ +package org.cishell.testing.convertertester.core.tester2.reportgen.convgraph; + +import java.io.File; + +import org.cishell.testing.convertertester.core.tester2.reportgen.ReportGenerator; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllConvsResult; +import org.cishell.testing.convertertester.core.tester2.reportgen.results.AllTestsResult; +import org.osgi.service.log.LogService; + +public class GraphReportGenerator implements ReportGenerator { + + private LogService log; + private File nwbConvGraph; + + public GraphReportGenerator(LogService log) { + this.log = log; + } + + public void generateReport(AllTestsResult atr, + AllConvsResult acr, + File nwbConvGraph) { + this.nwbConvGraph = nwbConvGraph; + } + + + public File getGraphReport() { + return this.nwbConvGraph; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |