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

<!--
 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 2.0
 which accompanies this distribution, and is available at
 http://www.eclipse.org/legal/epl-2.0/
 
  SPDX-License-Identifier: EPL-2.0
 
  Contributors:
   CEA LIST - Initial API and implementation
   Christian W. Damus (CEA) - bug 386118

-->

<plugin>
   <extension-point id="repositoryFilters" name="%repoFiltersExtPt.name" schema="schema/repositoryFilters.exsd"/>
   <extension
         point="org.eclipse.papyrus.infra.core.service">
      <serviceFactory
            classname="org.eclipse.papyrus.cdo.internal.ui.editors.DawnGraphicalEditorSupportServiceFactory"
            description="The Dawn-based CDO-aware diagram editor support implementation."
            id="org.eclipse.papyrus.infra.gmfdiag.common.IGraphicalEditorSupport"
            priority="10"
            startKind="lazy">
      </serviceFactory>
   </extension>
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.ui.IEditorPart"
            class="org.eclipse.papyrus.cdo.internal.ui.adapters.EditorAdapterFactory">
         <adapter
               type="org.eclipse.emf.cdo.dawn.editors.IDawnEditor">
         </adapter>
      </factory>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="org.eclipse.papyrus.infra.core.perspective">
         <viewShortcut
               id="org.eclipse.emf.cdo.explorer.ui.CDORepositoriesView">
         </viewShortcut>
         <view
               id="org.eclipse.emf.cdo.explorer.ui.CDORepositoriesView"
               minimized="false"
               relationship="stack"
               relative="org.eclipse.ui.navigator.ProjectExplorer">
         </view>
      </perspectiveExtension>
   </extension>

   <extension
         point="org.eclipse.emf.cdo.dawn.elementstylizerfactory">
      <DawnElementStylizerFactory
            factory="org.eclipse.papyrus.cdo.internal.ui.decorators.PapyrusElementStylizerFactory"
            priority="2 - Low">
      </DawnElementStylizerFactory>
   </extension>

   <extension
         point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders">
      <decoratorProvider
            class="org.eclipse.papyrus.cdo.internal.ui.decorators.DiagramDecoratorProvider">
         <Priority
               name="Low">
         </Priority>
      </decoratorProvider>
   </extension>

   <extension
         point="org.eclipse.ui.decorators">
      <decorator
            class="org.eclipse.papyrus.cdo.internal.ui.decorators.CDOStateLabelDecorator"
            id="org.eclipse.papyrus.cdo.ui.cdoStateDecorator"
            label="%cdoDecorator.label"
            state="true">
         <description>
            %cdoDecorator.description
         </description>
         <enablement>
            <or>
               <objectClass
                     name="org.eclipse.emf.ecore.EObject">
               </objectClass>
               <objectClass
                     name="org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.EObjectTreeElement">
               </objectClass>
            </or>
         </enablement>
      </decorator>
   </extension>

   <extension
        point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ui.popup.any?after=additions">
         <menu
               label="%locksMenu.label">
            <visibleWhen
                  checkEnabled="false">
               <and>
                  <with
                        variable="activeEditorId">
                     <equals
                           value="org.eclipse.papyrus.infra.core.papyrusEditor">
                     </equals>
                  </with>
                  <with variable="selection">
                     <iterate ifEmpty="false" operator="and">
                        <adapt type="org.eclipse.emf.cdo.CDOObject" />
                     </iterate>
                  </with>
               </and>
            </visibleWhen>
            <command
                  commandId="org.eclipse.papyrus.cdo.ui.commands.lock"
                  label="%lockCommand.label">
            </command>
            <command
                  commandId="org.eclipse.papyrus.cdo.ui.commands.unlock"
                  label="%unlockCommand.label">
            </command>
            <command
                  commandId="org.eclipse.papyrus.cdo.ui.commands.resolveConflicts"
                  label="%resolveCommand.label">
            </command>
         </menu>
      </menuContribution>
      <menuContribution
            locationURI="popup:org.eclipse.ui.popup.any?after=additions">
         <command
               commandId="org.eclipse.papyrus.cdo.ui.commands.importModels"
               label="%importCommand.label">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.papyrus.cdo.ui.commands.openInModelRepositories"
               label="%openInModelRepositoriesCommand.label"
               icon="$nl$/icons/full/view16/model_repositories.gif">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            locationURI="popup:org.eclipse.papyrus.cdo.ui.ModelRepositoriesView?after=additions">
         <command
               commandId="org.eclipse.papyrus.cdo.ui.commands.exportModel"
               label="%exportCommand.label">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.papyrus.cdo.ui.commands.lock"
            name="%lockCommand.name">
      </command>
      <command
            id="org.eclipse.papyrus.cdo.ui.commands.unlock"
            name="%unlockCommand.name">
      </command>
      <command
            id="org.eclipse.papyrus.cdo.ui.commands.resolveConflicts"
            name="%resolveCommand.name">
      </command>
      <command
            id="org.eclipse.papyrus.cdo.ui.commands.importModels"
            name="%importCommand.name">
      </command>
      <command
            id="org.eclipse.papyrus.cdo.ui.commands.exportModel"
            name="%exportCommand.name">
      </command>
      <command
            id="org.eclipse.papyrus.cdo.ui.commands.openInModelRepositories"
            name="%openInModelRepositoriesCommand.name">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.papyrus.cdo.internal.ui.handlers.LockObjectsHandler"
            commandId="org.eclipse.papyrus.cdo.ui.commands.lock">
         <enabledWhen>
           <iterate operator="and" ifEmpty="false">
              <adapt
                    type="org.eclipse.emf.cdo.CDOObject">
                 <test
                       property="org.eclipse.papyrus.cdo.ui.canLock">
                 </test>
              </adapt>
           </iterate>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.papyrus.cdo.internal.ui.handlers.UnlockObjectsHandler"
            commandId="org.eclipse.papyrus.cdo.ui.commands.unlock">
         <enabledWhen>
           <iterate operator="and" ifEmpty="false">
              <adapt
                    type="org.eclipse.emf.cdo.CDOObject">
                 <test
                       property="org.eclipse.papyrus.cdo.ui.isLockedLocally" >
                 </test>
              </adapt>
           </iterate>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.papyrus.cdo.internal.ui.handlers.ResolveConflictsHandler"
            commandId="org.eclipse.papyrus.cdo.ui.commands.resolveConflicts">
         <enabledWhen>
           <iterate operator="and" ifEmpty="false">
              <adapt
                    type="org.eclipse.emf.cdo.CDOObject">
                 <test
                       property="org.eclipse.papyrus.cdo.ui.isConflicted">
                 </test>
              </adapt>
           </iterate>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.papyrus.cdo.internal.ui.handlers.ImportModelsHandler"
            commandId="org.eclipse.papyrus.cdo.ui.commands.importModels">
         <enabledWhen>
           <iterate operator="and" ifEmpty="false">
              <adapt
                    type="org.eclipse.papyrus.infra.onefile.model.IPapyrusFile">
              </adapt>
           </iterate>
         </enabledWhen>
      </handler>
      <handler
            class="org.eclipse.papyrus.cdo.internal.ui.handlers.ExportModelHandler"
            commandId="org.eclipse.papyrus.cdo.ui.commands.exportModel">
         <enabledWhen>
           <iterate operator="and" ifEmpty="false">
              <instanceof
                    value="org.eclipse.papyrus.cdo.internal.ui.views.DIModel">
              </instanceof>
           </iterate>
         </enabledWhen>
      </handler>
      <!--
      <handler
            class="org.eclipse.papyrus.cdo.internal.ui.handlers.OpenInModelRepositoriesViewHandler"
            commandId="org.eclipse.papyrus.cdo.ui.commands.openInModelRepositories">
         <enabledWhen>
           <with variable="selection">
              <count
                    value="1">
              </count>
              <iterate operator="and">
                 <adapt
                       type="org.eclipse.emf.cdo.admin.CDOAdminClientRepository">
                 </adapt>
              </iterate>
           </with>
         </enabledWhen>
      </handler>
      -->
   </extension>

   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.gef.EditPart"
            class="org.eclipse.papyrus.cdo.internal.ui.adapters.CDOAdapterFactory">
         <adapter
               type="org.eclipse.emf.cdo.CDOObject">
         </adapter>
         <adapter
               type="org.eclipse.emf.cdo.view.CDOView">
         </adapter>
      </factory>
      <factory
            adaptableType="org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.internal.treeproxy.EObjectTreeElement"
            class="org.eclipse.papyrus.cdo.internal.ui.adapters.CDOAdapterFactory">
         <adapter
               type="org.eclipse.emf.cdo.CDOObject">
         </adapter>
         <adapter
               type="org.eclipse.emf.cdo.view.CDOView">
         </adapter>
      </factory>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.papyrus.cdo.internal.ui.expressions.CDOObjectPropertyTester"
            id="org.eclipse.papyrus.cdo.ui.cdoObjectTester"
            namespace="org.eclipse.papyrus.cdo.ui"
            properties="canLock,isLockedLocally,isLockedRemotely,isConflicted"
            type="org.eclipse.emf.cdo.CDOObject">
      </propertyTester>
   </extension>

   <extension
         point="org.eclipse.papyrus.infra.services.markerlistener.markerproviders">
      <provider
            class="org.eclipse.papyrus.cdo.internal.ui.markers.CDOMarkerProvider">
         <enablement>
            <instanceof
                  value="org.eclipse.emf.cdo.eresource.CDOResource">
            </instanceof>
         </enablement>
      </provider>
      <monitor class="org.eclipse.papyrus.cdo.internal.ui.markers.CDOMarkerMonitor">
      </monitor>
   </extension>

   <extension
         point="org.eclipse.ui.dropActions">
      <action
            class="org.eclipse.papyrus.cdo.internal.ui.dnd.ResourceDropActionDelegate"
            id="org.eclipse.papyrus.cdo.ui.modelDropAction">
      </action>
   </extension>
   <extension
         point="org.eclipse.papyrus.infra.services.labelprovider.labelProvider">
      <labelProvider
            priority="255"
            provider="org.eclipse.papyrus.cdo.internal.ui.providers.CDOResourceLabelProvider">
      </labelProvider>
   </extension>
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="org.eclipse.papyrus.cdo.core.resource.CDOAwareModelSet"
            class="org.eclipse.papyrus.cdo.internal.ui.dialogs.CreateCDOModelFragmentDialog$AdapterFactory">
         <adapter
               type="org.eclipse.papyrus.infra.services.controlmode.ui.IControlModeFragmentDialogProvider">
         </adapter>
      </factory>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <navigatorContent
            contentProvider="org.eclipse.papyrus.cdo.internal.ui.dnd.ResourceDropAdapterAssistant$DummyContent"
            id="org.eclipse.papyrus.cdo.ui.navigatorResourceDropAssistant"
            name="%navigatorDropContent.name"
            icon="$nl$/icons/full/view16/model_repositories.gif"
            priority="high">
         <dropAssistant
               class="org.eclipse.papyrus.cdo.internal.ui.dnd.ResourceDropAdapterAssistant"
               id="org.eclipse.papyrus.cdo.ui.resourceDropAssistant">
            <possibleDropTargets>
               <instanceof
                     value="org.eclipse.core.resources.IContainer">
               </instanceof>
            </possibleDropTargets>
         </dropAssistant>
         <possibleChildren>
            <adapt
                  type="org.eclipse.papyrus.cdo.internal.ui.views.DIModel">
            </adapt>
         </possibleChildren>
         <triggerPoints>
            <instanceof
                  value="org.eclipse.core.resources.IContainer">
            </instanceof>
         </triggerPoints>
      </navigatorContent>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewerContentBinding
            viewerId="org.eclipse.ui.navigator.ProjectExplorer">
         <includes>
            <contentExtension
                  pattern="org.eclipse.papyrus.cdo.ui.navigatorResourceDropAssistant">
            </contentExtension>
         </includes>
      </viewerContentBinding>
   </extension>
   <extension
         point="org.eclipse.emf.ecore.dynamic_package">
      <resource
            location="model/DND.ecore"
            uri="http://www.eclipse.org/papyrus/1.0.0/cdo/private/dnd">
      </resource>
   </extension>
   <extension
         point="org.eclipse.emf.cdo.ui.editorOpeners">
      <editorOpener
            class="org.eclipse.papyrus.cdo.internal.ui.editors.PapyrusCDOEditorOpener"
            icon="icons/full/obj16/papyrus_model.gif"
            id="org.eclipse.papyrus.cdo.ui.editors.PapyrusCDOEditorOpener"
            name="Papyrus Core Editor"
            regex="cdo\.checkout://.*\.di">
      </editorOpener>
   </extension>
</plugin>
