detachedres-library/src/test/java/org/gcube/infrastructure/detachedres/detachedreslibrary/DetachedREsTest.java

609 lines
27 KiB
Java

/**
*
*/
package org.gcube.infrastructure.detachedres.detachedreslibrary;
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.Arrays;
import java.util.GregorianCalendar;
import java.util.LinkedHashMap;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.infrastructure.detachedres.detachedreslibrary.server.DetachedREsClient;
import org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj.DetachedREsJAXB;
import org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj.GatewayJAXB;
import org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj.VOJAXB;
import org.gcube.infrastructure.detachedres.detachedreslibrary.server.is.obj.VREJAXB;
import org.gcube.infrastructure.detachedres.detachedreslibrary.shared.Constants;
import org.gcube.infrastructure.detachedres.detachedreslibrary.shared.re.DetachedREs;
import org.gcube.infrastructure.detachedres.detachedreslibrary.shared.re.Gateway;
import org.gcube.infrastructure.detachedres.detachedreslibrary.shared.re.VO;
import org.gcube.infrastructure.detachedres.detachedreslibrary.shared.re.VRE;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import junit.framework.TestCase;
/**
*
* @author Giancarlo Panichi
*
*
*/
public class DetachedREsTest extends TestCase {
private static Logger logger = LoggerFactory.getLogger(DetachedREsTest.class);
@Test
public void testDetachedREsResource() {
if (Constants.TEST_ENABLE) {
logger.debug("Test Enabled");
try {
ScopeProvider.instance.set(Constants.DEFAULT_SCOPE);
SecurityTokenProvider.instance.set(Constants.DEFAULT_TOKEN);
DetachedREsClient detachedREsClient = new DetachedREsClient();
DetachedREs detachedREs = detachedREsClient.getDetachedREs();
int totalVREDimissed = 0;
for (Gateway gateway : detachedREs.getGateways().values()) {
logger.debug("\n\n");
logger.debug("Gateway: " + gateway.getName());
int vreDismissedPerGatew = 0;
for (VO vo : gateway.getVos().values()) {
logger.debug("VO: " + vo.getName());
for (VRE vre : vo.getVres().values()) {
logger.debug("VRE name: " + vre.getName() +
" scope: "+vre.getScope() +
" VRE catalogue url: " + vre.getCatalogUrl() +
" VRE catalog Portlet URL: "+vre.getCatalogPortletURL());
vreDismissedPerGatew++;
}
}
logger.debug("\n\t\t\t******** VREs dismissed per " + gateway.getName() + " are: "+vreDismissedPerGatew);
totalVREDimissed+=vreDismissedPerGatew;
}
logger.debug("\n\nTotal VREs dismissed: " + totalVREDimissed);
assertTrue(true);
} catch (Exception e) {
logger.error(e.getLocalizedMessage(), e);
assertTrue("Error searching the resource!", false);
}
} else {
logger.debug("Test Disabled");
assertTrue(true);
}
}
@Test
public void testFindDetachedVREForVREName() {
if (Constants.TEST_ENABLE) {
logger.debug("Test Enabled");
try {
String vreName = "bluebridgeproject";
ScopeProvider.instance.set(Constants.DEFAULT_SCOPE);
SecurityTokenProvider.instance.set(Constants.DEFAULT_TOKEN);
DetachedREsClient detachedREsClient = new DetachedREsClient();
VRE vre = detachedREsClient.findDetachedVREforVREName(vreName);
logger.debug("The detached VRE for name: " + vreName + " found as: "+vre);
assertTrue(true);
} catch (Exception e) {
logger.error(e.getLocalizedMessage(), e);
assertTrue("Error searching the resource!", false);
}
} else {
logger.debug("Test Disabled");
assertTrue(true);
}
}
@Test
public void testDetachedREsMarshaller() {
if (Constants.TEST_ENABLE) {
logger.debug("Test Enabled");
try {
logger.info("Check Marshalling");
GatewayJAXB blueBridgeGateway = new GatewayJAXB();
blueBridgeGateway.setScope("-1");
blueBridgeGateway.setName("BlueBridge Gateway");
VOJAXB gCubeApps = new VOJAXB();
gCubeApps.setScope("/d4science.research-infrastructures.eu/gCubeApps");
gCubeApps.setName("gCubeApps");
VREJAXB blueBridgeProject = new VREJAXB();
blueBridgeProject.setScope("/d4science.research-infrastructures.eu/gcubeApps/BlueBridgeProject");
blueBridgeProject.setName("BlueBridgeProject");
blueBridgeProject.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
blueBridgeProject.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
blueBridgeProject.setCatalogUrl("http://data.d4science.org/ctlg/BlueBridgeProject");
blueBridgeProject
.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
LinkedHashMap<String, VREJAXB> vres = new LinkedHashMap<>();
vres.put("/d4science.research-infrastructures.eu/gcubeApps/BlueBridgeProject", blueBridgeProject);
gCubeApps.setVres(vres);
LinkedHashMap<String, VOJAXB> vos = new LinkedHashMap<>();
vos.put("/d4science.research-infrastructures.eu/gCubeApps", gCubeApps);
blueBridgeGateway.setVos(vos);
LinkedHashMap<String, GatewayJAXB> gateways = new LinkedHashMap<>();
gateways.put("-1", blueBridgeGateway);
DetachedREsJAXB detachedREs = new DetachedREsJAXB();
detachedREs.setEnabled(true);
detachedREs.setGateways(gateways);
JAXBContext jaxbContext = JAXBContext.newInstance(DetachedREsJAXB.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
// Print XML String to Console
StringWriter sw = new StringWriter();
// Write XML to StringWriter
jaxbMarshaller.marshal(detachedREs, sw);
// Verify XML Content
String xmlContent = sw.toString();
logger.debug(xmlContent);
logger.info("Check Unmarshalling");
Path path = Files.createTempFile("DetachedREsData", ".xml");
File file = path.toFile();
jaxbMarshaller.marshal(detachedREs, file);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
DetachedREsJAXB configUnmarshalled = (DetachedREsJAXB) jaxbUnmarshaller.unmarshal(file);
logger.debug("DetachedREs unmarshallded: " + configUnmarshalled);
file.delete();
logger.info("Success!");
assertTrue(true);
} catch (Throwable e) {
logger.error(e.getLocalizedMessage(), e);
assertTrue("Error in DetachedREs Marshal!", false);
}
} else {
logger.debug("Test Disabled");
assertTrue(true);
}
}
@Test
public void testDetachedREsMarshallerProd() {
if (Constants.TEST_ENABLE) {
logger.debug("Test Enabled");
try {
logger.info("Check Marshalling");
// final String GCUBEAPPS = "gCubeApps";
// final String FARM = "FARM";
// final String D4RESEARCH = "D4Research";
// final String PARTHENOSVO = "ParthenosVO";
// final String D4OS = "D4OS";
// ------ BlueBridge Gateway begin
GatewayJAXB blueBridgeGateway = new GatewayJAXB();
blueBridgeGateway.setScope("-1");
blueBridgeGateway.setName("BlueBridge Gateway");
createBlueBridgeGateway(blueBridgeGateway);
// ------ D4Science.org Detached Gateway begin
GatewayJAXB d4ScienceOrgDetachedGateway = new GatewayJAXB();
d4ScienceOrgDetachedGateway.setScope("-2");
d4ScienceOrgDetachedGateway.setName("D4Science.org Detached Gateway");
createD4ScienceOrgDetachedGateway(d4ScienceOrgDetachedGateway);
// ------ PARTHENOS Detached Gateway begin
GatewayJAXB parthenosDetachedGateway = new GatewayJAXB();
parthenosDetachedGateway.setScope("-3");
parthenosDetachedGateway.setName("PARTHENOS Detached Gateway");
createParthenosDetachedGateway(parthenosDetachedGateway);
// ------ AGINFRAPlus Detached Gateway begin
GatewayJAXB aginfraPlusDetachedGateway = new GatewayJAXB();
aginfraPlusDetachedGateway.setScope("-4");
aginfraPlusDetachedGateway.setName("AGINFRAPlus Detached Gateway");
createAginfraPlusDetachedGateway(aginfraPlusDetachedGateway);
// ------ EOSC-Secretriat Detached Gateway begin
GatewayJAXB eoscSecretariatDetachedGateway = new GatewayJAXB();
eoscSecretariatDetachedGateway.setScope("-5");
eoscSecretariatDetachedGateway.setName("EOSC-Secretariat Detached Gateway");
createEOSCSecretariatDetachedGateway(eoscSecretariatDetachedGateway);
// Gateway Add
// -------------------
LinkedHashMap<String, GatewayJAXB> gateways = new LinkedHashMap<>();
gateways.put("-1", blueBridgeGateway);
gateways.put("-2", d4ScienceOrgDetachedGateway);
gateways.put("-3", parthenosDetachedGateway);
gateways.put("-4", aginfraPlusDetachedGateway);
gateways.put("-5", eoscSecretariatDetachedGateway);
DetachedREsJAXB detachedREs = new DetachedREsJAXB();
detachedREs.setEnabled(true);
detachedREs.setGateways(gateways);
JAXBContext jaxbContext = JAXBContext.newInstance(DetachedREsJAXB.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
// Print XML String to Console
StringWriter sw = new StringWriter();
// Write XML to StringWriter
jaxbMarshaller.marshal(detachedREs, sw);
// Verify XML Content
String xmlContent = sw.toString();
logger.debug(xmlContent);
logger.info("Check Unmarshalling");
Path path = Files.createTempFile("DetachedREsData", ".xml");
File file = path.toFile();
jaxbMarshaller.marshal(detachedREs, file);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
DetachedREsJAXB configUnmarshalled = (DetachedREsJAXB) jaxbUnmarshaller.unmarshal(file);
logger.debug("DetachedREs unmarshallded: " + configUnmarshalled);
file.delete();
logger.info("Success!");
assertTrue(true);
} catch (Throwable e) {
logger.error(e.getLocalizedMessage(), e);
assertTrue("Error in DetachedREs Marshal!", false);
}
} else {
logger.debug("Test Disabled");
assertTrue(true);
}
}
private void createEOSCSecretariatDetachedGateway(GatewayJAXB eoscSecretariatDetachedGateway) {
// D4OS
VOJAXB d4osOfEOSCSecretariatDetachedGateway = new VOJAXB();
d4osOfEOSCSecretariatDetachedGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4OS.getId());
d4osOfEOSCSecretariatDetachedGateway.setName(VOProduction.D4OS.getId());
LinkedHashMap<String, VREJAXB> d4osVREsOfEOSCSecretariatDetachedGateway = new LinkedHashMap<>();
String[] d4osVREsOfEOSCSecretariatDetachedGatewayArray = { "INFRAEOSC5ProjectsCollaboratory" };
for (String vre : d4osVREsOfEOSCSecretariatDetachedGatewayArray) {
VREJAXB d4osVREJAXB = new VREJAXB();
d4osVREJAXB.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4OS.getId() + "/" + vre);
d4osVREJAXB.setName(new String(vre).replace("_", " "));
d4osVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
d4osVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
d4osVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
d4osVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
d4osVREsOfEOSCSecretariatDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.D4OS.getId() + "/" + vre, d4osVREJAXB);
}
d4osOfEOSCSecretariatDetachedGateway.setVres(d4osVREsOfEOSCSecretariatDetachedGateway);
LinkedHashMap<String, VOJAXB> vosOfEOSCSecretariatDetachedGateway = new LinkedHashMap<>();
vosOfEOSCSecretariatDetachedGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.D4OS.getId(),
d4osOfEOSCSecretariatDetachedGateway);
eoscSecretariatDetachedGateway.setVos(vosOfEOSCSecretariatDetachedGateway);
}
private void createAginfraPlusDetachedGateway(GatewayJAXB aginfraPlusDetachedGateway) {
// FARM
VOJAXB farmOfAginfraPlusDetachedGateway = new VOJAXB();
farmOfAginfraPlusDetachedGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId());
farmOfAginfraPlusDetachedGateway.setName(VOProduction.FARM.getId());
LinkedHashMap<String, VREJAXB> farmVREsOfAginfraPlusDetachedGateway = new LinkedHashMap<>();
String[] farmVREsOfAginfraPlusDetachedGatewayArray = { "EOSCFood" };
for (String vre : farmVREsOfAginfraPlusDetachedGatewayArray) {
VREJAXB farmVREJAXB = new VREJAXB();
farmVREJAXB.setScope("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId() + "/" + vre);
farmVREJAXB.setName(new String(vre).replace("_", " "));
farmVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
farmVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
farmVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
farmVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
farmVREsOfAginfraPlusDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId() + "/" + vre, farmVREJAXB);
}
farmOfAginfraPlusDetachedGateway.setVres(farmVREsOfAginfraPlusDetachedGateway);
LinkedHashMap<String, VOJAXB> vosOfAginfraPlusDetachedGateway = new LinkedHashMap<>();
vosOfAginfraPlusDetachedGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId(),
farmOfAginfraPlusDetachedGateway);
aginfraPlusDetachedGateway.setVos(vosOfAginfraPlusDetachedGateway);
}
private void createParthenosDetachedGateway(GatewayJAXB parthenosDetachedGateway) {
// ParthenosVO
VOJAXB parthenosVOOfParthenosDetachedGateway = new VOJAXB();
parthenosVOOfParthenosDetachedGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.PARTHENOSVO.getId());
parthenosVOOfParthenosDetachedGateway.setName(VOProduction.PARTHENOSVO.getId());
LinkedHashMap<String, VREJAXB> parthenosVOVREsOfParthenosDetachedGateway = new LinkedHashMap<>();
String[] parthenosVOVREsOfParthenosDetachedGatewayArray = { "RubRIcA" };
for (String vre : parthenosVOVREsOfParthenosDetachedGatewayArray) {
VREJAXB parthenosVOVREJAXB = new VREJAXB();
parthenosVOVREJAXB
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.PARTHENOSVO.getId() + "/" + vre);
parthenosVOVREJAXB.setName(new String(vre).replace("_", " "));
parthenosVOVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
parthenosVOVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
parthenosVOVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
parthenosVOVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
parthenosVOVREsOfParthenosDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.PARTHENOSVO.getId() + "/" + vre,
parthenosVOVREJAXB);
}
parthenosVOOfParthenosDetachedGateway.setVres(parthenosVOVREsOfParthenosDetachedGateway);
// D4Research
VOJAXB d4ResearchOfParthenosDetachedGateway = new VOJAXB();
d4ResearchOfParthenosDetachedGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId());
d4ResearchOfParthenosDetachedGateway.setName(VOProduction.D4RESEARCH.getId());
LinkedHashMap<String, VREJAXB> d4ResearchVREsOfParthenosDetachedGateway = new LinkedHashMap<>();
String[] d4ResearchVREsOfParthenosDetachedGatewayArray = { "NERLiX" };
for (String vre : d4ResearchVREsOfParthenosDetachedGatewayArray) {
VREJAXB d4ResearchVREJAXB = new VREJAXB();
d4ResearchVREJAXB
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId() + "/" + vre);
d4ResearchVREJAXB.setName(new String(vre).replace("_", " "));
d4ResearchVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
d4ResearchVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
d4ResearchVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
d4ResearchVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
d4ResearchVREsOfParthenosDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId() + "/" + vre,
d4ResearchVREJAXB);
}
d4ResearchOfParthenosDetachedGateway.setVres(d4ResearchVREsOfParthenosDetachedGateway);
LinkedHashMap<String, VOJAXB> vosOfParthenosDetachedGateway = new LinkedHashMap<>();
vosOfParthenosDetachedGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId(),
d4ResearchOfParthenosDetachedGateway);
vosOfParthenosDetachedGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.PARTHENOSVO.getId(),
parthenosVOOfParthenosDetachedGateway);
parthenosDetachedGateway.setVos(vosOfParthenosDetachedGateway);
}
private void createBlueBridgeGateway(GatewayJAXB blueBridgeGateway) {
// gCubeApps
VOJAXB gCubeAppsOfBlueBridgeGateway = new VOJAXB();
gCubeAppsOfBlueBridgeGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId());
gCubeAppsOfBlueBridgeGateway.setName(VOProduction.GCUBEAPPS.getId());
LinkedHashMap<String, VREJAXB> gCubeAppsVREsOfBlueBridgeGateway = new LinkedHashMap<>();
String[] gCubeAppsVREsOfBluebridgeGatewayArray = { "AquacultureTrainingLab", "BlueBRIDGE-PSC",
"BlueBridgeProject", "CES_TCRE", "ICES_DALSA", "ICES_DASC", "ICES_FIACO",
"ICES_StockAssessmentAdvanced", "ICES_TCSSM", "iSearch", "SIASPA" };
for (String vre : gCubeAppsVREsOfBluebridgeGatewayArray) {
VREJAXB gCubeAppsVREJAXB = new VREJAXB();
gCubeAppsVREJAXB
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId() + "/" + vre);
gCubeAppsVREJAXB.setName(new String(vre).replace("_", " "));
gCubeAppsVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
gCubeAppsVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
// UPDATED BY FRANCESCO
if (vre.compareToIgnoreCase("BlueBridgeProject") == 0 || vre.compareToIgnoreCase("SIASPA") == 0) {
gCubeAppsVREJAXB.setCatalogUrl("https://ckan-imarine.d4science.org");
gCubeAppsVREJAXB.setCatalogPortletURL("https://i-marine.d4science.org/group/imarine-gateway/data-catalogue");
} else {
//not usable
gCubeAppsVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
}
gCubeAppsVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
gCubeAppsVREsOfBlueBridgeGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId() + "/" + vre,
gCubeAppsVREJAXB);
}
gCubeAppsOfBlueBridgeGateway.setVres(gCubeAppsVREsOfBlueBridgeGateway);
// FARM
VOJAXB farmOfBlueBridgeGateway = new VOJAXB();
farmOfBlueBridgeGateway.setScope("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId());
farmOfBlueBridgeGateway.setName(VOProduction.FARM.getId());
LinkedHashMap<String, VREJAXB> farmVREsOfBlueBridgeGateway = new LinkedHashMap<>();
String[] farmVREsOfBlueBridgeGatewayArray = { "AlieiaVRE", "Aquabiotech", "ARDAG_Aquaculture",
"EllinikaPsariaVRE", "ForkysVRE", "GALAXIDI", "iLKNAK_Aquaculture", "KIMAGRO_Fishfarming",
"MARKELLOS_Aquaculture", "NHREUS_Aquaculture", "STRATOS_AQUACULTURES", "SustainableBlueEconomy",
"TBTI_VRE" };
for (String vre : farmVREsOfBlueBridgeGatewayArray) {
VREJAXB farmVREJAXB = new VREJAXB();
farmVREJAXB.setScope("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId() + "/" + vre);
farmVREJAXB.setName(new String(vre).replace("_", " "));
farmVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
farmVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
farmVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
farmVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
farmVREsOfBlueBridgeGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId() + "/" + vre, farmVREJAXB);
}
farmOfBlueBridgeGateway.setVres(farmVREsOfBlueBridgeGateway);
// D4Research
VOJAXB d4ResearchOfBlueBridgeGateway = new VOJAXB();
d4ResearchOfBlueBridgeGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId());
d4ResearchOfBlueBridgeGateway.setName(VOProduction.D4RESEARCH.getId());
LinkedHashMap<String, VREJAXB> d4ResearchVREsOfBlueBridgeGateway = new LinkedHashMap<>();
String[] d4ResearchVREsOfBlueBridgeGatewayArray = { "Blue-Datathon", "BlueBRIDGEReview", "BOBLME_HilsaAWG",
"DRuMFISH", "ICES_AbundanceEstimationFromAcoustic", "ICES_BNetworkAnalysis", "ICES_FIACO2017",
"ICES_IntroStockAssessment", "ICES_IntroToREnv", "ICES_LogbookData", "ICES_MSE", "ICES_MSY",
"InfraTraining", "Sinay", "StatnMap" };
for (String vre : d4ResearchVREsOfBlueBridgeGatewayArray) {
VREJAXB d4ResearchVREJAXB = new VREJAXB();
d4ResearchVREJAXB
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId() + "/" + vre);
d4ResearchVREJAXB.setName(new String(vre).replace("_", " "));
d4ResearchVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
d4ResearchVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
d4ResearchVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
d4ResearchVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
d4ResearchVREsOfBlueBridgeGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId() + "/" + vre,
d4ResearchVREJAXB);
}
d4ResearchOfBlueBridgeGateway.setVres(d4ResearchVREsOfBlueBridgeGateway);
LinkedHashMap<String, VOJAXB> vosOfBlueBridgeGateway = new LinkedHashMap<>();
vosOfBlueBridgeGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId(),
d4ResearchOfBlueBridgeGateway);
vosOfBlueBridgeGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId(),
farmOfBlueBridgeGateway);
vosOfBlueBridgeGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId(),
gCubeAppsOfBlueBridgeGateway);
blueBridgeGateway.setVos(vosOfBlueBridgeGateway);
}
private void createD4ScienceOrgDetachedGateway(GatewayJAXB d4ScienceOrgDetachedGateway) {
// gCubeApps
VOJAXB gCubeAppsOfD4ScienceOrgDetachedGateway = new VOJAXB();
gCubeAppsOfD4ScienceOrgDetachedGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId());
gCubeAppsOfD4ScienceOrgDetachedGateway.setName(VOProduction.GCUBEAPPS.getId());
LinkedHashMap<String, VREJAXB> gCubeAppsVREsOfD4ScienceOrgDetachedGateway = new LinkedHashMap<>();
String[] gCubeAppsVREsOfD4ScienceOrgDetachedGatewayArray = { "CNR_OpenScienceTF", "EGIEngage", "ICOS_ETC" };
for (String vre : gCubeAppsVREsOfD4ScienceOrgDetachedGatewayArray) {
VREJAXB gCubeAppsVREJAXB = new VREJAXB();
gCubeAppsVREJAXB
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId() + "/" + vre);
gCubeAppsVREJAXB.setName(new String(vre).replace("_", " "));
gCubeAppsVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
gCubeAppsVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
gCubeAppsVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
gCubeAppsVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
gCubeAppsVREsOfD4ScienceOrgDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId() + "/" + vre,
gCubeAppsVREJAXB);
}
gCubeAppsOfD4ScienceOrgDetachedGateway.setVres(gCubeAppsVREsOfD4ScienceOrgDetachedGateway);
// FARM
VOJAXB farmOfD4ScienceOrgDetachedGateway = new VOJAXB();
farmOfD4ScienceOrgDetachedGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId());
farmOfD4ScienceOrgDetachedGateway.setName(VOProduction.FARM.getId());
LinkedHashMap<String, VREJAXB> farmVREsOfD4ScienceOrgDetachedGateway = new LinkedHashMap<>();
String[] farmVREsOfD4ScienceOrgDetachedGatewayArray = { "EUChinaFoodSTAR" };
for (String vre : farmVREsOfD4ScienceOrgDetachedGatewayArray) {
VREJAXB farmVREJAXB = new VREJAXB();
farmVREJAXB.setScope("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId() + "/" + vre);
farmVREJAXB.setName(new String(vre).replace("_", " "));
farmVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
farmVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
farmVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
farmVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
farmVREsOfD4ScienceOrgDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId() + "/" + vre, farmVREJAXB);
}
farmOfD4ScienceOrgDetachedGateway.setVres(farmVREsOfD4ScienceOrgDetachedGateway);
// D4Research
VOJAXB d4ResearchOfD4ScienceOrgDetachedGateway = new VOJAXB();
d4ResearchOfD4ScienceOrgDetachedGateway
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId());
d4ResearchOfD4ScienceOrgDetachedGateway.setName(VOProduction.D4RESEARCH.getId());
LinkedHashMap<String, VREJAXB> d4ResearchVREsOfD4ScienceOrgDetachedGateway = new LinkedHashMap<>();
String[] d4ResearchVREsOfD4ScienceOrgDetachedGatewayArray = { "EOSC_Services", "FAIR_DM",
"FisheriesAndEcosystemAtMii", "ISTIOpenAccess" };
for (String vre : d4ResearchVREsOfD4ScienceOrgDetachedGatewayArray) {
VREJAXB d4ResearchVREJAXB = new VREJAXB();
d4ResearchVREJAXB
.setScope("/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId() + "/" + vre);
d4ResearchVREJAXB.setName(new String(vre).replace("_", " "));
d4ResearchVREJAXB.setStartDate(new GregorianCalendar(2018, GregorianCalendar.JANUARY, 1).getTime());
d4ResearchVREJAXB.setEndDate(new GregorianCalendar(2020, GregorianCalendar.MARCH, 3).getTime());
d4ResearchVREJAXB.setCatalogUrl("http://data.d4science.org/ctlg/" + vre);
d4ResearchVREJAXB.setManagers(new ArrayList<String>(Arrays.asList("Leonardo Candela", "Pasquale Pagano")));
d4ResearchVREsOfD4ScienceOrgDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId() + "/" + vre,
d4ResearchVREJAXB);
}
d4ResearchOfD4ScienceOrgDetachedGateway.setVres(d4ResearchVREsOfD4ScienceOrgDetachedGateway);
LinkedHashMap<String, VOJAXB> vosOfD4ScienceOrgDetachedGateway = new LinkedHashMap<>();
vosOfD4ScienceOrgDetachedGateway.put(
"/d4science.research-infrastructures.eu/" + VOProduction.D4RESEARCH.getId(),
d4ResearchOfD4ScienceOrgDetachedGateway);
vosOfD4ScienceOrgDetachedGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.FARM.getId(),
farmOfD4ScienceOrgDetachedGateway);
vosOfD4ScienceOrgDetachedGateway.put("/d4science.research-infrastructures.eu/" + VOProduction.GCUBEAPPS.getId(),
gCubeAppsOfD4ScienceOrgDetachedGateway);
d4ScienceOrgDetachedGateway.setVos(vosOfD4ScienceOrgDetachedGateway);
}
}