/** * */ 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.MediaType; 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 parameters = new HashMap(); @Before public void init(){ parameters.put("key1", "value1"); parameters.put("key2", "value2"); } @Test public void marshallingTest() throws JAXBException { //LOADING PARAMETERS List inParams = new ArrayList(); 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 outStreamJSON = DataMinerInvocationManager.marshaling(dmInvocation, MediaType.ApplicationJSON); System.out.println(new String(outStreamJSON.toByteArray())); ByteArrayOutputStream outStreamXML = DataMinerInvocationManager.marshaling(dmInvocation, MediaType.ApplicationXML); System.out.println(new String(outStreamXML.toByteArray())); } @Test public void unmarshallingXMLTest() throws JAXBException, FileNotFoundException{ FileInputStream dmInvocationXMLFile = new FileInputStream(new File("./src/test/resources/DataMinerInvocation.xml")); DataMinerInvocation dmInvocation = DataMinerInvocationManager.unmarshaling(dmInvocationXMLFile, MediaType.ApplicationXML); System.out.println(dmInvocation); } }