<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006, 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 2.0 which accompanies this distribution, and is 
available at https://www.eclipse.org/legal/epl-2.0/

    SPDX-License-Identifier: EPL-2.0

Initial Contributors:
The following IBM employees contributed to the Remote System Explorer
component that contains this file: David McKnight, Kushal Munir, 
Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, 
Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.

Contributors:
Martin Oberhuber (Wind River) - [180519] declaratively register adapter factories
Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core
Martin Oberhuber (Wind River) - [186748] Move ISubSystemConfigurationAdapter from UI/rse.core.subsystems.util
David McKnight (IBM) - [187711] Link with Editor action for System View
David McKnight (IBM) - [209593] [api] add support for "file permissions" and "owner" properties for unix files
Johnson Ma (Wind River) - [195402] Add tar.gz archive support
David McKnight   (IBM)        - [261019] New File/Folder actions available in Work Offline mode
David McKnight   (IBM)        - [218227][usability] Contribute a "Show in RSE" action to Resource Navigator and Project Explorer
David McKnight   (IBM)        - [328617] synchronize cache operation should also support individual files
-->
<?eclipse version="3.0"?>
<plugin>

<!-- ============================================ -->
<!-- Register Adapter Factories                   -->
<!-- ============================================ -->
 
	<extension point="org.eclipse.core.runtime.adapters">
		<!-- Remote Files --> 
		<factory 
			class="org.eclipse.rse.internal.files.ui.view.SystemViewFileAdapterFactory" 
			adaptableType="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile">
            <adapter type="org.eclipse.rse.ui.view.ISystemViewElementAdapter"/>
			<!-- all adapter types which are subject to getAdapter() need to be registered! -->
			<!-- just having it in AdapterFactory#getAdapterList() is not sufficient. -->
			<adapter type="org.eclipse.rse.core.subsystems.ISystemDragDropAdapter"/>
			<adapter type="org.eclipse.rse.ui.view.ISystemRemoteElementAdapter"/>
			<adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
			<adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
			<adapter type="org.eclipse.ui.IActionFilter"/>
			<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
			<!-- TODO Check: These are not in the adapter factories 
			     getAdapterList() Although the adapter implements them
			<adapter type="org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier"/>
			-->
		</factory> 
		<!-- SearchResultSet --> 
		<factory 
				class="org.eclipse.rse.internal.files.ui.view.SystemViewSearchResultSetAdapterFactory" 
				adaptableType="org.eclipse.rse.services.search.IHostSearchResultSet">
            <adapter type="org.eclipse.rse.ui.view.ISystemViewElementAdapter"/>
			<adapter type="org.eclipse.rse.ui.view.ISystemRemoteElementAdapter"/>
			<adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
			<adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
			<adapter type="org.eclipse.ui.IActionFilter"/>
			<!-- TODO Check: These are not in the adapter factories 
			     getAdapterList() Although the adapter implements them
			<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
			<adapter type="org.eclipse.rse.core.subsystems.ISystemDragDropAdapter"/>
			<adapter type="org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier"/>
			<adapter type="org.eclipse.rse.ui.view.ISystemRemoveElementAdapter"/>
			-->
		</factory>
		<!-- SearchResult --> 
		<factory 
				class="org.eclipse.rse.internal.files.ui.view.SystemViewSearchResultAdapterFactory" 
				adaptableType="org.eclipse.rse.services.search.IHostSearchResult">
            <adapter type="org.eclipse.rse.ui.view.ISystemViewElementAdapter"/>
			<adapter type="org.eclipse.rse.core.subsystems.ISystemDragDropAdapter"/>
			<adapter type="org.eclipse.rse.ui.view.ISystemRemoteElementAdapter"/>
			<adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
			<adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
			<adapter type="org.eclipse.ui.IActionFilter"/>
			<!-- TODO Check: These are not in the adapter factories 
			     getAdapterList() Although the adapter implements them
			<adapter type="org.eclipse.ui.progress.IDeferredWorkbenchAdapter"/>
			<adapter type="org.eclipse.rse.core.subsystems.IRemoteObjectIdentifier"/>
			-->
		</factory>
		<!-- SubSystemConfiguration --> 
		<factory 
				class="org.eclipse.rse.internal.files.ui.view.RemoteFileSubSystemConfigurationAdapterFactory" 
				adaptableType="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystemConfiguration">
            <adapter type="org.eclipse.rse.ui.subsystems.ISubSystemConfigurationAdapter"/>
		</factory> 
	</extension>
 
