Implemented methods

This commit is contained in:
Luca Frosini 2021-12-02 15:44:33 +01:00
parent 6b32bc1245
commit 0d5c48ce35
1 changed files with 33 additions and 14 deletions

View File

@ -1,5 +1,6 @@
package org.gcube.gcat.client; package org.gcube.gcat.client;
import java.net.HttpURLConnection;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.util.HashMap; 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.JsonNode;
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper; import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
import org.gcube.gcat.api.GCatConstants; 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) * @author Luca Frosini (ISTI - CNR)
*/ */
public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.Item<String,Void>, Moderated { public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.Item<String,Void> {
public Item() throws MalformedURLException { public Item() throws MalformedURLException {
super(ITEMS); super(ITEMS);
@ -123,22 +125,39 @@ public class Item extends GCatClient implements org.gcube.gcat.api.interfaces.It
return null; return null;
} }
@Override protected String moderate(String name, ModerationContent moderationContent) {
public String approve(String moderatorMessage) { try {
// TODO Auto-generated method stub initRequest();
return null; 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 name, String moderatorMessage) {
public String reject(String moderatorMessage) { ModerationContent moderationContent = new ModerationContent();
// TODO Auto-generated method stub moderationContent.setCMItemStatus(CMItemStatus.REJECTED);
return null; moderationContent.setMessage(moderatorMessage);
return moderate(name, moderationContent);
} }
@Override public void message(String name, String message) {
public void message(String message) { ModerationContent moderationContent = new ModerationContent();
// TODO Auto-generated method stub moderationContent.setMessage(message);
moderate(name, moderationContent);
} }