Created library dataminer-invocation-model
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/data-analysis/dataminer-invocation-model@174541 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
720daf4a4a
commit
87f8acabee
|
@ -0,0 +1,31 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry including="**/*.java" kind="src" output="target/dataminer-invocation-model-0.1.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="output" path="target/dataminer-invocation-model-0.1.0-SNAPSHOT/WEB-INF/classes"/>
|
||||||
|
</classpath>
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>dataminer-invocation-model</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -0,0 +1,5 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding//src/main/java=UTF-8
|
||||||
|
encoding//src/test/java=UTF-8
|
||||||
|
encoding//src/test/resources=UTF-8
|
||||||
|
encoding/<project>=UTF-8
|
|
@ -0,0 +1,5 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||||
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.7
|
|
@ -0,0 +1,4 @@
|
||||||
|
activeProfiles=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
resolveWorkspaceProjects=true
|
||||||
|
version=1
|
|
@ -0,0 +1,198 @@
|
||||||
|
<?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/maven-v4_0_0.xsd">
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<artifactId>maven-parent</artifactId>
|
||||||
|
<groupId>org.gcube.tools</groupId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<relativePath />
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>org.gcube.data.analysis</groupId>
|
||||||
|
<artifactId>dataminer-invocation-model</artifactId>
|
||||||
|
<version>0.1.0-SNAPSHOT</version>
|
||||||
|
<name>dataminer-invocation-model</name>
|
||||||
|
<description>This library manages the dataminer-invocation model that is the xml format interpretable by DataMiner to invoke an algorithm execution</description>
|
||||||
|
<scm>
|
||||||
|
<url>https://svn.d4science.research-infrastructures.eu/gcube/data/analysis/${project.artifactId}</url>
|
||||||
|
</scm>
|
||||||
|
|
||||||
|
<developers>
|
||||||
|
<developer>
|
||||||
|
<name>Francesco Mangiacrapa</name>
|
||||||
|
<email>francesco.mangiacrapa@isti.cnr.it</email>
|
||||||
|
<organization>CNR Pisa, Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo"</organization>
|
||||||
|
<roles>
|
||||||
|
<role>architect</role>
|
||||||
|
<role>developer</role>
|
||||||
|
</roles>
|
||||||
|
</developer>
|
||||||
|
</developers>
|
||||||
|
|
||||||
|
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.gcube.distribution</groupId>
|
||||||
|
<artifactId>maven-portal-bom</artifactId>
|
||||||
|
<version>LATEST</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>import</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<distroDirectory>${project.basedir}/distro</distroDirectory>
|
||||||
|
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
|
||||||
|
<distroDirectory>distro</distroDirectory>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
<!-- GWT needs at least java 1.6 -->
|
||||||
|
<maven.compiler.source>1.7</maven.compiler.source>
|
||||||
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.sun.xml.bind</groupId>
|
||||||
|
<artifactId>jaxb-core</artifactId>
|
||||||
|
<version>2.2.11</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.sun.xml.bind</groupId>
|
||||||
|
<artifactId>jaxb-impl</artifactId>
|
||||||
|
<version>2.2.11</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- LOGGER -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>log4j</groupId>
|
||||||
|
<artifactId>log4j</artifactId>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-log4j12</artifactId>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-api</artifactId>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- JUNIT -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>4.8.1</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<!-- Generate compiled stuff in the folder used for developing mode -->
|
||||||
|
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.*</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<source>${maven.compiler.source}</source>
|
||||||
|
<target>${maven.compiler.target}</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>2.2</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>test-jar</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<version>2.16</version>
|
||||||
|
<configuration>
|
||||||
|
<skipTests>true</skipTests>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-profile</id>
|
||||||
|
<phase>install</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>target</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>${distroDirectory}</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
<includes>
|
||||||
|
<include>profile.xml</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<version>2.2</version>
|
||||||
|
<configuration>
|
||||||
|
<descriptors>
|
||||||
|
<descriptor>${distroDirectory}/descriptor.xml</descriptor>
|
||||||
|
</descriptors>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>fully.qualified.MainClass</mainClass>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>servicearchive</id>
|
||||||
|
<phase>install</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
|
@ -0,0 +1,61 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.data.analysis.dminvocation;
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
import javax.xml.bind.JAXBContext;
|
||||||
|
import javax.xml.bind.JAXBException;
|
||||||
|
import javax.xml.bind.Marshaller;
|
||||||
|
import javax.xml.bind.Unmarshaller;
|
||||||
|
|
||||||
|
import org.gcube.data.analysis.dminvocation.model.DataMinerInvocation;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class DataMinerInvocationManager.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
* Dec 4, 2018
|
||||||
|
*/
|
||||||
|
public class DataMinerInvocationManager {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Marshaling.
|
||||||
|
*
|
||||||
|
* @param dmInvocation the dm invocation
|
||||||
|
* @return the byte array output stream
|
||||||
|
* @throws JAXBException the JAXB exception
|
||||||
|
*/
|
||||||
|
public static ByteArrayOutputStream marshaling(DataMinerInvocation dmInvocation) throws JAXBException
|
||||||
|
{
|
||||||
|
JAXBContext jaxbContext = JAXBContext.newInstance(DataMinerInvocation.class);
|
||||||
|
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
|
||||||
|
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
|
||||||
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
|
jaxbMarshaller.marshal(dmInvocation, baos);
|
||||||
|
return baos;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unmarshaling.
|
||||||
|
*
|
||||||
|
* @param dmInvocationXMLStream the dm invocation xml file
|
||||||
|
* @return the data miner invocation
|
||||||
|
* @throws JAXBException the JAXB exception
|
||||||
|
*/
|
||||||
|
public static DataMinerInvocation unmarshaling(InputStream dmInvocationXMLStream) throws JAXBException
|
||||||
|
{
|
||||||
|
//unMarshalingCategories();
|
||||||
|
JAXBContext jaxbContext = JAXBContext.newInstance(DataMinerInvocation.class);
|
||||||
|
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
|
||||||
|
|
||||||
|
//We had written this file in marshalling example
|
||||||
|
return (DataMinerInvocation) jaxbUnmarshaller.unmarshal(dmInvocationXMLStream);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,91 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.data.analysis.dminvocation.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class DataMinerInputParams.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
* Dec 4, 2018
|
||||||
|
*/
|
||||||
|
@XmlRootElement(name = "dataminer-inputparams")
|
||||||
|
@XmlAccessorType (XmlAccessType.FIELD)
|
||||||
|
public class DataMinerInputParams implements Serializable{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -7241629940190729604L;
|
||||||
|
|
||||||
|
@XmlElement(name = "param")
|
||||||
|
private List<DataMinerParam> listParam;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner input params.
|
||||||
|
*/
|
||||||
|
public DataMinerInputParams() {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner input params.
|
||||||
|
*
|
||||||
|
* @param listParam the list param
|
||||||
|
*/
|
||||||
|
public DataMinerInputParams(List<DataMinerParam> listParam) {
|
||||||
|
|
||||||
|
super();
|
||||||
|
this.listParam = listParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the list param.
|
||||||
|
*
|
||||||
|
* @return the listParam
|
||||||
|
*/
|
||||||
|
public List<DataMinerParam> getListParam() {
|
||||||
|
|
||||||
|
return listParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the list param.
|
||||||
|
*
|
||||||
|
* @param listParam the listParam to set
|
||||||
|
*/
|
||||||
|
public void setListParam(List<DataMinerParam> listParam) {
|
||||||
|
|
||||||
|
this.listParam = listParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#toString()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("DataMinerInputParams [listParam=");
|
||||||
|
builder.append(listParam);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,114 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.data.analysis.dminvocation.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class DataMinerInvocation.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
* Dec 4, 2018
|
||||||
|
*/
|
||||||
|
@XmlRootElement(name = "dataminer-invocation")
|
||||||
|
@XmlAccessorType (XmlAccessType.FIELD)
|
||||||
|
public class DataMinerInvocation implements Serializable{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -3642902539322040226L;
|
||||||
|
|
||||||
|
@XmlElement(name = "operator-id")
|
||||||
|
private String operatorId;
|
||||||
|
|
||||||
|
@XmlElement(name = "parameters")
|
||||||
|
private DataMinerParameters parameters;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner invocation.
|
||||||
|
*/
|
||||||
|
public DataMinerInvocation() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner invocation.
|
||||||
|
*
|
||||||
|
* @param operatorId the operator id
|
||||||
|
* @param parameters the parameters
|
||||||
|
*/
|
||||||
|
public DataMinerInvocation(
|
||||||
|
String operatorId, DataMinerParameters parameters) {
|
||||||
|
|
||||||
|
super();
|
||||||
|
this.operatorId = operatorId;
|
||||||
|
this.parameters = parameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the operator id.
|
||||||
|
*
|
||||||
|
* @return the operatorId
|
||||||
|
*/
|
||||||
|
public String getOperatorId() {
|
||||||
|
|
||||||
|
return operatorId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the parameters.
|
||||||
|
*
|
||||||
|
* @return the parameters
|
||||||
|
*/
|
||||||
|
public DataMinerParameters getParameters() {
|
||||||
|
|
||||||
|
return parameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the operator id.
|
||||||
|
*
|
||||||
|
* @param operatorId the operatorId to set
|
||||||
|
*/
|
||||||
|
public void setOperatorId(String operatorId) {
|
||||||
|
|
||||||
|
this.operatorId = operatorId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the parameters.
|
||||||
|
*
|
||||||
|
* @param parameters the parameters to set
|
||||||
|
*/
|
||||||
|
public void setParameters(DataMinerParameters parameters) {
|
||||||
|
|
||||||
|
this.parameters = parameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#toString()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("DataMinerInvocation [operatorId=");
|
||||||
|
builder.append(operatorId);
|
||||||
|
builder.append(", parameters=");
|
||||||
|
builder.append(parameters);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,87 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.data.analysis.dminvocation.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class DataMinerOutputParams.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
* Dec 4, 2018
|
||||||
|
*/
|
||||||
|
@XmlRootElement(name = "dataminer-outputparams")
|
||||||
|
@XmlAccessorType (XmlAccessType.FIELD)
|
||||||
|
public class DataMinerOutputParams implements Serializable{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -683773454747370184L;
|
||||||
|
|
||||||
|
@XmlElement(name = "param")
|
||||||
|
private List<DataMinerParam> params;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner output params.
|
||||||
|
*/
|
||||||
|
public DataMinerOutputParams() {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner output params.
|
||||||
|
*
|
||||||
|
* @param params the params
|
||||||
|
*/
|
||||||
|
public DataMinerOutputParams(List<DataMinerParam> params) {
|
||||||
|
|
||||||
|
super();
|
||||||
|
this.params = params;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the params.
|
||||||
|
*
|
||||||
|
* @return the params
|
||||||
|
*/
|
||||||
|
public List<DataMinerParam> getParams() {
|
||||||
|
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the params.
|
||||||
|
*
|
||||||
|
* @param params the params to set
|
||||||
|
*/
|
||||||
|
public void setParams(List<DataMinerParam> params) {
|
||||||
|
|
||||||
|
this.params = params;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#toString()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("DataMinerOutputParams [params=");
|
||||||
|
builder.append(params);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,111 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.data.analysis.dminvocation.model;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class DataMinerParam.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
* Dec 4, 2018
|
||||||
|
*/
|
||||||
|
@XmlRootElement(name = "param")
|
||||||
|
@XmlAccessorType (XmlAccessType.FIELD)
|
||||||
|
public class DataMinerParam {
|
||||||
|
|
||||||
|
private String key;
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner param.
|
||||||
|
*/
|
||||||
|
public DataMinerParam() {
|
||||||
|
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner param.
|
||||||
|
*
|
||||||
|
* @param key the key
|
||||||
|
* @param value the value
|
||||||
|
*/
|
||||||
|
public DataMinerParam(String key, String value) {
|
||||||
|
|
||||||
|
super();
|
||||||
|
this.key = key;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the key.
|
||||||
|
*
|
||||||
|
* @return the key
|
||||||
|
*/
|
||||||
|
public String getKey() {
|
||||||
|
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the value.
|
||||||
|
*
|
||||||
|
* @return the value
|
||||||
|
*/
|
||||||
|
public String getValue() {
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the key.
|
||||||
|
*
|
||||||
|
* @param key the key to set
|
||||||
|
*/
|
||||||
|
public void setKey(String key) {
|
||||||
|
|
||||||
|
this.key = key;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the value.
|
||||||
|
*
|
||||||
|
* @param value the value to set
|
||||||
|
*/
|
||||||
|
public void setValue(String value) {
|
||||||
|
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#toString()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("DataMinerParam [key=");
|
||||||
|
builder.append(key);
|
||||||
|
builder.append(", value=");
|
||||||
|
builder.append(value);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,114 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.data.analysis.dminvocation.model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Class DataMinerParameters.
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
|
* Dec 4, 2018
|
||||||
|
*/
|
||||||
|
@XmlRootElement(name = "dataminer-parameters")
|
||||||
|
@XmlAccessorType (XmlAccessType.FIELD)
|
||||||
|
public class DataMinerParameters implements Serializable{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 8298755690515099551L;
|
||||||
|
@XmlElement(name = "input")
|
||||||
|
private DataMinerInputParams input;
|
||||||
|
@XmlElement(name = "output")
|
||||||
|
private DataMinerOutputParams output;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner params model.
|
||||||
|
*/
|
||||||
|
public DataMinerParameters() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new data miner params model.
|
||||||
|
*
|
||||||
|
* @param input the input
|
||||||
|
* @param output the output
|
||||||
|
*/
|
||||||
|
public DataMinerParameters(
|
||||||
|
DataMinerInputParams input, DataMinerOutputParams output) {
|
||||||
|
|
||||||
|
super();
|
||||||
|
this.input = input;
|
||||||
|
this.output = output;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the input.
|
||||||
|
*
|
||||||
|
* @return the input
|
||||||
|
*/
|
||||||
|
public DataMinerInputParams getInput() {
|
||||||
|
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the output.
|
||||||
|
*
|
||||||
|
* @return the output
|
||||||
|
*/
|
||||||
|
public DataMinerOutputParams getOutput() {
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the input.
|
||||||
|
*
|
||||||
|
* @param input the input to set
|
||||||
|
*/
|
||||||
|
public void setInput(DataMinerInputParams input) {
|
||||||
|
|
||||||
|
this.input = input;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the output.
|
||||||
|
*
|
||||||
|
* @param output the output to set
|
||||||
|
*/
|
||||||
|
public void setOutput(DataMinerOutputParams output) {
|
||||||
|
|
||||||
|
this.output = output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#toString()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("DataMinerParameters [input=");
|
||||||
|
builder.append(input);
|
||||||
|
builder.append(", output=");
|
||||||
|
builder.append(output);
|
||||||
|
builder.append("]");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,76 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.xml.bind.JAXBException;
|
||||||
|
|
||||||
|
import org.gcube.data.analysis.dminvocation.DataMinerInvocationManager;
|
||||||
|
import org.gcube.data.analysis.dminvocation.model.DataMinerInputParams;
|
||||||
|
import org.gcube.data.analysis.dminvocation.model.DataMinerInvocation;
|
||||||
|
import org.gcube.data.analysis.dminvocation.model.DataMinerOutputParams;
|
||||||
|
import org.gcube.data.analysis.dminvocation.model.DataMinerParam;
|
||||||
|
import org.gcube.data.analysis.dminvocation.model.DataMinerParameters;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||||
|
* Dec 4, 2018
|
||||||
|
*/
|
||||||
|
public class DataMinerInvocationTest {
|
||||||
|
|
||||||
|
static String operatorID = "THE_OPERATOR_ID";
|
||||||
|
|
||||||
|
static Map<String,String> parameters = new HashMap<String,String>();
|
||||||
|
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void init(){
|
||||||
|
parameters.put("key1", "value1");
|
||||||
|
parameters.put("key2", "value2");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void marshallingTest() throws JAXBException {
|
||||||
|
|
||||||
|
//LOADING PARAMETERS
|
||||||
|
List<DataMinerParam> inParams = new ArrayList<DataMinerParam>();
|
||||||
|
for (String pm : parameters.keySet()) {
|
||||||
|
inParams.add(new DataMinerParam(pm, parameters.get(pm)));
|
||||||
|
}
|
||||||
|
|
||||||
|
DataMinerInputParams inputParams = new DataMinerInputParams(inParams);
|
||||||
|
DataMinerOutputParams outputParams = new DataMinerOutputParams(null);
|
||||||
|
DataMinerParameters params = new DataMinerParameters(inputParams, outputParams);
|
||||||
|
|
||||||
|
DataMinerInvocation dmInvocation = new DataMinerInvocation();
|
||||||
|
dmInvocation.setOperatorId(operatorID);
|
||||||
|
dmInvocation.setParameters(params);
|
||||||
|
System.out.println(dmInvocation);
|
||||||
|
|
||||||
|
ByteArrayOutputStream outStream = DataMinerInvocationManager.marshaling(dmInvocation);
|
||||||
|
|
||||||
|
System.out.println(new String(outStream.toByteArray()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void unmarshallingTest() throws JAXBException, FileNotFoundException{
|
||||||
|
FileInputStream dmInvocationXMLFile = new FileInputStream(new File("./src/test/resources/DataMinerInvocation.xml"));
|
||||||
|
DataMinerInvocation dmInvocation = DataMinerInvocationManager.unmarshaling(dmInvocationXMLFile);
|
||||||
|
System.out.println(dmInvocation);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<dataminer-invocation>
|
||||||
|
<operator-id>THE_OPERATOR_ID</operator-id>
|
||||||
|
<parameters>
|
||||||
|
<input>
|
||||||
|
<param>
|
||||||
|
<key>key1</key>
|
||||||
|
<value>value1</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>key2</key>
|
||||||
|
<value>value2</value>
|
||||||
|
</param>
|
||||||
|
</input>
|
||||||
|
<output/>
|
||||||
|
</parameters>
|
||||||
|
</dataminer-invocation>
|
Loading…
Reference in New Issue