<!-- ============================================ -->
<!-- Define Files Preference Pages                -->
<!-- ============================================ -->
  
	<extension
		point="org.eclipse.ui.preferencePages">
      <page
            name="%PreferencePage.UniversalFiles"
            category="org.eclipse.rse.ui.preferences.RemoteSystemsPreferencePage"
            class="org.eclipse.rse.internal.files.ui.propertypages.UniversalPreferencePage"
            id="org.eclipse.rse.files.ui.UniversalFilesPreferences">
      </page>

      <page
            name="%PreferencePage.Cache"
            category="org.eclipse.rse.ui.preferences.RemoteSystemsPreferencePage"
            class="org.eclipse.rse.internal.files.ui.propertypages.SystemCachePreferencePage"
            id="org.eclipse.rse.core.ui.preferences.SystemCachePreferencePage">
      </page>
   </extension>
   
   
<!-- ============================================ -->
<!-- Define Remote Object Properties Pages        -->
<!-- ============================================ -->
  <extension 
       point="org.eclipse.ui.propertyPages">
      <page 
            name="%RemotePropertyPage.File.Info"
            class="org.eclipse.rse.internal.files.ui.propertypages.SystemFilePropertyPage"
            id="org.eclipse.rse.files.PropertyPage">
           <enabledWhen>
             <instanceof value="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
         </enabledWhen>
      </page>     
      <page 
            name="%RemotePropertyPage.File.Permissions"
            class="org.eclipse.rse.internal.files.ui.propertypages.SystemFilePermissionsPropertyPage"
            id="org.eclipse.rse.files.PermissionsPropertyPage">
           <enabledWhen>
             <instanceof value="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
   			</enabledWhen>
   			  <filter name="supportspermissions" value="true"/>
   
      </page>      
   </extension>
   
   
<!-- ============================================ -->
<!-- Define Workbench Properties Pages            -->
<!-- ============================================ -->
   <extension
         point="org.eclipse.ui.propertyPages">
<!--
      <page
            objectClass="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem"
            name="%PropertyPage.EnvVariables"
            class="org.eclipse.rse.core.ui.propertypages.EnvironmentVariablesPropertyPage"
            id="org.eclipse.rse.EnvironmentVariablesPropertyPage">
            <filter name="envVarPP" value="true"/>
      </page> 
-->
      <page
            name="%PropertyPage.ServerLauncherSettings" 
            class="org.eclipse.rse.internal.ui.propertypages.ServerLauncherPropertyPage"
            id="org.eclipse.rse.ui.propertypages.ServerLauncherPropertyPage">
            <filter name="serverLaunchPP" value="true"/>
         <enabledWhen>
            <instanceof value="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem"/>
         </enabledWhen>
      </page>

      
       <page
            name="%PropertyPage.Service"
            class="org.eclipse.rse.internal.files.ui.propertypages.FileServicesPropertyPage"
            id="org.eclipse.rse.files.ui.propertypages.FileServicesPropertyPage">
         <enabledWhen>
            <instanceof value="org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem"/>
         </enabledWhen>
      </page>
      
   </extension>
   
   

<!-- ================================================================= -->
<!-- Flag file types used by the RemoteSystemsConnection project for   -->
<!-- more intelligent team sync support			                       -->
<!-- ================================================================= -->
	<extension point="org.eclipse.team.core.fileTypes">
  		<fileTypes extension="xmi" type="text"/>
  	</extension>

<!-- ================================================================= -->
<!--     Hide RemoteSystemsConnections and RemoteSystemsTempFiles      -->
<!-- 	 in the Navigator view					                       -->
<!-- ================================================================= -->
	<extension
         point="org.eclipse.ui.ide.resourceFilters">
      <filter
            selected="true"
            pattern="RemoteSystemsConnections">
      </filter>
      <filter
            selected="true"
            pattern="RemoteSystemsTempFiles">
      </filter>
	</extension>
	

    
<!-- ================================================================= -->
<!--     Hide RemoteSystemsConnections and RemoteSystemsTempFiles      -->
<!-- 	 in the JDT view					                       -->
<!-- ================================================================= -->	
	<extension
		 point="org.eclipse.jdt.ui.javaElementFilters">
        <filter
      		targetId="org.eclipse.jdt.ui.PackageExplorer"
            name="%ViewFilter.RSEConnections"
            enabled="true"
            description=""
            pattern="RemoteSystemsConnections">
        </filter>
      <filter
   		targetId="org.eclipse.jdt.ui.PackageExplorer"
            name="%ViewFilter.RSETempFiles"
            enabled="true"
            description=""
            pattern="RemoteSystemsTempFiles">
      </filter>    
    </extension>

