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

<!--
 Copyright (c) 2013, 2017 CEA LIST 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:
   CEA LIST - Initial API and implementation
   Christian W. Damus (CEA) - bug 429242

-->

<plugin>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <!-- @generated repositories -->
      <package
            uri="http://www.eclipse.org/papyrus/repositories/0.10.0"
            class="org.eclipse.papyrus.cdo.internal.core.repositories.RepositoriesPackage"
            genModel="model/repositories.genmodel"/>
   </extension>

   <extension point="org.eclipse.emf.ecore.extension_parser">
      <!-- @generated repositories -->
      <parser
            type="repositories"
            class="org.eclipse.papyrus.cdo.internal.core.repositories.util.RepositoriesResourceFactoryImpl"/>
   </extension>

   <extension
         point="org.eclipse.papyrus.infra.core.service">
      <!-- Priority of OnDemandLoadingModelSet is 5 -->
      <serviceFactory
            classname="org.eclipse.papyrus.cdo.core.resource.CDOAwareModelSetServiceFactory"
            description="A provider of CDO-aware ModelSets."
            id="org.eclipse.papyrus.infra.core.resource.ModelSet"
            priority="10"
            startKind="startup">
      </serviceFactory>
   </extension>

   <extension
         point="org.eclipse.papyrus.infra.core.transactionalEditingDomainProvider">
      <transactionalEditingDomainProvider
            class="org.eclipse.papyrus.cdo.core.resource.CDOAwareTransactionalEditingDomainProvider"
            priority="11">
      </transactionalEditingDomainProvider>
   </extension>
   <extension
         point="org.eclipse.papyrus.infra.emf.readonly.readOnlyHandler">

      <!-- Priority of AppliedProfileReadOnlyHandler is 15 -->
      <readOnlyHandler
            class="org.eclipse.papyrus.cdo.core.resource.CDOReadOnlyHandler"
            priority="16">
         <affinity
               axis="permission">
         </affinity>
      </readOnlyHandler>
   </extension>

   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.papyrus.cdo.internal.core.expressions.EObjectPropertyTester"
            id="org.eclipse.papyrus.cdo.eObjectTester"
            namespace="org.eclipse.papyrus.cdo.core"
            properties="isCDOObject"
            type="org.eclipse.emf.ecore.EObject">
      </propertyTester>
   </extension>

   <extension
         point="org.eclipse.papyrus.infra.services.controlmode.participant">
      <participant
            class="org.eclipse.papyrus.cdo.internal.core.controlmode.CDOControlModeParticipant">
      </participant>
   </extension>
   <extension
         point="org.eclipse.papyrus.infra.core.service">
      <serviceFactory
            classname="org.eclipse.papyrus.cdo.internal.core.services.localizer.CDOAwareObjectLocalizer$Factory"
            description="A customized object localizer that is aware of the special semantics of CDO resource nodes."
            id="org.eclipse.papyrus.infra.services.localizer.IObjectLocalizer"
            priority="50"
            startKind="lazy">
      </serviceFactory>
   </extension>
   <extension
         point="org.eclipse.papyrus.infra.core.sashModelProvider">
      <sashModelProvider
            class="org.eclipse.papyrus.cdo.internal.core.resource.CDOSashModelProvider"
            scheme="cdo.checkout">
      </sashModelProvider>
   </extension>

</plugin>
