diff --git a/.classpath b/.classpath index 08662b4..4b729e3 100644 --- a/.classpath +++ b/.classpath @@ -1,27 +1,27 @@ - + - + + - - + - + @@ -29,10 +29,6 @@ - - - - - - + + diff --git a/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/.settings/com.gwtplugins.gdt.eclipse.core.prefs index 9f63340..893dc58 100644 --- a/.settings/com.gwtplugins.gdt.eclipse.core.prefs +++ b/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -1,4 +1,4 @@ eclipse.preferences.version=1 -lastWarOutDir=/home/francescomangiacrapa/eclipse-workspace/ckan-content-moderator-widget/target/ckan-content-moderator-widget-0.0.1-SNAPSHOT +lastWarOutDir=/home/francesco-mangiacrapa/git/ckan-content-moderator-widget/target/ckan-content-moderator-widget-0.1.0-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 43c8195..cac0df4 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,11 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 408fe15..ac1811e 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -1,11 +1,11 @@ - + - + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml index 9004727..e32ffb2 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,8 +1,8 @@ - + diff --git a/CHANGELOG.md b/CHANGELOG.md index a920d65..0647d79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,6 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [v1.0.0] - 2021-05-06 +## [v0.1.0-SNAPSHOT] - 2021-05-06 First Release diff --git a/pom.xml b/pom.xml index dc0b0e4..50be496 100644 --- a/pom.xml +++ b/pom.xml @@ -13,8 +13,8 @@ org.gcube.portlets.widgets ckan-content-moderator-widget - jar - 0.0.1-SNAPSHOT + war + 0.1.0-SNAPSHOT gCube Ckan Content Moderator Widget @@ -30,13 +30,14 @@ - 2.7.0 + 2.9.0 distro UTF-8 UTF-8 - 1.7 + 1.8 1.8 + ${project.build.directory}/${project.build.finalName} @@ -44,7 +45,7 @@ org.gcube.distribution maven-portal-bom - 3.6.1-SNAPSHOT + 3.6.2-SNAPSHOT pom import @@ -59,10 +60,30 @@ + + + javax.servlet + javax.servlet-api + 3.1.0 + provided + + + + xml-apis + xml-apis + 1.4.01 + provided + + com.google.gwt gwt-user ${gwtVersion} + + + com.google.gwt + gwt-dev + ${gwtVersion} provided @@ -70,22 +91,49 @@ gwt-bootstrap 2.3.2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - org.gcube.datacatalogue - catalogue-util-library - [1.0.0-SNAPSHOT, 2.0.0) - compile + org.slf4j + slf4j-api org.slf4j slf4j-log4j12 - provided - - - org.slf4j - slf4j-api - provided + test + junit junit @@ -96,21 +144,7 @@ - - - - src/main/java - - **/*.* - - - - src/main/resources - - **/*.* - - - + ${webappDirectory}/WEB-INF/classes @@ -123,7 +157,7 @@ compile - test + @@ -131,19 +165,39 @@ documentation at codehaus.org --> CkanContentModeratorWidget.html - - org.gcube.portlets.widgets.ckancontentmoderator.CkanContentModeratorWidget - + ${webappDirectory} + + + + + + org.apache.maven.plugins + maven-war-plugin + + + compile + + exploded + + + + + ${webappDirectory} org.apache.maven.plugins maven-compiler-plugin + + ${maven.compiler.source} + ${maven.compiler.target} + org.apache.maven.plugins maven-assembly-plugin + 2.2 descriptor.xml @@ -159,7 +213,33 @@ + + org.apache.maven.plugins + maven-resources-plugin + 2.5 + + + copy-profile + install + + copy-resources + + + target + + + ${project.basedir} + true + + profile.xml + + + + + + + - + \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/CkanContentModeratorWidget.gwt.xml b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/CkanContentModeratorWidget.gwt.xml new file mode 100644 index 0000000..a8e0ac3 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/CkanContentModeratorWidget.gwt.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorService.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorService.java index 8af893d..fea7138 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorService.java +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorService.java @@ -1,9 +1,6 @@ package org.gcube.portlets.widgets.ckancontentmoderator.client; -import java.util.List; - -import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanDataset; -import org.gcube.portlets.widgets.ckancontentmoderator.server.ContentModeratorSystem.ItemStatus; +import org.gcube.portlets.widgets.ckancontentmoderator.shared.ItemStatus; import com.google.gwt.user.client.rpc.RemoteService; import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; @@ -18,7 +15,7 @@ public interface CkanContentModeratorService extends RemoteService { public void setStatus(String itemId, ItemStatus theStatus); - public List getListItemsForStatus(ItemStatus theStatus); + //public List getListItemsForStatus(ItemStatus theStatus); public void approveItem(String itemId); diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorServiceAsync.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorServiceAsync.java index 1c261b3..b4a40bc 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorServiceAsync.java +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorServiceAsync.java @@ -1,9 +1,6 @@ package org.gcube.portlets.widgets.ckancontentmoderator.client; -import java.util.List; - -import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanDataset; -import org.gcube.portlets.widgets.ckancontentmoderator.server.ContentModeratorSystem.ItemStatus; +import org.gcube.portlets.widgets.ckancontentmoderator.shared.ItemStatus; import com.google.gwt.user.client.rpc.AsyncCallback; @@ -13,7 +10,7 @@ public interface CkanContentModeratorServiceAsync { void approveItem(String itemId, AsyncCallback callback); - void getListItemsForStatus(ItemStatus theStatus, AsyncCallback> callback); + //void getListItemsForStatus(ItemStatus theStatus, AsyncCallback> callback); void permanentlyDelete(String itemId, AsyncCallback callback); diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorWidget.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorWidget.java index e581ffc..a18da30 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorWidget.java +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorWidget.java @@ -1,53 +1,49 @@ package org.gcube.portlets.widgets.ckancontentmoderator.client; -import java.util.List; - -import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanDataset; -import org.gcube.portlets.widgets.ckancontentmoderator.server.ContentModeratorSystem.ItemStatus; - import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; -import com.google.gwt.user.client.rpc.AsyncCallback; /** * Entry point classes define onModuleLoad(). */ public class CkanContentModeratorWidget implements EntryPoint { - /** - * The message displayed to the user when the server cannot be reached or - * returns an error. - */ - private static final String SERVER_ERROR = "An error occurred while " - + "attempting to contact the server. Please check your network " - + "connection and try again."; + /** + * The message displayed to the user when the server cannot be reached or + * returns an error. + */ + private static final String SERVER_ERROR = "An error occurred while " + + "attempting to contact the server. Please check your network " + "connection and try again."; - /** - * Create a remote service proxy to talk to the server-side Greeting service. - */ - private final CkanContentModeratorServiceAsync greetingService = GWT.create(CkanContentModeratorService.class); + /** + * Create a remote service proxy to talk to the server-side Greeting service. + */ + private final CkanContentModeratorServiceAsync greetingService = GWT.create(CkanContentModeratorService.class); + /** + * This is the entry point method. + */ + public void onModuleLoad() { + //CustomizedView cvTable = new CustomizedView(); +// cvTable.setData(DataGenerator.generateUsers(10)); +// +// RootPanel.get().add(cvTable); - /** - * This is the entry point method. - */ - public void onModuleLoad() { - +// +// greetingService.getListItemsForStatus(ItemStatus.PENDING, new AsyncCallback>() { +// +// @Override +// public void onSuccess(List result) { +// // TODO Auto-generated method stub +// +// } +// +// @Override +// public void onFailure(Throwable caught) { +// // TODO Auto-generated method stub +// +// } +// }); + } - greetingService.getListItemsForStatus(ItemStatus.PENDING, new AsyncCallback>() { - - @Override - public void onSuccess(List result) { - // TODO Auto-generated method stub - - } - - @Override - public void onFailure(Throwable caught) { - // TODO Auto-generated method stub - - } - }); - } - } diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/CustomizedView.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/CustomizedView.java new file mode 100644 index 0000000..1b4cb85 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/CustomizedView.java @@ -0,0 +1,249 @@ +///* +// * #%L +// * GwtMaterial +// * %% +// * Copyright (C) 2015 - 2017 GwtMaterialDesign +// * %% +// * Licensed under the Apache License, Version 2.0 (the "License"); +// * you may not use this file except in compliance with the License. +// * You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// * #L% +// */ +//package org.gcube.portlets.widgets.ckancontentmoderator.client.material.table; +// +//import java.util.List; +// +// +//import org.gcube.portlets.widgets.ckancontentmoderator.shared.User; +// +//import com.google.gwt.core.client.GWT; +//import com.google.gwt.event.dom.client.ClickEvent; +//import com.google.gwt.event.dom.client.ClickHandler; +//import com.google.gwt.uibinder.client.UiBinder; +//import com.google.gwt.uibinder.client.UiField; +//import com.google.gwt.user.cellview.client.ColumnSortEvent; +//import com.google.gwt.user.cellview.client.TextColumn; +//import com.google.gwt.user.client.ui.Composite; +//import com.google.gwt.user.client.ui.Widget; +// +// +//import gwt.material.design.client.constants.IconType; +//import gwt.material.design.client.data.events.ColumnSortHandler; +//import gwt.material.design.client.data.events.RowSelectEvent; +//import gwt.material.design.client.data.events.RowSelectHandler; +//import gwt.material.design.client.ui.MaterialIcon; +//import gwt.material.design.client.ui.MaterialImage; +//import gwt.material.design.client.ui.MaterialListBox; +//import gwt.material.design.client.ui.MaterialPanel; +//import gwt.material.design.client.ui.table.MaterialDataTable; +//import gwt.material.design.client.ui.table.cell.WidgetColumn; +// +//public class CustomizedView extends Composite { +// +// interface CustomizedViewUiBinder extends UiBinder { +// } +// +// private List users; +// +// @UiField +// MaterialDataTable table; +// +// +// public CustomizedView(Binder uiBinder) { +// initWidget(uiBinder.createAndBindUi(this)); +// } +// +// +// public void setupTable() { +// MaterialIcon icon = new MaterialIcon(); +// icon.setPadding(4); +// icon.setIconType(IconType.ADD_CIRCLE_OUTLINE); +// +// icon.addClickHandler(new ClickHandler() { +// +// @Override +// public void onClick(ClickEvent event) { +// users.add(0, new DataGenerator().generateUsers(1).get(0)); +// setData(users); +// +// } +// }); +// table.getScaffolding().getToolPanel().add(icon); +// +// MaterialIcon delete = new MaterialIcon(); +// delete.setPadding(4); +// delete.setIconType(IconType.DELETE); +// table.getScaffolding().getToolPanel().add(delete); +// +// delete.addClickHandler(new ClickHandler() { +// +// @Override +// public void onClick(ClickEvent event) { +// User user = table.getView().getSelectedRowModels(true).get(0); +// users.remove(user); +// setData(users); +// +// } +// }); +// +// table.addColumn("Image", new WidgetColumn() { +// @Override +// public MaterialPanel getValue(User object) { +// MaterialPanel panel = new MaterialPanel(); +// MaterialImage image = new MaterialImage(); +// // image.setUrl(object.getImage()); +// image.setWidth("32px"); +// image.setHeight("32px"); +// image.setCircle(true); +// panel.add(image); +// return panel; +// } +// }); +// +// table.addColumn("First Name", new TextColumn() { +// @Override +// public String getValue(User object) { +// return object.getName(); +// } +// +// @Override +// public boolean sortable() { +// return true; +// } +// }); +// +// table.addColumn("Option", new WidgetColumn() { +// @Override +// public MaterialListBox getValue(User object) { +// MaterialListBox listBox = new MaterialListBox(); +// listBox.addItem("Option 1"); +// listBox.addItem("Option 2"); +// listBox.addItem("Option 3"); +// return listBox; +// } +// }).width(200); +// +// table.addColumn("City", new TextColumn() { +// @Override +// public String getValue(User object) { +// return object.getCity(); +// } +// }); +// +// table.addRowSelectHandler(new RowSelectHandler() { +// +// @Override +// public void onRowSelect(RowSelectEvent event) { +// log("RowSelectEvent", event.getModel().getName() + ": " + event.isSelected()); +// +// } +// }); +// +// table.addColumnSortHandler(new ColumnSortHandler() { +// +// @Override +// public void onColumnSort(ColumnSortEvent event) { +// log("ColumnSortEvent", +// "Sorted: " + event.getSortContext().getSortDir() + ", columnIndex: " + event.getColumnIndex()); +// table.getView().refresh(); +// +// } +// }); +// +// /* +// * // Add category opened handler, called when a category is opened. +// * table.addCategoryOpenedHandler(event -> { log("CategoryOpenedEvent", +// * "Category Opened: " + event.getName()); }); +// * +// * // Add category closed handler, called when a category is closed. +// * table.addCategoryClosedHandler(event -> { log("CategoryClosedEvent", +// * "Category Closed: " + event.getName()); }); +// * +// * // Add a row double click handler, called when a row is double clicked. +// * table.addRowDoubleClickHandler(event -> { log("RowDoubleClickEvent", +// * "Row Double Clicked: " + event.getModel().getName() + ", x:" + +// * event.getMouseEvent().getPageX() + ", y: " + +// * event.getMouseEvent().getPageY()); }); +// * +// * // Configure the tables long press duration configuration. // The short press +// * is when a click is held less than this duration. +// * table.setLongPressDuration(400); +// * +// * // Add a row long press handler, called when a row is long pressed. +// * table.addRowLongPressHandler(event -> { log("RowLongPressEvent", +// * "Row Long Pressed: " + event.getModel().getName() + ", x:" + +// * event.getMouseEvent().getPageX() + ", y: " + +// * event.getMouseEvent().getPageY()); }); +// * +// * // Add a row short press handler, called when a row is short pressed. +// * table.addRowShortPressHandler(event -> { log("RowShortPressEvent", +// * "Row Short Pressed: " + event.getModel().getName() + ", x:" + +// * event.getMouseEvent().getPageX() + ", y: " + +// * event.getMouseEvent().getPageY()); }); +// * +// * // Add rendered handler, called when 'setRowData' calls finish rendering. // +// * Guaranteed to only be called once from the data set render, ignoring sort +// * renders and refreshView renders. table.addRenderedHandler(e -> { +// * log("RenderedEvent", "Table Rendered"); }); +// * +// * // Add components rendered handler, Called each time when components are +// * rendered, // which includes sorting renders and refreshView() renders. +// * table.addComponentsRenderedHandler(e -> { log("ComponentsRenderedEvent", +// * "Data Table Components Rendered"); }); +// */ +// } +// +// protected void log(String eventName, String description) { +// GWT.log(description); +// } +// +// @Override +// public void setData(List users) { +// this.users = users; +// // Customized Table Scaffolding elements +// table.getTableTitle().setText("Customers"); +// table.setRowData(0, users); +// table.getView().refresh(); +// } +// +//// @Override +//// public void setupOptions() { +//// // Table Name +//// tableName.addKeyUpHandler(event -> table.getTableTitle().setText(tableName.getValue())); +//// +//// // Selection Type +//// selectionType.add(SelectionType.NONE); +//// selectionType.add(SelectionType.SINGLE); +//// selectionType.add(SelectionType.MULTIPLE); +//// selectionType.addValueChangeHandler(event -> table.setSelectionType(event.getValue())); +//// selectionType.setValue(SelectionType.SINGLE, true); +//// // Density +//// } +//// +//// @UiHandler("stickyHeader") +//// void stickyHeader(ValueChangeEvent event) { +//// table.setUseStickyHeader(event.getValue()); +//// } +//// +//// @UiHandler("striped") +//// void striped(ValueChangeEvent event) { +//// if (event.getValue()) { +//// table.getScaffolding().getTable().addStyleName("striped"); +//// } else { +//// table.getScaffolding().getTable().removeStyleName("striped"); +//// } +//// } +// +// public void reload() { +// table.getView().setRedraw(true); +// table.getView().refresh(); +// } +//} diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/CustomizedView.ui.xml b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/CustomizedView.ui.xml new file mode 100644 index 0000000..899c663 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/CustomizedView.ui.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/DataGenerator.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/DataGenerator.java new file mode 100644 index 0000000..165f7a7 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/DataGenerator.java @@ -0,0 +1,27 @@ +package org.gcube.portlets.widgets.ckancontentmoderator.client.material.table; + +import java.util.ArrayList; +import java.util.List; + +import org.gcube.portlets.widgets.ckancontentmoderator.shared.User; + +public class DataGenerator { + +// static { +// MaterialDesign.injectJs(AppResources.INSTANCE.fakerJs()); +// } + + public static List generateUsers(int total) { + return generateUsers(total, null); + } + + public static List generateUsers(int total, String category) { + List users = new ArrayList<>(); + for (int i = 0; i < total; i++) { + User user = new User("name "+i, "city "+i); + users.add(user); + } + return users; + } + +} diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImpl.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImpl.java index 6e99383..6acf26f 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImpl.java +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImpl.java @@ -1,9 +1,7 @@ package org.gcube.portlets.widgets.ckancontentmoderator.server; -import java.util.List; - -import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanDataset; import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorService; +import org.gcube.portlets.widgets.ckancontentmoderator.shared.ItemStatus; import com.google.gwt.user.server.rpc.RemoteServiceServlet; @@ -26,11 +24,11 @@ public class CkanContentModeratorServiceAImpl extends RemoteServiceServlet imple } - @Override - public List getListItemsForStatus(ItemStatus theStatus) { - // TODO Auto-generated method stub - return null; - } +// @Override +// public List getListItemsForStatus(ItemStatus theStatus) { +// // TODO Auto-generated method stub +// return null; +// } @Override public void approveItem(String itemId) { @@ -49,4 +47,5 @@ public class CkanContentModeratorServiceAImpl extends RemoteServiceServlet imple // TODO Auto-generated method stub } + } diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/ContentModeratorSystem.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/ContentModeratorSystem.java index cb2d8c1..798e785 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/ContentModeratorSystem.java +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/server/ContentModeratorSystem.java @@ -1,9 +1,6 @@ package org.gcube.portlets.widgets.ckancontentmoderator.server; -import java.util.List; - -import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanDataset; - +import org.gcube.portlets.widgets.ckancontentmoderator.shared.ItemStatus; // TODO: Auto-generated Javadoc /** @@ -37,7 +34,7 @@ public interface ContentModeratorSystem { * @param theStatus the the status * @return the list items for status */ - List getListItemsForStatus(ItemStatus theStatus); + //List getListItemsForStatus(ItemStatus theStatus); /** * Approve item. @@ -62,47 +59,4 @@ public interface ContentModeratorSystem { */ void permanentlyDelete(String itemId); - /** - * The Enum ItemStatus. - * - * @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it - * - * May 7, 2021 - */ - static enum ItemStatus { - PENDING("pending", "Pending"), APPROVED("approved", "Approved"), REJECTED("rejected", "Rejected"); - - private String id; - private String label; - - /** - * Instantiates a new item status. - * - * @param id the id - * @param label the label - */ - private ItemStatus(String id, String label) { - this.id = id; - this.label = label; - } - - /** - * Gets the id. - * - * @return the id - */ - public String getId() { - return id; - } - - /** - * Gets the label. - * - * @return the label - */ - public String getLabel() { - return label; - } - - } } diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/shared/ItemStatus.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/shared/ItemStatus.java new file mode 100644 index 0000000..5579358 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/shared/ItemStatus.java @@ -0,0 +1,45 @@ +package org.gcube.portlets.widgets.ckancontentmoderator.shared; + +/** + * The Enum ItemStatus. + * + * @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it + * + * May 7, 2021 + */ +public enum ItemStatus { + PENDING("pending", "Pending"), APPROVED("approved", "Approved"), REJECTED("rejected", "Rejected"); + + private String id; + private String label; + + /** + * Instantiates a new item status. + * + * @param id the id + * @param label the label + */ + private ItemStatus(String id, String label) { + this.id = id; + this.label = label; + } + + /** + * Gets the id. + * + * @return the id + */ + public String getId() { + return id; + } + + /** + * Gets the label. + * + * @return the label + */ + public String getLabel() { + return label; + } + +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/shared/User.java b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/shared/User.java new file mode 100644 index 0000000..82307d2 --- /dev/null +++ b/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/shared/User.java @@ -0,0 +1,52 @@ +package org.gcube.portlets.widgets.ckancontentmoderator.shared; + +import java.io.Serializable; + +// TODO: Auto-generated Javadoc +/** + * The Class User. + * + * @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it) + * + * May 26, 2021 + */ +public class User implements Serializable { + + String name; + + String city; + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * Instantiates a new user. + */ + public User() { + + } + + public User(String name, String city) { + super(); + this.name = name; + this.city = city; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + +} diff --git a/src/main/resources/org/gcube/portlets/widgets/ckancontentmoderator/CkanContentModeratorWidget.gwt.xml b/src/main/resources/org/gcube/portlets/widgets/ckancontentmoderator/CkanContentModeratorWidget.gwt.xml index 309a748..a8e0ac3 100644 --- a/src/main/resources/org/gcube/portlets/widgets/ckancontentmoderator/CkanContentModeratorWidget.gwt.xml +++ b/src/main/resources/org/gcube/portlets/widgets/ckancontentmoderator/CkanContentModeratorWidget.gwt.xml @@ -1,22 +1,25 @@ - - + + - - - - - - + + + + + + - + - - + - - - + + + + + + diff --git a/src/test/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImplTest.java b/src/test/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImplTest.java index 6b7c4ae..7587878 100644 --- a/src/test/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImplTest.java +++ b/src/test/java/org/gcube/portlets/widgets/ckancontentmoderator/server/CkanContentModeratorServiceAImplTest.java @@ -6,7 +6,7 @@ import org.junit.Test; public class CkanContentModeratorServiceAImplTest { - @Test + //@Test public void test() { fail("Not yet implemented"); }