<!-- ================================================================= -->
<!--     Hide RemoteSystemsConnections and RemoteSystemsTempFiles      -->
<!-- 	 in the CDT CView					                       -->
<!-- ================================================================= -->	
	<extension
		 point="org.eclipse.cdt.ui.CElementFilters">
        <filter
      		targetId="org.eclipse.cdt.ui.CView"
            name="%ViewFilter.RSEConnections"
            enabled="true"
            description=""
            pattern="RemoteSystemsConnections">
        </filter>
        <filter
  	 		targetId="org.eclipse.cdt.ui.CView"
            name="%ViewFilter.RSETempFiles"
            enabled="true"
            description=""
            pattern="RemoteSystemsTempFiles">
		</filter>    
    </extension>
    
	
<!-- ================================================================= -->
<!-- Add a search page for universal, i.e. Linux, Windows and Local == -->
<!-- ================================================================= -->	
   <extension
         point="org.eclipse.search.searchPages">
      <page
            tabPosition="0"
            label="%Search.Page"
            enabled="true"
            icon="icons/full/obj16/system_search.gif"
            class="org.eclipse.rse.internal.files.ui.search.SystemSearchPage"
            sizeHint="250,160"
            id="org.eclipse.rse.internal.files.ui.search.searchPage">
      </page>
   </extension>

   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%Remote.ActionSet"
            visible="true"
            id="org.eclipse.rse.core.search.searchActionSet">
         <menu
               label="%searchMenu.label"
               path="navigate"
               id="org.eclipse.search.menu">
            <groupMarker
                  name="internalDialogGroup">
            </groupMarker>
            <groupMarker
                  name="dialogGroup">
            </groupMarker>
            <separator
                  name="contextMenuActionsGroup">
            </separator>
         </menu>
         <action
               label="%Remote.Search"
               tooltip="%Remote.Search.tooltip"
               helpContextId="org.eclipse.rse.core.rsac0000"
               icon="icons/full/obj16/system_search.gif"
               class="org.eclipse.rse.internal.files.ui.search.SystemOpenSearchPageAction"
               menubarPath="org.eclipse.search.menu/dialogGroup"
               id="org.eclipse.rse.core.search.searchAction">
         </action>
      </actionSet>
   </extension>

<!-- ================================================================= -->
<!-- Add handlers for ZIP, TAR, and JAR archive files               == -->
<!-- ================================================================= -->	
   <extension
         point="org.eclipse.rse.services.archivehandlers">
      <archivehandler
            fileNameExtension="zip"
            name="SystemZipHandler"
            class="org.eclipse.rse.services.clientserver.archiveutils.SystemZipHandler"
            id="org.eclipse.rse.services.clientserver.archiveutils.systemziphandler">
      </archivehandler>
      <archivehandler
            fileNameExtension="jar"
            name="SystemJarHandler"
            class="org.eclipse.rse.services.clientserver.archiveutils.SystemJarHandler"
            id="org.eclipse.rse.services.clientserver.archiveutils.systemjarhandler">
      </archivehandler>
      <archivehandler
            fileNameExtension="tar.gz"
            name="SystemTargzHandler"
            class="org.eclipse.rse.services.clientserver.archiveutils.SystemTgzHandler"
            id="org.eclipse.rse.services.clientserver.archiveutils.systemtargzhandler">
      </archivehandler>
      <archivehandler
            fileNameExtension="tgz"
            name="SystemTgzHandler"
            class="org.eclipse.rse.services.clientserver.archiveutils.SystemTgzHandler"
            id="org.eclipse.rse.services.clientserver.archiveutils.systemtgzhandler">
      </archivehandler>
      <archivehandler
            fileNameExtension="tar"
            name="SystemTarHandler"
            class="org.eclipse.rse.services.clientserver.archiveutils.SystemTarHandler"
            id="org.eclipse.rse.services.clientserver.archiveutils.systemtarhandler">
      </archivehandler>
   </extension>

<!-- ================================================================= -->
<!-- Add default mount path mapper              					== -->
<!-- ================================================================= -->	
   <extension
         point="org.eclipse.rse.ui.mountPathMappers">
      <mountPathMapper
            name="DefaultMountPathMapper"
            class="org.eclipse.rse.internal.files.ui.resources.DefaultMountPathMapper"
            id="org.eclipse.rse.core.resources.defaultmountpathmapper">
      </mountPathMapper>
   </extension>
   
   
   
