From e5e1cb5c9fe7fa4d9fdcc15ccd9eb8fccacf3052 Mon Sep 17 00:00:00 2001 From: Brian Stansberry Date: Mon, 29 Jun 2015 20:06:08 -0500 Subject: [PATCH] [WFCORE-781] Add ability to use capability-provided integrations from services and DUPs --- .../jboss/as/controller/OperationContext.java | 12 +++ .../as/controller/OperationContextImpl.java | 46 ++++++++ .../ParallelBootOperationContext.java | 6 ++ .../jboss/as/controller/ReadOnlyContext.java | 6 ++ .../capability/CapabilityServiceSupport.java | 100 ++++++++++++++++++ .../management/AuthorizedAddressTest.java | 6 ++ .../operations/AbstractOperationTestCase.java | 6 ++ .../as/server/deployment/Attachments.java | 8 +- .../deployment/DeploymentHandlerUtil.java | 6 +- .../deployment/RootDeploymentUnitService.java | 15 ++- .../deployment/SubDeploymentProcessor.java | 5 +- .../deployment/SubDeploymentUnitService.java | 6 +- 12 files changed, 212 insertions(+), 10 deletions(-) create mode 100644 controller/src/main/java/org/jboss/as/controller/capability/CapabilityServiceSupport.java diff --git a/controller/src/main/java/org/jboss/as/controller/OperationContext.java b/controller/src/main/java/org/jboss/as/controller/OperationContext.java index 42252fa0893..5a545abcd3b 100644 --- a/controller/src/main/java/org/jboss/as/controller/OperationContext.java +++ b/controller/src/main/java/org/jboss/as/controller/OperationContext.java @@ -30,6 +30,7 @@ import org.jboss.as.controller.access.Caller; import org.jboss.as.controller.access.Environment; import org.jboss.as.controller.access.ResourceAuthorization; +import org.jboss.as.controller.capability.CapabilityServiceSupport; import org.jboss.as.controller.capability.RuntimeCapability; import org.jboss.as.controller.client.MessageSeverity; import org.jboss.as.controller.notification.Notification; @@ -969,6 +970,17 @@ public interface OperationContext extends ExpressionResolver { */ ServiceName getCapabilityServiceName(String capabilityBaseName, String dynamicPart, Class serviceType); + /** + * Gets a support object that allows service implementations installed from this context to + * integrate with capabilities. + * + * @return the support object. Will not return {@code null} + * + * * @throws java.lang.IllegalStateException if {@link #getCurrentStage() the current stage} is {@link Stage#MODEL}. + * Service integration is not supported in the model stage. + */ + CapabilityServiceSupport getCapabilityServiceSupport(); + /** * Whether normally this operation would require a runtime step. It returns {@code true in the following cases} *