From 2ef74f7707124978967bed2097cc7c1141fa1687 Mon Sep 17 00:00:00 2001 From: rylon Date: Mon, 11 Feb 2013 11:49:48 +0100 Subject: [PATCH] fixed id problem --- ws2012/P2P/uebungen/11/src/CLI.java | 2 +- .../uebungen/11/src/node/FileIdentifier.java | 22 ++++++++++++++++--- ws2012/P2P/uebungen/11/src/node/Node.java | 5 ++--- .../P2P/uebungen/11/src/node/UDPHandler.java | 10 ++++----- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/ws2012/P2P/uebungen/11/src/CLI.java b/ws2012/P2P/uebungen/11/src/CLI.java index 1be94864..40de48c3 100644 --- a/ws2012/P2P/uebungen/11/src/CLI.java +++ b/ws2012/P2P/uebungen/11/src/CLI.java @@ -65,7 +65,7 @@ public class CLI { String data = splitted[2]; // TODO not implemented // Zum testen: - FileIdentifier fileIDToStore = new FileIdentifier(1, fileID2.getBytes()); + FileIdentifier fileIDToStore = new FileIdentifier(1,fileID2.getBytes()); node.store(fileIDToStore); node.storeData(fileIDToStore,data); break; diff --git a/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java b/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java index ac6cc84a..0cd699e8 100644 --- a/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java +++ b/ws2012/P2P/uebungen/11/src/node/FileIdentifier.java @@ -4,9 +4,25 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class FileIdentifier extends Identifier { - + + private String fileID; public FileIdentifier(int size, byte[] fileID) { - super(size, fileID); - } + super(size, fileID); + + /*//calculate SHA-256 Hash of key + try { + MessageDigest md = MessageDigest.getInstance("SHA-256"); + md.update(fileID.getBytes()); + this.fileID = md.digest().toString(); + } catch (NoSuchAlgorithmException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + }*/ + + } + + public String getKey() { + return this.fileID; + } } diff --git a/ws2012/P2P/uebungen/11/src/node/Node.java b/ws2012/P2P/uebungen/11/src/node/Node.java index 5a09e8e2..0c4be9f0 100644 --- a/ws2012/P2P/uebungen/11/src/node/Node.java +++ b/ws2012/P2P/uebungen/11/src/node/Node.java @@ -232,9 +232,8 @@ public class Node { send(receiver, MessageType.DATA_REQ, fileID.getBytes(), true, null); } - public void sendData(NodeIdentifier receiver, FileIdentifier fileID) { - - //String data = "abcdefghijklmnop"; //TODO this shit does not work for some reason // this.data.get(fileID); + public void sendData(NodeIdentifier receiver, Identifier fileID) { + String data = this.data.get(fileID); if(data == null){ //TODO We dont have that data. -> DOES NOT WORK PROPERLY! diff --git a/ws2012/P2P/uebungen/11/src/node/UDPHandler.java b/ws2012/P2P/uebungen/11/src/node/UDPHandler.java index d651a1b3..249ccc1b 100644 --- a/ws2012/P2P/uebungen/11/src/node/UDPHandler.java +++ b/ws2012/P2P/uebungen/11/src/node/UDPHandler.java @@ -241,7 +241,7 @@ public class UDPHandler implements Runnable { String chunkContent = parts[3]; LOGGER.log(Level.INFO,"recieved Chunk file: "+fileID+" count: "+chunkCount+" id: "+chunkID); - FileIdentifier fid = new FileIdentifier(8,fileID.getBytes()); + FileIdentifier fid = new FileIdentifier(1,fileID.getBytes()); if(chunklist.get(fid) == null){ chunklist.put(fid, new HashMap()); } @@ -269,10 +269,10 @@ public class UDPHandler implements Runnable { } - private void receiveDataReq(NodeIdentifier fromID, Identifier rpcID) { - FileIdentifier fid = new FileIdentifier(8, buffer.array()); - node.sendData(fromID, fid); - //TODO ? + private void receiveDataReq(NodeIdentifier fromID, Identifier rpcID) { + Identifier fid = getIDFromBuffer(); + //FileIdentifier fid = new FileIdentifier(1, buffer.array()); + node.sendData(fromID, fid); node.receivedRPC(fromID, rpcID); }