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
|
From: <hu...@us...> - 2007-03-15 21:28:44
|
Revision: 377 http://svn.sourceforge.net/cishell/?rev=377&view=rev Author: huangb Date: 2007-03-15 14:28:27 -0700 (Thu, 15 Mar 2007) Log Message: ----------- register LogToFile with LogReaderService Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/Activator.java Modified: trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/Activator.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/Activator.java 2007-03-15 21:27:08 UTC (rev 376) +++ trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/Activator.java 2007-03-15 21:28:27 UTC (rev 377) @@ -3,6 +3,12 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; +import org.osgi.service.log.LogEntry; +import org.osgi.service.log.LogListener; +import org.osgi.service.log.LogReaderService; +import org.osgi.service.log.LogService; +import org.osgi.framework.ServiceReference; + /** * The activator class controls the plug-in life cycle */ @@ -19,34 +25,12 @@ super.start(context); Activator.context = context; -/* System.out.println("Started..."); - - LogListener listener = new LogListener() { - public void logged(LogEntry e) { - if (goodMessage(e.getMessage())) { - System.out.println(e.getMessage()); - } - } - - public boolean goodMessage(String msg) { - if (msg == null || - msg.startsWith("ServiceEvent ") || - msg.startsWith("BundleEvent ") || - msg.startsWith("FrameworkEvent ")) { - return false; - } else { - return true; - } - } - }; - + LogListener listener = new LogToFile(); ServiceReference ref = context.getServiceReference(LogReaderService.class.getName()); LogReaderService reader = (LogReaderService) context.getService(ref); if (reader != null) { reader.addLogListener(listener); - reader.addLogListener(new LogView()); } - */ } public void stop(BundleContext context) throws Exception { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2007-03-15 21:27:15
|
Revision: 376 http://svn.sourceforge.net/cishell/?rev=376&view=rev Author: huangb Date: 2007-03-15 14:27:08 -0700 (Thu, 15 Mar 2007) Log Message: ----------- initial version to write log records to files Added Paths: ----------- trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java Added: trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java (rev 0) +++ trunk/clients/gui/org.cishell.reference.gui.log/src/org/cishell/reference/gui/log/LogToFile.java 2007-03-15 21:27:08 UTC (rev 376) @@ -0,0 +1,129 @@ +package org.cishell.reference.gui.log; + +import java.io.File; + +import org.osgi.service.log.LogEntry; +import org.osgi.service.log.LogListener; +import org.osgi.service.log.LogService; + +import java.util.Calendar; +import java.util.logging.FileHandler; +import java.util.logging.Logger; +import java.util.logging.Level; +import java.util.logging.SimpleFormatter; +import java.io.IOException; + +/** + * This is a basic implementation. It write log records to files + * @author Weixia(Bonnie) Huang (hu...@in...) + */ +public class LogToFile implements LogListener { + //default log directory + private static String default_log_dir = + System.getProperty("user.dir") + + File.separator + "logs"; + private static String prefix_file_name = "user"; + + private File currentDir; + private Logger logger; + + //Specify the default size of each log file + private int limit = 100000; // 100 kb + + //Specify the default numbers of log files + private int max_Number_Of_LogFiles = 10; + + /** + * Constructor + */ + public LogToFile() { + + try { + // Create an appending file handler + currentDir = getLogDirectory(); + if (currentDir != null){ + boolean append = true; + String logFileName = currentDir+File.separator+ + generateUniqueFile(prefix_file_name)+ + ".%g.log"; + + FileHandler handler = new FileHandler(logFileName, + limit, max_Number_Of_LogFiles, append); + + handler.setFormatter(new SimpleFormatter()); + + // Add to the desired logger + logger = Logger.getLogger("edu.iu.iv.logger"); + logger.addHandler(handler); + } + } catch (IOException e) { + } + + } + + public void logged(final LogEntry entry) { + String message = entry.getMessage(); + + if (goodMessage(message)){ + logger.log(Level.INFO, message+"\n"); + } + } + + private boolean goodMessage(String msg) { + if (msg == null || + msg.startsWith("ServiceEvent ") || + msg.startsWith("BundleEvent ") || + msg.startsWith("FrameworkEvent ")) { + return false; + } else { + return true; + } + } + + private static File getLogDirectory(){ + //later, we should get the log directory from preference service + File logDir = new File(default_log_dir); + if (!logDir.exists() || !logDir.isDirectory()){ + try{ + if (logDir.mkdir()){ + return logDir; + } else { + return new File (default_log_dir); + } + }catch (Exception e){ + e.printStackTrace(); + return new File (default_log_dir); + } + + }else + return logDir; + + } + + /* + * create log file with given name plus unique timestamp + */ + private String generateUniqueFile(String prefixFN) { + + Calendar now = Calendar.getInstance(); + String month = (now.get(Calendar.MONTH) + 1) + ""; //zero based + + if (month.length() == 1) { + month = "0" + month; + } + + String day = now.get(Calendar.DAY_OF_MONTH) + ""; + + if (day.length() == 1) { + day = "0" + day; + } + + String year = now.get(Calendar.YEAR) + ""; + + String timestamp = "-" + month + "-" + day + "-" + year + "-"+ + System.currentTimeMillis(); + return prefixFN+timestamp; + + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2007-03-02 20:58:44
|
Revision: 375 http://svn.sourceforge.net/cishell/?rev=375&view=rev Author: bh2 Date: 2007-03-02 12:58:41 -0800 (Fri, 02 Mar 2007) Log Message: ----------- updated the example algorithms available for the cishell reference installation Added Paths: ----------- trunk/deployment/cishell-installer/sampledata/Network/bio/ trunk/deployment/cishell-installer/sampledata/Network/bio/FlyMINT.nwb trunk/deployment/cishell-installer/sampledata/Network/bio/TF_DNA_regulonDB.nwb trunk/deployment/cishell-installer/sampledata/Network/bio/WI5.nwb trunk/deployment/cishell-installer/sampledata/Network/bio/WormMint.nwb trunk/deployment/cishell-installer/sampledata/Network/bio/YeastMINT.nwb trunk/deployment/cishell-installer/sampledata/Network/seiyu.graphml.xml Added: trunk/deployment/cishell-installer/sampledata/Network/bio/FlyMINT.nwb =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/bio/FlyMINT.nwb (rev 0) +++ trunk/deployment/cishell-installer/sampledata/Network/bio/FlyMINT.nwb 2007-03-02 20:58:41 UTC (rev 375) @@ -0,0 +1,628 @@ +//Converted by Cesifoti for the NWB... :-) +*Nodes 330 +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 +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/deployment/cishell-installer/sampledata/Network/bio/TF_DNA_regulonDB.nwb =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/bio/TF_DNA_regulonDB.nwb (rev 0) +++ trunk/deployment/cishell-installer/sampledata/Network/bio/TF_DNA_regulonDB.nwb 2007-03-02 20:58:41 UTC (rev 375) @@ -0,0 +1,4072 @@ +//Converted by Cesifoti for the NWB... :-) +*Nodes 1333 +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 +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 +812 221 1 +812 259 -1 +812 258 -1 +900 679 -1 +304 179 1 +856 401 -1 +562 125 -1 +817 1114 1 +562 127 -1 +562 126 -1 +744 376 -1 +812 574 -1 +891 179 1 +562 39 -1 +195 194 1 +144 143 1 +892 179 1 +683 512 -1 +179 1157 1 +734 35 -1 +179 1154 1 +858 353 1 +195 174 1 +179 1155 1 +813 155 -1 +813 154 -1 +755 1025 1 +813 156 -1 +847 376 1 +562 1049 -1 +813 153 -1 +813 152 -1 +163 160 1 +163 161 1 +163 162 1 +22 179 1 +505 401 -1 +974 620 1 +620 1142 1 +620 1143 1 +620 1140 1 +620 1141 1 +179 1287 1 +930 1107 -1 +179 1289 1 +535 1123 1 +535 1122 1 +535 1126 1 +535 1125 1 +535 1124 1 +187 179 1 +75 425 1 +75 426 -1 +609 337 1 +640 571 -1 +36 17 1 +808 401 1 +75 42 -1 +640 574 -1 +8 353 -1 +606 401 1 +702 179 1 +303 1237 -1 +303 1238 -1 +303 1239 -1 +847 401 1 +704 401 1 +953 353 1 +427 377 -1 +828 620 -1 +654 179 -1 +812 575 -1 +853 812 1 +683 1089 -1 +790 179 1 +838 427 -1 +812 156 -1 +436 179 -1 +930 1079 1 +812 102 -1 +693 353 1 +951 353 1 +378 376 1 +930 1074 1 +930 1075 1 +773 178 -1 +427 1304 -1 +280 178 1 +75 204 1 +75 205 1 +496 179 1 +75 207 1 +587 337 1 +620 565 1 +620 563 -1 +1262 1257 1 +442 438 -1 +442 439 -1 +562 348 -1 +497 179 1 +442 437 -1 +1262 1258 1 +1262 1259 1 +75 1019 -1 +401 3 -1 +401 4 -1 +1114 1110 1 +741 353 1 +812 811 1 +812 810 1 +904 412 -1 +1006 1005 -1 +1006 1004 -1 +1006 1001 -1 +1006 1003 -1 +1006 1002 -1 +275 179 1 +813 801 -1 +566 179 1 +376 1305 1 +353 1165 1 +353 1164 1 +353 1163 1 +353 1162 1 +607 401 1 +843 376 1 +560 401 1 +330 179 1 +531 353 1 +697 179 1 +686 179 1 +75 1127 -1 +218 1129 -1 +218 1128 -1 +620 142 -1 +566 353 1 +620 140 -1 +620 141 -1 +620 146 1 +620 147 1 +427 1121 -1 +620 145 -1 +1242 1241 -1 +826 401 1 +434 1007 1 +502 179 1 +893 179 1 +679 401 -1 +412 409 -1 +401 288 1 +620 16 -1 +811 620 1 +893 620 1 +401 1291 1 +401 1290 -1 +401 1292 1 +620 19 1 +401 286 1 +734 733 -1 +75 1232 -1 +734 731 -1 +734 730 -1 +401 358 1 +806 770 1 +75 1027 -1 +427 332 -1 +401 356 1 +401 357 1 +849 401 1 +30 179 1 +598 179 1 +434 299 1 +354 179 1 +780 412 -1 +802 401 1 +601 179 1 +770 765 1 +323 179 1 +714 548 -1 +714 547 -1 +148 1150 1 +975 401 1 +1018 1015 1 +403 337 1 +1018 1017 1 +1018 1016 1 +407 401 1 +671 1036 -1 +710 707 1 +977 75 -1 +853 620 -1 +1319 1114 1 +770 584 1 +895 620 1 +770 586 1 +770 587 1 +770 583 1 +255 252 1 +255 253 1 +3 179 1 +770 588 1 +770 589 1 +255 254 1 +812 240 -1 +792 791 -1 +968 620 1 +422 179 1 +897 620 1 +871 401 1 +492 179 1 +545 401 1 +562 136 -1 +562 137 -1 +562 134 -1 +606 337 1 +863 620 -1 +855 401 -1 +247 179 1 +408 239 1 +401 138 1 +401 139 1 +179 1039 1 +179 1038 -1 +278 179 1 +562 380 1 +562 1057 -1 +562 1055 -1 +562 1054 -1 +562 1053 -1 +562 1051 -1 +562 1050 -1 +562 1059 -1 +562 1058 -1 +620 1151 1 +620 1153 1 +620 1152 1 +620 1155 1 +620 1154 1 +620 1157 1 +620 1156 1 +163 159 1 +163 158 1 +179 1295 1 +179 1294 -1 +683 344 1 +683 347 1 +683 346 1 +744 441 -1 +828 562 -1 +683 349 1 +683 348 1 +482 1085 1 +230 218 1 +636 1114 1 +474 179 1 +75 431 1 +75 436 1 +800 376 1 +511 376 1 +185 184 1 +482 1080 1 +601 401 -1 +835 179 1 +640 569 -1 +235 179 1 +683 624 -1 +558 482 1 +178 1009 1 +494 401 1 +829 620 -1 +179 1019 1 +179 125 1 +179 127 1 +179 126 1 +983 930 1 +178 1228 -1 +520 353 1 +1264 1199 -1 +859 401 -1 +847 812 -1 +353 1200 1 +353 1201 1 +655 179 1 +308 178 1 +888 620 1 +75 213 -1 +75 212 -1 +827 620 -1 +86 1011 1 +75 216 -1 +75 215 -1 +75 214 -1 +93 1199 -1 +179 1208 1 +620 551 1 +620 552 -1 +786 428 1 +640 1303 -1 +74 179 -1 +427 341 -1 +978 179 -1 +427 343 -1 +427 342 -1 +600 179 1 +991 962 -1 +812 806 -1 +812 807 1 +812 804 -1 +812 805 -1 +812 802 -1 +812 803 -1 +812 800 -1 +812 801 -1 +856 75 -1 +812 808 1 +812 809 1 +455 179 1 +881 562 -1 +537 179 1 +376 361 1 +776 376 1 +855 75 -1 +851 620 -1 +8 75 -1 +353 1190 1 +512 353 1 +597 179 1 +50 46 -1 +703 179 1 +50 47 -1 +753 179 1 +1114 1021 1 +967 620 1 +815 401 -1 +485 179 -1 +870 134 -1 +833 813 -1 +818 1114 1 +427 1110 -1 +427 1111 1 +75 1134 -1 +75 1135 -1 +75 1136 -1 +75 1137 -1 +412 180 -1 +1311 1306 -1 +786 429 1 +780 179 1 +436 1039 1 +82 179 1 +299 11 1 +705 179 1 +427 340 -1 +870 620 -1 +744 179 1 +382 376 1 +805 376 1 +781 412 -1 +98 1199 -1 +734 727 -1 +734 728 -1 +734 729 -1 +293 179 1 +1307 1306 -1 +877 75 -1 +868 296 1 +970 620 1 +945 179 -1 +87 146 -1 +87 147 -1 +482 148 1 +949 1114 1 +805 770 1 +148 1147 1 +148 1149 1 +803 401 1 +592 376 1 +894 620 1 +976 401 1 +782 1199 1 +434 136 1 +434 137 1 +973 401 1 +969 620 1 +179 1190 -1 +179 1191 -1 +179 1194 1 +867 179 1 +809 401 1 +870 314 -1 +311 179 1 +179 1330 1 +927 915 1 +393 376 1 +524 1303 -1 +524 1302 -1 +763 401 1 +562 1289 1 +247 231 -1 +562 1068 -1 +562 1069 -1 +620 619 -1 +562 1062 -1 +562 1061 -1 +562 1066 -1 +562 1064 -1 +562 1065 -1 +712 179 1 +353 179 1 +589 337 1 +884 1192 1 +620 1120 1 +544 542 1 +401 1182 -1 +683 352 1 +683 350 1 +683 351 1 +682 348 1 +812 582 -1 +812 581 -1 +812 580 -1 +716 1025 1 +41 353 1 +927 921 1 +178 1104 1 +927 923 1 +927 924 1 +927 925 1 +927 926 1 +884 270 1 +178 1108 -1 +304 303 -1 +185 179 1 +185 178 -1 +929 927 1 +879 683 -1 +714 1110 1 +959 179 1 +262 1038 -1 +861 401 -1 +608 337 1 +29 27 -1 +178 1037 -1 +930 1273 1 +933 620 1 +879 75 -1 +723 116 1 +721 178 1 +353 18 1 +179 139 1 +620 605 1 +620 607 1 +620 606 1 +620 609 1 +620 608 1 +1174 1171 1 +68 66 -1 +791 712 -1 +186 184 1 +228 218 1 +218 148 1 +745 179 1 +613 5 -1 +427 179 1 +936 788 -1 +358 144 1 +800 640 -1 +1264 1189 -1 +900 1287 -1 +359 1114 1 +972 620 1 +375 1008 -1 +875 770 -1 +532 1090 1 +504 179 1 +972 971 1 +991 461 -1 +427 354 -1 +75 1039 -1 +930 706 1 +75 1030 -1 +75 1033 -1 +75 1035 -1 +75 1034 -1 +530 262 -1 +562 515 -1 +190 188 -1 +610 376 1 +1114 1020 1 +1247 1008 1 +488 353 1 +178 177 1 +178 176 1 +906 412 -1 +887 179 1 +991 202 -1 +876 75 -1 +671 1232 -1 +671 1233 -1 +671 1236 -1 +671 1234 -1 +671 1235 -1 +736 734 -1 +860 353 1 +927 920 1 +396 376 1 +813 570 -1 +679 179 -1 +640 1263 -1 +900 4 -1 +956 562 -1 +843 401 1 +1189 1187 -1 +714 636 1 +692 691 1 +764 195 -1 +526 179 1 +781 179 1 +5 179 -1 +389 376 1 +67 179 1 +1330 1329 1 +1225 1219 -1 +683 1164 -1 +1120 1008 1 +869 296 1 +974 927 1 +482 179 -1 +1242 1216 -1 +1242 1215 -1 +394 376 1 +222 218 1 +454 452 -1 +454 451 -1 +454 450 -1 +148 1130 1 +148 1131 1 +148 1132 1 +96 1189 -1 +697 620 1 +781 779 -1 +671 1012 -1 +671 1013 -1 +671 1010 -1 +949 714 1 +782 1189 -1 +337 317 1 +87 1043 -1 +836 353 1 +812 18 -1 +501 494 -1 +501 495 -1 +501 497 -1 +439 179 -1 +501 493 -1 +476 179 1 +812 260 -1 +501 499 -1 +827 179 -1 +112 111 1 +112 110 1 +493 179 1 +857 353 1 +910 353 1 +862 353 1 +937 87 -1 +462 401 1 +900 3 -1 +477 412 -1 +32 27 -1 +866 353 1 +184 181 1 +601 337 1 +505 434 1 +624 562 -1 +392 376 1 +620 1137 -1 +620 1136 -1 +620 1135 -1 +620 1134 -1 +9 1114 1 +401 1177 -1 +620 1139 1 +620 1138 1 +1332 1326 -1 +804 770 1 +682 375 -1 +682 377 -1 +812 545 1 +927 919 1 +927 918 1 +798 797 -1 +798 796 -1 +798 795 -1 +798 794 -1 +973 620 1 +40 353 1 +927 913 1 +927 912 1 +683 434 1 +289 179 1 +876 770 -1 +683 430 1 +851 353 1 +446 401 1 +547 1174 1 +620 1223 -1 +620 1222 -1 +620 1221 -1 +620 1220 -1 +620 1224 -1 +844 401 1 +623 353 1 +900 657 1 +886 179 1 +401 1088 1 +809 620 1 +472 468 1 +42 262 -1 +522 179 1 +75 582 -1 +75 581 -1 +75 580 -1 +884 644 1 +525 524 -1 +264 262 -1 +866 179 -1 +427 293 -1 +427 292 -1 +427 291 -1 +427 290 -1 +1174 1168 1 +427 295 1 +963 178 -1 +1174 1166 1 +1174 1167 1 +833 620 -1 +620 611 1 +930 1083 1 +930 1082 1 +930 1081 1 +588 337 1 +990 401 -1 +846 353 -1 +930 1084 1 +1333 1114 1 +859 353 1 +231 157 -1 +437 179 -1 +756 180 -1 +8 179 1 +531 262 -1 +678 436 1 +906 179 1 +187 1008 -1 +742 179 -1 +427 1269 -1 +816 714 1 +593 337 1 +250 231 -1 +440 179 1 +930 736 1 +720 116 1 +185 1008 -1 +735 179 -1 +620 281 1 +419 179 1 +973 927 1 +482 1297 1 +853 353 1 +797 179 1 +482 1293 1 +435 401 -1 +863 401 -1 +482 1298 1 +482 1299 1 +755 714 1 +854 812 1 +75 206 1 +435 431 -1 +1225 1220 -1 +178 164 -1 +178 167 -1 +562 433 -1 +436 435 -1 +75 1110 -1 +562 430 1 +562 437 -1 +562 436 1 +562 439 -1 +562 438 -1 +671 1227 -1 +671 1226 -1 +862 620 -1 +599 179 1 +827 412 -1 +997 377 1 +735 734 -1 +75 1026 -1 +591 337 1 +498 179 1 +75 1028 -1 +236 179 1 +803 640 -1 +653 179 -1 +212 179 1 +870 868 1 +863 353 1 +882 620 -1 +562 549 -1 +562 548 -1 +562 547 -1 +683 1069 -1 +75 1204 -1 +75 1203 -1 +671 638 -1 +971 969 1 +971 968 1 +941 482 1 +683 1159 -1 +179 1 -1 +827 562 -1 +971 967 1 +971 966 1 +620 267 1 +620 266 1 +620 265 1 +447 1090 1 +620 260 -1 +861 353 1 +620 269 1 +620 268 1 +755 1114 1 +1272 1114 1 +743 353 -1 +536 179 1 +689 179 1 +610 337 1 +148 1129 1 +148 1128 1 +401 1315 1 +401 1316 1 +401 1317 1 +401 1313 1 +401 1318 1 +401 259 1 +401 258 1 +179 1178 1 +179 1179 1 +850 1323 -1 +791 711 -1 +1090 1024 1 +73 68 1 +878 683 -1 +870 869 -1 +401 1229 1 +856 353 1 +70 179 1 +620 1219 -1 +456 179 1 +8 412 -1 +770 249 -1 +770 248 -1 +770 247 -1 +1156 1151 1 +726 725 -1 +179 1310 1 +179 1311 1 +179 1312 1 +726 724 -1 +890 620 1 +869 427 1 +291 179 1 +846 812 -1 +537 353 -1 +148 1148 1 +620 1102 1 +620 1103 1 +845 620 -1 +620 1101 1 +87 637 -1 +812 401 -1 +801 640 -1 +603 593 1 +432 179 -1 +743 179 1 +271 178 1 +87 1294 -1 +179 16 1 +812 405 -1 +248 179 1 +464 463 -1 +930 1321 1 +179 1220 1 +179 1221 1 +179 1222 1 +179 1223 1 +858 401 -1 +833 832 1 +548 436 1 +2 179 -1 +548 434 1 +864 786 1 +683 428 1 +683 429 1 +594 337 1 +620 1218 -1 +262 1011 -1 +447 401 1 +401 1094 -1 +401 1093 -1 +401 1092 -1 +401 1091 -1 +812 770 1 +745 376 -1 Added: trunk/deployment/cishell-installer/sampledata/Network/bio/WI5.nwb =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/bio/WI5.nwb (rev 0) +++ trunk/deployment/cishell-installer/sampledata/Network/bio/WI5.nwb 2007-03-02 20:58:41 UTC (rev 375) @@ -0,0 +1,8675 @@ +//Converted by Cesifoti for the NWB... :-) +*Nodes 3228 +1 "AC3.3" +2 "AC7.2" +3 "AC8.1" +4 "AH6.2" +5 "AH6.5" +6 "B0001.1" +7 "B0019.3" +8 "B0024.1" +9 "B0024.11" +10 "B0024.12" +11 "B0024.14" +12 "B0025.1" +13 "B0025.2" +14 "B0034.3" +15 "B0035.1" +16 "B0035.2" +17 "B0035.6" +18 "B0041.2" +19 "B0041.4" +20 "B0041.6" +21 "B0205.3" +22 "B0205.6" +23 "B0205.7" +24 "B0207.4" +25 "B0207.6" +26 "B0213.11" +27 "B0218.3" +28 "B0222.6" +29 "B0222.7" +30 "B0222.8" +31 "B0238.1" +32 "B0238.12" +33 "B0244.8" +34 "B0250.1" +35 "B0250.2" +36 "B0252.3" +37 "B0261.1" +38 "B0261.4" +39 "B0272.1" +40 "B0272.2" +41 "B0272.4" +42 "B0280.1" +43 "B0280.12" +44 "B0280.5" +45 "B0280.8" +46 "B0280.9" +47 "B0281.5" +48 "B0286.3" +49 "B0286.4" +50 "B0303.15" +51 "B0303.7" +52 "B0303.9" +53 "B0310.5" +54 "B0336.1" +55 "B0336.10" +56 "B0336.2" +57 "B0336.5" +58 "B0336.6" +59 "B0336.7" +60 "B0336.9" +61 "B0348.6" +62 "B0350.2" +63 "B0361.10" +64 "B0365.1" +65 "B0365.3" +66 "B0379.4" +67 "B0391.10" +68 "B0393.1" +69 "B0393.2" +70 "B0393.3" +71 "B0399.2" +72 "B0412.1" +73 "B0412.4" +74 "B0414.8" +75 "B0416.5" +76 "B0432.2" +77 "B0432.6" +78 "B0432.8" +79 "B0454.1" +80 "B0454.8" +81 "B0464.5" +82 "B0464.7" +83 "B0464.8" +84 "B0464.9" +85 "B0478.1" +86 "B0478.3" +87 "B0495.5" +88 "B0495.9" +89 "B0496.7" +90 "B0507.1" +91 "B0511.5" +92 "B0511.6" +93 "B0511.8" +94 "B0511.9" +95 "B0513.1" +96 "B0513.2" +97 "B0523.3" +98 "B0545.4" +99 "B0547.1" +100 "B0564.1" +101 "BE0003N10.3" +102 "C01B10.3" +103 "C01B10.4" +104 "C01B10.8" +105 "C01B12.1" +106 "C01B4.8" +107 "C01B7.4" +108 "C01F6.1" +109 "C01F6.6" +110 "C01G12.1" +111 "C01G5.6" +112 "C01G5.8" +113 "C01G6.4" +114 "C01G8.5" +115 "C01H6.7" +116 "C01H6.9" +117 "C02A12.1" +118 "C02B10.5" +119 "C02B8.3" +120 "C02C2.1" +121 "C02C6.1" +122 "C02E7.3" +123 "C02F12.4" +124 "C02F12.8" +125 "C02F4.1" +126 "C02F4.2" +127 "C02F5.1" +128 "C02F5.7" +129 "C02F5.9" +130 "C03A7.13" +131 "C03A7.14" +132 "C03A7.4" +133 "C03A7.7" +134 "C03A7.8" +135 "C03C10.3" +136 "C03C10.4" +137 "C03D6.3" +138 "C03G5.1" +139 "C03G6.17" +140 "C03G6.3" +141 "C04A11.1" +142 "C04A2.3" +143 "C04B4.3" +144 "C04C11.1" +145 "C04C3.2" +146 "C04C3.3" +147 "C04C3.5" +148 "C04E12.6" +149 "C04F1.3" +150 "C04F12.3" +151 "C04F12.4" +152 "C04F12.9" +153 "C04F5.3" +154 "C04F5.8" +155 "C04F6.1" +156 "C04F6.4" +157 "C04G2.6" +158 "C04H5.1" +159 "C04H5.6" +160 "C05B5.7" +161 "C05C10.3" +162 "C05C10.4" +163 "C05C10.5" +164 "C05C10.6" +165 "C05C12.4" +166 "C05C12.5" +167 "C05C8.1" +168 "C05C8.6" +169 "C05C8.7" +170 "C05C8.8" +171 "C05D11.10" +172 "C05D11.11" +173 "C05D11.2" +174 "C05D12.5" +175 "C05D2.10" +176 "C05D2.4" +177 "C05D2.5" +178 "C05D9.1" +179 "C05D9.7" +180 "C05E11.3" +181 "C05E4.9" +182 "C05G5.1" +183 "C05G5.4" +184 "C05G6.1" +185 "C06A1.1" +186 "C06A1.5" +187 "C06A5.3" +188 "C06A5.9" +189 "C06A6.2" +190 "C06A6.5" +191 "C06A8.1" +192 "C06A8.3" +193 "C06A8.5" +194 "C06C3.1" +195 "C06C3.8" +196 "C06E1.1" +197 "C06E1.4" +198 "C06E1.9" +199 "C06E4.2" +200 "C06E7.4" +201 "C06E8.3" +202 "C06G1.4" +203 "C06G3.1" +204 "C06G3.10" +205 "C06G3.11" +206 "C06G3.6" +207 "C06G8.1" +208 "C06G8.4" +209 "C06H2.1" +210 "C06H2.6" +211 "C07A12.1" +212 "C07A12.3" +213 "C07A12.4" +214 "C07B5.3" +215 "C07D10.2" +216 "C07E3.1" +217 "C07E3.3" +218 "C07E3.7" +219 "C07F11.1" +220 "C07G1.5" +221 "C07G2.1" +222 "C07G2.3" +223 "C07H6.1" +224 "C07H6.5" +225 "C07H6.7" +226 "C08B11.1" +227 "C08B11.2" +228 "C08B11.5" +229 "C08B11.7" +230 "C08B11.9" +231 "C08B6.9" +232 "C08C3.3" +233 "C08E3.9" +234 "C08F8.8" +235 "C08G9.2" +236 "C09B8.6" +237 "C09B8.7" +238 "C09D1.1" +239 "C09D4.5" +240 "C09D8.1" +241 "C09F5.2" +242 "C09G1.1" +243 "C09G1.4" +244 "C09G4.3" +245 "C09G4.5" +246 "C09G5.5" +247 "C09G9.6" +248 "C09H10.6" +249 "C09H10.8" +250 "C09H5.6" +251 "C09H6.2" +252 "C10C6.2" +253 "C10F3.5" +254 "C10G11.5" +255 "C10G11.7" +256 "C10G6.1" +257 "C10G8.7" +258 "C10H11.10" +259 "C11E4.6" +260 "C11G6.4" +261 "C11H1.1" +262 "C12D8.1" +263 "C12D8.9" +264 "C13A10.2" +265 "C13B9.3" +266 "C13C4.5" ... [truncated message content] |
From: <bh...@us...> - 2007-03-02 20:22:19
|
Revision: 374 http://svn.sourceforge.net/cishell/?rev=374&view=rev Author: bh2 Date: 2007-03-02 12:22:16 -0800 (Fri, 02 Mar 2007) Log Message: ----------- Got rid of spurious println and an unused variable Modified Paths: -------------- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java Modified: trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java =================================================================== --- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-02 16:06:38 UTC (rev 373) +++ trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-02 20:22:16 UTC (rev 374) @@ -117,7 +117,7 @@ while(e != null && e.hasMoreElements()) { String entryPath = (String) e.nextElement(); - System.err.println(entryPath); + if(entryPath.endsWith("/")) { entries.add(entryPath); } @@ -128,7 +128,6 @@ String os = bContext.getProperty("osgi.os"); String arch = bContext.getProperty("osgi.arch"); - boolean foundExecutable = false; String path = null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2007-03-02 16:06:51
|
Revision: 373 http://svn.sourceforge.net/cishell/?rev=373&view=rev Author: huangb Date: 2007-03-02 08:06:38 -0800 (Fri, 02 Mar 2007) Log Message: ----------- Have double file separators in ALGORITHM_WIN32 and ALGORITHM_DEFAULT. Remove one, now the staticexcutable algorithms can run on windows Modified Paths: -------------- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java Modified: trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java =================================================================== --- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-01 20:26:13 UTC (rev 372) +++ trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-02 16:06:38 UTC (rev 373) @@ -84,9 +84,9 @@ ALGORITHM = algName + "/"; ALGORITHM_MACOSX_PPC = ALGORITHM + "macosx.ppc/"; MACOSX = "macosx"; - ALGORITHM_WIN32 = ALGORITHM + "/win32/"; + ALGORITHM_WIN32 = ALGORITHM + "win32/"; WIN32 = "win32"; - ALGORITHM_DEFAULT = ALGORITHM + "/default/"; + ALGORITHM_DEFAULT = ALGORITHM + "default/"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2007-03-01 20:26:15
|
Revision: 372 http://svn.sourceforge.net/cishell/?rev=372&view=rev Author: fugu13 Date: 2007-03-01 12:26:13 -0800 (Thu, 01 Mar 2007) Log Message: ----------- Now always copies over 'default' (really platform-indepedent) code every time. Like the last fix, not relevant for any (I think) algorithms we currently include, but possibly necessary later. Modified Paths: -------------- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java Modified: trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java =================================================================== --- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-01 20:14:17 UTC (rev 371) +++ trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-01 20:26:13 UTC (rev 372) @@ -134,7 +134,8 @@ //take the default, if there if(entries.contains(ALGORITHM_DEFAULT)) { - path = ALGORITHM_DEFAULT; + String default_path = ALGORITHM_DEFAULT; + copyDir(dir, default_path); } //but override with platform idiosyncracies This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2007-03-01 20:14:54
|
Revision: 371 http://svn.sourceforge.net/cishell/?rev=371&view=rev Author: fugu13 Date: 2007-03-01 12:14:17 -0800 (Thu, 01 Mar 2007) Log Message: ----------- Fix to deal with arbitrary algorithm locations. Modified Paths: -------------- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java Modified: trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java =================================================================== --- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-01 19:56:09 UTC (rev 370) +++ trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-01 20:14:17 UTC (rev 371) @@ -66,12 +66,12 @@ } private class StaticExecutableAlgorithm implements Algorithm { - private static final String ALGORITHM = "ALGORITHM/"; - private static final String ALGORITHM_MACOSX_PPC = ALGORITHM + "macosx.ppc/"; - private static final String MACOSX = "macosx"; - private static final String ALGORITHM_WIN32 = ALGORITHM + "/win32/"; - private static final String WIN32 = "win32"; - private static final String ALGORITHM_DEFAULT = ALGORITHM + "/default/"; + private String ALGORITHM; + private String ALGORITHM_MACOSX_PPC; + private String MACOSX; + private String ALGORITHM_WIN32; + private String WIN32; + private String ALGORITHM_DEFAULT; Data[] data; Dictionary parameters; CIShellContext context; @@ -80,6 +80,14 @@ this.data = data; this.parameters = parameters; this.context = context; + + ALGORITHM = algName + "/"; + ALGORITHM_MACOSX_PPC = ALGORITHM + "macosx.ppc/"; + MACOSX = "macosx"; + ALGORITHM_WIN32 = ALGORITHM + "/win32/"; + WIN32 = "win32"; + ALGORITHM_DEFAULT = ALGORITHM + "/default/"; + } public Data[] execute() { @@ -142,24 +150,6 @@ path = platform_path; } - - - /*while (e != null && e.hasMoreElements()) { - String path = (String)entryPath; - - if (path.endsWith("/")) { - if (path.endsWith("default/")) { - copyDir(dir, path); - } else if (path.endsWith(os+"."+arch+"/") || - (path.endsWith("win32/") && os.equals("win32")) || (path.endsWith("macosx.ppc/") && os.equals("macosx") && arch.equals("x86"))) { - copyDir(dir, path); - foundExecutable = true; - } - } else { - //copyFile(dir, path); - } - }*/ - if (path == null) { throw new RuntimeException("Unable to find compatible executable"); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2007-03-01 19:56:11
|
Revision: 370 http://svn.sourceforge.net/cishell/?rev=370&view=rev Author: fugu13 Date: 2007-03-01 11:56:09 -0800 (Thu, 01 Mar 2007) Log Message: ----------- Fix to static executable algorithm factory. It now does exact matching with proper precedence order. Modified Paths: -------------- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java Modified: trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java =================================================================== --- trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-01 17:39:55 UTC (rev 369) +++ trunk/templates/org.cishell.templates/src/org/cishell/templates/staticexecutable/StaticExecutableAlgorithmFactory.java 2007-03-01 19:56:09 UTC (rev 370) @@ -22,7 +22,9 @@ import java.nio.channels.ReadableByteChannel; import java.util.Dictionary; import java.util.Enumeration; +import java.util.HashSet; import java.util.Properties; +import java.util.Set; import org.cishell.framework.CIShellContext; import org.cishell.framework.algorithm.Algorithm; @@ -64,7 +66,13 @@ } private class StaticExecutableAlgorithm implements Algorithm { - Data[] data; + private static final String ALGORITHM = "ALGORITHM/"; + private static final String ALGORITHM_MACOSX_PPC = ALGORITHM + "macosx.ppc/"; + private static final String MACOSX = "macosx"; + private static final String ALGORITHM_WIN32 = ALGORITHM + "/win32/"; + private static final String WIN32 = "win32"; + private static final String ALGORITHM_DEFAULT = ALGORITHM + "/default/"; + Data[] data; Dictionary parameters; CIShellContext context; @@ -97,6 +105,16 @@ private void copyFiles(File dir) throws IOException { Enumeration e = bContext.getBundle().getEntryPaths("/"+algName); + Set entries = new HashSet(); + + while(e != null && e.hasMoreElements()) { + String entryPath = (String) e.nextElement(); + System.err.println(entryPath); + if(entryPath.endsWith("/")) { + entries.add(entryPath); + } + } + dir = new File(dir.getPath() + File.separator + algName); dir.mkdirs(); @@ -104,24 +122,48 @@ String arch = bContext.getProperty("osgi.arch"); boolean foundExecutable = false; - while (e != null && e.hasMoreElements()) { - String path = (String)e.nextElement(); + String path = null; + + //take the default, if there + if(entries.contains(ALGORITHM_DEFAULT)) { + path = ALGORITHM_DEFAULT; + } + + //but override with platform idiosyncracies + if(os.equals(WIN32) && entries.contains(ALGORITHM_WIN32)) { + path = ALGORITHM_WIN32; + } else if(os.equals(MACOSX) && entries.contains(ALGORITHM_MACOSX_PPC)) { + path = ALGORITHM_MACOSX_PPC; + } + + String platform_path = ALGORITHM + os + "." + arch + "/"; + //and always override anything with an exact match + if(entries.contains(platform_path)) { + path = platform_path; + } + + + + /*while (e != null && e.hasMoreElements()) { + String path = (String)entryPath; if (path.endsWith("/")) { if (path.endsWith("default/")) { copyDir(dir, path); } else if (path.endsWith(os+"."+arch+"/") || - path.endsWith("win32/") && os.equals("win32")) { + (path.endsWith("win32/") && os.equals("win32")) || (path.endsWith("macosx.ppc/") && os.equals("macosx") && arch.equals("x86"))) { copyDir(dir, path); foundExecutable = true; } } else { //copyFile(dir, path); } - } + }*/ - if (!foundExecutable) { + if (path == null) { throw new RuntimeException("Unable to find compatible executable"); + } else { + copyDir(dir, path); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2007-03-01 17:39:58
|
Revision: 369 http://svn.sourceforge.net/cishell/?rev=369&view=rev Author: bh2 Date: 2007-03-01 09:39:55 -0800 (Thu, 01 Mar 2007) Log Message: ----------- committing changes to the cishell installer project for 0.4.0 Modified Paths: -------------- trunk/deployment/cishell-installer/build.xml trunk/deployment/cishell-installer/cishell.product trunk/deployment/cishell-installer/install.xml trunk/deployment/cishell-installer/mac_instructions.txt trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml trunk/deployment/cishell-installer/thanks.txt Added Paths: ----------- trunk/deployment/cishell-installer/sampledata/Network/wi5.xml Modified: trunk/deployment/cishell-installer/build.xml =================================================================== --- trunk/deployment/cishell-installer/build.xml 2007-03-01 16:25:17 UTC (rev 368) +++ trunk/deployment/cishell-installer/build.xml 2007-03-01 17:39:55 UTC (rev 369) @@ -12,7 +12,7 @@ <project name='CIShell Installer' default='compile' basedir='.'> <!-- Properties --> - <property name="version" value="0.3.0"/> + <property name="version" value="0.4.0"/> <property name="full.xml" value="install.xml"/> <property name="min.xml" value="install.xml"/> <property name="full.jar" value="cishell-installer_${version}.jar"/> Modified: trunk/deployment/cishell-installer/cishell.product =================================================================== --- trunk/deployment/cishell-installer/cishell.product 2007-03-01 16:25:17 UTC (rev 368) +++ trunk/deployment/cishell-installer/cishell.product 2007-03-01 17:39:55 UTC (rev 369) @@ -40,11 +40,11 @@ </plugins> <features> - <feature id="org.cishell.algorithm.examples.feature" version="0.3.0"/> + <feature id="org.cishell.algorithm.examples.feature" version="0.4.0"/> <feature id="org.cishell.environment.equinox.feature" version="0.1.0"/> <feature id="org.cishell.feature" version="0.3.0"/> - <feature id="org.cishell.reference.feature" version="0.3.0"/> - <feature id="org.cishell.reference.gui.feature" version="0.3.0"/> + <feature id="org.cishell.reference.feature" version="0.4.0"/> + <feature id="org.cishell.reference.gui.feature" version="0.4.0"/> </features> </product> Modified: trunk/deployment/cishell-installer/install.xml =================================================================== --- trunk/deployment/cishell-installer/install.xml 2007-03-01 16:25:17 UTC (rev 368) +++ trunk/deployment/cishell-installer/install.xml 2007-03-01 17:39:55 UTC (rev 369) @@ -16,7 +16,7 @@ <info> <appname>CIShell: Cyberinfrastructure Shell</appname> <appsubpath>cishell</appsubpath> - <appversion>0.3.0</appversion> + <appversion>0.4.0</appversion> <authors> <author name="Bruce Herr" email="bh...@bh..." /> <author name="Weixia Huang" email="hu...@in..." /> Modified: trunk/deployment/cishell-installer/mac_instructions.txt =================================================================== --- trunk/deployment/cishell-installer/mac_instructions.txt 2007-03-01 16:25:17 UTC (rev 368) +++ trunk/deployment/cishell-installer/mac_instructions.txt 2007-03-01 17:39:55 UTC (rev 369) @@ -1,7 +1,5 @@ Extra installation steps for Mac OSX users: -In order to get certain Swing or AWT based algorithms to work, some additional -steps are needed. First, you need Java version 1.5.0 Release 4 (or greater). -Second, you must download and install the "SWT Compatibility Libraries" from -the Apple Developer Connection website at 'http://connect.apple.com'. See the -FAQ section at http://cishell.org for more information. +For all CIShell features to work properly, please upgrade to the newest version +of Java, version 1.5.0 Release 5 (or greater). See the FAQ section at +http://cishell.org for more information. Modified: trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml 2007-03-01 16:25:17 UTC (rev 368) +++ trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml 2007-03-01 17:39:55 UTC (rev 369) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <graphml xmlns="http://graphml.graphdrawing.org/xmlns/graphml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns/graphml"> -<graph edgedefault="directed" > +<graph edgedefault="directed" > <node id="1" label="edu.berkeley.guir.prefuse.graph.Graph" /> <node id="2" label="prefuse.data.Graph" /> <node id="3" label="file:text/graphml+xml" /> Added: trunk/deployment/cishell-installer/sampledata/Network/wi5.xml =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/wi5.xml (rev 0) +++ trunk/deployment/cishell-installer/sampledata/Network/wi5.xml 2007-03-01 17:39:55 UTC (rev 369) @@ -0,0 +1,3213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns"> +<graph id="G" edgedefault="undirected"> +<node id="F30H5.3"/> +<node id="Y48E1B.12"/> +<node id="C09G1.1"/> +<node id="F56C9.1"/> +<node id="F11A10.2"/> +<node id="Y18D10A.5"/> +<node id="K07C11.2"/> +<node id="K01G5.2"/> +<node id="F08F8.1"/> +<node id="C41C4.8"/> +<node id="R05H5.3"/> +<node id="Y37H2A.3"/> +<node id="B0496.7"/> +<node id="Y104H12A.1"/> +<node id="Y45F10D.9"/> +<node id="F41G3.14"/> +<node id="C32A3.1"/> +<node id="B0207.4"/> +<node id="ZK353.7"/> +<node id="F47G6.1"/> +<node id="T27F2.3"/> +<node id="Y66D12A.16"/> +<node id="E04F6.3"/> +<node id="C08B11.9"/> +<node id="F54D10.7"/> +<node id="F44G4.4"/> +<node id="C07A12.1"/> +<node id="F56A8.7"/> +<node id="Y17G9B.5"/> +<node id="C35E7.1"/> +<node id="Y69H2.10"/> +<node id="Y92C3B.2"/> +<node id="F18A1.3"/> +<node id="ZK1067.7"/> +<node id="Y106G6H.14"/> +<node id="F47B10.2"/> +<node id="F44B9.8"/> +<node id="R11D1.8"/> +<node id="F29C12.1"/> +<node id="Y102A11A.3"/> +<node id="M6.1"/> +<node id="D2096.2"/> +<node id="F35G2.2"/> +<node id="EEED8.3"/> +<node id="CC8.1"/> +<node id="H38K22.2"/> +<node id="C50F2.5"/> +<node id="C11E4.6"/> +<node id="T07C4.10"/> +<node id="R02F11.4"/> +<node id="C04F1.3"/> +<node id="Y49E10.14"/> +<node id="ZK643.5"/> +<node id="Y49E10.6"/> +<node id="T04F8.6"/> +<node id="ZK1010.1"/> +<node id="Y37A1B.1"/> +<node id="R107.4"/> +<node id="Y51H7BR.3"/> +<node id="C05C8.6"/> +<node id="F55C12.1"/> +<node id="C53C7.1"/> +<node id="F42A10.5"/> +<node id="F11G11.2"/> +<node id="C10G8.7"/> +<node id="F17E9.5"/> +<node id="Y38E10A.18"/> +<node id="C56C10.9"/> +<node id="C34G6.2"/> +<node id="D2045.9"/> +<node id="C04F12.9"/> +<node id="T26A5.9"/> +<node id="F08C6.3"/> +<node id="F46C5.9"/> +<node id="ZK1067.3"/> +<node id="F41C6.6"/> +<node id="C32D5.9"/> +<node id="C28A5.3"/> +<node id="ZC477.9"/> +<node id="F46G10.1"/> +<node id="F35G12.1"/> +<node id="F13B10.2"/> +<node id="F53F4.10"/> +<node id="Y49F6C.3"/> +<node id="F54C9.11"/> +<node id="F54D5.15"/> +<node id="F10B5.2"/> +<node id="F02A9.3"/> +<node id="K11D12.9"/> +<node id="Y53F4B.11"/> +<node id="T23F1.6"/> +<node id="H04J21.3"/> +<node id="F53B1.3"/> +<node id="F49E8.4"/> +<node id="Y45G12B.2"/> +<node id="R08E3.4"/> +<node id="M117.2"/> +<node id="F32A6.4"/> +<node id="M01E11.7"/> +<node id="T28A8.7"/> +<node id="F45E4.4"/> +<node id="C18C4.10"/> +<node id="ZK1307.8"/> +<node id="C25E10.8"/> +<node id="F14B6.3"/> +<node id="K10C3.6"/> +<node id="K04F10.4"/> +<node id="R05D11.8"/> +<node id="C12D8.1"/> +<node id="F26D11.11"/> +<node id="F54D8.6"/> +<node id="M01F1.4"/> +<node id="Y69H2.3"/> +<node id="Y54E10A.2"/> +<node id="F53A3.3"/> +<node id="C01B7.4"/> +<node id="Y105E8B.4"/> +<node id="Y44F5A.1"/> +<node id="Y48G10A.2"/> +<node id="F57B10.11"/> +<node id="Y54E5A.1"/> +<node id="B0523.3"/> +<node id="K01G5.7"/> +<node id="F38E9.1"/> +<node id="F52D10.3"/> +<node id="Y32H12A.4"/> +<node id="B0286.4"/> +<node id="B0336.9"/> +<node id="C55C3.1"/> +<node id="M18.7"/> +<node id="H20J04.5"/> +<node id="F26B1.2"/> +<node id="C50E3.13"/> +<node id="C39E9.13"/> +<node id="T22A3.4"/> +<node id="F10C5.2"/> +<node id="K08E5.3"/> +<node id="Y57G11C.9"/> +<node id="C04C3.5"/> +<node id="Y40B1B.6"/> +<node id="C39D10.7"/> +<node id="C07E3.3"/> +<node id="T21D12.11"/> +<node id="C16A11.2"/> +<node id="T10C6.5"/> +<node id="F57C2.6"/> +<node id="F54B11.3"/> +<node id="T22G5.2"/> +<node id="F49H12.3"/> +<node id="Y51H4A.4"/> +<node id="H24G06.1"/> +<node id="F35A5.3"/> +<node id="Y17G7B.2"/> +<node id="C05D9.1"/> +<node id="C48D5.1"/> +<node id="F25B5.7"/> +<node id="C09G4.3"/> +<node id="Y46G5A.24"/> +<node id="C15A11.7"/> +<node id="R06C7.8"/> +<node id="F55C9.11"/> +<node id="T09F3.1"/> +<node id="F01D4.4"/> +<node id="T01G9.5"/> +<node id="T07E3.5"/> +<node id="T28F12.2"/> +<node id="R07G3.8"/> +<node id="C06A8.5"/> +<node id="C29F3.6"/> +<node id="C47B2.6"/> +<node id="R01H10.5"/> +<node id="B0024.14"/> +<node id="F42A10.3"/> +<node id="F42G9.9"/> +<node id="Y40C5A.1"/> +<node id="W10C8.2"/> +<node id="F32D1.1"/> +<node id="Y65B4BR.4"/> +<node id="W02B12.8"/> +<node id="C27A2.3"/> +<node id="K02B12.4"/> +<node id="Y49E10.23"/> +<node id="R05F9.1"/> +<node id="T19A5.2"/> +<node id="Y43F8C.14"/> +<node id="B0511.9"/> +<node id="F37C4.5"/> +<node id="C45G3.5"/> +<node id="R09B5.6"/> +<node id="C35D10.2"/> +<node id="C05D2.4"/> +<node id="Y105C5B.19"/> +<node id="B0513.1"/> +<node id="C17G10.9"/> +<node id="C07H6.5"/> +<node id="Y54E10BR.8"/> +<node id="K04H4.1"/> +<node id="B0041.2"/> +<node id="Y52E8A.3"/> +<node id="M7.1"/> +<node id="C44C8.6"/> +<node id="R07B7.2"/> +<node id="F32A11.6"/> +<node id="F44B9.9"/> +<node id="Y44E3A.6"/> +<node id="ZK131.11"/> +<node id="F19B6.2"/> +<node id="K01G5.4"/> +<node id="C06G3.6"/> +<node id="Y66H1A.2"/> +<node id="R12B2.4"/> +<node id="C54G4.1"/> +<node id="C53C7.3"/> +<node id="T22D2.1"/> +<node id="F56A8.6"/> +<node id="M18.5"/> +<node id="F59E12.4"/> +<node id="C08B11.7"/> +<node id="Y18D10A.8"/> +<node id="F19B10.1"/> +<node id="M04F3.1"/> +<node id="F32B4.4"/> +<node id="B0024.1"/> +<node id="C37C3.6"/> +<node id="T08E11.4"/> +<node id="ZK792.4"/> +<node id="C37E2.1"/> +<node id="T28A11.11"/> +<node id="T20H4.4"/> +<node id="Y66D12A.9"/> +<node id="B0478.1"/> +<node id="T05F1.4"/> +<node id="D2092.1"/> +<node id="T04H1.6"/> +<node id="Y42H9AR.1"/> +<node id="C01G12.1"/> +<node id="ZK863.7"/> +<node id="F59E12.10"/> +<node id="F57C12.2"/> +<node id="F55A8.2"/> +<node id="F18A1.5"/> +<node id="C08F8.8"/> +<node id="Y38H6C.14"/> +<node id="C34C12.5"/> +<node id="Y39B6A.12"/> +<node id="F44G3.9"/> +<node id="F54B11.7"/> +<node id="C27F2.8"/> +<node id="Y38C1AA.7"/> +<node id="F52C6.3"/> +<node id="R06C1.3"/> +<node id="T23C6.5"/> +<node id="B0336.7"/> +<node id="F23C8.4"/> +<node id="F29B9.4"/> +<node id="Y79H2A.1"/> +<node id="F20C5.2"/> +<node id="D2013.6"/> +<node id="Y57A10C.6"/> +<node id="R07E5.14"/> +<node id="C56G2.7"/> +<node id="F36D4.3"/> +<node id="B0019.2"/> +<node id="C40A11.2"/> +<node id="B0336.2"/> +<node id="T08B2.5"/> +<node id="F37B1.1"/> +<node id="C06A6.2"/> +<node id="C09H10.6"/> +<node id="ZK1098.4"/> +<node id="C18A11.7"/> +<node id="C34F6.9"/> +<node id="Y43F8B.2"/> +<node id="Y39G10AL.1"/> +<node id="T23G7.1"/> +<node id="C02F5.1"/> +<node id="T23F11.4"/> +<node id="R13A5.8"/> +<node id="W04D2.1"/> +<node id="F46F11.2"/> +<node id="K07C11.4"/> +<node id="C14B9.1"/> +<node id="F54D5.7"/> +<node id="C01B10.3"/> +<node id="F25E2.4"/> +<node id="B0238.1"/> +<node id="T26C12.3"/> +<node id="Y18D10A.11"/> +<node id="T05D4.1"/> +<node id="C05D11.11"/> +<node id="ZC8.4"/> +<node id="B0310.5"/> +<node id="R11E3.6"/> +<node id="F32H2.3"/> +<node id="C14C11.5"/> +<node id="C03A7.4"/> +<node id="K06H6.1"/> +<node id="C35B1.1"/> +<node id="Y97E10AR.7"/> +<node id="F36F2.4"/> +<node id="Y22F5A.4"/> +<node id="Y43B11AR.3"/> +<node id="T09A5.2"/> +<node id="Y37A1B.13"/> +<node id="F10B5.6"/> +<node id="T01B6.1"/> +<node id="Y71G12B.9"/> +<node id="B0365.1"/> +<node id="Y37E11AR.2"/> +<node id="ZK1098.10"/> +<node id="K01A2.10"/> +<node id="ZC328.4"/> +<node id="Y57A10A.18"/> +<node id="F45E6.2"/> +<node id="B0547.1"/> +<node id="F32B6.5"/> +<node id="Y48B6A.3"/> +<node id="Y77E11A.15"/> +<node id="R02D5.1"/> +<node id="F38H4.3"/> +<node id="ZK1058.4"/> +<node id="Y43F4B.5"/> +<node id="F55G1.8"/> +<node id="K12F2.1"/> +<node id="Y53C10A.6"/> +<node id="F57G12.2"/> +<node id="C27H2.3"/> +<node id="F09E5.1"/> +<node id="ZK858.4"/> +<node id="C40A11.7"/> +<node id="F28H6.1"/> +<node id="C01G8.5"/> +<node id="C23G10.4"/> +<node id="F32B6.1"/> +<node id="C27B7.4"/> +<node id="C15H9.4"/> +<node id="F55A11.3"/> +<node id="C06E1.1"/> +<node id="H12C20.2"/> +<node id="K09B11.9"/> +<node id="F59A2.6"/> +<node id="W03D8.8"/> +<node id="F43G9.5"/> +<node id="F08F3.7"/> +<node id="ZK867.1"/> +<node id="T21B6.3"/> +<node id="F23H12.5"/> +<node id="C17E4.2"/> +<node id="C34F11.9"/> +<node id="T03E6.7"/> +<node id="F26F4.2"/> +<node id="ZK370.2"/> +<node id="ZC266.1"/> +<node id="F25B5.4"/> +<node id="F29B9.6"/> +<node id="Y48E1B.1"/> +<node id="F23F1.8"/> +<node id="Y63D3A.4"/> +<node id="Y39A1A.15"/> +<node id="D1037.3"/> +<node id="F17A2.5"/> +<node id="D2089.4"/> +<node id="C06E4.2"/> +<node id="F42F12.3"/> +<node id="Y46G5A.15"/> +<node id="F57B10.4"/> +<node id="T20G5.1"/> +<node id="F33A8.1"/> +<node id="D1054.9"/> +<node id="R74.3"/> +<node id="VW02B12L.4"/> +<node id="F36D4.2"/> +<node id="T04D1.3"/> +<node id="T07D4.2"/> +<node id="D1005.3"/> +<node id="W07B3.2"/> +<node id="D2063.1"/> +<node id="Y39E4A.3"/> +<node id="R107.7"/> +<node id="AH6.5"/> +<node id="F07H5.2"/> +<node id="F27C1.6"/> +<node id="F21H11.2"/> +<node id="F47G4.4"/> +<node id="Y38A10A.5"/> +<node id="F13E6.4"/> +<node id="K12G11.3"/> +<node id="B0041.4"/> +<node id="R11D1.1"/> +<node id="Y57G11C.22"/> +<node id="K08F8.2"/> +<node id="K06A5.8"/> +<node id="C26G2.2"/> +<node id="T22B2.4"/> +<node id="T01C3.3"/> +<node id="K08F11.3"/> +<node id="Y105C5B.13"/> +<node id="C44H4.5"/> +<node id="C36H8.1"/> +<node id="Y57G7A.10"/> +<node id="C03A7.8"/> +<node id="Y37E3.11"/> +<node id="Y54E2A.3"/> +<node id="C42D8.2"/> +<node id="M04C9.4"/> +<node id="B0024.12"/> +<node id="F33H2.6"/> +<node id="R06F6.12"/> +<node id="C18B2.4"/> +<node id="C03A7.14"/> +<node id="Y62E10A.14"/> +<node id="F55B12.3"/> +<node id="R05D3.4"/> +<node id="ZK112.2"/> +<node id="B0041.6"/> +<node id="Y73B6BL.33"/> +<node id="ZK1053.3"/> +<node id="K11E4.5"/> +<node id="B0303.9"/> +<node id="T24H7.3"/> +<node id="C28H8.11"/> +<node id="F59F4.2"/> +<node id="H14A12.2"/> +<node id="W07G4.5"/> +<node id="F52E4.7"/> +<node id="C03C10.4"/> +<node id="H19N07.1"/> +<node id="F58G1.3"/> +<node id="K08D10.8"/> +<node id="F39H12.1"/> +<node id="Y17G7B.15"/> +<node id="T01G9.2"/> +<node id="Y54G9A.6"/> +<node id="C01H6.7"/> +<node id="Y57A10A.8"/> +<node id="T01H8.1"/> +<node id="T20B12.2"/> +<node id="F59A2.4"/> +<node id="F54G8.4"/> +<node id="K06A1.4"/> +<node id="K09A11.1"/> +<node id="F42A10.2"/> +<node id="K07A3.1"/> +<node id="C02F4.2"/> +<node id="F38A5.7"/> +<node id="ZK892.7"/> +<node id="F12F6.5"/> +<node id="F37B1.8"/> +<node id="M03D4.1"/> +<node id="M176.2"/> +<node id="W09G12.7"/> +<node id="C26C6.2"/> +<node id="F29F11.1"/> +<node id="Y38E10A.6"/> +<node id="R12B2.1"/> +<node id="F15C11.2"/> +<node id="T09A12.4"/> +<node id="F35C8.3"/> +<node id="R07H5.8"/> +<node id="F42E11.4"/> +<node id="F14F9.4"/> +<node id="D1014.8"/> +<node id="F41H10.4"/> +<node id="T05G5.3"/> +<node id="F26F2.3"/> +<node id="Y38H6C.8"/> +<node id="F46A9.5"/> +<node id="Y5H2B.2"/> +<node id="LOCUSB"/> +<node id="Y39B6A.11"/> +<node id="B0393.1"/> +<node id="M110.5"/> +<node id="Y113G7B.15"/> +<node id="W08F4.8"/> +<node id="F44E7.9"/> +<node id="W06F12.1"/> +<node id="F08C6.6"/> +<node id="Y105E8B.5"/> +<node id="B0025.2"/> +<node id="Y7A5A.2"/> +<node id="K08E3.7"/> +<node id="W10G6.3"/> +<node id="F36D1.1"/> +<node id="C05D12.5"/> +<node id="C07G2.3"/> +<node id="F42G2.3"/> +<node id="K01B6.1"/> +<node id="Y75B8A.1"/> +<node id="W06A7.3"/> +<node id="Y69H2.7"/> +<node id="Y47D3A.27"/> +<node id="C34C6.6"/> +<node id="F33E2.2"/> +<node id="R09B5.5"/> +<node id="M142.6"/> +<node id="C49A1.4"/> +<node id="Y39A3B.2"/> +<node id="F54E7.7"/> +<node id="C25G4.4"/> +<node id="K11E8.1"/> +<node id="F38E1.7"/> +<node id="H02I12.1"/> +<node id="T22C8.3"/> +<node id="C56C10.7"/> +<node id="C52B11.2"/> +<node id="ZK1240.2"/> +<node id="B0034.3"/> +<node id="M02A10.3"/> +<node id="Y66D12A.5"/> +<node id="F43G6.8"/> +<node id="F46G11.1"/> +<node id="C06G3.10"/> +<node id="R148.3"/> +<node id="F10C5.1"/> +<node id="R04A9.4"/> +<node id="C47E8.4"/> +<node id="K06H7.6"/> +<node id="ZK593.6"/> +<node id="W09D10.3"/> +<node id="F59F5.6"/> +<node id="C07F11.1"/> +<node id="C08B11.1"/> +<node id="T27F2.1"/> +<node id="T05H4.2"/> +<node id="C06G3.1"/> +<node id="K09B11.1"/> +<node id="Y57G7A.5"/> +<node id="T07D1.4"/> +<node id="F39B2.11"/> +<node id="ZK1055.7"/> +<node id="W02G9.2"/> +<node id="R01B10.4"/> +<node id="B0350.2"/> +<node id="C34E10.2"/> +<node id="DY3.6"/> +<node id="C56E6.3"/> +<node id="C50C3.8"/> +<node id="R13F6.9"/> +<node id="R07B7.3"/> +<node id="Y71H2AM.15"/> +<node id="T11B7.1"/> +<node id="C05G6.1"/> +<node id="F09B9.4"/> +<node id="R148.5"/> +<node id="Y43F8C.6"/> +<node id="F53B3.3"/> +<node id="F08F8.9"/> +<node id="Y82E9BR.13"/> +<node id="F26E4.8"/> +<node id="F29G9.2"/> +<node id="R74.5"/> +<node id="C04F12.3"/> +<node id="C14B1.8"/> +<node id="F07B7.2"/> +<node id="F42G8.3"/> +<node id="H06I04.1"/> +<node id="C15H9.9"/> +<node id="F41E6.6"/> +<node id="C45G9.5"/> +<node id="K04A8.6"/> +<node id="F28C6.2"/> +<node id="Y39E4B.12"/> +<node id="W05H7.4"/> +<node id="Y15E3A.5"/> +<node id="ZC482.5"/> +<node id="W06D4.1"/> +<node id="ZK652.1"/> +<node id="F14B4.2"/> +<node id="F56A11.5"/> +<node id="F28D1.2"/> +<node id="C17E4.5"/> +<node id="F16H11.5"/> +<node id="D2096.12"/> +<node id="Y62E10A.16"/> +<node id="Y105E8A.1"/> +<node id="C16C8.5"/> +<node id="C32E8.10"/> +<node id="ZK669.4"/> +<node id="R09B3.5"/> +<node id="C14H10.2"/> +<node id="T04H1.2"/> +<node id="F42G10.2"/> +<node id="F09E5.7"/> +<node id="Y52D3.1"/> +<node id="C52E4.3"/> +<node id="B0414.8"/> +<node id="D2007.4"/> +<node id="Y65B4BR.5"/> +<node id="C05D2.5"/> +<node id="C18H9.7"/> +<node id="F30F8.3"/> +<node id="C49H3.4"/> +<node id="C55B7.5"/> +<node id="F39B1.1"/> +<node id="Y17G9B.9"/> +<node id="T08G11.4"/> +<node id="F36G3.2"/> +<node id="T06E4.6"/> +<node id="R01H10.6"/> +<node id="F48F7.7"/> +<node id="F10E7.8"/> +<node id="R151.9"/> +<node id="K04D7.1"/> +<node id="Y71H2B.6"/> +<node id="F59A3.3"/> +<node id="ZK1053.5"/> +<node id="Y23H5A.4"/> +<node id="T10B11.9"/> +<node id="C33G3.6"/> +<node id="H28G03.2"/> +<node id="Y116F11B.10"/> +<node id="Y38F2AL.2"/> +<node id="Y54G2A.26"/> +<node id="F10B5.4"/> +<node id="C14A4.11"/> +<node id="ZK863.6"/> +<node id="R151.2"/> +<node id="ZK546.11"/> +<node id="Y106G6D.7"/> +<node id="C01B10.8"/> +<node id="K08B4.1"/> +<node id="F44A2.1"/> +<node id="Y119C1A.1"/> +<node id="F23H11.1"/> +<node id="C53D6.6"/> +<node id="Y59A8A.1"/> +<node id="K08E7.2"/> +<node id="F08G5.1"/> +<node id="F59B1.7"/> +<node id="T06G6.3"/> +<node id="F26G5.9"/> +<node id="C06C3.1"/> +<node id="W01B6.9"/> +<node id="W02A2.6"/> +<node id="Y71F9B.3"/> +<node id="F53A2.6"/> +<node id="F45G2.4"/> +<node id="Y17G7B.4"/> +<node id="F54C8.3"/> +<node id="C44B11.1"/> +<node id="F11G11.11"/> +<node id="T17H7.4"/> +<node id="Y41C4A.10"/> +<node id="W03D2.4"/> +<node id="Y39B6A.46"/> +<node id="C34D10.2"/> +<node id="W07E6.4"/> +<node id="W04A8.7"/> +<node id="F33D11.11"/> +<node id="ZK856.11"/> +<node id="T10B11.3"/> +<node id="ZK697.2"/> +<node id="T24F1.2"/> +<node id="F40H3.2"/> +<node id="D2030.6"/> +<node id="K08F8.4"/> +<node id="F57B9.7"/> +<node id="Y53F4B.33"/> +<node id="F49A5.5"/> +<node id="T20F10.1"/> +<node id="K10C8.3"/> +<node id="W10G11.20"/> +<node id="C09G1.4"/> +<node id="F32E10.4"/> +<node id="C01F6.1"/> +<node id="C11G6.4"/> +<node id="F59C12.3"/> +<node id="C14B9.7"/> +<node id="Y82E9BR.15"/> +<node id="C01G5.8"/> +<node id="T09B9.4"/> +<node id="Y55F3AM.13"/> +<node id="H05C05.2"/> +<node id="Y71F9AL.17"/> +<node id="B0348.6"/> +<node id="Y59A8A.3"/> +<node id="T02E1.3"/> +<node id="B0280.8"/> +<node id="Y59A8B.22"/> +<node id="ZK849.2"/> +<node id="ZK829.7"/> +<node id="T24H10.3"/> +<node id="C34E11.3"/> +<node id="F48E8.1"/> +<node id="R04B5.4"/> +<node id="R06A4.4"/> +<node id="F27C8.2"/> +<node id="F25E2.5"/> +<node id="C05D11.10"/> +<node id="F15D4.2"/> +<node id="Y43C5A.6"/> +<node id="F43C1.2"/> +<node id="C06E7.4"/> +<node id="F46G11.3"/> +<node id="F59E12.5"/> +<node id="H06I04.4"/> +<node id="F52B10.1"/> +<node id="ZK1193.5"/> +<node id="T09A5.12"/> +<node id="F13E6.1"/> +<node id="E01A2.1"/> +<node id="B0286.3"/> +<node id="F45B8.3"/> +<node id="F53B3.1"/> +<node id="F57B10.12"/> +<node id="Y17G7B.11"/> +<node id="K08H2.8"/> +<node id="F53C11.5"/> +<node id="C36B1.12"/> +<node id="ZK652.6"/> +<node id="F54E7.3"/> +<node id="AC3.4"/> +<node id="C18E9.9"/> +<node id="F01G12.6"/> +<node id="ZK287.6"/> +<node id="T01C8.1"/> +<node id="F36A2.1"/> +<node id="Y46C8AL.1"/> +<node id="F25H2.11"/> +<node id="Y51F10.2"/> +<node id="ZK1073.2"/> +<node id="Y48A6B.9"/> +<node id="Y43F11A.2"/> +<node id="K05C4.6"/> +<node id="T14G12.4"/> +<node id="F41B4.1"/> +<node id="C02A12.1"/> +<node id="C31H1.6"/> +<node id="F36G9.11"/> +<node id="R11G11.6"/> +<node id="Y81G3A.3"/> +<node id="Y39B6A.1"/> +<node id="M142.1"/> +<node id="F15C11.1"/> +<node id="C27H6.2"/> +<node id="ZC504.4"/> +<node id="K01A6.2"/> +<node id="B0454.8"/> +<node id="C55B7.4"/> +<node id="C07E3.1"/> +<node id="C43C3.1"/> +<node id="T23B12.2"/> +<node id="C48E7.9"/> +<node id="F33G12.5"/> +<node id="R02F11.1"/> +<node id="K03E6.4"/> +<node id="Y45F10D.13"/> +<node id="H26D21.1"/> +<node id="Y71G12B.11"/> +<node id="T01G9.6"/> +<node id="F52H3.4"/> +<node id="ZC455.3"/> +<node id="K06B4.1"/> +<node id="C26B2.6"/> +<node id="F59E12.11"/> +<node id="F40F12.5"/> +<node id="M04G12.1"/> +<node id="F01G10.5"/> +<node id="K08H10.2"/> +<node id="C16A3.8"/> +<node id="Y48G1C.1"/> +<node id="C35E7.2"/> +<node id="ZK1128.2"/> +<node id="F58E6.3"/> +<node id="T01G1.1"/> +<node id="Y116A8C.35"/> +<node id="T28F4.1"/> +<node id="B0272.4"/> +<node id="F37B1.2"/> +<node id="ZC97.1"/> +<node id="Y76A2B.5"/> +<node id="F14D2.12"/> +<node id="Y39G10AR.10"/> +<node id="R10D12.13"/> +<node id="F54A5.3"/> +<node id="F53F10.2"/> +<node id="DY3.2"/> +<node id="C25F6.2"/> +<node id="K11D9.1"/> +<node id="F42G9.6"/> +<node id="Y75B8A.30"/> +<node id="Y48C3A.17"/> +<node id="Y57A10B.6"/> +<node id="R31.1"/> +<node id="F43C1.4"/> +<node id="Y39B6A.37"/> +<node id="T21G5.5"/> +<node id="Y47G6A.14"/> +<node id="F42H10.7"/> +<node id="ZC247.1"/> +<node id="C10H11.10"/> +<node id="C54F6.8"/> +<node id="C32F10.6"/> +<node id="Y63D3A.5"/> +<node id="C14B1.2"/> +<node id="F37A4.9"/> +<node id="W08D2.4"/> +<node id="K12H4.7"/> +<node id="F40F4.3"/> +<node id="F53A10.2"/> +<node id="Y106G6H.15"/> +<node id="C23H3.3"/> +<node id="W01A11.4"/> +<node id="C49H3.5"/> +<node id="F26F4.5"/> +<node id="F13B10.1"/> +<node id="T23D8.3"/> +<node id="K01D12.4"/> +<node id="R04E5.10"/> +<node id="Y113G7B.23"/> +<node id="ZK721.2"/> +<node id="F59B2.3"/> +<node id="F42G4.3"/> +<node id="B0238.12"/> +<node id="F42A6.9"/> +<node id="T20B3.2"/> +<node id="C32E8.1"/> +<node id="Y24F12A.2"/> +<node id="Y11D7A.12"/> +<node id="M02G9.1"/> +<node id="F29G6.3"/> +<node id="F01D5.1"/> +<node id="Y39G10AR.17"/> +<node id="M7.2"/> +<node id="Y71F9AL.7"/> +<node id="T28C6.7"/> +<node id="Y46G5A.31"/> +<node id="F08F8.10"/> +<node id="K04D7.2"/> +<node id="ZK353.6"/> +<node id="Y59E9AR.3"/> +<node id="C53D5.6"/> +<node id="T28C12.4"/> +<node id="EEED8.16"/> +<node id="C02C2.1"/> +<node id="T26H2.9"/> +<node id="F36G3.1"/> +<node id="F37B12.2"/> +<node id="F56C9.10"/> +<node id="Y18D10A.17"/> +<node id="C16C4.4"/> +<node id="Y48E1B.3"/> +<node id="T06E6.10"/> +<node id="K10B3.9"/> +<node id="F22B7.13"/> +<node id="C05C12.4"/> +<node id="C25A1.4"/> +<node id="Y37D8A.17"/> +<node id="C47D12.2"/> +<node id="Y57G11C.24"/> +<node id="W02D3.11"/> +<node id="F23B12.8"/> +<node id="C09B8.6"/> +<node id="C33E10.10"/> +<node id="Y43B11AR.4"/> +<node id="M02D8.1"/> +<node id="Y55F3AM.15"/> +<node id="C04C3.3"/> +<node id="W06D4.6"/> +<node id="ZC395.8"/> +<node id="ZC155.1"/> +<node id="Y105E8A.11"/> +<node id="F35G12.9"/> +<node id="C30B5.1"/> +<node id="F53G12.10"/> +<node id="T05G5.6"/> +<node id="C02B10.5"/> +<node id="Y46G5A.20"/> +<node id="R144.9"/> +<node id="K07D8.1"/> +<node id="T22A3.3"/> +<node id="C27H5.2"/> +<node id="R07B1.4"/> +<node id="C34E10.6"/> +<node id="C33G8.4"/> +<node id="W10D9.4"/> +<node id="C28D4.3"/> +<node id="Y37D8A.10"/> +<node id="R186.5"/> +<node id="F13H10.1"/> +<node id="C26B2.3"/> +<node id="ZK1098.5"/> +<node id="T27F2.2"/> +<node id="F18E2.3"/> +<node id="Y59A8B.10"/> +<node id="Y54E5A.4"/> +<node id="C34C6.7"/> +<node id="D1007.6"/> +<node id="F52F12.3"/> +<node id="Y69A2AR.18"/> +<node id="F16B12.6"/> +<node id="C06A5.9"/> +<node id="F38B2.1"/> +<node id="F10E9.3"/> +<node id="Y71G12B.27"/> +<node id="F54E7.8"/> +<node id="T23H4.2"/> +<node id="F14H3.10"/> +<node id="C17G10.5"/> +<node id="F46A9.6"/> +<node id="F55H12.6"/> +<node id="T05G5.10"/> +<node id="F35F10.12"/> +<node id="F10C1.2"/> +<node id="W07G4.3"/> +<node id="T27A3.1"/> +<node id="F28F5.3"/> +<node id="R05F9.10"/> +<node id="F49E8.7"/> +<node id="W03F11.6"/> +<node id="C27H6.3"/> +<node id="Y43F11A.5"/> +<node id="F08G12.2"/> +<node id="F26F4.11"/> +<node id="ZK1128.7"/> +<node id="F58F6.4"/> +<node id="F43G9.1"/> +<node id="ZK40.1"/> +<node id="C04C11.1"/> +<node id="D2045.8"/> +<node id="Y77E11A.7"/> +<node id="F25H5.3"/> +<node id="C06H2.6"/> +<node id="F59A2.1"/> +<node id="C25D7.8"/> +<node id="F22E12.2"/> +<node id="K01G5.1"/> +<node id="T05A10.1"/> +<node id="F08C6.1"/> +<node id="F25D1.5"/> +<node id="Y22F5A.5"/> +<node id="F21F8.7"/> +<node id="F14F3.1"/> +<node id="T14F9.4"/> +<node id="W10C6.1"/> +<node id="C33H5.12"/> +<node id="R166.2"/> +<node id="Y41C4A.14"/> +<node id="D2005.4"/> +<node id="K08E7.5"/> +<node id="C07D10.2"/> +<node id="F40F8.5"/> +<node id="R11A8.2"/> +<node id="B0507.1"/> +<node id="F52E1.7"/> +<node id="C02F5.9"/> +<node id="F08G2.7"/> +<node id="C14F11.5"/> +<node id="K12C11.2"/> +<node id="F10G7.4"/> +<node id="Y53F4B.22"/> +<node id="ZK632.2"/> +<node id="F25H2.4"/> +<node id="F58E6.10"/> +<node id="F31E3.3"/> +<node id="C02F12.8"/> +<node id="T05C12.6"/> +<node id="T03F1.1"/> +<node id="K08E3.5"/> +<node id="W01D2.2"/> +<node id="W08G11.3"/> +<node id="B0464.8"/> +<node id="Y47G6A.12"/> +<node id="Y15E3A.1"/> +<node id="B0035.1"/> +<node id="T05H10.3"/> +<node id="ZC581.1"/> +<node id="Y55B1BR.3"/> +<node id="ZK455.1"/> +<node id="F26B1.3"/> +<node id="F46E10.9"/> +<node id="R07H5.1"/> +<node id="ZK892.1"/> +<node id="E02H1.7"/> +<node id="Y47D3B.7"/> +<node id="C16B8.3"/> +<node id="F22E5.17"/> +<node id="Y45G5AM.1"/> +<node id="C30B5.4"/> +<node id="H14N18.1"/> +<node id="F33D4.6"/> +<node id="Y55F3AM.10"/> +<node id="W03G9.4"/> +<node id="B0272.2"/> +<node id="C14F5.5"/> +<node id="F23H12.2"/> +<node id="T26E3.3"/> +<node id="C32H11.5"/> +<node id="Y69A2AR.30"/> +<node id="F52C6.2"/> +<node id="C04A2.3"/> +<node id="F09F7.5"/> +<node id="R06B9.1"/> +<node id="C16B8.2"/> +<node id="F19H8.3"/> +<node id="R11G11.7"/> +<node id="Y102A11A.2"/> +<node id="ZK1037.5"/> +<node id="C37A2.7"/> +<node id="B0001.1"/> +<node id="F59E12.9"/> +<node id="ZC513.6"/> +<node id="T16H12.4"/> +<node id="T22D1.12"/> +<node id="T04C10.2"/> +<node id="C33G3.1"/> +<node id="C27A2.6"/> +<node id="C17E4.10"/> +<node id="Y110A7A.17"/> +<node id="F22F7.6"/> +<node id="K11D2.2"/> +<node id="K01C8.5"/> +<node id="D1054.13"/> +<node id="K02E10.4"/> +<node id="Y87G2A.8"/> +<node id="F42D1.2"/> +<node id="ZK1307.9"/> +<node id="F41G4.1"/> +<node id="F59A2.3"/> +<node id="Y77E11A.2"/> +<node id="T04A8.11"/> +<node id="W06A11.3"/> +<node id="Y51H4A.8"/> +<node id="R119.4"/> +<node id="C28H8.12"/> +<node id="F14B6.6"/> +<node id="W02D3.9"/> +<node id="F31E3.1"/> +<node id="C36C9.1"/> +<node id="K08D10.7"/> +<node id="T12D8.7"/> +<node id="C17E7.4"/> +<node id="B0336.6"/> +<node id="R02F2.5"/> +<node id="F17C11.9"/> +<node id="Y119C1B.8"/> +<node id="F40F8.8"/> +<node id="Y47G6A.15"/> +<node id="C36E6.5"/> +<node id="F28F8.6"/> +<node id="R13A5.1"/> +<node id="K04H4.2"/> +<node id="F57F5.1"/> +<node id="F52E4.1"/> +<node id="W03D2.5"/> +<node id="C55B7.9"/> +<node id="C46F11.1"/> +<node id="Y39E4A.2"/> +<node id="M01E11.2"/> +<node id="Y75B8A.2"/> +<node id="T21H3.3"/> +<node id="T13C5.4"/> +<node id="F57C9.4"/> +<node id="W09H1.6"/> +<node id="M106.4"/> +<node id="K06H7.4"/> +<node id="T01D1.2"/> +<node id="C34D10.1"/> +<node id="W06H8.1"/> +<node id="D1046.1"/> +<node id="F07A5.7"/> +<node id="F56E3.3"/> +<node id="ZK970.3"/> +<node id="T11B7.4"/> +<node id="T20F5.4"/> +<node id="ZK1055.1"/> +<node id="C06A1.1"/> +<node id="C27A12.2"/> +<node id="Y43H11AL.1"/> +<node id="F54F2.8"/> +<node id="VW02B12L.3"/> +<node id="C08E3.9"/> +<node id="T19B4.5"/> +<node id="C16C8.12"/> +<node id="PAR2.1"/> +<node id="Y110A7A.10"/> +<node id="C44B9.2"/> +<node id="Y41C4A.12"/> +<node id="ZK836.1"/> +<node id="W03F9.10"/> +<node id="F53F10.5"/> +<node id="Y62E10A.8"/> +<node id="Y47D7A.1"/> +<node id="C35B8.2"/> +<node id="Y71H2B.3"/> +<node id="F56B3.10"/> +<node id="W08E12.8"/> +<node id="Y71F9AL.13"/> +<node id="W07G1.5"/> +<node id="K04G2.10"/> +<node id="F23B12.5"/> +<node id="F59C6.5"/> +<node id="C04C3.2"/> +<node id="C47G2.5"/> +<node id="Y43F11A.3"/> +<node id="C46H11.8"/> +<node id="C38D4.6"/> +<node id="C15C8.2"/> +<node id="Y41E3.7"/> +<node id="F44A2.5"/> +<node id="F13D12.8"/> +<node id="ZK637.5"/> +<node id="F26F4.1"/> +<node id="F26D10.3"/> +<node id="H22K11.1"/> +<node id="F29G6.2"/> +<node id="T22H2.5"/> +<node id="R12B2.5"/> +<node id="K10D3.4"/> +<node id="Y75B8A.12"/> +<node id="T18D3.7"/> +<node id="F37C12.4"/> +<node id="F53G12.4"/> +<node id="F56A12.1"/> +<node id="Y42G9A.1"/> +<node id="F45C12.11"/> +<node id="F01F1.4"/> +<node id="F10G8.8"/> +<node id="R09H10.3"/> +<node id="F26E4.2"/> +<node id="W07B8.5"/> +<node id="Y73B6A.5"/> +<node id="T24H10.6"/> +<node id="ZK909.4"/> +<node id="K02F2.2"/> +<node id="Y23H5A.5"/> +<node id="C13F10.7"/> +<node id="C03A7.13"/> +<node id="F42H10.6"/> +<node id="C15B12.6"/> +<node id="F39G3.5"/> +<node id="T07C4.3"/> +<node id="Y57A10A.25"/> +<node id="T24H7.4"/> +<node id="ZK270.2"/> +<node id="C27A2.5"/> +<node id="F47F6.1"/> +<node id="T07F8.3"/> +<node id="Y71H2B.10"/> +<node id="Y37E3.7"/> +<node id="F07F6.8"/> +<node id="ZK930.3"/> +<node id="Y50E8A.9"/> +<node id="R03D7.1"/> +<node id="T03G11.6"/> +<node id="F10G7.9"/> +<node id="Y39G10AR.13"/> +<node id="T10H9.3"/> +<node id="ZK632.7"/> +<node id="C38D4.9"/> +<node id="C03C10.3"/> +<node id="ZK632.6"/> +<node id="H15N14.2"/> +<node id="ZK121.2"/> +<node id="T22F7.3"/> +<node id="Y17G7B.14"/> +<node id="W07B8.3"/> +<node id="H02I12.5"/> +<node id="C17H12.1"/> +<node id="C34B7.3"/> +<node id="C47C12.3"/> +<node id="R06B10.4"/> +<node id="K07A9.2"/> +<node id="C15C7.2"/> +<node id="R06B9.3"/> +<node id="ZK673.7"/> +<node id="Y105E8B.1"/> +<node id="C34B2.2"/> +<node id="F53A9.2"/> +<node id="K04G2.6"/> +<node id="C39E9.11"/> +<node id="F25H9.6"/> +<node id="C45G9.7"/> +<node id="F54B11.6"/> +<node id="W03G1.5"/> +<node id="C36B1.5"/> +<node id="Y56A3A.13"/> +<node id="F38E11.2"/> +<node id="C40H1.6"/> +<node id="T05H4.14"/> +<node id="R11G1.3"/> +<node id="K08H2.6"/> +<node id="C02F12.4"/> +<node id="C49H3.11"/> +<node id="F09F7.8"/> +<node id="Y102E9.2"/> +<node id="Y87G2A.3"/> +<node id="C28H8.9"/> +<node id="F44A6.2"/> +<node id="F35H8.5"/> +<node id="C14F11.4"/> +<node id="R07E4.6"/> +<node id="F56F3.5"/> +<node id="F13H6.3"/> +<node id="T28A8.3"/> +<node id="F14D12.2"/> +<node id="F28E10.1"/> +<node id="C14B9.6"/> +<node id="B0393.2"/> +<node id="ZK1248.10"/> +<node id="F20G4.3"/> +<node id="C14B9.4"/> +<node id="Y47D3B.9"/> +<node id="T13H5.4"/> +<node id="B0218.3"/> +<node id="F42C5.10"/> +<node id="Y71H10A.2"/> +<node id="C23G10.8"/> +<node id="F44E7.8"/> +<node id="T07A9.3"/> +<node id="F23B12.3"/> +<node id="K12H6.7"/> +<node id="F10C1.7"/> +<node id="D1053.1"/> +<node id="T08G5.5"/> +<node id="ZK512.5"/> +<node id="B0454.1"/> +<node id="T01B7.8"/> +<node id="ZK381.4"/> +<node id="Y94H6A.9"/> +<node id="R144.10"/> +<node id="F31C3.2"/> +<node id="ZK1240.9"/> +<node id="C07E3.6"/> +<node id="T21C9.4"/> +<node id="F52E1.13"/> +<node id="Y110A7A.13"/> +<node id="F37C12.11"/> +<node id="ZK899.5"/> +<node id="F32G8.6"/> +<node id="ZK666.8"/> +<node id="B0464.5"/> +<node id="C23H5.8"/> +<node id="C27B7.1"/> +<node id="ZK632.12"/> +<node id="ZC455.1"/> +<node id="Y51H1A.4"/> +<node id="F38A6.1"/> +<node id="F54F2.5"/> +<node id="F44D12.1"/> +<node id="M01E5.2"/> +<node id="T01D1.6"/> +<node id="F40F9.1"/> +<node id="F44C8.7"/> +<node id="C54F6.14"/> +<node id="K02B9.2"/> +<node id="C45G3.1"/> +<node id="F58A4.8"/> +<node id="C47E8.5"/> +<node id="F20D1.1"/> +<node id="F25B3.3"/> +<node id="T07C4.1"/> +<node id="F20B10.3"/> +<node id="F38H4.9"/> +<node id="F25H2.10"/> +<node id="F20C5.6"/> +<node id="ZC434.8"/> +<node id="Y51H4A.17"/> +<node id="Y37H9A.3"/> +<node id="F49E2.2"/> +<node id="R08D7.3"/> +<node id="LOCUSA"/> +<node id="T03F6.3"/> +<node id="C10G6.1"/> +<node id="D2013.2"/> +<node id="F57B10.10"/> +<node id="T12G3.1"/> +<node id="F23F1.5"/> +<node id="ZK662.3"/> +<node id="F26F12.1"/> +<node id="ZC239.15"/> +<node id="T09B4.9"/> +<node id="C18B2.5"/> +<node id="Y39G10AR.12"/> +<node id="C56C10.8"/> +<node id="F56H11.1"/> +<node id="F08G2.5"/> +<node id="Y53H1A.1"/> +<node id="T21B4.15"/> +<node id="C23G10.3"/> +<node id="F01F1.12"/> +<node id="R107.5"/> +<node id="F35C5.7"/> +<node id="C33G8.6"/> +<node id="T16G1.11"/> +<node id="T01B11.3"/> +<node id="D1022.8"/> +<node id="R102.5"/> +<node id="R05D3.7"/> +<node id="Y65B4A.7"/> +<node id="C45E5.6"/> +<node id="K08A8.1"/> +<node id="F27D4.5"/> +<node id="F08B6.4"/> +<node id="Y56A3A.21"/> +<node id="Y75B8A.14"/> +<node id="F56A3.4"/> +<node id="Y105C5A.1"/> +<node id="Y46G5A.10"/> +<node id="F45E1.7"/> +<node id="F40F12.7"/> +<node id="F43G9.11"/> +<edge source="F30H5.3" target="ZK1067.7"/> +<edge source="F30H5.3" target="F35A5.3"/> +<edge source="C14B9.7" target="R06F6.12"/> +<edge source="C09G1.1" target="T05F1.4"/> +<edge source="C09G1.1" target="C14C11.5"/> +<edge source="C09G1.1" target="ZC395.8"/> +<edge source="C09G1.1" target="T27F2.2"/> +<edge source="C09G1.1" target="Y39B6A.11"/> +<edge source="F56C9.1" target="Y32H12A.4"/> +<edge source="F11A10.2" target="W07E6.4"/> +<edge source="K07C11.2" target="W02G9.2"/> +<edge source="K07C11.2" target="Y39G10AR.12"/> +<edge source="K07C11.2" target="R05F9.1"/> +<edge source="C01G5.8" target="F54B11.3"/> +<edge source="C01G5.8" target="K12C11.2"/> +<edge source="T09B9.4" target="W07B3.2"/> +<edge source="K01G5.2" target="Y55F3AM.13"/> +<edge source="F08F8.1" target="F08G2.5"/> +<edge source="C41C4.8" target="F23C8.4"/> +<edge source="C41C4.8" target="F28F8.6"/> +<edge source="R05H5.3" target="Y11D7A.12"/> +<edge source="H05C05.2" target="ZK546.11"/> +<edge source="B0496.7" target="C17H12.1"/> +<edge source="B0496.7" target="B0547.1"/> +<edge source="B0348.6" target="Y18D10A.8"/> +<edge source="T02E1.3" target="W06F12.1"/> +<edge source="Y104H12A.1" target="Y105C5B.13"/> +<edge source="Y104H12A.1" target="ZK131.11"/> +<edge source="B0280.8" target="ZK930.3"/> +<edge source="B0280.8" target="T27F2.3"/> +<edge source="B0280.8" target="M03D4.1"/> +<edge source="B0280.8" target="B0280.8"/> +<edge source="F41G3.14" target="Y63D3A.4"/> +<edge source="ZK849.2" target="ZK849.2"/> +<edge source="C32A3.1" target="C49A1.4"/> +<edge source="B0207.4" target="Y39G10AR.13"/> +<edge source="ZK353.7" target="ZK353.7"/> +<edge source="F47G6.1" target="T04H1.2"/> +<edge source="F47G6.1" target="R04E5.10"/> +<edge source="F47G6.1" target="Y56A3A.13"/> +<edge source="F47G6.1" target="Y48C3A.17"/> +<edge source="F47G6.1" target="Y59A8B.22"/> +<edge source="F47G6.1" target="Y39G10AR.10"/> +<edge source="F47G6.1" target="F59C6.5"/> +<edge source="F47G6.1" target="T27A3.1"/> +<edge source="F47G6.1" target="F59C12.3"/> +<edge source="F47G6.1" target="M6.1"/> +<edge source="F47G6.1" target="W04D2.1"/> +<edge source="T27F2.3" target="Y48E1B.12"/> +<edge source="T27F2.3" target="ZK930.3"/> +<edge source="T27F2.3" target="Y37E11AR.2"/> +<edge source="T24H10.3" target="Y49E10.6"/> +<edge source="E04F6.3" target="E04F6.3"/> +<edge source="C34E11.3" target="T04H1.2"/> +<edge source="R06A4.4" target="T28C12.4"/> +<edge source="R04B5.4" target="W07B3.2"/> +<edge source="C08B11.9" target="K02F2.2"/> +<edge source="F54D10.7" target="T04H1.2"/> +<edge source="F54D10.7" target="K10C3.6"/> +<edge source="F27C8.2" target="T08B2.5"/> +<edge source="F44G4.4" target="F44G4.4"/> +<edge source="F25E2.5" target="R13F6.9"/> +<edge source="C07A12.1" target="C49A1.4"/> +<edge source="C07A12.1" target="Y15E3A.1"/> +<edge source="C07A12.1" target="C18H9.7"/> +<edge source="C35E7.1" target="D2030.6"/> +<edge source="F15D4.2" target="F40F9.1"/> +<edge source="C05D11.10" target="ZK1055.1"/> +<edge source="C05D11.10" target="F49H12.3"/> +<edge source="C05D11.10" target="R01H10.6"/> +<edge source="Y43C5A.6" target="Y43C5A.6"/> +<edge source="F43C1.2" target="R02F2.5"/> +<edge source="F43C1.2" target="W05H7.4"/> +<edge source="F43C1.2" target="T01H8.1"/> +<edge source="F43C1.2" target="F54D5.7"/> +<edge source="F43C1.2" target="T02E1.3"/> +<edge source="F43C1.2" target="K06H6.1"/> +<edge source="F43C1.2" target="F59A2.1"/> +<edge source="F43C1.2" target="Y17G7B.4"/> +<edge source="F43C1.2" target="W02G9.2"/> +<edge source="F43C1.2" target="T27F2.1"/> +<edge source="F43C1.2" target="ZC477.9"/> +<edge source="F18A1.3" target="ZK849.2"/> +<edge source="F18A1.3" target="W06F12.1"/> +<edge source="F18A1.3" target="W07B3.2"/> +<edge source="C06E7.4" target="C14A4.11"/> +<edge source="C06E7.4" target="W06F12.1"/> +<edge source="C06E7.4" target="T04H1.2"/> +<edge source="C06E7.4" target="R12B2.1"/> +<edge source="C06E7.4" target="T17H7.4"/> +<edge source="C06E7.4" target="K09B11.9"/> +<edge source="C06E7.4" target="T11B7.4"/> +<edge source="H06I04.4" target="Y105E8A.11"/> +<edge source="F52B10.1" target="T17H7.4"/> +<edge source="F47B10.2" target="W07B3.2"/> +<edge source="F44B9.8" target="F58F6.4"/> +<edge source="E01A2.1" target="F37B12.2"/> +<edge source="E01A2.1" target="F25H9.6"/> +<edge source="F45B8.3" target="T01D1.6"/> +<edge source="F29C12.1" target="K09B11.9"/> +<edge source="B0286.3" target="B0286.3"/> +<edge source="F53B3.1" target="W06F12.1"/> +<edge source="F53B3.1" target="T04H1.2"/> +<edge source="F53B3.1" target="T26E3.3"/> +<edge source="F57B10.12" target="ZC328.4"/> +<edge source="F57B10.12" target="R02F2.5"/> +<edge source="F57B10.12" target="W10C6.1"/> +<edge source="F57B10.12" target="T01G9.5"/> +<edge source="Y17G7B.11" target="Y65B4BR.4"/> +<edge source="K08H2.8" target="Y77E11A.2"/> +<edge source="F53C11.5" target="T17H7.4"/> +<edge source="F53C11.5" target="W07B3.2"/> +<edge source="F35G2.2" target="H14A12.2"/> +<edge source="F35G2.2" target="F35G2.2"/> +<edge source="EEED8.3" target="Y75B8A.30"/> +<edge source="C36B1.12" target="K01G5.4"/> +<edge source="CC8.1" target="Y71G12B.27"/> +<edge source="CC8.1" target="Y65B4BR.5"/> +<edge source="CC8.1" target="W03G9.4"/> +<edge source="CC8.1" target="D1007.6"/> +<edge source="CC8.1" target="ZK1010.1"/> +<edge source="CC8.1" target="F55B12.3"/> +<edge source="CC8.1" target="Y57A10C.6"/> +<edge source="CC8.1" target="F32E10.4"/> +<edge source="CC8.1" target="F43C1.2"/> +<edge source="H38K22.2" target="R02F2.5"/> +<edge source="C50F2.5" target="R12B2.1"/> +<edge source="C11E4.6" target="R07G3.8"/> +<edge source="AC3.4" target="T23F1.6"/> +<edge source="T07C4.10" target="T26A5.9"/> +<edge source="F01G12.6" target="T17H7.4"/> +<edge source="F01G12.6" target="W07B3.2"/> +<edge source="C18E9.9" target="C40A11.2"/> +<edge source="C04F1.3" target="K08H2.6"/> +<edge source="T01C8.1" target="Y65B4BR.5"/> +<edge source="Y51F10.2" target="Y63D3A.4"/> +<edge source="T04F8.6" target="W07B3.2"/> +<edge source="Y48A6B.9" target="Y63D3A.4"/> +<edge source="Y43F11A.2" target="Y54E5A.1"/> +<edge source="T14G12.4" target="Y75B8A.1"/> +<edge source="R107.4" target="W09H1.6"/> +<edge source="F41B4.1" target="T11B7.4"/> +<edge source="C05C8.6" target="C27B7.4"/> +<edge source="C05C8.6" target="Y7A5A.2"/> +<edge source="C05C8.6" target="Y116F11B.10"/> +<edge source="C05C8.6" target="C05C8.6"/> +<edge source="C05C8.6" target="F37B1.1"/> +<edge source="C05C8.6" target="K04A8.6"/> +<edge source="F55C12.1" target="F56B3.10"/> +<edge source="F55C12.1" target="W07B3.2"/> +<edge source="C02A12.1" target="C54F6.14"/> +<edge source="C02A12.1" target="D1037.3"/> +<edge source="C02A12.1" target="Y105E8B.4"/> +<edge source="C53C7.1" target="F52C6.3"/> +<edge source="C31H1.6" target="D1022.8"/> +<edge source="C31H1.6" target="T04H1.2"/> +<edge source="F42A10.5" target="R08D7.3"/> +<edge source="F36G9.11" target="Y51H4A.8"/> +<edge source="F11G11.2" target="Y75B8A.1"/> +<edge source="F17E9.5" target="Y71H10A.2"/> +<edge source="F17E9.5" target="T03G11.6"/> +<edge source="F17E9.5" target="F36F2.4"/> +<edge source="C10G8.7" target="C49A1.4"/> +<edge source="R11G11.6" target="T17H7.4"/> +<edge source="Y39B6A.1" target="ZK1067.7"/> +<edge source="Y39B6A.1" target="ZK673.7"/> +<edge source="C56C10.9" target="W09H1.6"/> +<edge source="C34G6.2" target="C45G9.7"/> +<edge source="C34G6.2" target="Y17G7B.14"/> +<edge source="D2045.9" target="ZK637.5"/> +<edge source="D2045.9" target="R05F9.10"/> +<edge source="D2045.9" target="F15C11.2"/> +<edge source="C04F12.9" target="C38D4.6"/> +<edge source="C27H6.2" target="T01D1.6"/> +<edge source="K01A6.2" target="Y38F2AL.2"/> +<edge source="C55B7.4" target="F07A5.7"/> +<edge source="C55B7.4" target="Y17G7B.14"/> +<edge source="B0454.8" target="T28A11.11"/> +<edge source="C43C3.1" target="T17H7.4"/> +<edge source="C43C3.1" target="F08C6.3"/> +<edge source="C43C3.1" target="F47G6.1"/> +<edge source="C07E3.1" target="T17H7.4"/> +<edge source="T26A5.9" target="Y38E10A.6"/> +<edge source="F08C6.3" target="T20G5.1"/> +<edge source="F08C6.3" target="T05C12.6"/> +<edge source="F08C6.3" target="R107.5"/> +<edge source="F08C6.3" target="R01B10.4"/> +<edge source="F08C6.3" target="Y17G9B.9"/> +<edge source="F08C6.3" target="T22A3.3"/> +<edge source="F08C6.3" target="T18D3.7"/> +<edge source="F08C6.3" target="F54B11.7"/> +<edge source="F46C5.9" target="Y48G10A.2"/> +<edge source="C48E7.9" target="K08A8.1"/> +<edge source="F41C6.6" target="Y62E10A.16"/> +<edge source="C32D5.9" target="Y87G2A.3"/> +<edge source="C28A5.3" target="F10C1.2"/> +<edge source="R02F11.1" target="ZK721.2"/> +<edge source="R02F11.1" target="T20B3.2"/> +<edge source="R02F11.1" target="T10B11.9"/> +<edge source="R02F11.1" target="R05F9.10"/> +<edge source="F46G10.1" target="Y18D10A.8"/> +<edge source="F46G10.1" target="T04H1.2"/> +<edge source="F33G12.5" target="T17H7.4"/> +<edge source="F33G12.5" target="W07B3.2"/> +<edge source="K03E6.4" target="Y38F2AL.2"/> +<edge source="F35G12.1" target="Y65B4BR.4"/> +<edge source="F13B10.2" target="Y106G6H.14"/> +<edge source="H26D21.1" target="Y41C4A.14"/> +<edge source="T01G9.6" target="T17H7.4"/> +<edge source="T01G9.6" target="W07B3.2"/> +<edge source="F54C9.11" target="T04H1.2"/> +<edge source="F52H3.4" target="T04H1.2"/> +<edge source="F54D5.15" target="T05C12.6"/> +<edge source="F54D5.15" target="T17H7.4"/> +<edge source="F54D5.15" target="W04D2.1"/> +<edge source="F10B5.2" target="K04G2.6"/> +<edge source="F10B5.2" target="R05D3.4"/> +<edge source="F10B5.2" target="F41H10.4"/> +<edge source="C26B2.6" target="W04D2.1"/> +<edge source="C26B2.6" target="C38D4.6"/> +<edge source="F40F12.5" target="M03D4.1"/> +<edge source="F02A9.3" target="M01F1.4"/> +<edge source="M04G12.1" target="ZK849.2"/> +<edge source="M04G12.1" target="T23H4.2"/> +<edge source="M04G12.1" target="T04H1.2"/> +<edge source="M04G12.1" target="Y15E3A.1"/> +<edge source="M04G12.1" target="W07B3.2"/> +<edge source="K11D12.9" target="M03D4.1"/> +<edge source="H04J21.3" target="R06F6.12"/> +<edge source="H04J21.3" target="Y69H2.3"/> +<edge source="F01G10.5" target="T17H7.4"/> +<edge source="F53B1.3" target="T17H7.4"/> +<edge source="F49E8.4" target="Y76A2B.5"/> +<edge source="C16A3.8" target="C48D5.1"/> +<edge source="C16A3.8" target="C38D4.6"/> +<edge source="R08E3.4" target="ZK370.2"/> +<edge source="R08E3.4" target="ZK858.4"/> +<edge source="R08E3.4" target="W07B3.2"/> +<edge source="M117.2" target="Y51H4A.8"/> +<edge source="C35E7.2" target="C49A1.4"/> +<edge source="M01E11.7" target="R09B5.5"/> +<edge source="M01E11.7" target="T17H7.4"/> +<edge source="M01E11.7" target="W04D2.1"/> +<edge source="M01E11.7" target="T11B7.4"/> +<edge source="F45E4.4" target="F47G6.1"/> +<edge source="Y116A8C.35" target="Y92C3B.2"/> +<edge source="T28F4.1" target="ZK546.11"/> +<edge source="B0272.4" target="Y49F6C.3"/> +<edge source="C18C4.10" target="F46C5.9"/> +<edge source="C18C4.10" target="ZK1098.10"/> +<edge source="C18C4.10" target="Y18D10A.11"/> +<edge source="C18C4.10" target="R05D3.7"/> +<edge source="C18C4.10" target="F28E10.1"/> +<edge source="C18C4.10" target="W02B12.8"/> +<edge source="C18C4.10" target="C32E8.1"/> +<edge source="F37B1.2" target="K06A5.8"/> +<edge source="C25E10.8" target="F23C8.4"/> +<edge source="F14B6.3" target="Y106G6H.15"/> +<edge source="F14B6.3" target="F27C1.6"/> +<edge source="F14B6.3" target="Y71G12B.27"/> +<edge source="K10C3.6" target="T26H2.9"/> +<edge source="K10C3.6" target="T09A12.4"/> +<edge source="K10C3.6" target="ZK1037.5"/> +<edge source="K10C3.6" target="Y38E10A.18"/> +<edge source="K10C3.6" target="K11E4.5"/> +<edge source="K10C3.6" target="ZK697.2"/> +<edge source="K10C3.6" target="Y5H2B.2"/> +<edge source="K04F10.4" target="Y39E4A.2"/> +<edge source="C12D8.1" target="ZK643.5"/> +<edge source="C12D8.1" target="Y63D3A.5"/> +<edge source="C12D8.1" target="F36A2.1"/> +<edge source="C12D8.1" target="C25F6.2"/> +<edge source="C12D8.1" target="C16B8.3"/> +<edge source="C12D8.1" target="Y113G7B.23"/> +<edge source="C12D8.1" target="C27B7.4"/> +<edge source="C12D8.1" target="ZK849.2"/> +<edge source="C12D8.1" target="F32A11.6"/> +<edge source="C12D8.1" target="D1046.1"/> +<edge source="C12D8.1" target="ZC513.6"/> +<edge source="F26D11.11" target="W07G1.5"/> +<edge source="F26D11.11" target="Y37E11AR.2"/> +<edge source="F26D11.11" target="T11B7.1"/> +<edge source="F26D11.11" target="F39H12.1"/> +<edge source="F26D11.11" target="F44G3.9"/> +<edge source="F26D11.11" target="Y113G7B.23"/> +<edge source="M01F1.4" target="Y23H5A.4"/> +<edge source="Y69H2.3" target="ZK1067.7"/> +<edge source="Y54E10A.2" target="Y75B8A.30"/> +<edge source="F14D2.12" target="Y62E10A.8"/> +<edge source="R10D12.13" target="T26A5.9"/> +<edge source="F54A5.3" target="K08A8.1"/> +<edge source="F53F10.2" target="W07B3.2"/> +<edge source="F53A3.3" target="T07C4.1"/> +<edge source="C01B7.4" target="C45G9.5"/> +<edge source="Y105E8B.4" target="ZK856.11"/> +<edge source="Y44F5A.1" target="ZK669.4"/> +<edge source="F57B10.11" target="Y94H6A.9"/> +<edge source="F57B10.11" target="Y43F8B.2"/> +<edge source="DY3.2" target="F20C5.2"/> +<edge source="DY3.2" target="T28A11.11"/> +<edge source="DY3.2" target="Y17G7B.15"/> +<edge source="B0523.3" target="ZK381.4"/> +<edge source="K11D9.1" target="Y37E11AR.2"/> +<edge source="K11D9.1" target="T01G1.1"/> +<edge source="K11D9.1" target="W10D9.4"/> +<edge source="K11D9.1" target="T11B7.4"/> +<edge source="K11D9.1" target="M04G12.1"/> +<edge source="F42G9.6" target="Y43C5A.6"/> +<edge source="K01G5.7" target="W06F12.1"/> +<edge source="F38E9.1" target="R07E4.6"/> +<edge source="F52D10.3" target="Y110A7A.17"/> +<edge source="F52D10.3" target="K09B11.9"/> +<edge source="B0336.9" target="F59A2.4"/> +<edge source="B0286.4" target="B0286.4"/> +<edge source="B0286.4" target="C49A1.4"/> +<edge source="B0286.4" target="F44G3.9"/> +<edge source="Y57A10B.6" target="Y59E9AR.3"/> +<edge source="R31.1" target="W09H1.6"/> +<edge source="Y39B6A.37" target="Y71H2B.10"/> +<edge source="T21G5.5" target="T22B2.4"/> +<edge source="F42H10.7" target="K04D7.1"/> +<edge source="F42H10.7" target="T04D1.3"/> +<edge source="F42H10.7" target="H20J04.5"/> +<edge source="F42H10.7" target="ZK1098.4"/> +<edge source="F42H10.7" target="Y57G11C.24"/> +<edge source="F42H10.7" target="K09B11.9"/> +<edge source="F42H10.7" target="W04D2.1"/> +<edge source="C55C3.1" target="T07C4.1"/> +<edge source="C54F6.8" target="F53F10.5"/> +<edge source="C10H11.10" target="K01G5.2"/> +<edge source="C10H11.10" target="M7.2"/> +<edge source="C10H11.10" target="C18C4.10"/> +<edge source="M18.7" target="W07B3.2"/> +<edge source="H20J04.5" target="R151.9"/> +<edge source="H20J04.5" target="Y53F4B.22"/> +<edge source="F26B1.2" target="F46A9.6"/> +<edge source="F26B1.2" target="T21G5.5"/> +<edge source="F26B1.2" target="F59E12.4"/> +<edge source="F26B1.2" target="Y59A8B.10"/> +<edge source="F26B1.2" target="Y48B6A.3"/> +<edge source="C32F10.6" target="Y43B11AR.3"/> +<edge source="C32F10.6" target="T01C8.1"/> +<edge source="C32F10.6" target="Y39A3B.2"/> +<edge source="C32F10.6" target="T23C6.5"/> +<edge source="C32F10.6" target="C35D10.2"/> +<edge source="C32F10.6" target="Y51H4A.8"/> +<edge source="F37A4.9" target="T05C12.6"/> +<edge source="F37A4.9" target="K07C11.2"/> +<edge source="C50E3.13" target="W07B3.2"/> +<edge source="C50E3.13" target="F47G6.1"/> +<edge source="C14B1.2" target="R05F9.10"/> +<edge source="K12H4.7" target="ZK1058.4"/> +<edge source="C39E9.13" target="F31E3.3"/> +<edge source="C23H3.3" target="F30H5.3"/> +<edge source="C23H3.3" target="T21B6.3"/> +<edge source="C23H3.3" target="F29G9.2"/> +<edge source="C23H3.3" target="C55B7.4"/> +<edge source="C23H3.3" target="T22H2.5"/> +<edge source="C23H3.3" target="C37C3.6"/> +<edge source="T22A3.4" target="Y57A10A.8"/> +<edge source="F10C5.2" target="K01G5.4"/> +<edge source="K08E5.3" target="Y39E4A.2"/> +<edge source="F26F4.5" target="T26A5.9"/> +<edge source="C49H3.5" target="ZK858.4"/> +<edge source="C04C3.5" target="Y75B8A.12"/> +<edge source="C04C3.5" target="T07D4.2"/> +<edge source="C04C3.5" target="T16G1.11"/> +<edge source="C04C3.5" target="W07B3.2"/> +<edge source="F13B10.1" target="F13B10.1"/> +<edge source="F13B10.1" target="Y37E11AR.2"/> +<edge source="F13B10.1" target="Y42G9A.1"/> +<edge source="F13B10.1" target="R06A4.4"/> +<edge source="F13B10.1" target="W07E6.4"/> +<edge source="F13B10.1" target="T07A9.3"/> +<edge source="F13B10.1" target="T22A3.4"/> +<edge source="F13B10.1" target="F59A2.6"/> +<edge source="C39D10.7" target="Y50E8A.9"/> +<edge source="C39D10.7" target="R12B2.1"/> +<edge source="C39D10.7" target="F54A5.3"/> +<edge source="C39D10.7" target="ZK849.2"/> +<edge source="C39D10.7" target="K08D10.7"/> +<edge source="C39D10.7" target="Y37D8A.17"/> +<edge source="C39D10.7" target="Y65B4A.7"/> +<edge source="C39D10.7" target="T26A5.9"/> +<edge source="C39D10.7" target="F14F3.1"/> +<edge source="C39D10.7" target="T11B7.4"/> +<edge source="C39D10.7" target="Y17G7B.14"/> +<edge source="T23D8.3" target="W07B3.2"/> +<edge source="C07E3.3" target="W09H1.6"/> +<edge source="T10C6.5" target="Y55F3AM.13"/> +<edge source="C16A11.2" target="T27F2.3"/> +<edge source="K01D12.4" target="T21B6.3"/> +<edge source="F57C2.6" target="T26A5.9"/> +<edge source="Y113G7B.23" target="Y51H4A.8"/> +<edge source="F54B11.3" target="W09H1.6"/> +<edge source="F54B11.3" target="T11B7.4"/> +<edge source="T22G5.2" target="W02G9.2"/> +<edge source="F59B2.3" target="T03F6.3"/> +<edge source="F49H12.3" target="W07B3.2"/> +<edge source="F42G4.3" target="F44A6.2"/> +<edge source="F42A6.9" target="W06F12.1"/> +<edge source="F42A6.9" target="T17H7.4"/> +<edge source="Y51H4A.4" target="ZK909.4"/> +<edge source="M02G9.1" target="T01D1.6"/> +<edge source="M02G9.1" target="R09B5.5"/> +<edge source="H24G06.1" target="W04D2.1"/> +<edge source="F35A5.3" target="T21D12.11"/> +<edge source="F35A5.3" target="K08E7.5"/> +<edge source="F35A5.3" target="F56H11.1"/> +<edge source="Y17G7B.2" target="ZK863.6"/> +<edge source="F29G6.3" target="W09H1.6"/> +<edge source="F29G6.3" target="ZK1067.7"/> +<edge source="F29G6.3" target="T11B7.4"/> +<edge source="F01D5.1" target="T05C12.6"/> +<edge source="C05D9.1" target="Y38C1AA.7"/> +<edge source="C05D9.1" target="F17E9.5"/> +<edge source="C05D9.1" target="W06A7.3"/> +<edge source="C05D9.1" target="D2013.2"/> +<edge source="M7.2" target="R05D3.7"/> +<edge source="F25B5.7" target="F56A8.6"/> +<edge source="C48D5.1" target="Y17G9B.5"/> +<edge source="C48D5.1" target="F33H2.6"/> +<edge source="C48D5.1" target="F52F12.3"/> +<edge source="C48D5.1" target="W07B3.2"/> +<edge source="T28C6.7" target="ZC504.4"/> +<edge source="Y46G5A.31" target="ZK892.7"/> +<edge source="F08F8.10" target="T05C12.6"/> +<edge source="F08F8.10" target="T04H1.2"/> +<edge source="F08F8.10" target="K09B11.9"/> +<edge source="F08F8.10" target="W07B3.2"/> +<edge source="C09G4.3" target="Y73B6A.5"/> +<edge source="C09G4.3" target="F42D1.2"/> +<edge source="C09G4.3" target="ZK1240.2"/> +<edge source="Y46G5A.24" target="Y79H2A.1"/> +<edge source="C15A11.7" target="W08F4.8"/> +<edge source="R06C7.8" target="Y54G9A.6"/> +<edge source="K04D7.2" target="T05C12.6"/> +<edge source="F55C9.11" target="Y47D7A.1"/> +<edge source="ZK353.6" target="ZK353.6"/> +<edge source="T09F3.1" target="W07B3.2"/> +<edge source="F01D4.4" target="K08F11.3"/> +<edge source="Y59E9AR.3" target="Y79H2A.1"/> +<edge source="T01G9.5" target="T01G9.5"/> +<edge source="T01G9.5" target="ZK858.4"/> +<edge source="C53D5.6" target="F35C5.7"/> +<edge source="C53D5.6" target="F32E10.4"/> +<edge source="T07E3.5" target="T11B7.4"/> +<edge source="EEED8.16" target="F35C8.3"/> +<edge source="F36G3.1" target="T05C12.6"/> +<edge source="F36G3.1" target="T17H7.4"/> +<edge source="F36G3.1" target="W07B3.2"/> +<edge source="C06A8.5" target="T17H7.4"/> +<edge source="C06A8.5" target="K09B11.9"/> +<edge source="C06A8.5" target="W07B3.2"/> +<edge source="C29F3.6" target="W07B3.2"/> +<edge source="R01H10.5" target="ZK673.7"/> +<edge source="B0024.14" target="F30H5.3"/> +<edge source="B0024.14" target="T01B7.8"/> +<edge source="B0024.14" target="B0024.14"/> +<edge source="B0024.14" target="T21B6.3"/> +<edge source="B0024.14" target="F48E8.1"/> +<edge source="B0024.14" target="Y69H2.3"/> +<edge source="B0024.14" target="T22H2.5"/> +<edge source="B0024.14" target="H04J21.3"/> +<edge source="B0024.14" target="C34G6.2"/> +<edge source="B0024.14" target="F53A9.2"/> +<edge source="B0024.14" target="K08E7.5"/> +<edge source="B0024.14" target="Y69H2.10"/> +<edge source="B0024.14" target="Y65B4A.7"/> +<edge source="B0024.14" target="B0507.1"/> +<edge source="B0024.14" target="T21D12.11"/> +<edge source="B0024.14" target="F58E6.3"/> +<edge source="B0024.14" target="ZK1067.7"/> +<edge source="B0024.14" target="W03G1.5"/> +<edge source="B0024.14" target="C37C3.6"/> +<edge source="B0024.14" target="F23B12.3"/> +<edge source="B0024.14" target="F54B11.7"/> +<edge source="B0024.14" target="T22F7.3"/> +<edge source="B0024.14" target="C02C2.1"/> +<edge source="B0024.14" target="F43G9.11"/> +<edge source="F56C9.10" target="T01G9.2"/> +<edge source="F42G9.9" target="T08G5.5"/> +<edge source="F42A10.3" target="W02G9.2"/> +<edge source="F42A10.3" target="F54E7.3"/> +<edge source="Y40C5A.1" target="ZK849.2"/> +<edge source="C16C4.4" target="F27C1.6"/> +<edge source="C16C4.4" target="F40F8.8"/> +<edge source="C16C4.4" target="W07B3.2"/> +<edge source="F32D1.1" target="Y41C4A.14"/> +<edge source="F32D1.1" target="K12C11.2"/> +<edge source="F32D1.1" target="T04H1.2"/> +<edge source="F32D1.1" target="F32D1.1"/> +<edge source="F32D1.1" target="W04D2.1"/> +<edge source="C27A2.3" target="Y71G12B.27"/> +<edge source="T06E6.10" target="Y39B6A.1"/> +<edge source="K02B12.4" target="T07D4.2"/> +<edge source="K10B3.9" target="ZC581.1"/> +<edge source="R05F9.1" target="R13F6.9"/> +<edge source="F22B7.13" target="W04D2.1"/> +<edge source="C05C12.4" target="ZK856.11"/> +<edge source="C25A1.4" target="F26B1.2"/> +<edge source="C25A1.4" target="W07B3.2"/> +<edge source="C25A1.4" target="F44G4.4"/> +<edge source="B0511.9" target="F10B5.6"/> +<edge source="C47D12.2" target="T20F10.1"/> +<edge source="C47D12.2" target="M106.4"/> +<edge source="C47D12.2" target="F52E1.13"/> +<edge source="C47D12.2" target="F52C6.2"/> +<edge source="C47D12.2" target="ZK1098.10"/> +<edge source="C47D12.2" target="Y105E8A.1"/> +<edge source="F37C4.5" target="K08D10.8"/> +<edge source="F37C4.5" target="Y51H4A.17"/> +<edge source="F37C4.5" target="T28A11.11"/> +<edge source="F37C4.5" target="Y50E8A.9"/> +<edge source="F37C4.5" target="K08D10.7"/> +<edge source="C45G3.5" target="F58A4.8"/> +<edge source="R09B5.6" target="W02G9.2"/> +<edge source="R09B5.6" target="ZK1307.8"/> +<edge source="F23B12.8" target="F25E2.4"/> +<edge source="C09B8.6" target="Y51H4A.17"/> +<edge source="C09B8.6" target="T28A11.11"/> +<edge source="C09B8.6" target="C44B11.1"/> +<edge source="C33E10.10" target="F35H8.5"/> +<edge source="C05D2.4" target="F07H5.2"/> +<edge source="C35D10.2" target="Y75B8A.1"/> +<edge source="M02D8.1" target="T28A11.11"/> +<edge source="B0513.1" target="C49A1.4"/> +<edge source="B0513.1" target="F14F3.1"/> +<edge source="W06D4.6" target="ZK1067.3"/> +<edge source="C04C3.3" target="Y39E4A.3"/> +<edge source="C04C3.3" target="ZK892.7"/> +<edge source="C17G10.9" target="T16G1.11"/> +<edge source="C07H6.5" target="W05H7.4"/> +<edge source="C07H6.5" target="D1054.9"/> +<edge source="C07H6.5" target="R05D11.8"/> +<edge source="C07H6.5" target="F52E1.7"/> +<edge source="C07H6.5" target="C27F2.8"/> +<edge source="K04H4.1" target="T11B7.4"/> +<edge source="B0041.2" target="T17H7.4"/> +<edge source="B0041.2" target="W07B3.2"/> +<edge source="F35G12.9" target="K06H7.6"/> +<edge source="F35G12.9" target="F56H11.1"/> +<edge source="F35G12.9" target="Y69H2.3"/> +<edge source="C30B5.1" target="Y41C4A.14"/> +<edge source="F53G12.10" target="R09B5.5"/> +<edge source="T05G5.6" target="ZK1098.5"/> +<edge source="T05G5.6" target="Y55F3AM.10"/> +<edge source="R07B7.2" target="T26A5.9"/> +<edge source="C02B10.5" target="C49A1.4"/> +<edge source="C02B10.5" target="F14F3.1"/> +<edge source="R144.9" target="ZK970.3"/> +<edge source="F19B6.2" target="F59E12.5"/> +<edge source="F19B6.2" target="F59E12.4"/> +<edge source="K01G5.4" target="Y38A10A.5"/> +<edge source="K01G5.4" target="T24F1.2"/> +<edge source="K07D8.1" target="Y39E4A.2"/> +<edge source="T22A3.3" target="ZK849.2"/> +<edge source="T22A3.3" target="Y65B4A.7"/> +<edge source="T22A3.3" target="W03D8.8"/> +<edge source="C06G3.6" target="T05C12.6"/> +<edge source="C06G3.6" target="PAR2.1"/> +<edge source="C06G3.6" target="F46G11.1"/> +<edge source="C06G3.6" target="T04H1.2"/> +<edge source="C06G3.6" target="W04D2.1"/> +<edge source="C27H5.2" target="F44G3.9"/> +<edge source="R12B2.4" target="W01B6.9"/> +<edge source="C34E10.6" target="Y110A7A.10"/> +<edge source="T22D2.1" target="ZK849.2"/> +<edge source="F56A8.6" target="W05H7.4"/> +<edge source="C33G8.4" target="Y17G7B.11"/> +<edge source="C28D4.3" target="M01E5.2"/> +<edge source="M18.5" target="R11D1.1"/> +<edge source="C08B11.7" target="C56G2.7"/> +<edge source="M04F3.1" target="T20G5.1"/> +<edge source="M04F3.1" target="Y62E10A.8"/> +<edge source="F19B10.1" target="ZK858.4"/> +<edge source="B0024.1" target="W07B3.2"/> +<edge source="R186.5" target="Y18D10A.8"/> +<edge source="C37C3.6" target="ZK1067.7"/> +<edge source="C37C3.6" target="F35A5.3"/> +<edge source="C37C3.6" target="Y17G7B.14"/> +<edge source="C37C3.6" target="T23F1.6"/> +<edge source="T08E11.4" target="W04D2.1"/> +<edge source="F13H10.1" target="Y79H2A.1"/> +<edge source="F13H10.1" target="Y71G12B.11"/> +<edge source="C26B2.3" target="F12F6.5"/> +<edge source="C26B2.3" target="T12D8.7"/> +<edge source="C26B2.3" target="T26A5.9"/> +<edge source="C26B2.3" target="W07B3.2"/> +<edge source="F18E2.3" target="W02A2.6"/> +<edge source="C37E2.1" target="F43G9.1"/> +<edge source="T28A11.11" target="ZK836.1"/> +<edge source="C34C6.7" target="M01E11.2"/> +<edge source="T20H4.4" target="VW02B1... [truncated message content] |
From: <bh...@us...> - 2007-03-01 16:25:22
|
Revision: 368 http://svn.sourceforge.net/cishell/?rev=368&view=rev Author: bh2 Date: 2007-03-01 08:25:17 -0800 (Thu, 01 Mar 2007) Log Message: ----------- CIShell version bump to 0.4.0 Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF trunk/core/org.cishell.reference/META-INF/MANIFEST.MF trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml trunk/deployment/org.cishell.reference.feature/feature.xml trunk/deployment/org.cishell.reference.gui.feature/feature.xml Modified: trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Branding Plug-in Bundle-SymbolicName: org.cishell.reference.gui.brand.cishell;singleton:=true -Bundle-Version: 0.3.0 +Bundle-Version: 0.4.0 Bundle-Activator: org.cishell.reference.gui.brand.cishell.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, Modified: trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: GUI Builder Reference Implementation Using SWT Bundle-SymbolicName: org.cishell.reference.gui.guibuilder.swt -Bundle-Version: 0.3.0 +Bundle-Version: 0.4.0 Bundle-Localization: plugin Import-Package: org.cishell.framework, org.cishell.service.guibuilder, Modified: trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Menu Manager Plug-in Bundle-SymbolicName: org.cishell.reference.gui.menumanager;singleton:=true -Bundle-Version: 0.3.0 +Bundle-Version: 0.4.0 Bundle-Activator: org.cishell.reference.gui.menumanager.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Scheduler GUI Plug-in Bundle-SymbolicName: org.cishell.reference.gui.scheduler;singleton:=true -Bundle-Version: 0.3.0 +Bundle-Version: 0.4.0 Bundle-Activator: org.cishell.reference.gui.scheduler.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, Modified: trunk/core/org.cishell.reference/META-INF/MANIFEST.MF =================================================================== --- trunk/core/org.cishell.reference/META-INF/MANIFEST.MF 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/core/org.cishell.reference/META-INF/MANIFEST.MF 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Reference Service Implementations Bundle-SymbolicName: org.cishell.reference -Bundle-Version: 0.3.0 +Bundle-Version: 0.4.0 Bundle-Localization: plugin Import-Package: org.cishell.app.service.datamanager, org.cishell.app.service.scheduler, Modified: trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ <feature id="org.cishell.algorithm.examples.feature" label="CIShell Sample Algorithms" - version="0.3.0"> + version="0.4.0"> <description> Example algorithms for development and testing of CIShell. @@ -121,13 +121,6 @@ unpack="false"/> <plugin - id="edu.iu.nwb.converter.junggraphml" - download-size="0" - install-size="0" - version="0.0.0" - unpack="false"/> - - <plugin id="edu.iu.nwb.converter.jungpajeknet" download-size="0" install-size="0" @@ -210,4 +203,25 @@ version="0.0.0" unpack="false"/> + <plugin + id="edu.iu.nwb.converter.prefusegraphml" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="edu.iu.nwb.converter.prefusetreeml" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="edu.iu.nwb.converter.treegraph" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + </feature> Modified: trunk/deployment/org.cishell.reference.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.reference.feature/feature.xml 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/deployment/org.cishell.reference.feature/feature.xml 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ <feature id="org.cishell.reference.feature" label="CIShell Reference Bundles" - version="0.3.0"> + version="0.4.0"> <description url="http://cishell.org"> CIShell Reference Bundles Modified: trunk/deployment/org.cishell.reference.gui.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.reference.gui.feature/feature.xml 2007-02-22 20:36:54 UTC (rev 367) +++ trunk/deployment/org.cishell.reference.gui.feature/feature.xml 2007-03-01 16:25:17 UTC (rev 368) @@ -2,7 +2,7 @@ <feature id="org.cishell.reference.gui.feature" label="CIShell Reference GUI" - version="0.3.0"> + version="0.4.0"> <description url="http://cishell.org"> CIShell Reference GUI This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 367 http://svn.sourceforge.net/cishell/?rev=367&view=rev Author: fugu13 Date: 2007-02-22 12:36:54 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Modifying StringComponent to provide for dropdown lists. This is not entirely satisfying, but seems superior to the other options for now, requiring changes only in this class and allowing everything else to remain unconcerned. Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/src/org/cishell/reference/gui/guibuilder/swt/builder/components/StringComponent.java Modified: trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/src/org/cishell/reference/gui/guibuilder/swt/builder/components/StringComponent.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/src/org/cishell/reference/gui/guibuilder/swt/builder/components/StringComponent.java 2007-02-22 20:34:23 UTC (rev 366) +++ trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/src/org/cishell/reference/gui/guibuilder/swt/builder/components/StringComponent.java 2007-02-22 20:36:54 UTC (rev 367) @@ -18,9 +18,13 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.List; import org.eclipse.swt.widgets.Text; /** @@ -29,6 +33,8 @@ */ public class StringComponent extends AbstractComponent { protected Text text; + protected Combo combo; + protected String[] optionValues; public StringComponent() { this(false, 1); @@ -39,34 +45,71 @@ } public Control createGUI(Composite parent, int style) { - text = new Text(parent, style | SWT.BORDER); + + GridData gd = new GridData(SWT.FILL,SWT.CENTER,true,false); + gd.horizontalSpan = MAX_SPAN-1; + gd.minimumWidth = 100; + + optionValues = attr.getOptionValues(); + if(optionValues != null) { + combo = new Combo(parent, style | SWT.DROP_DOWN | SWT.READ_ONLY); + + String[] optionLabels = attr.getOptionLabels(); + if(optionLabels == null) { + combo.setItems(optionValues); + } else { + combo.setItems(optionLabels); + } + + combo.select(0); + + combo.setLayoutData(gd); + + combo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent event) { + update(); + } + }); + + return combo; + } else { + text = new Text(parent, style | SWT.BORDER); + text.setLayoutData(gd); - GridData gd = new GridData(SWT.FILL,SWT.CENTER,true,false); - gd.horizontalSpan = MAX_SPAN-1; - gd.minimumWidth = 100; - text.setLayoutData(gd); + text.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + update(); + } + }); - text.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - update(); - } - }); - - return text; + return text; + } } public Object getValue() { - Object value = StringConverter.getInstance().stringToObject(attr, text.getText()); + Object value; + if(combo == null) { + value = StringConverter.getInstance().stringToObject(attr, text.getText()); + } else { + value = StringConverter.getInstance().stringToObject(attr, getListValue()); + } return value; } - public String validate() { + private String getListValue() { + return optionValues[combo.getSelectionIndex()]; + } + + public String validate() { if (getValue() == null) { return "Invalid basic value"; } - - return attr.validate(text.getText()); + if(combo == null) { + return attr.validate(text.getText()); + } else { + return attr.validate(getListValue()); + } } public void setValue(Object value) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2007-02-22 20:34:25
|
Revision: 366 http://svn.sourceforge.net/cishell/?rev=366&view=rev Author: fugu13 Date: 2007-02-22 12:34:23 -0800 (Thu, 22 Feb 2007) Log Message: ----------- Adding a reference implementation of MetaTypeProvider and closely associated classes to allow algorithms to return custom parameter lists. Modified Paths: -------------- trunk/core/org.cishell.reference/META-INF/MANIFEST.MF Added Paths: ----------- trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/ trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AbstractAttributeValueValidator.java trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AttributeValueValidator.java trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicAttributeDefinition.java trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicMetaTypeProvider.java trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicObjectClassDefinition.java Modified: trunk/core/org.cishell.reference/META-INF/MANIFEST.MF =================================================================== --- trunk/core/org.cishell.reference/META-INF/MANIFEST.MF 2007-02-21 16:26:00 UTC (rev 365) +++ trunk/core/org.cishell.reference/META-INF/MANIFEST.MF 2007-02-22 20:34:23 UTC (rev 366) @@ -17,6 +17,7 @@ org.osgi.service.prefs Export-Package: org.cishell.reference.app.service.datamanager, org.cishell.reference.app.service.scheduler, - org.cishell.reference.service.conversion + org.cishell.reference.service.conversion, + org.cishell.reference.service.metatype Eclipse-LazyStart: true Require-Bundle: edu.uci.ics.jung Added: trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AbstractAttributeValueValidator.java =================================================================== --- trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AbstractAttributeValueValidator.java (rev 0) +++ trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AbstractAttributeValueValidator.java 2007-02-22 20:34:23 UTC (rev 366) @@ -0,0 +1,11 @@ +package org.cishell.reference.service.metatype; + +public abstract class AbstractAttributeValueValidator implements + AttributeValueValidator { + + public String validate(String value) { + // indicates no validation needed/done + return null; + } + +} Added: trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AttributeValueValidator.java =================================================================== --- trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AttributeValueValidator.java (rev 0) +++ trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/AttributeValueValidator.java 2007-02-22 20:34:23 UTC (rev 366) @@ -0,0 +1,5 @@ +package org.cishell.reference.service.metatype; + +public interface AttributeValueValidator { + public String validate(String value); +} Added: trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicAttributeDefinition.java =================================================================== --- trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicAttributeDefinition.java (rev 0) +++ trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicAttributeDefinition.java 2007-02-22 20:34:23 UTC (rev 366) @@ -0,0 +1,91 @@ +package org.cishell.reference.service.metatype; + +import org.osgi.service.metatype.AttributeDefinition; + +public class BasicAttributeDefinition implements AttributeDefinition { + + private String id; + private String name; + private String description; + private int type; + private int cardinality; + private String[] defaultValue; + private AttributeValueValidator validator; + private String[] optionLabels; + private String[] optionValues; + + public BasicAttributeDefinition(String id, String name, String description, int type, int cardinality, String[] defaultValue, AttributeValueValidator validator, String[] optionLabels, String[] optionValues) { + this.id = id; + this.name = name; + this.description = description; + this.type = type; + this.cardinality = cardinality; + this.defaultValue = defaultValue; + + if(validator == null) { + this.validator = new AbstractAttributeValueValidator(){}; + } else { + this.validator = validator; + } + + this.optionLabels = optionLabels; + this.optionValues = optionValues; + } + + public BasicAttributeDefinition(String id, String name, String description, int type) { + this(id, name, description, type, 0, null, null, null, null); + } + + public BasicAttributeDefinition(String id, String name, String description, int type, int cardinality, String[] defaultValue) { + this(id, name, description, type, cardinality, defaultValue, null, null, null); + } + + public BasicAttributeDefinition(String id, String name, String description, int type, String defaultValue) { + this(id, name, description, type, 0, new String[]{defaultValue}); + } + + public BasicAttributeDefinition(String id, String name, String description, int type, int cardinality) { + this(id, name, description, type, cardinality, null, null, null, null); + } + + public BasicAttributeDefinition(String id, String name, String description, int type, String[] optionLabels, String[] optionValues) { + this(id, name, description, type, 0, null, null, optionLabels, optionValues); + } + + public int getCardinality() { + return cardinality; + } + + public String[] getDefaultValue() { + return defaultValue; + } + + public String getDescription() { + return description; + } + + public String getID() { + return id; + } + + public String getName() { + return name; + } + + public String[] getOptionLabels() { + return optionLabels; + } + + public String[] getOptionValues() { + return optionValues; + } + + public int getType() { + return type; + } + + public String validate(String value) { + return validator.validate(value); + } + +} Added: trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicMetaTypeProvider.java =================================================================== --- trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicMetaTypeProvider.java (rev 0) +++ trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicMetaTypeProvider.java 2007-02-22 20:34:23 UTC (rev 366) @@ -0,0 +1,24 @@ +package org.cishell.reference.service.metatype; + +import org.osgi.service.metatype.MetaTypeProvider; +import org.osgi.service.metatype.ObjectClassDefinition; + +public class BasicMetaTypeProvider implements MetaTypeProvider { + + private ObjectClassDefinition definition; + + public BasicMetaTypeProvider(ObjectClassDefinition definition) { + this.definition = definition; + } + + public String[] getLocales() { + // We support no locale specific localizations, which is indicated by returning null + return null; + } + + public ObjectClassDefinition getObjectClassDefinition(String arg0, + String arg1) { + return definition; + } + +} Added: trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicObjectClassDefinition.java =================================================================== --- trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicObjectClassDefinition.java (rev 0) +++ trunk/core/org.cishell.reference/src/org/cishell/reference/service/metatype/BasicObjectClassDefinition.java 2007-02-22 20:34:23 UTC (rev 366) @@ -0,0 +1,78 @@ +package org.cishell.reference.service.metatype; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import org.osgi.service.metatype.AttributeDefinition; +import org.osgi.service.metatype.ObjectClassDefinition; + +public class BasicObjectClassDefinition implements ObjectClassDefinition { + + List attributeDefinitionsOptional = new ArrayList(); + List attributeDefinitionsRequired = new ArrayList(); + private String ID; + private String name; + private String description; + private InputStream icon; + + public BasicObjectClassDefinition(String ID, String name, String description, InputStream icon) { + this.ID = ID; + this.name = name; + this.description = description; + this.icon = icon; + } + + public void addAttributeDefinition(int flag, AttributeDefinition definition) { + if(flag == REQUIRED) { + this.attributeDefinitionsRequired.add(definition); + } else if(flag == OPTIONAL) { + this.attributeDefinitionsOptional.add(definition); + } + } + + + public AttributeDefinition[] getAttributeDefinitions(int flag) { + + List results = new ArrayList(); + + if(flag == REQUIRED || flag == ALL) { + results.addAll(this.attributeDefinitionsRequired); + } + + if(flag == OPTIONAL || flag == ALL) { + results.addAll(this.attributeDefinitionsOptional); + + } + + return makeArray(results); + } + + private AttributeDefinition[] makeArray(List definitions) { + AttributeDefinition[] result = new AttributeDefinition[definitions.size()]; + + for(int ii = 0; ii < definitions.size(); ii++) { + result[ii] = (AttributeDefinition) definitions.get(ii); + } + + return result; + } + + public String getDescription() { + return description; + } + + public String getID() { + return ID; + } + + public InputStream getIcon(int arg0) throws IOException { + return icon; + } + + public String getName() { + return name; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2007-02-21 16:26:27
|
Revision: 365 http://svn.sourceforge.net/cishell/?rev=365&view=rev Author: fugu13 Date: 2007-02-21 08:26:00 -0800 (Wed, 21 Feb 2007) Log Message: ----------- Now algorithms don't ask for parameters until after data conversion, meaning parameters can be data-dependent. This also means 'canceled' algorithms show up in the scheduler, but we just need to add a way to indicate an algorithm was canceled. Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java Modified: trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java 2007-01-22 22:23:02 UTC (rev 364) +++ trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmAction.java 2007-02-21 16:26:00 UTC (rev 365) @@ -79,23 +79,14 @@ SchedulerService scheduler = (SchedulerService) bContext.getService(bContext.getServiceReference( SchedulerService.class.getName())); - GUIBuilderService builder = (GUIBuilderService) - ciContext.getService(GUIBuilderService.class.getName()); - AlgorithmFactory factory = (AlgorithmFactory) bContext.getService(ref); - MetaTypeProvider provider = factory.createParameters(null); - String pid = (String)ref.getProperty(Constants.SERVICE_PID); printAlgorithmInformation(); - Dictionary params = new Hashtable(); - if (provider != null) { - params = builder.createGUIandWait(pid, provider); - } - if (params != null) { - scheduler.schedule(new AlgorithmWrapper(ref, bContext, ciContext, originalData, data, converters, provider, params), ref); - } + + + scheduler.schedule(new AlgorithmWrapper(ref, bContext, ciContext, originalData, data, converters), ref); } catch (Throwable e) { e.printStackTrace(); } Modified: trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java 2007-01-22 22:23:02 UTC (rev 364) +++ trunk/clients/gui/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/AlgorithmWrapper.java 2007-02-21 16:26:00 UTC (rev 365) @@ -17,6 +17,7 @@ import java.util.Dictionary; import java.util.Enumeration; import java.util.HashMap; +import java.util.Hashtable; import java.util.List; import java.util.Map; @@ -55,21 +56,18 @@ public AlgorithmWrapper(ServiceReference ref, BundleContext bContext, CIShellContext ciContext, Data[] originalData, Data[] data, - Converter[][] converters, MetaTypeProvider provider, - Dictionary parameters) { + Converter[][] converters) { this.ref = ref; this.bContext = bContext; this.ciContext = ciContext; this.originalData = originalData; this.data = data; this.converters = converters; - this.parameters = parameters; - this.provider = provider; + this.idToLabelMap = new HashMap(); this.progressMonitor = null; - AlgorithmFactory factory = (AlgorithmFactory) bContext.getService(ref); - algorithm = factory.createAlgorithm(data, parameters, ciContext); + } /** @@ -83,7 +81,25 @@ converters[i] = null; } } - + + GUIBuilderService builder = (GUIBuilderService) + ciContext.getService(GUIBuilderService.class.getName()); + + AlgorithmFactory factory = (AlgorithmFactory) bContext.getService(ref); + this.provider = factory.createParameters(data); + String pid = (String)ref.getProperty(Constants.SERVICE_PID); + + this.parameters = new Hashtable(); + if (provider != null) { + this.parameters = builder.createGUIandWait(pid, provider); + } + + if(this.parameters == null) { + return new Data[0]; + } + + algorithm = factory.createAlgorithm(data, parameters, ciContext); + printParameters(); if (progressMonitor != null && algorithm instanceof ProgressTrackable) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fu...@us...> - 2007-01-22 22:23:16
|
Revision: 364 http://svn.sourceforge.net/cishell/?rev=364&view=rev Author: fugu13 Date: 2007-01-22 14:23:02 -0800 (Mon, 22 Jan 2007) Log Message: ----------- Real graphml files, made by loading xgmml, then converting saving out using the prefuse graphml writer. Some artifacts, likely due to converting through Jung, but its legal graphml and has all the desired attributes. Modified Paths: -------------- trunk/deployment/cishell-installer/sampledata/Network/friendster.graphml.xml trunk/deployment/cishell-installer/sampledata/Network/terror.graphml.xml Modified: trunk/deployment/cishell-installer/sampledata/Network/friendster.graphml.xml =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/friendster.graphml.xml 2006-12-21 22:23:48 UTC (rev 363) +++ trunk/deployment/cishell-installer/sampledata/Network/friendster.graphml.xml 2007-01-22 22:23:02 UTC (rev 364) @@ -1,331 +1,1178 @@ <?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns/graphml" -xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns/graphml"> -<graph edgedefault="undirected"> -<!-- me --> -<node id="1" label="Jeff"></node> -<!-- my friends --> -<node id="2" label="Ed"></node> -<node id="3" label="Christiaan"></node> -<node id="4" label="Emily"></node> -<node id="5" label="Adam"></node> -<node id="6" label="Cynthia"></node> -<node id="7" label="Joylette"></node> -<node id="8" label="Amanda"></node> -<node id="9" label="Nathaniel"></node> -<node id="10" label="Bryan"></node> -<node id="11" label="Tamara"></node> -<node id="12" label="Ashley"></node> -<node id="13" label="Ryan"></node> -<node id="14" label="Alan"></node> -<node id="15" label="Chris"></node> -<node id="16" label="Holly"></node> -<node id="17" label="Patrick"></node><!-- baudisch --> -<node id="18" label="Fernando"></node> -<node id="19" label="Corey"></node> -<node id="20" label="Ben"></node> -<node id="21" label="Non"></node> -<!-- friends of friends --> -<node id="22" label="John"></node> -<node id="23" label="Calvin"></node> -<node id="24" label="Stephanie"></node> -<node id="25" label="John"></node> -<node id="26" label="Parker"></node> -<node id="27" label="Patrick"></node><!-- em's friend --> -<node id="28" label="Marian"></node> -<node id="29" label="Robert"></node><!-- amanda's friend --> -<node id="30" label="Patrick"></node><!-- amanda's friend --> -<node id="31" label="Sam"></node> -<node id="32" label="Bob"></node> -<node id="33" label="Katie"></node> -<node id="34" label="Chako"></node> -<!-- through alan --> -<node id="35" label="Diana"></node> -<node id="36" label="Record Camp"></node> -<node id="37" label="Chuck"></node> -<node id="38" label="Micah"></node> -<node id="39" label="SuperGiggleB"></node> -<node id="40" label="Dan"></node> -<node id="41" label="Ida"></node> -<node id="42" label="Wen-Ting"></node> -<node id="43" label="Nina"></node> -<node id="44" label="Rion"></node> -<node id="45" label="Otomi"></node> -<node id="46" label="Ed"></node> -<node id="47" label="Red"></node> -<!-- through chris --> -<node id="48" label="Scott"></node> -<node id="49" label="Andrew"></node> -<node id="50" label="Emily"></node> -<node id="51" label="Robin"></node> -<node id="52" label="Ken"></node> -<node id="53" label="Michael"></node> -<node id="54" label="Jon"></node> -<node id="55" label="Josh"></node> -<node id="56" label="Matthew"></node> -<node id="57" label="Casey"></node> -<node id="58" label="Christopher"></node> -<node id="59" label="Stephen"></node> -<node id="60" label="Kenji"></node> -<node id="61" label="Richard"></node> -<node id="62" label="Matthew"></node> -<node id="63" label="David"></node> -<node id="64" label="Phil"></node> -<node id="65" label="David"></node> -<!-- through holly --> -<node id="66" label="Pete"></node> -<node id="67" label="Jeremy"></node> -<!-- through patrick (baudisch) --> -<node id="68" label="Daniel"></node> -<node id="69" label="Sumit"></node> -<!-- through fernando --> -<node id="70" label="Shane"></node> -<node id="71" label="Rikard"></node> -<node id="72" label="David"></node> -<node id="73" label="Justin"></node> -<node id="74" label="Shane"></node> -<node id="75" label="Micaela"></node> -<node id="76" label="Steven"></node> -<node id="77" label="Matt"></node> -<node id="78" label="Jory"></node> -<node id="79" label="Alexander"></node> -<node id="80" label="Jason"></node> -<node id="81" label="JohnAnthony"></node> -<!-- through ben --> -<node id="82" label="Dorothy"></node> -<node id="83" label="Nels"></node> -<node id="84" label="Rania"></node> -<node id="85" label="Michael"></node> -<node id="86" label="Evan"></node> -<node id="87" label="Joanna"></node> -<node id="88" label="sistah"></node> -<node id="89" label="Meredith"></node> -<node id="90" label="Eric"></node> -<node id="91" label="John"></node> -<node id="92" label="ryan"></node> -<node id="93" label="Eric"></node> -<node id="94" label="Jay"></node> -<node id="95" label="rumi"></node> -<node id="96" label="justin"></node> -<node id="97" label="Julij"></node> -<node id="98" label="beverly"></node> -<node id="99" label="Jai Young"></node> -<node id="100" label="spot"></node> -<node id="101" label="Tammy"></node> -<node id="102" label="Michael"></node> -<node id="103" label="jennifer"></node> -<node id="104" label="Brent"></node> -<node id="105" label="Lanha souris"></node> -<node id="106" label="dan"></node> -<node id="107" label="jeremy"></node> -<node id="108" label="Jim"></node> -<node id="109" label="steph"></node> -<node id="110" label="Jane"></node> -<node id="111" label="Justin"></node> -<node id="112" label="Kevin"></node> -<node id="113" label="Matt"></node> -<node id="114" label="Judith"></node> -<node id="115" label="Alexander"></node> -<node id="116" label="Caterina"></node> -<node id="117" label="Jesse James"></node> -<node id="118" label="Tom"></node> -<node id="119" label="Stewart"></node> -<node id="120" label="Meg"></node> -<node id="121" label="Matt"></node> -<node id="122" label="Anil"></node> -<!-- through non --> -<node id="123" label="Scott"></node> -<node id="124" label="Steve"></node> -<node id="125" label="kris"></node> -<node id="126" label="Bill"></node> -<node id="127" label="Xz"></node> -<node id="128" label="David"></node> -<node id="129" label="Zephoria"></node> +<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"> -<!-- edges --> -<edge label="" source="1" target="2"></edge> -<edge label="" source="1" target="3"></edge> -<edge label="" source="1" target="4"></edge> -<edge label="" source="1" target="5"></edge> -<edge label="" source="1" target="6"></edge> -<edge label="" source="1" target="7"></edge> -<edge label="" source="1" target="8"></edge> -<edge label="" source="1" target="9"></edge> -<edge label="" source="1" target="10"></edge> -<edge label="" source="1" target="11"></edge> -<edge label="" source="1" target="12"></edge> -<edge label="" source="1" target="13"></edge> -<edge label="" source="1" target="14"></edge> -<edge label="" source="1" target="15"></edge> -<edge label="" source="1" target="16"></edge> -<edge label="" source="1" target="17"></edge> -<edge label="" source="1" target="18"></edge> -<edge label="" source="1" target="19"></edge> -<edge label="" source="1" target="20"></edge> -<edge label="" source="1" target="21"></edge> -<!-- ed's friends --> -<edge label="" source="2" target="5"></edge> -<edge label="" source="2" target="8"></edge> -<edge label="" source="2" target="10"></edge> -<!-- christiaan's friends --> -<edge label="" source="3" target="5"></edge> -<edge label="" source="3" target="8"></edge> -<edge label="" source="3" target="10"></edge> -<edge label="" source="3" target="17"></edge> -<!-- emily's friends --> -<edge label="" source="4" target="22"></edge> -<edge label="" source="4" target="23"></edge> -<edge label="" source="4" target="24"></edge> -<edge label="" source="4" target="25"></edge> -<edge label="" source="4" target="26"></edge> -<edge label="" source="4" target="27"></edge> -<!-- adam's friends --> -<edge label="" source="5" target="8"></edge> -<edge label="" source="5" target="10"></edge> -<!-- cynthia's friends --> -<edge label="" source="6" target="14"></edge> -<!-- joylette's friends --> -<edge label="" source="7" target="8"></edge> -<edge label="" source="7" target="10"></edge> -<edge label="" source="7" target="28"></edge> -<!-- amanda's friends --> -<edge label="" source="8" target="10"></edge> -<edge label="" source="8" target="14"></edge> -<edge label="" source="8" target="15"></edge> -<edge label="" source="8" target="29"></edge> -<edge label="" source="8" target="17"></edge> -<edge label="" source="8" target="18"></edge> -<edge label="" source="8" target="30"></edge> -<edge label="" source="8" target="21"></edge> -<!-- nathaniel's friends --> -<!-- bryan's friends --> -<edge label="" source="10" target="31"></edge> -<edge label="" source="10" target="17"></edge> -<edge label="" source="10" target="30"></edge> -<!-- tamara's friends --> -<edge label="" source="11" target="12"></edge> -<edge label="" source="11" target="32"></edge> -<edge label="" source="11" target="33"></edge> -<!-- ashley's friends --> -<!-- ryan's friends --> -<edge label="" source="13" target="34"></edge> -<edge label="" source="13" target="19"></edge> -<!-- alan's friends --> -<edge label="" source="14" target="35"></edge> -<edge label="" source="14" target="36"></edge> -<edge label="" source="14" target="37"></edge> -<edge label="" source="14" target="38"></edge> -<edge label="" source="14" target="39"></edge> -<edge label="" source="14" target="40"></edge> -<edge label="" source="14" target="41"></edge> -<edge label="" source="14" target="42"></edge> -<edge label="" source="14" target="43"></edge> -<edge label="" source="14" target="44"></edge> -<edge label="" source="14" target="45"></edge> -<edge label="" source="14" target="46"></edge> -<edge label="" source="14" target="47"></edge> -<edge label="" source="14" target="15"></edge> -<edge label="" source="14" target="18"></edge> -<edge label="" source="14" target="21"></edge> -<!-- chris's friends --> -<edge label="" source="15" target="48"></edge> -<edge label="" source="15" target="49"></edge> -<edge label="" source="15" target="50"></edge> -<edge label="" source="15" target="51"></edge> -<edge label="" source="15" target="52"></edge> -<edge label="" source="15" target="53"></edge> -<edge label="" source="15" target="54"></edge> -<edge label="" source="15" target="55"></edge> -<edge label="" source="15" target="56"></edge> -<edge label="" source="15" target="57"></edge> -<edge label="" source="15" target="58"></edge> -<edge label="" source="15" target="59"></edge> -<edge label="" source="15" target="60"></edge> -<edge label="" source="15" target="61"></edge> -<edge label="" source="15" target="62"></edge> -<edge label="" source="15" target="63"></edge> -<edge label="" source="15" target="64"></edge> -<edge label="" source="15" target="65"></edge> -<edge label="" source="15" target="16"></edge> -<edge label="" source="15" target="18"></edge> -<edge label="" source="15" target="21"></edge> -<!-- holly's friends --> -<edge label="" source="16" target="66"></edge> -<edge label="" source="16" target="59"></edge> -<edge label="" source="16" target="60"></edge> -<edge label="" source="16" target="67"></edge> -<!-- patrick's friends --> -<edge label="" source="17" target="68"></edge> -<edge label="" source="17" target="69"></edge> -<!-- fernando's friends --> -<edge label="" source="18" target="70"></edge> -<edge label="" source="18" target="71"></edge> -<edge label="" source="18" target="72"></edge> -<edge label="" source="18" target="73"></edge> -<edge label="" source="18" target="74"></edge> -<edge label="" source="18" target="75"></edge> -<edge label="" source="18" target="76"></edge> -<edge label="" source="18" target="77"></edge> -<edge label="" source="18" target="78"></edge> -<edge label="" source="18" target="79"></edge> -<edge label="" source="18" target="80"></edge> -<edge label="" source="18" target="81"></edge> -<!-- corey's friends --> -<edge label="" source="19" target="20"></edge> -<!-- ben's friends --> -<edge label="" source="20" target="45"></edge> -<edge label="" source="20" target="46"></edge> -<edge label="" source="20" target="82"></edge> -<edge label="" source="20" target="83"></edge> -<edge label="" source="20" target="84"></edge> -<edge label="" source="20" target="85"></edge> -<edge label="" source="20" target="86"></edge> -<edge label="" source="20" target="87"></edge> -<edge label="" source="20" target="88"></edge> -<edge label="" source="20" target="89"></edge> -<edge label="" source="20" target="90"></edge> -<edge label="" source="20" target="91"></edge> -<edge label="" source="20" target="92"></edge> -<edge label="" source="20" target="93"></edge> -<edge label="" source="20" target="94"></edge> -<edge label="" source="20" target="95"></edge> -<edge label="" source="20" target="96"></edge> -<edge label="" source="20" target="97"></edge> -<edge label="" source="20" target="98"></edge> -<edge label="" source="20" target="99"></edge> -<edge label="" source="20" target="100"></edge> -<edge label="" source="20" target="101"></edge> -<edge label="" source="20" target="102"></edge> -<edge label="" source="20" target="103"></edge> -<edge label="" source="20" target="104"></edge> -<edge label="" source="20" target="105"></edge> -<edge label="" source="20" target="106"></edge> -<edge label="" source="20" target="107"></edge> -<edge label="" source="20" target="108"></edge> -<edge label="" source="20" target="109"></edge> -<edge label="" source="20" target="110"></edge> -<edge label="" source="20" target="111"></edge> -<edge label="" source="20" target="112"></edge> -<edge label="" source="20" target="113"></edge> -<edge label="" source="20" target="114"></edge> -<edge label="" source="20" target="115"></edge> -<edge label="" source="20" target="116"></edge> -<edge label="" source="20" target="117"></edge> -<edge label="" source="20" target="118"></edge> -<edge label="" source="20" target="119"></edge> -<edge label="" source="20" target="120"></edge> -<edge label="" source="20" target="121"></edge> -<edge label="" source="20" target="122"></edge> -<!-- non's friends --> -<edge label="" source="21" target="123"></edge> -<edge label="" source="21" target="124"></edge> -<edge label="" source="21" target="125"></edge> -<edge label="" source="21" target="126"></edge> -<edge label="" source="21" target="127"></edge> -<edge label="" source="21" target="128"></edge> -<edge label="" source="21" target="129"></edge> + <!-- prefuse GraphML Writer | Mon Jan 22 15:13:33 EST 2007 --> + <key id="label" for="node" attr.name="label" attr.type="string"/> + <key id="id" for="node" attr.name="id" attr.type="string"/> + <key id="label" for="edge" attr.name="label" attr.type="string"/> + <key id="id" for="edge" attr.name="id" attr.type="string"/> -</graph> + <graph edgedefault="undirected"> + <!-- nodes --> + <node id="0"> + <data key="label">Matthew</data> + <data key="id">56</data> + </node> + <node id="1"> + <data key="label">Robert</data> + <data key="id">29</data> + </node> + <node id="2"> + <data key="label">Shane</data> + <data key="id">74</data> + </node> + <node id="3"> + <data key="label">Tamara</data> + <data key="id">11</data> + </node> + <node id="4"> + <data key="label">Nels</data> + <data key="id">83</data> + </node> + <node id="5"> + <data key="label">Jim</data> + <data key="id">108</data> + </node> + <node id="6"> + <data key="label">Patrick</data> + <data key="id">17</data> + </node> + <node id="7"> + <data key="label">Tammy</data> + <data key="id">101</data> + </node> + <node id="8"> + <data key="label">Alexander</data> + <data key="id">79</data> + </node> + <node id="9"> + <data key="label">ryan</data> + <data key="id">92</data> + </node> + <node id="10"> + <data key="label">David</data> + <data key="id">65</data> + </node> + <node id="11"> + <data key="label">Alexander</data> + <data key="id">115</data> + </node> + <node id="12"> + <data key="label">Red</data> + <data key="id">47</data> + </node> + <node id="13"> + <data key="label">Ed</data> + <data key="id">2</data> + </node> + <node id="14"> + <data key="label">Ken</data> + <data key="id">52</data> + </node> + <node id="15"> + <data key="label">Joylette</data> + <data key="id">7</data> + </node> + <node id="16"> + <data key="label">Christiaan</data> + <data key="id">3</data> + </node> + <node id="17"> + <data key="label">Steve</data> + <data key="id">124</data> + </node> + <node id="18"> + <data key="label">Scott</data> + <data key="id">123</data> + </node> + <node id="19"> + <data key="label">Micah</data> + <data key="id">38</data> + </node> + <node id="20"> + <data key="label">Stewart</data> + <data key="id">119</data> + </node> + <node id="21"> + <data key="label">Alan</data> + <data key="id">14</data> + </node> + <node id="22"> + <data key="label">sistah</data> + <data key="id">88</data> + </node> + <node id="23"> + <data key="label">Ben</data> + <data key="id">20</data> + </node> + <node id="24"> + <data key="label">Matthew</data> + <data key="id">62</data> + </node> + <node id="25"> + <data key="label">Sam</data> + <data key="id">31</data> + </node> + <node id="26"> + <data key="label">Jeremy</data> + <data key="id">67</data> + </node> + <node id="27"> + <data key="label">Judith</data> + <data key="id">114</data> + </node> + <node id="28"> + <data key="label">Calvin</data> + <data key="id">23</data> + </node> + <node id="29"> + <data key="label">Jory</data> + <data key="id">78</data> + </node> + <node id="30"> + <data key="label">John</data> + <data key="id">22</data> + </node> + <node id="31"> + <data key="label">Rion</data> + <data key="id">44</data> + </node> + <node id="32"> + <data key="label">Nina</data> + <data key="id">43</data> + </node> + <node id="33"> + <data key="label">Pete</data> + <data key="id">66</data> + </node> + <node id="34"> + <data key="label">Michael</data> + <data key="id">53</data> + </node> + <node id="35"> + <data key="label">Meredith</data> + <data key="id">89</data> + </node> + <node id="36"> + <data key="label">Rania</data> + <data key="id">84</data> + </node> + <node id="37"> + <data key="label">Joanna</data> + <data key="id">87</data> + </node> + <node id="38"> + <data key="label">Diana</data> + <data key="id">35</data> + </node> + <node id="39"> + <data key="label">Cynthia</data> + <data key="id">6</data> + </node> + <node id="40"> + <data key="label">David</data> + <data key="id">128</data> + </node> + <node id="41"> + <data key="label">Bryan</data> + <data key="id">10</data> + </node> + <node id="42"> + <data key="label">Amanda</data> + <data key="id">8</data> + </node> + <node id="43"> + <data key="label">Michael</data> + <data key="id">102</data> + </node> + <node id="44"> + <data key="label">Wen-Ting</data> + <data key="id">42</data> + </node> + <node id="45"> + <data key="label">Sumit</data> + <data key="id">69</data> + </node> + <node id="46"> + <data key="label">Stephanie</data> + <data key="id">24</data> + </node> + <node id="47"> + <data key="label">Justin</data> + <data key="id">111</data> + </node> + <node id="48"> + <data key="label">Robin</data> + <data key="id">51</data> + </node> + <node id="49"> + <data key="label">Patrick</data> + <data key="id">30</data> + </node> + <node id="50"> + <data key="label">Parker</data> + <data key="id">26</data> + </node> + <node id="51"> + <data key="label">Chris</data> + <data key="id">15</data> + </node> + <node id="52"> + <data key="label">kris</data> + <data key="id">125</data> + </node> + <node id="53"> + <data key="label">jeremy</data> + <data key="id">107</data> + </node> + <node id="54"> + <data key="label">Micaela</data> + <data key="id">75</data> + </node> + <node id="55"> + <data key="label">Matt</data> + <data key="id">113</data> + </node> + <node id="56"> + <data key="label">Kenji</data> + <data key="id">60</data> + </node> + <node id="57"> + <data key="label">Ashley</data> + <data key="id">12</data> + </node> + <node id="58"> + <data key="label">Stephen</data> + <data key="id">59</data> + </node> + <node id="59"> + <data key="label">Ida</data> + <data key="id">41</data> + </node> + <node id="60"> + <data key="label">Matt</data> + <data key="id">121</data> + </node> + <node id="61"> + <data key="label">John</data> + <data key="id">25</data> + </node> + <node id="62"> + <data key="label">rumi</data> + <data key="id">95</data> + </node> + <node id="63"> + <data key="label">Ed</data> + <data key="id">46</data> + </node> + <node id="64"> + <data key="label">JohnAnthony</data> + <data key="id">81</data> + </node> + <node id="65"> + <data key="label">Matt</data> + <data key="id">77</data> + </node> + <node id="66"> + <data key="label">David</data> + <data key="id">72</data> + </node> + <node id="67"> + <data key="label">Record Camp</data> + <data key="id">36</data> + </node> + <node id="68"> + <data key="label">Otomi</data> + <data key="id">45</data> + </node> + <node id="69"> + <data key="label">Holly</data> + <data key="id">16</data> + </node> + <node id="70"> + <data key="label">Chuck</data> + <data key="id">37</data> + </node> + <node id="71"> + <data key="label">Julij</data> + <data key="id">97</data> + </node> + <node id="72"> + <data key="label">Josh</data> + <data key="id">55</data> + </node> + <node id="73"> + <data key="label">Bill</data> + <data key="id">126</data> + </node> + <node id="74"> + <data key="label">Jay</data> + <data key="id">94</data> + </node> + <node id="75"> + <data key="label">Kevin</data> + <data key="id">112</data> + </node> + <node id="76"> + <data key="label">John</data> + <data key="id">91</data> + </node> + <node id="77"> + <data key="label">Corey</data> + <data key="id">19</data> + </node> + <node id="78"> + <data key="label">Bob</data> + <data key="id">32</data> + </node> + <node id="79"> + <data key="label">Non</data> + <data key="id">21</data> + </node> + <node id="80"> + <data key="label">Shane</data> + <data key="id">70</data> + </node> + <node id="81"> + <data key="label">Michael</data> + <data key="id">85</data> + </node> + <node id="82"> + <data key="label">dan</data> + <data key="id">106</data> + </node> + <node id="83"> + <data key="label">justin</data> + <data key="id">96</data> + </node> + <node id="84"> + <data key="label">Jesse James</data> + <data key="id">117</data> + </node> + <node id="85"> + <data key="label">Andrew</data> + <data key="id">49</data> + </node> + <node id="86"> + <data key="label">Adam</data> + <data key="id">5</data> + </node> + <node id="87"> + <data key="label">Ryan</data> + <data key="id">13</data> + </node> + <node id="88"> + <data key="label">Dan</data> + <data key="id">40</data> + </node> + <node id="89"> + <data key="label">Katie</data> + <data key="id">33</data> + </node> + <node id="90"> + <data key="label">Richard</data> + <data key="id">61</data> + </node> + <node id="91"> + <data key="label">Jeff</data> + <data key="id">1</data> + </node> + <node id="92"> + <data key="label">Emily</data> + <data key="id">4</data> + </node> + <node id="93"> + <data key="label">Tom</data> + <data key="id">118</data> + </node> + <node id="94"> + <data key="label">Rikard</data> + <data key="id">71</data> + </node> + <node id="95"> + <data key="label">Justin</data> + <data key="id">73</data> + </node> + <node id="96"> + <data key="label">Dorothy</data> + <data key="id">82</data> + </node> + <node id="97"> + <data key="label">Xz</data> + <data key="id">127</data> + </node> + <node id="98"> + <data key="label">spot</data> + <data key="id">100</data> + </node> + <node id="99"> + <data key="label">Nathaniel</data> + <data key="id">9</data> + </node> + <node id="100"> + <data key="label">steph</data> + <data key="id">109</data> + </node> + <node id="101"> + <data key="label">Lanha souris</data> + <data key="id">105</data> + </node> + <node id="102"> + <data key="label">Phil</data> + <data key="id">64</data> + </node> + <node id="103"> + <data key="label">Caterina</data> + <data key="id">116</data> + </node> + <node id="104"> + <data key="label">Scott</data> + <data key="id">48</data> + </node> + <node id="105"> + <data key="label">Meg</data> + <data key="id">120</data> + </node> + <node id="106"> + <data key="label">Zephoria</data> + <data key="id">129</data> + </node> + <node id="107"> + <data key="label">Jane</data> + <data key="id">110</data> + </node> + <node id="108"> + <data key="label">Anil</data> + <data key="id">122</data> + </node> + <node id="109"> + <data key="label">Evan</data> + <data key="id">86</data> + </node> + <node id="110"> + <data key="label">Brent</data> + <data key="id">104</data> + </node> + <node id="111"> + <data key="label">Christopher</data> + <data key="id">58</data> + </node> + <node id="112"> + <data key="label">Casey</data> + <data key="id">57</data> + </node> + <node id="113"> + <data key="label">Jason</data> + <data key="id">80</data> + </node> + <node id="114"> + <data key="label">Steven</data> + <data key="id">76</data> + </node> + <node id="115"> + <data key="label">beverly</data> + <data key="id">98</data> + </node> + <node id="116"> + <data key="label">jennifer</data> + <data key="id">103</data> + </node> + <node id="117"> + <data key="label">Marian</data> + <data key="id">28</data> + </node> + <node id="118"> + <data key="label">Eric</data> + <data key="id">90</data> + </node> + <node id="119"> + <data key="label">Emily</data> + <data key="id">50</data> + </node> + <node id="120"> + <data key="label">Jai Young</data> + <data key="id">99</data> + </node> + <node id="121"> + <data key="label">Patrick</data> + <data key="id">27</data> + </node> + <node id="122"> + <data key="label">Eric</data> + <data key="id">93</data> + </node> + <node id="123"> + <data key="label">Jon</data> + <data key="id">54</data> + </node> + <node id="124"> + <data key="label">SuperGiggleB</data> + <data key="id">39</data> + </node> + <node id="125"> + <data key="label">Chako</data> + <data key="id">34</data> + </node> + <node id="126"> + <data key="label">Fernando</data> + <data key="id">18</data> + </node> + <node id="127"> + <data key="label">Daniel</data> + <data key="id">68</data> + </node> + <node id="128"> + <data key="label">David</data> + <data key="id">63</data> + </node> + + <!-- edges --> + <edge id="0" source="92" target="61"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="1" source="3" target="78"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="2" source="126" target="65"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="3" source="51" target="85"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="4" source="86" target="42"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="5" source="87" target="77"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="6" source="21" target="63"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="7" source="23" target="55"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="8" source="51" target="102"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="9" source="91" target="16"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="10" source="69" target="58"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="11" source="51" target="119"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="12" source="23" target="115"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="13" source="21" target="126"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="14" source="91" target="57"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="15" source="91" target="3"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="16" source="126" target="95"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="17" source="91" target="15"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="18" source="42" target="49"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="19" source="16" target="86"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="20" source="21" target="70"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="21" source="23" target="62"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="22" source="51" target="24"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="23" source="79" target="73"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="24" source="91" target="13"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="25" source="23" target="76"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="26" source="15" target="41"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="27" source="79" target="18"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="28" source="21" target="68"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="29" source="126" target="113"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="30" source="51" target="126"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="31" source="51" target="123"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="32" source="126" target="66"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="33" source="21" target="124"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="34" source="13" target="42"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="35" source="23" target="37"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="36" source="51" target="58"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="37" source="23" target="96"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="38" source="23" target="101"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="39" source="42" target="51"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="40" source="23" target="9"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="41" source="87" target="125"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="42" source="91" target="69"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="43" source="23" target="116"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="44" source="51" target="69"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="45" source="126" target="80"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="46" source="42" target="1"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="47" source="23" target="53"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="48" source="23" target="35"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="49" source="126" target="64"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="50" source="21" target="79"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="51" source="92" target="46"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="52" source="69" target="56"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="53" source="126" target="29"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="54" source="3" target="57"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="55" source="91" target="87"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="56" source="23" target="120"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="57" source="23" target="84"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="58" source="79" target="52"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="59" source="126" target="94"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="60" source="79" target="106"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="61" source="23" target="27"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="62" source="23" target="93"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="63" source="15" target="42"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="64" source="23" target="63"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="65" source="126" target="2"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="66" source="91" target="77"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="67" source="23" target="110"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="68" source="91" target="99"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="69" source="51" target="90"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="70" source="41" target="25"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="71" source="91" target="23"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="72" source="51" target="34"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="73" source="21" target="19"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="74" source="51" target="72"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="75" source="42" target="21"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="76" source="21" target="32"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="77" source="23" target="22"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="78" source="42" target="6"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="79" source="41" target="6"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="80" source="23" target="105"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="81" source="91" target="21"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="82" source="91" target="126"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="83" source="21" target="59"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="84" source="86" target="41"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="85" source="21" target="38"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="86" source="23" target="36"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="87" source="23" target="82"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="88" source="23" target="43"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="89" source="79" target="17"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="90" source="6" target="45"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="91" source="92" target="30"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="92" source="51" target="79"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="93" source="23" target="74"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="94" source="23" target="103"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="95" source="51" target="0"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="96" source="23" target="98"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="97" source="23" target="75"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="98" source="126" target="8"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="99" source="92" target="28"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="100" source="42" target="41"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="101" source="23" target="5"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="102" source="21" target="44"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="103" source="23" target="107"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="104" source="23" target="100"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="105" source="91" target="86"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="106" source="91" target="79"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="107" source="23" target="11"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="108" source="51" target="112"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="109" source="92" target="50"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="110" source="42" target="126"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="111" source="51" target="56"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="112" source="16" target="6"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="113" source="51" target="14"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="114" source="23" target="47"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="115" source="23" target="122"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="116" source="91" target="39"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="117" source="69" target="26"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="118" source="91" target="51"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="119" source="3" target="89"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="120" source="13" target="41"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="121" source="23" target="118"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="122" source="91" target="92"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="123" source="41" target="49"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="124" source="69" target="33"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="125" source="91" target="42"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="126" source="77" target="23"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="127" source="126" target="54"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="128" source="39" target="21"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="129" source="91" target="6"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="130" source="51" target="104"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="131" source="16" target="42"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="132" source="21" target="12"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="133" source="23" target="108"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="134" source="21" target="51"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="135" source="15" target="117"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="136" source="13" target="86"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="137" source="23" target="81"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="138" source="91" target="41"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="139" source="21" target="31"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="140" source="23" target="4"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="141" source="23" target="71"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="142" source="23" target="83"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="143" source="21" target="88"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="144" source="92" target="121"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="145" source="23" target="68"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="146" source="51" target="10"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="147" source="79" target="40"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="148" source="51" target="48"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="149" source="23" target="109"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="150" source="21" target="67"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="151" source="79" target="97"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="152" source="42" target="79"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="153" source="51" target="128"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="154" source="126" target="114"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="155" source="23" target="20"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="156" source="16" target="41"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="157" source="51" target="111"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="158" source="6" target="127"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="159" source="23" target="7"> + <data key="label"></data> + <data key="id">null</data> + </edge> + <edge id="160" source="23" target="60"> + <data key="label"></data> + <data key="id">null</data> + </edge> + </graph> </graphml> - Modified: trunk/deployment/cishell-installer/sampledata/Network/terror.graphml.xml =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/terror.graphml.xml 2006-12-21 22:23:48 UTC (rev 363) +++ trunk/deployment/cishell-installer/sampledata/Network/terror.graphml.xml 2007-01-22 22:23:02 UTC (rev 364) @@ -1,256 +1,1099 @@ <?xml version="1.0" encoding="UTF-8"?> -<graphml xmlns="http://graphml.graphdrawing.org/xmlns/graphml" -xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns/graphml"> -<graph edgedefault="undirected" > -<!-- prefuse graph writer :: Sat Aug 09 15:08:49 PDT 2003 --> - <!-- nodes --> - <node id="al-shehhi" label="Marwan Al-Shehhi"> - <att name="Y" value="435.0"/> - <att name="X" value="229.0"/> - <att name="flight" value="United Airlines Flight 175 (WTC2)"/> - <att name="pilot" value="true"/> -</node> - <node id="alshehri" label="Waleed M. Alshehri"> - <att name="Y" value="571.0"/> - <att name="X" value="383.0"/> - <att name="flight" value="American Airlines Flight 11 (WTC1)"/> -</node> - <node id="halghamdi" label="Hamza Alghamdi"> - <att name="Y" value="329.0"/> - <att name="X" value="300.0"/> - <att name="flight" value="United Airlines Flight 175 (WTC2)"/> -</node> - <node id="alsuqami" label="Satam M. A. Al Suqami"> - <att name="Y" value="443.0"/> - <att name="X" value="413.0"/> - <att name="flight" value="American Airlines Flight 11 (WTC1)"/> -</node> - <node id="omar" label="Ramzi Omar"> - <att name="Y" value="435.0"/> - <att name="X" value="41.0"/> -</node> - <node id="abdullah" label="Rayed Mohammed Abdullah"> - <att name="Y" value="67.0"/> - <att name="X" value="77.0"/> -</node> -<node id="essabar" label="Zakariya Essabar"> - <att name="Y" value="469.0"/> - <att name="X" value="126.0"/> -</node> - <node id="moqed" label="Majed Moqed"> - <att name="Y" value="12.0"/> - <att name="X" value="200.0"/> - <att name="flight" value="American Airlines Flight 77 (Pentagon)"/> -</node> - <node id="nalhazmi" label="Nawaf Alhazmi"> - <att name="Y" value="43.0"/> - <att name="X" value="460.0"/> - <att name="flight" value="American Airlines Flight 77 (Pentagon)"/> -</node> - <node id="salim" label="Mamduh Mahmud Salim"> - <att name="Y" value="554.0"/> - <att name="X" value="71.0"/> -</node> - <node id="atta" label="Mohamed Atta"> - <att name="Y" value="393.0"/> - <att name="X" value="229.0"/> - <att name="flight" value="American Airlines Flight 11 (WTC1)"/> - <att name="pilot" value="true"/> -</node> - <node id="moussaoui" label="Habib Zacarias Moussaoui"> - <att name="Y" value="223.0"/> - <att name="X" value="201.0"/> -</node> - <node id="raissi" label="Lotfi Raissi"> - <att name="Y" value="186.0"/> - <att name="X" value="77.0"/> -</node> - <node id="bahaji" label="Said Bahaji"> - <att name="Y" value="393.0"/> - <att name="X" value="41.0"/> -</node> - <node id="al-marabh" label="Nabil al-Marabh"> - <att name="Y" value="311.0"/> - <att name="X" value="475.0"/> -</node> - <node id="salhazmi" label="Salem Alhazmi"> - <att name="Y" value="116.0"/> - <att name="X" value="304.0"/> - <att name="flight" value="American Airlines Flight 77 (Pentagon)"/> -</node> - <node id="aalghamdi" label="Ahmed Alghamdi"> - <att name="Y" value="174.0"/> - <att name="X" value="359.0"/> - <att name="flight" value="United Airlines Flight 175 (WTC2)"/> -</node> - <node id="abdi" label="Mohamed Abdi"> - <att name="Y" value="73.0"/> - <att name="X" value="544.0"/> -</node> - <node id="saiid" label="Shaykh Saiid"> - <att name="Y" value="517.0"/> - <att name="X" value="287.0"/> -</node> - <node id="alhaznawi" label="Ahmed Ibrahim A. Al Haznawi"> - <att name="Y" value="254.0"/> - <att name="X" value="251.0"/> - <att name="flight" value="United Airlines Flight 93 (Pennsylvania)"/> -</node> - <node id="alomari" label="Abdulaziz Alomari"> - <att name="Y" value="387.0"/> - <att name="X" value="352.0"/> - <att name="flight" value="American Airlines Flight 11 (WTC1)"/> -</node> - <node id="darkazanli" label="Mamoun Darkazanli"> - <att name="Y" value="516.0"/> - <att name="X" value="174.0"/> -</node> - <node id="alnami" label="Ahmed Alnami"> - <att name="Y" value="161.0"/> - <att name="X" value="460.0"/> - <att name="flight" value="United Airlines Flight 93 (Pennsylvania)"/> -</node> - <node id="salghamdi" label="Saeed Alghamdi"> - <att name="Y" value="211.0"/> - <att name="X" value="541.0"/> - <att name="flight" value="United Airlines Flight 93 (Pennsylvania)"/> -</node> - <node id="hijazi" label="Raed Hijazi"> - <att name="Y" value="350.0"/> - <att name="X" value="541.0"/> -</node> - <node id="malshehri" label="Mohand Alshehri"> - <att name="Y" value="438.0"/> - <att name="X" value="543.0"/> - <att name="flight" value="United Airlines Flight 175 (WTC2)"/> -</node> - <node id="almihdhar" label="Khalid Almihdhar"> - <att name="Y" value="12.0"/> - <att name="X" value="364.0"/> - <att name="flight" value="American Airlines Flight 77 (Pentagon)"/> -</node> - <node id="shaikh" label="Abdussattar Shaikh"> - <att name="Y" value="12.0"/> - <att name="X" value="529.0"/> -</node> - <node id="jarrah" label="Ziad Samir Jarrah"> - <att name="Y" value="362.0"/> - <att name="X" value="126.0"/> - <att name="flight" value="United Airlines Flight 93 (Pennsylvania)"/> - <att name="pilot" value="true"/> -</node> - <node id="walshehri" label="Wail M. Alshehri"> - <att name="Y" value="501.0"/> - <att name="X" value="386.0"/> - <att name="flight" value="American Airlines Flight 11 (WTC1)"/> -</node> - <node id="banihammad" label="Fayez Rashid Ahmed Hassan Al Qadi Banihammad"> - <att name="Y" value="536.0"/> - <att name="X" value="553.0"/> - <att name="flight" value="United Airlines Flight 175 (WTC2)"/> -</node> - <node id="alsalmi" label="Faisal Al Salmi"> - <att name="Y" value="15.0"/> - <att name="X" value="107.0"/> -</node> - <node id="al-ani" label="Ahmed Khalil Ibrahim Samir Al-Ani"> - <att name="Y" value="280.0"/> - <att name="X" value="129.0"/> -</node> - <node id="hanjour" label="Hani Hanjour"> - <att name="Y" value="67.0"/> - <att name="X" value="200.0"/> - <att name="flight" value="American Airlines Flight 77 (Pentagon)"/> - <att name="pilot" value="true"/> -</node> +<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"> - <!-- edges --> - <edge source="al-shehhi" target="halghamdi" weight="1"></edge> - <edge source="al-shehhi" target="raissi" weight="2"></edge> - <edge source="al-shehhi" target="essabar" weight="3"></edge> - <edge source="al-shehhi" target="atta" weight="3"></edge> - <edge source="al-shehhi" target="omar" weight="3"></edge> - <edge source="al-shehhi" target="bahaji" weight="3"></edge> - <edge source="al-shehhi" target="jarrah" weight="3"></edge> - <edge source="al-shehhi" target="darkazanli" weight="2"></edge> - <edge source="al-shehhi" target="saiid" weight="1"></edge> - <edge source="al-shehhi" target="alshehri" weight="1"></edge> - <edge source="al-shehhi" target="walshehri" weight="1"></edge> - <edge source="al-shehhi" target="alsuqami" weight="1"></edge> - <edge source="alshehri" target="saiid" weight="1"></edge> - <edge source="alshehri" target="walshehri" weight="3"></edge> - <edge source="alshehri" target="alomari" weight="1"></edge> - <edge source="alshehri" target="alsuqami" weight="3"></edge> - <edge source="alshehri" target="banihammad" weight="1"></edge> - <edge source="halghamdi" target="nalhazmi" weight="2"></edge> - <edge source="halghamdi" target="alnami" weight="3"></edge> - <edge source="halghamdi" target="salghamdi" weight="2"></edge> - <edge source="halghamdi" target="aalghamdi" weight="2"></edge> - <edge source="halghamdi" target="alhaznawi" weight="3"></edge> - <edge source="halghamdi" target="malshehri" weight="2"></edge> - <edge source="alsuqami" target="hijazi" weight="2"></edge> - <edge source="alsuqami" target="al-marabh" weight="2"></edge> - <edge source="alsuqami" target="banihammad" weight="1"></edge> - <edge source="alsuqami" target="walshehri" weight="3"></edge> - <edge source="alsuqami" target="alomari" weight="1"></edge> - <edge source="alsuqami" target="atta" weight="1"></edge> - <edge source="omar" target="bahaji" weight="3"></edge> - <edge source="omar" target="essabar" weight="3"></edge> - <edge source="omar" target="atta" weight="3"></edge> - <edge source="omar" target="jarrah" weight="3"></edge> - <edge source="abdullah" target="alsalmi" weight="1"></edge> - <edge source="abdullah" target="hanjour" weight="3"></edge> - <edge source="abdullah" target="raissi" weight="2"></edge> - <edge source="essabar" target="atta" weight="3"></edge> - <edge source="essabar" target="bahaji" weight="3"></edge> - <edge source="essabar" target="jarrah" weight="3"></edge> - <edge source="moqed" target="almihdhar" weight="1"></edge> - <edge source="moqed" target="nalhazmi" weight="1"></edge> - <edge source="moqed" target="salhazmi" weight="1"></edge> - <edge source="moqed" target="hanjour" weight="3"></edge> - <edge source="nalhazmi" target="shaikh" weight="2"></edge> - <edge source="nalhazmi" target="almihdhar" weight="3"></edge> - <edge source="nalhazmi" target="abdi" weight="2"></edge> - <edge source="nalhazmi" target="alnami" weight="3"></edge> - <edge source="nalhazmi" target="salghamdi" weight="3"></edge> - <edge source="nalhazmi" target="hanjour" weight="3"></edge> - <edge source="nalhazmi" target="salhazmi" weight="3"></edge> - <edge source="salim" target="darkazanli" weight="2"></edge> - <edge source="atta" target="hanjour" weight="2"></edge> - <edge source="atta" target="moussaoui" weight="1"></edge> - <edge source="atta" target="raissi" weight="2"></edge> - <edge source="atta" target="al-ani" weight="2"></edge> - <edge source="atta" target="jarrah" weight="3"></edge> - <edge source="atta" target="bahaji" weight="3"></edge> - <edge source="atta" target="darkazanli" weight="2"></edge> - <edge source="atta" target="saiid" weight="1"></edge> - <edge source="atta" target="walshehri" weight="1"></edge> - <edge source="atta" target="banihammad" weight="1"></edge> - <edge source="raissi" target="hanjour" weight="2"></edge> - <edge source="raissi" target="jarrah" weight="2"></edge> - <edge source="bahaji" target="jarrah" weight="3"></edge> - <edge source="al-marabh" target="aalghamdi" weight="2"></edge> - <edge source="al-marabh" target="hijazi" weight="2"></edge> - <edge source="al-marabh" target="salghamdi" weight="2"></edge> - <edge source="salhazmi" target="almihdhar" weight="1"></edge> - <edge source="salhazmi" target="hanjour" weight="2"></edge> - <edge source="salhazmi" target="aalghamdi" weight="1"></edge> - <edge source="salhazmi" target="alomari" weight="1"></edge> - <edge source="salghamdi" target="alhaznawi" weight="3"></edge> - <edge source="aalghamdi" target="hanjour" weight="1"></edge> - <edge source="aalghamdi" target="alomari" weight="1"></edge> - <edge source="alhaznawi" target="jarrah" weight="3"></edge> - <edge source="alomari" target="banihammad" weight="1"></edge> - <edge source="alomari" target="walshehri" weight="1"></edge> - <edge source="alomari" target="hanjour" weight="1"></edge> - <edge source="alnami" target="salghamdi" weight="3"></edge> - <edge source="salghamdi" target="hijazi" weight="2"></edge> - <edge source="malshehri" target="banihammad" weight="2"></edge> - <e... [truncated message content] |
From: <bea...@us...> - 2006-12-21 22:23:54
|
Revision: 363 http://svn.sourceforge.net/cishell/?rev=363&view=rev Author: bearsfan Date: 2006-12-21 14:23:48 -0800 (Thu, 21 Dec 2006) Log Message: ----------- Cleaned some of the code up, added documentation Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java 2006-12-21 20:05:06 UTC (rev 362) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java 2006-12-21 22:23:48 UTC (rev 363) @@ -12,6 +12,9 @@ import org.cishell.framework.data.Data; +/** + * Listens for notification from the scheduler and notifies all registered objects + */ public class SchedulerContentModel implements SchedulerListener { private static final SchedulerContentModel INSTANCE = new SchedulerContentModel(); Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java 2006-12-21 20:05:06 UTC (rev 362) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java 2006-12-21 22:23:48 UTC (rev 363) @@ -13,6 +13,10 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; +/** + * Controls a single item in the table per algorithm, and monitors the algorithm + * if it is monitorable. + */ public class SchedulerTableItem { private Algorithm algorithm; private Calendar cal; @@ -41,7 +45,14 @@ private AlgorithmProgressMonitor algorithmProgressMonitor; - public SchedulerTableItem( String algorithmLabel, Algorithm algorithm, Calendar cal) { + /** + * Initializes flags and records the current algorithm to monitor + * + * @param algorithmLabel + * @param algorithm + * @param cal + */ + public SchedulerTableItem(String algorithmLabel, Algorithm algorithm, Calendar cal) { this.algorithm = algorithm; this.cal = cal; @@ -64,14 +75,28 @@ } } + /** + * Request a cancel for the running algorithm + * @param request Cancel request + */ public void requestCancel(boolean request) { cancelRequested = request; } + /** + * Request the algorithm to pause + * @param request Pause request + */ public void requestPause(boolean request) { pauseRequested = request; } + /** + * Initialize the table entry with the parent table and location + * in the table + * @param table The parent table + * @param tblNdx The entry number to insert the table + */ public void initTableEntry(final Table table, final int tblNdx) { guiRun(new Runnable() { public void run() { @@ -80,6 +105,10 @@ }); } + /** + * Mark the algorithm as finished + * @param table The parent table + */ public void finishTableEntry(final Table table) { done = true; @@ -96,16 +125,27 @@ } } + /** + * Moves this entry to the provided index + * @param table The parent table + * @param tblNdx The target index into the table + */ public void moveTableEntry(final Table table, final int tblNdx) { guiRun(new Runnable() { public void run() { - //Image image = tableItem.getImage(SchedulerView.COMPLETED_COLUMN); progressSelection = progressBar.getSelection(); drawTableEntry(table, tblNdx); } }); } - + + /** + * Draws a table entry with the current state provided + * the parent table and index of the new entry + * + * @param table Parent table + * @param tblNdx Index into the table + */ private void drawTableEntry(final Table table, final int tblNdx) { guiRun(new Runnable() { public void run() { @@ -128,19 +168,15 @@ setCalendar(); if (started) { - //if (progressBar == null || progressBar.isDisposed()) { if (progressBar != null) progressBar.dispose(); - if (isWorkTrackable || done) { - progressBar = new ProgressBar(table, SWT.NONE); - progressBar.setSelection(progressSelection); - } else { - progressBar = new ProgressBar(table, - SWT.INDETERMINATE); - } - //} - } - else { + if (isWorkTrackable || done) { + progressBar = new ProgressBar(table, SWT.NONE); + progressBar.setSelection(progressSelection); + } else { + progressBar = new ProgressBar(table, SWT.INDETERMINATE); + } + } else { progressBar = new ProgressBar(table, SWT.NONE); } tableEditor = new TableEditor(table); @@ -151,6 +187,9 @@ }); } + /** + * Sets the calendar entry for the current table. + */ private void setCalendar() { guiRun(new Runnable() { public void run() { @@ -162,22 +201,39 @@ }); } + /** + * Notification of the start of the algorithm + * + * @param table The parent table + */ public void algorithmStarted(Table table) { done = false; started = true; drawTableEntry(table, table.indexOf(tableItem)); } + /** + * Notification of rescheduling of the algorithm + * @param cal The rescheduled time + */ public void reschedule(Calendar cal) { this.cal = cal; setCalendar(); } - + + /** + * Notification of an error during algorithm execution + * @param table Parent table + */ public void errorTableEntry(Table table) { encounteredError = true; drawTableEntry(table, table.indexOf(tableItem)); } + /** + * Refresh the table item + * + */ public void refresh() { guiRun(new Runnable() { public void run() { @@ -191,6 +247,10 @@ }); } + /** + * Removes the current table item + * + */ public void remove() { guiRun(new Runnable() { public void run() { @@ -200,12 +260,17 @@ }); } + /** + * Returns the current table item + * @return current table item + */ public TableItem getTableItem() { return tableItem; } - /* - * return a properly formatted date from the given Calendar + /** + * A properly formatted date from the given Calendar + * @return formatted calendar */ private String getDateString(Calendar time) { String month = (time.get(Calendar.MONTH) + 1) + ""; @@ -223,8 +288,9 @@ return month + "/" + day + "/" + year; } - /* - * return a properly formatted time from the given Calendar + /** + * A properly formatted time from the given Calendar + * @return formatted calendar */ private String getTimeString(Calendar time) { String minute = time.get(Calendar.MINUTE) + ""; @@ -252,6 +318,10 @@ return hour + ":" + minute + ":" + second + " " + amPmString; } + /** + * Insures that the current thread is sync'd with the UI thread + * @param run + */ private void guiRun(Runnable run) { if (Thread.currentThread() == Display.getDefault().getThread()) { run.run(); @@ -260,20 +330,38 @@ } } + /** + * Whether or not the current algorithm is cancellable, if the algorithm + * is done, it will return false. + * @return cancellable state + */ public boolean isCancellable() { if (done) return false; return isCancellable; } - public boolean isPauseable() { + /** + * Whether or not the current algorithm is pausable, if the algorithm + * is done, it will return false. + * @return Pausable state + */ + public boolean isPausable() { if (done) return false; return isPauseable; } + /** + * Whether or not the current algorithm is work trackable + * @return Trackable state + */ public boolean isWorkTrackable() { return isWorkTrackable(); } + /** + * Whether or not the current algorithm is paused + * @return Paused state + */ public boolean isPaused() { if (algorithmProgressMonitor.isPaused() && !done) { return true; @@ -283,6 +371,11 @@ } } + /** + * Whether or not the current algorithm is running + * + * @return Running state + */ public boolean isRunning() { if (cancelRequested) { return false; @@ -290,14 +383,19 @@ return true; } + /** + * The algorithm done state + * @return Done state + */ public boolean isDone() { return done; } - public Algorithm getAlgorithm() { - return this.algorithm; - } - + + /** + * Monitors an algorithm + * + */ private class AlgorithmProgressMonitor implements ProgressMonitor { private int totalWorkUnits; Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java 2006-12-21 20:05:06 UTC (rev 362) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java 2006-12-21 22:23:48 UTC (rev 363) @@ -568,46 +568,35 @@ * @param algorithm */ private void setEnabledMenuItems(Algorithm algorithm) { - SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); - - //if (!schedulerTableItem.isRunning()) { - for (int i = 0; i < menu.getItemCount(); ++i) { - MenuItem menuItem = menu.getItem(i); - menuItem.setEnabled(false); - } - //} - //else { - if (schedulerTableItem.isRunning() && schedulerTableItem.isCancellable()) { - MenuItem menuItem = menu.getItem(CANCEL_INDEX); - menuItem.setEnabled(true); - //} - //else { - // MenuItem menuItem = menu.getItem(CANCEL_INDEX); - // menuItem.setEnabled(false); - } + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap + .get(algorithm); - if (schedulerTableItem.isPauseable()) { - if (schedulerTableItem.isPaused()) { - //MenuItem menuItem = menu.getItem(PAUSE_INDEX); - //menuItem.setEnabled(false); - MenuItem menuItem = menu.getItem(RESUME_INDEX); - menuItem.setEnabled(true); - } else { - MenuItem menuItem = menu.getItem(PAUSE_INDEX); - menuItem.setEnabled(true); - //menuItem = menu.getItem(RESUME_INDEX); - //menuItem.setEnabled(false); - } + for (int i = 0; i < menu.getItemCount(); ++i) { + MenuItem menuItem = menu.getItem(i); + menuItem.setEnabled(false); + } + if (schedulerTableItem.isRunning() + && schedulerTableItem.isCancellable()) { + MenuItem menuItem = menu.getItem(CANCEL_INDEX); + menuItem.setEnabled(true); + } + + if (schedulerTableItem.isPausable()) { + if (schedulerTableItem.isPaused()) { + MenuItem menuItem = menu.getItem(RESUME_INDEX); + menuItem.setEnabled(true); + } else { + MenuItem menuItem = menu.getItem(PAUSE_INDEX); + menuItem.setEnabled(true); } - //else { - // MenuItem menuItem = menu.getItem(PAUSE_INDEX); - // menuItem.setEnabled(false); - // menuItem = menu.getItem(RESUME_INDEX); - // menuItem.setEnabled(false); - //} - //} - } + } + } + /** + * Moves a table item to another slot + * @param ndxToMove Original table item to move + * @param destNdx Destination of table item + */ private void moveTableItems(int ndxToMove, int destNdx) { TableItem item = table.getItem(ndxToMove); if (item != null) { @@ -627,6 +616,11 @@ } } + /** + * Refreshes the up and down buttons depending on the items selected and location + * in the table + * + */ private void refreshUpAndDownButtons() { guiRun(new Runnable() { public void run() { @@ -652,6 +646,10 @@ }); } + /** + * Insures that the current thread is the UI thread + * @param run Thread to sync with + */ private void guiRun(Runnable run) { if (Thread.currentThread() == Display.getDefault().getThread()) { run.run(); @@ -660,12 +658,19 @@ } } + /** + * When the view is disposed, this will persist the current items + * it manages, and removes itself from the monitor + */ public void dispose() { schedulerContentModel.persistObject(this.getClass().getName(), algorithmToGuiItemMap); schedulerContentModel.deregister(this); } - + /** + * Any interaction to the table will be checked for enabling and + * disabling items in the table. + */ private class TableListener extends SelectionAdapter { public void widgetSelected(SelectionEvent e) { TableItem[] items = table.getSelection(); @@ -693,6 +698,9 @@ } + /** + * Pauses an algorithm if it is pausable + */ private class PauseListener implements Listener { public void handleEvent(Event event) { TableItem item = table.getItem(table.getSelectionIndex()); @@ -709,6 +717,11 @@ } } + /** + * Cancels an algorithm if it is cancellable + * @author bmarkine + * + */ private class CancelListener implements Listener { public void handleEvent(Event event) { TableItem item = table.getItem(table.getSelectionIndex()); @@ -727,8 +740,10 @@ } } - private class StartListener implements Listener { - + /** + * Starts an algorithm to start + */ + private class StartListener implements Listener { public void handleEvent(Event event) { TableItem item = table.getItem(table.getSelectionIndex()); if (item != null) { @@ -746,6 +761,9 @@ } } + /** + * Moves a table item up on the table + */ private class UpButtonListener extends SelectionAdapter { public void widgetSelected(SelectionEvent e) { int tblNdx = table.getSelectionIndex(); @@ -755,6 +773,10 @@ } } + /** + * Moves a table item down on the table + * + */ private class DownButtonListener extends SelectionAdapter { public void widgetSelected(SelectionEvent e) { int tblNdx = table.getSelectionIndex(); @@ -767,6 +789,9 @@ } } + /** + * Listens for mouse dragging to move the items around the table + */ private class ItemDragListener extends MouseAdapter implements MouseMoveListener { private boolean down = false; private Algorithm movingAlgorithm; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bea...@us...> - 2006-12-21 20:05:12
|
Revision: 362 http://svn.sourceforge.net/cishell/?rev=362&view=rev Author: bearsfan Date: 2006-12-21 12:05:06 -0800 (Thu, 21 Dec 2006) Log Message: ----------- Added play pause buttons to scheduler view, as well as making the view hideable. Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.scheduler/plugin.xml trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/Activator.java trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java Added Paths: ----------- trunk/clients/gui/org.cishell.reference.gui.scheduler/icons/pause.png trunk/clients/gui/org.cishell.reference.gui.scheduler/icons/play.png trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF 2006-12-21 18:17:26 UTC (rev 361) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF 2006-12-21 20:05:06 UTC (rev 362) @@ -11,5 +11,6 @@ Import-Package: org.cishell.app.service.scheduler, org.cishell.framework, org.cishell.framework.algorithm, - org.cishell.framework.data + org.cishell.framework.data, + org.cishell.reference.gui.workspace Export-Package: org.cishell.reference.gui.scheduler Added: trunk/clients/gui/org.cishell.reference.gui.scheduler/icons/pause.png =================================================================== (Binary files differ) Property changes on: trunk/clients/gui/org.cishell.reference.gui.scheduler/icons/pause.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/clients/gui/org.cishell.reference.gui.scheduler/icons/play.png =================================================================== (Binary files differ) Property changes on: trunk/clients/gui/org.cishell.reference.gui.scheduler/icons/play.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/plugin.xml =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/plugin.xml 2006-12-21 18:17:26 UTC (rev 361) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/plugin.xml 2006-12-21 20:05:06 UTC (rev 362) @@ -1,6 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.2"?> <plugin> + <extension + point="org.eclipse.ui.startup"> + <startup class="org.cishell.reference.gui.scheduler.Activator"/> + </extension> + <extension point="org.eclipse.ui.views"> <view Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/Activator.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/Activator.java 2006-12-21 18:17:26 UTC (rev 361) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/Activator.java 2006-12-21 20:05:06 UTC (rev 362) @@ -3,19 +3,29 @@ import java.io.File; import org.cishell.app.service.scheduler.SchedulerService; +import org.cishell.reference.gui.workspace.CIShellApplication; import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IMenuManager; import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IStartup; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; + /** * The activator class controls the plug-in life cycle */ -public class Activator extends AbstractUIPlugin { +public class Activator extends AbstractUIPlugin implements IStartup { public static final String PLUGIN_ID = "org.cishell.reference.gui.scheduler"; private static Activator plugin; private static BundleContext context; + private boolean waitForBundleContext; public Activator() { plugin = this; @@ -23,7 +33,10 @@ public void start(BundleContext context) throws Exception { super.start(context); - Activator.context = context; + Activator.context = context; + if (waitForBundleContext) { + earlyStartup(); + } } public void stop(BundleContext context) throws Exception { @@ -61,4 +74,49 @@ return null; } } + + public void earlyStartup() { + if (context != null) { + Display.getDefault().asyncExec(new Runnable() { + public void run() { + Action scheduler = new SchedulerAction(); + IMenuManager manager = CIShellApplication.getMenuManager(); + manager = manager.findMenuUsingPath("tools"); + manager.appendToGroup("start", scheduler); + SchedulerView view = SchedulerView.getDefault(); + boolean visible = view != null + && PlatformUI.getWorkbench() + .getActiveWorkbenchWindow().getActivePage() + .isPartVisible(view); + scheduler.setChecked(visible); + CIShellApplication.getMenuManager().update(true); + } + }); + waitForBundleContext = false; + } + else { + waitForBundleContext = true; + } + } + + private class SchedulerAction extends Action { + public SchedulerAction(){ + super("Scheduler", IAction.AS_CHECK_BOX); + setId("scheduler"); + } + + public void run(){ + if(this.isChecked()){ + try { + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(SchedulerView.ID_VIEW); + } catch (PartInitException e) { + e.printStackTrace(); + } + } + else{ + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(SchedulerView.getDefault()); + } + } + } + } Added: trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java (rev 0) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerContentModel.java 2006-12-21 20:05:06 UTC (rev 362) @@ -0,0 +1,119 @@ +package org.cishell.reference.gui.scheduler; + +import java.util.Calendar; +import java.util.Hashtable; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import org.cishell.app.service.scheduler.SchedulerListener; +import org.cishell.app.service.scheduler.SchedulerService; +import org.cishell.framework.algorithm.Algorithm; +import org.cishell.framework.data.Data; + + +public class SchedulerContentModel implements SchedulerListener { + private static final SchedulerContentModel INSTANCE = new SchedulerContentModel(); + + private SchedulerService schedulerService; + private List schedulerListenerList; + private Map classNameToPersistentMap; + + private boolean isRunning; + + private SchedulerContentModel(){ + schedulerService = Activator.getSchedulerService(); + if (schedulerService != null) { + schedulerService.addSchedulerListener(this); + } + schedulerListenerList = new Vector(); + + classNameToPersistentMap = new Hashtable(); + } + + public static SchedulerContentModel getInstance(){ + return INSTANCE; + } + + public void register(SchedulerListener listener) { + schedulerListenerList.add(listener); + } + + public void deregister(SchedulerListener listener) { + schedulerListenerList.remove(listener); + } + + public void persistObject(String className, Object o) { + classNameToPersistentMap.put(className, o); + } + + public Object getPersistedObject(String className) { + return classNameToPersistentMap.get(className); + } + + public boolean isRunning() { + return schedulerService.isRunning(); + } + + public void algorithmError(Algorithm algorithm, Throwable error) { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.algorithmError(algorithm, error); + } + } + + public void algorithmFinished(Algorithm algorithm, Data[] createdData) { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.algorithmFinished(algorithm, createdData); + } + } + + public void algorithmRescheduled(Algorithm algorithm, Calendar time) { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.algorithmRescheduled(algorithm, time); + } + } + + public void algorithmScheduled(Algorithm algorithm, Calendar time) { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.algorithmScheduled(algorithm, time); + } + } + + public void algorithmStarted(Algorithm algorithm) { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.algorithmStarted(algorithm); + } + } + + public void algorithmUnscheduled(Algorithm algorithm) { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.algorithmUnscheduled(algorithm); + } + } + + public void schedulerCleared() { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.schedulerCleared(); + } + } + + public void schedulerRunStateChanged(boolean isRunning) { + if (this.isRunning != isRunning) { + this.isRunning = isRunning; + schedulerService.setRunning(isRunning); + } + else { + for (int i = 0; i < schedulerListenerList.size(); ++i) { + SchedulerListener schedulerListener = (SchedulerListener)schedulerListenerList.get(i); + schedulerListener.schedulerRunStateChanged(this.isRunning); + } + } + } +} Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java 2006-12-21 18:17:26 UTC (rev 361) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerTableItem.java 2006-12-21 20:05:06 UTC (rev 362) @@ -2,9 +2,7 @@ import java.util.Calendar; -import org.cishell.app.service.scheduler.SchedulerService; import org.cishell.framework.algorithm.Algorithm; -import org.cishell.framework.algorithm.AlgorithmProperty; import org.cishell.framework.algorithm.ProgressMonitor; import org.cishell.framework.algorithm.ProgressTrackable; import org.eclipse.swt.SWT; @@ -14,50 +12,50 @@ import org.eclipse.swt.widgets.ProgressBar; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; -import org.osgi.framework.ServiceReference; public class SchedulerTableItem { - private SchedulerService schedulerService; private Algorithm algorithm; - private Calendar cal; + private Calendar cal; private String algorithmLabel; - private Table table; private TableItem tableItem; private TableEditor tableEditor; + private int progressSelection; private ProgressBar progressBar; private static Image checkedImage = Activator.createImage("check.gif"); private static Image uncheckedImage = Activator.createImage("uncheck.gif"); private static Image errorImage = Activator.createImage("error.gif"); + + private boolean encounteredError; private String workBeingDone; private boolean cancelRequested; private boolean pauseRequested; + private boolean started; private boolean done; private boolean isCancellable; private boolean isPauseable; + private boolean isWorkTrackable; private AlgorithmProgressMonitor algorithmProgressMonitor; - public SchedulerTableItem(SchedulerService schedulerService, Algorithm algorithm, - Calendar cal, Table table) { - this.schedulerService = schedulerService; + public SchedulerTableItem( String algorithmLabel, Algorithm algorithm, Calendar cal) { this.algorithm = algorithm; this.cal = cal; - this.table = table; + this.encounteredError = false; + this.cancelRequested = false; + this.started = false; this.done = false; this.isCancellable = false; this.isPauseable = false; + this.isWorkTrackable = false; - final ServiceReference serviceReference = schedulerService.getServiceReference(algorithm); - if (serviceReference != null) { - algorithmLabel = (String)serviceReference.getProperty(AlgorithmProperty.LABEL); - } + this.algorithmLabel = algorithmLabel; if (algorithm instanceof ProgressTrackable) { @@ -74,62 +72,77 @@ pauseRequested = request; } - public void initTableEntry(final int tblNdx) { - done = false; + public void initTableEntry(final Table table, final int tblNdx) { guiRun(new Runnable() { public void run() { - drawTableEntry(tblNdx, uncheckedImage, 0); + drawTableEntry(table, tblNdx); } }); } - public void finishTableEntry(final int tblNdx) { + public void finishTableEntry(final Table table) { done = true; + if (!tableItem.isDisposed()) { guiRun(new Runnable() { public void run() { - int currentTblNdx; - if (tblNdx == -1) { - currentTblNdx = table.indexOf(tableItem); - } - else { - currentTblNdx = tblNdx; - } - tableItem.dispose(); progressBar.dispose(); progressBar = new ProgressBar(table, SWT.NONE); - drawTableEntry(currentTblNdx, checkedImage, progressBar - .getMaximum()); + + progressSelection = progressBar.getMaximum(); + drawTableEntry(table, table.indexOf(tableItem)); } }); } } - public void moveTableEntry(final int tblNdx) { + public void moveTableEntry(final Table table, final int tblNdx) { guiRun(new Runnable() { public void run() { - Image image = tableItem.getImage(SchedulerView.COMPLETED_COLUMN); - int progressSelection = progressBar.getSelection(); - drawTableEntry(tblNdx, image, progressSelection); + //Image image = tableItem.getImage(SchedulerView.COMPLETED_COLUMN); + progressSelection = progressBar.getSelection(); + drawTableEntry(table, tblNdx); } }); } - private void drawTableEntry(final int tblNdx, final Image image, final int progressBarStatus) { + private void drawTableEntry(final Table table, final int tblNdx) { guiRun(new Runnable() { public void run() { if (tableItem != null) { tableItem.dispose(); } tableItem = new TableItem(table, SWT.NONE, tblNdx); - tableItem.setImage(SchedulerView.COMPLETED_COLUMN, image); + + if (done) { + tableItem.setImage(SchedulerView.COMPLETED_COLUMN, checkedImage); + } + else if (encounteredError) { + tableItem.setImage(SchedulerView.COMPLETED_COLUMN, errorImage); + } + else { + tableItem.setImage(SchedulerView.COMPLETED_COLUMN, uncheckedImage); + } + tableItem.setText(SchedulerView.ALGORITHM_COLUMN, algorithmLabel); setCalendar(); - if (progressBar == null) { + if (started) { + //if (progressBar == null || progressBar.isDisposed()) { + if (progressBar != null) + progressBar.dispose(); + if (isWorkTrackable || done) { + progressBar = new ProgressBar(table, SWT.NONE); + progressBar.setSelection(progressSelection); + } else { + progressBar = new ProgressBar(table, + SWT.INDETERMINATE); + } + //} + } + else { progressBar = new ProgressBar(table, SWT.NONE); } - progressBar.setSelection(progressBarStatus); tableEditor = new TableEditor(table); tableEditor.grabHorizontal = tableEditor.grabVertical = true; tableEditor.setEditor(progressBar, tableItem, @@ -137,23 +150,7 @@ } }); } - - private void createIndeterminateProgressBar() { - if (!tableItem.isDisposed()) { - guiRun(new Runnable() { - public void run() { - progressBar.dispose(); - progressBar = new ProgressBar(table, SWT.INDETERMINATE); - tableEditor = new TableEditor(table); - tableEditor.grabHorizontal = tableEditor.grabVertical = true; - tableEditor.setEditor(progressBar, tableItem, - SchedulerView.PERCENT_COLUMN); - } - }); - } - } - private void setCalendar() { guiRun(new Runnable() { public void run() { @@ -165,32 +162,31 @@ }); } - public void algorithmStarted() { - if (!(algorithm instanceof ProgressTrackable)) { - createIndeterminateProgressBar(); - } else { - ProgressMonitor monitor = ((ProgressTrackable) algorithm) - .getProgressMonitor(); - if (monitor == null) { - createIndeterminateProgressBar(); - } - } - } + public void algorithmStarted(Table table) { + done = false; + started = true; + drawTableEntry(table, table.indexOf(tableItem)); + } public void reschedule(Calendar cal) { this.cal = cal; setCalendar(); } - public void errorTableEntry(int tblNdx) { - drawTableEntry(tblNdx, errorImage, progressBar.getSelection()); + public void errorTableEntry(Table table) { + encounteredError = true; + drawTableEntry(table, table.indexOf(tableItem)); } public void refresh() { guiRun(new Runnable() { public void run() { - tableEditor.grabHorizontal = tableEditor.grabVertical = true; - tableEditor.setEditor(progressBar, tableItem, SchedulerView.PERCENT_COLUMN); + if (!progressBar.isDisposed()) { + progressBar.setSelection(progressSelection); + tableEditor.grabHorizontal = tableEditor.grabVertical = true; + tableEditor.setEditor(progressBar, tableItem, + SchedulerView.PERCENT_COLUMN); + } } }); } @@ -265,10 +261,12 @@ } public boolean isCancellable() { + if (done) return false; return isCancellable; } public boolean isPauseable() { + if (done) return false; return isPauseable; } @@ -277,16 +275,16 @@ } public boolean isPaused() { - if (algorithmProgressMonitor.isPaused()) { - return false; + if (algorithmProgressMonitor.isPaused() && !done) { + return true; } else { - return true; + return false; } } public boolean isRunning() { - if (cancelRequested || done) { + if (cancelRequested) { return false; } return true; @@ -295,6 +293,10 @@ public boolean isDone() { return done; } + + public Algorithm getAlgorithm() { + return this.algorithm; + } private class AlgorithmProgressMonitor implements ProgressMonitor { private int totalWorkUnits; @@ -304,7 +306,7 @@ } public void done() { - finishTableEntry(-1); + done = true; } public boolean isCanceled() { @@ -332,8 +334,11 @@ isPauseable = true; } if ((capabilities & ProgressMonitor.WORK_TRACKABLE) > 0){ + refresh(); + isWorkTrackable = true; guiRun(new Runnable() { public void run() { + Table table = (Table)progressBar.getParent(); progressBar.dispose(); progressBar = new ProgressBar(table, SWT.NONE); progressBar.setSelection(progressBar.getMinimum()); @@ -347,15 +352,16 @@ } public void worked(final int work) { - if (!progressBar.isDisposed()) { - final int totalWorkUnits = this.totalWorkUnits; - guiRun(new Runnable() { - public void run() { - int progress = (int) (progressBar.getMaximum() * ((double) work / (double) totalWorkUnits)); - progressBar.setSelection(progress); + // final int totalWorkUnits = this.totalWorkUnits; + guiRun(new Runnable() { + public void run() { + if (!progressBar.isDisposed()) { + progressSelection = (int) (progressBar.getMaximum() * ((double) work / (double) totalWorkUnits)); + // progressBar.setSelection(progress); } - }); - } + } + }); + refresh(); } } -} +} \ No newline at end of file Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java 2006-12-21 18:17:26 UTC (rev 361) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/src/org/cishell/reference/gui/scheduler/SchedulerView.java 2006-12-21 20:05:06 UTC (rev 362) @@ -7,23 +7,24 @@ * http://www.apache.org/licenses/LICENSE-2.0.html * * Created on Aug 21, 2006 at Indiana University. + * Changed on Dec 19, 2006 at Indiana University * * Contributors: - * Weixia(Bonnie) Huang, Bruce Herr + * Weixia(Bonnie) Huang, Bruce Herr, Ben Markines * School of Library and Information Science, Indiana University * ***************************************************************************/ package org.cishell.reference.gui.scheduler; -import java.util.ArrayList; import java.util.Calendar; +import java.util.Collections; import java.util.Hashtable; import java.util.Iterator; -import java.util.List; import java.util.Map; +import java.util.Set; import org.cishell.app.service.scheduler.SchedulerListener; -import org.cishell.app.service.scheduler.SchedulerService; import org.cishell.framework.algorithm.Algorithm; +import org.cishell.framework.algorithm.AlgorithmProperty; import org.cishell.framework.algorithm.ProgressMonitor; import org.cishell.framework.algorithm.ProgressTrackable; import org.cishell.framework.data.Data; @@ -51,25 +52,31 @@ import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; import org.eclipse.ui.part.ViewPart; +import org.osgi.framework.ServiceReference; /** + * Creates and maintains the overall GUI for the scheduler. Controls the + * table and controls (moving, removing, etc.). + * * @author Ben Markines (bma...@cs...) */ public class SchedulerView extends ViewPart implements SchedulerListener { + private static SchedulerView schedulerView; + public static final String ID_VIEW = "org.cishell.reference.gui.scheduler.SchedulerView"; + private static Image upImage = Activator.createImage("up.gif"); private static Image downImage = Activator.createImage("down.gif"); - private static Image playImage = Activator.createImage("play.jpeg"); - private static Image pauseImage = Activator.createImage("pause.jpeg"); + private static Image playImage = Activator.createImage("play.png"); + private static Image pauseImage = Activator.createImage("pause.png"); + - private SchedulerService schedulerService; + private SchedulerContentModel schedulerContentModel; private Map algorithmToGuiItemMap; private Map tableItemToAlgorithmMap; - private List algorithmDoneList; private static Composite parent; - //private Button scheduleButton; private Button removeButton; private Button removeAutomatically; private Button up; @@ -77,15 +84,15 @@ private Menu menu; - private Button algorithmStateButton; - private boolean isActive; + private Button pauseStateButton; + private Button playStateButton; private Table table; private boolean autoRemove; - public static final int PAUSE_INDEX = 0; - public static final int CANCEL_INDEX = 1; - public static final int START_INDEX = 2; + public static final int RESUME_INDEX = 0; + public static final int PAUSE_INDEX = 1; + public static final int CANCEL_INDEX = 2; private PauseListener pauseListener; private CancelListener cancelListener; @@ -99,65 +106,45 @@ /** - * Constructor + * Registers itself to a model, and creates the map from algorithm to + * GUI item. */ public SchedulerView() { - schedulerService = Activator.getSchedulerService(); - if (schedulerService != null) { - schedulerService.addSchedulerListener(this); - } - algorithmToGuiItemMap = new Hashtable(); - tableItemToAlgorithmMap = new Hashtable(); - algorithmDoneList = new ArrayList(); - isActive = true; + schedulerContentModel = SchedulerContentModel.getInstance(); + + schedulerContentModel.register(this); + algorithmToGuiItemMap = (Map)schedulerContentModel.getPersistedObject(this.getClass().getName()); + if (algorithmToGuiItemMap == null) { + algorithmToGuiItemMap = Collections.synchronizedMap(new Hashtable()); + } + else { + algorithmToGuiItemMap = Collections.synchronizedMap(algorithmToGuiItemMap); + } + schedulerView = this; } + + /** + * Get the current scheduler view + * @return The scheduler view + */ + public static SchedulerView getDefault() { + return schedulerView; + } /** - * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) - */ + * Creates buttons, table, and registers listeners + * + * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) + * @param parent The SWT parent + */ public void createPartControl(Composite parent) { this.parent = parent; Composite control = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 4; - control.setLayout(layout); - //create the buttons - //scheduleButton = new Button(control, SWT.PUSH); - //scheduleButton.setText("Schedule..."); - //scheduleButton.setToolTipText( - // "Reschedule the selected item to another " + "date/time"); - //scheduleButton.setEnabled(false); - /* - scheduleButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - //this button is only enabled if a single selection is made - SchedulerItem item = currentSelection[0]; - SchedulerDialog dialog = new SchedulerDialog(); - Algorithm algorithm = item.getAlgorithm(); - IVC.getInstance().getScheduler().block(algorithm); - - boolean success = dialog.open(); - - if (success) { - Calendar date = dialog.getDate(); - boolean rescheduled = IVC.getInstance().getScheduler() - .reschedule(algorithm, date); - - if (rescheduled) { - //a new item is created on reschedule, get rid of the old one - //first set the name, this is a bit of a hack right now.. - model.getMostRecentAddition().setName(item.getName()); - model.remove(item); - } - } - - IVC.getInstance().getScheduler().unblock(algorithm); - } - }); - */ removeButton = new Button(control, SWT.PUSH); removeButton.setText("Remove From List"); removeButton.setEnabled(true); @@ -168,6 +155,7 @@ } }); + removeAutomatically = new Button(control, SWT.CHECK); removeAutomatically.setText("Remove completed automatically"); removeAutomatically.addSelectionListener(new SelectionAdapter() { @@ -179,31 +167,42 @@ Button removeAllCompleted = new Button(control, SWT.PUSH); removeAllCompleted.setText("Remove all completed"); removeAllCompleted.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - removeCompleted(); - refresh(); - } - }); + public void widgetSelected(SelectionEvent e) { + removeCompleted(); + refresh(); + } + }); -// algorithmStateButton = new Button(control, SWT.PUSH); -// algorithmStateButton.setImage(pauseImage); -// algorithmStateButton.addSelectionListener(new SelectionAdapter() { -// public void widgetSelected(SelectionEvent e) { -// if (isActive) { -// schedulerService.setRunning(false); -// } -// else { -// schedulerService.setRunning(true); -// } -// } -// }); + playStateButton = new Button(control, SWT.PUSH); + playStateButton.setImage(playImage); + playStateButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + //schedulerService.setRunning(true); + schedulerContentModel.schedulerRunStateChanged(true); + } + }); + pauseStateButton = new Button(control, SWT.PUSH); + pauseStateButton.setImage(pauseImage); + pauseStateButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + //schedulerService.setRunning(false); + schedulerContentModel.schedulerRunStateChanged(false); + } + }); - GridData removeAllCompletedData = new GridData(); - removeAllCompletedData.horizontalAlignment = SWT.RIGHT; + if (schedulerContentModel.isRunning()) { + playStateButton.setEnabled(false); + } + else { + pauseStateButton.setEnabled(false); + } + + GridData removeAllCompletedData = new GridData(); + removeAllCompletedData.horizontalAlignment = SWT.RIGHT; removeAllCompleted.setLayoutData(removeAllCompletedData); - //composite for up and down buttons and table + // composite for up and down buttons for table entries Composite tableComposite = new Composite(control, SWT.NONE); GridLayout tableCompositeLayout = new GridLayout(); tableCompositeLayout.numColumns = 2; @@ -237,15 +236,19 @@ // Create the table createTable(tableComposite); + createTableEntries(table); table.addSelectionListener(new TableListener()); - //table.addMouseListener(new ContextMenuListener()); - //Set right click menu menu = new Menu(table); menu.setVisible(false); + MenuItem startItem = new MenuItem(menu, SWT.PUSH); + startItem.setText("resume"); + startListener = new StartListener(); + startItem.addListener(SWT.Selection, startListener); + MenuItem pauseItem = new MenuItem(menu, SWT.PUSH); pauseItem.setText("pause"); pauseListener = new PauseListener(); @@ -256,27 +259,10 @@ cancelListener = new CancelListener(); cancelItem.addListener(SWT.Selection, cancelListener); - MenuItem startItem = new MenuItem(menu, SWT.PUSH); - startItem.setText("start"); - startListener = new StartListener(); - startItem.addListener(SWT.Selection, startListener); - table.setMenu(menu); GridData gridData = new GridData(GridData.FILL_BOTH); table.setLayoutData(gridData); - - /* - IMenuManager menu = IVCApplication.getMenuManager(); - IContributionItem item = menu.findUsingPath("tools/scheduler"); - if(item != null){ - final IAction action = ((ActionContributionItem) item).getAction(); - action.setChecked(true); - } - - //initialize based on data in the model - refreshView(); - */ } public void setFocus() { @@ -284,84 +270,169 @@ } - public void algorithmError(Algorithm algorithm, Throwable error) { - SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); - schedulerTableItem.errorTableEntry(table.indexOf(schedulerTableItem.getTableItem())); + /** + * Notifies the corresponding table item of the offending algorithm + * @param algorithm The algorithm that errored + * @param error The throwable object + */ + public void algorithmError(final Algorithm algorithm, Throwable error) { + guiRun(new Runnable() { + public void run() { + SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); + if (schedulerTableItem != null) + schedulerTableItem.errorTableEntry(table); + } + }); refresh(); } + /** + * Notifies the corresponding table entry when an algorithm has completed + * its' task + * + * @param algorithm The finished task + * @param createData List of data objects created + */ public void algorithmFinished(Algorithm algorithm, Data[] createdData) { SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); if (schedulerTableItem != null) { - TableItem tableItem = schedulerTableItem.getTableItem(); - tableItemToAlgorithmMap.remove(tableItem); - - schedulerTableItem.finishTableEntry(-1); + schedulerTableItem.finishTableEntry(table); + tableItemToAlgorithmMap.put(schedulerTableItem.getTableItem(), algorithm); if (autoRemove) { schedulerTableItem.remove(); + TableItem tableItem = schedulerTableItem.getTableItem(); + tableItemToAlgorithmMap.remove(tableItem); algorithmToGuiItemMap.remove(algorithm); - } else { - tableItem = schedulerTableItem.getTableItem(); - tableItemToAlgorithmMap.put(tableItem, algorithm); - algorithmDoneList.add(algorithm); - } + } } refresh(); } + /** + * Notifies the corresponding table item of an algorithm being rescheduled + * @param algorithm The task that is rescheduled + * @param time The rescheduled time + */ public void algorithmRescheduled(Algorithm algorithm, Calendar time) { SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); - schedulerTableItem.reschedule(time); + if (schedulerTableItem != null) + schedulerTableItem.reschedule(time); refresh(); } - public void algorithmScheduled(Algorithm algorithm, Calendar cal) { - SchedulerTableItem schedulerTableItem = new SchedulerTableItem(schedulerService, algorithm, cal, table); - schedulerTableItem.initTableEntry(0); - algorithmToGuiItemMap.put(algorithm, schedulerTableItem); + /** + * Creates a table item for the the algorithm, and adds an entry to the + * appropriate maps. + * @param algorithm The task that is to execute + * @param cal When the task will begin execution + */ + public void algorithmScheduled(final Algorithm algorithm, final Calendar cal) { + final Table table = this.table; + guiRun(new Runnable() { + public void run() { + ServiceReference serviceReference = Activator + .getSchedulerService().getServiceReference(algorithm); + String algorithmLabel = ""; + if (serviceReference != null) { + algorithmLabel = (String) serviceReference + .getProperty(AlgorithmProperty.LABEL); + } + + SchedulerTableItem schedulerTableItem = new SchedulerTableItem( + algorithmLabel, algorithm, cal); + schedulerTableItem.initTableEntry(table, 0); + algorithmToGuiItemMap.put(algorithm, schedulerTableItem); + + TableItem tableItem = schedulerTableItem.getTableItem(); + tableItemToAlgorithmMap.put(tableItem, algorithm); + } + }); - TableItem tableItem = schedulerTableItem.getTableItem(); - tableItemToAlgorithmMap.put(tableItem, algorithm); - refresh(); } - - public void algorithmStarted(Algorithm algorithm) { - SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); - schedulerTableItem.algorithmStarted(); + + /** + * Notifies the corresponding table item that an algorithm has started + * @param algorithm The task that is started + */ + public void algorithmStarted(final Algorithm algorithm) { + guiRun(new Runnable() { + public void run() { + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap + .get(algorithm); + schedulerTableItem.algorithmStarted(table); + TableItem tableItem = schedulerTableItem.getTableItem(); + tableItemToAlgorithmMap.put(tableItem, algorithm); + } + }); refresh(); } + /** + * Notifies the corresponding table item that an algorithm became unscheduled + * @param algorithm The task that became unscheduled + */ public void algorithmUnscheduled(Algorithm algorithm) { SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); schedulerTableItem.remove(); refresh(); } + /** + * Clear the current scheduler of all jobs + */ public void schedulerCleared() { - for (Iterator i = algorithmToGuiItemMap.values().iterator(); i.hasNext();) { - SchedulerTableItem schedulerTableItem = (SchedulerTableItem)i.next(); + for (Iterator i = algorithmToGuiItemMap.values().iterator(); i + .hasNext();) { + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) i + .next(); schedulerTableItem.remove(); - } - algorithmToGuiItemMap.clear(); - tableItemToAlgorithmMap.clear(); + } + algorithmToGuiItemMap.clear(); + tableItemToAlgorithmMap.clear(); refresh(); } + /** + * Notification of the state of the scheduler has changed + * @param isRunning Flag determining if the scheduler is running + */ public void schedulerRunStateChanged(boolean isRunning) { - isActive = isRunning; - if (isActive) { - algorithmStateButton.setImage(pauseImage); + if (isRunning) { + pauseStateButton.setEnabled(true); + playStateButton.setEnabled(false); } else { - algorithmStateButton.setImage(playImage); + playStateButton.setEnabled(true); + pauseStateButton.setEnabled(false); } refresh(); } - - /* - * Create the Table control - */ + + /** + * This will create the table entries if there are any in the map + * @param table The parent table to create the entries + */ + private void createTableEntries(Table table) { + Set keys = algorithmToGuiItemMap.keySet(); + + tableItemToAlgorithmMap = Collections.synchronizedMap(new Hashtable()); + + for (Iterator i = keys.iterator(); i.hasNext();) { + Algorithm algorithm = (Algorithm) i.next(); + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap + .get(algorithm); + schedulerTableItem.initTableEntry(table, 0); + + TableItem tableItem = schedulerTableItem.getTableItem(); + tableItemToAlgorithmMap.put(tableItem, algorithm); + } + } + + /** + * Create the Table control + * @param parent The parent of the Table + */ private void createTable(Composite parent) { int style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION; @@ -395,23 +466,6 @@ column.setText("% Complete"); column.setWidth(120); -// //selection listener to keep currentSelection variable up to date -// table.addSelectionListener(new SelectionAdapter() { -// public void widgetSelected(SelectionEvent e) { -// TableItem[] selection = table.getSelection(); -// currentSelection = new SchedulerItem[selection.length]; -// -// for (int i = 0; i < selection.length; i++) { -// SchedulerItem item = SchedulerItem.getSchedulerItem(selection[i]); -// currentSelection[i] = item; -// } -// -// updateUpAndDown(); -// refreshButtons(); -// } -// }); -// -// //key listener to allow you to remove items with the delete key table.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.DEL) { @@ -427,48 +481,77 @@ table.addMouseListener(dragListener); } + /** + * Remove all of the table items that are selected + */ private void removeSelection() { - TableItem[] tableItems = table.getSelection(); - - for (int i = 0; i < tableItems.length; ++i) { - for (Iterator j = algorithmToGuiItemMap.keySet().iterator(); j.hasNext();) { - Algorithm algorithm = (Algorithm)j.next(); - SchedulerTableItem schedulerTableItem = - (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); - if (tableItems[i].equals(schedulerTableItem.getTableItem())) { - if (algorithmIsProgressTrackable(algorithm)) { - ProgressMonitor monitor = ((ProgressTrackable)algorithm).getProgressMonitor(); - monitor.setCanceled(true); - } - schedulerTableItem.remove(); - algorithmToGuiItemMap.remove(algorithm); - break; - } - } - } - } - + TableItem[] tableItems = table.getSelection(); + for (int i = 0; i < tableItems.length; ++i) { + for (Iterator j = algorithmToGuiItemMap.keySet().iterator(); j + .hasNext();) { + Algorithm algorithm = (Algorithm) j.next(); + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap + .get(algorithm); + if (tableItems[i].equals(schedulerTableItem.getTableItem())) { + if (algorithmIsProgressTrackable(algorithm)) { + ProgressMonitor monitor = ((ProgressTrackable) algorithm) + .getProgressMonitor(); + monitor.setCanceled(true); + } + schedulerTableItem.remove(); + algorithmToGuiItemMap.remove(algorithm); + break; + } + } + } + } + + /** + * Removes the elements that have completed + * + */ private void removeCompleted() { - for (Iterator i = algorithmDoneList.iterator(); i.hasNext();) { - Object pid = i.next(); - SchedulerTableItem schedulerTableItem = - (SchedulerTableItem)algorithmToGuiItemMap.get(pid); - if (schedulerTableItem != null) { + for (Iterator i = algorithmToGuiItemMap.values().iterator(); i + .hasNext();) { + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) i + .next(); + if (schedulerTableItem.isDone()) { + i.remove(); schedulerTableItem.remove(); - algorithmToGuiItemMap.remove(pid); } - } - algorithmDoneList.clear(); - } + } + } - private void refresh() { - for (Iterator i = algorithmToGuiItemMap.values().iterator(); i.hasNext();) { - SchedulerTableItem schedulerTableItem = (SchedulerTableItem)i.next(); + /** + * Cleans the tableItemToAlgorithmMap of disposed items. Refreshes + * each active table item. Refreshes the up and down buttons. + * + */ + private void refresh() { + for (Iterator i = tableItemToAlgorithmMap.keySet().iterator(); i + .hasNext();) { + final TableItem tableItem = (TableItem) i.next(); + if (tableItem.isDisposed()) { + i.remove(); + } + } + + for (Iterator i = algorithmToGuiItemMap.values().iterator(); i + .hasNext();) { + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) i + .next(); schedulerTableItem.refresh(); - } - refreshUpAndDownButtons(); - } + } + refreshUpAndDownButtons(); + } + /** + * Check whether or not the algorithm implements the interface + * ProgressTrackable + * + * @param algorithm The algorithm to interrogate + * @return Whether or not the algorithm is trackable + */ private boolean algorithmIsProgressTrackable(Algorithm algorithm) { if (algorithm != null) { ProgressMonitor monitor = ((ProgressTrackable) algorithm) @@ -480,31 +563,49 @@ return false; } + /** + * Given an + * @param algorithm + */ private void setEnabledMenuItems(Algorithm algorithm) { SchedulerTableItem schedulerTableItem = (SchedulerTableItem)algorithmToGuiItemMap.get(algorithm); - if (!schedulerTableItem.isRunning()) { + //if (!schedulerTableItem.isRunning()) { for (int i = 0; i < menu.getItemCount(); ++i) { MenuItem menuItem = menu.getItem(i); menuItem.setEnabled(false); } - } - else { - MenuItem menuItem = menu.getItem(CANCEL_INDEX); - menuItem.setEnabled(schedulerTableItem.isCancellable()); + //} + //else { + if (schedulerTableItem.isRunning() && schedulerTableItem.isCancellable()) { + MenuItem menuItem = menu.getItem(CANCEL_INDEX); + menuItem.setEnabled(true); + //} + //else { + // MenuItem menuItem = menu.getItem(CANCEL_INDEX); + // menuItem.setEnabled(false); + } - if (schedulerTableItem.isPaused()) { - menuItem = menu.getItem(PAUSE_INDEX); - menuItem.setEnabled(schedulerTableItem.isPauseable()); - menuItem = menu.getItem(START_INDEX); - menuItem.setEnabled(false); - } else { - menuItem = menu.getItem(PAUSE_INDEX); - menuItem.setEnabled(false); - menuItem = menu.getItem(START_INDEX); - menuItem.setEnabled(schedulerTableItem.isPauseable()); + if (schedulerTableItem.isPauseable()) { + if (schedulerTableItem.isPaused()) { + //MenuItem menuItem = menu.getItem(PAUSE_INDEX); + //menuItem.setEnabled(false); + MenuItem menuItem = menu.getItem(RESUME_INDEX); + menuItem.setEnabled(true); + } else { + MenuItem menuItem = menu.getItem(PAUSE_INDEX); + menuItem.setEnabled(true); + //menuItem = menu.getItem(RESUME_INDEX); + //menuItem.setEnabled(false); + } } - } + //else { + // MenuItem menuItem = menu.getItem(PAUSE_INDEX); + // menuItem.setEnabled(false); + // menuItem = menu.getItem(RESUME_INDEX); + // menuItem.setEnabled(false); + //} + //} } private void moveTableItems(int ndxToMove, int destNdx) { @@ -516,7 +617,7 @@ SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap .get(algorithm); - schedulerTableItem.moveTableEntry(destNdx); + schedulerTableItem.moveTableEntry(table, destNdx); table.setSelection(destNdx); TableItem tableItem = schedulerTableItem.getTableItem(); @@ -558,6 +659,11 @@ Display.getDefault().syncExec(run); } } + + public void dispose() { + schedulerContentModel.persistObject(this.getClass().getName(), algorithmToGuiItemMap); + schedulerContentModel.deregister(this); + } private class TableListener extends SelectionAdapter { @@ -567,17 +673,17 @@ TableItem item = items[i]; Algorithm algorithm = (Algorithm) tableItemToAlgorithmMap .get(item); - if (algorithmIsProgressTrackable(algorithm)) { - removeButton.setEnabled(true); - setEnabledMenuItems(algorithm); - } else { - SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap - .get(algorithm); - if (schedulerTableItem.isDone()) { + if (algorithm != null) { + if (algorithmIsProgressTrackable(algorithm)) { removeButton.setEnabled(true); } else { - removeButton.setEnabled(false); - break; + SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap + .get(algorithm); + if (schedulerTableItem.isDone()) { + removeButton.setEnabled(true); + } else { + removeButton.setEnabled(false); + } } setEnabledMenuItems(algorithm); } @@ -645,24 +751,6 @@ int tblNdx = table.getSelectionIndex(); if (tblNdx != -1) { moveTableItems(tblNdx, tblNdx-1); -// -// TableItem item = table.getItem(tblNdx); -// if (item != null && tblNdx > 0) { -// Algorithm algorithm = (Algorithm) tableItemToAlgorithmMap -// .get(item); -// tableItemToAlgorithmMap.remove(item); -// item.dispose(); -// -// SchedulerTableItem schedulerTableItem = (SchedulerTableItem) algorithmToGuiItemMap -// .get(algorithm); -// schedulerTableItem.createTableEntry(tblNdx-1); -// table.setSelection(tblNdx-1); -// -// TableItem tableItem = schedulerTableItem.getTableItem(); -// tableItemToAlgorithmMap.put(tableItem, algorithm); -// -// refresh(); -// } } } } @@ -707,11 +795,11 @@ //reset the selected item and set the flag that the mouse is down public void mouseDown(MouseEvent e) { + TableItem item = table.getItem(new Point(e.x, e.y)); + if(item == null) return; + if (e.button == 1) { down = true; - - TableItem item = table.getItem(new Point(e.x, e.y)); - if(item == null) return; movingAlgorithm = (Algorithm) tableItemToAlgorithmMap.get(item); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bea...@us...> - 2006-12-21 18:17:32
|
Revision: 361 http://svn.sourceforge.net/cishell/?rev=361&view=rev Author: bearsfan Date: 2006-12-21 10:17:26 -0800 (Thu, 21 Dec 2006) Log Message: ----------- Added an unsynchronized map for retrieving a ServiceReference Modified Paths: -------------- trunk/core/org.cishell.reference/src/org/cishell/reference/app/service/scheduler/SchedulerServiceImpl.java Modified: trunk/core/org.cishell.reference/src/org/cishell/reference/app/service/scheduler/SchedulerServiceImpl.java =================================================================== --- trunk/core/org.cishell.reference/src/org/cishell/reference/app/service/scheduler/SchedulerServiceImpl.java 2006-12-21 02:55:51 UTC (rev 360) +++ trunk/core/org.cishell.reference/src/org/cishell/reference/app/service/scheduler/SchedulerServiceImpl.java 2006-12-21 18:17:26 UTC (rev 361) @@ -223,6 +223,7 @@ public void setRunning(boolean isRunning) { _algSchedulerTask.setRunning(isRunning); + _schedulerListenerInformer.schedulerRunStateChanged(isRunning); } } @@ -312,6 +313,7 @@ class AlgSchedulerTask extends TimerTask implements SchedulerListener { private Map _algMap; + private Map _algServiceMap; private volatile boolean _running = true; // Default allow as many as needed @@ -349,6 +351,7 @@ public AlgSchedulerTask(SchedulerListener listener) { _algMap = Collections.synchronizedMap(new HashMap()); + _algServiceMap = new HashMap(); setSchedulerListener(listener); } @@ -356,13 +359,8 @@ _schedulerListener = listener; } - public synchronized final ServiceReference getServiceReference(Algorithm algorithm) { - AlgorithmTask task = (AlgorithmTask)_algMap.get(algorithm); - if (task != null) { - return task.getServiceReference(); - } else { - return null; - } + public final ServiceReference getServiceReference(Algorithm algorithm) { + return (ServiceReference) _algServiceMap.get(algorithm); } public synchronized final Calendar getScheduledTime(Algorithm algorithm) { @@ -420,6 +418,7 @@ } public synchronized final void registerAlgorithmTask(Algorithm algorithm, AlgorithmTask algorithmTask) { + this._algServiceMap.put(algorithm, algorithmTask.getServiceReference()); this._algMap.put(algorithm, algorithmTask); } @@ -445,8 +444,10 @@ while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); AlgorithmTask task = (AlgorithmTask) entry.getValue(); - if (task.getState() == STATE.STOPPED) + if (task.getState() == STATE.STOPPED) { iter.remove(); + _algServiceMap.remove(entry.getKey()); + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2006-12-21 02:55:54
|
Revision: 360 http://svn.sourceforge.net/cishell/?rev=360&view=rev Author: huangb Date: 2006-12-20 18:55:51 -0800 (Wed, 20 Dec 2006) Log Message: ----------- update version Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF Modified: trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF 2006-12-21 02:44:54 UTC (rev 359) +++ trunk/clients/gui/org.cishell.reference.gui.scheduler/META-INF/MANIFEST.MF 2006-12-21 02:55:51 UTC (rev 360) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Scheduler GUI Plug-in Bundle-SymbolicName: org.cishell.reference.gui.scheduler;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.reference.gui.scheduler.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <hu...@us...> - 2006-12-21 02:44:57
|
Revision: 359 http://svn.sourceforge.net/cishell/?rev=359&view=rev Author: huangb Date: 2006-12-20 18:44:54 -0800 (Wed, 20 Dec 2006) Log Message: ----------- update version and change the label shown up in the menu Modified Paths: -------------- trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/META-INF/MANIFEST.MF trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/OSGI-INF/algorithm.properties Modified: trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/META-INF/MANIFEST.MF =================================================================== --- trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/META-INF/MANIFEST.MF 2006-12-20 22:39:09 UTC (rev 358) +++ trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/META-INF/MANIFEST.MF 2006-12-21 02:44:54 UTC (rev 359) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: My algorithm tester Bundle-SymbolicName: org.my.algorithm.test -Bundle-Version: 0.0.1 +Bundle-Version: 0.3.0 Bundle-ClassPath: . Bundle-Localization: plugin Import-Package: org.cishell.framework, Modified: trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/OSGI-INF/algorithm.properties =================================================================== --- trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/OSGI-INF/algorithm.properties 2006-12-20 22:39:09 UTC (rev 358) +++ trunk/examples/org.cishell.tests.ProgressTrackableAlgorithm/OSGI-INF/algorithm.properties 2006-12-21 02:44:54 UTC (rev 359) @@ -1,6 +1,6 @@ -menu_path=Test/algorithm -label=Algorithm Tester -description=This algorithm does tests for me not you +menu_path=File/Test/additions +label=Scheduler Tester +description=This algorithm is used to test the basic scheduler features in_data=null out_data=null service.pid=org.cishell.tests.ProgressTrackableAlgorithm.AlgorithmTest This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2006-12-20 22:39:11
|
Revision: 358 http://svn.sourceforge.net/cishell/?rev=358&view=rev Author: bh2 Date: 2006-12-20 14:39:09 -0800 (Wed, 20 Dec 2006) Log Message: ----------- updated the example algorithms available for the cishell reference installation Modified Paths: -------------- trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml Modified: trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml 2006-12-20 22:38:38 UTC (rev 357) +++ trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml 2006-12-20 22:39:09 UTC (rev 358) @@ -107,111 +107,104 @@ unpack="false"/> <plugin - id="edu.iu.iv.preprocessing.directoryhierarchyreader" + id="edu.iu.iv.search.p2p.bfs" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.iv.search.p2p.bfs" + id="edu.iu.iv.search.p2p.randomwalk" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.iv.search.p2p.randomwalk" + id="edu.iu.nwb.converter.junggraphml" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.iv.treemap" + id="edu.iu.nwb.converter.jungpajeknet" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.iv.visualization.treeviz" + id="edu.iu.nwb.converter.jungprefuse" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.converter.junggraphml" + id="edu.iu.nwb.converter.prefusexgmml" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.converter.jungpajeknet" + id="edu.iu.nwb.visualization.jungnetworklayout" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.converter.jungprefuse" + id="edu.iu.nwb.visualization.radialgraph" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.converter.prefusegraphml" + id="org.prefuse.lib" download-size="0" install-size="0" - version="0.0.0" - unpack="false"/> + version="0.0.0"/> <plugin - id="edu.iu.nwb.converter.prefusexgmml" + id="edu.iu.nwb.converter.nwb" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.visualization.forcedirectedlayout" + id="edu.iu.nwb.converter.nwbgraphml" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.visualization.jungnetworklayout" + id="edu.iu.nwb.converter.jungprefusebeta" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.visualization.radialgraph" + id="edu.iu.nwb.visualization.prefuse.beta" download-size="0" install-size="0" version="0.0.0" unpack="false"/> <plugin - id="org.prefuse.lib" + id="edu.iu.nwb.preprocessing.prefuse.beta.directoryhierarchyreader" download-size="0" install-size="0" - version="0.0.0"/> - - <plugin - id="edu.iu.nwb.converter.nwb" - download-size="0" - install-size="0" version="0.0.0" unpack="false"/> <plugin - id="edu.iu.nwb.converter.nwbgraphml" + id="edu.iu.nwb.analysis.pathfindergraphnetworkscaling" download-size="0" install-size="0" version="0.0.0" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2006-12-20 22:38:43
|
Revision: 357 http://svn.sourceforge.net/cishell/?rev=357&view=rev Author: bh2 Date: 2006-12-20 14:38:38 -0800 (Wed, 20 Dec 2006) Log Message: ----------- fixed typo in thanks.txt Modified Paths: -------------- trunk/deployment/cishell-installer/thanks.txt Modified: trunk/deployment/cishell-installer/thanks.txt =================================================================== --- trunk/deployment/cishell-installer/thanks.txt 2006-12-20 19:31:24 UTC (rev 356) +++ trunk/deployment/cishell-installer/thanks.txt 2006-12-20 22:38:38 UTC (rev 357) @@ -1,8 +1,8 @@ Installation of CIShell: Cyberinfrastructure Shell was successful! -This release adds full Max OSX support, a brand new algorithm Scheduler GUI, +This release adds full Mac OSX support, a brand new algorithm Scheduler GUI, expanded windows executable support for batch files, some small GUI -improvements, new Visualizations and fixes to old ones, and many bug fixes. +improvements, new visualizations and fixes to old ones, and many bug fixes. If you have any problems, please contact the CIShell development team at cis...@li.... This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2006-12-20 19:31:35
|
Revision: 356 http://svn.sourceforge.net/cishell/?rev=356&view=rev Author: bh2 Date: 2006-12-20 11:31:24 -0800 (Wed, 20 Dec 2006) Log Message: ----------- updated the conversion graph sampledata and added netscie sampledata to the cishell reference installation Modified Paths: -------------- trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml Added Paths: ----------- trunk/deployment/cishell-installer/sampledata/Network/netsci06-conference.net Modified: trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml 2006-12-20 19:17:15 UTC (rev 355) +++ trunk/deployment/cishell-installer/sampledata/Network/conversionGraph.graphml.xml 2006-12-20 19:31:24 UTC (rev 356) @@ -5,20 +5,21 @@ <node id="1" label="edu.berkeley.guir.prefuse.graph.Graph" /> <node id="2" label="prefuse.data.Graph" /> <node id="3" label="file:text/graphml+xml" /> -<node id="4" label="file:application/pajek" /> +<node id="4" label="edu.uci.ics.jung.graph.Graph" /> <node id="5" label="file:text/xgmml+xml" /> -<node id="6" label="edu.uci.ics.jung.graph.Graph" /> +<node id="6" label="file:application/pajek" /> <node id="7" label="file:text/nwb" /> +<edge source="4" target="1" directed="true"/> <edge source="1" target="5" directed="true"/> +<edge source="3" target="4" directed="true"/> <edge source="3" target="7" directed="true"/> <edge source="4" target="6" directed="true"/> -<edge source="6" target="1" directed="true"/> -<edge source="2" target="3" directed="true"/> +<edge source="4" target="3" directed="true"/> +<edge source="1" target="4" directed="true"/> +<edge source="2" target="4" directed="true"/> +<edge source="5" target="1" directed="true"/> +<edge source="4" target="2" directed="true"/> <edge source="6" target="4" directed="true"/> -<edge source="5" target="1" directed="true"/> -<edge source="6" target="3" directed="true"/> <edge source="7" target="3" directed="true"/> -<edge source="3" target="6" directed="true"/> -<edge source="3" target="2" directed="true"/> </graph> </graphml> Added: trunk/deployment/cishell-installer/sampledata/Network/netsci06-conference.net =================================================================== --- trunk/deployment/cishell-installer/sampledata/Network/netsci06-conference.net (rev 0) +++ trunk/deployment/cishell-installer/sampledata/Network/netsci06-conference.net 2006-12-20 19:31:24 UTC (rev 356) @@ -0,0 +1,662 @@ +*Vertices 168 + 1 "Jimi Adams" 0.1000 0.0365 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 2 "Prof. Manju Ahuja" 0.4509 0.3030 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 3 "Prof. Craig M Allen" 0.5500 0.3304 0.5000 + 4 "Mr. Nicholas Altieri" 0.1000 0.4382 0.5000 + 5 "Prof. Dimitris G Assimakopoulos" 0.7000 0.3481 0.5000 + 6 "Sricharan Ayyalasomayajula" 0.5484 0.6814 0.5000 + 7 "Ms. Duygu Balcan" 0.3500 0.2686 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 8 "Dr. Ariel Balter" 0.3497 0.3698 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 9 "Prof. David C Bangert" 0.4500 0.4231 0.5000 + 10 "Prof. Albert-Laszlo Barabasi" 0.9000 0.6369 0.5000 sh ellipse ic Blue bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 11 "Dr. Jozsef Baranyi" 0.1000 0.5300 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 12 "Dr. Alain Barrat" 0.3500 0.1802 0.5000 + 13 "Dr. Marc Barthelemy" 0.7000 0.8083 0.5000 + 14 "Mr. Wieslaw Bartkowski" 0.7000 0.2756 0.5000 + 15 "Prof. Phillip Bonacich" 0.1000 0.0781 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 16 "Dr. Katy Borner" 0.3503 0.3134 0.5000 sh ellipse ic Blue bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 17 "Kevin Boyack" 0.7500 0.6352 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 18 "Dr. Denis Boyer" 0.4500 0.4505 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 19 "Mr. Christian Briggs" 0.7000 0.2049 0.5000 + 20 "Mr. Nathaniel Bulkley" 0.6500 0.3772 0.5000 + 21 "Mr. John Burgoon" 0.0987 0.1111 0.5000 + 22 "Prof. Agusti Canals Parera" 0.7994 0.4618 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 23 "Mr. Shai Carmi" 0.7006 0.6797 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 24 "Alessandro Chessa" 0.3500 0.1572 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 25 "Dr. Carol Choksy" 0.5500 0.2367 0.5000 + 26 "Mr. Aaron Clauset" 0.5503 0.5174 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 27 "Ms. Margaret Clements" 0.0075 0.1076 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 28 "Ms. Kathryn Clodfelter" 0.9000 0.4893 0.5000 + 29 "Dr. Vittoria Colizza" 0.4503 0.6571 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 30 "Dr. Denise Collins" 0.3497 0.4410 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 31 "Prof. Noshir Contractor" 0.9000 0.5398 0.5000 sh ellipse ic Blue bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 32 "Mr. Victor P Corona" 0.4491 0.5009 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 33 "Mr. Joseph Cottam" 0.1006 0.3194 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 34 "Mr. Gabor Csardi" 0.7000 0.6589 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 35 "James A. Danowsky" 0.8000 0.4878 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 36 "Dr. Daniel Delaurentis" 0.6497 0.6970 0.5000 + 37 "Dr. Nicholas Difonzo" 0.1000 0.4540 0.5000 + 38 "Prof. Kirk Dombrowski" 0.5500 0.4028 0.5000 + 39 "Mr. Justin Donaldson" 0.0082 0.0885 0.5000 + 40 "Mr. Shanon Donnelly" 0.0069 0.0095 0.5000 + 41 "Prof. Sergey Dorogovtsev" 0.1000 0.2657 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 42 "Paul Dwyer" 0.8500 0.3905 0.5000 + 43 "Andrew Feldstein" 0.6503 0.4262 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 44 "Mr. Peter Fleck" 0.3497 0.4045 0.5000 + 45 "Dr. Santo Fortunato" 0.1000 0.2103 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 46 "Dr. Kimberly A Fredericks" 0.5503 0.3828 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 47 "Donald Fry" 0.1000 0.6946 0.5000 + 48 "Luis Galvis" 0.1000 0.5928 0.5000 + 49 "Floriana Gargiulo" 0.4500 0.3799 0.5000 + 50 "Mr. Eric R Giannella" 0.8500 0.7023 0.5000 + 51 "Dr. Harold Green" 0.8013 0.5573 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 52 "Mr. Justin Gross" 0.5503 0.5608 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 53 "Mrs. Elise Hall" 0.1000 0.4791 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 54 "En-Pei Han" 0.1000 0.6489 0.5000 + 55 "Dr. Steven Harper" 0.3491 0.5321 0.5000 + 56 "Prof. Shlomo Havlin" 0.5497 0.6233 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 57 "Mr. Bruce Herr" 0.6503 0.4800 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 58 "Mr. Cesar A Hidalgo" 0.5491 0.7127 0.5000 + 59 "Thomas Hills" 0.5509 0.3698 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 60 "Mr. Bernard Hogan" 0.5500 0.4682 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 61 "Mr. Todd Holloway" 0.4503 0.2205 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 62 "Mr. Christopher Honey" 0.1000 0.3819 0.5000 + 63 "Mr. Peter Hook" 0.4509 0.4826 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 64 "Dr. Dan Horn" 0.1000 0.4161 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 65 "Kun Huang" 0.6509 0.5087 0.5000 + 66 "Portia Iversen" 0.5500 0.4477 0.5000 + 67 "Benoy Jacob" 0.0069 0.1476 0.5000 + 68 "Prof. Hawoong Jeong" 0.7497 0.5104 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 69 "Mr. Liang Jing" 0.7491 0.5729 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 70 "Kimberly Johns" 0.0075 0.0295 0.5000 + 71 "Prof. Jeffrey Johnson" 0.7500 0.6342 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 72 "Mr. Soong Kang" 0.5503 0.5382 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 73 "Prof. Igor Kanovsky" 0.5503 0.5807 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 74 "Dr. Krzysztof Krejtz" 0.1000 0.5042 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 75 "Dr. Izabela Krejtz" 0.1000 0.3630 0.5000 + 76 "Mr. Maciej Kurant" 0.5497 0.6484 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 77 "Randall Landry" 0.4491 0.1632 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 78 "Mr. Israel Lederhendler" 0.3500 0.2827 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 79 "James Leinart" 0.3500 0.5150 0.5000 + 80 "Prof. David Levinson" 0.4509 0.2648 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 81 "Dr. Paulette Lloyd" 0.3497 0.5712 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 82 "Mr. Marcelo Lufin" 0.0082 0.0677 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 83 "Mr. Kevin Makice" 0.8000 0.5313 0.5000 + 84 "Mr. Benjamin Markines" 0.5500 0.1855 0.5000 + 85 "Dr. Francisco Martin" 0.7000 0.3498 0.5000 + 86 "Mr. Winter Mason" 0.3500 0.1952 0.5000 + 87 "Dr. Sharon Mastracci" 0.0075 0.1276 0.5000 + 88 "Dr. Naoki Masuda" 0.5497 0.7413 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 89 "Ms. Ann Mccranie" 0.3500 0.0406 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 90 "Mr. Mark R Meiss" 0.5500 0.2164 0.5000 + 91 "Dr. Filippo Menczer" 0.4484 0.1415 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 92 "Marcello Mezzedimi" 0.5497 0.3160 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 93 "James Moody" 0.1000 0.0564 0.5000 + 94 "Mr. Lev Muchnik" 0.9500 0.6528 0.5000 + 95 "Mr. Srikanth Mudigonda" 0.8000 0.4392 0.5000 + 96 "Dr. Tsuyoshi Murata" 0.1000 0.2917 0.5000 + 97 "Mr. Seyed Mussavi Rizi" 0.5500 0.4240 0.5000 + 98 "Dr. Daniel A Newman" 0.5500 0.4145 0.5000 + 99 "Mr. Alex K.S. Ng" 0.3500 0.5495 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 100 "Mr. Chris Nissen" 0.4497 0.5356 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 101 "Prof. Andrzej Nowak" 0.1000 0.3976 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 102 "Dr. Francesca Odella" 0.4503 0.6319 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 103 "Mr. Nobuhiko Oshida" 0.4503 0.5694 0.5000 + 104 "Mr. Jongwon Park" 0.6497 0.4045 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 105 "Juyong Park" 0.3500 0.0732 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 106 "Mr. Roni Parshani" 0.7000 0.5230 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 107 "Mr. Nishith Pathak" 0.3497 0.1172 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 108 "Mr. Shashikant Penumarthy" 0.7500 0.2942 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 109 "Mr. Suresh Pillai" 0.6497 0.4427 0.5000 + 110 "Dr. Maria Carmen Pin Arias" 0.1000 0.5530 0.5000 + 111 "Rosalyn Rael" 0.1000 0.7804 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 112 "Mr. Armando Razo" 0.5500 0.4946 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 113 "Mr. Andreas Rechtsteiner" 0.4497 0.2448 0.5000 + 114 "Ms. Bettina Richards Heiss" 0.3491 0.1424 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 115 "Dr. Alan Reifman" 0.3503 0.2274 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 116 "Dr. Thimo Rohlf" 0.4503 0.4661 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 117 "Ms. Heather Roinestad" 0.6987 0.6128 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 118 "Mr. Domenico Salvatore" 0.3497 0.4236 0.5000 + 119 "Dr. Alexander Samukhin" 0.1000 0.1484 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 120 "Dr. Soma Sanyal" 0.4503 0.4071 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 121 "Mr. Jan Scholz" 0.5503 0.5972 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 122 "Dr. James Scott" 0.4503 0.4349 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 123 "Kim B Serota" 0.0082 0.0495 0.5000 + 124 "Oleg Sindiy" 0.3497 0.6354 0.5000 + 125 "David Sloane" 0.1000 0.9158 0.5000 + 126 "Kimberlie Stephens" 0.3497 0.3889 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 127 "Dr. Katherine Strandburg" 0.6509 0.6406 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 128 "Anthony Strathman" 0.3503 0.2118 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 129 "Mr. Adam Tatarynowicz" 0.7000 0.2217 0.5000 + 130 "Mr. Hari Thadakamalla" 0.4503 0.6033 0.5000 sh ellipse ic Green bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 131 "Mr. Nebiyou Tilahun" 0.3500 0.6069 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 132 "Mr. Richard Twu" 0.4503 0.3637 0.5000 + 133 "Stephen Uzzo" 0.3503 0.4679 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 134 "Dr. Alexei Vazquez" 0.4509 0.2847 0.5000 + 135 "Prof. Venkat Venkatasubramanian" 0.4503 0.3472 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 136 "Allessandro Vespignani" 0.4491 0.1901 0.5000 sh ellipse ic Blue bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 137 "Cuauhcihuatl Vital" 0.3497 0.5911 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 138 "Mr. Dylan Walker" 0.0994 0.1806 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 139 "Mr. Pu Wang" 0.3500 0.2527 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 140 "Ms. Jing Wang" 0.1000 0.3403 0.5000 + 141 "Prof. Stan Wasserman" 0.1013 0.0130 0.5000 sh ellipse ic Blue bc White bw .2 lc Gray70 x_fact 3.0 y_fact 3.0 + 142 "Steven Wilcox" 0.7000 0.4959 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 143 "Mr. Huafeng Xie" 0.1000 0.2343 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 2.0 y_fact 2.0 + 144 "Dr. Takuya Yamano" 0.3503 0.3464 0.5000 + 145 "Mr. Jan Zajac" 0.4500 0.3277 0.5000 sh ellipse ic Black bc White bw .2 lc Gray70 x_fact 1.0 y_fact 1.0 + 146 "Ms. Mengxiao Zhu" 0.6500 0.3021 0.5000 + 147 "Management (32)" 0.2000 0.4000 0.5000 sh diamond ic Red bc White x_fact 4.07692307692 y_fact 4.07692307692 + 148 "Telecommunications (other than internet) (11)" 0.2000 0.7453 0.5000 sh diamond ic Red bc White x_fact 2.05769230769 y_fact 2.05769230769 + 149 "Psychology (30)" 0.2000 0.4500 0.5000 sh diamond ic Red bc White x_fact 3.88461538462 y_fact 3.88461538462 + 150 "Biochemistry (5)" 0.2000 0.8812 0.5000 sh diamond ic Red bc White x_fact 1.48076923077 y_fact 1.48076923077 + 151 "Sociology (52)" 0.2000 0.0400 0.5000 sh diamond ic Red bc White x_fact 6.0 y_fact 6.0 + 152 "Political Science (16)" 0.2000 0.6300 0.5000 sh diamond ic Red bc White x_fact 2.53846153846 y_fact 2.53846153846 + 153 "Internet (46)" 0.2000 0.1600 0.5000 sh diamond ic Red bc White x_fact 5.42307692308 y_fact 5.42307692308 + 154 "Medicine (2)" 0.2000 0.9157 0.5000 sh diamond ic Red bc White x_fact 1.19230769231 y_fact 1.19230769231 + 155 "Biology (26)" 0.2000 0.5000 0.5000 sh diamond ic Red bc White x_fact 3.5 y_fact 3.5 + 156 "Transportation (17)" 0.2000 0.6700 0.5000 sh diamond ic Red bc White x_fact 2.63461538462 y_fact 2.63461538462 + 157 "Utilities (2)" 0.1994 0.9846 0.5000 sh diamond ic Red bc White x_fact 1.19230769231 y_fact 1.19230769231 + 158 "Scientometrics (14)" 0.2000 0.7091 0.5000 sh diamond ic Red bc White x_fact 2.34615384615 y_fact 2.34615384615 + 159 "Economics (26)" 0.2000 0.5500 0.5000 sh diamond ic Red bc White x_fact 3.5 y_fact 3.5 + 160 "Computer Sciences (41)" 0.2000 0.2800 0.5000 sh diamond ic Red bc White x_fact 4.94230769231 y_fact 4.94230769231 + 161 "Public Health / Epidemiology (7)" 0.2000 0.8468 0.5000 sh diamond ic Red bc White x_fact 1.67307692308 y_fact 1.67307692308 + 162 "Public Policy (20)" 0.2000 0.5900 0.5000 sh diamond ic Red bc White x_fact 2.92307692308 y_fact 2.92307692308 + 163 "Organizations Theory (39)" 0.2000 0.3400 0.5000 sh diamond ic Red bc White x_fact 4.75 y_fact 4.75 + 164 "Physics (45)" 0.2000 0.2200 0.5000 sh diamond ic Red bc White x_fact 5.32692307692 y_fact 5.32692307692 + 165 "Information Technology (47)" 0.2000 0.1000 0.5000 sh diamond ic Red bc White x_fact 5.51923076923 y_fact 5.51923076923 + 166 "Ecology (9)" 0.2000 0.7806 0.5000 sh diamond ic Red bc White x_fact 1.86538461538 y_fact 1.86538461538 + 167 "Chemistry (other than biochemistry) (2)" 0.2000 0.9500 0.5000 sh diamond ic Red bc White x_fact 1.19230769231 y_fact 1.19230769231 + 168 "Operations Research (9)" 0.2000 0.8141 0.5000 sh diamond ic Red bc White x_fact 1.86538461538 y_fact 1.86538461538 +*Edges + 1 151 1 c Gray55 + 2 163 1 c Gray55 + 2 147 1 c Gray55 + 2 165 1 c Gray55 + 3 163 1 c Gray55 + 3 147 1 c Gray55 + 3 160 1 c Gray55 + 3 168 1 c Gray55 + 4 149 1 c Gray55 + 5 151 1 c Gray55 + 5 159 1 c Gray55 + 5 147 1 c Gray55 + 5 153 1 c Gray55 + 5 163 1 c Gray55 + 5 165 1 c Gray55 + 6 161 1 c Gray55 + 6 162 1 c Gray55 + 6 159 1 c Gray55 + 6 156 1 c Gray55 + 7 155 1 c Gray55 + 7 164 1 c Gray55 + 8 155 1 c Gray55 + 8 164 1 c Gray55 + 9 162 1 c Gray55 + 9 147 1 c Gray55 + 9 163 1 c Gray55 + 10 155 1 c Gray55 + 10 159 1 c Gray55 + 10 148 1 c Gray55 + 10 150 1 c Gray55 + 10 151 1 c Gray55 + 10 160 1 c Gray55 + 10 167 1 c Gray55 + 10 153 1 c Gray55 + 10 164 1 c Gray55 + 10 165 1 c Gray55 + 11 155 1 c Gray55 + 12 164 1 c Gray55 + 12 153 1 c Gray55 + 13 166 1 c Gray55 + 13 148 1 c Gray55 + 13 157 1 c Gray55 + 13 156 1 c Gray55 + 13 163 1 c Gray55 + 13 164 1 c Gray55 + 14 151 1 c Gray55 + 14 149 1 c Gray55 + 14 160 1 c Gray55 + 14 153 1 c Gray55 + 14 164 1 c Gray55 + 14 165 1 c Gray55 + 15 151 1 c Gray55 + 16 158 1 c Gray55 + 16 165 1 c Gray55 + 17 147 1 c Gray55 + 17 150 1 c Gray55 + 17 160 1 c Gray55 + 17 158 1 c Gray55 + 17 167 1 c Gray55 + 17 161 1 c Gray55 + 17 165 1 c Gray55 + 18 151 1 c Gray55 + 18 166 1 c Gray55 + 18 164 1 c Gray55 + 19 147 1 c Gray55 + 19 160 1 c Gray55 + 19 151 1 c Gray55 + 19 153 1 c Gray55 + 19 163 1 c Gray55 + 19 165 1 c Gray55 + 20 163 1 c Gray55 + 20 151 1 c Gray55 + 20 159 1 c Gray55 + 20 147 1 c Gray55 + 20 165 1 c Gray55 + 21 165 1 c Gray55 + 22 147 1 c Gray55 + 22 159 1 c Gray55 + 22 160 1 c Gray55 + 22 158 1 c Gray55 + 22 151 1 c Gray55 + 22 153 1 c Gray55 + 22 163 1 c Gray55 + 22 164 1 c Gray55 + 23 155 1 c Gray55 + 23 150 1 c Gray55 + 23 160 1 c Gray55 + 23 153 1 c Gray55 + 23 156 1 c Gray55 + 23 164 1 c Gray55 + 24 164 1 c Gray55 + 24 165 1 c Gray55 + 25 163 1 c Gray55 + 25 147 1 c Gray55 + 25 165 1 c Gray55 + 25 153 1 c Gray55 + 26 155 1 c Gray55 + 26 160 1 c Gray55 + 26 153 1 c Gray55 + 26 164 1 c Gray55 + 28 147 1 c Gray55 + 28 148 1 c Gray55 + 28 149 1 c Gray55 + 28 160 1 c Gray55 + 28 151 1 c Gray55 + 28 152 1 c Gray55 + 28 153 1 c Gray55 + 28 162 1 c Gray55 + 28 163 1 c Gray55 + 28 165 1 c Gray55 + 29 156 1 c Gray55 + 29 164 1 c Gray55 + 29 161 1 c Gray55 + 30 163 1 c Gray55 + 30 151 1 c Gray55 + 31 147 1 c Gray55 + 31 148 1 c Gray55 + 31 149 1 c Gray55 + 31 160 1 c Gray55 + 31 151 1 c Gray55 + 31 153 1 c Gray55 + 31 161 1 c Gray55 + 31 163 1 c Gray55 + 31 162 1 c Gray55 + 31 165 1 c Gray55 + 32 163 1 c Gray55 + 32 151 1 c Gray55 + 32 168 1 c Gray55 + 33 160 1 c Gray55 + 34 159 1 c Gray55 + 34 160 1 c Gray55 + 34 158 1 c Gray55 + 34 153 1 c Gray55 + 34 164 1 c Gray55 + 34 165 1 c Gray55 + 35 151 1 c Gray55 + 35 148 1 c Gray55 + 35 149 1 c Gray55 + 35 158 1 c Gray55 + 35 152 1 c Gray55 + 35 153 1 c Gray55 + 35 163 1 c Gray55 + 35 165 1 c Gray55 + 36 161 1 c Gray55 + 36 162 1 c Gray55 + 36 156 1 c Gray55 + 36 157 1 c Gray55 + 36 168 1 c Gray55 + 37 149 1 c Gray55 + 38 155 1 c Gray55 + 38 166 1 c Gray55 + 38 151 1 c Gray55 + 38 149 1 c Gray55 + 41 164 1 c Gray55 + 42 147 1 c Gray55 + 42 149 1 c Gray55 + 42 159 1 c Gray55 + 42 160 1 c Gray55 + 42 151 1 c Gray55 + 42 152 1 c Gray55 + 42 153 1 c Gray55 + 42 163 1 c Gray55 + 42 165 1 c Gray55 + 43 151 1 c Gray55 + 43 159 1 c Gray55 + 43 147 1 c Gray55 + 43 163 1 c Gray55 + 43 153 1 c Gray55 + 44 155 1 c Gray55 + 44 164 1 c Gray55 + 45 164 1 c Gray55 + 46 162 1 c Gray55 + 46 147 1 c Gray55 + 46 152 1 c Gray55 + 46 163 1 c Gray55 + 47 156 1 c Gray55 + 48 159 1 c Gray55 + 49 151 1 c Gray55 + 49 164 1 c Gray55 + 49 152 1 c Gray55 + 50 155 1 c Gray55 + 50 147 1 c Gray55 + 50 150 1 c Gray55 + 50 159 1 c Gray55 + 50 160 1 c Gray55 + 50 158 1 c Gray55 + 50 162 1 c Gray55 + 50 164 1 c Gray55 + 50 165 1 c Gray55 + 51 147 1 c Gray55 + 51 149 1 c Gray55 + 51 151 1 c Gray55 + 51 153 1 c Gray55 + 51 161 1 c Gray55 + 51 162 1 c Gray55 + 51 163 1 c Gray55 + 51 165 1 c Gray55 + 52 162 1 c Gray55 + 52 151 1 c Gray55 + 52 149 1 c Gray55 + 52 152 1 c Gray55 + 53 149 1 c Gray55 + 54 156 1 c Gray55 + 55 147 1 c Gray55 + 55 168 1 c Gray55 + 56 156 1 c Gray55 + 56 155 1 c Gray55 + 56 164 1 c Gray55 + 56 153 1 c Gray55 + 57 149 1 c Gray55 + 57 160 1 c Gray55 + 57 158 1 c Gray55 + 57 153 1 c Gray55 + 57 165 1 c Gray55 + 58 164 1 c Gray55 + 58 155 1 c Gray55 + 58 159 1 c Gray55 + 58 151 1 c Gray55 + 59 155 1 c Gray55 + 59 166 1 c Gray55 + 59 151 1 c Gray55 + 59 149 1 c Gray55 + 60 148 1 c Gray55 + 60 151 1 c Gray55 + 60 165 1 c Gray55 + 60 153 1 c Gray55 + 61 160 1 c Gray55 + 61 165 1 c Gray55 + 61 153 1 c Gray55 + 62 149 1 c Gray55 + 63 152 1 c Gray55 + 63 165 1 c Gray55 + 63 158 1 c Gray55 + 64 149 1 c Gray55 + 65 161 1 c Gray55 + 65 162 1 c Gray55 + 65 147 1 c Gray55 + 65 151 1 c Gray55 + 65 163 1 c Gray55 + 66 151 1 c Gray55 + 66 149 1 c Gray55 + 66 165 1 c Gray55 + 66 153 1 c Gray55 + 68 155 1 c Gray55 + 68 151 1 c Gray55 + 68 159 1 c Gray55 + 68 160 1 c Gray55 + 68 153 1 c Gray55 + 68 164 1 c Gray55 + 68 165 1 c Gray55 + 69 155 1 c Gray55 + 69 147 1 c Gray55 + 69 148 1 c Gray55 + 69 159 1 c Gray55 + 69 153 1 c Gray55 + 69 164 1 c Gray55 + 69 165 1 c Gray55 + 71 155 1 c Gray55 + 71 166 1 c Gray55 + 71 149 1 c Gray55 + 71 159 1 c Gray55 + 71 151 1 c Gray55 + 71 152 1 c Gray55 + 71 163 1 c Gray55 + 72 151 1 c Gray55 + 72 159 1 c Gray55 + 72 147 1 c Gray55 + 72 163 1 c Gray55 + 73 164 1 c Gray55 + 73 160 1 c Gray55 + 73 165 1 c Gray55 + 73 153 1 c Gray55 + 74 149 1 c Gray55 + 75 149 1 c Gray55 + 76 156 1 c Gray55 + 76 160 1 c Gray55 + 76 153 1 c Gray55 + 76 148 1 c Gray55 + 77 160 1 c Gray55 + 77 165 1 c Gray55 + 77 153 1 c Gray55 + 78 147 1 c Gray55 + 78 165 1 c Gray55 + 79 160 1 c Gray55 + 79 168 1 c Gray55 + 80 156 1 c Gray55 + 80 162 1 c Gray55 + 80 151 1 c Gray55 + 81 151 1 c Gray55 + 81 152 1 c Gray55 + 83 147 1 c Gray55 + 83 149 1 c Gray55 + 83 151 1 c Gray55 + 83 152 1 c Gray55 + 83 153 1 c Gray55 + 83 163 1 c Gray55 + 83 164 1 c Gray55 + 83 165 1 c Gray55 + 84 164 1 c Gray55 + 84 160 1 c Gray55 + 84 165 1 c Gray55 + 84 153 1 c Gray55 + 85 147 1 c Gray55 + 85 148 1 c Gray55 + 85 159 1 c Gray55 + 85 153 1 c Gray55 + 85 163 1 c Gray55 + 85 165 1 c Gray55 + 86 151 1 c Gray55 + 86 149 1 c Gray55 + 88 164 1 c Gray55 + 88 155 1 c Gray55 + 88 166 1 c Gray55 + 88 151 1 c Gray55 + 89 162 1 c Gray55 + 89 151 1 c Gray55 + 90 158 1 c Gray55 + 90 160 1 c Gray55 + 90 165 1 c Gray55 + 90 153 1 c Gray55 + 91 160 1 c Gray55 + 91 165 1 c Gray55 + 91 153 1 c Gray55 + 92 163 1 c Gray55 + 92 160 1 c Gray55 + 92 165 1 c Gray55 + 92 153 1 c Gray55 + 93 151 1 c Gray55 + 94 151 1 c Gray55 + 94 156 1 c Gray55 + 94 149 1 c Gray55 + 94 159 1 c Gray55 + 94 160 1 c Gray55 + 94 158 1 c Gray55 + 94 165 1 c Gray55 + 94 152 1 c Gray55 + 94 153 1 c Gray55 + 94 154 1 c Gray55 + 94 164 1 c Gray55 + 94 168 1 c Gray55 + 95 147 1 c Gray55 + 95 149 1 c Gray55 + 95 160 1 c Gray55 + 95 158 1 c Gray55 + 95 151 1 c Gray55 + 95 153 1 c Gray55 + 95 163 1 c Gray55 + 95 165 1 c Gray55 + 96 160 1 c Gray55 + 97 162 1 c Gray55 + 97 159 1 c Gray55 + 97 160 1 c Gray55 + 97 152 1 c Gray55 + 98 147 1 c Gray55 + 98 151 1 c Gray55 + 98 149 1 c Gray55 + 98 163 1 c Gray55 + 99 156 1 c Gray55 + 99 168 1 c Gray55 + 100 148 1 c Gray55 + 100 147 1 c Gray55 + 100 165 1 c Gray55 + 101 149 1 c Gray55 + 102 162 1 c Gray55 + 102 151 1 c Gray55 + 102 149 1 c Gray55 + 103 164 1 c Gray55 + 103 155 1 c Gray55 + 103 165 1 c Gray55 + 104 162 1 c Gray55 + 104 163 1 c Gray55 + 104 151 1 c Gray55 + 104 158 1 c Gray55 + 104 152 1 c Gray55 + 105 164 1 c Gray55 + 105 151 1 c Gray55 + 106 155 1 c Gray55 + 106 156 1 c Gray55 + 106 150 1 c Gray55 + 106 160 1 c Gray55 + 106 153 1 c Gray55 + 106 164 1 c Gray55 + 107 151 1 c Gray55 + 107 160 1 c Gray55 + 108 147 1 c Gray55 + 108 159 1 c Gray55 + 108 160 1 c Gray55 + 108 158 1 c Gray55 + 108 153 1 c Gray55 + 108 164 1 c Gray55 + 108 165 1 c Gray55 + 109 151 1 c Gray55 + 109 159 1 c Gray55 + 109 164 1 c Gray55 + 109 160 1 c Gray55 + 109 153 1 c Gray55 + 110 155 1 c Gray55 + 111 166 1 c Gray55 + 112 159 1 c Gray55 + 112 151 1 c Gray55 + 112 152 1 c Gray55 + 112 163 1 c Gray55 + 113 155 1 c Gray55 + 113 160 1 c Gray55 + 113 165 1 c Gray55 + 114 163 1 c Gray55 + 114 153 1 c Gray55 + 115 151 1 c Gray55 + 115 149 1 c Gray55 + 116 164 1 c Gray55 + 116 155 1 c Gray55 + 116 160 1 c Gray55 + 117 155 1 c Gray55 + 117 166 1 c Gray55 + 117 149 1 c Gray55 + 117 160 1 c Gray55 + 117 153 1 c Gray55 + 117 165 1 c Gray55 + 118 147 1 c Gray55 + 118 163 1 c Gray55 + 119 164 1 c Gray55 + 120 164 1 c Gray55 + 120 158 1 c Gray55 + 120 165 1 c Gray55 + 121 164 1 c Gray55 + 121 160 1 c Gray55 + 121 148 1 c Gray55 + 121 153 1 c Gray55 + 122 162 1 c Gray55 + 122 151 1 c Gray55 + 122 153 1 c Gray55 + 124 162 1 c Gray55 + 124 156 1 c Gray55 + 125 154 1 c Gray55 + 126 147 1 c Gray55 + 126 163 1 c Gray55 + 127 151 1 c Gray55 + 127 159 1 c Gray55 + 127 153 1 c Gray55 + 127 162 1 c Gray55 + 127 164 1 c Gray55 + 128 164 1 c Gray55 + 128 160 1 c Gray55 + 129 147 1 c Gray55 + 129 159 1 c Gray55 + 129 160 1 c Gray55 + 129 151 1 c Gray55 + 129 163 1 c Gray55 + 129 164 1 c Gray55 + 130 156 1 c Gray55 + 130 168 1 c Gray55 + 130 165 1 c Gray55 + 131 159 1 c Gray55 + 131 156 1 c Gray55 + 132 162 1 c Gray55 + 132 147 1 c Gray55 + 132 163 1 c Gray55 + 133 155 1 c Gray55 + 133 165 1 c Gray55 + 134 164 1 c Gray55 + 134 155 1 c Gray55 + 134 153 1 c Gray55 + 135 155 1 c Gray55 + 135 163 1 c Gray55 + 135 165 1 c Gray55 + 136 156 1 c Gray55 + 136 164 1 c Gray55 + 136 153 1 c Gray55 + 137 155 1 c Gray55 + 137 166 1 c Gray55 + 138 164 1 c Gray55 + 139 164 1 c Gray55 + 139 160 1 c Gray55 + 140 163 1 c Gray55 + 141 151 1 c Gray55 + 142 151 1 c Gray55 + 142 149 1 c Gray55 + 142 159 1 c Gray55 + 142 152 1 c Gray55 + 142 163 1 c Gray55 + 142 168 1 c Gray55 + 143 164 1 c Gray55 + 144 164 1 c Gray55 + 144 159 1 c Gray55 + 145 163 1 c Gray55 + 145 151 1 c Gray55 + 145 149 1 c Gray55 + 146 163 1 c Gray55 + 146 147 1 c Gray55 + 146 160 1 c Gray55 + 146 165 1 c Gray55 + 146 153 1 c Gray55 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2006-12-20 19:17:27
|
Revision: 355 http://svn.sourceforge.net/cishell/?rev=355&view=rev Author: bh2 Date: 2006-12-20 11:17:15 -0800 (Wed, 20 Dec 2006) Log Message: ----------- Changes for the cishell reference gui brand: * made scheduler not closeable * rearranged the perspective w/ new scheduler * added blurb support (finally) for the brand Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.properties trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml trunk/clients/gui/org.cishell.reference.gui.brand.cishell/src/org/cishell/reference/gui/brand/cishell/Activator.java Modified: trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) +++ trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF 2006-12-20 19:17:15 UTC (rev 355) @@ -12,4 +12,5 @@ org.cishell.reference.gui.workspace, org.cishell.reference.gui.menumanager Eclipse-LazyStart: true -Import-Package: org.cishell.app.service.datamanager +Import-Package: org.cishell.app.service.datamanager, + org.osgi.service.log;version="1.3.0" Modified: trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.properties =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.properties 2006-12-19 21:36:58 UTC (rev 354) +++ trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.properties 2006-12-20 19:17:15 UTC (rev 355) @@ -2,4 +2,12 @@ appName = CIShellApplication aboutImage = icons/about.gif windowImages = icons/alt16.gif,icons/alt32.gif,icons/alt64.gif -blurb = CIShell - Cyberinfrastructure Shell +blurb = Welcome to the Cyberinfrastructure Shell (CIShell) \ +developed at the InfoVis Lab and the CI for Network Science Center \ +at Indiana University.\n\n\ +Please acknowledge this effort by citing:\n\ +Bruce Herr, Weixia Huang, Shashikant Penumarthy, and Katy Borner. (in press). \ +Designing Highly Flexible and Usable Cyberinfrastructures for Convergence. \ +William S. Bainbridge (Ed.) Progress in Convergence. Annals of the New York Academy of Sciences.\n\ +http://cishell.org/papers/06-cishell.pdf + Modified: trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml 2006-12-19 21:36:58 UTC (rev 354) +++ trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml 2006-12-20 19:17:15 UTC (rev 355) @@ -43,6 +43,17 @@ closeable = "false" ratio="0.60"/> </perspectiveExtension> + + <perspectiveExtension targetID="org.cishell.reference.gui.workspace.Perspective"> + <view + closeable="false" + id="org.cishell.reference.gui.scheduler.SchedulerView" + moveable="true" + ratio="0.60" + relationship="bottom" + relative="org.cishell.reference.gui.log.LogView" + visible="true"/> + </perspectiveExtension> <perspectiveExtension targetID="org.cishell.reference.gui.workspace.Perspective"> <view id="org.cishell.reference.gui.datamanager.DataManagerView" @@ -54,15 +65,6 @@ visible="true"/> </perspectiveExtension> - <perspectiveExtension targetID="org.cishell.reference.gui.workspace.Perspective"> - <view id="org.cishell.reference.gui.scheduler.SchedulerView" - relative="org.eclipse.ui.editors" - relationship="bottom" - ratio="1.00" - moveable = "true" - closeable = "true" - visible="true"/> - </perspectiveExtension> </extension> <extension point="org.eclipse.ui.startup"> Modified: trunk/clients/gui/org.cishell.reference.gui.brand.cishell/src/org/cishell/reference/gui/brand/cishell/Activator.java =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/src/org/cishell/reference/gui/brand/cishell/Activator.java 2006-12-19 21:36:58 UTC (rev 354) +++ trunk/clients/gui/org.cishell.reference.gui.brand.cishell/src/org/cishell/reference/gui/brand/cishell/Activator.java 2006-12-20 19:17:15 UTC (rev 355) @@ -1,54 +1,66 @@ package org.cishell.reference.gui.brand.cishell; +import java.io.IOException; +import java.util.Properties; + import org.eclipse.ui.IStartup; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.osgi.service.log.LogService; -/** - * The activator class controls the plug-in life cycle - */ public class Activator extends AbstractUIPlugin implements IStartup { + private BundleContext bContext; + private boolean alreadyLogged; // The plug-in ID public static final String PLUGIN_ID = "org.cishell.reference.gui.brand.cishell"; - - // The shared instance private static Activator plugin; - /** - * The constructor - */ public Activator() { plugin = this; + alreadyLogged = false; } - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ public void start(BundleContext context) throws Exception { super.start(context); + this.bContext = context; + + if (!alreadyLogged) { + earlyStartup(); + } } - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); } - /** - * Returns the shared instance - * - * @return the shared instance - */ public static Activator getDefault() { return plugin; } public void earlyStartup() { - //TODO: Get log and print initial log blurb + if (bContext != null) { + String blurb = null; + Properties props = new Properties(); + + try { + props.load(bContext.getBundle().getEntry("/plugin.properties").openStream()); + } catch (IOException e) { + e.printStackTrace(); + } + + blurb = props.getProperty("blurb", null); + + ServiceReference ref = bContext.getServiceReference(LogService.class.getName()); + + if (ref != null && blurb != null) { + alreadyLogged = true; + + LogService logger = (LogService)bContext.getService(ref); + logger.log(LogService.LOG_INFO, blurb); + } + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2006-12-19 21:37:14
|
Revision: 354 http://svn.sourceforge.net/cishell/?rev=354&view=rev Author: bh2 Date: 2006-12-19 13:36:58 -0800 (Tue, 19 Dec 2006) Log Message: ----------- CIShell version bump to 0.3.0 Modified Paths: -------------- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml trunk/clients/gui/org.cishell.reference.gui.datamanager/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.log/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.persistence/META-INF/MANIFEST.MF trunk/clients/gui/org.cishell.reference.gui.workspace/META-INF/MANIFEST.MF trunk/core/org.cishell.framework/META-INF/MANIFEST.MF trunk/core/org.cishell.reference/META-INF/MANIFEST.MF trunk/core/org.cishell.reference.services/META-INF/MANIFEST.MF trunk/core/org.cishell.service.autostart/META-INF/MANIFEST.MF trunk/deployment/cishell-installer/build.xml trunk/deployment/cishell-installer/cishell.product trunk/deployment/cishell-installer/install.xml trunk/deployment/cishell-installer/thanks.txt trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml trunk/deployment/org.cishell.development.feature/feature.xml trunk/deployment/org.cishell.feature/feature.xml trunk/deployment/org.cishell.reference.feature/feature.xml trunk/deployment/org.cishell.reference.gui.feature/feature.xml trunk/templates/org.cishell.templates/META-INF/MANIFEST.MF trunk/templates/org.cishell.templates.wizards/META-INF/MANIFEST.MF Modified: trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.brand.cishell/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Branding Plug-in Bundle-SymbolicName: org.cishell.reference.gui.brand.cishell;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.reference.gui.brand.cishell.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, Modified: trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.brand.cishell/plugin.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -56,7 +56,7 @@ <perspectiveExtension targetID="org.cishell.reference.gui.workspace.Perspective"> <view id="org.cishell.reference.gui.scheduler.SchedulerView" - relative="org.cishell.reference.gui.log.LogView" + relative="org.eclipse.ui.editors" relationship="bottom" ratio="1.00" moveable = "true" Modified: trunk/clients/gui/org.cishell.reference.gui.datamanager/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.datamanager/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.datamanager/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Data Manager GUI Plug-in Bundle-SymbolicName: org.cishell.reference.gui.datamanager;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.reference.gui.datamanager.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, Modified: trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.guibuilder.swt/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: GUI Builder Reference Implementation Using SWT Bundle-SymbolicName: org.cishell.reference.gui.guibuilder.swt -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Localization: plugin Import-Package: org.cishell.framework, org.cishell.service.guibuilder, Modified: trunk/clients/gui/org.cishell.reference.gui.log/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.log/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.log/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Log GUI Plug-in Bundle-SymbolicName: org.cishell.reference.gui.log;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.reference.gui.log.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, Modified: trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.menumanager/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Menu Manager Plug-in Bundle-SymbolicName: org.cishell.reference.gui.menumanager;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.reference.gui.menumanager.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, 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 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.persistence/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Persistence Plug-in Bundle-SymbolicName: org.cishell.reference.gui.persistence;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-ClassPath: . Bundle-Localization: plugin Import-Package: org.cishell.app.service.datamanager, Modified: trunk/clients/gui/org.cishell.reference.gui.workspace/META-INF/MANIFEST.MF =================================================================== --- trunk/clients/gui/org.cishell.reference.gui.workspace/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/clients/gui/org.cishell.reference.gui.workspace/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Reference GUI Workspace Plug-in Bundle-SymbolicName: org.cishell.reference.gui.workspace; singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.reference.gui.workspace.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, Modified: trunk/core/org.cishell.framework/META-INF/MANIFEST.MF =================================================================== --- trunk/core/org.cishell.framework/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/core/org.cishell.framework/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Framework API Bundle-SymbolicName: org.cishell.framework -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Vendor: Bruce Herr Bundle-Localization: plugin Import-Package: org.osgi.framework, Modified: trunk/core/org.cishell.reference/META-INF/MANIFEST.MF =================================================================== --- trunk/core/org.cishell.reference/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/core/org.cishell.reference/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Reference Service Implementations Bundle-SymbolicName: org.cishell.reference -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Localization: plugin Import-Package: org.cishell.app.service.datamanager, org.cishell.app.service.scheduler, Modified: trunk/core/org.cishell.reference.services/META-INF/MANIFEST.MF =================================================================== --- trunk/core/org.cishell.reference.services/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/core/org.cishell.reference.services/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Reference Services Starter Bundle-SymbolicName: org.cishell.reference.services -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.reference.services.Activator Bundle-Localization: plugin X-AutoStart: true Modified: trunk/core/org.cishell.service.autostart/META-INF/MANIFEST.MF =================================================================== --- trunk/core/org.cishell.service.autostart/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/core/org.cishell.service.autostart/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Bundler Autostarter Bundle-SymbolicName: org.cishell.service.autostart -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.service.autostart.Activator Bundle-Localization: plugin Import-Package: org.osgi.framework;version="1.3.0" Modified: trunk/deployment/cishell-installer/build.xml =================================================================== --- trunk/deployment/cishell-installer/build.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/cishell-installer/build.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -12,10 +12,10 @@ <project name='CIShell Installer' default='compile' basedir='.'> <!-- Properties --> - <property name="version" value="0.2.1"/> + <property name="version" value="0.3.0"/> <property name="full.xml" value="install.xml"/> <property name="min.xml" value="install.xml"/> - <property name="full.jar" value="cishell-installer_${version}.alpha.jar"/> + <property name="full.jar" value="cishell-installer_${version}.jar"/> <property name="min.jar" value="cishell.${version}.minimal-installer.jar"/> Modified: trunk/deployment/cishell-installer/cishell.product =================================================================== --- trunk/deployment/cishell-installer/cishell.product 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/cishell-installer/cishell.product 2006-12-19 21:36:58 UTC (rev 354) @@ -40,11 +40,11 @@ </plugins> <features> - <feature id="org.cishell.algorithm.examples.feature" version="0.2.1"/> + <feature id="org.cishell.algorithm.examples.feature" version="0.3.0"/> <feature id="org.cishell.environment.equinox.feature" version="0.1.0"/> - <feature id="org.cishell.feature" version="0.2.1"/> - <feature id="org.cishell.reference.feature" version="0.2.1"/> - <feature id="org.cishell.reference.gui.feature" version="0.2.1"/> + <feature id="org.cishell.feature" version="0.3.0"/> + <feature id="org.cishell.reference.feature" version="0.3.0"/> + <feature id="org.cishell.reference.gui.feature" version="0.3.0"/> </features> </product> Modified: trunk/deployment/cishell-installer/install.xml =================================================================== --- trunk/deployment/cishell-installer/install.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/cishell-installer/install.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -16,7 +16,7 @@ <info> <appname>CIShell: Cyberinfrastructure Shell</appname> <appsubpath>cishell</appsubpath> - <appversion>0.2.1</appversion> + <appversion>0.3.0</appversion> <authors> <author name="Bruce Herr" email="bh...@bh..." /> <author name="Weixia Huang" email="hu...@in..." /> Modified: trunk/deployment/cishell-installer/thanks.txt =================================================================== --- trunk/deployment/cishell-installer/thanks.txt 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/cishell-installer/thanks.txt 2006-12-19 21:36:58 UTC (rev 354) @@ -1,14 +1,9 @@ Installation of CIShell: Cyberinfrastructure Shell was successful! -This release adds several algorithms and converters to give an idea of -what a filling of CIShell would be like. Also, automatic multi-step -data conversion has been implemented in this version. +This release adds full Max OSX support, a brand new algorithm Scheduler GUI, +expanded windows executable support for batch files, some small GUI +improvements, new Visualizations and fixes to old ones, and many bug fixes. -WARNING: This is an alpha release of CIShell. This means that not all -the functionality is there, there will be bugs, and that the final -feature set is not yet set in stone. If you have bug reports, comments, -or feature requests please feel free to contact us as described below. - If you have any problems, please contact the CIShell development team at cis...@li.... New releases will be announced on the users list. You can sign up on our Modified: trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/org.cishell.algorithm.examples.feature/feature.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ <feature id="org.cishell.algorithm.examples.feature" label="CIShell Sample Algorithms" - version="0.2.1"> + version="0.3.0"> <description> Example algorithms for development and testing of CIShell. Modified: trunk/deployment/org.cishell.development.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.development.feature/feature.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/org.cishell.development.feature/feature.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ <feature id="org.cishell.development.feature" label="CIShell Algorithm Development Plug-In" - version="0.2.1"> + version="0.3.0"> <description url="http://cishell.org"> The CIShell Algorithm Development Pack Modified: trunk/deployment/org.cishell.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.feature/feature.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/org.cishell.feature/feature.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ <feature id="org.cishell.feature" label="CIShell Framework API Feature" - version="0.2.1"> + version="0.3.0"> <description url="http://cishell.org"> CIShell Framework API Modified: trunk/deployment/org.cishell.reference.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.reference.feature/feature.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/org.cishell.reference.feature/feature.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ <feature id="org.cishell.reference.feature" label="CIShell Reference Bundles" - version="0.2.1"> + version="0.3.0"> <description url="http://cishell.org"> CIShell Reference Bundles Modified: trunk/deployment/org.cishell.reference.gui.feature/feature.xml =================================================================== --- trunk/deployment/org.cishell.reference.gui.feature/feature.xml 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/deployment/org.cishell.reference.gui.feature/feature.xml 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ <feature id="org.cishell.reference.gui.feature" label="CIShell Reference GUI" - version="0.2.1"> + version="0.3.0"> <description url="http://cishell.org"> CIShell Reference GUI Modified: trunk/templates/org.cishell.templates/META-INF/MANIFEST.MF =================================================================== --- trunk/templates/org.cishell.templates/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/templates/org.cishell.templates/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Template Code Provider Bundle-SymbolicName: org.cishell.templates;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Localization: plugin X-AutoStart: true Import-Package: org.cishell.framework, Modified: trunk/templates/org.cishell.templates.wizards/META-INF/MANIFEST.MF =================================================================== --- trunk/templates/org.cishell.templates.wizards/META-INF/MANIFEST.MF 2006-12-18 14:31:14 UTC (rev 353) +++ trunk/templates/org.cishell.templates.wizards/META-INF/MANIFEST.MF 2006-12-19 21:36:58 UTC (rev 354) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: CIShell Integration Wizards Bundle-SymbolicName: org.cishell.templates.wizards;singleton:=true -Bundle-Version: 0.2.1 +Bundle-Version: 0.3.0 Bundle-Activator: org.cishell.templates.wizards.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui;bundle-version="3.2.0", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bh...@us...> - 2006-12-18 14:31:50
|
Revision: 353 http://svn.sourceforge.net/cishell/?rev=353&view=rev Author: bh2 Date: 2006-12-18 06:31:14 -0800 (Mon, 18 Dec 2006) Log Message: ----------- Updated the introductory paper per katy's requests Modified Paths: -------------- trunk/core/org.cishell.docs.intro/src/cishell+nwb.tex trunk/core/org.cishell.docs.intro/src/cishell-short-text.tex trunk/core/org.cishell.docs.intro/src/nwb-short.tex trunk/core/org.cishell.docs.intro/src/research-team.tex Modified: trunk/core/org.cishell.docs.intro/src/cishell+nwb.tex =================================================================== --- trunk/core/org.cishell.docs.intro/src/cishell+nwb.tex 2006-12-17 17:18:02 UTC (rev 352) +++ trunk/core/org.cishell.docs.intro/src/cishell+nwb.tex 2006-12-18 14:31:14 UTC (rev 353) @@ -7,7 +7,7 @@ %\title{\includegraphics[width=160mm]{nwb-graphics/cishellnwb.png} \\ %\textit{Presentation Notes}} \title{An Introduction to the Network Workbench and Cyberinfrastructure Shell \\ -\textit{Handout}} +\textit{Introductory Paper}} \author{Bruce Herr (bh...@bh...) & Weixia Huang (hu...@in...) \\ \small{School of Library and Information Science, Indiana University, Bloomington, IN, USA}} Modified: trunk/core/org.cishell.docs.intro/src/cishell-short-text.tex =================================================================== --- trunk/core/org.cishell.docs.intro/src/cishell-short-text.tex 2006-12-17 17:18:02 UTC (rev 352) +++ trunk/core/org.cishell.docs.intro/src/cishell-short-text.tex 2006-12-18 14:31:14 UTC (rev 353) @@ -3,13 +3,13 @@ % \noindent % \includegraphics[width=90mm]{graphics/cishellLogo.png} -The Cyberinfrastructure Shell (CIShell) \cite{cishell} is an open source, +The Cyberinfrastructure Shell (CIShell) \cite{cishell} is an open source software specification for the integration and utilization of datasets, -algorithms, tools, and computing resources. The Cyberinfrastructure Shell (1) -supports algorithm writers to write and disseminate their algorithms in their -favorite programming language while retaining their intellectual rights after -distribution; (2) data holders to easily disseminate their data for use by -others; (3) application writers to design applications from custom sets of +algorithms, tools, and computing resources. The Cyberinfrastructure Shell +supports (1) algorithm writers to write and disseminate their algorithms in +their favorite programming language while retaining their intellectual rights +after distribution; (2) data holders to easily disseminate their data for use +by others; (3) application writers to design applications from custom sets of algorithms and datasets that interoperate seamlessly; and finally (4) researchers, educators, and practitioners to use existing datasets and algorithms to further science. @@ -33,55 +33,54 @@ %\end{wrapfigure} Using CIShell, datasets and algorithms are bundled as CIShell-defined -algorithms (see figure above). An algorithm is a black box that takes in -zero or more datasets, some defined user parameters, and a so called CIShell +algorithms, see figure above. An algorithm is a black box that takes in zero +or more datasets, some defined user parameters, and a so called CIShell Context. It then processes the inputs and returns an output in the form of zero or more datasets. The CIShell Context provides access to services offered by CIShell such as logging, preferences, GUI creation, and data conversion. The -metadata dictionary associated with each algorithm can be used by applications -to search with (see section 2.4). The metadata also comprises the author, -citations, links to homepages, documentation, run-time complexity, etc. that -ensures proper usage and citation. +metadata dictionary associated with each algorithm can be used by applications, +see section 2.4. The metadata also comprises the author, citations, links to +homepages, documentation, run-time complexity, etc. that ensures proper usage +and citation. To give an example, a modeling algorithm takes in no data, some user-entered parameters (e.g., the number of nodes to create a random graph) and returns a -single dataset (e.g., a randomly generated graph). An analysis algorithm takes -in some data and possibly some user-entered parameters, analyses the graph, -then returns a new graph or simply prints out analysis results on the console. -A visualization algorithm takes in some data, opens a new window visualizing -the data, and typically returns no data. Each dataset is bundled as a ‘dataset -provider’, i.e., an algorithm that takes in no data or parameters, but returns -a dataset that is then loaded into the CIShell system. +single dataset (e.g., a random graph). An analysis algorithm takes in some data +and possibly some user-entered parameters, analyses the graph, then returns a +new graph or simply prints out analysis results on the console. A visualization +algorithm takes in some data, opens a new window visualizing the data, and +typically returns no data. Each dataset is bundled as a ‘dataset provider’, +i.e., an algorithm that takes in no data or parameters, but returns a dataset +that is available to the CIShell system. \subsection{Algorithm \& Dataset Integration Templates} To ease the integration of algorithms and datasets, wizard-driven templates are provided that acquire information from the algorithm writer and then generate the appropriate files and resources. Templates are available to integrate -arbitrary file-based datasets, compiled executable code, Java libraries, and -Java-based algorithms. In the case of the Java-based template, after running -the wizard, only one method needs to be filled in. This is the execute method for -the actual algorithm. Integration of executable code typically does not require -writing even one line of new code. +arbitrary file-based datasets, compiled executable code, Java code, and Java +libraries. In the case of the Java code template, after running the wizard, +only one method, the execute method for the actual algorithm, needs to be +filled in. Typically, the integration of executable code does not require +writing one line of new code. \subsection{Algorithm \& Dataset Distribution} -Distribution of algorithms and datasets is made easy by using -Eclipse \cite{eclipse} update sites and the NWB Community Wiki. Eclipse update -sites allow an algorithm writer to package up their algorithms as features and -place them on a webserver. Any algorithm writer can create his or her own -private or public update site. Algorithm users can download any subset of -datasets and algorithms from any number of update sites. He or she simply needs -to select Help/Update from the menu and search for new features or updates of -the currently installed features. +Distribution of datasets and algorithms is made easy by using Eclipse +\cite{eclipse} update sites. Eclipse update sites allow an algorithm writer to +package up their algorithms and place them on a webserver. Any algorithm writer +can create his or her own private or public update site. Algorithm users can +download any subset of datasets and algorithms from any number of update sites. +He or she simply needs to select Help/Update from the menu and search for new +features or updates of the currently installed features. The NWB Community Wiki provides an easy interface for algorithm writers and data holders to post links to their algorithms and datasets, explain how to use -them, and advertise their update sites (see section 4). +them, and advertise their update sites, see section 4. \subsection{Creating A Pool} -Algorithms defined in section 2.1 can be located and run by using a +CIShell Algorithms defined in section 2.1 can be located and run by using a service registry that is provided by the underlying Open Services Gateway Initiative (OSGi) technology \cite{osgi}. This service registry defines a pool where services can be registered, searched for, and retrieved for use. @@ -97,9 +96,8 @@ Once the algorithms are in the service pool (see figure above), CIShell applications can easily search for algorithms based on their metadata. A querying mechanism can be used by applications to find subsets of algorithms -like all algorithms that belong in the visualization menu, all converter -algorithms, etc. This is important for automatically converting data (see -section 2.7). +like all algorithms that belong in the visualization menu, all conversion +algorithms, see also section 2.7. \subsection{Creating An Application} @@ -117,7 +115,7 @@ fashion. This inter-pool communication mechanism (see figure below) will also support client-server applications in which computationally demanding algorithms are run on servers and multiple CIShell clients can connect to it to -use datasets, algorithms, and computing power. +access datasets, algorithms, and computing power. \begin{center} \includegraphics[width=70mm]{graphics/connectingPools.png} @@ -137,8 +135,8 @@ The service searches through the service registry for converter algorithms (type=conversion in the algorithm's metadata) and builds a directed graph based -on them in which edges are converters and nodes are file formats (see figure to -the right). Edges can be weighted according to the 'losslessness', +on them. Edges are converters and nodes are file formats (see figure +to the right). Edges can be weighted according to the 'losslessness', 'complexity', or other features as reported in a converters' metadata. When asked to find a chain of converters from format A to format G, it searches @@ -151,15 +149,15 @@ \subsection{Brandable CIShell Reference GUI} -The CIShell project includes a reference GUI that can be used directly or -customized by application writers. The GUI (see figure below) is a menu-driven -interface where all algorithms appears as menu items. Datasets can be loaded or -simulated and are listed in the right-hand side data manager. When a user -selects a dataset, the GUI determines if it can be used by any algorithms -(either directly or through a series of converters). Only algorithms that can -process the selected dataset are clickable, all others are grayed out. A +The CIShell project includes a reference GUI that can be used directly or can +be customized by application writers. The GUI (see figure below) is a +menu-driven interface where all algorithms appear as menu items. Datasets can +be loaded or simulated and are listed in the right-hand side data manager. When +a user selects a dataset, the GUI determines what algorithms, either directly +or through a series of converters, can be applied. Only algorithms that can +process the selected dataset are selectable, all others are grayed out. A console is provided to give information about the selected algorithms (authors, -implementers, citations, etc.) and any output the algorithm logs when run. +implementers, citations, etc.) and any output the algorithm logs when run. \begin{center} \includegraphics[width=2.24in]{graphics/cishell-using1.png} Modified: trunk/core/org.cishell.docs.intro/src/nwb-short.tex =================================================================== --- trunk/core/org.cishell.docs.intro/src/nwb-short.tex 2006-12-17 17:18:02 UTC (rev 352) +++ trunk/core/org.cishell.docs.intro/src/nwb-short.tex 2006-12-18 14:31:14 UTC (rev 353) @@ -3,10 +3,10 @@ % \includegraphics[width=90mm]{nwb-graphics/nwbLogo.jpg} The Network Workbench (NWB) Tool \cite{nwb} is a large-scale network analysis, -modeling and visualization toolkit for biomedical, social science and physics +modeling, and visualization toolkit for biomedical, social science, and physics research (see page 1). The NWB Tool rebrands the CIShell Reference GUI and -provides a custom filling of datasets, algorithms, and converters for the -network science community. +provides a custom filling of datasets, algorithms, and converters relevant for +the network science community. %\\ %\\ %\noindent @@ -18,15 +18,19 @@ %\subsection{Integrated Algorithms \& Datasets} The current version of the NWB Tool gives easy access to 41 algorithms and a -few sample datasets. About half of the algorithms were implemented (in FORTRAN) +few sample datasets. About half of the algorithms were implemented in FORTRAN and integrated by a physicist using CIShell's static executable algorithm integration template. A listing of the currently integrated algorithms follows. \begin{multicols}{2}{ \noindent \begin{tiny} -\textbf{Analysis} +\textbf{Sampling} \begin{list}{}{\setlength{\itemindent}{-7mm}\setlength{\itemsep}{0mm}\setlength{\topsep}{1mm}} +\item Directory Hierarchy Reader +\end{list} +\textbf{ Analysis} +\begin{list}{}{\setlength{\itemindent}{-7mm}\setlength{\itemsep}{0mm}\setlength{\topsep}{1mm}} \item Node Degree \item Node Indegree \item Node Outdegree @@ -51,10 +55,6 @@ \item CAN Search \item Chord Search \end{list} -\textbf{Sampling} -\begin{list}{}{\setlength{\itemindent}{-7mm}\setlength{\itemsep}{0mm}\setlength{\topsep}{1mm}} -\item Directory Hierarchy Reader -\end{list} \textbf{Modeling} \begin{list}{}{\setlength{\itemindent}{-7mm}\setlength{\itemsep}{0mm}\setlength{\topsep}{1mm}} \item Barab\'{a}si-Albert Scale-Free Model @@ -94,12 +94,12 @@ The Network Workbench Community Wiki \cite{nwbCommunityWiki} is a place for users of the Network Workbench Tool, the Cyberinfrastructure Shell, or any -other CIShell-based application to upload, download, and request algorithms and -datasets. The site (see figure below) was created so that the network science +other CIShell-based application to upload, download, and request datasets and +algorithms. The site (see figure below) was created so that the network science community can collaboratively create a tool which meets their needs and the needs of the scientific community at large. Users can post want-ads for algorithms and datasets to be integrated into CIShell/NWB, and learn how to use -the resources available on the wiki for own their research. +the resources for their own research. \begin{center} \includegraphics[width=2.85in]{nwb-graphics/nwbWiki.png} Modified: trunk/core/org.cishell.docs.intro/src/research-team.tex =================================================================== --- trunk/core/org.cishell.docs.intro/src/research-team.tex 2006-12-17 17:18:02 UTC (rev 352) +++ trunk/core/org.cishell.docs.intro/src/research-team.tex 2006-12-18 14:31:14 UTC (rev 353) @@ -8,7 +8,7 @@ \section{Overview} The Network Workbench (NWB) project will design, evaluate, and operate a unique -distributed, shared resources environment for for biomedical, social science, +distributed, shared resources environment for biomedical, social science, and physics research. Investigators are Katy B\"{o}rner, Santiago Schnell, Alessandro Vespignani, Stanley Wasserman, Eric Wernert (Indiana University), and Albert-L\'{a}szl\'{o} Barab\'{a}si (Notre Dame University). Major software This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |