private void recordCapabilitiesAndRequirements(OperationContext context, Resource resource) throws OperationFailedException { context.deregisterCapability(MailServerDefinition.SERVER_CAPABILITY.getDynamicName(context.getCurrentAddress())); ModelNode model = resource.getModel(); for (AttributeDefinition ad : attributes) { if (ad != null && (model.hasDefined(ad.getName()) || ad.hasCapabilityRequirements())) { ad.removeCapabilityRequirements(context, resource, model.get(ad.getName())); } } }
@Override protected void performRemove(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); if (removeInCurrentStep(resource)) { // We need to remove capabilities *before* removing the resource, since the capability reference resolution might involve reading the resource PathAddress address = context.getCurrentAddress(); for (Map.Entry<Capability, Predicate<ModelNode>> entry : this.descriptor.getCapabilities().entrySet()) { if (entry.getValue().test(model)) { context.deregisterCapability(entry.getKey().resolve(address).getName()); } } ImmutableManagementResourceRegistration registration = context.getResourceRegistration(); for (String attributeName : registration.getAttributeNames(PathAddress.EMPTY_ADDRESS)) { AttributeDefinition attribute = registration.getAttributeAccess(PathAddress.EMPTY_ADDRESS, attributeName).getAttributeDefinition(); if (attribute.hasCapabilityRequirements()) { attribute.removeCapabilityRequirements(context, resource, model.get(attributeName)); } } for (CapabilityReferenceRecorder recorder : registration.getRequirements()) { recorder.removeCapabilityRequirements(context, resource, null); } if (this.requiresRuntime(context)) { for (RuntimeResourceRegistration runtimeRegistration : this.descriptor.getRuntimeResourceRegistrations()) { runtimeRegistration.unregister(context); } } } super.performRemove(context, operation, model); }
/** * Based on the given attribute value, remove capability requirements. If this definition * is for an attribute whose value is or contains a reference to the name of some capability, * this method should record the removal of a requirement for the capability. * <p> * This is a no-op in this base class. Subclasses that support attribute types that can represent * capability references should override this method. * * @param context the operation context * @param attributeValue the value of the attribute described by this object * @deprecated use {@link #removeCapabilityRequirements(OperationContext, Resource, ModelNode)} variant */ @Deprecated public void removeCapabilityRequirements(OperationContext context, ModelNode attributeValue) { removeCapabilityRequirements(context, null, attributeValue); }
/** * Based on the given attribute value, remove capability requirements. If this definition * is for an attribute whose value is or contains a reference to the name of some capability, * this method should record the removal of a requirement for the capability. * <p> * This is a no-op in this base class. Subclasses that support attribute types that can represent * capability references should override this method. * * @param context the operation context * @param attributeValue the value of the attribute described by this object * @deprecated use {@link #removeCapabilityRequirements(OperationContext, Resource, ModelNode)} variant */ @Deprecated public void removeCapabilityRequirements(OperationContext context, ModelNode attributeValue) { removeCapabilityRequirements(context, null, attributeValue); }
protected void recordCapabilitiesAndRequirements(final OperationContext context, final Resource resource, final AttributeDefinition attributeDefinition, final ModelNode newValue, final ModelNode oldValue) { attributeDefinition.removeCapabilityRequirements(context, resource, oldValue); attributeDefinition.addCapabilityRequirements(context, resource, newValue); } }
protected void recordCapabilitiesAndRequirements(final OperationContext context, final Resource resource, final AttributeDefinition attributeDefinition, final ModelNode newValue, final ModelNode oldValue) { attributeDefinition.removeCapabilityRequirements(context, resource, oldValue); attributeDefinition.addCapabilityRequirements(context, resource, newValue); } }
@Override public void removeCapabilityRequirements(OperationContext context, Resource resource, ModelNode attributeValue) { if (attributeValue.isDefined()) { for (ModelNode element : attributeValue.asList()) { valueType.removeCapabilityRequirements(context, resource, element); } } }
@Override public void removeCapabilityRequirements(OperationContext context, Resource resource, ModelNode attributeValue) { if (attributeValue.isDefined()) { for (ModelNode element : attributeValue.asList()) { valueType.removeCapabilityRequirements(context, resource, element); } } }
/** * Record any new requirements for other {@link org.jboss.as.controller.capability.RuntimeCapability capabilities} * that now exist as a result of this operation, or remove any existing requirements that no longer exist. * * @param context the context. Will not be {@code null} * @param attributeDefinition the definition of the attribute being modified. Will not be {@code null} * @param newValue the new value of the attribute * @param oldValue the previous value of the attribute */ protected void recordCapabilitiesAndRequirements(OperationContext context, AttributeDefinition attributeDefinition, ModelNode newValue, ModelNode oldValue) { Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); attributeDefinition.removeCapabilityRequirements(context, resource, oldValue); attributeDefinition.addCapabilityRequirements(context, resource, newValue); }
/** * Record any new requirements for other {@link org.jboss.as.controller.capability.RuntimeCapability capabilities} * that now exist as a result of this operation, or remove any existing requirements that no longer exist. * * @param context the context. Will not be {@code null} * @param attributeDefinition the definition of the attribute being modified. Will not be {@code null} * @param newValue the new value of the attribute * @param oldValue the previous value of the attribute */ protected void recordCapabilitiesAndRequirements(OperationContext context, AttributeDefinition attributeDefinition, ModelNode newValue, ModelNode oldValue) { Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); attributeDefinition.removeCapabilityRequirements(context, resource, oldValue); attributeDefinition.addCapabilityRequirements(context, resource, newValue); }
@Override public void removeCapabilityRequirements(OperationContext context, Resource resource, ModelNode attributeValue) { if (attributeValue.isDefined()) { for (AttributeDefinition fieldType : valueTypes) { if (attributeValue.hasDefined(fieldType.getName())) { fieldType.removeCapabilityRequirements(context, resource, attributeValue.get(fieldType.getName())); } } } }
@Override public void removeCapabilityRequirements(OperationContext context, Resource resource, ModelNode attributeValue) { if (attributeValue.isDefined()) { for (AttributeDefinition fieldType : valueTypes) { if (attributeValue.hasDefined(fieldType.getName())) { fieldType.removeCapabilityRequirements(context, resource, attributeValue.get(fieldType.getName())); } } } }
@Override protected void performRemove(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { Resource resource = context.readResource(PathAddress.EMPTY_ADDRESS); if (removeInCurrentStep(resource)) { // We need to remove capabilities *before* removing the resource, since the capability reference resolution might involve reading the resource PathAddress address = context.getCurrentAddress(); for (Map.Entry<Capability, Predicate<ModelNode>> entry : this.descriptor.getCapabilities().entrySet()) { if (entry.getValue().test(model)) { context.deregisterCapability(entry.getKey().resolve(address).getName()); } } ImmutableManagementResourceRegistration registration = context.getResourceRegistration(); for (String attributeName : registration.getAttributeNames(PathAddress.EMPTY_ADDRESS)) { AttributeDefinition attribute = registration.getAttributeAccess(PathAddress.EMPTY_ADDRESS, attributeName).getAttributeDefinition(); if (attribute.hasCapabilityRequirements()) { attribute.removeCapabilityRequirements(context, resource, model.get(attributeName)); } } for (CapabilityReferenceRecorder recorder : registration.getRequirements()) { recorder.removeCapabilityRequirements(context, resource, null); } if (this.requiresRuntime(context)) { for (RuntimeResourceRegistration runtimeRegistration : this.descriptor.getRuntimeResourceRegistrations()) { runtimeRegistration.unregister(context); } } } super.performRemove(context, operation, model); }
protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { Set<RuntimeCapability> capabilitySet = capabilities.isEmpty() ? context.getResourceRegistration().getCapabilities() : capabilities; for (RuntimeCapability capability : capabilitySet) { if (capability.isDynamicallyNamed()) { context.deregisterCapability(capability.getDynamicName(context.getCurrentAddress())); } else { context.deregisterCapability(capability.getName()); } } ModelNode model = resource.getModel(); ImmutableManagementResourceRegistration mrr = context.getResourceRegistration(); for (String attr : mrr.getAttributeNames(PathAddress.EMPTY_ADDRESS)) { AttributeAccess aa = mrr.getAttributeAccess(PathAddress.EMPTY_ADDRESS, attr); if (aa != null) { AttributeDefinition ad = aa.getAttributeDefinition(); if (ad != null && (model.hasDefined(ad.getName()) || ad.hasCapabilityRequirements())) { ad.removeCapabilityRequirements(context, resource, model.get(ad.getName())); } } } } }
protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { Set<RuntimeCapability> capabilitySet = capabilities.isEmpty() ? context.getResourceRegistration().getCapabilities() : capabilities; for (RuntimeCapability capability : capabilitySet) { if (capability.isDynamicallyNamed()) { context.deregisterCapability(capability.getDynamicName(context.getCurrentAddress())); } else { context.deregisterCapability(capability.getName()); } } ModelNode model = resource.getModel(); ImmutableManagementResourceRegistration mrr = context.getResourceRegistration(); for (String attr : mrr.getAttributeNames(PathAddress.EMPTY_ADDRESS)) { AttributeAccess aa = mrr.getAttributeAccess(PathAddress.EMPTY_ADDRESS, attr); if (aa != null) { AttributeDefinition ad = aa.getAttributeDefinition(); if (ad != null && (model.hasDefined(ad.getName()) || ad.hasCapabilityRequirements())) { ad.removeCapabilityRequirements(context, resource, model.get(ad.getName())); } } } } }
protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { Set<RuntimeCapability> capabilitySet = capabilities.isEmpty() ? context.getResourceRegistration().getCapabilities() : capabilities; for (RuntimeCapability capability : capabilitySet) { if (capability.isDynamicallyNamed()) { context.deregisterCapability(capability.getDynamicName(context.getCurrentAddress())); } else { context.deregisterCapability(capability.getName()); } } ModelNode model = resource.getModel(); ImmutableManagementResourceRegistration mrr = context.getResourceRegistration(); for (String attr : mrr.getAttributeNames(PathAddress.EMPTY_ADDRESS)) { AttributeAccess aa = mrr.getAttributeAccess(PathAddress.EMPTY_ADDRESS, attr); if (aa != null) { AttributeDefinition ad = aa.getAttributeDefinition(); if (ad != null && (model.hasDefined(ad.getName()) || ad.hasCapabilityRequirements())) { ad.removeCapabilityRequirements(context, resource, model.get(ad.getName())); } } } } }
protected void recordCapabilitiesAndRequirements(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { Set<RuntimeCapability> capabilitySet = capabilities.isEmpty() ? context.getResourceRegistration().getCapabilities() : capabilities; for (RuntimeCapability capability : capabilitySet) { if (capability.isDynamicallyNamed()) { context.deregisterCapability(capability.getDynamicName(context.getCurrentAddress())); } else { context.deregisterCapability(capability.getName()); } } ModelNode model = resource.getModel(); ImmutableManagementResourceRegistration mrr = context.getResourceRegistration(); for (String attr : mrr.getAttributeNames(PathAddress.EMPTY_ADDRESS)) { AttributeAccess aa = mrr.getAttributeAccess(PathAddress.EMPTY_ADDRESS, attr); if (aa != null) { AttributeDefinition ad = aa.getAttributeDefinition(); if (ad != null && (model.hasDefined(ad.getName()) || ad.hasCapabilityRequirements())) { ad.removeCapabilityRequirements(context, resource, model.get(ad.getName())); } } } } }
AttributeDefinition ad = aa.getAttributeDefinition(); if (ad != null && (model.hasDefined(ad.getName()) || ad.hasCapabilityRequirements())) { ad.removeCapabilityRequirements(context, resource, model.get(ad.getName()));
AttributeDefinition ad = aa.getAttributeDefinition(); if (ad != null && (model.hasDefined(ad.getName()) || ad.hasCapabilityRequirements())) { ad.removeCapabilityRequirements(context, resource, model.get(ad.getName()));