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