Skip to content
This repository was archived by the owner on Jun 11, 2025. It is now read-only.

Commit 582483d

Browse files
authored
Merge pull request #68 from ploiu/download-folder
Ability to download folder as a .tar
2 parents c2908c2 + 899a259 commit 582483d

29 files changed

+274
-100
lines changed

.idea/workspace.xml

Lines changed: 47 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,7 @@ dependencies {
4141
implementation "com.fasterxml.jackson.core:jackson-databind:$versions.jackson"
4242
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$versions.jackson"
4343
implementation 'org.jetbrains:annotations:24.0.1'
44-
implementation 'com.google.inject:guice:5.1.0'
45-
// TODO replace with retrofit (see #39) because apparently I can't properly build a multipart form to save my life
46-
implementation 'org.apache.httpcomponents.client5:httpclient5:5.2.1'
47-
implementation 'org.apache.httpcomponents:httpmime:4.5.14'
44+
implementation 'com.google.inject:guice:7.0.0'
4845
// http client
4946
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
5047
implementation 'com.squareup.retrofit2:retrofit:2.9.0'

src/main/java/module-info.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
requires javafx.controls;
1515
requires javafx.media;
1616
requires org.jetbrains.annotations;
17-
// TODO remove these next 2 once we're off of apache http client
18-
requires org.apache.httpcomponents.client5.httpclient5;
19-
requires org.apache.httpcomponents.core5.httpcore5;
2017
requires io.reactivex.rxjava3;
2118
requires org.pdfsam.rxjavafx;
2219
requires retrofit2;
@@ -34,4 +31,6 @@
3431
exports ploiu.config;
3532
exports ploiu.exception;
3633
exports ploiu.model;
34+
exports ploiu.event.file to javafx.fxml, javafx.graphics;
35+
exports ploiu.event.folder to javafx.fxml, javafx.graphics;
3736
}

src/main/java/ploiu/client/FileClient.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public interface FileClient {
2828
@GET("/files/metadata/{id}")
2929
Maybe<FileApi> getMetadata(@Path("id") long id);
3030

31+
@Streaming
3132
@GET("/files/{id}")
3233
Single<ResponseBody> getFileContents(@Path("id") long id);
3334

src/main/java/ploiu/client/FolderClient.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package ploiu.client;
22

33
import io.reactivex.rxjava3.core.Completable;
4+
import io.reactivex.rxjava3.core.Observable;
45
import io.reactivex.rxjava3.core.Single;
6+
import okhttp3.ResponseBody;
57
import ploiu.model.FolderApi;
68
import ploiu.model.FolderRequest;
79
import retrofit2.http.*;
@@ -12,6 +14,10 @@ public interface FolderClient {
1214
@GET("/folders/metadata/{id}")
1315
Single<FolderApi> getFolder(@Path("id") long id);
1416

17+
@Streaming
18+
@GET("/folders/{id}")
19+
Observable<ResponseBody> downloadFolder(@Path("id") long id);
20+
1521
@GET("/folders/preview/{id}")
1622
Single<Map<Long, byte[]>> getPreviewsForFolder(@Path("id") long id);
1723

src/main/java/ploiu/event/FolderEvent.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/main/java/ploiu/event/FileDeleteEvent.java renamed to src/main/java/ploiu/event/file/FileDeleteEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package ploiu.event;
1+
package ploiu.event.file;
22

3+
import ploiu.event.Event;
34
import ploiu.model.FileObject;
45

56
public class FileDeleteEvent extends Event<FileObject> {

src/main/java/ploiu/event/FileSaveEvent.java renamed to src/main/java/ploiu/event/file/FileSaveEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package ploiu.event;
1+
package ploiu.event.file;
22

33
import lombok.Getter;
4+
import ploiu.event.Event;
45
import ploiu.model.FileObject;
56

67
import java.io.File;

src/main/java/ploiu/event/FileUpdateEvent.java renamed to src/main/java/ploiu/event/file/FileUpdateEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package ploiu.event;
1+
package ploiu.event.file;
22

3+
import ploiu.event.Event;
34
import ploiu.model.FileObject;
45

56
public class FileUpdateEvent extends Event<FileObject> {

src/main/java/ploiu/event/FileUploadEvent.java renamed to src/main/java/ploiu/event/file/FileUploadEvent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
package ploiu.event;
1+
package ploiu.event.file;
22

33
import lombok.EqualsAndHashCode;
44
import lombok.Getter;
5+
import ploiu.event.Event;
56

67
import java.io.File;
78

0 commit comments

Comments
 (0)