/** * <copyright> * * Copyright (c) 2009, 2010 Springsite BV (The Netherlands) and others * 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 * * Contributors: * Martin Taal - Initial API and implementation * * </copyright> * * $Id: SingleXMLServiceTest.java,v 1.4 2011/08/28 12:36:33 mtaal Exp $ */ package org.eclipse.emf.texo.server.test; import java.io.StringReader; import java.util.List; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.texo.server.service.RetrieveModelOperation; import org.eclipse.emf.texo.server.service.xml.XMLServiceContext; import org.eclipse.emf.texo.test.model.samples.librarymodelclasses.model.LibraryModelPackage; import org.eclipse.emf.texo.xml.ModelXMLLoader; import org.junit.Assert; import org.junit.Test; /** * Single test for a service. * * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> * @version $Revision: 1.4 $ */ public class SingleXMLServiceTest extends ModelPackageBaseTest { public SingleXMLServiceTest() { super(LibraryModelPackage.INSTANCE); } @Test public void testPersist() { final List<Object> testSet = generateTestSet(10, 10, 10, 1000); { beginTransaction(); for (Object o : testSet) { getObjectStore().insert(o); } commitTransaction(); } // now use a retrieval operation to get some data { final XMLServiceContext serviceContext = new XMLServiceContext(); for (EClass eClass : getEClasses()) { serviceContext.setRequestURI("http://www.test.com/XMLService/" + eClass.getName()); //$NON-NLS-1$ serviceContext.setServiceRequestURI(eClass.getName()); serviceContext.setObjectStore(getNewObjectStore()); final RetrieveModelOperation retrieveModelOperation = new RetrieveModelOperation(); retrieveModelOperation.setServiceContext(serviceContext); retrieveModelOperation.execute(); final String result = serviceContext.getResponseContent(); retrieveModelOperation.close(); System.err.println(result); final List<EObject> objects = loadXMLData(result); Assert.assertTrue(objects.size() > 0); } } } private List<EObject> loadXMLData(String xml) { final ModelXMLLoader xmlLoader = new ModelXMLLoader(); xmlLoader.setLoadAsXMI(false); xmlLoader.setReader(new StringReader(xml)); xmlLoader.getEMFModelConverter().setUriResolver(getObjectStore()); xmlLoader.read(); return xmlLoader.getEMFModelConverter().getAllConvertedEObjects(); } }