Advertisement
Guest User

Untitled

a guest
May 8th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. diff --git a/weld/subsystem/src/main/java/org/jboss/as/weld/deployment/processors/EarApplicationScopedObserverMethodProcessor.java b/weld/subsystem/src/main/java/org/jboss/as/weld/deployment/processors/EarApplicationScopedObserverMethodProcessor.java
  2. index 57407d7f76..6fc4045931 100644
  3. --- a/weld/subsystem/src/main/java/org/jboss/as/weld/deployment/processors/EarApplicationScopedObserverMethodProcessor.java
  4. +++ b/weld/subsystem/src/main/java/org/jboss/as/weld/deployment/processors/EarApplicationScopedObserverMethodProcessor.java
  5. @@ -22,19 +22,20 @@
  6.  
  7. package org.jboss.as.weld.deployment.processors;
  8.  
  9. +import org.jboss.as.controller.capability.CapabilityServiceSupport;
  10. import org.jboss.as.ee.structure.DeploymentType;
  11. import org.jboss.as.ee.structure.DeploymentTypeMarker;
  12. -import org.jboss.as.ee.weld.WeldDeploymentMarker;
  13. +
  14. import org.jboss.as.server.deployment.Attachments;
  15. import org.jboss.as.server.deployment.DeploymentPhaseContext;
  16. import org.jboss.as.server.deployment.DeploymentUnit;
  17. import org.jboss.as.server.deployment.DeploymentUnitProcessingException;
  18. import org.jboss.as.server.deployment.DeploymentUnitProcessor;
  19. import org.jboss.as.server.deployment.SetupAction;
  20. +import org.jboss.as.weld.WeldCapability;
  21. import org.jboss.as.weld.deployment.BeanDeploymentArchiveImpl;
  22. import org.jboss.as.weld.deployment.BeanDeploymentModule;
  23. import org.jboss.as.weld.deployment.WeldAttachments;
  24. -import org.jboss.as.weld.deployment.WeldPortableExtensions;
  25. import org.jboss.as.weld.logging.WeldLogger;
  26.  
  27. import javax.enterprise.context.ApplicationScoped;
  28. @@ -52,6 +53,8 @@ import java.lang.reflect.Type;
  29. import java.util.List;
  30. import java.util.Set;
  31.  
  32. +import static org.jboss.as.weld.Capabilities.WELD_CAPABILITY_NAME;
  33. +
  34. /**
  35. * Processor that registers a CDI portable extension for EAR deployments, which adds support for EE facilities, to CDI app context lifecycle event handlers.
  36. *
  37. @@ -62,8 +65,16 @@ public class EarApplicationScopedObserverMethodProcessor implements DeploymentUn
  38. @Override
  39. public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
  40. final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
  41. - if (DeploymentTypeMarker.isType(DeploymentType.EAR, deploymentUnit) && WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit)) {
  42. - WeldPortableExtensions.getPortableExtensions(deploymentUnit).registerExtensionInstance(new PortableExtension(deploymentUnit), deploymentUnit);
  43. + if (!DeploymentTypeMarker.isType(DeploymentType.EAR, deploymentUnit)) {
  44. + // ear deployment only processor
  45. + return;
  46. + }
  47. + final CapabilityServiceSupport support = deploymentUnit.getAttachment(Attachments.CAPABILITY_SERVICE_SUPPORT);
  48. + if (support.hasCapability(WELD_CAPABILITY_NAME)) {
  49. + final WeldCapability api = support.getOptionalCapabilityRuntimeAPI(WELD_CAPABILITY_NAME, WeldCapability.class).get();
  50. + if (api.isPartOfWeldDeployment(deploymentUnit)) {
  51. + api.registerExtensionInstance(new PortableExtension(deploymentUnit), deploymentUnit);
  52. + }
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement