1*977Smax.romanov@gmail.com package nginx.unit; 2*977Smax.romanov@gmail.com 3*977Smax.romanov@gmail.com import java.util.ArrayList; 4*977Smax.romanov@gmail.com import java.util.Collection; 5*977Smax.romanov@gmail.com import java.util.List; 6*977Smax.romanov@gmail.com 7*977Smax.romanov@gmail.com import javax.servlet.descriptor.JspPropertyGroupDescriptor; 8*977Smax.romanov@gmail.com 9*977Smax.romanov@gmail.com import org.w3c.dom.Node; 10*977Smax.romanov@gmail.com import org.w3c.dom.NodeList; 11*977Smax.romanov@gmail.com 12*977Smax.romanov@gmail.com public class JspPropertyGroup implements JspPropertyGroupDescriptor 13*977Smax.romanov@gmail.com { 14*977Smax.romanov@gmail.com private final List<String> url_patterns_ = new ArrayList<>(); 15*977Smax.romanov@gmail.com private String el_ignored_ = null; 16*977Smax.romanov@gmail.com private String page_encoding_ = null; 17*977Smax.romanov@gmail.com private String scripting_invalid_ = null; 18*977Smax.romanov@gmail.com private String is_xml_ = null; 19*977Smax.romanov@gmail.com private final List<String> include_preludes_ = new ArrayList<>(); 20*977Smax.romanov@gmail.com private final List<String> include_codas_ = new ArrayList<>(); 21*977Smax.romanov@gmail.com 22*977Smax.romanov@gmail.com private String deffered_syntax_allowed_as_literal_ = null; 23*977Smax.romanov@gmail.com private String trim_directive_whitespaces_ = null; 24*977Smax.romanov@gmail.com private String default_content_type_ = null; 25*977Smax.romanov@gmail.com private String buffer_ = null; 26*977Smax.romanov@gmail.com private String error_on_undeclared_namespace_ = null; 27*977Smax.romanov@gmail.com JspPropertyGroup(NodeList nodes)28*977Smax.romanov@gmail.com public JspPropertyGroup(NodeList nodes) 29*977Smax.romanov@gmail.com { 30*977Smax.romanov@gmail.com for (int i = 0; i < nodes.getLength(); i++) { 31*977Smax.romanov@gmail.com Node node = nodes.item(i); 32*977Smax.romanov@gmail.com String tag_name = node.getNodeName(); 33*977Smax.romanov@gmail.com 34*977Smax.romanov@gmail.com if (tag_name.equals("url-pattern")) { 35*977Smax.romanov@gmail.com url_patterns_.add(node.getTextContent().trim()); 36*977Smax.romanov@gmail.com continue; 37*977Smax.romanov@gmail.com } 38*977Smax.romanov@gmail.com 39*977Smax.romanov@gmail.com if (tag_name.equals("el-ignored")) { 40*977Smax.romanov@gmail.com el_ignored_ = node.getTextContent().trim(); 41*977Smax.romanov@gmail.com continue; 42*977Smax.romanov@gmail.com } 43*977Smax.romanov@gmail.com 44*977Smax.romanov@gmail.com if (tag_name.equals("page-encoding")) { 45*977Smax.romanov@gmail.com page_encoding_ = node.getTextContent().trim(); 46*977Smax.romanov@gmail.com continue; 47*977Smax.romanov@gmail.com } 48*977Smax.romanov@gmail.com 49*977Smax.romanov@gmail.com if (tag_name.equals("scripting-invalid")) { 50*977Smax.romanov@gmail.com scripting_invalid_ = node.getTextContent().trim(); 51*977Smax.romanov@gmail.com continue; 52*977Smax.romanov@gmail.com } 53*977Smax.romanov@gmail.com 54*977Smax.romanov@gmail.com if (tag_name.equals("is-xml")) { 55*977Smax.romanov@gmail.com is_xml_ = node.getTextContent().trim(); 56*977Smax.romanov@gmail.com continue; 57*977Smax.romanov@gmail.com } 58*977Smax.romanov@gmail.com 59*977Smax.romanov@gmail.com if (tag_name.equals("include-prelude")) { 60*977Smax.romanov@gmail.com include_preludes_.add(node.getTextContent().trim()); 61*977Smax.romanov@gmail.com continue; 62*977Smax.romanov@gmail.com } 63*977Smax.romanov@gmail.com 64*977Smax.romanov@gmail.com if (tag_name.equals("include-coda")) { 65*977Smax.romanov@gmail.com include_codas_.add(node.getTextContent().trim()); 66*977Smax.romanov@gmail.com continue; 67*977Smax.romanov@gmail.com } 68*977Smax.romanov@gmail.com 69*977Smax.romanov@gmail.com if (tag_name.equals("deferred-syntax-allowed-as-literal")) { 70*977Smax.romanov@gmail.com deffered_syntax_allowed_as_literal_ = node.getTextContent().trim(); 71*977Smax.romanov@gmail.com continue; 72*977Smax.romanov@gmail.com } 73*977Smax.romanov@gmail.com 74*977Smax.romanov@gmail.com if (tag_name.equals("trim-directive-whitespaces")) { 75*977Smax.romanov@gmail.com trim_directive_whitespaces_ = node.getTextContent().trim(); 76*977Smax.romanov@gmail.com continue; 77*977Smax.romanov@gmail.com } 78*977Smax.romanov@gmail.com 79*977Smax.romanov@gmail.com if (tag_name.equals("default-content-type")) { 80*977Smax.romanov@gmail.com default_content_type_ = node.getTextContent().trim(); 81*977Smax.romanov@gmail.com continue; 82*977Smax.romanov@gmail.com } 83*977Smax.romanov@gmail.com 84*977Smax.romanov@gmail.com if (tag_name.equals("buffer")) { 85*977Smax.romanov@gmail.com buffer_ = node.getTextContent().trim(); 86*977Smax.romanov@gmail.com continue; 87*977Smax.romanov@gmail.com } 88*977Smax.romanov@gmail.com 89*977Smax.romanov@gmail.com if (tag_name.equals("error-on-undeclared-namespace")) { 90*977Smax.romanov@gmail.com error_on_undeclared_namespace_ = node.getTextContent().trim(); 91*977Smax.romanov@gmail.com continue; 92*977Smax.romanov@gmail.com } 93*977Smax.romanov@gmail.com } 94*977Smax.romanov@gmail.com 95*977Smax.romanov@gmail.com } 96*977Smax.romanov@gmail.com 97*977Smax.romanov@gmail.com @Override getUrlPatterns()98*977Smax.romanov@gmail.com public Collection<String> getUrlPatterns() 99*977Smax.romanov@gmail.com { 100*977Smax.romanov@gmail.com return new ArrayList<>(url_patterns_); 101*977Smax.romanov@gmail.com } 102*977Smax.romanov@gmail.com 103*977Smax.romanov@gmail.com @Override getElIgnored()104*977Smax.romanov@gmail.com public String getElIgnored() 105*977Smax.romanov@gmail.com { 106*977Smax.romanov@gmail.com return el_ignored_; 107*977Smax.romanov@gmail.com } 108*977Smax.romanov@gmail.com 109*977Smax.romanov@gmail.com @Override getPageEncoding()110*977Smax.romanov@gmail.com public String getPageEncoding() 111*977Smax.romanov@gmail.com { 112*977Smax.romanov@gmail.com return page_encoding_; 113*977Smax.romanov@gmail.com } 114*977Smax.romanov@gmail.com 115*977Smax.romanov@gmail.com @Override getScriptingInvalid()116*977Smax.romanov@gmail.com public String getScriptingInvalid() 117*977Smax.romanov@gmail.com { 118*977Smax.romanov@gmail.com return scripting_invalid_; 119*977Smax.romanov@gmail.com } 120*977Smax.romanov@gmail.com 121*977Smax.romanov@gmail.com @Override getIsXml()122*977Smax.romanov@gmail.com public String getIsXml() 123*977Smax.romanov@gmail.com { 124*977Smax.romanov@gmail.com return is_xml_; 125*977Smax.romanov@gmail.com } 126*977Smax.romanov@gmail.com 127*977Smax.romanov@gmail.com @Override getIncludePreludes()128*977Smax.romanov@gmail.com public Collection<String> getIncludePreludes() 129*977Smax.romanov@gmail.com { 130*977Smax.romanov@gmail.com return new ArrayList<>(include_preludes_); 131*977Smax.romanov@gmail.com } 132*977Smax.romanov@gmail.com 133*977Smax.romanov@gmail.com @Override getIncludeCodas()134*977Smax.romanov@gmail.com public Collection<String> getIncludeCodas() 135*977Smax.romanov@gmail.com { 136*977Smax.romanov@gmail.com return new ArrayList<>(include_codas_); 137*977Smax.romanov@gmail.com } 138*977Smax.romanov@gmail.com 139*977Smax.romanov@gmail.com @Override getDeferredSyntaxAllowedAsLiteral()140*977Smax.romanov@gmail.com public String getDeferredSyntaxAllowedAsLiteral() 141*977Smax.romanov@gmail.com { 142*977Smax.romanov@gmail.com return deffered_syntax_allowed_as_literal_; 143*977Smax.romanov@gmail.com } 144*977Smax.romanov@gmail.com 145*977Smax.romanov@gmail.com @Override getTrimDirectiveWhitespaces()146*977Smax.romanov@gmail.com public String getTrimDirectiveWhitespaces() 147*977Smax.romanov@gmail.com { 148*977Smax.romanov@gmail.com return trim_directive_whitespaces_; 149*977Smax.romanov@gmail.com } 150*977Smax.romanov@gmail.com 151*977Smax.romanov@gmail.com @Override getDefaultContentType()152*977Smax.romanov@gmail.com public String getDefaultContentType() 153*977Smax.romanov@gmail.com { 154*977Smax.romanov@gmail.com return default_content_type_; 155*977Smax.romanov@gmail.com } 156*977Smax.romanov@gmail.com 157*977Smax.romanov@gmail.com @Override getBuffer()158*977Smax.romanov@gmail.com public String getBuffer() 159*977Smax.romanov@gmail.com { 160*977Smax.romanov@gmail.com return buffer_; 161*977Smax.romanov@gmail.com } 162*977Smax.romanov@gmail.com 163*977Smax.romanov@gmail.com @Override getErrorOnUndeclaredNamespace()164*977Smax.romanov@gmail.com public String getErrorOnUndeclaredNamespace() 165*977Smax.romanov@gmail.com { 166*977Smax.romanov@gmail.com return error_on_undeclared_namespace_; 167*977Smax.romanov@gmail.com } 168*977Smax.romanov@gmail.com } 169*977Smax.romanov@gmail.com 170