/** * Get all the contexts. * In state decending order. * * @return all contexts */ public Set<ControllerContext> getAllContexts() { lockRead(); try { LinkedHashSet<ControllerContext> result = new LinkedHashSet<ControllerContext>(); ListIterator<ControllerState> it = stateModel.listIteraror(); if (it.hasNext()) { result.addAll(getContextsByState(it.next())); while (it.hasPrevious()) { result.addAll(getContextsByState(it.previous())); } } result.addAll(errorContexts.values()); return result; } finally { unlockRead(); } }
public Set<ControllerContext> getNotInstalled() { lockWrite(); try { Set<ControllerContext> result = new HashSet<ControllerContext>(errorContexts.values()); for (ControllerState state : stateModel) { if (indexedInstalledState.equals(state)) break; Set<ControllerContext> stateContexts = getContextsByState(state); result.addAll(stateContexts); } return result; } finally { unlockWrite(); } }
Set<ControllerContext> unresolved = getContextsByState(fromState); Set<ControllerContext> resolved = resolveContexts(unresolved, fromState, toState, trace); if (resolved.isEmpty() == false)
if (stateModel.isValidState(nextState)) // only check states with valid next state Set<ControllerContext> stillUnresolved = getContextsByState(state); if (stillUnresolved != null && stillUnresolved.isEmpty() == false)