2013-02-11 11:49:48 +01:00

78 lines
2.4 KiB
Java

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetSocketAddress;
import java.nio.MappedByteBuffer;
import java.util.logging.LogManager;
import node.FileIdentifier;
import node.Identifier;
import node.Node;
import node.NodeIdentifier;
public class CLI {
public static void main(String[] args) throws IOException {
System.setProperty("java.util.logging.config.file",
"logging.properties");
try {
LogManager.getLogManager().readConfiguration();
} catch (Exception e) {
e.printStackTrace();
}
Node node = new Node();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s;
while ((s = in.readLine()) != null && s.length() != 0) {
String[] splitted = s.split(" ");
String cmd = splitted[0];
switch (cmd) {
//status
case "status":
for (NodeIdentifier id : node.getNeighbors()) {
System.out.println(id);
}
break;
//lookup fileID
case "lookup":
String fileID = splitted[1];
// TODO not implemented
// Zum testen:
FileIdentifier fileIDToFind = new FileIdentifier(1, fileID.getBytes());
node.findValue(fileIDToFind);
break;
//request fileID
case "request":
String fileID3 = splitted[1];
FileIdentifier fileIDToFind2 = new FileIdentifier(1, fileID3.getBytes());
node.sendDataReq(fileIDToFind2);
break;
//leave
case "leave":
node.leave();
break;
//store fileID data
case "store":
String fileID2 = splitted[1];
String data = splitted[2];
// TODO not implemented
// Zum testen:
FileIdentifier fileIDToStore = new FileIdentifier(1,fileID2.getBytes());
node.store(fileIDToStore);
node.storeData(fileIDToStore,data);
break;
default:
System.out.println("Unknown command.");
break;
}
}
}
}