16                 N        ,    , .   2 2 2 2 , ! " 2# $ % ,&' 2( @) * + ,- 2. / 0 124 K7 K89 N:; P< P=> P? 2 @A BCD NEFGHIJKLM N N N O nP nQ nR S nT nUV nW PX Y nZ [\ P]^ n_ n` a Pb nc d e f g h2 i j j Pk l ,m n Pn Po pqrs ,t u v w x y z 2{ |+} ~                       P pNetwork Loracle/spatial/network/Network; pOrigNetwork pSourceIdIpSinkId pNumDischargeJ pNumRelabelpNumPush pRelabelBoundpFlowMapLjava/util/HashMap;pNodeMappLinkMap pActiveNdListLjava/util/LinkedList;%(Loracle/spatial/network/Network;II)VCodeLineNumberTable ExceptionsaddLink[(Loracle/spatial/network/Node;Loracle/spatial/network/Node;Loracle/spatial/network/Link;I)IcheckPreflowInvariant()Vclear discharge$(Loracle/spatial/network/FlowNode;)Vrelabelpushf(Loracle/spatial/network/FlowNode;Loracle/spatial/network/FlowNode;Loracle/spatial/network/FlowLink;)VupdtOrigNetworkinitializePreflow getMaxFlow(Ljava/util/Vector;)JwriteFlowNetwork*(Ljava/sql/Connection;Ljava/lang/String;)VtoString()Ljava/lang/String; SourceFileFlowNetwork.java +oracle/spatial/network/NetworkDataExceptionVThe Source Node ID equals to the Sink Node ID! Maximum Flow Analysis is not feasible.  java/lang/StringBuilderNode ID   can not  reach Node ID  ! Maximum Flow  Analysis is not feasible. java/util/HashMap java/util/LinkedList java/util/Random   java/lang/String          oracle/spatial/network/Node oracle/spatial/network/NodeImpl   oracle/spatial/network/Link        oracle/spatial/network/LinkImpl     FOnly one link can exists at one direction between two particular nodes    java/util/Map$EntryEntry InnerClasses  java/lang/Integer oracle/spatial/network/FlowLink  Link  has  Capacity  and Flow  Flow  and Link  has Flow , and this doesn't satisfy Symmetry ConstraintNode has negative incoming flow -     oracle/spatial/network/FlowNode    5The number of relabels exceeds its theoretical bound Relabeled node  has no outlink               At least two links  exist from node  to node        DROP TABLE   CREATE TABLE ! (LINK_ID NUMBER, FLOW NUMBER) (SELECT count(*) FROM tab WHERE tname = ? INSERT INTO  VALUES(?, ?)        !  "#$ %& ' () *+ , -.java/sql/SQLException /0 12 3 4java/lang/StringBufferFlow Node Information 5 Flow Link Information  "oracle/spatial/network/FlowNetworkjava/lang/Objectjava/io/IOException(Ljava/lang/String;)V%oracle/spatial/network/NetworkManager isReachable%(Loracle/spatial/network/Network;II)Zappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;java/lang/SystemcurrentTimeMillis()J(J)VnextInt()Ioracle/spatial/network/NetworkgetName(I)Ljava/lang/String;concat&(Ljava/lang/String;)Ljava/lang/String;%oracle/spatial/network/NetworkFactorycreateLogicalNetwork6(Ljava/lang/String;IZ)Loracle/spatial/network/Network;findConnectedComponents#(Loracle/spatial/network/Network;)IgetNode (I)Loracle/spatial/network/Node;getComponentNogetNodes()Ljava/util/Iterator;java/util/IteratorhasNext()Znext()Ljava/lang/Object;isActive (Loracle/spatial/network/Node;)VaddNodegetLinkssetFlow(D)V getStartNode()Loracle/spatial/network/Node; getEndNodegetID isDirected isBidirected getNoOfNodes findLinks=(Loracle/spatial/network/Node;)[Loracle/spatial/network/Link;getCost()D?(ILoracle/spatial/network/Node;Loracle/spatial/network/Node;D)V (Loracle/spatial/network/Link;)Vadd(Ljava/lang/Object;)Zput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;setCostget&(Ljava/lang/Object;)Ljava/lang/Object;entrySet()Ljava/util/Set; java/util/Setiterator java/util/MapgetValuegetKeyintValue getCapacitygetFlowgetLink()Loracle/spatial/network/Link;(J)Ljava/lang/StringBuilder;(I)VgetId()Ljava/lang/Integer; getExcessisMoreNeighborsresetCurrentNeighborgetCurrentNeighbor getHeightgetResidualCapacity nxtNeighborisResidualLink setHeightaddFlow addExcessremoveindexOf(Ljava/lang/Object;)IaddFirst(Ljava/lang/Object;)Vvalues()Ljava/util/Collection;java/util/Collection listIterator()Ljava/util/ListIterator;java/util/ListIterator getNodeArray ()[Loracle/spatial/network/Node;getIncidentLinks ()[Loracle/spatial/network/Link;"(Loracle/spatial/network/Link;JZ)V isImaginativegetAdjacentNodeArrayisEmptygetFirst getLinkArrayjava/util/Vectororacle/spatial/util/Util checkSQLName'(Ljava/lang/String;I)Ljava/lang/String;java/sql/Connection setAutoCommit(Z)VcommitcreateStatement()Ljava/sql/Statement;prepareStatement0(Ljava/lang/String;)Ljava/sql/PreparedStatement;java/sql/PreparedStatement setString(ILjava/lang/String;)V executeQuery()Ljava/sql/ResultSet;java/sql/ResultSetgetInt(I)Ijava/sql/Statementexecute(Ljava/lang/String;)ZclosesetInt(II)V setDouble(ID)VaddBatch executeBatch()[IerrLjava/io/PrintStream; getMessagejava/io/PrintStreamprintlnprintStackTrace,(Ljava/lang/String;)Ljava/lang/StringBuffer;    * Y+6YY       *+***Y*Y*Y*YY::6Y+ 'p!"#:*$%+&W+'(6*):*>+,:  -% (.Y /: *% 06+1:  * +2:  3 4 5( 6(*% 57': *% 67': *   86*9  :*9*   86G*%;7 *< i i>(  OTY^it "#$%',-./123&5)8,9>:J;R=~@CDEGJLNO V+,?:K@Y+,-AB:3*%CY:-DW*EWHF:Y2:A-AcG*H:-DWFk lm%o-p8qArHsTtWu^vbxlzr|}~8*IJL+*++KM,LN,MNO6 7-IJ:*,+K:LP: MNO6  Q ROYS  TU V W  QXY Z  RX: Y *NY [H:  NY[HP:  R RafYS  TU V \  RX]  TU ^  RX_ ` : Y  Ra7*9 2Ya  b c X:YUj  *8;FP\hw blvy}=*d****d**e**%f*%.  ").7<*Yg ag+hM*,HN+i k+j*+k+lNY+m[:-HP:*Hn:o6p +o`*+q+rB $+07DO]dyQ *Ys as*s*>!YYt *>X+hM*,HNu66-IJ:*Z+K:LP:v7MN: * Hn:  o6   66&YYw +x y +`zV   49EILamy !"$&'*++*Y{ a{+i7-p77,h: +h: * H:   HP: -| u|+u}+i 6 +i *+~W,},i 6*,'*,hO*,hO *,V8 :;<'>-?3AABMDSE[GbHkInKwLNOPSVX+ *L+*++M,N-*-+P: R{T:*H::U2:ARR3 "A3Aw|jJR_` a3b>cHeOf]hdinjzklmnpqsuvw YL*%M>,>,2::nY:NY7[:*EW*%1N-*V-+2:NY57[:NY67[:*H:A7PY: Y:*EWyHP:  g WTY  TU Y U  O  O : Y  EW*H:PY : %Y: EW*EWH  EW*NY*[HnN-,z*%*'::6276*NY*[H:NY[HP:  Q7   *NY[H:NY*[HP:   u*NY[Hn: - u}  }    o`z* DW?8(3COUhsMWao{07>ShpM***nM*,**N6- -2 +-2W߻NY*[:*Hn:i7*%fB#'1;IRXesz ",NY -@ :Y -@  ::Y -@  ::: : +++:+:  - :    WW:+: *:  *f +:  :  *A +P:* TU R  W++  :  :  : : :     :  :  : B: =:  :  :  : :egege6M"#$;&?'^(a)d*g-n.t0|1234569:;=>?@ABCD#E5FCGJIMJPLXN_OeUkVrWuY{Z[]^_badPQRUVWYZ[]^_badTUVWYZ[ ]^_bab!fLYM,W*N-*"-+nL +i,+xW,W*N-*J-+::*&+P: R ,W֧,W,Jjl mo'p1q:rFuMvcwnxyz{}~6 K35