/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.jbpm.simulation.util; import java.util.ArrayList; import org.eclipse.bpmn2.Bpmn2Factory; import org.eclipse.bpmn2.Definitions; import org.eclipse.bpmn2.DocumentRoot; import org.eclipse.bpmn2.util.OnlyContainmentTypeInfo; import org.eclipse.bpmn2.util.XmlExtendedMetadata; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl; import org.eclipse.emf.ecore.util.ExtendedMetaData; import org.eclipse.emf.ecore.xmi.XMLResource; import org.eclipse.emf.ecore.xmi.impl.ElementHandlerImpl; public class JBPMBpmn2ResourceFactoryImpl extends ResourceFactoryImpl { /** * Creates an instance of the resource factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public JBPMBpmn2ResourceFactoryImpl() { super(); } /** * Creates an instance of the resource. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ @Override public Resource createResource(URI uri) { JBPMBpmn2ResourceImpl result = new JBPMBpmn2ResourceImpl(uri); ExtendedMetaData extendedMetadata = new XmlExtendedMetadata(); result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetadata); result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetadata); result.getDefaultSaveOptions().put(XMLResource.OPTION_SAVE_TYPE_INFORMATION, new OnlyContainmentTypeInfo()); result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE); result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE); result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE); result.getDefaultSaveOptions().put(XMLResource.OPTION_ELEMENT_HANDLER, new ElementHandlerImpl(true)); result.getDefaultSaveOptions().put(XMLResource.OPTION_ENCODING, "UTF-8"); result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_CACHED_LOOKUP_TABLE, new ArrayList<Object>()); return result; } /* * * Creates a new BpmnResourceImpl and initializes it. * * The method creates a DocumentRoot and a Definitions element, as both are * mandatory. */ public Definitions createAndInitResource(URI uri) { Resource resource = createResource(uri); Bpmn2Factory factory = Bpmn2Factory.eINSTANCE; Definitions definitions = factory.createDefinitions(); DocumentRoot docummentRoot = factory.createDocumentRoot(); docummentRoot.setDefinitions(definitions); resource.getContents().add(docummentRoot); return definitions; } }