blob: d8daabe029e658121edec8f4e97a79526fa3a25b [file] [log] [blame]
/***********************************************************************************************************************
* Copyright (c) 2010 Attensity Europe GmbH.
* All rights reserved.
* This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
**********************************************************************************************************************/
package org.eclipse.smila.processing.designer.model.processor.test;
import javax.xml.namespace.QName;
import javax.xml.parsers.*;
import junit.framework.TestCase;
import org.eclipse.smila.processing.designer.model.processor.InvokeService;
import org.eclipse.smila.processing.designer.model.processor.impl.ProcessorFactoryImpl;
import org.eclipse.smila.processing.designer.model.processor.util.InvokeServiceDeserializer;
import org.eclipse.smila.processing.designer.model.processor.util.InvokeServiceSerializer;
import org.eclipse.smila.processing.designer.model.record.*;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
/**
* Tests the serialization/deserialization of {@link InvokeService}.
*
* Copyright (c) 2010 Attensity Europe GmbH
*
* @author Lars Kunze
*/
public class TestInvokeServiceSerializeAndDeserialize extends TestCase
{
private static DocumentBuilder documentBuilder;
private static Document document;
static
{
try
{
documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
document = documentBuilder.newDocument();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void testSerialization() throws ParserConfigurationException
{
// (1) Prepare InvokeService object to serialize
InvokeService invokeService1 = ProcessorFactoryImpl.eINSTANCE.createInvokeService();
invokeService1.getService().setName("service.name");
invokeService1.getVariables().setInput("var.input");
invokeService1.getVariables().setOutput("var.output");
Annotation annotation = RecordFactory.eINSTANCE.createAnnotation();
annotation.setName("annotation.name");
AnnotationValue annotationValue = RecordFactory.eINSTANCE.createAnnotationValue();
annotationValue.setName("name.value.1");
annotationValue.setValue("value.value.1");
annotation.getAnnotationValues().add(annotationValue);
invokeService1.getSetAnnotations().getAnnotations().add(annotation);
// (2) SERIALIZE
Node parentNode = document.createElement("extensionActivity");
QName elementType = new QName("http://eclipse.org/smila/processor", "invokeService", "proc");
InvokeServiceSerializer invokeServiceSerializer = new InvokeServiceSerializer();
invokeServiceSerializer.marshall(elementType, invokeService1, parentNode, null, null);
// (3) DESERIALIZE
InvokeServiceDeserializer invokeServiceDeserializer = new InvokeServiceDeserializer();
InvokeService invokeService2 =
(InvokeService) invokeServiceDeserializer.unmarshall(elementType, parentNode.getFirstChild(), null, null, null,
null, null, null);
// (4) Compare
assertEquals(invokeService1, invokeService2);
}
}