<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!-- Copyright (c) 2005, 2010  IBM Corporation and others.                       -->
<!-- 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:                                                         -->
<!--    IBM Corporation - initial API and implementation                   -->
<plugin>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <package 
         uri = "http:///org.eclipse.gmf.tests.runtime.emf.type.core/Employee.ecore" 
         class = "org.eclipse.gmf.tests.runtime.emf.type.core.employee.EmployeePackage" />
   </extension>
  
  

   <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
   
      <!-- client context that is bound to a set of element types and advice -->
      <clientContext id="org.eclipse.gmf.tests.runtime.emf.type.core.ClientContext1">
         <enablement>
            <test
               property="org.eclipse.gmf.runtime.emf.core.editingDomain"
               value="org.eclipse.gmf.tests.runtime.emf.type.core.EditingDomain"/>
            <test
               property="org.eclipse.gmf.tests.runtime.emf.type.core.resourceURI"
               value="null://org.eclipse.gmf.tests.runtime.emf.type.core.context"/>
         </enablement>
      </clientContext> 
      
      <binding 
            context="org.eclipse.gmf.tests.runtime.emf.type.core.ClientContext1">
         <elementType pattern="org.eclipse.gmf.tests.runtime.emf.type.core.context.*"/>
         <advice pattern="org.eclipse.gmf.tests.runtime.emf.type.core.context.*"/>
         <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
      </binding>
      
      <!-- another client context that is bound to a set of element types and advice -->
      <clientContext id="org.eclipse.gmf.tests.runtime.emf.type.core.ClientContext2">
         <enablement>
            <test
               property="org.eclipse.gmf.runtime.emf.core.editingDomain"
               value="org.eclipse.gmf.tests.runtime.emf.type.core.EditingDomain"/>
            <test
               property="org.eclipse.gmf.tests.runtime.emf.type.core.resourceURI"
               value="null://org.eclipse.gmf.tests.runtime.emf.type.core.context"/>
         </enablement>
      </clientContext> 
      
      <binding 
            context="org.eclipse.gmf.tests.runtime.emf.type.core.ClientContext2">
         <elementType pattern="org.eclipse.gmf.tests.runtime.emf.type.core.context.*"/>
         <advice pattern="org.eclipse.gmf.tests.runtime.emf.type.core.context.*"/>
         <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
      </binding> 
      
      <!-- client context that is not bound to any element types or advice -->
      <clientContext id="org.eclipse.gmf.tests.runtime.emf.type.core.UnboundClientContext">
         <matcher
            class="org.eclipse.gmf.runtime.emf.type.core.NullElementMatcher">
         </matcher>
      </clientContext> 
   </extension>

   <!-- Types and advice contributed in this extension are NOT bound to a client context -->
   <extension
         point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
  
         <!-- Test custom element type factory -->
         <elementTypeFactory
               factory="org.eclipse.gmf.tests.runtime.emf.type.core.internal.SecurityClearedElementTypeFactory"
               kind = "org.eclipse.gmf.tests.runtime.emf.type.core.internal.ISecurityCleared"
               params = "securityClearance">
         </elementTypeFactory>
         
         <!-- Test metamodel -->
         <metamodel
                nsURI="http:///org.eclipse.gmf.tests.runtime.emf.type.core/Employee.ecore">
                
           <!-- Test metamodel types -->
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.department"     
                   name="Department"
                   eclass="Department"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.DepartmentEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.employee"     
                   name="Employee"
                   eclass="Employee"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.EmployeeEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.student"     
                   name="Student"
                   eclass="Student"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.StudentEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.highSchoolStudent"     
                   name="High School Student"
                   eclass="HighSchoolStudent"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.office"     
                   name="Office"
                   eclass="Office"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.OfficeEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.customer"     
                   name="Customer"
                   eclass="Customer"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.CustomerEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.client"     
                   name="Client"
                   eclass="Client"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ClientEditHelper"> 
           </metamodelType>

           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.secretDepartment"
                   name="Secret Department"
                   kind="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ISecurityCleared"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.department"/>
               <matcher class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.SecretDepartmentMatcher"/>
           </specializationType>
           
           <!-- Test specialization type with eContainer and matcher -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.manager"
                   name="Manager"
                   edithelperadvice="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ManagerEditHelperAdvice"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.employee"/>
               <eContainer>
                  <eContainmentFeature qname="Department.manager"/>
               </eContainer>
               <matcher class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ManagerMatcher"/>
           </specializationType>
           
           <!-- Test specialization type with enablement -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.executive"
                   name="Executive"
                   edithelperadvice="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ExecutiveEditHelperAdvice"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.manager"/>
               <enablement>
                  <test property="org.eclipse.gmf.tests.runtime.emf.type.core.officeHasDoor" value="true"/>
               </enablement>
           </specializationType>
           
           <!-- Test custom specialization type -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.topSecret"
                   name="TopSecret"
               	   kind="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ISecurityCleared">
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.employee"/>
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.manager"/>
               <param name="securityClearance" value = "topSecret"/>
           </specializationType>

           <!-- Test advice binding with eContainer -->
           <adviceBinding
                id="org.eclipse.gmf.tests.runtime.emf.type.core.financeEmployee"
                typeId="org.eclipse.gmf.tests.runtime.emf.type.core.employee"
                class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.FinanceEditHelperAdvice"
                inheritance="all"> 
                <eContainer>
                   <enablement>
                      <test property="org.eclipse.gmf.tests.runtime.emf.type.core.departmentName" value="Finance"/>
                   </enablement>
                </eContainer>
           </adviceBinding> 
           <adviceBinding
                id="org.eclipse.gmf.tests.runtime.emf.type.core.notInheritedEmployeeAdvice"
                typeId="org.eclipse.gmf.tests.runtime.emf.type.core.employee"
                class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.NotInheritedEditHelperAdvice"> 
           </adviceBinding>    
           
           <!-- Test duplicate metamodel type ID -->
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.employee" 
                   name="DuplicateEmployee"
                   eclass="Employee"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.EmployeeEditHelper"> 
           </metamodelType>
           
           <!-- Test specializing more than one metamodel type -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.multipleMetamodelTypes"
                   name="MultipleMetamodelTypes"
                   edithelperadvice="org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.student"/>
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.department"/>
           </specializationType>
           
           <!-- Test specializing non-existent type -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.SpecializesNoSuchType"
                   name="NoSuchType"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.noSuchType"/>
           </specializationType>
           
           <!-- Advice for dependents of Clients -->
           <adviceBinding
                id="org.eclipse.gmf.tests.runtime.emf.type.core.clientDependentsAdvice"
                typeId="org.eclipse.gmf.tests.runtime.emf.type.core.client"
                class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ClientDependentsAdvice"> 
           </adviceBinding>   
           
           <!-- Advice for destruction of Customers -->
           <adviceBinding
                id="org.eclipse.gmf.tests.runtime.emf.type.core.destroyCustomerAdvice"
                typeId="*"
                class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.DestroyCustomerAdvice"> 
           </adviceBinding>   
        </metamodel>
        
        <!-- Test metamodel that doesn't exist -->
        <metamodel nsURI="http:///org.eclipse.gmf.tests.runtime.emf.type.core/Does.not.exist">
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.noMetamodel"     
                   name="NoMetamodel"
                   eclass="None"
                   edithelper="org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice"> 
           </metamodelType>
        </metamodel>
        
        <!-- Text specialization that doesn't need a metamodel -->
        <specializationType
                id="org.eclipse.gmf.tests.runtime.emf.type.core.nullSpecialization"     
                name="NullSpecialization"
                 edithelperadvice = "org.eclipse.gmf.tests.runtime.emf.type.core.internal.NullElementTypeAdvice">
             <specializes id="org.eclipse.gmf.runtime.emf.type.core.null"/>
        </specializationType>
   </extension>
   
   
   <!-- Types and advice contributed in this extension ARE bound to a client context -->
   <extension
         point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
         
         <!-- Test metamodel -->
         <metamodel
                nsURI="http:///org.eclipse.gmf.tests.runtime.emf.type.core/Employee.ecore">
                
           <!-- Test metamodel types -->
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.department"     
                   name="Department"
                   eclass="Department"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.DepartmentEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.employee"     
                   name="Employee"
                   eclass="Employee"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.EmployeeEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.student"     
                   name="Student"
                   eclass="Student"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.StudentEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.office"     
                   name="Office"
                   eclass="Office"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.OfficeEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.customer"     
                   name="Customer"
                   eclass="Customer"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.CustomerEditHelper"> 
           </metamodelType>
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.client"     
                   name="Client"
                   eclass="Client"
                   edithelper="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ClientEditHelper"> 
           </metamodelType>

           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.secretDepartment"
                   name="Secret Department"
                   kind="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ISecurityCleared"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.context.department"/>
               <matcher class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.SecretDepartmentMatcher"/>
           </specializationType>
           
           <!-- Test specialization type with eContainer and matcher -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.manager"
                   name="Manager"
                   edithelperadvice="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ManagerEditHelperAdvice"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.context.employee"/>
               <eContainer>
                  <eContainmentFeature qname="Department.manager"/>
               </eContainer>
               <matcher class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ManagerMatcher"/>
           </specializationType>
           
           <!-- Test specialization type with enablement -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.executive"
                   name="Executive"
                   edithelperadvice="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ExecutiveEditHelperAdvice"> 
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.context.manager"/>
               <enablement>
                  <test property="org.eclipse.gmf.tests.runtime.emf.type.core.officeHasDoor" value="true"/>
               </enablement>
           </specializationType>
           
           <!-- Test custom specialization type -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.context.topSecret"
                   name="TopSecret"
               	   kind="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ISecurityCleared">
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.context.employee"/>
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.context.manager"/>
               <param name="securityClearance" value = "topSecret"/>
           </specializationType>

           <!-- Test advice binding with eContainer -->
           <adviceBinding
                id="org.eclipse.gmf.tests.runtime.emf.type.core.context.financeEmployee"
                typeId="org.eclipse.gmf.tests.runtime.emf.type.core.context.employee"
                class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.FinanceEditHelperAdvice"
                inheritance="all"> 
                <eContainer>
                   <enablement>
                      <test property="org.eclipse.gmf.tests.runtime.emf.type.core.departmentName" value="FinanceWithContext"/>
                   </enablement>
                </eContainer>
           </adviceBinding> 
           <adviceBinding
                id="org.eclipse.gmf.tests.runtime.emf.type.core.context.notInheritedEmployeeAdvice"
                typeId="org.eclipse.gmf.tests.runtime.emf.type.core.context.employee"
                class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.NotInheritedEditHelperAdvice"> 
           </adviceBinding>    
           
           <!-- Advice for dependents of Clients -->
           <adviceBinding
                id="org.eclipse.gmf.tests.runtime.emf.type.core.context.clientDependentsAdvice"
                typeId="org.eclipse.gmf.tests.runtime.emf.type.core.context.client"
                class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ClientDependentsAdvice"> 
           </adviceBinding>  
           
           <!-- Specialization types with IDs that doesn't match the client context patterns -->
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.example1.employee"
                   name="Example1Employee">
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.context.employee"/>
           </specializationType>  
           <specializationType
                   id="org.eclipse.gmf.tests.runtime.emf.type.example2.employee"
                   name="Example2Employee">
               <specializes id="org.eclipse.gmf.tests.runtime.emf.type.core.context.employee"/>
           </specializationType>  
        </metamodel>
   </extension>
   
   <!-- Employee type for testing bugzilla 157788 -->
   <extension
         point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
         <metamodel
                nsURI="http:///org.eclipse.gmf.tests.runtime.emf.type.core/Employee.ecore">
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.157788.employee"     
                   name="Employee"
                   eclass="Employee"> 
           </metamodelType>
         </metamodel>
   </extension> 
   
   <!-- client context that is bound to the employee type for bugzilla 157788 -->
   <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
      <clientContext id="org.eclipse.gmf.tests.runtime.emf.type.core.157788_context">
         <enablement>
            <test
               property="org.eclipse.gmf.runtime.emf.core.editingDomain"
               value="org.eclipse.gmf.tests.runtime.emf.type.core.EditingDomain"/>
            <test
               property="org.eclipse.gmf.tests.runtime.emf.type.core.resourceURI"
               value="null://org.eclipse.gmf.tests.runtime.emf.type.core.157788"/>
         </enablement>
      </clientContext> 

      <binding 
            context="org.eclipse.gmf.tests.runtime.emf.type.core.157788_context">
         <elementType ref="org.eclipse.gmf.tests.runtime.emf.type.core.157788.employee"/>
      </binding> 
   </extension>
   
   <!-- EObject type for testing bugzilla 298661 -->
   <extension
         point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
         <metamodel
                nsURI="http://www.eclipse.org/emf/2002/Ecore">
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.298661.eObject"     
                   name="EObject"
                   eclass="EObject"> 
           </metamodelType>
         </metamodel>
         <metamodel
                nsURI="http:///org.eclipse.gmf.tests.runtime.emf.type.core/Employee.ecore">      
           <metamodelType
                   id="org.eclipse.gmf.tests.runtime.emf.type.core.298661.student"     
                   name="Student"
                   eclass="Student"> 
           </metamodelType>
         </metamodel>
   </extension> 
   
   <!-- client context that is bound to the EObject type for bugzilla 298661 -->
   <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
      <clientContext id="org.eclipse.gmf.tests.runtime.emf.type.core.298661_context">
         <enablement>
            <test
               property="org.eclipse.gmf.runtime.emf.core.editingDomain"
               value="org.eclipse.gmf.tests.runtime.emf.type.core.EditingDomain"/>
            <test
               property="org.eclipse.gmf.tests.runtime.emf.type.core.resourceURI"
               value="null://org.eclipse.gmf.tests.runtime.emf.type.core.298661"/>
         </enablement>
      </clientContext> 

      <binding 
            context="org.eclipse.gmf.tests.runtime.emf.type.core.298661_context">
         <elementType pattern="org.eclipse.gmf.tests.runtime.emf.type.core.298661.*"/>
      </binding> 
   </extension>
      
   <extension point="org.eclipse.core.expressions.propertyTesters">
       <propertyTester
           id="org.eclipse.gmf.tests.runtime.emf.type.core.OfficeTester"
           type="org.eclipse.gmf.tests.runtime.emf.type.core.employee.Employee"
           namespace="org.eclipse.gmf.tests.runtime.emf.type.core"
           properties="officeHasDoor, officeWindowCount"
           class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.OfficeTester">
       </propertyTester>
       <propertyTester
           id="org.eclipse.gmf.tests.runtime.emf.type.core.DepartmentTester"
           type="org.eclipse.gmf.tests.runtime.emf.type.core.employee.Department"
           namespace="org.eclipse.gmf.tests.runtime.emf.type.core"
           properties="departmentName"
           class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.DepartmentTester">
        </propertyTester>
       <propertyTester
           id="org.eclipse.gmf.tests.runtime.emf.type.core.internal.resourceTester"
           type="org.eclipse.emf.ecore.EObject"
           namespace="org.eclipse.gmf.tests.runtime.emf.type.core"
           properties="resourceURI"
           class="org.eclipse.gmf.tests.runtime.emf.type.core.internal.ResourceTester">
        </propertyTester>
   </extension>
</plugin>
