Make RecorderServlet and RemoteRecorder compatible to new recording

fields
This commit is contained in:
0xb00bface 2020-08-24 15:15:34 +02:00
parent e3819b823d
commit 1034488e94
3 changed files with 11 additions and 3 deletions

View File

@ -27,6 +27,7 @@ import ctbrec.event.EventBusHolder;
import ctbrec.event.NoSpaceLeftEvent; import ctbrec.event.NoSpaceLeftEvent;
import ctbrec.event.RecordingStateChangedEvent; import ctbrec.event.RecordingStateChangedEvent;
import ctbrec.io.BandwidthMeter; import ctbrec.io.BandwidthMeter;
import ctbrec.io.FileJsonAdapter;
import ctbrec.io.HttpClient; import ctbrec.io.HttpClient;
import ctbrec.io.HttpException; import ctbrec.io.HttpException;
import ctbrec.io.InstantJsonAdapter; import ctbrec.io.InstantJsonAdapter;
@ -45,7 +46,11 @@ public class RemoteRecorder implements Recorder {
private static final Logger LOG = LoggerFactory.getLogger(RemoteRecorder.class); private static final Logger LOG = LoggerFactory.getLogger(RemoteRecorder.class);
public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
private Moshi moshi = new Moshi.Builder().add(Instant.class, new InstantJsonAdapter()).add(Model.class, new ModelJsonAdapter()).build(); private Moshi moshi = new Moshi.Builder()
.add(Instant.class, new InstantJsonAdapter())
.add(Model.class, new ModelJsonAdapter())
.add(File.class, new FileJsonAdapter())
.build();
private JsonAdapter<ModelListResponse> modelListResponseAdapter = moshi.adapter(ModelListResponse.class); private JsonAdapter<ModelListResponse> modelListResponseAdapter = moshi.adapter(ModelListResponse.class);
private JsonAdapter<RecordingListResponse> recordingListResponseAdapter = moshi.adapter(RecordingListResponse.class); private JsonAdapter<RecordingListResponse> recordingListResponseAdapter = moshi.adapter(RecordingListResponse.class);
private JsonAdapter<ModelRequest> modelRequestAdapter = moshi.adapter(ModelRequest.class); private JsonAdapter<ModelRequest> modelRequestAdapter = moshi.adapter(ModelRequest.class);

View File

@ -32,7 +32,7 @@ public class Renamer extends AbstractPostProcessor {
"${siteSanitizedName}", "${siteSanitizedName}",
"${utcDateTime}", "${utcDateTime}",
"${localDateTime}", "${localDateTime}",
"${epochSeconds}", "${epochSecond}",
"${fileSuffix}", "${fileSuffix}",
"${modelNotes}" "${modelNotes}"
}; };
@ -52,7 +52,7 @@ public class Renamer extends AbstractPostProcessor {
.replace("${siteName}", rec.getModel().getSite().getName()) .replace("${siteName}", rec.getModel().getSite().getName())
.replace("${siteSanitizedName}", getSanitizedSiteName(rec)) .replace("${siteSanitizedName}", getSanitizedSiteName(rec))
.replace("${fileSuffix}", getFileSuffix(rec)) .replace("${fileSuffix}", getFileSuffix(rec))
.replace("${epochSeconds}", Long.toString(rec.getStartDate().getEpochSecond())) .replace("${epochSecond}", Long.toString(rec.getStartDate().getEpochSecond()))
; ;
filename = replaceUtcDateTime(rec, filename); filename = replaceUtcDateTime(rec, filename);

View File

@ -2,6 +2,7 @@ package ctbrec.recorder.server;
import static javax.servlet.http.HttpServletResponse.*; import static javax.servlet.http.HttpServletResponse.*;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.security.InvalidKeyException; import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
@ -25,6 +26,7 @@ import ctbrec.Config;
import ctbrec.Model; import ctbrec.Model;
import ctbrec.Recording; import ctbrec.Recording;
import ctbrec.io.BandwidthMeter; import ctbrec.io.BandwidthMeter;
import ctbrec.io.FileJsonAdapter;
import ctbrec.io.InstantJsonAdapter; import ctbrec.io.InstantJsonAdapter;
import ctbrec.io.ModelJsonAdapter; import ctbrec.io.ModelJsonAdapter;
import ctbrec.recorder.Recorder; import ctbrec.recorder.Recorder;
@ -63,6 +65,7 @@ public class RecorderServlet extends AbstractCtbrecServlet {
Moshi moshi = new Moshi.Builder() Moshi moshi = new Moshi.Builder()
.add(Instant.class, new InstantJsonAdapter()) .add(Instant.class, new InstantJsonAdapter())
.add(Model.class, new ModelJsonAdapter(sites)) .add(Model.class, new ModelJsonAdapter(sites))
.add(File.class, new FileJsonAdapter())
.build(); .build();
JsonAdapter<Request> requestAdapter = moshi.adapter(Request.class); JsonAdapter<Request> requestAdapter = moshi.adapter(Request.class);
Request request = requestAdapter.fromJson(json); Request request = requestAdapter.fromJson(json);