/***********************************************************************
 * Copyright (c) 2004 Actuate Corporation.
 * 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:
 * Actuate Corporation - initial API and implementation
 ***********************************************************************/

package org.eclipse.birt.chart.model.util;

import org.eclipse.birt.chart.model.ModelPackage;
import org.eclipse.birt.chart.model.attribute.AttributePackage;
import org.eclipse.birt.chart.model.component.ComponentPackage;
import org.eclipse.birt.chart.model.data.DataPackage;
import org.eclipse.birt.chart.model.layout.LayoutPackage;
import org.eclipse.birt.chart.model.type.TypePackage;
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;

/**
 * <!-- begin-user-doc --> The <b>Resource Factory </b> associated with the
 * package. <!-- end-user-doc -->
 * @see org.eclipse.birt.chart.model.util.ModelResourceImpl
 * @generated
 */
public class ModelResourceFactoryImpl extends ResourceFactoryImpl
{

	/**
	 * Creates an instance of the resource factory. <!-- begin-user-doc --> <!--
	 * end-user-doc -->
	 */
	public ModelResourceFactoryImpl( )
	{
		super( );
		ExtendedMetaData extendedMetaData = ExtendedMetaData.INSTANCE;
		extendedMetaData.putPackage( "http://www.birt.eclipse.org/ChartModel", //$NON-NLS-1$
				ModelPackage.eINSTANCE );
		extendedMetaData.putPackage( "http://www.birt.eclipse.org/ChartModelAttribute", //$NON-NLS-1$
				AttributePackage.eINSTANCE );
		extendedMetaData.putPackage( "http://www.birt.eclipse.org/ChartModelComponent", //$NON-NLS-1$
				ComponentPackage.eINSTANCE );
		extendedMetaData.putPackage( "http://www.birt.eclipse.org/ChartModelData", //$NON-NLS-1$
				DataPackage.eINSTANCE );
		extendedMetaData.putPackage( "http://www.birt.eclipse.org/ChartModelLayout", //$NON-NLS-1$
				LayoutPackage.eINSTANCE );
		extendedMetaData.putPackage( "http://www.birt.eclipse.org/ChartModelType", //$NON-NLS-1$
				TypePackage.eINSTANCE );
	}

	/**
	 * Creates an instance of the resource.
	 * <!-- begin-user-doc --> <!--
	 * end-user-doc -->
	 * @generated
	 */
	public Resource createResource( URI uri )
	{
		XMLResource result = new ModelResourceImpl( uri );
		result.getDefaultSaveOptions( )
				.put( XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE );
		result.getDefaultLoadOptions( )
				.put( XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE );

		result.getDefaultSaveOptions( )
				.put( XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE );

		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 );
		return result;
	}

} //ModelResourceFactoryImpl

@@ -1319,30 +1319,16 @@
 rceImpl%0A
- * @generated%0A
  */%0Apubl
@@ -1395,168 +1395,18 @@
 l%0A%7B%0A
-%0A%09/**%0A%09 * Creates an instance of the resource factory. %3C!-- begin-user-doc --%3E %3C!--%0A%09 * end-user-doc --%3E%0A%09 */%0A%09public ModelResourceFactoryImpl( )%0A%09%7B%0A%09%09super( );
+%09static%0A%09%7B
 %0A%09%09E
@@ -1502,63 +1502,29 @@
 ge( 
-%22http://www.birt.eclipse.org/ChartModel%22, //$NON-NLS-1$
+ModelPackage.eNS_URI,
 %0A%09%09%09
@@ -1585,72 +1585,33 @@
 ge( 
-%22http://www.birt.eclipse.org/ChartModelAttribute%22, //$NON-NLS-1$
+AttributePackage.eNS_URI,
 %0A%09%09%09
@@ -1676,72 +1676,33 @@
 ge( 
-%22http://www.birt.eclipse.org/ChartModelComponent%22, //$NON-NLS-1$
+ComponentPackage.eNS_URI,
 %0A%09%09%09
@@ -1767,394 +1767,429 @@
 ge( 
-%22http://www.birt.eclipse.org/ChartModelData%22, //$NON-NLS-1$%0A%09%09%09%09DataPackage.eINSTANCE );%0A%09%09extendedMetaData.putPackage( %22http://www.birt.eclipse.org/ChartModelLayout%22, //$NON-NLS-1$%0A%09%09%09%09LayoutPackage.eINSTANCE );%0A%09%09extendedMetaData.putPackage( %22http://www.birt.eclipse.org/ChartModelType%22, //$NON-NLS-1$%0A%09%09%09%09TypePackage.eINSTANCE );%0A%09%7D%0A%0A%09/**%0A%09 * Creates an instance of the resource.%0A%09 *
+DataPackage.eNS_URI, DataPackage.eINSTANCE );%0A%09%09extendedMetaData.putPackage( LayoutPackage.eNS_URI,%0A%09%09%09%09LayoutPackage.eINSTANCE );%0A%09%09extendedMetaData.putPackage( TypePackage.eNS_URI, TypePackage.eINSTANCE );%0A%09%7D%0A%0A%09/**%0A%09 * Creates an instance of the resource factory. %3C!-- begin-user-doc --%3E %3C!--%0A%09 * end-user-doc --%3E%0A%09 */%0A%09public ModelResourceFactoryImpl( )%0A%09%7B%0A%09%09super( );%0A%09%7D%0A%0A%09/**%0A%09 * Creates an instance of the resource.
  %3C!-
@@ -2235,16 +2235,21 @@
 doc --%3E%0A
+%09 * %0A
 %09 * @gen

Fix #7604 (Multithreads issue: average CPU usage was only 80% when running attached chart report) on behalf of Yi Wang.