/******************************************************************************* * Copyright (c) 2008 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.smooks.test.model11; import java.io.IOException; import java.io.InputStream; import java.util.Collections; import java.util.HashMap; import org.eclipse.emf.common.command.BasicCommandStack; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; import org.eclipse.emf.edit.provider.ComposedAdapterFactory; import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; import org.jboss.tools.smooks.model.common.provider.CommonItemProviderAdapterFactory; import org.jboss.tools.smooks.model.freemarker.provider.FreemarkerItemProviderAdapterFactory; import org.jboss.tools.smooks.model.medi.DocumentRoot; import org.jboss.tools.smooks.model.medi.MappingNode; import org.jboss.tools.smooks.model.medi.provider.MEdiItemProviderAdapterFactory; import org.jboss.tools.smooks.model.smooks.SmooksResourceListType; import org.jboss.tools.smooks.model.smooks.provider.SmooksItemProviderAdapterFactory; import org.jboss.tools.smooks.model.smooks.util.SmooksResourceFactoryImpl; /** * * @author Dart (dpeng@redhat.com) * */ public abstract class AbstractSmooks11ModelTestCase extends BaseTestCase { protected ComposedAdapterFactory adapterFactory; protected AdapterFactoryEditingDomain editingDomain; protected EObject smooksModel; public void testModel() { // do nothing } @Override protected void setUp() throws Exception { super.setUp(); // init emf editingdomain adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE); adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); adapterFactory.addAdapterFactory(new FreemarkerItemProviderAdapterFactory()); adapterFactory.addAdapterFactory(new CommonItemProviderAdapterFactory()); adapterFactory.addAdapterFactory(new SmooksItemProviderAdapterFactory()); adapterFactory.addAdapterFactory(new MEdiItemProviderAdapterFactory()); adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); BasicCommandStack commandStack = new BasicCommandStack(); editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>()); loadConfigFile(); } protected void loadConfigFile() throws IOException { Resource smooksResource = new SmooksResourceFactoryImpl().createResource(null); smooksResource.load(getConfigFileContents(), Collections.emptyMap()); smooksModel = smooksResource.getContents().get(0); editingDomain.getResourceSet().getResources().add(smooksResource); } protected InputStream getConfigFileContents() { return this.getClass().getClassLoader().getResourceAsStream(getFilePath()); } abstract protected String getFilePath(); @Override protected void tearDown() throws Exception { super.tearDown(); } public ComposedAdapterFactory getAdapterFactory() { return adapterFactory; } public void setAdapterFactory(ComposedAdapterFactory adapterFactory) { this.adapterFactory = adapterFactory; } public AdapterFactoryEditingDomain getEditingDomain() { return editingDomain; } public void setEditingDomain(AdapterFactoryEditingDomain editingDomain) { this.editingDomain = editingDomain; } public EObject getSmooksModel() { return smooksModel; } public void setSmooksModel(EObject smooksModel) { this.smooksModel = smooksModel; } public MappingNode getMappingNode10(){ EObject root = this.getSmooksModel(); if (root instanceof DocumentRoot) { DocumentRoot documentRoot = (DocumentRoot) root; MappingNode mapping = (MappingNode) documentRoot.eContents().get(0); return mapping; } return null; } public SmooksResourceListType getSmooksResourceList11() { EObject root = this.getSmooksModel(); if (root instanceof org.jboss.tools.smooks.model.smooks.DocumentRoot) { org.jboss.tools.smooks.model.smooks.DocumentRoot documentRoot = (org.jboss.tools.smooks.model.smooks.DocumentRoot) root; SmooksResourceListType resourceConfig = (SmooksResourceListType) documentRoot.eContents().get(0); return resourceConfig; } return null; } // public org.jboss.tools.smooks10.model.smooks.SmooksResourceListType getSmooksResourceList10() { // EObject root = this.getSmooksModel(); // if (root instanceof org.jboss.tools.smooks10.model.smooks.DocumentRoot) { // org.jboss.tools.smooks10.model.smooks.DocumentRoot documentRoot = (org.jboss.tools.smooks10.model.smooks.DocumentRoot) root; // org.jboss.tools.smooks10.model.smooks.SmooksResourceListType resourceConfig = (org.jboss.tools.smooks10.model.smooks.SmooksResourceListType) documentRoot.eContents().get(0); // return resourceConfig; // } // return null; // } }