File tree Expand file tree Collapse file tree 3 files changed +12
-7
lines changed
main/scala/com/sfxcode/nosql/mongo
test/scala/com/sfxcode/nosql/mongo/gridfs Expand file tree Collapse file tree 3 files changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -69,11 +69,21 @@ abstract class Base extends LazyLogging {
6969 def download (id : ObjectId , file : File ): GridFSStreamObserver =
7070 download(id, file.newOutputStream)
7171
72+ def downloadFileResult (id : ObjectId , file : File ): Long = streamObserverResult(download(id, file))
73+
7274 def download (oid : ObjectId , outputStream : OutputStream ): GridFSStreamObserver = {
7375 val observable : GridFSDownloadObservable = gridfsBucket.downloadToObservable(oid)
7476 val observer = GridFSStreamObserver (outputStream)
7577 observable.subscribe(observer)
7678 observer
7779 }
7880
81+ def downloadStreamResult (id : ObjectId , outputStream : OutputStream ): Long =
82+ streamObserverResult(download(id, outputStream))
83+
84+ protected def streamObserverResult (observer : GridFSStreamObserver ): Long = {
85+ while (! observer.completed.get) {}
86+ observer.resultLength.get()
87+ }
88+
7989}
Original file line number Diff line number Diff line change @@ -74,7 +74,7 @@ package object mongo extends ObservableIncludes with DocumentIncludes {
7474 }
7575}
7676
77- trait MongoImplicits extends ObservableImplicits with ObservableIncludes {
77+ trait MongoImplicits extends ObservableIncludes with ObservableImplicits {
7878
7979 implicit def observableToResult [T ](obs : Observable [T ]): T = obs.result()
8080
@@ -93,11 +93,6 @@ trait MongoImplicits extends ObservableImplicits with ObservableIncludes {
9393
9494 implicit def gridFSFileToBSonIdValue (file : GridFSFile ): BsonValue = file.getId
9595
96- implicit def observerToResultLength (observer : GridFSStreamObserver ): Long = {
97- while (! observer.completed.get) {}
98- observer.resultLength.get()
99- }
100-
10196}
10297
10398trait DocumentIncludes {
Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ trait GridfsDatabaseFunctions extends MongoImplicits {
3232 def downloadImage (id : ObjectId , path : String ): Long = {
3333 val file = File (path)
3434 val start = System .currentTimeMillis()
35- val size : Long = ImageFilesDAO .download (id, file)
35+ val size : Long = ImageFilesDAO .downloadFileResult (id, file)
3636
3737 println(
3838 " file: %s with size %s Bytes written in %s ms "
You can’t perform that action at this time.
0 commit comments