[wip] initial commit

extracted useful snippets from other projects
This commit is contained in:
Peter Eiser 2021-12-17 07:31:44 +01:00
commit b950c9ebdb
26 changed files with 1362 additions and 0 deletions

View file

@ -0,0 +1,38 @@
package de.pzzz.vertx.worker;
import java.nio.file.Paths;
import io.vertx.core.Vertx;
public abstract class FileSaveController<T> extends WorkerController<T,SaveFile> {
private final String parentJobId;
private final String fileExtension;
public FileSaveController(final int maxWorkers, final Vertx vertx, final String parentJobId, final String fileExtension) {
super(maxWorkers, vertx, null);
this.parentJobId = parentJobId;
if (!fileExtension.startsWith(".")) {
this.fileExtension = "." + fileExtension;
} else {
this.fileExtension = fileExtension;
}
}
protected abstract byte[] getContent(final T saveObject);
protected abstract String getFilename(final T saveObject);
@Override
protected Class<? extends WorkerVerticle<SaveFile>> workerVerticleClass() {
return FileSaveVerticle.class;
}
@Override
protected SaveFile getRequest(final T saveObject) {
String fileName = Paths.get(parentJobId, getFilename(saveObject) + fileExtension).toString();
SaveFile saveTarget = new SaveFile();
saveTarget.setName(fileName);
saveTarget.setContent(getContent(saveObject));
return saveTarget;
}
}