Skip to content

Commit b88ac41

Browse files
authored
Merge pull request #204 from ipfs-shipyard/feat/refactor-api
preparation for next version
2 parents aa31e7d + 82bce10 commit b88ac41

File tree

6 files changed

+58
-56
lines changed

6 files changed

+58
-56
lines changed

build.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<attribute name="Class-Path" value="${manifest_cp}"/>
4141
<attribute name="Implementation-Vendor" value="io.ipfs"/>
4242
<attribute name="Implementation-Title" value="api"/>
43-
<attribute name="Implementation-Version" value="1.3.3"/>
43+
<attribute name="Implementation-Version" value="1.4.0"/>
4444
</manifest>
4545
</jar>
4646
</target>

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: '2'
22
services:
33
ipfs-daemon:
4-
image: 'ipfs/kubo:v0.16.0'
4+
image: 'ipfs/kubo:v0.17.0'
55
ports:
66
- "4001:4001"
77
- "5001:5001"

install-run-ipfs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#! /bin/sh
2-
wget https://dist.ipfs.io/kubo/v0.16.0/kubo_v0.16.0_linux-amd64.tar.gz -O /tmp/kubo_linux-amd64.tar.gz
2+
wget https://dist.ipfs.io/kubo/v0.17.0/kubo_v0.17.0_linux-amd64.tar.gz -O /tmp/kubo_linux-amd64.tar.gz
33
tar -xvf /tmp/kubo_linux-amd64.tar.gz
44
export PATH=$PATH:$PWD/kubo/
55
ipfs init

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.github.ipfs</groupId>
66
<artifactId>java-ipfs-http-client</artifactId>
7-
<version>v1.3.3</version>
7+
<version>v1.4.0</version>
88
<packaging>jar</packaging>
99

1010
<name>java-ipfs-http-client</name>

