public WebApp addServlet(final String name, final String clazz, final String... mappings) { final Servlet servletToAdd = new Servlet(); servletToAdd.setServletName(name); servletToAdd.setServletClass(clazz); if (mappings != null && mappings.length > 0) { final ServletMapping sm = new ServletMapping(); sm.setServletName(name); for (final String mapping : mappings) { if (servletMapping == null) { servletMapping = new ArrayList<ServletMapping>(); } sm.getUrlPattern().add(mapping); } servletMapping.add(sm); } getServlet().add(servletToAdd); return this; }
private Map<String, List<String>> createClassServetMap(WebApp webApp) { Map<String, List<String>> classServletNameMap = new HashMap<String, List<String>>(); List<Servlet> servletTypes = webApp.getServlet(); if (servletTypes != null) { for (Servlet servletType : servletTypes) { String servletName = servletType.getServletName().trim(); if (servletType.getServletClass() != null) { String servletClassName = servletType.getServletClass().trim(); List<String> servlets = classServletNameMap.get(servletClassName); if (servlets == null) { servlets = new ArrayList<String>(); classServletNameMap.put(servletClassName, servlets); } servlets.add(servletName); } } } return classServletNameMap; }
@Override public void add(Servlet servlet, MergeContext mergeContext) throws DeploymentException { String servletName = servlet.getServletName(); for (ParamValue paramValue : servlet.getInitParam()) { addServletInitParam(servletName, paramValue, ElementSource.WEB_FRAGMENT, mergeContext.getCurrentJarUrl(), mergeContext); } }
/** * This method will be invoked while a new servlet is found in the current webfragment.xml, while it is not found in the web.xml file and those merged web-fragment.xml files */ @Override public void add(Servlet servlet, MergeContext mergeContext) throws DeploymentException { if (servlet.getLoadOnStartup() != null) { mergeContext.setAttribute(createServletLoadOnStartupKey(servlet.getServletName()), new MergeItem(servlet.getLoadOnStartup(), mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT)); } }
existingServlets.add(servlet.getServletClass()); Servlet servlet = new Servlet(); servlet.setServletName(webServiceClass.getName()); servlet.setServletClass(webServiceClass.getName()); webApp.getServlet().add(servlet);
final String servletName = servlet.getServletName(); if ("javax.ws.rs.core.Application".equals(servletName)) { servlet.setServletName(ProvidedJAXRSApplication.class.getName()); webModule.getRestApplications().add(ProvidedJAXRSApplication.class.getName()); for (final ServletMapping mapping : webApp.getServletMapping()) { String servletClass = realClassName(servlet.getServletClass()); if (servletClass == null) { // try with servlet name, @see org.apache.openejb.arquillian.tests.jaxrs.basicapp.BasicApplication servletClass = realClassName(servletName); if (servletClass != null && servlet.getJspFile() == null) { // jaxrs application doesn't have a jsp file if (!"org.apache.openejb.server.rest.OpenEJBRestServlet".equals(servletClass)) { try { final Class clazz = classLoader.loadClass(servletClass); classes.add(clazz); if (servlet.getServletClass() == null) { servlet.setServletClass(servletClass); if (servlet.getServletClass() != null) { throw new OpenEJBException("Unable to load servlet class: " + servletClass, e); } else { for (final ParamValue param : servlet.getInitParam()) { if (param.getParamName().equals(Application.class.getName()) || param.getParamName().equals("javax.ws.rs.Application")) { webModule.getRestApplications().clear();
targetServlet.getInitParam().add(newParamValue); ServletInitParamMergeHandler.addServletInitParam(servletName, newParamValue, ElementSource.ANNOTATION, mergeContext.getCurrentJarUrl(), mergeContext); Servlet newServlet = new Servlet(); if (!webServlet.displayName().isEmpty()) { newServlet.addDisplayName(new Text(null, webServlet.displayName())); newServlet.setServletClass(cls.getName()); newServlet.setServletName(servletName); newServlet.setAsyncSupported(webServlet.asyncSupported()); if (!webServlet.description().isEmpty()) { newServlet.addDescription(new Text(null, webServlet.description())); newServlet.setLoadOnStartup(webServlet.loadOnStartup()); newServlet.getInitParam().add(WebFilterAnnotationMergeHandler.newParamValue(webInitParam)); icon.setLargeIcon(webServlet.largeIcon()); newServlet.getIconMap().put(null, icon); mpc.setMaxFileSize(multipartConfig.maxFileSize()); mpc.setMaxRequestSize(multipartConfig.maxRequestSize()); newServlet.setMultipartConfig(mpc);
for (Servlet servlet : webApp.getServlet()) { ServletInfo servletInfo; if (servlet.getServletClass() != null) { servletInfo = webAppInfoFactory.newServletInfo(); servletInfo.servletClass = servlet.getServletClass(); } else if (servlet.getJspFile() != null) { servletInfo = webAppInfoFactory.newJspInfo(servlet.getJspFile()); if(servletInfo == null) { problems.add("\nNo JSP servlet available, " + servlet.getServletName() + " will not work"); continue; problems.add("\nNo servlet class or jsp file for servlet " + servlet.getServletName()); continue; servletInfo.servletName = servlet.getServletName(); if (servlet.getAsyncSupported() != null) { servletInfo.asyncSupported = servlet.getAsyncSupported(); servletInfo.loadOnStartup = servlet.getLoadOnStartup(); if (servlet.getRunAs() != null) { servletInfo.runAsRole = servlet.getRunAs().getRoleName().trim(); if (servlet.getMultipartConfig() != null) { MultipartConfig multipartConfig = servlet.getMultipartConfig(); MultipartConfigInfo multipartConfigInfo = new MultipartConfigInfo(); multipartConfigInfo.location = multipartConfig.getLocation(); addParams(servlet.getInitParam(), servletInfo.initParams); for (SecurityRoleRef securityRoleRef : servlet.getSecurityRoleRef()) {
servletInfo.servletName = servlet.getServletName(); servletInfo.servletClass = servlet.getServletClass(); servletInfo.mappings = webModule.getWebApp().getServletMappings(servletInfo.servletName); for (final ParamValue pv : servlet.getInitParam()) { final ParamValueInfo pvi = new ParamValueInfo(); pvi.name = pv.getParamName();
private boolean hasFacesServlet(WebApp webApp) { for (Servlet servlet : webApp.getServlet()) { if (servlet.getServletClass() != null && FACES_SERVLET_NAME.equals(servlet.getServletClass().trim())) { return true; } } return false; }
private Servlet findServlet(final String name) { for (final Servlet s : getServlet()) { if (name.equals(s.getServletName())) { return s; } } return null; }
boolean exists = false; for (org.apache.openejb.jee.Servlet servlet : servlets) { if (servlet.getServletClass().trim().equals(cls.getName())) { if (servlet.getRunAs() == null) { org.apache.openejb.jee.RunAs runAs = new org.apache.openejb.jee.RunAs(); runAs.setRoleName(annotationRunAs); servlet.setRunAs(runAs);
@Override public void merge(Servlet srcServlet, Servlet targetServlet, MergeContext mergeContext) throws DeploymentException { String servletName = srcServlet.getServletName(); //If the same servlet in the initial web.xml has already set the load-on-startup option, then we just ignore the setting in webfragment.xml file if (isServletLoadOnStartupConfiguredInWebXML(servletName, mergeContext)) { return; } if (srcServlet.getLoadOnStartup() != null) { Integer srcLoadOnStartupValue = srcServlet.getLoadOnStartup(); MergeItem existedLoadOnStartup = (MergeItem) mergeContext.getAttribute(createServletLoadOnStartupKey(servletName)); if (existedLoadOnStartup == null) { targetServlet.setLoadOnStartup(srcLoadOnStartupValue); mergeContext.setAttribute(createServletLoadOnStartupKey(servletName), new MergeItem(srcLoadOnStartupValue, mergeContext.getCurrentJarUrl(), ElementSource.WEB_XML)); } else if (!existedLoadOnStartup.getValue().equals(srcLoadOnStartupValue)) { throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateValueMessage("servlet " + servletName, "load-on-startup", existedLoadOnStartup.getValue().toString(), existedLoadOnStartup.getBelongedURL(), srcLoadOnStartupValue.toString(), mergeContext.getCurrentJarUrl())); } } }
public WebApp addInitParam(final String servletName, final String name, final String value) { final ParamValue paramValue = new ParamValue(); paramValue.setParamName(name); paramValue.setParamValue(value); findServlet(servletName).getInitParam().add(paramValue); return this; }
Servlet servlet = new Servlet(); servlet.setServletName(service.getName()); servlet.setServletClass(service.getName()); webApp.getServlet().add(servlet); String servletName = servletType.getServletName().trim(); if (servletType.getServletClass() != null) { String servletClassName = servletType.getServletClass().trim(); try { Class<?> servletClass = bundle.loadClass(servletClassName);
final String servletName = servlet.getServletName(); if ("javax.ws.rs.core.Application".equals(servletName) || "javax.ws.rs.Application".equals(servletName)) { for (final ParamValue pv : servlet.getInitParam()) { if ("javax.ws.rs.core.Application".equals(pv.getParamName()) || "javax.ws.rs.Application".equals(pv.getParamName())) { webModule.getRestApplications().add(pv.getParamValue()); servlet.setServletName(ProvidedJAXRSApplication.class.getName()); webModule.getRestApplications().add(ProvidedJAXRSApplication.class.getName()); for (final ServletMapping mapping : webApp.getServletMapping()) { String servletClass = realClassName(servlet.getServletClass()); if (servletClass == null) { // try with servlet name, @see org.apache.openejb.arquillian.tests.jaxrs.basicapp.BasicApplication servletClass = realClassName(servletName); if (servletClass != null && servlet.getJspFile() == null) { // jaxrs application doesn't have a jsp file if (!"org.apache.openejb.server.rest.OpenEJBRestServlet".equals(servletClass)) { try { final Class clazz = classLoader.loadClass(servletClass); classes.add(clazz); if (servlet.getServletClass() == null) { servlet.setServletClass(servletClass); if (servlet.getServletClass() != null) { throw new OpenEJBException("Unable to load servlet class: " + servletClass, e); } else { for (final ParamValue param : servlet.getInitParam()) { if (param.getParamName().equals(Application.class.getName()) || param.getParamName().equals("javax.ws.rs.Application")) {
servletInfo.servletName = servlet.getServletName(); servletInfo.servletClass = servlet.getServletClass(); servletInfo.mappings = webModule.getWebApp().getServletMappings(servletInfo.servletName); for (final ParamValue pv : servlet.getInitParam()) { final ParamValueInfo pvi = new ParamValueInfo(); pvi.name = pv.getParamName();
Bundle bundle = mergeContext.getBundle(); for (org.apache.openejb.jee.Servlet servlet : webApp.getServlet()) { if (servlet.getServletClass() == null || servlet.getServletClass().isEmpty()) { continue; String servletClassName = servlet.getServletClass(); Class<?> cls = bundle.loadClass(servletClassName); if (!Servlet.class.isAssignableFrom(cls)) {
private Servlet findServlet(final String name) { for (final Servlet s : getServlet()) { if (name.equals(s.getServletName())) { return s; } } return null; }
@Override public void preProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException { for (Servlet servlet : webApp.getServlet()) { if (servlet.getLoadOnStartup() != null) { context.setAttribute(createServletLoadOnStartupConfiguredInWebXMLKey(servlet.getServletName()), Boolean.TRUE); } } }