<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.    
-->
 <plugin>

   <extension
         point="org.eclipse.ui.newWizards">

      <wizard
            name="Deployment Descriptor File"
            icon="icons/editor.gif"
            category="org.apache.uima.cpe.UIMA"
            class="org.apache.uima.dde.internal.wizards.DDENewWizard"
            id="org.apache.uima.desceditor.fragments.dde.wizards.DDENewWizard">
      </wizard>
   </extension>

   <extension
         point="org.apache.uima.desceditor.externalEditor">
      <editor
            class="org.apache.uima.dde.internal.DeploymentDescriptorEditor"
            id="org.apache.uima.dde"
            name="Deployment Descriptor Editor">
         <handlesElement
               class="org.apache.uima.aae.deployment.AEService"
               elementName="analysisEngineDeploymentDescription"
               internalParseClass="org.apache.uima.aae.deployment.impl.AEDeploymentDescription_Impl"/>
      </editor>
   </extension>
</plugin>
