Commit 5812c209 authored by redmitry@list.ru's avatar redmitry@list.ru

initial commit

parents
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>es.bsc.inb.elixir</groupId>
<artifactId>openebench-tools-model</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<developers>
<developer>
<id>redmitry</id>
<name>Dmitry Repchevsky</name>
<email>redmitry@list.ru</email>
</developer>
</developers>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>javax.json.bind</groupId>
<artifactId>javax.json.bind-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
<type>jar</type>
</dependency>
</dependencies>
</project>
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Community {
private List<URI> socialMedia;
@JsonbProperty("social_media")
public List<URI> getSocialMedia() {
if (socialMedia == null) {
socialMedia = new ArrayList<>();
}
return socialMedia;
}
@JsonbProperty("social_media")
public void setSocialMedia(List<URI> socialMedias) {
this.socialMedia = socialMedias;
}
}
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Contact {
private URI url;
private String email;
private String name;
private String phone;
@JsonbProperty("url")
public URI getUrl() {
return url;
}
@JsonbProperty("url")
public void setUrl(URI url) {
this.url = url;
}
@JsonbProperty("email")
public String getEmail() {
return email;
}
@JsonbProperty("email")
public void setEmail(String email) {
this.email = email;
}
@JsonbProperty("name")
public String getName() {
return name;
}
@JsonbProperty("name")
public void setName(String name) {
this.name = name;
}
@JsonbProperty("phone")
public String getPhone() {
return phone;
}
@JsonbProperty("phone")
public void setPhone(String phone) {
this.phone = phone;
}
}
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import javax.json.bind.annotation.JsonbCreator;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Container {
@JsonbProperty("type")
public final String type;
private URI uri;
@JsonbCreator
public Container(@JsonbProperty("type") String type) {
this.type = type;
}
@JsonbProperty("uri")
public URI getURI() {
return uri;
}
@JsonbProperty("uri")
public void setURI(URI uri) {
this.uri = uri;
}
}
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Credit {
private String name;
private String email;
private String type;
private String role;
private String orcid;
private URI url;
private String comment;
@JsonbProperty("name")
public String getName() {
return name;
}
@JsonbProperty("name")
public void setName(String name) {
this.name = name;
}
@JsonbProperty("email")
public String getEmail() {
return email;
}
@JsonbProperty("email")
public void setEmail(String email) {
this.email = email;
}
@JsonbProperty("type")
public String getType() {
return type;
}
@JsonbProperty("type")
public void setType(String type) {
this.type = type;
}
@JsonbProperty("role")
public String getRole() {
return role;
}
@JsonbProperty("role")
public void setRole(String role) {
this.role = role;
}
@JsonbProperty("orcid")
public String getOrcid() {
return orcid;
}
@JsonbProperty("orcid")
public void setOrcid(String orcid) {
this.orcid = orcid;
}
@JsonbProperty("url")
public URI getUrl() {
return url;
}
@JsonbProperty("url")
public void setUrl(URI url) {
this.url = url;
}
@JsonbProperty("comment")
public String getComment() {
return comment;
}
@JsonbProperty("comment")
public void setComment(String comment) {
this.comment = comment;
}
}
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Datatype {
private URI datatype;
private List<URI> formats;
@JsonbProperty("datatype")
public URI getDatatype() {
return datatype;
}
public void setDatatype(URI datatype) {
this.datatype = datatype;
}
@JsonbProperty("formats")
public List<URI> getFormats() {
if (formats == null) {
formats = new ArrayList<>();
}
return formats;
}
@JsonbProperty("formats")
public void setFormats(List<URI> formats) {
this.formats = formats;
}
}
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Dependencies {
private String buildSystem;
private List<URI> build;
private List<URI> runtime;
@JsonbProperty("build_system")
public String getBuildSystem() {
return buildSystem;
}
@JsonbProperty("build_system")
public void setBuildSystem(String buildSystem) {
this.buildSystem = buildSystem;
}
@JsonbProperty("build")
public List<URI> getBuildDependencies() {
if (build == null) {
build = new ArrayList<>();
}
return build;
}
@JsonbProperty("build")
public void setBuildDependencies(List<URI> build) {
this.build = build;
}
@JsonbProperty("runtime")
public List<URI> getRuntimeDependencies() {
if (runtime == null) {
runtime = new ArrayList<>();
}
return runtime;
}
@JsonbProperty("runtime")
public void setRuntimeDependencies(List<URI> runtime) {
this.runtime = runtime;
}
}
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Distributions {
private List<URI> binaries;
private List<URI> binaryPackages;
private List<URI> sourcecode;
private List<URI> sourcePackages;
private List<URI> vre;
private List<Container> containers;
private List<VMImage> vmImages;
@JsonbProperty("binaries")
public List<URI> getBinaryDistributions() {
if (binaries == null) {
binaries = new ArrayList<>();
}
return binaries;
}
@JsonbProperty("binaries")
public void setBinaryDistributions(List<URI> binaries) {
this.binaries = binaries;
}
@JsonbProperty("binary_packages")
public List<URI> getBinaryPackagesDistributions() {
if (binaryPackages == null) {
binaryPackages = new ArrayList<>();
}
return binaryPackages;
}
@JsonbProperty("binary_packages")
public void setBinaryPackagesDistributions(List<URI> binaryPackages) {
this.binaryPackages = binaryPackages;
}
@JsonbProperty("sourcecode")
public List<URI> getSourcecodeDistributions() {
if (sourcecode == null) {
sourcecode = new ArrayList<>();
}
return sourcecode;
}
@JsonbProperty("sourcecode")
public void setSourcecodeDistributions(List<URI> sourcecode) {
this.sourcecode = sourcecode;
}
@JsonbProperty("vre")
public void setVirtualResearchEnvironment(List<URI> vre) {
this.vre = vre;
}
@JsonbProperty("vre")
public List<URI> getVirtualResearchEnvironment() {
if (vre == null) {
vre = new ArrayList<>();
}
return vre;
}
@JsonbProperty("source_packages")
public List<URI> getSourcePackagesDistributions() {
if (sourcePackages == null) {
sourcePackages = new ArrayList<>();
}
return sourcePackages;
}
@JsonbProperty("source_packages")
public void setSourcePackagesDistributions(List<URI> sourcePackages) {
this.sourcePackages = sourcePackages;
}
@JsonbProperty("containers")
public List<Container> getContainers() {
if (containers == null) {
containers = new ArrayList<>();
}
return containers;
}
@JsonbProperty("containers")
public void setContainers(List<Container> containers) {
this.containers = containers;
}
@JsonbProperty("vm_images")
public List<VMImage> getVirtualMachineImages() {
if (vmImages == null) {
vmImages = new ArrayList<>();
}
return vmImages;
}
@JsonbProperty("vm_images")
public void setVirtualMachineImages(List<VMImage> vmImages) {
this.vmImages = vmImages;
}
}
/**
* *****************************************************************************
* Copyright (C) 2020 ELIXIR ES, Spanish National Bioinformatics Institute (INB)
* and Barcelona Supercomputing Center (BSC)
*
* Modifications to the initial code base are copyright of their respective
* authors, or their employers as appropriate.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*****************************************************************************
*/
package es.bsc.inb.elixir.openebench.model.tools;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import javax.json.bind.annotation.JsonbProperty;
/**
* @author Dmitry Repchevsky
*/
public class Documentation {
private List<URI> docLinks;
private URI help;
private URI faq;
private URI general;
private URI build;
private URI manual;
private URI tutorial;
private URI api;
private URI termsOfUse;
private URI trainingMaterial;
private URI citationInstructions;
@JsonbProperty("doc_links")
public List<URI> getDocumentationLinks() {
if (docLinks == null) {
docLinks = new ArrayList<>();
}
return docLinks;
}
@JsonbProperty("doc_links")