@Override public List<String> getFacesServletMappings() { ServletFacet facet = project.getFacet(ServletFacet.class); WebAppDescriptor webXml = facet.getConfig(); return getExplicitFacesServletMappings(webXml); }
@SuppressWarnings("resource") @Override public void setFacesMapping(final String mapping) { ServletFacet facet = project.getFacet(ServletFacet.class); InputStream webXml = facet.getConfigFile().getResourceInputStream(); InputStream newWebXml = servletMappingHelper.addFacesServletMapping(webXml, mapping); if (webXml != newWebXml) { facet.getConfigFile().setContents(newWebXml); } Streams.closeQuietly(webXml); Streams.closeQuietly(newWebXml); }
protected void setupWebXML() { ServletFacet servlet = this.project.getFacet(ServletFacet.class); Node webXML = removeConflictingErrorPages(servlet); servlet.getConfigFile().setContents(XMLParser.toXMLInputStream(webXML)); WebAppDescriptor servletConfig = servlet.getConfig(); WebResourceFacet web = this.project.getFacet(WebResourceFacet.class); // (prefer /faces/error.xhtml) String errorLocation = getAccessStrategy().getWebPaths(web.getWebResource(ERROR_XHTML)).get(1); servletConfig.errorPage(404, errorLocation); servletConfig.errorPage(500, errorLocation); // Use the server timezone since we accept dates in that timezone, and it makes sense to display them in the same if (servletConfig.getContextParam("javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE") == null) { servletConfig.contextParam("javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE", "true"); } servlet.saveConfig(servletConfig); }
@Override public void setApplicationPath(final String path) { getProjectConfiguration().setProperty(RestFacet.ROOTPATH, path); ServletFacet servlet = project.getFacet(ServletFacet.class); WebAppDescriptorImpl web = (WebAppDescriptorImpl) servlet.getConfig(); Node node = web.getRootNode(); Node servletClass = node.getSingle("servlet-mapping/servlet-name=" + JAXRS_SERVLET); if (servletClass != null) { servletClass.getParent().getOrCreate("url-pattern").text(path); } servlet.saveConfig(web); }
@DefaultCommand public void list(@Option(required = false) String filter) { ServletFacet web = project.getFacet(ServletFacet.class); List<Resource<?>> resources = web.getResources(); for (Resource<?> file : resources) { shell.println(file.getFullyQualifiedName()); } } }
@Command("project-stage") public void setProjectStage(@Option(name = "set") final FacesProjectStage stage, final PipeOut out) { ServletFacet srv = project.getFacet(ServletFacet.class); WebAppDescriptor config = srv.getConfig(); if (stage == null) { ShellMessages.info(out, "Project stage is currently: " + config.getFacesProjectStage().getStage()); } else { config.facesProjectStage(stage); srv.saveConfig(config); ShellMessages.success(out, "Faces PROJECT_STAGE updated to: " + stage.getStage()); } }
WebAppDescriptorImpl web = (WebAppDescriptorImpl) servlet.getConfig(); Node node = web.getRootNode(); Node servletClass = node.getSingle("servlet/servlet-name=" + JAXRS_SERVLET); servlet.saveConfig(web);
@Override public List<String> getFaceletsDefaultSuffixes() { ServletFacet facet = project.getFacet(ServletFacet.class); WebAppDescriptor webXml = facet.getConfig(); return webXml.getFaceletsDefaultSuffixes(); }
private void installQuickstart(DirectoryResource webRoot) { ((FileResource<?>) webRoot.getChild("404.html")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/404.html")); ((FileResource<?>) webRoot.getChild("500.html")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/500.html")); ((FileResource<?>) webRoot.getChild("index.html")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/index.html")); ((FileResource<?>) webRoot.getChild("forge-logo.png")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/forge-logo.png")); ((FileResource<?>) webRoot.getChild("forge-style.css")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/forge-style.css")); ((FileResource<?>) webRoot.getChild("jboss-community.png")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/jboss-community.png")); ((FileResource<?>) webRoot.getChild("bkg.gif")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/bkg.gif")); ((FileResource<?>) webRoot.getChild("favicon.ico")).setContents(getClass().getResourceAsStream( "/org/jboss/forge/web/favicon.ico")); FileResource<?> descriptor = project.getFacet(ServletFacet.class).getConfigFile(); WebAppDescriptor unit = Descriptors.create(WebAppDescriptor.class) .welcomeFile("/index.html"); unit.errorPage(404, "/404.html"); unit.errorPage(500, "/500.html"); descriptor.setContents(unit.exportAsString()); }
@Override public List<String> getFaceletsViewMapping() { ServletFacet facet = project.getFacet(ServletFacet.class); WebAppDescriptor webXml = facet.getConfig(); return webXml.getFaceletsViewMappings(); }
protected Node removeConflictingErrorPages(final ServletFacet servlet) { Node webXML = XMLParser.parse(servlet.getConfigFile().getResourceInputStream()); Node root = webXML.getRoot(); List<Node> errorPages = root.get("error-page"); for (String code : Arrays.asList("404", "500")) { for (Node errorPage : errorPages) { if (code.equals(errorPage.getSingle("error-code").getText()) && this.prompt.promptBoolean("Your web.xml already contains an error page for " + code + " status codes, replace it?")) { root.removeChild(errorPage); } } } return webXML; }
@Override public boolean isInstalled() { String version = project.getFacet(ServletFacet.class).getConfig().getVersion(); return super.isInstalled() && (version == null || version.trim().startsWith("3")); }
@Override public FacesProjectStage getProjectStage() { ServletFacet facet = project.getFacet(ServletFacet.class); WebAppDescriptor config = facet.getConfig(); return config.getFacesProjectStage(); }
@Override public List<String> getFacesDefaultSuffixes() { ServletFacet facet = project.getFacet(ServletFacet.class); WebAppDescriptor webXml = facet.getConfig(); return webXml.getFacesDefaultSuffixes(); }
@Override public List<String> getEffectiveFacesServletMappings() { List<String> results = new ArrayList<String>(); ServletFacet facet = project.getFacet(ServletFacet.class); WebAppDescriptor webXml = facet.getConfig(); // TODO should probably take into account facelets view mappings // facelets.VIEW_MAPPINGS if (webXml.hasFacesServlet()) { results.addAll(getExplicitFacesServletMappings(webXml)); } else { if (webXml.getVersion().startsWith("3")) { results.add("*.jsf"); results.add("/faces/*"); } else ShellMessages.info(out, "FacesServlet not found in web.xml and Servlet " + "Version not >= 3.0, could not discover FacesServlet mappings"); } return results; }
WebResourceFacet web = this.project.getFacet(WebResourceFacet.class); this.project.getFacet(ServletFacet.class).getConfig().welcomeFile("/index.html"); loadTemplates();
if (facet.getFacesServletMappings().isEmpty()) String servletVersion = project.getFacet(ServletFacet.class).getConfig().getVersion(); int majorVersion = Integer.parseInt(servletVersion.split("[.]")[0]); if (majorVersion < 3
@Override public String getServletPath() { if (project.hasFacet(ServletFacet.class)) { ServletFacet servlet = project.getFacet(ServletFacet.class); WebAppDescriptorImpl web = (WebAppDescriptorImpl) servlet.getConfig(); Node node = web.getRootNode(); Node servletClass = node.getSingle("servlet-mapping/servlet-name=" + JAXRS_SERVLET); if (servletClass != null) { Node url = servletClass.getParent().getSingle("url-pattern"); if (url != null) { return url.getText(); } } } return null; }