# /**
#  * Copyright (c) 2010 Kenn Hussey and others.
#  * All rights reserved.   This program and the accompanying materials
#  * are made available under the terms of the Eclipse Public License v2.0
#  * which accompanies this distribution, and is available at
#  * http://www.eclipse.org/legal/epl-v20.html
#  * 
#  * Contributors: 
#  *   Kenn Hussey - Initial API and implementation
#  */ ====================================================================

# NLS_MESSAGEFORMAT_VAR

pluginName = EMF ODA Ecore
providerName = Eclipse Modeling Project

data.source.id=org.eclipse.emf.oda.ecore.dataSource
data.source.name=EMF Ecore Data Source

data.set.name=EMF Ecore Data Set
data.set.id=org.eclipse.emf.oda.ecore.dataSet

data.source.property.name.resource=Resource

data.set.property.name.delegate=Query Delegate
data.set.property.name.context=Context Type
data.set.property.name.variables=Expression Variables
data.set.property.name.type=Result Type

connection.profile.name=EMF Ecore Data Source Connection Profile
