<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?><!--
     Copyright (c) 2005, 2012 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
    
     Contributors:
         IBM Corporation - initial API and implementation
         Anna Dushistova (MontaVista) - [331213] added a unit test for scp files subsystem
 -->

<plugin>
   <extension point="org.eclipse.rse.tests.framework.suites">
      <suite type="org.eclipse.rse.tests.RSECombinedTestSuite" name="RSE Combined Test Suite"/>
      	<type name="org.eclipse.rse.tests.RSECombinedTestSuite" class="org.eclipse.rse.tests.RSECombinedTestSuite" />
      
      <suite type="org.eclipse.rse.tests.internal.RSEInternalFrameworkTestSuite" name="RSE Internal Framework Test Suite"/>
      	<type name="org.eclipse.rse.tests.internal.RSEInternalFrameworkTestSuite" class="org.eclipse.rse.tests.internal.RSEInternalFrameworkTestSuite" />
      
      <suite type="org.eclipse.rse.tests.core.connection.RSEConnectionTestSuite" name="RSE Connection Test Suite"/>
      	<type name="org.eclipse.rse.tests.core.connection.RSEConnectionTestSuite" class="org.eclipse.rse.tests.core.connection.RSEConnectionTestSuite" />

      <suite type="org.eclipse.rse.tests.subsystems.files.RSEFileSubsystemTestSuite" name="RSEFileSubsystemTestSuite"/>
      	<type name="org.eclipse.rse.tests.subsystems.files.RSEFileSubsystemTestSuite" class="org.eclipse.rse.tests.subsystems.files.RSEFileSubsystemTestSuite" />

      <suite type="org.eclipse.rse.tests.subsystems.shells.RSEShellSubsystemTestSuite" name="RSEShellSubsystemTestSuite"/>
      	<type name="org.eclipse.rse.tests.subsystems.shells.RSEShellSubsystemTestSuite" class="org.eclipse.rse.tests.subsystems.shells.RSEShellSubsystemTestSuite" />

      <suite type="org.eclipse.rse.tests.persistence.PersistenceTestSuite" name="RSE Persistence Test Suite"/>
      	<type name="org.eclipse.rse.tests.persistence.PersistenceTestSuite" class="org.eclipse.rse.tests.persistence.PersistenceTestSuite" />
   </extension>

	<!-- Do not replace the use of systemTypes here as long it only deprecated! -->
	<extension point="org.eclipse.rse.core.subsystemConfigurations">
		<configuration
			id="org.eclipse.rse.tests.subsystems.TestSubSystem"
			systemTypeIds="org.eclipse.rse.systemtype.local;org.eclipse.rse.systemtype.windows"
			name="Tests"
			class="org.eclipse.rse.tests.internal.testsubsystem.TestSubSystemConfiguration"
			category="users"
			vendor="Eclipse.org"
			description="Test Subsystem"
			iconlive="icons/systemconnectionlive.gif"
			icon="icons/systemconnection.gif"
      priority="50000">
		</configuration>

		<configuration
			id="org.eclipse.rse.tests.subsystems.TestSubSystem2"
			systemTypeIds="org.eclipse.rse.tests.*"
			name="Tests2"
			class="org.eclipse.rse.tests.internal.testsubsystem.TestSubSystemConfiguration"
			category="users"
			vendor="Eclipse.org"
			description="Test Subsystem 2"
			iconlive="icons/systemconnectionlive.gif"
			icon="icons/systemconnection.gif"
			priority="100000">
		</configuration>

		<!-- Do not replace the use of systemTypes here as long it only deprecated! -->
		<configuration
			id="org.eclipse.rse.tests.subsystems.TestSubSystem3"
			systemTypeIds="org.eclipse.rse.systemtype.*n?x"
			name="%testSubSystem3Name"
			class="org.eclipse.rse.tests.internal.testsubsystem.TestSubSystemConfiguration"
			category="users"
			vendor="%providerName"
			description="%testSubSystem3Description"
			iconlive="icons/systemconnectionlive.gif"
			icon="icons/systemconnection.gif"
			priority="2000">
		</configuration>

      <configuration
            id="org.eclipse.rse.tests.subsystems.ftp.windows"
            systemTypeIds="org.eclipse.rse.tests.systemType.ftp.windows"
            name="FTP Windows"
            description="FTP Windows Description"
            category="files"
            class="org.eclipse.rse.tests.subsystems.files.FTPWindowsFileSubSystemConfiguration"
            priority="100"
            vendor="Tests"
            serviceType="_ftp._tcp">
      </configuration>

	</extension>
	
 <extension
       point="org.eclipse.rse.core.systemTypes">
    <systemType
          label="%testSystemTypeLabel"
          description="%testSystemTypeDescription"
          enableOffline="false"
          id="org.eclipse.rse.tests.testSystemType"
          name="Tests Only">
    </systemType>
    <systemType
          enableOffline="false"
          id="org.eclipse.rse.tests.systemType.ftp.windows"
          label="FTP Windows"
          name="FTP Windows">
       <property
             name="isWindows"
             value="true">
       </property>
    </systemType>
      <systemType
       description="Linux without shells subsystem"
            id="org.eclipse.rse.tests.systemType.sshTerminal"
            label="Ssh without shells"
            name="Ssh without shells"
            subsystemConfigurationIds="ssh.terminals;ssh.files;processes.shell.linux">
      </systemType>
      <systemType
       description="Linux with scp subsystem"
            id="org.eclipse.rse.tests.systemType.scpFiles"
            label="Ssh with scp"
            name="Ssh with scp"
            subsystemConfigurationIds="ssh.terminals;scp.files;processes.shell.linux">
      </systemType>
      <systemType
       description="FTP with SSH Shell"
            id="org.eclipse.rse.tests.systemType.ftpSsh"
            label="FTP with SSH shell"
            name="FTP with SSH shell"
            subsystemConfigurationIds="ssh.shells;ftp.files">
      </systemType>
 </extension>
 
 <extension point="org.eclipse.rse.core.modelInitializers">
 	<modelInitializer class="org.eclipse.rse.tests.initialization.GoodInitializer"/>
 	<modelInitializer class="org.eclipse.rse.tests.initialization.BadInitializer"/>
 	<modelInitializer class="org.eclipse.rse.tests.initialization.UglyInitializer"/>
 	<modelInitializer class="org.eclipse.rse.tests.initialization.ListenerInitializer"/>
 </extension>

   <extension point="org.eclipse.ui.decorators">
	  <decorator
	         label="RSE Model Object Test Decorator"
	         state="false"
	         adaptable="true"
	         class="org.eclipse.rse.tests.decorators.RSEModelObjectTestDecorator"
	         id="org.eclipse.rse.tests.decorators.RSEModelObjectTestDecorator">
		 <enablement>
        <or>
            <objectClass name="org.eclipse.rse.ui.model.ISystemPromptableObject"/>
            <objectClass name="org.eclipse.rse.ui.wizards.newconnection.RSENewConnectionWizardSelectionTreeElement"/>
            <objectClass name="org.eclipse.rse.core.model.IRSEModelObject">
            </objectClass>            
        </or>
 		 </enablement>
	  </decorator>	
   </extension>
 
</plugin>
