@Override protected void rollbackRuntime(OperationContext context, ModelNode operation, ModelNode model, List<ServiceController<?>> controllers) { String identifier = operation.get(ModelDescriptionConstants.OP_ADDR).asObject().get(ModelConstants.CAPABILITY).asString(); SubsystemState subsystemState = SubsystemState.getSubsystemState(context); if (subsystemState != null) { subsystemState.removeCapability(identifier); } } }
@Override protected void rollbackRuntime(OperationContext context, ModelNode operation, ModelNode model, List<ServiceController<?>> controllers) { String identifier = operation.get(ModelDescriptionConstants.OP_ADDR).asObject().get(ModelConstants.CAPABILITY).asString(); SubsystemState subsystemState = SubsystemState.getSubsystemState(context); if (subsystemState != null) { subsystemState.removeCapability(identifier); } } }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final String identifier = operation.get(ModelDescriptionConstants.OP_ADDR).asObject().get(ModelConstants.CAPABILITY).asString(); final SubsystemState subsystemState = SubsystemState.getSubsystemState(context); if (subsystemState == null) { // cannot complete context.setRollbackOnly(); context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); return; } final OSGiCapability oldVal = subsystemState.removeCapability(identifier); context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { subsystemState.addCapability(oldVal); } }); } }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final String identifier = operation.get(ModelDescriptionConstants.OP_ADDR).asObject().get(ModelConstants.CAPABILITY).asString(); final SubsystemState subsystemState = SubsystemState.getSubsystemState(context); if (subsystemState == null) { // cannot complete context.setRollbackOnly(); context.completeStep(OperationContext.RollbackHandler.NOOP_ROLLBACK_HANDLER); return; } final OSGiCapability oldVal = subsystemState.removeCapability(identifier); context.completeStep(new OperationContext.RollbackHandler() { @Override public void handleRollback(OperationContext context, ModelNode operation) { subsystemState.addCapability(oldVal); } }); } }