public RequirementRegistration(String requiredName, String dependentName, CapabilityScope dependentContext) { this(requiredName, new CapabilityId(dependentName, dependentContext)); }
public RequirementRegistration(String requiredName, String dependentName, CapabilityScope dependentContext) { this(requiredName, new CapabilityId(dependentName, dependentContext)); }
private void removeRequirement(String required, CapabilityScope context, Step step) { CapabilityId id = new CapabilityId(required, context); Set<Step> dependents = addedRequirements.get(id); if (dependents != null) { //noinspection SynchronizationOnLocalVariableOrMethodParameter synchronized (dependents) { dependents.remove(step); } } }
private void removeRequirement(String required, CapabilityScope context, Step step) { CapabilityId id = new CapabilityId(required, context); Set<Step> dependents = addedRequirements.get(id); if (dependents != null) { //noinspection SynchronizationOnLocalVariableOrMethodParameter synchronized (dependents) { dependents.remove(step); } } }
public CapabilityRegistration(C capability, CapabilityScope scope) { this.capability = capability; this.id = new CapabilityId(capability.getName(), scope); }
public CapabilityRegistration(C capability, CapabilityScope scope) { this.capability = capability; this.id = new CapabilityId(capability.getName(), scope); }
private RuntimeStatus getDependentCapabilityStatus(Map<String, RuntimeRequirementRegistration> dependents, CapabilityId requiror, Set<CapabilityId> examined) { RuntimeStatus result = RuntimeStatus.NORMAL; if (dependents != null) { for (String dependent : dependents.keySet()) { CapabilityScope requirorScope = requiror.getScope(); List<CapabilityScope> toCheck = requirorScope == CapabilityScope.GLOBAL ? Collections.singletonList(requirorScope) : Arrays.asList(requirorScope, CapabilityScope.GLOBAL); for (CapabilityScope scope : toCheck) { CapabilityId dependentId = new CapabilityId(dependent, scope); if (!examined.contains(dependentId)) { RuntimeStatus status = getCapabilityStatus(dependentId, examined); if (status == RuntimeStatus.RESTART_REQUIRED) { return status; // no need to check anything else } else if (status == RuntimeStatus.RELOAD_REQUIRED) { result = status; } } } } } return result; }
private RuntimeStatus getDependentCapabilityStatus(Map<String, RuntimeRequirementRegistration> dependents, CapabilityId requiror, Set<CapabilityId> examined) { RuntimeStatus result = RuntimeStatus.NORMAL; if (dependents != null) { for (String dependent : dependents.keySet()) { CapabilityScope requirorScope = requiror.getScope(); List<CapabilityScope> toCheck = requirorScope == CapabilityScope.GLOBAL ? Collections.singletonList(requirorScope) : Arrays.asList(requirorScope, CapabilityScope.GLOBAL); for (CapabilityScope scope : toCheck) { CapabilityId dependentId = new CapabilityId(dependent, scope); if (!examined.contains(dependentId)) { RuntimeStatus status = getCapabilityStatus(dependentId, examined); if (status == RuntimeStatus.RESTART_REQUIRED) { return status; // no need to check anything else } else if (status == RuntimeStatus.RELOAD_REQUIRED) { result = status; } } } } } return result; }
private ModelNode getRequiredCapabilityDefinition(ModelNode attrDescription, CapabilityScope scope, boolean isProfile, String attributeName) { ModelNode capability = new ModelNode(); String capabilityName = attrDescription.get(CAPABILITY_REFERENCE).asString(); final String baseName; if (capabilityName.indexOf('$') > 0) { baseName = capabilityName.substring(0, capabilityName.indexOf('$') - 1); } else { baseName = capabilityName; } CapabilityRegistration<?> capReg = getCapability(new CapabilityId(baseName, scope)); if (capReg == null || capReg.getCapability().isDynamicallyNamed() && capabilityName.indexOf('$') <= 0) { capabilityName = baseName + ".$" + attributeName; } if (attrDescription.hasDefined(CAPABILITY_REFERENCE_PATTERN_ELEMENTS)) { List<String> elements = new ArrayList<>(); for (ModelNode elt : attrDescription.get(CAPABILITY_REFERENCE_PATTERN_ELEMENTS).asList()) { elements.add("$" + elt.asString()); } capabilityName = RuntimeCapability.buildDynamicCapabilityName(baseName, elements.toArray(new String[elements.size()])); } capability.get(OPTIONAL).set(attrDescription.hasDefined(NILLABLE) && attrDescription.get(NILLABLE).asBoolean()); if (isProfile) { if (!capabilityName.startsWith("org.wildfly.network.socket-binding")) { capabilityName = PROFILE_PREFIX + capabilityName; } } capability.get(NAME).set(capabilityName); return capability; }
CapabilityId requestedId = new CapabilityId(capabilityName, dependentContext); if (capabilities.containsKey(requestedId)) { return new SatisfactoryCapability(requestedId); CapabilityId satisfiesId = new CapabilityId(capabilityName, satisfies); if (capabilities.containsKey(satisfiesId) && satisfies.canSatisfyRequirement(capabilityName, dependentContext, resolutionContext)) { if (!requireConsistency || !satisfies.requiresConsistencyCheck()) {
private ModelNode getRequiredCapabilityDefinition(ModelNode attrDescription, CapabilityScope scope, boolean isProfile, String attributeName) { ModelNode capability = new ModelNode(); String capabilityName = attrDescription.get(CAPABILITY_REFERENCE).asString(); final String baseName; if (capabilityName.indexOf('$') > 0) { baseName = capabilityName.substring(0, capabilityName.indexOf('$') - 1); } else { baseName = capabilityName; } CapabilityRegistration<?> capReg = getCapability(new CapabilityId(baseName, scope)); if (capReg == null || capReg.getCapability().isDynamicallyNamed() && capabilityName.indexOf('$') <= 0) { capabilityName = baseName + ".$" + attributeName; } if (attrDescription.hasDefined(CAPABILITY_REFERENCE_PATTERN_ELEMENTS)) { List<String> elements = new ArrayList<>(); for (ModelNode elt : attrDescription.get(CAPABILITY_REFERENCE_PATTERN_ELEMENTS).asList()) { elements.add("$" + elt.asString()); } capabilityName = RuntimeCapability.buildDynamicCapabilityName(baseName, elements.toArray(new String[elements.size()])); } capability.get(OPTIONAL).set(attrDescription.hasDefined(NILLABLE) && attrDescription.get(NILLABLE).asBoolean()); if (isProfile) { if (!capabilityName.startsWith("org.wildfly.network.socket-binding")) { capabilityName = PROFILE_PREFIX + capabilityName; } } capability.get(NAME).set(capabilityName); return capability; }
CapabilityId requestedId = new CapabilityId(capabilityName, dependentContext); if (capabilities.containsKey(requestedId)) { return new SatisfactoryCapability(requestedId); CapabilityId satisfiesId = new CapabilityId(capabilityName, satisfies); if (capabilities.containsKey(satisfiesId) && satisfies.canSatisfyRequirement(capabilityName, dependentContext, resolutionContext)) { if (!requireConsistency || !satisfies.requiresConsistencyCheck()) {
CapabilityId capabilityId = new CapabilityId(capability.getName(), CapabilityScope.GLOBAL); CapabilityRegistration<?> removed = null; writeLock.lock();
CapabilityId capabilityId = new CapabilityId(capability.getName(), CapabilityScope.GLOBAL); CapabilityRegistration<?> removed = null; writeLock.lock();
readLock.lock(); try { final CapabilityId capId = capabilityId.getScope() == CapabilityScope.GLOBAL ? capabilityId : new CapabilityId(capabilityId.getName(), CapabilityScope.GLOBAL); //possible registry is only in global scope CapabilityRegistration<?> reg = possibleCapabilities.get(capId); if (reg != null) {
readLock.lock(); try { final CapabilityId capId = capabilityId.getScope() == CapabilityScope.GLOBAL ? capabilityId : new CapabilityId(capabilityId.getName(), CapabilityScope.GLOBAL); //possible registry is only in global scope CapabilityRegistration<?> reg = possibleCapabilities.get(capId); if (reg != null) {
CapabilityId id = new CapabilityId(referencedCapability, CapabilityScope.GLOBAL); Set<PathAddress> possibleProviders = new HashSet<>(getPossibleProviderPoints(id));
final CapabilityId capabilityId = new CapabilityId(capability.getName(), CapabilityScope.GLOBAL); RegistrationPoint point = new RegistrationPoint(registrationPoint, null); CapabilityRegistration<?> capabilityRegistration = new CapabilityRegistration<>(capability, CapabilityScope.GLOBAL, point);
final CapabilityId capabilityId = new CapabilityId(capability.getName(), CapabilityScope.GLOBAL); RegistrationPoint point = new RegistrationPoint(registrationPoint, null); CapabilityRegistration<?> capabilityRegistration = new CapabilityRegistration<>(capability, CapabilityScope.GLOBAL, point);
NAME.validateAndSet(operation, model); final String name = NAME.resolveModelAttribute(context, model).asString(); CapabilityId id = new CapabilityId(name, CapabilityScope.GLOBAL); //for possible capabilities it is always global Set<PathAddress> providerPoints = capabilityRegistry.getPossibleProviderPoints(id); for (PathAddress point : providerPoints) { scope = CapabilityScope.GLOBAL; CapabilityId id = new CapabilityId(name, scope); CapabilityRegistration reg = capabilityRegistry.getCapability(id); if (reg!=null) {