From 0d5c48ce3509b66c321cc927ab68635fe9fd5e15 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Thu, 2 Dec 2021 15:44:33 +0100 Subject: [PATCH] Implemented methods --- src/main/java/org/gcube/gcat/client/Item.java | 47 +++++++++++++------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/gcube/gcat/client/Item.java b/src/main/java/org/gcube/gcat/client/Item.java index af9ab3c..e5342ca 100644 --- a/src/main/java/org/gcube/gcat/client/Item.java +++ b/src/main/java/org/gcube/gcat/client/Item.java @@ -1,5 +1,6 @@ package org.gcube.gcat.client; +import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; @@ -11,12 +12,13 @@ import javax.xml.ws.WebServiceException; import org.gcube.com.fasterxml.jackson.databind.JsonNode; import org.gcube.com.fasterxml.jackson.databind.ObjectMapper; import org.gcube.gcat.api.GCatConstants; -import org.gcube.gcat.api.moderation.Moderated; +import org.gcube.gcat.api.moderation.CMItemStatus; +import org.gcube.gcat.api.moderation.ModerationContent; /** * @author Luca Frosini (ISTI - CNR) */ -public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.Item, Moderated { +public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.Item { public Item() throws MalformedURLException { super(ITEMS); @@ -123,22 +125,39 @@ public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.It return null; } - @Override - public String approve(String moderatorMessage) { - // TODO Auto-generated method stub - return null; + protected String moderate(String name, ModerationContent moderationContent) { + try { + initRequest(); + gxhttpStringRequest.path(name); + String moderationContentString = (new ObjectMapper()).writeValueAsString(moderationContent); + gxhttpStringRequest.withBody(moderationContentString); + HttpURLConnection httpURLConnection = gxhttpStringRequest.post(); + return parseHttpURLConnection(httpURLConnection); + }catch (WebApplicationException e) { + throw e; + }catch (Exception e) { + throw new WebApplicationException(e); + } + } + + public String approve(String name, String moderatorMessage) { + ModerationContent moderationContent = new ModerationContent(); + moderationContent.setCMItemStatus(CMItemStatus.APPROVED); + moderationContent.setMessage(moderatorMessage); + return moderate(name, moderationContent); } - @Override - public String reject(String moderatorMessage) { - // TODO Auto-generated method stub - return null; + public String reject(String name, String moderatorMessage) { + ModerationContent moderationContent = new ModerationContent(); + moderationContent.setCMItemStatus(CMItemStatus.REJECTED); + moderationContent.setMessage(moderatorMessage); + return moderate(name, moderationContent); } - @Override - public void message(String message) { - // TODO Auto-generated method stub - + public void message(String name, String message) { + ModerationContent moderationContent = new ModerationContent(); + moderationContent.setMessage(message); + moderate(name, moderationContent); }