Upgrading WicketStuff, Swagger JAX-RS, git-commit-id-maven-plugin and maven-assembly-plugin
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java
index 9c0f94a..167607b 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGrid.java
@@ -24,7 +24,6 @@
import org.apache.commons.lang3.tuple.Pair;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.event.Broadcast;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
@@ -34,22 +33,20 @@
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
-import org.wicketstuff.egrid.column.EditableGridActionsColumn;
-import org.wicketstuff.egrid.column.EditableGridActionsPanel;
+import org.wicketstuff.egrid.column.EditableActionsColumn;
+import org.wicketstuff.egrid.column.panel.ActionsPanel;
import org.wicketstuff.egrid.component.EditableDataTable;
-import org.wicketstuff.egrid.model.GridOperationData;
-import org.wicketstuff.egrid.model.OperationType;
import org.wicketstuff.egrid.provider.IEditableDataProvider;
-import org.wicketstuff.egrid.toolbar.EditableGridHeadersToolbar;
-import org.wicketstuff.egrid.toolbar.EditableGridNavigationToolbar;
+import org.wicketstuff.egrid.toolbar.HeadersToolbar;
+import org.wicketstuff.egrid.toolbar.NavigationToolbar;
public class AjaxGrid<K, V, S> extends Panel {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 9101893623114754751L;
protected static class NonValidatingForm<T> extends Form<T> {
- protected static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 8313183098058102408L;
public NonValidatingForm(final String id) {
super(id);
@@ -75,26 +72,12 @@
newCols.addAll(columns);
newCols.add(new AjaxGridActionsColumn<>(new Model<>("Actions")));
- dataTable = new EditableDataTable<>("dataTable", newCols, dataProvider, rowsPerPage, null) {
-
- protected static final long serialVersionUID = 1L;
-
- @Override
- protected void onError(final AjaxRequestTarget target) {
- AjaxGrid.this.onError(target);
- }
-
- @Override
- protected Item<Pair<K, V>> newRowItem(final String id, final int index, final IModel<Pair<K, V>> model) {
- return super.newRowItem(id, index, model);
- }
- };
-
+ dataTable = new EditableDataTable<>("dataTable", newCols, dataProvider, rowsPerPage);
dataTable.setOutputMarkupId(true);
- dataTable.addTopToolbar(new EditableGridNavigationToolbar(dataTable));
+ dataTable.addTopToolbar(new NavigationToolbar(dataTable));
if (displayHeader()) {
- dataTable.addTopToolbar(new EditableGridHeadersToolbar<>(dataTable, dataProvider));
+ dataTable.addTopToolbar(new HeadersToolbar<>(dataTable, dataProvider));
}
if (displayAdd()) {
dataTable.addBottomToolbar(newAddBottomToolbar(dataTable, dataProvider));
@@ -116,12 +99,6 @@
return this;
}
- protected EditableDataTable.RowItem<Pair<K, V>> newRowItem(
- final String id, final int index, final IModel<Pair<K, V>> model) {
-
- return new EditableDataTable.RowItem<>(id, index, model);
- }
-
protected AjaxGridBottomToolbar<Pair<K, V>, S> newAddBottomToolbar(
final EditableDataTable<Pair<K, V>, S> dataTable,
final IEditableDataProvider<Pair<K, V>, S> dataProvider) {
@@ -162,7 +139,7 @@
return true;
}
- protected void onCancel(final AjaxRequestTarget target) {
+ protected void onCancel(final AjaxRequestTarget target, final IModel<Pair<K, V>> rowModel) {
}
protected void onDelete(final AjaxRequestTarget target, final IModel<Pair<K, V>> rowModel) {
@@ -177,9 +154,9 @@
protected void onAdd(final AjaxRequestTarget target, final Pair<K, V> newRow) {
}
- protected class AjaxGridActionsColumn<P, S> extends EditableGridActionsColumn<Pair<K, V>, S> {
+ protected class AjaxGridActionsColumn<P, S> extends EditableActionsColumn<Pair<K, V>, S> {
- protected static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 7409805339768145855L;
public AjaxGridActionsColumn(final IModel<String> displayModel) {
super(displayModel);
@@ -187,11 +164,12 @@
@Override
public void populateItem(
- final Item<ICellPopulator<Pair<K, V>>> item,
- final String componentId,
+ final Item<ICellPopulator<Pair<K, V>>> item, String componentId,
final IModel<Pair<K, V>> rowModel) {
- item.add(new AjaxGridActionsPanel<>(componentId, item));
+ @SuppressWarnings("unchecked")
+ Item<Pair<K, V>> rowItem = item.findParent(Item.class);
+ item.add(new AjaxGridActionsPanel<>(componentId, rowItem));
}
@Override
@@ -210,8 +188,8 @@
}
@Override
- protected void onCancel(final AjaxRequestTarget target) {
- AjaxGrid.this.onCancel(target);
+ protected void onCancel(final AjaxRequestTarget target, final IModel<Pair<K, V>> rowModel) {
+ AjaxGrid.this.onCancel(target, rowModel);
}
@Override
@@ -220,55 +198,64 @@
}
}
- protected class AjaxGridActionsPanel<T> extends EditableGridActionsPanel<Pair<K, V>> {
+ protected class AjaxGridActionsPanel<T> extends ActionsPanel<Pair<K, V>> {
private static final long serialVersionUID = -1239486389000098745L;
private final Item<Pair<K, V>> rowItem;
@SuppressWarnings("unchecked")
- public AjaxGridActionsPanel(final String id, final Item<ICellPopulator<Pair<K, V>>> item) {
+ public AjaxGridActionsPanel(final String id, final Item<Pair<K, V>> item) {
super(id, item);
- rowItem = item.findParent(Item.class);
- addOrReplace(new AjaxLink<String>("delete") {
+ this.rowItem = item;
+ }
- private static final long serialVersionUID = 1049203640150071039L;
+ @Override
+ protected void onEdit(final AjaxRequestTarget target) {
+ super.onEdit(target);
- @SuppressWarnings("unchecked")
- @Override
- public void onClick(final AjaxRequestTarget target) {
- EditableDataTable<?, ?> eventTarget = rowItem.findParent(EditableDataTable.class);
- send(getPage(), Broadcast.BREADTH, new GridOperationData<>(
- OperationType.DELETE, (T) rowItem.getDefaultModelObject(), eventTarget));
- target.add(eventTarget);
- onDelete(target);
- }
-
- @Override
- public boolean isVisible() {
- return AjaxGridActionsPanel.this.allowDelete(rowItem);
- }
- });
+ rowItem.setMetaData(EditableDataTable.EDITING, true);
+ send(getPage(), Broadcast.BREADTH, rowItem);
+ target.add(rowItem);
}
@Override
protected void onSave(final AjaxRequestTarget target) {
+ super.onSave(target);
+
+ rowItem.setMetaData(EditableDataTable.EDITING, false);
+ send(getPage(), Broadcast.BREADTH, rowItem);
+ target.add(rowItem);
+
AjaxGrid.this.onSave(target, rowItem.getModel());
}
@Override
protected void onError(final AjaxRequestTarget target) {
+ target.add(rowItem);
+
AjaxGrid.this.onError(target);
}
@Override
protected void onCancel(final AjaxRequestTarget target) {
- AjaxGrid.this.onCancel(target);
+ super.onCancel(target);
+
+ rowItem.setMetaData(EditableDataTable.EDITING, false);
+ send(getPage(), Broadcast.BREADTH, rowItem);
+ target.add(rowItem);
+
+ AjaxGrid.this.onCancel(target, rowItem.getModel());
}
@Override
protected void onDelete(final AjaxRequestTarget target) {
+ super.onDelete(target);
+
+ dataTable.getDataProvider().remove(rowItem.getModelObject());
+ target.add(dataTable);
+
AjaxGrid.this.onDelete(target, rowItem.getModel());
}
}
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridBottomToolbar.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridBottomToolbar.java
index 1e701fa..259b38e 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridBottomToolbar.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridBottomToolbar.java
@@ -33,14 +33,14 @@
import org.apache.wicket.markup.html.list.LoopItem;
import org.apache.wicket.model.PropertyModel;
import org.wicketstuff.egrid.column.AbstractEditablePropertyColumn;
-import org.wicketstuff.egrid.column.EditableCellPanel;
+import org.wicketstuff.egrid.column.panel.EditablePanel;
import org.wicketstuff.egrid.component.EditableDataTable;
-import org.wicketstuff.egrid.component.EditableGridSubmitLink;
-import org.wicketstuff.egrid.toolbar.AbstractEditableGridToolbar;
+import org.wicketstuff.egrid.component.EditableTableSubmitLink;
+import org.wicketstuff.egrid.toolbar.AbstractEditableToolbar;
-public abstract class AjaxGridBottomToolbar<T, S> extends AbstractEditableGridToolbar {
+public abstract class AjaxGridBottomToolbar<T, S> extends AbstractEditableToolbar {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = -8122881502408032823L;
protected static final String CELL_ID = "cell";
@@ -70,7 +70,7 @@
protected class AddToolBarForm extends Form<T> implements IFormVisitorParticipant {
- protected static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 4496461574118470280L;
public AddToolBarForm(final String id) {
super(id);
@@ -86,9 +86,9 @@
}
protected Component newAddButton(final WebMarkupContainer encapsulatingContainer) {
- return new EditableGridSubmitLink("add", encapsulatingContainer) {
+ return new EditableTableSubmitLink("add", encapsulatingContainer) {
- protected static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 4073423722572857137L;
@Override
protected void onSuccess(final AjaxRequestTarget target) {
@@ -108,19 +108,21 @@
List<AbstractEditablePropertyColumn<T, S>> columns = getEditableColumns();
return new Loop(CELLS_ID, columns.size()) {
- protected static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = -7579369655436866236L;
@Override
protected void populateItem(final LoopItem item) {
- addEditorComponent(item, getEditorColumn(columns, item.getIndex()));
+ AbstractEditablePropertyColumn<T, S> editableColumn = columns.get(item.getIndex());
+
+ EditablePanel panel = editableColumn.createEditablePanel(CELL_ID);
+ FormComponent<?> editorComponent = panel.getEditableComponent();
+ editorComponent.setDefaultModel(new PropertyModel<T>(newRow, editableColumn.getPropertyExpression()));
+
+ item.add(panel);
}
};
}
- protected void addEditorComponent(final LoopItem item, final AbstractEditablePropertyColumn<T, S> toolBarCell) {
- item.add(newCell(toolBarCell));
- }
-
@SuppressWarnings("unchecked")
protected List<AbstractEditablePropertyColumn<T, S>> getEditableColumns() {
List<AbstractEditablePropertyColumn<T, S>> columns = new ArrayList<>();
@@ -130,17 +132,4 @@
forEach(columns::add);
return columns;
}
-
- protected Component newCell(final AbstractEditablePropertyColumn<T, S> editableGridColumn) {
- EditableCellPanel panel = editableGridColumn.getEditableCellPanel(CELL_ID);
- FormComponent<?> editorComponent = panel.getEditableComponent();
- editorComponent.setDefaultModel(new PropertyModel<T>(newRow, editableGridColumn.getPropertyExpression()));
- return panel;
- }
-
- protected AbstractEditablePropertyColumn<T, S> getEditorColumn(
- final List<AbstractEditablePropertyColumn<T, S>> editorColumn, final int index) {
-
- return editorColumn.get(index);
- }
}
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java
index 2d62d4c..a8c0a7f 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxGridFieldPanel.java
@@ -21,10 +21,10 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.stream.Collectors;
import org.apache.commons.lang3.tuple.MutablePair;
import org.apache.commons.lang3.tuple.Pair;
-import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
@@ -32,10 +32,10 @@
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
import org.wicketstuff.egrid.column.AbstractEditablePropertyColumn;
-import org.wicketstuff.egrid.column.RequiredEditableTextFieldColumn;
+import org.wicketstuff.egrid.column.RequiredTextFieldColumn;
import org.wicketstuff.egrid.provider.EditableListDataProvider;
-public class AjaxGridFieldPanel<K, V, S> extends Panel {
+public class AjaxGridFieldPanel<K, V> extends Panel {
private static final long serialVersionUID = 7589570522964677729L;
@@ -48,8 +48,8 @@
"grid",
getColumns(),
new EditableListDataProvider<>(model.getObject().entrySet().stream().
- map(entry -> MutablePair.of(entry.getKey(), entry.getValue())).
- collect(Collectors.toList())), 10) {
+ map(e -> MutablePair.of(e.getKey(), e.getValue())).collect(Collectors.toList()), ""),
+ 10) {
private static final long serialVersionUID = -1315456128897492459L;
@@ -75,19 +75,16 @@
});
}
- public AjaxGridFieldPanel<K, V, S> hideLabel() {
- Component label = get(AbstractFieldPanel.LABEL);
- if (label != null) {
- label.setVisible(false);
- }
+ public AjaxGridFieldPanel<K, V> hideLabel() {
+ Optional.ofNullable(get(AbstractFieldPanel.LABEL)).ifPresent(label -> label.setVisible(false));
return this;
}
- private List<AbstractEditablePropertyColumn<Pair<K, V>, S>> getColumns() {
- List<AbstractEditablePropertyColumn<Pair<K, V>, S>> columns = new ArrayList<>();
- columns.add(new RequiredEditableTextFieldColumn<>(Model.of(), "left"));
- columns.add(new RequiredEditableTextFieldColumn<>(Model.of(), "right"));
+ private List<AbstractEditablePropertyColumn<Pair<K, V>, String>> getColumns() {
+ List<AbstractEditablePropertyColumn<Pair<K, V>, String>> columns = new ArrayList<>();
+ columns.add(new RequiredTextFieldColumn<>(Model.of(), "left"));
+ columns.add(new RequiredTextFieldColumn<>(Model.of(), "right"));
return columns;
}
}
diff --git a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
index 98c8ff8..b5f0491 100644
--- a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
+++ b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
@@ -1262,7 +1262,7 @@
}
.nav-link > a {
- #color: #343a40
+ color: #343a40;
}
.bg-green {
diff --git a/pom.xml b/pom.xml
index d090ad7..5a1dded 100644
--- a/pom.xml
+++ b/pom.xml
@@ -442,7 +442,7 @@
<h2.version>2.2.224</h2.version>
- <swagger-core.version>2.2.20</swagger-core.version>
+ <swagger-core.version>2.2.21</swagger-core.version>
<swagger-ui.version>5.12.0</swagger-ui.version>
<jquery-slimscroll.version>1.3.8</jquery-slimscroll.version>
@@ -458,7 +458,7 @@
<chartjs.version>4.1.2</chartjs.version>
<wicket.version>10.0.0</wicket.version>
- <wicketstuff.version>10.0.0-M2</wicketstuff.version>
+ <wicketstuff.version>10.0.0</wicketstuff.version>
<wicket-jqueryui.version>10.0.0-M1</wicket-jqueryui.version>
<wicket-bootstrap.version>7.0.3</wicket-bootstrap.version>
<wicket-jquery-selectors.version>4.0.4</wicket-jquery-selectors.version>
@@ -1406,7 +1406,7 @@
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
- <version>8.0.1</version>
+ <version>8.0.2</version>
<executions>
<execution>
<goals>
@@ -1639,7 +1639,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
- <version>3.7.0</version>
+ <version>3.7.1</version>
</plugin>
<plugin>