Skip to content

Commit 305bda8

Browse files
committed
added getSender() to help makan wrapper
1 parent f187c7c commit 305bda8

File tree

4 files changed

+51
-39
lines changed

4 files changed

+51
-39
lines changed

src/net/sharksystem/aasp/AASPChunkReader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void run() {
4848
AASPChunkStorage peerStorage = null;
4949

5050
// get received storage
51-
peerStorage = this.storage.getReceivedChunkStorage(peer);
51+
peerStorage = this.storage.getIncomingChunkStorage(peer);
5252
//<<<<<<<<<<<<<<<<<<debug
5353
b = new StringBuilder();
5454
b.append(this.getLogStart());

src/net/sharksystem/aasp/AASPEngineFS.java

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import java.io.File;
44
import java.io.IOException;
5+
import java.util.ArrayList;
56
import java.util.HashMap;
7+
import java.util.List;
68

79
/**
810
* AASPEngine that stores data in file system.
@@ -94,11 +96,40 @@ private AASPMementoFS getMemento(String rootDirectory) {
9496
private HashMap<CharSequence, AASPChunkStorage> storageList = new HashMap<>();
9597

9698
@Override
97-
public AASPChunkStorage getReceivedChunkStorage(CharSequence sender) {
99+
public AASPChunkStorage getIncomingChunkStorage(CharSequence sender) {
98100
String dir = this.rootDirectory + "/" + sender;
99101
return new AASPChunkStorageFS(dir);
100102
}
101103

104+
@Override
105+
public List<CharSequence> getSender() {
106+
List<CharSequence> senderList = new ArrayList<>();
107+
108+
File dir = new File(this.rootDirectory);
109+
110+
String[] dirEntries = dir.list();
111+
112+
if (dirEntries != null) {
113+
for (String fileName : dirEntries) {
114+
// era folder?
115+
try {
116+
Integer.parseInt(fileName);
117+
// a number. It is a era folder go ahead
118+
continue;
119+
} catch (NumberFormatException e) {
120+
// no number - that's ok!
121+
}
122+
123+
File fileInDir = new File(this.rootDirectory + "/" + fileName);
124+
if (fileInDir.isDirectory()) {
125+
senderList.add(fileName);
126+
}
127+
}
128+
}
129+
130+
return senderList;
131+
}
132+
102133
////////////////////////////////////////////////////////////////////////////////////////
103134
// helper //
104135
////////////////////////////////////////////////////////////////////////////////////////
@@ -126,5 +157,4 @@ static void removeFolder(String eraPathName) {
126157

127158
dir.delete();
128159
}
129-
130160
}

src/net/sharksystem/aasp/AASPStorage.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,14 @@ public interface AASPStorage {
129129
* @param sender
130130
* @return
131131
*/
132-
public AASPChunkStorage getReceivedChunkStorage(CharSequence sender);
133-
132+
public AASPChunkStorage getIncomingChunkStorage(CharSequence sender);
133+
134+
/**
135+
*
136+
* @return list of peers with an incoming chunk storage
137+
*/
138+
public List<CharSequence> getSender();
139+
134140
/**
135141
*
136142
* @return The local chunk storage that is meant to be used by the local

test/net/sharksystem/aasp/BasicTests.java

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.nio.file.Files;
77
import java.nio.file.Path;
88
import java.nio.file.Paths;
9+
import java.util.List;
910

1011
import net.sharksystem.util.localloop.TCPChannel;
1112
import org.junit.Test;
@@ -24,40 +25,10 @@ public class BasicTests {
2425
public static final String ALICE2BOB_MESSAGE = "Hi Bob";
2526
public static final String BOB2ALICE_MESSAGE = "Hi Alice";
2627

27-
private void removeDirectory(String dirname) {
28-
Path dir = Paths.get(dirname);
29-
30-
DirectoryStream<Path> entries = null;
31-
try {
32-
entries = Files.newDirectoryStream(dir);
33-
}
34-
catch(IOException ioe) {
35-
// directory does not exist - ok, nothing to drop
36-
return;
37-
}
38-
39-
for (Path path : entries) {
40-
File file = path.toFile();
41-
if(file.isDirectory()) {
42-
this.removeDirectory(file.getAbsolutePath());
43-
boolean deleted = file.delete();
44-
} else {
45-
boolean deleted = file.delete();
46-
}
47-
}
48-
49-
// finally remove directory itself
50-
File dirFile = new File(dirname);
51-
if(dirFile.exists()) {
52-
boolean deleted = dirFile.delete();
53-
int i = 42;
54-
}
55-
}
56-
5728
@Test
5829
public void androidUsage() throws IOException, AASPException, InterruptedException {
59-
this.removeDirectory(ALICE_FOLDER); // clean previous version before
60-
this.removeDirectory(BOB_FOLDER); // clean previous version before
30+
AASPEngineFS.removeFolder(ALICE_FOLDER); // clean previous version before
31+
AASPEngineFS.removeFolder(BOB_FOLDER); // clean previous version before
6132

6233
// alice writes a message into chunkStorage
6334
AASPStorage aliceStorage =
@@ -118,7 +89,7 @@ public void androidUsage() throws IOException, AASPException, InterruptedExcepti
11889

11990
// get message alice received
12091
AASPChunkStorage aliceSenderStored =
121-
aliceStorage.getReceivedChunkStorage(aliceListener.getSender());
92+
aliceStorage.getIncomingChunkStorage(aliceListener.getSender());
12293

12394
AASPChunk aliceReceivedChunk =
12495
aliceSenderStored.getChunk(aliceListener.getUri(),
@@ -131,7 +102,7 @@ public void androidUsage() throws IOException, AASPException, InterruptedExcepti
131102

132103
// get message bob received
133104
AASPChunkStorage bobSenderStored =
134-
bobStorage.getReceivedChunkStorage(bobListener.getSender());
105+
bobStorage.getIncomingChunkStorage(bobListener.getSender());
135106

136107
AASPChunk bobReceivedChunk =
137108
bobSenderStored.getChunk(bobListener.getUri(),
@@ -141,5 +112,10 @@ public void androidUsage() throws IOException, AASPException, InterruptedExcepti
141112
bobReceivedChunk.getMessages().next();
142113

143114
Assert.assertEquals(ALICE2BOB_MESSAGE, bobReceivedMessage);
115+
116+
List<CharSequence> senderList = aliceStorage.getSender();
117+
// expect bob
118+
Assert.assertEquals(1, senderList.size());
119+
Assert.assertTrue(BOB.equalsIgnoreCase(senderList.get(0).toString()));
144120
}
145121
}

0 commit comments

Comments
 (0)