private void fillActions(JwList<AcAction> actions, boolean skipRevokedActions) { enterMonitor("AcActionSnapshotLoader.fillActions"); try { // debug("B", "fillNonRevokedActions"); JwSet<Integer> itemIds = new JwSet<Integer>(); JwSet<Integer> nestIds = new JwSet<Integer>(); JwSet<Integer> aliasIds = new JwSet<Integer>(); JwSet<Integer> flightIds = new JwSet<Integer>(); if (hasEntanglement()) { itemIds.addAll(_entanglement.getItemIds()); nestIds.addAll(_entanglement.getNestIds()); aliasIds.addAll(_entanglement.getAliasIds()); flightIds.addAll(_entanglement.getFlightIds()); } for (AcAction a : actions) { if (skipRevokedActions && a.hasStatusRevoked() && a.hasPendingChangeNone()) continue; a.collectItemIdsOn(itemIds); a.collectNestIdsOn(nestIds); a.collectAliasIdsOn(aliasIds); a.collectFlightIdsOn(flightIds); } fillItems(itemIds); AcBatchItem.collectNestIdsOn(_items.values(), nestIds); AcBatchItem.collectFlightIdsOn(_items.values(), flightIds); // load aliases before nests fillAliases(aliasIds); AcBatchAlias.collectNestIdsOn(_aliases.values(), nestIds); fillNests(nestIds); AcBatchNest.collectFlightIdsOn(_nests.values(), flightIds); fillFlights(flightIds); fillGroups(); testAllItemsAndNestsLoaded(); } finally { exitMonitor(); } }
private void loadMissing(boolean logMissing) { JwSet<Integer> nestIds = new JwSet<Integer>(); AcBatchItem.collectNestIdsOn(_items.values(), nestIds); removeLoadedIds(nestIds, _nests.keySet()); if (logMissing && nestIds.isNotEmpty()) logMissing("nests", nestIds); fillNests(nestIds); JwSet<Integer> aliasIds = new JwSet<Integer>(); AcBatchNest.collectAliasIdsOn(_nests.values(), aliasIds); removeLoadedIds(aliasIds, _aliases.keySet()); if (logMissing && aliasIds.isNotEmpty()) logMissing("aliases", aliasIds); fillAliases(aliasIds); JwSet<Integer> flightIds = new JwSet<Integer>(); AcBatchItem.collectFlightIdsOn(_items.values(), flightIds); AcBatchNest.collectFlightIdsOn(_nests.values(), flightIds); removeLoadedIds(flightIds, _flights.keySet()); if (logMissing && flightIds.isNotEmpty()) logMissing("flights", flightIds); fillFlights(flightIds); }