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:
parent
46a626ef4f
commit
1a131e5d6b
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue