Class RemediationOperation
- java.lang.Object
-
- org.eclipse.equinox.p2.operations.ProfileChangeOperation
-
- org.eclipse.equinox.p2.operations.RemediationOperation
-
- All Implemented Interfaces:
IProfileChangeJob
public class RemediationOperation extends ProfileChangeOperation
EXPERIMENTAL. This class or interface has been added as part of a work in progress. There is no guarantee that this API will work or that it will remain the same. Please do not use this API without consulting with the p2 team.
- Since:
- 2.3
- Restriction:
-
-
Constructor Summary
Constructors Constructor Description RemediationOperation(ProvisioningSession session, IProfileChangeRequest iProfileChangeRequest)RemediationOperation(ProvisioningSession session, IProfileChangeRequest originalRequest, RemedyConfig[] remedyConfigs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RemedybestSolutionChangingTheRequest()RemedybestSolutionChangingWhatIsInstalled()protected voidcomputeProfileChangeRequest(MultiStatus status, IProgressMonitor monitor)Compute the profile change request for this operation, adding any relevant intermediate status to the supplied status.RemedygetCurrentRemedy()org.eclipse.equinox.internal.p2.director.ProfileChangeRequestgetOriginalRequest()ProvisioningJobgetProvisioningJob(IProgressMonitor monitor)Return a provisioning job that can be used to perform the resolved operation.protected StringgetProvisioningJobName()Return an appropriate name for the provisioning job.List<Remedy>getRemedies()RemedyConfig[]getRemedyConfigs()IStatusgetResolutionResult()Return a status indicating the result of resolving this operation.protected StringgetResolveJobName()Return an appropriate name for the resolution job.voidsetCurrentRemedy(Remedy currentRemedy)-
Methods inherited from class org.eclipse.equinox.p2.operations.ProfileChangeOperation
getProfileChangeRequest, getProfileId, getProvisioningContext, getProvisioningPlan, getResolutionDetails, getResolutionDetails, getResolveJob, hasResolved, prepareToResolve, resolveModal, setProfileId, setProvisioningContext, updateJobProvisioningContexts
-
-
-
-
Constructor Detail
-
RemediationOperation
public RemediationOperation(ProvisioningSession session, IProfileChangeRequest iProfileChangeRequest)
-
RemediationOperation
public RemediationOperation(ProvisioningSession session, IProfileChangeRequest originalRequest, RemedyConfig[] remedyConfigs)
-
-
Method Detail
-
getRemedyConfigs
public RemedyConfig[] getRemedyConfigs()
-
getCurrentRemedy
public Remedy getCurrentRemedy()
-
setCurrentRemedy
public void setCurrentRemedy(Remedy currentRemedy)
-
bestSolutionChangingTheRequest
public Remedy bestSolutionChangingTheRequest()
-
bestSolutionChangingWhatIsInstalled
public Remedy bestSolutionChangingWhatIsInstalled()
-
computeProfileChangeRequest
protected void computeProfileChangeRequest(MultiStatus status, IProgressMonitor monitor)
Description copied from class:ProfileChangeOperationCompute the profile change request for this operation, adding any relevant intermediate status to the supplied status.- Specified by:
computeProfileChangeRequestin classProfileChangeOperation- Parameters:
status- a multi-status to be used to add relevant status. If a profile change request cannot be computed for any reason, a status should be added to explain the problem.monitor- the progress monitor to use for computing the profile change request
-
getResolveJobName
protected String getResolveJobName()
Description copied from class:ProfileChangeOperationReturn an appropriate name for the resolution job.- Specified by:
getResolveJobNamein classProfileChangeOperation- Returns:
- the resolution job name.
-
getProvisioningJobName
protected String getProvisioningJobName()
Description copied from class:ProfileChangeOperationReturn an appropriate name for the provisioning job.- Specified by:
getProvisioningJobNamein classProfileChangeOperation- Returns:
- the provisioning job name.
-
getProvisioningJob
public ProvisioningJob getProvisioningJob(IProgressMonitor monitor)
Description copied from class:ProfileChangeOperationReturn a provisioning job that can be used to perform the resolved operation. The job is created using the default values associated with a new job. It is up to clients to configure the priority of the job and set any appropriate properties, such asJob.setUser(boolean),Job.setSystem(boolean), orJob.setProperty(QualifiedName, Object), before scheduling it.- Overrides:
getProvisioningJobin classProfileChangeOperation- Parameters:
monitor- a progress monitor that should be used to report the job's progress in addition to the standard job progress reporting. Can benull. If provided, this monitor will be called from a background thread.- Returns:
- a job that can be used to perform the provisioning operation. This may be
nullif the operation has not been resolved, or if a plan could not be obtained when attempting to resolve. If the job is null and the operation has been resolved, then the resolution result will explain the problem. - See Also:
ProfileChangeOperation.hasResolved(),ProfileChangeOperation.getResolutionResult()
-
getOriginalRequest
public org.eclipse.equinox.internal.p2.director.ProfileChangeRequest getOriginalRequest()
-
getResolutionResult
public IStatus getResolutionResult()
Description copied from class:ProfileChangeOperationReturn a status indicating the result of resolving this operation. Anullreturn indicates that resolving has not occurred yet.- Overrides:
getResolutionResultin classProfileChangeOperation- Returns:
- the status of the resolution, or
nullif resolution has not yet occurred.
-
-