removed fields from MetaDataColumn

This commit is contained in:
Thomas Peetz
2025-05-21 17:29:14 +02:00
committed by Thomas Peetz
parent fab7bd145e
commit 142c515780
8 changed files with 24 additions and 74 deletions
+5 -7
View File
@@ -19,17 +19,15 @@ class MetaDataTable(Base, BaseMixin):
class MetaDataColumn(Base, BaseMixin): class MetaDataColumn(Base, BaseMixin):
__tablename__ = 'meta_data_column' __tablename__ = 'meta_data_column'
column_name = Column(String, nullable=False) column_name = Column(String, nullable=False)
column_sync_name = Column(String)
column_type = Column(String) column_type = Column(String)
column_modifier = Column(String, nullable=True)
column_order = Column(Integer) column_order = Column(Integer)
is_shown = Column(Boolean)
column_label = Column(String)
show_filter = Column(Boolean)
filter_label = Column(String)
ref_column = Column(String, nullable=True)
table_id = Column(String, ForeignKey('meta_data_table.id')) table_id = Column(String, ForeignKey('meta_data_table.id'))
table = relationship("MetaDataTable", back_populates="table_columns") table = relationship("MetaDataTable", back_populates="table_columns")
column_label = Column(String)
filter_label = Column(String)
is_shown = Column(Boolean)
show_filter = Column(Boolean)
ref_column = Column(String, nullable=True)
def __repr__(self): def __repr__(self):
if self.column_name is None: if self.column_name is None:
-2
View File
@@ -18,9 +18,7 @@ def get_columns(columns: List[MetaDataColumn]) -> List[MetaDataColumnResponse]:
id=column.id, id=column.id,
table_name=column.table.table_name, table_name=column.table.table_name,
column_name=column.column_name, column_name=column.column_name,
column_sync_name=column.column_sync_name,
column_type=column.column_type, column_type=column.column_type,
column_modifier=column.column_modifier,
column_order=column.column_order, column_order=column.column_order,
is_shown=column.is_shown, is_shown=column.is_shown,
column_label=column.column_label, column_label=column.column_label,
@@ -4,9 +4,7 @@
<table class="table table-hover"> <table class="table table-hover">
<thead><tr> <thead><tr>
<th scope="col">Column Name</th> <th scope="col">Column Name</th>
<th scope="col">Column Sync Name</th>
<th scope="col">Column Type</th> <th scope="col">Column Type</th>
<th scope="col">Column Modifier</th>
<th scope="col">Column Order</th> <th scope="col">Column Order</th>
<th scope="col">Is Shown</th> <th scope="col">Is Shown</th>
<th scope="col">Column Label</th> <th scope="col">Column Label</th>
@@ -18,9 +16,7 @@
{% for column in obj.table_columns %} {% for column in obj.table_columns %}
<tr> <tr>
<th scope="row"><a href="/admin/metadata/{{column.id}}">{{column.column_name}}</a></th> <th scope="row"><a href="/admin/metadata/{{column.id}}">{{column.column_name}}</a></th>
<td>{{column.column_sync_name}}</td>
<td>{{column.column_type}}</td> <td>{{column.column_type}}</td>
<td>{{column.column_modifier}}</td>
<td>{{column.column_order}}</td> <td>{{column.column_order}}</td>
<td>{% with check=column.is_shown %}{% include "components/check.html" %}{% endwith %}</td> <td>{% with check=column.is_shown %}{% include "components/check.html" %}{% endwith %}</td>
<td>{{column.column_label}}</td> <td>{{column.column_label}}</td>
+7 -11
View File
@@ -27,17 +27,15 @@ class MetaDataTable(Base, BaseMixin):
class MetaDataColumn(Base, BaseMixin): class MetaDataColumn(Base, BaseMixin):
__tablename__ = 'meta_data_column' __tablename__ = 'meta_data_column'
column_name = Column(String, nullable=False) column_name = Column(String, nullable=False)
column_sync_name = Column(String)
column_type = Column(String) column_type = Column(String)
column_modifier = Column(String, nullable=True)
column_order = Column(Integer) column_order = Column(Integer)
is_shown = Column(Boolean)
column_label = Column(String)
show_filter = Column(Boolean)
filter_label = Column(String)
ref_column = Column(String, nullable=True)
table_id = Column(String, ForeignKey('meta_data_table.id')) table_id = Column(String, ForeignKey('meta_data_table.id'))
table = relationship("MetaDataTable", back_populates="table_columns") table = relationship("MetaDataTable", back_populates="table_columns")
column_label = Column(String)
filter_label = Column(String)
is_shown = Column(Boolean)
show_filter = Column(Boolean)
ref_column = Column(String, nullable=True)
def __repr__(self): def __repr__(self):
if self.column_name is None: if self.column_name is None:
@@ -54,13 +52,11 @@ class MetaDataColumn(Base, BaseMixin):
self.last_modified_date = import_data['last_modified_date'] self.last_modified_date = import_data['last_modified_date']
self.version = import_data['version'] self.version = import_data['version']
self.column_name = import_data['column_name'] self.column_name = import_data['column_name']
self.column_sync_name = import_data['column_sync_name']
self.column_type = import_data['column_type'] self.column_type = import_data['column_type']
self.column_modifier = import_data['column_modifier']
self.column_order = import_data['column_order'] self.column_order = import_data['column_order']
self.table_id = import_data['table_id'] self.table_id = import_data['table_id']
self.column_label = import_data['column_label']
self.filter_label = import_data['filter_label']
self.is_shown = import_data['is_shown'] self.is_shown = import_data['is_shown']
self.column_label = import_data['column_label']
self.show_filter = import_data['show_filter'] self.show_filter = import_data['show_filter']
self.filter_label = import_data['filter_label']
self.ref_column = import_data['ref_column'] self.ref_column = import_data['ref_column']
@@ -21,13 +21,8 @@ public class MetaDataColumn extends AbstractEntity {
@NotNull @NotNull
private String columnName; private String columnName;
private String columnSyncName;
private String columnType; private String columnType;
@Nullable
private String columnModifier;
private Integer columnOrder; private Integer columnOrder;
private Boolean isShown; private Boolean isShown;
@@ -38,6 +33,7 @@ public class MetaDataColumn extends AbstractEntity {
private String filterLabel; private String filterLabel;
@Nullable
private String refColumn; private String refColumn;
@ManyToOne @ManyToOne
@@ -58,15 +54,6 @@ public class MetaDataColumn extends AbstractEntity {
return "no changes for " + this.getId() + "\n"; return "no changes for " + this.getId() + "\n";
} }
public String updateColumnSyncName(String value) {
if (!this.getColumnSyncName().equals(value)) {
this.setColumnSyncName(value);
log.info("update columnSyncName");
return "updated " + this.getId() + " with " + value + "\n";
}
return "no changes for " + this.getId() + "\n";
}
@Override @Override
public String toString() { public String toString() {
return "MetaDataColumn{id=" + getId() + ", columnName=" + columnName + ", table=" + table.getTableName() +'}'; return "MetaDataColumn{id=" + getId() + ", columnName=" + columnName + ", table=" + table.getTableName() +'}';
@@ -63,28 +63,20 @@ public class MetaDataService {
} }
} }
public void getColumn(MetaDataTable table, String columnName, String columnSyncName, String columnType, String columnModifier, Integer columnOrder, Boolean isShown, String columnLabel, Boolean showFilter, String filterLabel) { public void getColumn(MetaDataTable table, String columnName, String columnType, Integer columnOrder, Boolean isShown, String columnLabel, Boolean showFilter, String filterLabel) {
this.getColumn(table, columnName, columnSyncName, columnType, columnModifier, columnOrder, isShown, columnLabel, showFilter, filterLabel, null); this.getColumn(table, columnName, columnType, 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) { public void checkColumnValues(MetaDataTable table, MetaDataColumn column, String columnName, String columnType, 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()); log.debug("Column {} with name {} of table {} found, check Values", columnOrder, columnName, table.getTableName());
if (!column.getColumnName().equals(columnName)) { if (!column.getColumnName().equals(columnName)) {
log.debug("columnName has to be changed to {}", columnName); log.debug("columnName has to be changed to {}", columnName);
column.setColumnName(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)) { if (!column.getColumnType().equals(columnType)) {
log.debug("columnType has to be changed to {}", columnType); log.debug("columnType has to be changed to {}", columnType);
column.setColumnType(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())) { if (isShown != null && !isShown.equals(column.getIsShown())) {
log.debug("isShown has to be change to {}}", isShown); log.debug("isShown has to be change to {}}", isShown);
column.setIsShown(isShown); column.setIsShown(isShown);
@@ -108,7 +100,7 @@ public class MetaDataService {
saveMetaDataColumn(column); 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) { public void getColumn(MetaDataTable table, String columnName, String columnType, Integer columnOrder, Boolean isShown, String columnLabel, Boolean showFilter, String filterLabel, String refColumn) {
log.info("check if column {} of table {} exists", columnName, table.getTableName()); log.info("check if column {} of table {} exists", columnName, table.getTableName());
boolean columnNameExists = table.getTableColumns().stream().anyMatch(column -> column.getColumnName().equals(columnName)); boolean columnNameExists = table.getTableColumns().stream().anyMatch(column -> column.getColumnName().equals(columnName));
boolean columnOrderExists = table.getTableColumns().get(columnOrder-1) != null; boolean columnOrderExists = table.getTableColumns().get(columnOrder-1) != null;
@@ -116,20 +108,18 @@ public class MetaDataService {
log.debug("column found: name: {}, order: {}: table.columns: {}", columnNameExists, columnOrderExists, metaDataColumns); log.debug("column found: name: {}, order: {}: table.columns: {}", columnNameExists, columnOrderExists, metaDataColumns);
if (columnOrderExists) { if (columnOrderExists) {
MetaDataColumn column = table.getTableColumns().get(columnOrder-1); MetaDataColumn column = table.getTableColumns().get(columnOrder-1);
checkColumnValues(table, column, columnName, columnSyncName, columnType, columnModifier, columnOrder, isShown, columnLabel, showFilter, filterLabel, refColumn); checkColumnValues(table, column, columnName, columnType, columnOrder, isShown, columnLabel, showFilter, filterLabel, refColumn);
} else { } else {
log.info("Column {} of table {} not found, will create it", columnName, table.getTableName()); log.info("Column {} of table {} not found, will create it", columnName, table.getTableName());
addColumn(table,columnName,columnSyncName,columnType,columnModifier,columnOrder,isShown, refColumn); addColumn(table, columnName, columnType, columnOrder, isShown, refColumn);
} }
} }
private void addColumn(MetaDataTable table, String columnName, String columnSyncName, String columnType, String columnModifier, Integer columnOrder, Boolean isShown, String refColumn) { private void addColumn(MetaDataTable table, String columnName, String columnType, Integer columnOrder, Boolean isShown, String refColumn) {
MetaDataColumn column = new MetaDataColumn(); MetaDataColumn column = new MetaDataColumn();
column.setTable(table); column.setTable(table);
column.setColumnName(columnName); column.setColumnName(columnName);
column.setColumnSyncName(columnSyncName);
column.setColumnType(columnType); column.setColumnType(columnType);
column.setColumnModifier(columnModifier);
column.setColumnOrder(columnOrder); column.setColumnOrder(columnOrder);
column.setIsShown(isShown); column.setIsShown(isShown);
column.setRefColumn(refColumn); column.setRefColumn(refColumn);
@@ -202,7 +192,6 @@ public class MetaDataService {
MetaDataColumn metaDataColumn = new MetaDataColumn(); MetaDataColumn metaDataColumn = new MetaDataColumn();
metaDataColumn.setId(id); metaDataColumn.setId(id);
metaDataColumn.setColumnName(fields.get("column_name")); metaDataColumn.setColumnName(fields.get("column_name"));
metaDataColumn.setColumnSyncName(fields.get("column_sync_name"));
metaDataColumn.setColumnType(fields.get("column_type")); metaDataColumn.setColumnType(fields.get("column_type"));
metaDataColumnRepository.save(metaDataColumn); metaDataColumnRepository.save(metaDataColumn);
} else { } else {
@@ -227,9 +216,6 @@ public class MetaDataService {
case "column_name": case "column_name":
status.append(metaDataColumn.updateColumnName(value)); status.append(metaDataColumn.updateColumnName(value));
break; break;
case "column_sync_name":
status.append(metaDataColumn.updateColumnSyncName(value));
break;
default: default:
log.info("field {} is unknown for table {}", key, tableName); log.info("field {} is unknown for table {}", key, tableName);
} }
@@ -15,6 +15,7 @@ import com.vaadin.flow.data.binder.BeanValidationBinder;
import com.vaadin.flow.data.binder.Binder; import com.vaadin.flow.data.binder.Binder;
import de.thpeetz.kontor.admin.data.MetaDataColumn; import de.thpeetz.kontor.admin.data.MetaDataColumn;
import de.thpeetz.kontor.admin.data.MetaDataTable; import de.thpeetz.kontor.admin.data.MetaDataTable;
import lombok.*;
import java.util.List; import java.util.List;
@@ -22,8 +23,6 @@ public class MetaDataForm extends FormLayout {
ComboBox<MetaDataTable> table = new ComboBox<>("Table"); ComboBox<MetaDataTable> table = new ComboBox<>("Table");
TextField columnName = new TextField("Column Name"); TextField columnName = new TextField("Column Name");
TextField columnSyncName = new TextField("Column Sync Name");
TextField columnModifier = new TextField("Column Modifier");
IntegerField columnOrder = new IntegerField("Column Order"); IntegerField columnOrder = new IntegerField("Column Order");
Checkbox isShown = new Checkbox("Is Shown"); Checkbox isShown = new Checkbox("Is Shown");
TextField columnLabel = new TextField("Column Label"); TextField columnLabel = new TextField("Column Label");
@@ -43,7 +42,7 @@ public class MetaDataForm extends FormLayout {
table.setItems(tables); table.setItems(tables);
table.setItemLabelGenerator(MetaDataTable::getTableName); table.setItemLabelGenerator(MetaDataTable::getTableName);
add(table, columnName, columnSyncName, columnModifier, columnOrder); add(table, columnName, columnOrder);
add(isShown, columnLabel); add(isShown, columnLabel);
isShown.addClickListener(click -> columnLabel.setEnabled(isShown.getValue())); isShown.addClickListener(click -> columnLabel.setEnabled(isShown.getValue()));
add(showFilter, filterLabel); add(showFilter, filterLabel);
@@ -78,17 +77,15 @@ public class MetaDataForm extends FormLayout {
binder.setBean(metaDataColumn); binder.setBean(metaDataColumn);
} }
@Getter
public abstract static class MetaDataFormEvent extends ComponentEvent<MetaDataForm> { public abstract static class MetaDataFormEvent extends ComponentEvent<MetaDataForm> {
private MetaDataColumn metaDataColumn; private final MetaDataColumn metaDataColumn;
protected MetaDataFormEvent(MetaDataForm source, MetaDataColumn metaDataColumn) { protected MetaDataFormEvent(MetaDataForm source, MetaDataColumn metaDataColumn) {
super(source, false); super(source, false);
this.metaDataColumn = metaDataColumn; this.metaDataColumn = metaDataColumn;
} }
public MetaDataColumn getMetaDataColumn() {
return metaDataColumn;
}
} }
public static class SaveEvent extends MetaDataForm.MetaDataFormEvent { public static class SaveEvent extends MetaDataForm.MetaDataFormEvent {
@@ -3,8 +3,6 @@ package de.thpeetz.kontor.admin.views;
import com.vaadin.flow.component.Component; import com.vaadin.flow.component.Component;
import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.button.ButtonVariant; import com.vaadin.flow.component.button.ButtonVariant;
import com.vaadin.flow.component.contextmenu.ContextMenu;
import com.vaadin.flow.component.contextmenu.MenuItem;
import com.vaadin.flow.component.grid.Grid; import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.grid.GridSortOrder; import com.vaadin.flow.component.grid.GridSortOrder;
import com.vaadin.flow.component.icon.Icon; import com.vaadin.flow.component.icon.Icon;
@@ -52,12 +50,8 @@ public class MetaDataView extends VerticalLayout {
.setHeader("Table").setResizable(true).setSortable(true); .setHeader("Table").setResizable(true).setSortable(true);
Grid.Column<MetaDataColumn> columnNameColumn = grid.addColumn(MetaDataColumn::getColumnName) Grid.Column<MetaDataColumn> columnNameColumn = grid.addColumn(MetaDataColumn::getColumnName)
.setHeader("Column Name").setResizable(true).setSortable(true); .setHeader("Column Name").setResizable(true).setSortable(true);
Grid.Column<MetaDataColumn> columnSyncNameColumn = grid.addColumn(MetaDataColumn::getColumnSyncName)
.setHeader("Column Sync Name").setResizable(true).setSortable(true);
Grid.Column<MetaDataColumn> columnTypeColumn = grid.addColumn(MetaDataColumn::getColumnType) Grid.Column<MetaDataColumn> columnTypeColumn = grid.addColumn(MetaDataColumn::getColumnType)
.setHeader("Column Type").setResizable(true).setSortable(true); .setHeader("Column Type").setResizable(true).setSortable(true);
Grid.Column<MetaDataColumn> columnModifierColumn = grid.addColumn(MetaDataColumn::getColumnModifier)
.setHeader("Column Modifier").setResizable(true).setSortable(true);
Grid.Column<MetaDataColumn> columnOrderColumn = grid.addColumn(MetaDataColumn::getColumnOrder) Grid.Column<MetaDataColumn> columnOrderColumn = grid.addColumn(MetaDataColumn::getColumnOrder)
.setHeader("Column Order").setResizable(true).setSortable(true); .setHeader("Column Order").setResizable(true).setSortable(true);
Grid.Column<MetaDataColumn> isShownColumn = grid.addComponentColumn(metaDataColumn -> StatusIcon.create(metaDataColumn.getIsShown())). Grid.Column<MetaDataColumn> isShownColumn = grid.addComponentColumn(metaDataColumn -> StatusIcon.create(metaDataColumn.getIsShown())).
@@ -139,9 +133,7 @@ public class MetaDataView extends VerticalLayout {
columnToggleContextMenu.addColumnToggleItem(versionColumn); columnToggleContextMenu.addColumnToggleItem(versionColumn);
columnToggleContextMenu.addColumnToggleItem(tableColumn); columnToggleContextMenu.addColumnToggleItem(tableColumn);
columnToggleContextMenu.addColumnToggleItem(columnNameColumn); columnToggleContextMenu.addColumnToggleItem(columnNameColumn);
columnToggleContextMenu.addColumnToggleItem(columnSyncNameColumn);
columnToggleContextMenu.addColumnToggleItem(columnTypeColumn); columnToggleContextMenu.addColumnToggleItem(columnTypeColumn);
columnToggleContextMenu.addColumnToggleItem(columnModifierColumn);
columnToggleContextMenu.addColumnToggleItem(columnOrderColumn); columnToggleContextMenu.addColumnToggleItem(columnOrderColumn);
columnToggleContextMenu.addColumnToggleItem(isShownColumn); columnToggleContextMenu.addColumnToggleItem(isShownColumn);
columnToggleContextMenu.addColumnToggleItem(columnLabelColumn); columnToggleContextMenu.addColumnToggleItem(columnLabelColumn);