private RuntimeRequirementRegistration removeRequirement(RuntimeRequirementRegistration requirementRegistration, boolean optional) { assert writeLock.isHeldByCurrentThread(); Map<CapabilityId, Map<String, RuntimeRequirementRegistration>> requirementMap = optional ? runtimeOnlyRequirements : requirements; Map<String, RuntimeRequirementRegistration> dependents = requirementMap.get(requirementRegistration.getDependentId()); RuntimeRequirementRegistration result = null; if (dependents != null) { RuntimeRequirementRegistration rrr = dependents.get(requirementRegistration.getRequiredName()); if (rrr != null) { rrr.removeRegistrationPoint(requirementRegistration.getOldestRegistrationPoint()); if (rrr.getRegistrationPointCount() == 0) { result = dependents.remove(requirementRegistration.getRequiredName()); } if (dependents.size() == 0) { requirementMap.remove(requirementRegistration.getDependentId()); } modified = true; } } return result; }
private RuntimeRequirementRegistration removeRequirement(RuntimeRequirementRegistration requirementRegistration, boolean optional) { assert writeLock.isHeldByCurrentThread(); Map<CapabilityId, Map<String, RuntimeRequirementRegistration>> requirementMap = optional ? runtimeOnlyRequirements : requirements; Map<String, RuntimeRequirementRegistration> dependents = requirementMap.get(requirementRegistration.getDependentId()); RuntimeRequirementRegistration result = null; if (dependents != null) { RuntimeRequirementRegistration rrr = dependents.get(requirementRegistration.getRequiredName()); if (rrr != null) { rrr.removeRegistrationPoint(requirementRegistration.getOldestRegistrationPoint()); if (rrr.getRegistrationPointCount() == 0) { result = dependents.remove(requirementRegistration.getRequiredName()); } if (dependents.size() == 0) { requirementMap.remove(requirementRegistration.getDependentId()); } modified = true; } } return result; }
/** * This must be called with the write lock held. * @param requirement the requirement */ private void registerRequirement(RuntimeRequirementRegistration requirement) { assert writeLock.isHeldByCurrentThread(); CapabilityId dependentId = requirement.getDependentId(); if (!capabilities.containsKey(dependentId)) { throw ControllerLogger.MGMT_OP_LOGGER.unknownCapabilityInContext(dependentId.getName(), dependentId.getScope().getName()); } Map<CapabilityId, Map<String, RuntimeRequirementRegistration>> requirementMap = requirement.isRuntimeOnly() ? runtimeOnlyRequirements : requirements; Map<String, RuntimeRequirementRegistration> dependents = requirementMap.get(dependentId); if (dependents == null) { dependents = new HashMap<>(); requirementMap.put(dependentId, dependents); } RuntimeRequirementRegistration existing = dependents.get(requirement.getRequiredName()); if (existing == null) { dependents.put(requirement.getRequiredName(), requirement); } else { existing.addRegistrationPoint(requirement.getOldestRegistrationPoint()); } modified = true; }
/** * This must be called with the write lock held. * @param requirement the requirement */ private void registerRequirement(RuntimeRequirementRegistration requirement) { assert writeLock.isHeldByCurrentThread(); CapabilityId dependentId = requirement.getDependentId(); if (!capabilities.containsKey(dependentId)) { throw ControllerLogger.MGMT_OP_LOGGER.unknownCapabilityInContext(dependentId.getName(), dependentId.getScope().getName()); } Map<CapabilityId, Map<String, RuntimeRequirementRegistration>> requirementMap = requirement.isRuntimeOnly() ? runtimeOnlyRequirements : requirements; Map<String, RuntimeRequirementRegistration> dependents = requirementMap.get(dependentId); if (dependents == null) { dependents = new HashMap<>(); requirementMap.put(dependentId, dependents); } RuntimeRequirementRegistration existing = dependents.get(requirement.getRequiredName()); if (existing == null) { dependents.put(requirement.getRequiredName(), requirement); } else { existing.addRegistrationPoint(requirement.getOldestRegistrationPoint()); } modified = true; }
RegistrationPoint rp = reg.getOldestRegistrationPoint(); if (rp.getAttribute() == null) { msg = msg.append('\n').append(ControllerLogger.ROOT_LOGGER.requirementPointSimple(reg.getDependentName(), rp.getAddress().toCLIStyleString()));
RegistrationPoint rp = reg.getOldestRegistrationPoint(); if (rp.getAttribute() == null) { msg = msg.append('\n').append(ControllerLogger.ROOT_LOGGER.requirementPointSimple(reg.getDependentName(), rp.getAddress().toCLIStyleString()));