<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         point="org.eclipse.emf.ecp.model.workspaceprovider">
      <WorkspaceProvider
            class="org.eclipse.emf.ecp.xmiworkspace.XMIECPWorkspaceProvider">
      </WorkspaceProvider>
   </extension>
   <extension point="org.eclipse.emf.ecore.generated_package"> 
    <package 
       uri = "http://eclipse.org/emf/ecp/xmiworkspace/structure" 
       class = "org.eclipse.emf.ecp.xmiworkspace.structure.StructurePackage" 
       genModel = "model/XMIWorkspace.genmodel" /> 
   </extension>
   <extension point="org.eclipse.emf.ecp.model.ecppackage">
      <modelPackage
            modelPackage="StructurePackage">
       
      </modelPackage>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            categoryId="org.eclipse.emf.ecp.xmiworkspace.commands"
            defaultHandler="org.eclipse.emf.ecp.xmiworkspace.commands.NewProjectHandler"
            description="create new local xmi-file-project"
            id="org.eclipse.emf.ecp.xmiworkspace.NewLocalProject"
            name="NewLocalProject">
      </command>
      <command
            categoryId="org.eclipse.emf.ecp.xmiworkspace.commands"
            defaultHandler="org.eclipse.emf.ecp.xmiworkspace.commands.ImportProjectHandler"
            description="import xmi-file-project"
            id="org.eclipse.emf.ecp.xmiworkspace.ImportLocalProject"
            name="ImportLocalProject">
      </command>
      <command
            categoryId="org.eclipse.emf.ecp.xmiworkspace.commands"
            defaultHandler="org.eclipse.emf.ecp.xmiworkspace.commands.DeleteProjectHandler"
            description="delete xmi-file-project"
            id="org.eclipse.emf.ecp.xmiworkspace.deleteProject"
            name="deleteProject">
      </command>
      <command
            categoryId="org.eclipse.emf.ecp.xmiworkspace.commands"
            defaultHandler="org.eclipse.emf.ecp.xmiworkspace.commands.ImportFolderHandler"
            description="import xmi-projects from folder"
            id="org.eclipse.emf.ecp.xmiworkspace.NewFolder"
            name="NewFolder">
      </command>
      <command
            categoryId="org.eclipse.emf.ecp.xmiworkspace.commands"
            defaultHandler="org.eclipse.emf.ecp.xmiworkspace.commands.DeletedResourceHandler"
            description="resolve problems with deleted file"
            id="org.eclipse.emf.ecp.xmiworkspace.DeletedResourceHandler"
            name="resolve file problems">
      </command>
      <category
            id="org.eclipse.emf.ecp.xmiworkspace.commands"
            name="xmicommands">
      </category>
      <command
            categoryId="org.eclipse.emf.ecp.xmiworkspace.commands"
            defaultHandler="org.eclipse.emf.ecp.xmiworkspace.commands.ConfigureModelsHandler"
            description="adds or removes models form project"
            id="org.eclipse.emf.ecp.xmiworkspace.ConfigureModels"
            name="configure models">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.emf.ecp.navigator.viewer?before=additions">
         <command
               commandId="org.eclipse.emf.ecp.xmiworkspace.DeletedResourceHandler"
               icon="icons/resolve.gif"
               label="Resolve"
               style="push"
               tooltip="Click here to fix project.">
            <visibleWhen
                  checkEnabled="false">
               <and>
                  <iterate>
                     <test
                           forcePluginActivation="true"
                           property="org.unicase.xmi.commands.projectStatusTester">
                     </test>
                     <instanceof
                           value="org.eclipse.emf.ecp.xmiworkspace.structure.XMIECPFileProject">
                     </instanceof>
                  </iterate>
                  <count
                        value="1">
                  </count>
               </and>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.emf.ecp.xmiworkspace.NewLocalProject"
               icon="icons/add.png"
               label="New Project..."
               style="push"
               tooltip="Click here to create a new project.">
            <visibleWhen
                  checkEnabled="false">
               <or>
                  <count
                        value="0">
                  </count>
                  <count
                        value="1">
                  </count>
               </or>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.emf.ecp.xmiworkspace.ImportLocalProject"
               icon="icons/import.png"
               label="Import Project-File..."
               style="push"
               tooltip="Click here to import a project.">
            <visibleWhen
                  checkEnabled="false">
               <or>
                  <count
                        value="0">
                  </count>
                  <count
                        value="1">
                  </count>
               </or>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.emf.ecp.xmiworkspace.NewFolder"
               icon="icons/folder-import.png"
               label="Import Projects from Folder..."
               style="push"
               tooltip="Click here to import projects from a folder.">
            <visibleWhen
                  checkEnabled="false">
               <or>
                  <count
                        value="0">
                  </count>
                  <count
                        value="1">
                  </count>
               </or>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.emf.ecp.xmiworkspace.deleteProject"
               icon="icons/delete.png"
               label="Delete Project..."
               style="push"
               tooltip="Click here to delete a project.">
            <visibleWhen
                  checkEnabled="false">
               <and>
                  <iterate>
                     <instanceof
                           value="org.eclipse.emf.ecp.xmiworkspace.structure.XMIECPFileProject">
                     </instanceof>
                  </iterate>
                  <count
                        value="1">
                  </count>
               </and>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.emf.ecp.xmiworkspace.ConfigureModels"
               icon="icons/configure.png"
               label="Configure Models..."
               style="push"
               tooltip="Click to add or remove models from project">
            <visibleWhen
                  checkEnabled="false">
               <and>
                  <count
                        value="1">
                  </count>
                  <iterate>
                     <instanceof
                           value="org.eclipse.emf.ecp.xmiworkspace.structure.XMIECPFileProject">
                     </instanceof>
                  </iterate>
               </and>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.emf.ecp.xmiworkspace.commands.ProjectStatusTester"
            id="org.eclipse.emf.ecp.xmiworkspace.projectStatusTester"
            namespace="org.unicase.xmi.commands"
            properties="projectStatusTester"
            type="org.eclipse.emf.ecp.xmiworkspace.structure.XMIECPFileProject">
      </propertyTester>
   </extension>

</plugin>
