root / DistributedBackupService / src / protocols / DeleteChunk.java
History | View | Annotate | Download (1.45 KB)
1 | 1 | up20130859 | package protocols; |
---|---|---|---|
2 | |||
3 | import server.Peer; |
||
4 | import sockets.Socket; |
||
5 | import utils.Utils; |
||
6 | |||
7 | import java.io.IOException; |
||
8 | import java.nio.file.Files; |
||
9 | import java.nio.file.Paths; |
||
10 | |||
11 | import chunk.FileManager; |
||
12 | import handlers.Message; |
||
13 | |||
14 | public class DeleteChunk implements Runnable { |
||
15 | private String version; |
||
16 | private String pathName; |
||
17 | private Peer peer;
|
||
18 | |||
19 | public DeleteChunk(String version, String pathName, Peer parentPeer) { |
||
20 | this.version = version;
|
||
21 | this.pathName = pathName;
|
||
22 | this.peer = parentPeer;
|
||
23 | } |
||
24 | |||
25 | @Override
|
||
26 | public void run() { |
||
27 | FileManager fileInformation; |
||
28 | fileInformation = peer.getFile(pathName); |
||
29 | |||
30 | if (fileInformation == null) { |
||
31 | System.out.println("Can not find File!"); |
||
32 | System.exit(-1);; |
||
33 | } |
||
34 | sendMsgToMC(fileInformation); |
||
35 | try {
|
||
36 | Files.delete(Paths.get(pathName)); |
||
37 | } catch (IOException e) { |
||
38 | e.printStackTrace(); |
||
39 | } |
||
40 | peer.deleteFileFromFileManager(pathName); |
||
41 | } |
||
42 | |||
43 | private boolean sendMsgToMC(FileManager fileInformation) { |
||
44 | String idString = Integer.toString(peer.getID()); |
||
45 | String[] args = { version, idString,fileInformation.getFileID() }; |
||
46 | |||
47 | Message msg = new Message(Utils.MessageType.DELETE, args);
|
||
48 | |||
49 | try {
|
||
50 | peer.sendMsg(Socket.SocketType.MC, msg);
|
||
51 | } catch (IOException e) { |
||
52 | e.printStackTrace(); |
||
53 | return false; |
||
54 | } |
||
55 | return true; |
||
56 | } |
||
57 | |||
58 | } |