<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?><!--  Copyright (c) 2000-2005 MetaMatrix, Inc.  All rights reserved. --><plugin id="com.metamatrix.metamodels.relational" name="%pluginName" version="5.0.1"
        provider-name="%providerName"
        class="com.metamatrix.metamodels.relational.RelationalPlugin">

   <runtime>
      <library name="metamodelsRelational_PATCH.jar">
         <export name="*"/>
      </library>
      <library name="metamodelsRelational.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.emf.ecore"/>
      <import plugin="org.eclipse.emf.edit"/>
      <import plugin="org.eclipse.emf.ecore.edit"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.aspectj.runtime"/>
      <import plugin="com.metamatrix.core"/>
      <import plugin="com.metamatrix.modeler.core"/>
      <import plugin="com.metamatrix.metamodels.core" export="true"/>
      <import plugin="com.metamatrix.core.aspectj"/>
   </requires>


   <extension point="org.eclipse.emf.ecore.generated_package">
      <package uri="http://www.metamatrix.com/metamodels/Relational"
               class="com.metamatrix.metamodels.relational.RelationalPackage">
      </package>
   </extension>
   <!--
   	Each extension below represents a single metamodel.  Each metmodel is
   	registered using under the specified <uri> value.  The <internalUri>
   	value defines the physical URI used when determining the necessary
   	resource factory used to create a resource of this type.  The <resource>
    value defines the location of the ecore XMI file within the archive.
   -->
   <extension id="relational" name="%metamodelName"
              point="com.metamatrix.modeler.core.metamodel">
      <namespacePrefix>
         Relational
      </namespacePrefix>
      <uri>
         http://www.metamatrix.com/metamodels/Relational
      </uri>
      <internalUri>
         mtkplugin:///com.metamatrix.metamodels.Relational
      </internalUri>
      <rootEntityClass name="com.metamatrix.metamodels.relational.Catalog">
      </rootEntityClass>
      <rootEntityClass name="com.metamatrix.metamodels.relational.Schema">
      </rootEntityClass>
      <rootEntityClass name="com.metamatrix.metamodels.relational.BaseTable">
      </rootEntityClass>
      <rootEntityClass name="com.metamatrix.metamodels.relational.View">
      </rootEntityClass>
      <rootEntityClass name="com.metamatrix.metamodels.relational.Index">
      </rootEntityClass>
      <rootEntityClass name="com.metamatrix.metamodels.relational.Procedure">
      </rootEntityClass>
      <rootEntityClass name="com.metamatrix.metamodels.relational.LogicalRelationship">
      </rootEntityClass>
      <properties createAsPhysical="true" requiresProxies="false" participatoryOnly="false"
                  createAsVirtual="true"
                  supportsDiagrams="true"
                  supportsExtension="true">
      </properties>
      <allowableModelType>
      	PHYSICAL
      </allowableModelType>
      <allowableModelType>
      	VIRTUAL
      </allowableModelType>
      <factoryClass name="com.metamatrix.metamodels.relational.impl.RelationalFactoryImpl">
      </factoryClass>
      <packageClass name="com.metamatrix.metamodels.relational.impl.RelationalPackageImpl">
      </packageClass>
      <adapterClass name="com.metamatrix.metamodels.relational.provider.RelationalItemProviderAdapterFactory">
      </adapterClass>
   </extension>
   <!-- MetamodelAspect extensions -->
   <extension id="relationalUmlAspect" point="com.metamatrix.modeler.core.umlDiagramAspect">
      <metamodelExtensionID>
         relational
      </metamodelExtensionID>
      <factoryClass name="com.metamatrix.metamodels.relational.aspects.uml.RelationalUmlAspectFactoryImpl">
      </factoryClass>
   </extension>
   <extension id="relationalValidationAspect"
              point="com.metamatrix.modeler.core.validationAspect">
      <metamodelExtensionID>
         relational
      </metamodelExtensionID>
      <factoryClass name="com.metamatrix.metamodels.relational.aspects.validation.RelationalValidationAspectFactoryImpl">
      </factoryClass>
   </extension>
   <extension id="relationalSqlAspect" point="com.metamatrix.modeler.core.sqlAspect">
      <metamodelExtensionID>
         relational
      </metamodelExtensionID>
      <factoryClass name="com.metamatrix.metamodels.relational.aspects.sql.RelationalSqlAspectFactoryImpl">
      </factoryClass>
   </extension>
   <!-- EObject Matcher extensions -->
   <extension id="relationalMatcherFactory"
              point="com.metamatrix.modeler.core.eobjectMatcherFactory">
      <class name="com.metamatrix.metamodels.relational.compare.RelationalMatcherFactory">
      </class>
   </extension>
   <!-- Assocation extensions -->
   <extension id="foreignKeyAssociationProvider"
              point="com.metamatrix.modeler.core.associationProvider">
      <providerClass name="com.metamatrix.metamodels.relational.provider.ForeignKeyAssociationProvider">
      </providerClass>
   </extension>
   <!-- This extension defines the Relational Modeling Preferences -->
   <extension id="relationalPreferences" point="com.metamatrix.modeler.core.modelValidation">
      <preference toolTip="Column length missing for string type attrutes ?"
                  name="missingColumnLength"
                  label="%missingColumnLength"
                  default="warning"
                  category="Relational">
      </preference>
      <preference toolTip="Column precision missing for numeric type attrutes ?"
                  name="missingColumnPrecision"
                  label="%missingColumnPrecision"
                  default="warning"
                  category="Relational">
      </preference>      
      <preference toolTip="Columns of the type integer ?" name="integerDatatype"
                  label="%integerDatatype"
                  default="warning"
                  category="Relational">
      </preference>
      <preference toolTip="Sibling nameInSource values the same ?" name="siblingNameInSource"
                  label="%siblingNameInSource"
                  default="ignore"
                  category="Relational">
      </preference>
      <preference toolTip="Indexes with columns from more than one table.  Many relational database management systems don't allow such indexes."
                  name="crossTableIndexes"
                  label="%crossTableIndexes"
                  default="warning"
                  category="Relational">
      </preference>
   </extension>

</plugin>