root / DistributedBackupService / src / protocols / DeleteChunk.java
History | View | Annotate | Download (1.45 KB)
1 |
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 |
} |