@Override public String getCacheName() { return (this.replicationConfig != null) ? this.replicationConfig.getCacheName() : null; } }
@Override public ReplicationGranularity getGranularity() { return ((this.replicationConfig != null) && (this.replicationConfig.getReplicationGranularity() != null)) ? this.replicationConfig.getReplicationGranularity() : ReplicationGranularity.SESSION; }
public SimpleDistributableSessionManagerConfiguration(JBossWebMetaData metaData, String serverName, String deploymentName, Module module) { this(metaData.getMaxActiveSessions(), metaData.getReplicationConfig(), serverName, deploymentName, module); }
PatternInfo defaultInfo = null; List<SecurityConstraintMetaData> constraints = metaData.getSecurityConstraints(); if (constraints != null) { for (SecurityConstraintMetaData constraint : constraints) { JBossServletsMetaData servlets = metaData.getServlets(); List<ServletMappingMetaData> mappings = metaData.getServletMappings(); if(!metaData.isMetadataComplete() && servlets != null && mappings != null) { ServletSecurityMetaData security = servlet.getServletSecurity(); if(security != null) { List<String> servletMappings = servletMappingMap.get(servlet.getServletName()); if(servletMappings != null) { for (String url : servletMappings) {
private void addCDIFlag(WarMetaData warMetaData, DeploymentUnit deploymentUnit) { JBossWebMetaData webMetaData = warMetaData.getMergedJBossWebMetaData(); if (webMetaData == null) { webMetaData = new JBossWebMetaData(); warMetaData.setMergedJBossWebMetaData(webMetaData); } List<ParamValueMetaData> contextParams = webMetaData.getContextParams(); if (contextParams == null) { contextParams = new ArrayList<ParamValueMetaData>(); } boolean isCDI = WeldDeploymentMarker.isPartOfWeldDeployment(deploymentUnit); ParamValueMetaData param = new ParamValueMetaData(); param.setParamName(IS_CDI_PARAM); param.setParamValue(Boolean.toString(isCDI)); contextParams.add(param); webMetaData.setContextParams(contextParams); } }
void processManagement(final DeploymentUnit unit, JBossWebMetaData metaData) { final DeploymentResourceSupport deploymentResourceSupport = unit.getAttachment(Attachments.DEPLOYMENT_RESOURCE_SUPPORT); for (final JBossServletMetaData servlet : metaData.getServlets()) { try { final String name = servlet.getName(); final ModelNode node = deploymentResourceSupport.getDeploymentSubModel(UndertowExtension.SUBSYSTEM_NAME, PathElement.pathElement("servlet", name)); node.get("servlet-class").set(servlet.getServletClass()); node.get("servlet-name").set(servlet.getServletName()); } catch (Exception e) { // Should a failure in creating the mgmt view also make to the deployment to fail? continue; } } }
private void getAllComponentClasses(JBossWebMetaData metaData, Set<String> classes) { if (metaData.getServlets() != null) for (ServletMetaData servlet : metaData.getServlets()) { if (servlet.getServletClass() != null) { classes.add(servlet.getServletClass()); } } if (metaData.getFilters() != null) for (FilterMetaData filter : metaData.getFilters()) { classes.add(filter.getFilterClass()); } if (metaData.getListeners() != null) for (ListenerMetaData listener : metaData.getListeners()) { classes.add(listener.getListenerClass()); } }
private void setContextParameterIfAbsent(final JBossWebMetaData webMetaData, final String name, final String value) { List<ParamValueMetaData> contextParams = webMetaData.getContextParams(); if (contextParams == null) { contextParams = new ArrayList<>(); webMetaData.setContextParams(contextParams); } for (ParamValueMetaData param : contextParams) { if (name.equals(param.getParamName()) && param.getParamValue() != null) { // already set return; } } ParamValueMetaData param = new ParamValueMetaData(); param.setParamName(name); param.setParamValue(value); contextParams.add(param); } }
@Override public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); WarMetaData metaData = deploymentUnit.getAttachment(WarMetaData.ATTACHMENT_KEY); if(JsfVersionMarker.isJsfDisabled(deploymentUnit)) { return; } if(metaData == null || metaData.getMergedJBossWebMetaData() == null || metaData.getMergedJBossWebMetaData().getServlets() == null) { return; } JBossServletMetaData jsf = null; for(JBossServletMetaData servlet : metaData.getMergedJBossWebMetaData().getServlets()) { if(JAVAX_FACES_WEBAPP_FACES_SERVLET.equals(servlet.getServletClass())) { jsf = servlet; } } if(jsf != null) { if(jsf.getMultipartConfig() == null) { //WFLY-2329 File upload doesn't work jsf.setMultipartConfig(new MultipartConfigMetaData()); } } if (disallowDoctypeDecl != null) { // Add the disallowDoctypeDecl context param if it's not already present setContextParameterIfAbsent(metaData.getMergedJBossWebMetaData(), DISALLOW_DOCTYPE_DECL, disallowDoctypeDecl.toString()); } }
private void registerProbeFilter(DeploymentUnit deploymentUnit, JBossWebMetaData webMetaData) throws DeploymentUnitProcessingException { if (webMetaData.getFilters() == null) { webMetaData.setFilters(new FiltersMetaData()); } if (webMetaData.getFilterMappings() == null) { webMetaData.setFilterMappings(new ArrayList<FilterMappingMetaData>()); } // probe filter webMetaData.getFilters().add(PROBE_FILTER); // probe filter mapping webMetaData.getFilterMappings().add(0, PROBE_FILTER_MAPPING); Utils.registerAsComponent(PROBE_FILTER_CLASS_NAME, deploymentUnit); }
private static CapabilityServiceConfigurator getSessionManagerFactoryServiceConfigurator(ServiceName deploymentServiceName, String serverName, String deploymentName, Module module, JBossWebMetaData metaData, ServletContainerService servletContainerService) { Integer maxActiveSessions = metaData.getMaxActiveSessions(); if(maxActiveSessions == null && servletContainerService != null) { maxActiveSessions = servletContainerService.getMaxSessions(); } ServiceName name = deploymentServiceName.append("session"); if (metaData.getDistributable() != null) { if (DistributableSessionManagerFactoryServiceConfiguratorProvider.INSTANCE.isPresent()) { DistributableSessionManagerConfiguration config = new SimpleDistributableSessionManagerConfiguration(maxActiveSessions, metaData.getReplicationConfig(), serverName, deploymentName, module); return DistributableSessionManagerFactoryServiceConfiguratorProvider.INSTANCE.get().getServiceConfigurator(name, config); } // Fallback to local session manager if server does not support clustering UndertowLogger.ROOT_LOGGER.clusteringNotSupported(); } return new SimpleCapabilityServiceConfigurator<>(name, (maxActiveSessions != null) ? new InMemorySessionManagerFactory(maxActiveSessions) : new InMemorySessionManagerFactory()); }
static String pathNameOfDeployment(final DeploymentUnit deploymentUnit, final JBossWebMetaData metaData) { String pathName; if (metaData.getContextRoot() == null) { final EEModuleDescription description = deploymentUnit.getAttachment(org.jboss.as.ee.component.Attachments.EE_MODULE_DESCRIPTION); if (description != null) { // if there is an EEModuleDescription we need to take into account that the module name may have been overridden pathName = "/" + description.getModuleName(); } else { pathName = "/" + deploymentUnit.getName().substring(0, deploymentUnit.getName().length() - 4); } } else { pathName = metaData.getContextRoot(); if (pathName.length() > 0 && pathName.charAt(0) != '/') { pathName = "/" + pathName; } } return pathName; }
return; List<HttpHandlerMetaData> handlers = merged.getHandlers(); if (handlers == null) { return; try { ClassLoader cl = module.getClassLoader(); if (hander.getModule() != null) { Module handlerModule = deploymentUnit.getAttachment(Attachments.SERVICE_MODULE_LOADER).loadModule(ModuleIdentifier.fromString(hander.getModule())); cl = handlerModule.getClassLoader(); Class<?> handlerClass = cl.loadClass(hander.getHandlerClass()); Map<String, String> params = new HashMap<>(); if(hander.getParams() != null) { for(ParamValueMetaData param : hander.getParams()) { params.put(param.getParamName(), param.getParamValue()); throw UndertowLogger.ROOT_LOGGER.failedToConfigureHandlerClass(hander.getHandlerClass(), e);
if(jBossWebMetaData.getValves() != null) { for(ValveMetaData valve : jBossWebMetaData.getValves()) { UndertowLogger.ROOT_LOGGER.unsupportedValveFeature(valve.getValveClass()); if (jBossWebMetaData.getDistinctName() != null) { deploymentUnit.putAttachment(org.jboss.as.ee.structure.Attachments.DISTINCT_NAME, jBossWebMetaData.getDistinctName());
private static CapabilityServiceConfigurator getSessionIdentifierCodecServiceConfigurator(ServiceName deploymentServiceName, String serverName, String deploymentName, JBossWebMetaData metaData) { ServiceName name = deploymentServiceName.append("codec"); if (metaData.getDistributable() != null) { if (DistributableSessionIdentifierCodecServiceConfiguratorProvider.INSTANCE.isPresent()) { return DistributableSessionIdentifierCodecServiceConfiguratorProvider.INSTANCE.get().getDeploymentServiceConfigurator(name, serverName, deploymentName); } // Fallback to simple codec if server does not support clustering } return new SimpleSessionIdentifierCodecServiceConfigurator(name, serverName); }
private String hostNameOfDeployment(final WarMetaData metaData, String defaultHost) { Collection<String> hostNames = null; if (metaData.getMergedJBossWebMetaData() != null) { hostNames = metaData.getMergedJBossWebMetaData().getVirtualHosts(); } if (hostNames == null || hostNames.isEmpty()) { hostNames = Collections.singleton(defaultHost); } String hostName = hostNames.iterator().next(); if (hostName == null) { throw UndertowLogger.ROOT_LOGGER.nullHostName(); } return hostName; }
private void handleAuthManagerLogout(DeploymentInfo deploymentInfo, JBossWebMetaData mergedMetaData) { AuthenticationManager manager = securityDomainContextValue.getValue().getAuthenticationManager(); deploymentInfo.addNotificationReceiver(new LogoutNotificationReceiver(manager, securityDomain)); if(mergedMetaData.isFlushOnSessionInvalidation()) { LogoutSessionListener listener = new LogoutSessionListener(manager); deploymentInfo.addListener(Servlets.listener(LogoutSessionListener.class, new ImmediateInstanceFactory<EventListener>(listener))); } }
@Override public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit(); final WarMetaData warMetaData = deploymentUnit.getAttachment(WarMetaData.ATTACHMENT_KEY); if (warMetaData != null) { String servletContainerName = defaultServletContainer; final JBossWebMetaData metaData = warMetaData.getMergedJBossWebMetaData(); if(metaData != null && metaData.getServletContainerName() != null) { servletContainerName = metaData.getServletContainerName(); } phaseContext.addDeploymentDependency(UndertowService.SERVLET_CONTAINER.append(servletContainerName), UndertowAttachments.SERVLET_CONTAINER_SERVICE); } }
private void handleIdentityManager(final DeploymentInfo deploymentInfo) { SecurityDomainContext sdc = securityDomainContextValue.getValue(); deploymentInfo.setIdentityManager(new JAASIdentityManagerImpl(sdc)); AuditManager auditManager = sdc.getAuditManager(); if (auditManager != null && !mergedMetaData.isDisableAudit()) { deploymentInfo.addNotificationReceiver(new AuditNotificationReceiver(auditManager)); } }
String serverInstanceName = warMetaData.getMergedJBossWebMetaData().getServerInstanceName() == null ? defaultServerForDeployment : warMetaData.getMergedJBossWebMetaData().getServerInstanceName(); String hostName = hostNameOfDeployment(warMetaData, defaultHostForDeployment); processDeployment(warMetaData, deploymentUnit, phaseContext.getServiceTarget(), deploymentName, hostName, serverInstanceName);