| <?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> |