fix NPE in MediaActorView

This commit is contained in:
Thomas Peetz
2025-02-10 15:56:32 +01:00
parent 3bb3b22cea
commit d8eecb4dab
6 changed files with 18 additions and 18 deletions
@@ -14,7 +14,7 @@ from .comic import Issue, TradePaperback, StoryArc, Volume, ComicWork, Artist, C
from .bookshelf import ArticleAuthor, BookAuthor, BookshelfPublisher, Article, Book, Author
from .admin import Mail, MailAccount, ModuleData, Role, User, Token, AuthorizationMatrix
from .metadata import MetaDataTable, MetaDataColumn
from .media import MediaVideo, MediaArticle, MediaFile
from .media import MediaVideo, MediaArticle, MediaFile, MediaActor, MediaActorFile
class ColumnEntry(Enum):
@@ -68,6 +68,8 @@ class KontorDB:
self.registry[Book.__tablename__] = Book
self.registry[Author.__tablename__] = Author
self.registry[MediaFile.__tablename__] = MediaFile
self.registry[MediaActor.__tablename__] = MediaActor
self.registry[MediaActorFile.__tablename__] = MediaActorFile
self.registry[MediaArticle.__tablename__] = MediaArticle
self.registry[MediaVideo.__tablename__] = MediaVideo
self.registry[MetaDataColumn.__tablename__] = MetaDataColumn
@@ -217,7 +219,7 @@ class KontorDB:
export_file = Path(export_file_name)
case "SQLite":
export_file = Path(export_file_name)
self.log.info("%d tables exported", len(results))
self.log.info(f"{len(results)} tables exported")
return results
def import_db(self, import_file_name: str) -> dict:
@@ -1,5 +1,6 @@
package de.thpeetz.kontor.comics.data;
import java.util.LinkedList;
import java.util.List;
import de.thpeetz.kontor.common.data.AbstractEntity;
@@ -32,7 +33,7 @@ public class Artist extends AbstractEntity {
@OneToMany(fetch = FetchType.EAGER, mappedBy = "artist", cascade = CascadeType.REFRESH, orphanRemoval = true)
@Nullable
List<ComicWork> comicWorks;
List<ComicWork> comicWorks = new LinkedList<>();
@Override
public String toString() {
@@ -1,5 +1,6 @@
package de.thpeetz.kontor.comics.views;
import lombok.Getter;
import org.springframework.context.annotation.Scope;
import com.vaadin.flow.component.Component;
@@ -25,10 +26,12 @@ import jakarta.annotation.security.PermitAll;
@PageTitle("Artist | Comics | Kontor")
public class ArtistView extends VerticalLayout {
Grid<Artist> grid = new Grid<>(Artist.class);
TextField filterText = new TextField();
ArtistForm form;
ComicService service;
@Getter
Grid<Artist> grid = new Grid<>(Artist.class);
TextField filterText = new TextField();
@Getter
ArtistForm form;
ComicService service;
public ArtistView(ComicService service) {
this.service = service;
@@ -41,14 +44,6 @@ public class ArtistView extends VerticalLayout {
updateList();
}
public Grid<Artist> getGrid() {
return grid;
}
public ArtistForm getForm() {
return form;
}
private void configureGrid() {
grid.addClassName("artist-grid");
grid.setSizeFull();
@@ -9,6 +9,7 @@ import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import java.util.LinkedList;
import java.util.List;
@Getter
@@ -24,5 +25,5 @@ public class MediaActor extends AbstractEntity {
@OneToMany(fetch = FetchType.EAGER, mappedBy = "media_actor", cascade = CascadeType.REFRESH, orphanRemoval = true)
@Nullable
List<MediaActorFile> mediaActorFiles;
List<MediaActorFile> mediaActorFiles = new LinkedList<>();
}
@@ -8,6 +8,7 @@ import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import java.util.LinkedList;
import java.util.List;
@Slf4j
@@ -39,5 +40,5 @@ public class MediaFile extends AbstractEntity {
@OneToMany(fetch = FetchType.EAGER, mappedBy = "media_file", cascade = CascadeType.REFRESH, orphanRemoval = true)
@Nullable
List<MediaActorFile> mediaActorFiles;
List<MediaActorFile> mediaActorFiles = new LinkedList<>();
}
@@ -44,7 +44,7 @@ public class MediaActorView extends VerticalLayout {
}
private void configureGrid() {
grid.addClassName("artist-grid");
grid.addClassName("media-actor-grid");
grid.setSizeFull();
grid.setColumns("name");
grid.getColumns().forEach(col -> col.setAutoWidth(true));