blob: 915f275095bebf764e11553f145d525b15040105 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<!-- Model node factory delegate contributions -->
<extension point="org.eclipse.tcf.te.runtime.model.factoryDelegates">
<delegate
class="org.eclipse.tcf.te.tcf.processes.core.model.internal.factory.ModelNodeFactoryDelegate"
id="org.eclipse.tcf.te.tcf.processes.core.model.factory.delegate">
<nodeType class="org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode"/>
</delegate>
</extension>
<!-- Service contributions -->
<extension point="org.eclipse.tcf.te.runtime.services.services">
<service
class="org.eclipse.tcf.te.tcf.processes.core.services.StepperOperationService"
id="org.eclipse.tcf.te.tcf.processes.core.services.stepper">
<serviceType
bundleId="org.eclipse.tcf.te.runtime.stepper"
class="org.eclipse.tcf.te.runtime.stepper.interfaces.IStepperOperationService">
</serviceType>
<enablement>
<adapt type="org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerNode">
<test property="org.eclipse.tcf.te.tcf.locator.hasOfflineService" value="Processes"/>
</adapt>
</enablement>
</service>
<service
class="org.eclipse.tcf.te.tcf.core.model.services.PropertiesAccessService"
id="org.eclipse.tcf.te.tcf.processes.services.tcf.propertiesAccess">
<serviceType
bundleId="org.eclipse.tcf.te.runtime.services"
class="org.eclipse.tcf.te.runtime.services.interfaces.IPropertiesAccessService"/>
<enablement>
<or>
<instanceof value="org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode"/>
<instanceof value="org.eclipse.tcf.te.tcf.processes.core.model.runtime.RuntimeModel"/>
</or>
</enablement>
</service>
</extension>
<!-- Persistence delegate contributions -->
<extension point="org.eclipse.tcf.te.runtime.persistence.delegates">
<delegate
id="org.eclipse.tcf.te.tcf.processes.core.persistence.gson.processContextItem"
class="org.eclipse.tcf.te.tcf.processes.core.persistence.GsonProcessContextItemPersistenceDelegate">
</delegate>
</extension>
<!-- Persistence delegate bindings contributions -->
<extension
point="org.eclipse.tcf.te.runtime.persistence.bindings">
<binding
delegateId="org.eclipse.tcf.te.tcf.processes.core.persistence.gson.processContextItem"
id="org.eclipse.tcf.te.tcf.processes.core.persistence.binding.gson.map">
<enablement>
<with variable="container">
<or>
<instanceof value="java.lang.String"/>
<and>
<instanceof value="java.lang.Class"/>
<with variable="containerClass">
<equals value="java.lang.String"/>
</with>
</and>
</or>
</with>
<with variable="context">
<or>
<instanceof value="org.eclipse.tcf.te.tcf.processes.core.interfaces.IProcessContextItem"/>
<and>
<instanceof value="java.lang.Class"/>
<with variable="contextClass">
<equals value="org.eclipse.tcf.te.tcf.processes.core.interfaces.IProcessContextItem"/>
</with>
</and>
</or>
</with>
</enablement>
</binding>
</extension>
<!-- Eclipse core expressions property tester -->
<extension point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="org.eclipse.tcf.te.tcf.processes.core.model.properties.PropertyTester"
id="org.eclipse.tcf.te.tcf.processes.core.model.properties"
namespace="org.eclipse.tcf.te.tcf.processes.core"
properties="isAttached,canAttach,hasProcessContext,canTerminate,hasCapability"
type="org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode">
</propertyTester>
</extension>
<!-- Step contributions -->
<extension point="org.eclipse.tcf.te.runtime.stepper.steps">
<step
id="org.eclipse.tcf.te.tcf.processes.core.launchProcessStep"
class="org.eclipse.tcf.te.tcf.processes.core.steps.LaunchProcessStep"
label="%LaunchProcessStep.name"/>
<step
id="org.eclipse.tcf.te.tcf.processes.core.resumeProcessStep"
class="org.eclipse.tcf.te.tcf.processes.core.steps.ResumeProcessStep"
label="%ResumeProcessStep.name">
<requires id="org.eclipse.tcf.te.tcf.core.openChannelStep"/>
</step>
<step
class="org.eclipse.tcf.te.tcf.processes.core.steps.InitializeModelStep"
id="org.eclipse.tcf.te.tcf.processes.core.initializeModelStep"
label="%InitializeModelStep.name">
</step>
<step
class="org.eclipse.tcf.te.tcf.processes.core.steps.DisposeModelStep"
id="org.eclipse.tcf.te.tcf.processes.core.disposeModelStep"
label="%DisposeModelStep.name">
</step>
<step
id="org.eclipse.tcf.te.tcf.processes.core.attachContextStep"
class="org.eclipse.tcf.te.tcf.processes.core.steps.AttachContextStep"
label="%AttachContextStep.name"/>
</extension>
<!-- Step group contributions -->
<extension point="org.eclipse.tcf.te.runtime.stepper.stepGroups">
<stepGroup id="org.eclipse.tcf.te.tcf.locator.connectNoAttachStepGroup">
<references>
<reference
id="org.eclipse.tcf.te.tcf.processes.core.initializeModelStep"
insertAfter="org.eclipse.tcf.te.tcf.locator.waitForReadyStepGroup"/>
</references>
</stepGroup>
<stepGroup id="org.eclipse.tcf.te.tcf.locator.disconnectStepGroup">
<references>
<reference
id="org.eclipse.tcf.te.tcf.processes.core.disposeModelStep"
insertBefore="org.eclipse.tcf.te.tcf.core.shutDownStep"/>
</references>
</stepGroup>
<stepGroup id="org.eclipse.tcf.te.tcf.locator.connectionRecoveringStepGroup">
<references>
<reference
id="org.eclipse.tcf.te.tcf.processes.core.initializeModelStep"
insertAfter="org.eclipse.tcf.te.tcf.locator.waitForReadyStep"/>
</references>
</stepGroup>
<stepGroup id="org.eclipse.tcf.te.tcf.locator.connectionLostStepGroup">
<references>
<reference
id="org.eclipse.tcf.te.tcf.processes.core.disposeModelStep"
insertBefore="org.eclipse.tcf.te.tcf.core.shutDownStep"/>
</references>
</stepGroup>
<stepGroup
id="org.eclipse.tcf.te.tcf.processes.core.attachStepGroup"
label="%AttachStepGroup.name">
<references>
<reference id="org.eclipse.tcf.te.tcf.core.openChannelStep"/>
<reference id="org.eclipse.tcf.te.tcf.processes.core.internal.attachStepGroup"/>
<reference id="org.eclipse.tcf.te.tcf.locator.startDebuggerStep">
<parameter name="forceStart" value="true"/>
</reference>
<reference id="org.eclipse.tcf.te.tcf.core.closeChannelStep"/>
</references>
</stepGroup>
<stepGroup
id="org.eclipse.tcf.te.tcf.processes.core.internal.attachStepGroup"
label="%AttachStepGroup.name"
iterator="org.eclipse.tcf.te.tcf.processes.core.steps.AttachContextsIterator">
<references>
<reference id="org.eclipse.tcf.te.tcf.processes.core.attachContextStep"/>
</references>
</stepGroup>
</extension>
</plugin>