<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>

<!--
 Copyright (c) 2012, 2018 CEA 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:
   Christian W. Damus (CEA) - initial API and implementation
   Christian W. Damus (CEA) - 401804
   Kenn Hussey (CEA) - 418466
   Kenn Hussey - 535301
-->

<plugin>
   <extension
         point="org.eclipse.emf.validation.constraintProviders">
      <category
            id="org.eclipse.uml2.uml.tests"
            name="UML Test Constraints">
      </category>
      <constraintProvider
            cache="true"
            class="org.eclipse.uml2.uml.validation.DelegatingConstraintProvider"
            mode="Batch">
         <package
               namespaceUri="http://www.eclipse.org/uml2/5.0.0/UML">
         </package>
         <category path="org.eclipse.uml2.uml.tests"/>
      </constraintProvider>
   </extension>
   <extension
         point="org.eclipse.emf.validation.constraintBindings">
      <clientContext
            id="org.eclipse.uml2.uml.tests.clientContext">
         <selector
               class="org.eclipse.uml2.uml.validation.tests.TestClientContextSelector">
         </selector>
      </clientContext>
      <binding
            context="org.eclipse.uml2.uml.tests.clientContext"
            category="org.eclipse.uml2.uml.tests">
      </binding>
   </extension>
   
   <extension
         point="org.eclipse.emf.ecore.uri_mapping">
      <mapping
            source="pathmap://UML_TEST_MODELS/"
            target="platform:/plugin/org.eclipse.uml2.uml.tests/models/">
      </mapping>
   </extension>
   
   <extension
         point="org.eclipse.emf.ecore.uri_mapping">
      <mapping
            source="pathmap://UML_TEST_PROFILES/"
            target="platform:/plugin/org.eclipse.uml2.uml.tests/profiles/">
      </mapping>
   </extension>
   
   <extension
         point="org.eclipse.uml2.uml.dynamic_package">
      <profile
            uri="http://www.eclipse.org/uml2/schemas/tests/profiles/bugs/401804"
            location="pathmap://UML_TEST_PROFILES/Bug401804.profile.uml#_V2BR0HerEeOXG-Ysr10KOA">
      </profile>
   </extension>

</plugin>
