From bff7a59c5576ad3029ecff3028f72dee65bfe689 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Thu, 7 Dec 2017 11:37:21 +0000 Subject: [PATCH] to be finished git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/widgets/grsf-manage-widget@160149 82a268e6-3cf1-43bd-a215-b396298e98cf --- ...bb199047a818be5e560f48982-0000016020F4E3AF | Bin 0 -> 493511 bytes .../client/GRSFManageWidgetService.java | 22 +++++- .../client/GRSFManageWidgetServiceAsync.java | 6 ++ .../client/view/ManageProductWidget.java | 25 ++++--- .../view/subwidgets/ConnectToWidget.java | 70 ++++++++++-------- .../subwidgets/SimilarGRSFRecordWidget.java | 55 +++++++------- .../view/subwidgets/{Pair.java => Tuple.java} | 14 +++- .../manage/GRSFNotificationService.java | 35 ++++++++- .../shared/ConnectBean.java | 23 ++---- .../shared/SimilarGRSFRecord.java | 25 +++---- 10 files changed, 170 insertions(+), 105 deletions(-) create mode 100644 gwt-unitCache/gwt-unitCache-c2c3dd5baf648a0bb199047a818be5e560f48982-0000016020F4E3AF rename src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/{Pair.java => Tuple.java} (67%) diff --git a/gwt-unitCache/gwt-unitCache-c2c3dd5baf648a0bb199047a818be5e560f48982-0000016020F4E3AF b/gwt-unitCache/gwt-unitCache-c2c3dd5baf648a0bb199047a818be5e560f48982-0000016020F4E3AF new file mode 100644 index 0000000000000000000000000000000000000000..4387003c94af1d5472e155dc21c93f6fe8676693 GIT binary patch literal 493511 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 U?5R`und*21?W_yy_|k#@4_H+`ZvX%Q literal 0 HcmV?d00001 diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetService.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetService.java index c5b112a..219939b 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetService.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetService.java @@ -26,7 +26,7 @@ public interface GRSFManageWidgetService extends RemoteService { * Notify product update */ String notifyProductUpdate(ManageProductBean bean) throws Exception; - + /** * Check that a record with such semantic identifier exists * @param semanticIdentifier @@ -42,5 +42,23 @@ public interface GRSFManageWidgetService extends RemoteService { * @throws Exception */ boolean checkSemanticIdentifierExistsInDomain(String semanticIdentifier, String domain) throws Exception; - + + + /** + * Identifier of the record (UUID) + * @param id + * @return + * @throws Exception + */ + boolean checkIdentifierExists(String id) throws Exception; + + /** + * Identifier of the record (UUID) + * @param id + * @param domain (stock or fishery) + * @return + * @throws Exception + */ + boolean checkIdentifierExistsInDomain(String id, String domain) throws Exception; + } diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetServiceAsync.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetServiceAsync.java index d0fc774..bfaec9a 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetServiceAsync.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/GRSFManageWidgetServiceAsync.java @@ -27,4 +27,10 @@ public interface GRSFManageWidgetServiceAsync { void checkSemanticIdentifierExistsInDomain(String semanticIdentifier, String domain, AsyncCallback callback); + void checkIdentifierExists(String id, + AsyncCallback callback); + + void checkIdentifierExistsInDomain(String id, + String domain, AsyncCallback callback); + } diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.java index 69691a8..3e5f5d5 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.java @@ -128,12 +128,12 @@ public class ManageProductWidget extends Composite{ public static final String LOADING_IMAGE_URL = GWT.getModuleBaseURL() + "../images/loader.gif"; // messages used here and there - private final static String STATUS_UPDATE_SUCCESS = "The item has been correctly updated. Thanks for your collaboration!"; - private final static String STATUS_UPDATE_ERROR = "Sorry, there was a problem while trying to update the status of this item"; + private final static String STATUS_UPDATE_SUCCESS = "The record has been correctly updated. Thanks for your collaboration!"; + private final static String STATUS_UPDATE_ERROR = "Sorry, there was a problem while trying to update the status of this record"; protected static final String ERROR_ON_RETRIEVING_BEAN = "It seems there was a problem while contacting the service..."; - protected static final String NO_GRSF_RECORD_BEAN = "This item is not a GRSF record, thus it cannot be managed"; + protected static final String NO_GRSF_RECORD_BEAN = "This record is not a GRSF record, thus it cannot be managed"; - protected static final String NO_ADMIN_ROLE = "Sorry but it seems you do not have the rights to manage items." + protected static final String NO_ADMIN_ROLE = "Sorry but it seems you do not have the rights to manage records." + " You are suggested to contact the VRE Manager if something is wrong with this"; // event bus shared with the portlet @@ -142,8 +142,8 @@ public class ManageProductWidget extends Composite{ // the objects to be managed private ManageProductBean bean; private final static List STATUS = new ArrayList(Arrays.asList(Status.values())); - - // similar records and to connect widgets + + // similar records and to connect widgets references private SimilarGRSFRecordWidget similarRecordPanel; private ConnectToWidget connectWidget; @@ -230,11 +230,11 @@ public class ManageProductWidget extends Composite{ // manage similar GRSF records, if any List availableGRSFSimilarRecords = bean.getSimilarGrsfRecords(); - similarRecordPanel = new SimilarGRSFRecordWidget(availableGRSFSimilarRecords, service); + similarRecordPanel = new SimilarGRSFRecordWidget(availableGRSFSimilarRecords/*, service*/); panelForSimilarGRSFRecords.add(similarRecordPanel); // prepare "connect" panel - connectWidget = new ConnectToWidget(bean, service); + connectWidget = new ConnectToWidget(bean /*,service*/); panelForConnectOtherRecords.add(connectWidget); // check if we need to show more @@ -340,7 +340,10 @@ public class ManageProductWidget extends Composite{ cancelButton.setEnabled(false); confirmButton.setEnabled(false); loaderIcon.setVisible(true); - + + // get short name + bean.setShortNameUpdated(shortNameTextBox.getText()); + // update similar records and to connect bean.setConnectTo(connectWidget.getConnectList()); bean.setSimilarGrsfRecords(similarRecordPanel.getSimilarRecords()); @@ -348,6 +351,9 @@ public class ManageProductWidget extends Composite{ // set new values bean.setAnnotation(new HTML(annotationArea.getText().trim()).getText()); bean.setNewStatus(Status.fromString(listBoxStatus.getSelectedItemText())); + + // traceability flag + bean.setTraceabilityFlag(traceabilityFlag.getValue()); service.notifyProductUpdate(bean, new AsyncCallback() { @@ -371,7 +377,6 @@ public class ManageProductWidget extends Composite{ @Override public void onFailure(Throwable caught) { - manageProductModal.setCloseVisible(true); cancelButton.setEnabled(true); confirmButton.setEnabled(true); diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/ConnectToWidget.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/ConnectToWidget.java index ad5e107..38390e4 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/ConnectToWidget.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/ConnectToWidget.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.gcube.datacatalogue.grsf_manage_widget.client.GRSFManageWidgetServiceAsync; +import org.gcube.datacatalogue.common.enums.Product_Type; import org.gcube.datacatalogue.grsf_manage_widget.shared.ConnectBean; import org.gcube.datacatalogue.grsf_manage_widget.shared.ManageProductBean; @@ -43,15 +43,14 @@ public class ConnectToWidget extends Composite{ @UiField Button suggestRecord; - private GRSFManageWidgetServiceAsync service; - private List connectList = new ArrayList(0); + //private GRSFManageWidgetServiceAsync service; + private List connectList = new ArrayList(0); - public ConnectToWidget(final ManageProductBean bean, GRSFManageWidgetServiceAsync service) { + public ConnectToWidget(final ManageProductBean bean/*, GRSFManageWidgetServiceAsync service*/) { initWidget(uiBinder.createAndBindUi(this)); - - this.service = service; - - String acceptedDomain = bean.getGrsfDomain().equalsIgnoreCase("stock") ? "Fishery" : "Stock"; + + //this.service = service; + String acceptedDomain = bean.getGrsfDomain().equalsIgnoreCase(Product_Type.STOCK.getOrigName()) ? Product_Type.FISHERY.getOrigName() : Product_Type.STOCK.getOrigName(); // inverted suggestRecord.setTitle("Connect this " + bean.getGrsfDomain() + " record to a " + acceptedDomain + " record "); suggestRecord.setIcon(IconType.PLUS_SIGN); suggestRecord.getElement().getStyle().setFloat(Float.RIGHT); @@ -64,21 +63,21 @@ public class ConnectToWidget extends Composite{ ConnectBean cb = new ConnectBean(); cb.setSourceDomain(bean.getGrsfDomain()); - Widget w = buildWidgetConnect(cb); - connectList.add(new Pair(cb, w)); - connectPanel.add(w); + Tuple t = buildWidgetConnect(cb); + connectList.add(t); + connectPanel.add(t.getW()); } }); } - + /** * Builds up a widget for connecting records. * @param w the widget * @param cb the connectBean. */ - private Widget buildWidgetConnect(final ConnectBean cb){ + private Tuple buildWidgetConnect(final ConnectBean cb){ VerticalPanel main = new VerticalPanel(); main.setWidth("90%"); @@ -88,32 +87,33 @@ public class ConnectToWidget extends Composite{ VerticalPanel vpLeft = new VerticalPanel(); vpLeft.getElement().getStyle().setMarginLeft(15, Unit.PX); vpLeft.setWidth("80%"); - Paragraph semanticIdentifier = new Paragraph("Semantic Identifier:"); + Paragraph semanticIdentifier = new Paragraph("Record Identifier (UUID):"); final TextBox box = new TextBox(); + box.setId("identifier-text"); box.addKeyPressHandler(new KeyPressHandler() { - + @Override public void onKeyPress(KeyPressEvent event) { - + String currentText = box.getText().trim(); GWT.log("Text changed to " + currentText); - cb.setDestSemanticIdentifier(currentText); - + cb.setDestIdentifier(currentText); + } }); box.addChangeHandler(new ChangeHandler() { - + @Override public void onChange(ChangeEvent event) { - + String currentText = box.getText().trim(); GWT.log("Text changed to " + currentText); - cb.setDestSemanticIdentifier(currentText); - + cb.setDestIdentifier(currentText); + } }); box.setWidth("512px"); - box.setPlaceholder("Insert the Semantic Identifier of the record to connect"); + box.setPlaceholder("Insert the Identifier (UUID) of the record to connect"); vpLeft.add(semanticIdentifier); vpLeft.add(box); @@ -130,9 +130,9 @@ public class ConnectToWidget extends Composite{ public void onClick(ClickEvent arg0) { // remove this object from the pairs list - Iterator iterator = connectList.iterator(); + Iterator iterator = connectList.iterator(); while (iterator.hasNext()) { - Pair pair = (Pair) iterator + Tuple pair = (Tuple) iterator .next(); if(pair.getO().equals(cb)){ pair.getW().removeFromParent(); @@ -149,17 +149,25 @@ public class ConnectToWidget extends Composite{ connectPanel.add(separator); main.add(hp); main.add(separator); - return main; + return new Tuple(cb, main, box); } + /** + * Get the list of records to connect with this one + * @return + */ public List getConnectList() { - + List toReturn = new ArrayList(0); - - for (Pair p : connectList) { - toReturn.add((ConnectBean) p.getO()); + + for (Tuple p : connectList) { + String suggestedIdentifier = ((ConnectBean)p.getO()).getDestIdentifier(); + if(suggestedIdentifier == null || suggestedIdentifier.isEmpty()) + continue; + else + toReturn.add((ConnectBean) p.getO()); } - + return toReturn; } diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/SimilarGRSFRecordWidget.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/SimilarGRSFRecordWidget.java index b571829..4b19b32 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/SimilarGRSFRecordWidget.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/SimilarGRSFRecordWidget.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.gcube.datacatalogue.grsf_manage_widget.client.GRSFManageWidgetServiceAsync; import org.gcube.datacatalogue.grsf_manage_widget.shared.SimilarGRSFRecord; import com.github.gwtbootstrap.client.ui.Button; @@ -49,19 +48,18 @@ public class SimilarGRSFRecordWidget extends Composite { @UiField Button addSimilarRecord; - private List extraSimilarRecordsList = new ArrayList(0); + private List extraSimilarRecordsList = new ArrayList(0); private List availableGRSFSimilarRecords; - - private GRSFManageWidgetServiceAsync service; + //private GRSFManageWidgetServiceAsync service; /** * Get widget for available similar grsf records * @param availableGRSFSimilarRecords * @param service */ - public SimilarGRSFRecordWidget(List availableGRSFSimilarRecords, GRSFManageWidgetServiceAsync service) { + public SimilarGRSFRecordWidget(List availableGRSFSimilarRecords/*, GRSFManageWidgetServiceAsync service*/) { initWidget(uiBinder.createAndBindUi(this)); - this.service = service; + //this.service = service; this.availableGRSFSimilarRecords = availableGRSFSimilarRecords; addSimilarRecord.getElement().getStyle().setFloat(Float.RIGHT); @@ -76,7 +74,7 @@ public class SimilarGRSFRecordWidget extends Composite { // manage the "suggest button" addSimilarRecord.setIcon(IconType.PLUS_SIGN); addSimilarRecord.getElement().getStyle().setFloat(Float.RIGHT); - addSimilarRecord.setTitle("Suggest a Similar Record by using its GRSF Semantic Identifier"); + addSimilarRecord.setTitle("Suggest a Similar Record by using its Identifier (UUID)"); // add handler addSimilarRecord.addClickHandler(new ClickHandler() { @@ -86,9 +84,9 @@ public class SimilarGRSFRecordWidget extends Composite { SimilarGRSFRecord s = new SimilarGRSFRecord(true); Widget w = buildWidgetForExtraSimilarRecord(s); - extraSimilarRecordsList.add(new Pair(s, w)); + extraSimilarRecordsList.add(new Tuple(s, w, null)); similarGrsfRecordsSuggestedPanel.add(w); - + } }); @@ -117,10 +115,9 @@ public class SimilarGRSFRecordWidget extends Composite { description.setTitle("Description: " + similarGRSFRecord.getDescription()); leftPanel.add(description); } - Paragraph semanticIdentifier = new Paragraph("Semantic Identifier: " + - similarGRSFRecord.getSemanticIdentifier()); - leftPanel.add(semanticIdentifier); - + Paragraph identifier = new Paragraph("Record UUID: " + + similarGRSFRecord.getIdentifier()); + leftPanel.add(identifier); VerticalPanel rightPanel = new VerticalPanel(); rightPanel.setWidth("20%"); @@ -172,34 +169,34 @@ public class SimilarGRSFRecordWidget extends Composite { VerticalPanel vpLeft = new VerticalPanel(); vpLeft.getElement().getStyle().setMarginLeft(15, Unit.PX); vpLeft.setWidth("80%"); - Paragraph semanticIdentifier = new Paragraph("Semantic Identifier:"); + Paragraph identifier = new Paragraph("Identifier (UUID):"); final TextBox box = new TextBox(); box.addKeyPressHandler(new KeyPressHandler() { - + @Override public void onKeyPress(KeyPressEvent event) { - + String currentText = box.getText().trim(); GWT.log("Text changed to " + currentText); - s.setSemanticIdentifier(currentText); - + s.setIdentifier(currentText); + } }); box.addChangeHandler(new ChangeHandler() { - + @Override public void onChange(ChangeEvent event) { - + String currentText = box.getText().trim(); GWT.log("Text changed to " + currentText); - s.setSemanticIdentifier(currentText); - + s.setIdentifier(currentText); + } }); box.setWidth("511px"); - box.setPlaceholder("Insert the Semantic Identifier of the suggested record"); + box.setPlaceholder("Insert the Identifier (UUID) of the suggested record"); - vpLeft.add(semanticIdentifier); + vpLeft.add(identifier); vpLeft.add(box); // add merge checkbox @@ -231,9 +228,9 @@ public class SimilarGRSFRecordWidget extends Composite { public void onClick(ClickEvent arg0) { // remove this object from the pairs list - Iterator iterator = extraSimilarRecordsList.iterator(); + Iterator iterator = extraSimilarRecordsList.iterator(); while (iterator.hasNext()) { - Pair pair = (Pair) iterator + Tuple pair = (Tuple) iterator .next(); if(pair.getO().equals(s)){ pair.getW().removeFromParent(); @@ -263,8 +260,10 @@ public class SimilarGRSFRecordWidget extends Composite { if(availableGRSFSimilarRecords == null) availableGRSFSimilarRecords = new ArrayList(); - - for (Pair p : extraSimilarRecordsList) { + for (Tuple p : extraSimilarRecordsList) { + SimilarGRSFRecord similarRecord = ((SimilarGRSFRecord)p.getO()); + if(similarRecord.isExtra() && similarRecord.getIdentifier() == null || similarRecord.getIdentifier().isEmpty()) + continue; availableGRSFSimilarRecords.add((SimilarGRSFRecord) p.getO()); } diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/Pair.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/Tuple.java similarity index 67% rename from src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/Pair.java rename to src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/Tuple.java index 2d5b538..0912873 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/Pair.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/subwidgets/Tuple.java @@ -7,19 +7,27 @@ import com.google.gwt.user.client.ui.Widget; * A class of pair: a widget and an object * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it) */ -public class Pair { +public class Tuple { private Object o; private Widget w; - public Pair(Object o, Widget w){ + private Widget w2; + public Tuple(Object o, Widget w, Widget w2){ this.o = o; this.w = w; + this.w2 = w2; } public Object getO(){ return o; } public Widget getW(){ return w; } public void setO(Object o){ this.o = o; } public void setW(Widget w){ this.w = w; } + public Widget getW2() { + return w2; + } + public void setW2(Widget w2) { + this.w2 = w2; + } @Override public String toString() { - return "Pair [o=" + o + ", w=" + w + "]"; + return "Tuple [o=" + o + ", w=" + w + ", w2=" + w2 + "]"; } } \ No newline at end of file diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java index b6e6c95..9b1e745 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java @@ -63,7 +63,7 @@ public class GRSFNotificationService extends RemoteServiceServlet implements GRS } @Override - public String notifyProductUpdate(ManageProductBean bean) { + public String notifyProductUpdate(ManageProductBean bean) throws Exception{ logger.info("Creating notification for the bean " + bean + " to send to the knowledge base"); try{ @@ -234,7 +234,7 @@ public class GRSFNotificationService extends RemoteServiceServlet implements GRS CkanDataset dataset = getDataset(semanticIdentifier); - + // look for the right domain this time List extrasAsPairs = dataset.getExtras(); @@ -257,4 +257,35 @@ public class GRSFNotificationService extends RemoteServiceServlet implements GRS } + + @Override + public boolean checkIdentifierExists(String id) + throws Exception { + String scopePerCurrentUrl = Utils.getScopeFromClientUrl(getThreadLocalRequest()); + DataCatalogue catalogue = getCatalogue(scopePerCurrentUrl); + String username = Utils.getCurrentUser(getThreadLocalRequest()).getUsername(); + return catalogue.getDataset(id, catalogue.getApiKeyFromUsername(username)) != null; + } + + @Override + public boolean checkIdentifierExistsInDomain(String id, + String domain) throws Exception { + String scopePerCurrentUrl = Utils.getScopeFromClientUrl(getThreadLocalRequest()); + DataCatalogue catalogue = getCatalogue(scopePerCurrentUrl); + String username = Utils.getCurrentUser(getThreadLocalRequest()).getUsername(); + CkanDataset dataset = catalogue.getDataset(id, catalogue.getApiKeyFromUsername(username)); + if(dataset == null) + return false; + + List extrasAsPairs = dataset.getExtras(); + + for (CkanPair ckanPair : extrasAsPairs) { + if(ckanPair.getKey().contains(Constants.DOMAIN_CUSTOM_KEY)){ + return ckanPair.getValue().equalsIgnoreCase(domain); + } + } + + return false; + } + } diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/ConnectBean.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/ConnectBean.java index c6320ca..b377c54 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/ConnectBean.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/ConnectBean.java @@ -9,37 +9,30 @@ public class ConnectBean { private String sourceIdentifier; private String sourceDomain; // i.e. Stock or Fishery - private String destSemanticIdentifier; // the dest semantic indentifier of a Fishery or Stock (the link is from a Stock to a Fishery and viceversa) + private String destIdentifier; // the dest indentifier of a Fishery or Stock (the link is from a Stock to a Fishery and viceversa) public ConnectBean() { super(); } - /** - * @param sourceIdentifier - * @param sourceDomain - * @param destSemanticIdentifier - */ public ConnectBean(String sourceIdentifier, String sourceDomain, - String destSemanticIdentifier) { + String destIdentifier) { super(); this.sourceIdentifier = sourceIdentifier; this.sourceDomain = sourceDomain; - this.destSemanticIdentifier = destSemanticIdentifier; + this.destIdentifier = destIdentifier; } - public String getSourceIdentifier() { return sourceIdentifier; } public void setSourceIdentifier(String sourceIdentifier) { this.sourceIdentifier = sourceIdentifier; } - public String getDestSemanticIdentifier() { - return destSemanticIdentifier; + public String getDestIdentifier() { + return destIdentifier; } - public void setDestSemanticIdentifier(String destSemanticIdentifier) { - this.destSemanticIdentifier = destSemanticIdentifier; + public void setDestIdentifier(String destIdentifier) { + this.destIdentifier = destIdentifier; } - public String getSourceDomain() { return sourceDomain; } @@ -50,6 +43,6 @@ public class ConnectBean { public String toString() { return "ConnectBean [sourceIdentifier=" + sourceIdentifier + ", sourceDomain=" + sourceDomain - + ", destSemanticIdentifier=" + destSemanticIdentifier + "]"; + + ", destIdentifier=" + destIdentifier + "]"; } } diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/SimilarGRSFRecord.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/SimilarGRSFRecord.java index 15f3fac..3d31214 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/SimilarGRSFRecord.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/shared/SimilarGRSFRecord.java @@ -11,7 +11,7 @@ public class SimilarGRSFRecord implements Serializable{ private static final long serialVersionUID = 6501670015333073045L; private String description; - private String semanticIdentifier; + private String identifier; private String shortName; private String url; private boolean suggestedMerge; @@ -27,30 +27,27 @@ public class SimilarGRSFRecord implements Serializable{ /** * @param description - * @param semanticIdentifier + * @param identifier * @param shortName * @param url */ - public SimilarGRSFRecord(String description, String semanticIdentifier, + public SimilarGRSFRecord(String description, String identifier, String shortName, String url) { super(); this.description = description; - this.semanticIdentifier = semanticIdentifier; + this.identifier = identifier; this.shortName = shortName; this.url = url; } + public String getIdentifier() { - return description; + return identifier; } - public void setIdentifier(String description) { - this.description = description; - } - public String getSemanticIdentifier() { - return semanticIdentifier; - } - public void setSemanticIdentifier(String semanticIdentifier) { - this.semanticIdentifier = semanticIdentifier; + + public void setIdentifier(String identifier) { + this.identifier = identifier; } + public String getShortName() { return shortName; } @@ -91,7 +88,7 @@ public class SimilarGRSFRecord implements Serializable{ @Override public String toString() { return "SimilarGRSFRecord [description=" + description - + ", semanticIdentifier=" + semanticIdentifier + ", shortName=" + + ", identifier=" + identifier + ", shortName=" + shortName + ", url=" + url + ", suggestedMerge=" + suggestedMerge + ", isExtra=" + isExtra + "]"; }