X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/24dbcb1a8071fe684d776063f04b314d92094e8d..23da67335f942457b0d8b1f10e9849eba0eee9f7:/contrib/psg/src/peersim/dynamics/WireFromFile.java diff --git a/contrib/psg/src/peersim/dynamics/WireFromFile.java b/contrib/psg/src/peersim/dynamics/WireFromFile.java deleted file mode 100644 index 2b40636062..0000000000 --- a/contrib/psg/src/peersim/dynamics/WireFromFile.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Copyright (c) 2003-2005 The BISON Project - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -package peersim.dynamics; - - -import java.io.IOException; -import java.io.FileReader; -import java.io.LineNumberReader; -import java.util.StringTokenizer; -import peersim.graph.Graph; -import peersim.core.*; -import peersim.config.Configuration; - -/** -* Takes a {@link Linkable} protocol and adds connections that are stored in a -* file. Note that no -* connections are removed, they are only added. So it can be used in -* combination with other initializers. -* The format of the file is as follows. Each line begins with a node ID -* (IDs start from 0) followed by a list of neighbors, separated by whitespace. -* All node IDs larger than the actual network size will be discarded, but -* it does not trigger an error. Lines starting with a "#" character and -* empty lines are ignored. -*/ -public class WireFromFile extends WireGraph { - - -// ========================= fields ================================= -// ================================================================== - - -/** -* The filename to load links from. -* @config -*/ -private static final String PAR_FILE = "file"; - -/** -* The number of neighbors to be read from the file. If unset, the default -* behavior is to read all links in the file. If set, then the first k -* neighbors will be read only. -* @config -*/ -private static final String PAR_K = "k"; - -private final String file; - -private final int k; - -// ==================== initialization ============================== -// ================================================================== - - -/** - * Standard constructor that reads the configuration parameters. - * Invoked by the simulation engine. - * @param prefix the configuration prefix for this class - */ -public WireFromFile(String prefix) { - - super(prefix); - file = Configuration.getString(prefix+"."+PAR_FILE); - k = Configuration.getInt(prefix + "." + PAR_K, Integer.MAX_VALUE); -} - - -// ===================== public methods ============================== -// =================================================================== - - -/** -* Wires the graph from a file. -* The format of the file is as follows. Each line begins with a node ID -* (IDs start from 0) followed by a list of neighbors, separated by whitespace. -* All node IDs larger than the actual network size will be discarded, but -* it does not trigger an error. Lines starting with a "#" character and -* empty lines are ignored. -*/ -public void wire(Graph g) { -try -{ - FileReader fr = new FileReader(file); - LineNumberReader lnr = new LineNumberReader(fr); - String line; - boolean wasOutOfRange=false; - while((line=lnr.readLine()) != null) - { - if( line.startsWith("#") ) continue; - StringTokenizer st = new StringTokenizer(line); - if(!st.hasMoreTokens()) continue; - - final int from = Integer.parseInt(st.nextToken()); - if( from < 0 || from >= Network.size() ) - { - wasOutOfRange = true; - continue; - } - - for(int i=0; i= Network.size() ) - wasOutOfRange = true; - else - g.setEdge(from,to); - } - } - - if( wasOutOfRange ) - System.err.println("WireFromFile warning: in "+file+" "+ - "some nodes were out of range and so ignored."); - lnr.close(); -} -catch( IOException e ) -{ - throw new RuntimeException(e); -} -} - -}