-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTest.java
More file actions
56 lines (43 loc) · 1.65 KB
/
Copy pathTest.java
File metadata and controls
56 lines (43 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import java.io.*;
import java.util.*;
public class Test {
public static void main(String[] args) throws IOException, ClassNotFoundException
{
String st;
boolean hasFile;
Vector <Peer> peerVectors = new Vector<Peer>();
BufferedReader in = new BufferedReader(new FileReader("PeerInfo.cfg"));
Peer handler;
HashMap<Integer, Peer> peerCollection = new HashMap<Integer, Peer>();
Controller controller = new Controller();
while((st = in.readLine()) != null)
{
String tokens[] = st.split(" ");
handler = new Peer();
handler.setPeerID(Integer.parseInt(tokens[0]));
handler.setHostName(tokens[1]);
handler.setPortNumber(Integer.parseInt(tokens[2]));
hasFile = (tokens[3] == "1") ? true : false;
handler.setHasFile(hasFile);
peerCollection.put(Integer.parseInt(tokens[0]), handler);
}
in.close();
System.out.println(peerCollection.size());
Set<Integer> peerKeys = peerCollection.keySet();
String path = System.getProperty("user.dir"); //CONSTANTS
for(Integer key : peerKeys)
{
handler = peerCollection.get(key);
System.out.println("Start remote peer " + handler.getPeerID() + " at " + handler.getHostName());
Runtime.getRuntime().exec("ssh " + handler.getHostName() + " cd " + path + "; java peerProcess " + handler.getPeerID());
peerVectors.add(handler);
}
System.out.println("Stating all remove peers has done.");
for(int i = 0; i < peerVectors.size(); i++)
{
Peer peer = peerVectors.get(i);
peer.establishConnectionandStreams(controller);
peer.startProcess();
}
}
}