ref 18964: Create a Generic Resource to record Dismissed VREs

https://support.d4science.org/issues/18964

Create a library to support the resource access
This commit is contained in:
Giancarlo Panichi 2020-04-02 11:11:22 +02:00
parent 46a626ef4f
commit 1a131e5d6b
8 changed files with 59 additions and 59 deletions

View File

@ -2,8 +2,7 @@ package org.gcube.infrastructure.detachedres.detachedreslibrary.server.is;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.LinkedHashMap;
import org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj.DetachedREsJAXB;
import org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj.GatewayJAXB;
@ -50,11 +49,12 @@ public class DetachedREsBuilder {
logger.info("DetachedREsBuilder: configuration enabled: " + detachedREsJAXB.isEnabled());
detachedREs.setEnabled(detachedREsJAXB.isEnabled());
List<GatewayJAXB> gatewaysJAXB = detachedREsJAXB.getGateways();
LinkedHashMap<String,GatewayJAXB> gatewaysJAXB = detachedREsJAXB.getGateways();
logger.info("DetachedREsBuilder: Gateways configuration: " + gatewaysJAXB);
if (gatewaysJAXB != null && !gatewaysJAXB.isEmpty()) {
ArrayList<Gateway> gateways = new ArrayList<>();
for (GatewayJAXB gatewayJAXB : gatewaysJAXB) {
LinkedHashMap<String, Gateway> gateways = new LinkedHashMap<>();
for (String key: gatewaysJAXB.keySet()) {
GatewayJAXB gatewayJAXB =gatewaysJAXB.get(key);
Gateway gateway = new Gateway(gatewayJAXB.getScope(), gatewayJAXB.getName(),
gatewayJAXB.getDescription());
@ -80,10 +80,10 @@ public class DetachedREsBuilder {
gateway.setCatalogUrl(gatewayJAXB.getCatalogUrl());
if (gatewayJAXB.getVos() != null && !gatewayJAXB.getVos().isEmpty()) {
ArrayList<VO> vos = retrieveVOs(gatewayJAXB);
LinkedHashMap<String,VO> vos = retrieveVOs(gatewayJAXB);
gateway.setVos(vos);
}
gateways.add(gateway);
gateways.put(key,gateway);
}
detachedREs.setGateways(gateways);
@ -106,25 +106,26 @@ public class DetachedREsBuilder {
VRE blueBridgeProject = new VRE("/d4science.research-infrastructures.eu/gCubeApps/BlueBridgeProject",
"BlueBridgeProject");
ArrayList<VRE> vres = new ArrayList<>();
vres.add(blueBridgeProject);
LinkedHashMap<String,VRE> vres = new LinkedHashMap<>();
vres.put("/d4science.research-infrastructures.eu/gCubeApps",blueBridgeProject);
gCubeApps.setVres(vres);
ArrayList<VO> vos = new ArrayList<>();
vos.add(gCubeApps);
LinkedHashMap<String,VO> vos = new LinkedHashMap<>();
vos.put("/d4science.research-infrastructures.eu/gCubeApps",gCubeApps);
blueBridgeGateway.setVos(vos);
ArrayList<Gateway> gateways = new ArrayList<>();
gateways.add(blueBridgeGateway);
LinkedHashMap<String,Gateway> gateways = new LinkedHashMap<>();
gateways.put("-1",blueBridgeGateway);
DetachedREs detachedREs = new DetachedREs(true, gateways);
return detachedREs;
}
private static ArrayList<VO> retrieveVOs(GatewayJAXB gatewayJAXB) throws Exception {
private static LinkedHashMap<String,VO> retrieveVOs(GatewayJAXB gatewayJAXB) throws Exception {
try {
ArrayList<VO> vos = new ArrayList<>();
for (VOJAXB voJAXB : gatewayJAXB.getVos()) {
LinkedHashMap<String,VO> vos = new LinkedHashMap<>();
for (String key : gatewayJAXB.getVos().keySet()) {
VOJAXB voJAXB=gatewayJAXB.getVos().get(key);
VO vo = new VO(voJAXB.getScope(), voJAXB.getName(), voJAXB.getDescription());
if (voJAXB.getStartDate() != null) {
@ -148,10 +149,10 @@ public class DetachedREsBuilder {
vo.setCatalogUrl(voJAXB.getCatalogUrl());
if (voJAXB.getVres() != null && !voJAXB.getVres().isEmpty()) {
ArrayList<VRE> vres = retrieveVREs(voJAXB);
LinkedHashMap<String,VRE> vres = retrieveVREs(voJAXB);
vo.setVres(vres);
}
vos.add(vo);
vos.put(key,vo);
}
return vos;
@ -165,10 +166,11 @@ public class DetachedREsBuilder {
}
private static ArrayList<VRE> retrieveVREs(VOJAXB voJAXB) throws Exception {
private static LinkedHashMap<String,VRE> retrieveVREs(VOJAXB voJAXB) throws Exception {
try {
ArrayList<VRE> vres = new ArrayList<>();
for (VREJAXB vreJAXB : voJAXB.getVres()) {
LinkedHashMap<String,VRE> vres = new LinkedHashMap<>();
for (String key : voJAXB.getVres().keySet()) {
VREJAXB vreJAXB=voJAXB.getVres().get(key);
VRE vre = new VRE(vreJAXB.getScope(), vreJAXB.getName(), vreJAXB.getDescription());
if (vreJAXB.getStartDate() != null) {
@ -191,7 +193,7 @@ public class DetachedREsBuilder {
}
vre.setCatalogUrl(vreJAXB.getCatalogUrl());
vre.setManagers(vreJAXB.getManagers());
vres.add(vre);
vres.put(key,vre);
}
return vres;

View File

@ -1,6 +1,6 @@
package org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -22,8 +22,7 @@ public class DetachedREsJAXB {
private boolean enabled;
@XmlElementWrapper(name = "gateways", required = false)
@XmlElement(name = "gateway", required = false)
private ArrayList<GatewayJAXB> gateways;
private LinkedHashMap<String,GatewayJAXB> gateways;
public boolean isEnabled() {
return enabled;
@ -33,11 +32,11 @@ public class DetachedREsJAXB {
this.enabled = enabled;
}
public ArrayList<GatewayJAXB> getGateways() {
public LinkedHashMap<String, GatewayJAXB> getGateways() {
return gateways;
}
public void setGateways(ArrayList<GatewayJAXB> gateways) {
public void setGateways(LinkedHashMap<String, GatewayJAXB> gateways) {
this.gateways = gateways;
}

View File

@ -1,7 +1,7 @@
package org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -29,8 +29,7 @@ public class GatewayJAXB {
private String description;
@XmlElementWrapper(name = "vos", required = false)
@XmlElement(name = "vo", required = false)
private ArrayList<VOJAXB> vos;
private LinkedHashMap<String,VOJAXB> vos;
@XmlElement(name = "startdate", required = false)
@XmlJavaTypeAdapter(DateTimeAdapter.class)
@ -67,11 +66,11 @@ public class GatewayJAXB {
this.description = description;
}
public ArrayList<VOJAXB> getVos() {
public LinkedHashMap<String, VOJAXB> getVos() {
return vos;
}
public void setVos(ArrayList<VOJAXB> vos) {
public void setVos(LinkedHashMap<String, VOJAXB> vos) {
this.vos = vos;
}

View File

@ -1,7 +1,7 @@
package org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -29,8 +29,7 @@ public class VOJAXB {
private String description;
@XmlElementWrapper(name = "vres", required = false)
@XmlElement(name = "vre", required = false)
private ArrayList<VREJAXB> vres;
private LinkedHashMap<String,VREJAXB> vres;
@XmlElement(name = "startdate", required = false)
@XmlJavaTypeAdapter(DateTimeAdapter.class)
@ -67,11 +66,11 @@ public class VOJAXB {
this.description = description;
}
public ArrayList<VREJAXB> getVres() {
public LinkedHashMap<String, VREJAXB> getVres() {
return vres;
}
public void setVres(ArrayList<VREJAXB> vres) {
public void setVres(LinkedHashMap<String, VREJAXB> vres) {
this.vres = vres;
}

View File

@ -1,7 +1,7 @@
package org.gcube.infrastructure.detachedres.detachedreslibrary.shared.re;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
*
@ -12,13 +12,13 @@ public class DetachedREs implements Serializable {
private static final long serialVersionUID = 2238683459962419017L;
private boolean enabled;
private ArrayList<Gateway> gateways;
private LinkedHashMap<String, Gateway> gateways;
public DetachedREs() {
super();
}
public DetachedREs(boolean enabled, ArrayList<Gateway> gateways) {
public DetachedREs(boolean enabled, LinkedHashMap<String, Gateway> gateways) {
super();
this.enabled = enabled;
this.gateways = gateways;
@ -32,11 +32,11 @@ public class DetachedREs implements Serializable {
this.enabled = enabled;
}
public ArrayList<Gateway> getGateways() {
public LinkedHashMap<String, Gateway> getGateways() {
return gateways;
}
public void setGateways(ArrayList<Gateway> gateways) {
public void setGateways(LinkedHashMap<String, Gateway> gateways) {
this.gateways = gateways;
}

View File

@ -1,7 +1,7 @@
package org.gcube.infrastructure.detachedres.detachedreslibrary.shared.re;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
*
@ -14,7 +14,7 @@ public class Gateway implements Serializable {
private String scope;
private String name;
private String description;
private ArrayList<VO> vos;
private LinkedHashMap<String,VO> vos;
private String startDate;
private String endDate;
private String catalogUrl;
@ -36,7 +36,7 @@ public class Gateway implements Serializable {
this.description = description;
}
public Gateway(String scope, String name, String description, ArrayList<VO> vos) {
public Gateway(String scope, String name, String description, LinkedHashMap<String,VO> vos) {
super();
this.scope = scope;
this.name = name;
@ -68,11 +68,11 @@ public class Gateway implements Serializable {
this.description = description;
}
public ArrayList<VO> getVos() {
public LinkedHashMap<String, VO> getVos() {
return vos;
}
public void setVos(ArrayList<VO> vos) {
public void setVos(LinkedHashMap<String, VO> vos) {
this.vos = vos;
}

View File

@ -1,7 +1,7 @@
package org.gcube.infrastructure.detachedres.detachedreslibrary.shared.re;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
*
@ -14,7 +14,7 @@ public class VO implements Serializable {
private String scope;
private String name;
private String description;
private ArrayList<VRE> vres;
private LinkedHashMap<String,VRE> vres;
private String startDate;
private String endDate;
private String catalogUrl;
@ -36,7 +36,7 @@ public class VO implements Serializable {
this.description = description;
}
public VO(String scope, String name, String description, ArrayList<VRE> vres) {
public VO(String scope, String name, String description, LinkedHashMap<String,VRE> vres) {
super();
this.scope = scope;
this.name = name;
@ -68,11 +68,12 @@ public class VO implements Serializable {
this.description = description;
}
public ArrayList<VRE> getVres() {
public LinkedHashMap<String, VRE> getVres() {
return vres;
}
public void setVres(ArrayList<VRE> vres) {
public void setVres(LinkedHashMap<String, VRE> vres) {
this.vres = vres;
}

View File

@ -7,8 +7,8 @@ import java.io.File;
import java.io.StringWriter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.LinkedHashMap;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
@ -82,16 +82,16 @@ public class DetachedREsTest extends TestCase {
blueBridgeProject.setEndDate(new GregorianCalendar(2020, GregorianCalendar.JANUARY, 1).getTime());
blueBridgeProject.setCatalogUrl("http://service.d4science.org/catalogurl");
ArrayList<VREJAXB> vres = new ArrayList<>();
vres.add(blueBridgeProject);
LinkedHashMap<String,VREJAXB> vres = new LinkedHashMap<>();
vres.put("/d4science.research-infrastructures.eu/gcubeApps/BlueBridgeProject",blueBridgeProject);
gCubeApps.setVres(vres);
ArrayList<VOJAXB> vos = new ArrayList<>();
vos.add(gCubeApps);
LinkedHashMap<String,VOJAXB> vos = new LinkedHashMap<>();
vos.put("/d4science.research-infrastructures.eu/gCubeApps",gCubeApps);
blueBridgeGateway.setVos(vos);
ArrayList<GatewayJAXB> gateways = new ArrayList<>();
gateways.add(blueBridgeGateway);
LinkedHashMap<String,GatewayJAXB> gateways = new LinkedHashMap<>();
gateways.put("-1",blueBridgeGateway);
DetachedREsJAXB detachedREs = new DetachedREsJAXB();
detachedREs.setEnabled(true);