src/main/java/io/ipfs/api/IPFS.java

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -201,16 +201,46 @@ public List<Multihash> local() throws IOException {
201201
/* Pinning an object ensures a local copy of it is kept.
202202
*/
203203
public class Pin {
204+
public final Remote remote = new Remote();
205+
206+
public class Remote {
207+
public Map add(String service, Multihash hash, Optional<String> name, boolean background) throws IOException {
208+
String nameArg = name.isPresent() ? "&name=" + name.get() : "";
209+
return retrieveMap("pin/remote/add?arg=" + hash + "&service=" + service + nameArg + "&background=" + background);
210+
}
211+
public Map ls(String service, Optional<String> name, Optional<List<PinStatus>> statusList) throws IOException {
212+
String nameArg = name.isPresent() ? "&name=" + name.get() : "";
213+
String statusArg = statusList.isPresent() ? statusList.get().stream().
214+
map(p -> "&status=" + p).collect(Collectors.joining()) : "";
215+
return retrieveMap("pin/remote/ls?service=" + service + nameArg + statusArg);
216+
}
217+
public String rm(String service, Optional<String> name, Optional<List<PinStatus>> statusList, Optional<List<Multihash>> cidList) throws IOException {
218+
String nameArg = name.isPresent() ? "&name=" + name.get() : "";
219+
String statusArg = statusList.isPresent() ? statusList.get().stream().
220+
map(p -> "&status=" + p).collect(Collectors.joining()) : "";
221+
String cidArg = cidList.isPresent() ? cidList.get().stream().
222+
map(p -> "&cid=" + p.toBase58()).collect(Collectors.joining()) : "";
223+
return retrieveString("pin/remote/rm?service=" + service + nameArg + statusArg + cidArg);
224+
}
225+
public String addService(String service, String endPoint, String key) throws IOException {
226+
return retrieveString("pin/remote/service/add?arg=" + service + "&arg=" + endPoint + "&arg=" + key);
227+
}
228+
229+
public Map lsService(boolean stat) throws IOException {
230+
return retrieveMap("pin/remote/service/ls?stat=" + stat);
231+
}
232+
233+
public String rmService(String service) throws IOException {
234+
return retrieveString("pin/remote/service/rm?arg=" + service);
235+
}
236+
}
204237
public List<Multihash> add(Multihash hash) throws IOException {
205238
return ((List<Object>)((Map)retrieveAndParse("pin/add?stream-channels=true&arg=" + hash)).get("Pins"))
206239
.stream()
207240
.map(x -> Cid.decode((String) x))
208241
.collect(Collectors.toList());
209242
}
210-
public Map addRemote(String service, Multihash hash, Optional<String> name, boolean background) throws IOException {
211-
String nameArg = name.isPresent() ? "&name=" + name.get() : "";
212-
return retrieveMap("pin/remote/add?arg=" + hash + "&service=" + service + nameArg + "&background=" + background);
213-
}
243+
214244
public Map<Multihash, Object> ls() throws IOException {
215245
return ls(PinType.direct);
216246
}
@@ -221,13 +251,6 @@ public Map<Multihash, Object> ls(PinType type) throws IOException {
221251
.collect(Collectors.toMap(x -> Cid.decode(x.getKey()), x-> x.getValue()));
222252
}
223253

224-
public Map lsRemote(String service, Optional<String> name, Optional<List<PinStatus>> statusList) throws IOException {
225-
String nameArg = name.isPresent() ? "&name=" + name.get() : "";
226-
String statusArg = statusList.isPresent() ? statusList.get().stream().
227-
map(p -> "&status=" + p).collect(Collectors.joining()) : "";
228-
return retrieveMap("pin/remote/ls?service=" + service + nameArg + statusArg);
229-
}
230-
231254
public List<Multihash> rm(Multihash hash) throws IOException {
232255
return rm(hash, true);
233256
}
@@ -237,27 +260,6 @@ public List<Multihash> rm(Multihash hash, boolean recursive) throws IOException
237260
return ((List<Object>) json.get("Pins")).stream().map(x -> Cid.decode((String) x)).collect(Collectors.toList());
238261
}
239262

240-
public String rmRemote(String service, Optional<String> name, Optional<List<PinStatus>> statusList, Optional<List<Multihash>> cidList) throws IOException {
241-
String nameArg = name.isPresent() ? "&name=" + name.get() : "";
242-
String statusArg = statusList.isPresent() ? statusList.get().stream().
243-
map(p -> "&status=" + p).collect(Collectors.joining()) : "";
244-
String cidArg = cidList.isPresent() ? cidList.get().stream().
245-
map(p -> "&cid=" + p.toBase58()).collect(Collectors.joining()) : "";
246-
return retrieveString("pin/remote/rm?service=" + service + nameArg + statusArg + cidArg);
247-
}
248-
249-
public String addRemoteService(String service, String endPoint, String key) throws IOException {
250-
return retrieveString("pin/remote/service/add?arg=" + service + "&arg=" + endPoint + "&arg=" + key);
251-
}
252-
253-
public Map lsRemoteService(boolean stat) throws IOException {
254-
return retrieveMap("pin/remote/service/ls?stat=" + stat);
255-
}
256-
257-
public String rmRemoteService(String service) throws IOException {
258-
return retrieveString("pin/remote/service/rm?arg=" + service);
259-
}
260-
261263
public List<Multihash> update(Multihash existing, Multihash modified, boolean unpin) throws IOException {
262264
return ((List<Object>)((Map)retrieveAndParse("pin/update?stream-channels=true&arg=" + existing + "&arg=" + modified + "&unpin=" + unpin)).get("Pins"))
263265
.stream()
@@ -839,19 +841,19 @@ public Map disconnect(MultiAddress multiAddr) throws IOException {
839841
public Map filters() throws IOException {
840842
return retrieveMap("swarm/filters");
841843
}
842-
public Map filtersAdd(String multiAddrFilter) throws IOException {
844+
public Map addFilter(String multiAddrFilter) throws IOException {
843845
return retrieveMap("swarm/filters/add?arg="+multiAddrFilter);
844846
}
845-
public Map filtersRm(String multiAddrFilter) throws IOException {
847+
public Map rmFilter(String multiAddrFilter) throws IOException {
846848
return retrieveMap("swarm/filters/rm?arg="+multiAddrFilter);
847849
}
848-
public Map peeringLs() throws IOException {
850+
public Map lsPeering() throws IOException {
849851
return retrieveMap("swarm/peering/ls");
850852
}
851-
public Map peeringAdd(MultiAddress multiAddr) throws IOException {
853+
public Map addPeering(MultiAddress multiAddr) throws IOException {
852854
return retrieveMap("swarm/peering/add?arg="+multiAddr);
853855
}
854-
public Map peeringRm(Multihash multiAddr) throws IOException {
856+
public Map rmPeering(Multihash multiAddr) throws IOException {
855857
return retrieveMap("swarm/peering/rm?arg="+multiAddr);
856858
}
857859
}

src/test/java/io/ipfs/api/APITest.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -320,16 +320,16 @@ public void remotePinTest() throws IOException {
320320
MerkleNode file = ipfs.add(new NamedStreamable.ByteArrayWrapper("test data".getBytes())).get(0);
321321
Multihash hash = file.hash;
322322
String service = "mock";
323-
String rmRemoteService = ipfs.pin.rmRemoteService(service);
324-
Map lsRemoteService = ipfs.pin.lsRemoteService(false);
323+
String rmRemoteService = ipfs.pin.remote.rmService(service);
324+
Map lsRemoteService = ipfs.pin.remote.lsService(false);
325325
String endpoint = "http://127.0.0.1:3000";
326326
String key = "SET_VALUE_HERE";
327-
String added = ipfs.pin.addRemoteService(service, endpoint, key);
328-
lsRemoteService = ipfs.pin.lsRemoteService(false);
329-
Map addHash = ipfs.pin.addRemote(service, hash, Optional.empty(), true);
330-
Map lsRemote = ipfs.pin.lsRemote(service, Optional.empty(), Optional.of(List.of(IPFS.PinStatus.values())));
331-
String rmRemote = ipfs.pin.rmRemote(service, Optional.empty(), Optional.of(List.of(IPFS.PinStatus.queued)), Optional.of(List.of(hash)));
332-
lsRemote = ipfs.pin.lsRemote(service, Optional.empty(), Optional.of(List.of(IPFS.PinStatus.values())));
327+
String added = ipfs.pin.remote.addService(service, endpoint, key);
328+
lsRemoteService = ipfs.pin.remote.lsService(false);
329+
Map addHash = ipfs.pin.remote.add(service, hash, Optional.empty(), true);
330+
Map lsRemote = ipfs.pin.remote.ls(service, Optional.empty(), Optional.of(List.of(IPFS.PinStatus.values())));
331+
String rmRemote = ipfs.pin.remote.rm(service, Optional.empty(), Optional.of(List.of(IPFS.PinStatus.queued)), Optional.of(List.of(hash)));
332+
lsRemote = ipfs.pin.remote.ls(service, Optional.empty(), Optional.of(List.of(IPFS.PinStatus.values())));
333333
}
334334

335335
@Test
@@ -807,16 +807,16 @@ public void swarmTestFilters() throws IOException {
807807
Map listenAddrs = ipfs.swarm.listenAddrs();
808808
Map localAddrs = ipfs.swarm.localAddrs(true);
809809
String multiAddrFilter = "/ip4/192.168.0.0/ipcidr/16";
810-
Map rm = ipfs.swarm.filtersRm(multiAddrFilter);
810+
Map rm = ipfs.swarm.rmFilter(multiAddrFilter);
811811
Map filters = ipfs.swarm.filters();
812812
List<String> filtersList = (List<String>)filters.get("Strings");
813813
Assert.assertTrue("Filters empty", filtersList == null);
814814

815-
Map added = ipfs.swarm.filtersAdd(multiAddrFilter);
815+
Map added = ipfs.swarm.addFilter(multiAddrFilter);
816816
filters = ipfs.swarm.filters();
817817
filtersList = (List<String>)filters.get("Strings");
818818
Assert.assertTrue("Filters NOT empty", !filtersList.isEmpty());
819-
rm = ipfs.swarm.filtersRm(multiAddrFilter);
819+
rm = ipfs.swarm.rmFilter(multiAddrFilter);
820820
}
821821

822822
@Test
@@ -826,12 +826,12 @@ public void swarmTestPeering() throws IOException {
826826
Multihash hash = Multihash.fromBase58(id);
827827
String peer = "/ip6/::1/tcp/4001/p2p/" + id;
828828
MultiAddress ma = new MultiAddress(peer);
829-
Map addPeering = ipfs.swarm.peeringAdd(ma);
830-
Map lsPeering = ipfs.swarm.peeringLs();
829+
Map addPeering = ipfs.swarm.addPeering(ma);
830+
Map lsPeering = ipfs.swarm.lsPeering();
831831
List<String> peeringList = (List<String>)lsPeering.get("Peers");
832832
Assert.assertTrue("Filters not empty", !peeringList.isEmpty());
833-
Map rmPeering = ipfs.swarm.peeringRm(hash);
834-
lsPeering = ipfs.swarm.peeringLs();
833+
Map rmPeering = ipfs.swarm.rmPeering(hash);
834+
lsPeering = ipfs.swarm.lsPeering();
835835
peeringList = (List<String>)lsPeering.get("Peers");
836836
Assert.assertTrue("Filters empty", peeringList.isEmpty());
837837
}

0 commit comments

Comments
 (0)