update models to use string type for id fields
This commit is contained in:
@@ -66,4 +66,9 @@ public class MetaDataColumn extends AbstractEntity {
|
||||
}
|
||||
return "no changes for " + this.getId() + "\n";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MetaDataColumn{id=" + getId() + ", columnName=" + columnName + ", table=" + table.getTableName() +'}';
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -12,6 +12,8 @@ public interface MetaDataColumnRepository extends JpaRepository<MetaDataColumn,
|
||||
|
||||
List<MetaDataColumn> findByTable(MetaDataTable table);
|
||||
|
||||
List<MetaDataColumn> findByTableAndColumnName(MetaDataTable table, String column_name);
|
||||
|
||||
@Query("select m from MetaDataColumn m " +
|
||||
"where lower(m.columnName) like lower(concat('%', :searchTerm, '%')) or lower(m.columnLabel) like lower(concat('%', :searchTerm, '%'))")
|
||||
List<MetaDataColumn> search(@Param("searchTerm") String searchTerm);
|
||||
|
||||
@@ -67,61 +67,73 @@ public class MetaDataService {
|
||||
this.getColumn(table, columnName, columnSyncName, columnType, columnModifier, columnOrder, isShown, columnLabel, showFilter, filterLabel, null);
|
||||
}
|
||||
|
||||
public void checkColumnValues(MetaDataTable table, MetaDataColumn column, String columnName, String columnSyncName, String columnType, String columnModifier, Integer columnOrder, Boolean isShown, String columnLabel, Boolean showFilter, String filterLabel, String refColumn) {
|
||||
log.debug("Column {} with name {} of table {} found, check Values", columnOrder, columnName, table.getTableName());
|
||||
if (!column.getColumnName().equals(columnName)) {
|
||||
log.debug("columnName has to be changed to {}", columnName);
|
||||
column.setColumnName(columnName);
|
||||
}
|
||||
if (!column.getColumnSyncName().equals(columnSyncName)) {
|
||||
log.debug("columnSyncName has to be changed to {}", columnSyncName);
|
||||
column.setColumnSyncName(columnSyncName);
|
||||
}
|
||||
if (!column.getColumnType().equals(columnType)) {
|
||||
log.debug("columnType has to be changed to {}", columnType);
|
||||
column.setColumnType(columnType);
|
||||
}
|
||||
if (columnModifier != null && !columnModifier.equals(column.getColumnModifier())) {
|
||||
log.debug("columnModifier has to be changed to {}", columnModifier);
|
||||
column.setColumnModifier(columnModifier);
|
||||
}
|
||||
if (isShown != null && !isShown.equals(column.getIsShown())) {
|
||||
log.debug("isShown has to be change to {}}", isShown);
|
||||
column.setIsShown(isShown);
|
||||
}
|
||||
if (columnLabel != null && !columnLabel.equals(column.getColumnLabel())) {
|
||||
log.debug("columnLabel has to be change to {}}", columnLabel);
|
||||
column.setColumnLabel(columnLabel);
|
||||
}
|
||||
if (showFilter != null &&!showFilter.equals(column.getShowFilter())) {
|
||||
log.debug("showFilter has to be change to {}}", showFilter);
|
||||
column.setShowFilter(showFilter);
|
||||
}
|
||||
if (filterLabel != null && !filterLabel.equals(column.getFilterLabel())) {
|
||||
log.debug("filterLabel has to be change to {}}", filterLabel);
|
||||
column.setFilterLabel(filterLabel);
|
||||
}
|
||||
if (refColumn != null && !refColumn.equals(column.getRefColumn())) {
|
||||
log.debug("refColumn has to be change to {}}", filterLabel);
|
||||
column.setRefColumn(refColumn);
|
||||
}
|
||||
saveMetaDataColumn(column);
|
||||
}
|
||||
|
||||
public void getColumn(MetaDataTable table, String columnName, String columnSyncName, String columnType, String columnModifier, Integer columnOrder, Boolean isShown, String columnLabel, Boolean showFilter, String filterLabel, String refColumn) {
|
||||
if (table.getTableColumns().stream().anyMatch(column -> column.getColumnName().equals(columnName))) {
|
||||
log.debug("Column {} with name {} of table {} found, check Values", columnOrder, columnName, table.getTableName());
|
||||
MetaDataColumn column = table.getTableColumns().get(columnOrder.intValue()-1);
|
||||
if (!column.getColumnName().equals(columnName)) {
|
||||
log.debug("columnName has to be changed to {}", columnName);
|
||||
column.setColumnName(columnName);
|
||||
}
|
||||
if (!column.getColumnSyncName().equals(columnSyncName)) {
|
||||
log.debug("columnSyncName has to be changed to {}", columnSyncName);
|
||||
column.setColumnSyncName(columnSyncName);
|
||||
}
|
||||
if (!column.getColumnType().equals(columnType)) {
|
||||
log.debug("columnType has to be changed to {}", columnType);
|
||||
column.setColumnType(columnType);
|
||||
}
|
||||
if (columnModifier != null && !columnModifier.equals(column.getColumnModifier())) {
|
||||
log.debug("columnModifier has to be changed to {}", columnModifier);
|
||||
column.setColumnModifier(columnModifier);
|
||||
}
|
||||
if (isShown != null && !isShown.equals(column.getIsShown())) {
|
||||
log.debug("isShown has to be change to {}}", isShown);
|
||||
column.setIsShown(isShown);
|
||||
}
|
||||
if (columnLabel != null && !columnLabel.equals(column.getColumnLabel())) {
|
||||
log.debug("columnLabel has to be change to {}}", columnLabel);
|
||||
column.setColumnLabel(columnLabel);
|
||||
}
|
||||
if (showFilter != null &&!showFilter.equals(column.getShowFilter())) {
|
||||
log.debug("showFilter has to be change to {}}", showFilter);
|
||||
column.setShowFilter(showFilter);
|
||||
}
|
||||
if (filterLabel != null && !filterLabel.equals(column.getFilterLabel())) {
|
||||
log.debug("filterLabel has to be change to {}}", filterLabel);
|
||||
column.setFilterLabel(filterLabel);
|
||||
}
|
||||
if (refColumn != null && !refColumn.equals(column.getRefColumn())) {
|
||||
log.debug("refColumn has to be change to {}}", filterLabel);
|
||||
column.setRefColumn(refColumn);
|
||||
}
|
||||
metaDataColumnRepository.save(column);
|
||||
log.info("check if column {} of table {} exists", columnName, table.getTableName());
|
||||
boolean columnNameExists = table.getTableColumns().stream().anyMatch(column -> column.getColumnName().equals(columnName));
|
||||
boolean columnOrderExists = table.getTableColumns().get(columnOrder-1) != null;
|
||||
List<MetaDataColumn> metaDataColumns = metaDataColumnRepository.findByTableAndColumnName(table, columnName);
|
||||
log.debug("column found: name: {}, order: {}: table.columns: {}", columnNameExists, columnOrderExists, metaDataColumns);
|
||||
if (columnOrderExists) {
|
||||
MetaDataColumn column = table.getTableColumns().get(columnOrder-1);
|
||||
checkColumnValues(table, column, columnName, columnSyncName, columnType, columnModifier, columnOrder, isShown, columnLabel, showFilter, filterLabel, refColumn);
|
||||
} else {
|
||||
log.info("Column {} of table {} not found, will create it", columnName, table.getTableName());
|
||||
MetaDataColumn column = new MetaDataColumn();
|
||||
column.setTable(table);
|
||||
column.setColumnName(columnName);
|
||||
column.setColumnSyncName(columnSyncName);
|
||||
column.setColumnType(columnType);
|
||||
column.setColumnModifier(columnModifier);
|
||||
column.setColumnOrder(columnOrder);
|
||||
column.setIsShown(Boolean.FALSE);
|
||||
metaDataColumnRepository.save(column);
|
||||
//addColumn(table,columnName,columnSyncName,columnType,columnModifier,columnOrder,isShown);
|
||||
}
|
||||
}
|
||||
|
||||
private void addColumn(MetaDataTable table, String columnName, String columnSyncName, String columnType, String columnModifier, Integer columnOrder, Boolean isShown) {
|
||||
MetaDataColumn column = new MetaDataColumn();
|
||||
column.setTable(table);
|
||||
column.setColumnName(columnName);
|
||||
column.setColumnSyncName(columnSyncName);
|
||||
column.setColumnType(columnType);
|
||||
column.setColumnModifier(columnModifier);
|
||||
column.setColumnOrder(columnOrder);
|
||||
column.setIsShown(isShown);
|
||||
saveMetaDataColumn(column);
|
||||
}
|
||||
|
||||
public List<MetaDataColumn> findAllMetaDataColumns(String stringFilter) {
|
||||
if (stringFilter == null || stringFilter.isEmpty()) {
|
||||
|
||||
@@ -118,7 +118,7 @@ public class IssueView extends VerticalLayout {
|
||||
menuButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
|
||||
ColumnToggleContextMenu<Issue> columnToggleContextMenu = new ColumnToggleContextMenu<>(menuButton);
|
||||
columnToggleContextMenu.addColumnToggleItem(idColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(createdColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(createdColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(modifiedColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(versionColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(titleColumn);
|
||||
|
||||
@@ -38,4 +38,8 @@ public class CardSet extends AbstractEntity {
|
||||
private boolean parallelSet = false;
|
||||
|
||||
private boolean insertSet = false;
|
||||
|
||||
public String getVendorName() {
|
||||
return vendor.getName();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import lombok.ToString;
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Entity
|
||||
@Table(indexes = {@Index(columnList = "name")},
|
||||
@@ -35,4 +34,9 @@ public class Vendor extends AbstractEntity {
|
||||
@OneToMany(fetch = FetchType.EAGER, mappedBy = "vendor")
|
||||
@Nullable
|
||||
private List<CardSet> cardSets;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Vendor{id=" + this.getId() + ", name=" + name + '}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package de.thpeetz.kontor.tysc.views;
|
||||
|
||||
import com.vaadin.flow.component.button.*;
|
||||
import de.thpeetz.kontor.comics.data.*;
|
||||
import de.thpeetz.kontor.common.views.*;
|
||||
import lombok.*;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
||||
import com.vaadin.flow.component.Component;
|
||||
import com.vaadin.flow.component.button.Button;
|
||||
import com.vaadin.flow.component.grid.Grid;
|
||||
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
@@ -13,12 +16,13 @@ import com.vaadin.flow.router.PageTitle;
|
||||
import com.vaadin.flow.router.Route;
|
||||
import com.vaadin.flow.spring.annotation.SpringComponent;
|
||||
|
||||
import de.thpeetz.kontor.common.views.MainLayout;
|
||||
import de.thpeetz.kontor.tysc.TyscConstants;
|
||||
import de.thpeetz.kontor.tysc.data.CardSet;
|
||||
import de.thpeetz.kontor.tysc.services.CardService;
|
||||
import jakarta.annotation.security.PermitAll;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@SpringComponent
|
||||
@Scope("prototype")
|
||||
@PermitAll
|
||||
@@ -26,8 +30,26 @@ import jakarta.annotation.security.PermitAll;
|
||||
@PageTitle("CardSet | Tysc | Kontor")
|
||||
public class CardSetView extends VerticalLayout {
|
||||
|
||||
Grid<CardSet> grid = new Grid<>(CardSet.class);
|
||||
@Getter
|
||||
Grid<CardSet> grid = new Grid<>(CardSet.class, false);
|
||||
Grid.Column<CardSet> idColumn = grid.addColumn(CardSet::getId)
|
||||
.setHeader("ID").setResizable(true).setSortable(true);
|
||||
Grid.Column<CardSet> createdColumn = grid.addColumn(CardSet::getCreatedDate)
|
||||
.setHeader("Erstellt").setResizable(true).setSortable(true);
|
||||
Grid.Column<CardSet> modifiedColumn = grid.addColumn(CardSet::getLastModifiedDate)
|
||||
.setHeader("Geändert").setResizable(true).setSortable(true);
|
||||
Grid.Column<CardSet> versionColumn = grid.addColumn(CardSet::getVersion)
|
||||
.setHeader("Version").setResizable(true).setSortable(true);
|
||||
Grid.Column<CardSet> nameColumn = grid.addColumn(CardSet::getName)
|
||||
.setHeader("Comic").setResizable(true).setSortable(true);
|
||||
Grid.Column<CardSet> vendorNameColumn = grid.addColumn(CardSet::getVendorName)
|
||||
.setHeader("Hersteller").setResizable(true).setSortable(true);
|
||||
Grid.Column<CardSet> parallelSetColumn = grid.addComponentColumn(parallelSet -> StatusIcon.create(parallelSet.isParallelSet()))
|
||||
.setHeader("Parallelset?").setWidth("6rem").setSortable(true);
|
||||
Grid.Column<CardSet> insertSetColumn = grid.addComponentColumn(insertSet -> StatusIcon.create(insertSet.isInsertSet()))
|
||||
.setHeader("Parallelset?").setWidth("6rem").setSortable(true);
|
||||
TextField filterText = new TextField();
|
||||
@Getter
|
||||
CardSetForm form;
|
||||
CardService service;
|
||||
|
||||
@@ -42,22 +64,18 @@ public class CardSetView extends VerticalLayout {
|
||||
updateList();
|
||||
}
|
||||
|
||||
public Grid<CardSet> getGrid() {
|
||||
return grid;
|
||||
}
|
||||
|
||||
private void configureGrid() {
|
||||
grid.addClassName("cardSet-grid");
|
||||
grid.setSizeFull();
|
||||
grid.setColumns("name", "vendor.name", "parallelSet", "insertSet");
|
||||
//grid.setColumns("name", "vendor.name", "parallelSet", "insertSet");
|
||||
grid.getColumns().forEach(col -> col.setAutoWidth(true));
|
||||
idColumn.setVisible(false);
|
||||
createdColumn.setVisible(false);
|
||||
modifiedColumn.setVisible(false);
|
||||
versionColumn.setVisible(false);
|
||||
grid.asSingleSelect().addValueChangeListener(event -> editCardSet(event.getValue()));
|
||||
}
|
||||
|
||||
public CardSetForm getForm() {
|
||||
return form;
|
||||
}
|
||||
|
||||
private void configureForm() {
|
||||
form = new CardSetForm();
|
||||
form.setWidth("25em");
|
||||
@@ -67,18 +85,6 @@ public class CardSetView extends VerticalLayout {
|
||||
form.addCloseListener(e -> closeEditor());
|
||||
}
|
||||
|
||||
private void saveCardSet(CardSetForm.SaveEvent event) {
|
||||
service.saveCardSet(event.getCardSet());
|
||||
updateList();
|
||||
closeEditor();
|
||||
}
|
||||
|
||||
private void deleteCardSet(CardSetForm.DeleteEvent event) {
|
||||
service.deleteCardSet(event.getCardSet());
|
||||
updateList();
|
||||
closeEditor();
|
||||
}
|
||||
|
||||
private Component getContent() {
|
||||
HorizontalLayout content = new HorizontalLayout(grid, form);
|
||||
content.setFlexGrow(2, grid);
|
||||
@@ -97,11 +103,34 @@ public class CardSetView extends VerticalLayout {
|
||||
Button addCardSetButton = new Button("Add cardSet");
|
||||
addCardSetButton.addClickListener(click -> addCardSet());
|
||||
|
||||
HorizontalLayout toolbar = new HorizontalLayout(filterText, addCardSetButton);
|
||||
Button menuButton = new Button("Show/Hide Columns");
|
||||
menuButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
|
||||
ColumnToggleContextMenu<CardSet> columnToggleContextMenu = new ColumnToggleContextMenu<>(menuButton);
|
||||
columnToggleContextMenu.addColumnToggleItem(idColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(createdColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(modifiedColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(versionColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(nameColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(vendorNameColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(parallelSetColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(insertSetColumn);
|
||||
HorizontalLayout toolbar = new HorizontalLayout(filterText, addCardSetButton, menuButton);
|
||||
toolbar.addClassName("toolbar");
|
||||
return toolbar;
|
||||
}
|
||||
|
||||
private void saveCardSet(CardSetForm.SaveEvent event) {
|
||||
service.saveCardSet(event.getCardSet());
|
||||
updateList();
|
||||
closeEditor();
|
||||
}
|
||||
|
||||
private void deleteCardSet(CardSetForm.DeleteEvent event) {
|
||||
service.deleteCardSet(event.getCardSet());
|
||||
updateList();
|
||||
closeEditor();
|
||||
}
|
||||
|
||||
public void editCardSet(CardSet cardSet) {
|
||||
if (cardSet == null) {
|
||||
closeEditor();
|
||||
|
||||
@@ -51,7 +51,6 @@ public class CardView extends VerticalLayout {
|
||||
.setHeader("Inserts").setWidth("6rem").setSortable(true);
|
||||
Grid.Column<Card> parallelSetColumn = grid.addComponentColumn(card -> StatusIcon.create(card.getCardSet().isParallelSet()))
|
||||
.setHeader("Parallels").setWidth("6rem").setSortable(true);
|
||||
|
||||
Grid.Column<Card> playerColumn = grid.addColumn(Card::getPlayerName).setHeader("Spieler").setResizable(true).setSortable(true);
|
||||
TextField filterText = new TextField();
|
||||
@Getter
|
||||
@@ -128,9 +127,10 @@ public class CardView extends VerticalLayout {
|
||||
columnToggleContextMenu.addColumnToggleItem(yearColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(vendorColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(cardSetColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(insertSetColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(parallelSetColumn);
|
||||
columnToggleContextMenu.addColumnToggleItem(playerColumn);
|
||||
HorizontalLayout toolbar = new HorizontalLayout(filterText, addCardButton, menuButton);
|
||||
|
||||
toolbar.addClassName("toolbar");
|
||||
return toolbar;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user