<!-- ================================================================= -->
<!-- Add decorator for virtual, executable and link files              -->
<!-- ================================================================= -->	
	<extension point="org.eclipse.ui.decorators"> 
        <decorator
            id="org.eclipse.rse.core.virtualobject.decorator" 
            label="%VirtualObjectDecorator.label" 
            state="true" 
            lightweight="true" 
            icon="icons/full/ovr16/virtual_tsk.gif" 
            location="BOTTOM_RIGHT"> 
            <enablement>
            	<and>
                	<objectClass name="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
                	<objectState name="isVirtual" value="true"/>
                </and> 
            </enablement>
        </decorator>
        <decorator
            id="org.eclipse.rse.core.binary.executable.decorator" 
            label="%BinaryExecutableDecorator.label" 
            state="true" 
            lightweight="true" 
            icon="icons/full/ovr16/exec_binary_ovr.gif" 
            location="BOTTOM_LEFT"> 
            <enablement>
            	<and>
                	<objectClass name="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
	               	<objectState name="classification" value="*executable*"/>
                </and> 
            </enablement>
        </decorator>
        <decorator
            id="org.eclipse.rse.core.script.executable.decorator" 
            label="%ScriptExecutableDecorator.label" 
            state="true" 
            lightweight="true" 
            icon="icons/full/ovr16/exscript_ovr.gif" 
            location="BOTTOM_LEFT"> 
            <enablement>
            	<and>
                	<objectClass name="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
                	<or>
	                	<objectState name="classification" value="symbolic link(script)*"/>
	                	<and>
		                	<objectState name="classification" value="*script*"/>
		                	<objectState name="classification" value="*executable*"/>
		                </and>
	                </or>
                </and> 
            </enablement>
        </decorator>
        <decorator
            id="org.eclipse.rse.core.java.executable.decorator" 
            label="%JavaExecutableDecorator.label" 
            state="true" 
            lightweight="true" 
            icon="icons/full/ovr16/exec_ovr.gif" 
            location="BOTTOM_LEFT"> 
            <enablement>
            	<and>
                	<objectClass name="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
                	<objectState name="classification" value="*executable(java:*)*"/>
                </and> 
            </enablement>
        </decorator>
        <decorator
            id="org.eclipse.rse.core.library.decorator" 
            label="%LibraryDecorator.label" 
            state="true" 
            lightweight="true" 
            icon="icons/full/ovr16/sharedlib_ovr.gif" 
            location="BOTTOM_LEFT"> 
            <enablement>
            	<and> 
                	<objectClass name="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
    				<or>
    					<objectState name="classification" value="*module*"/>
    					<objectState name="classification" value="*archive*"/>
    					<objectState name="classification" value="*shared object*"/>
    					<objectState name="extension" value="so a so so.*"/>
    				</or>
                </and> 
            </enablement>
        </decorator>
        <decorator
            id="org.eclipse.rse.core.link.decorator" 
            label="%LinkDecorator.label" 
            state="true" 
            lightweight="true" 
            icon="icons/full/ovr16/symblclnk_ovr.gif" 
            location="TOP_LEFT"> 
            <enablement>
            	<and>
                	<objectClass name="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"/>
                	<objectState name="classification" value="symbolic link*"/>
                </and> 
            </enablement>
        </decorator>

    </extension>
      <extension point="org.eclipse.ui.popupMenus">
	      <objectContribution
            objectClass="org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile"
            id="org.eclipse.rse.files.ui.actions.synchronizeCache">          
                <visibility> 
                  <and>
                    <or>
                    	<objectState name="isdirectory" value="true"/>    
                    	<objectState name="isfile" value="true"/>  
                    </or>	
                    <objectState name="isroot" value="false"/> 
                  </and>                  
                </visibility>        
         <action
               label="%synchronizeCache.label"
                tooltip="%synchronizeCache.tooltip"
               class="org.eclipse.rse.internal.files.ui.actions.SynchronizeCacheActionDelegate"
               menubarPath="group.importexport"
               id="synchronizeCache">
               <enablement>
                <objectState name="offline" value="false"/>
               </enablement>
         </action>
      </objectContribution>
      </extension>
      
      <extension
         point="org.eclipse.ui.viewActions">   
    	 <viewContribution
            targetID="org.eclipse.rse.ui.view.systemView"
            id="org.eclipse.rse.ui.view.systemView.toolbar">
        	 <action
               id="org.eclipse.rse.ui.view.systemView.toolbar.linkWithSystemView"
               toolbarPath="navigationGroup"
               class="org.eclipse.rse.internal.files.ui.actions.LinkWithSystemViewAction"
               icon="$nl$/icons/full/elcl16/synced.gif"
               style="toggle"
               helpContextId="link_editor_with_system_view_action_context"
               label="%LinkWithSystemView.label">
        	 </action>
	     </viewContribution>
	   </extension>
	   
	 <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IResource"   
            id="org.eclipse.rse.ui.ShowResourceInSystemsView">
         <action id="org.eclipse.rse.ui.ShowResourceInSystemsViewAction"
               label="%ShowInRSEView.label"
               tooltip="%ShowInRSEView.tooltip"
               class="org.eclipse.rse.internal.files.ui.actions.ShowResourceInSystemsViewDelegate">
               menubarPath="group.goto"
               enablesFor="1"               
               id="showResourceInSystemsView">
         </action>
        </objectContribution>
     </extension>
</plugin>
 