org.opends.server.util
Class VersionCompatibilityIssue

java.lang.Object
  extended by org.opends.server.util.VersionCompatibilityIssue

@PublicAPI(stability=VOLATILE,
           mayInstantiate=false,
           mayExtend=false,
           mayInvoke=true)
public final class VersionCompatibilityIssue
extends java.lang.Object

Record for version compatibility issues (also known as 'flag days') which are events associated with particular builds or builds between which upgrade or reversion may required additional steps, notification of issues, or be prohibited altogether.


Nested Class Summary
static class VersionCompatibilityIssue.Cause
          Unique descriptor of an event that created a flag day for one or more versions of the OpenDS codebase.
static class VersionCompatibilityIssue.Effect
          Effects cause the upgrade and revision tools to behave in specific ways in response to compatibility issues.
 
Method Summary
static java.util.List<VersionCompatibilityIssue> getAllEvents()
          Gets the list of all registered issues.
 VersionCompatibilityIssue.Cause getCause()
          Gets the cause of this issue.
static java.util.List<VersionCompatibilityIssue> getEvents(BuildVersion from)
          Returns events that have happened in between the SVN revision numbers of two different builds.
static java.util.List<VersionCompatibilityIssue> getEvents(java.util.Collection<java.lang.Integer> excludeIds, org.opends.quicksetup.BuildInformation current, org.opends.quicksetup.BuildInformation neu)
          Gets the list of all registered issues excluding the issues specified by excludeIds.
 BuildVersion getVersion()
          Gets the build version for which this issue applies.
 java.lang.String toString()
          Retrieves a string representation of this version compatibility issue.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getAllEvents

public static java.util.List<VersionCompatibilityIssue> getAllEvents()
Gets the list of all registered issues.

Returns:
list of issues sorted by build version in which they appear

getEvents

public static java.util.List<VersionCompatibilityIssue> getEvents(java.util.Collection<java.lang.Integer> excludeIds,
                                                                  org.opends.quicksetup.BuildInformation current,
                                                                  org.opends.quicksetup.BuildInformation neu)
Gets the list of all registered issues excluding the issues specified by excludeIds.

Parameters:
excludeIds - collection of IDs representing issues that will not be returned in the list
current - build version
neu - build version
Returns:
list of issues sorted by build version in which they appear

getEvents

public static java.util.List<VersionCompatibilityIssue> getEvents(BuildVersion from)
Returns events that have happened in between the SVN revision numbers of two different builds. Note that this method does not necessarily return all events that are pertinent. For instance a partilar event may have happend in a branch that we don't care about for the current upgrade. So this method should really just be used as a fall-back in the case where we are upgrading/reverting a build that was not instrumented to return the Upgrade Event IDs using start-ds -F.

Parameters:
from - build from which events will be returned
Returns:
List or IncompatibleVersionEvent objects

getCause

public VersionCompatibilityIssue.Cause getCause()
Gets the cause of this issue.

Returns:
the cause

getVersion

public BuildVersion getVersion()
Gets the build version for which this issue applies.

Returns:
build version

toString

public java.lang.String toString()
Retrieves a string representation of this version compatibility issue.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this version compatibility issue.