/** * This is like {@link #parseCommaSeparatedList(String)}, but is not confused by commas inside * {@code ?settings(...)} parts at the end of the items. */ static List parseCommaSeparatedTemplatePaths(String commaSepItems) { List listItems; listItems = new ArrayList(); while (commaSepItems.length() != 0) { int itemSettingAssignmentsStart = findTemplatePathSettingAssignmentsStart(commaSepItems); int pureItemEnd = itemSettingAssignmentsStart != -1 ? itemSettingAssignmentsStart : commaSepItems.length(); int prevComaIdx = commaSepItems.lastIndexOf(',', pureItemEnd - 1); int itemStart = prevComaIdx != -1 ? prevComaIdx + 1 : 0; final String item = commaSepItems.substring(itemStart).trim(); if (item.length() != 0) { listItems.add(0, item); } else if (listItems.size() > 0) { throw new TemplatePathParsingException("Missing list item before a comma"); } commaSepItems = prevComaIdx != -1 ? commaSepItems.substring(0, prevComaIdx).trim() : ""; } return listItems; }
static TemplateLoader createTemplateLoader( String templatePath, Configuration cfg, Class classLoaderClass, ServletContext srvCtx) throws IOException { final int settingAssignmentsStart = findTemplatePathSettingAssignmentsStart(templatePath); String pureTemplatePath = (settingAssignmentsStart == -1 ? templatePath : templatePath.substring(0, settingAssignmentsStart)) .trim();
/** * This is like {@link #parseCommaSeparatedList(String)}, but is not confused by commas inside * {@code ?settings(...)} parts at the end of the items. */ static List parseCommaSeparatedTemplatePaths(String commaSepItems) { List listItems; listItems = new ArrayList(); while (commaSepItems.length() != 0) { int itemSettingAssignmentsStart = findTemplatePathSettingAssignmentsStart(commaSepItems); int pureItemEnd = itemSettingAssignmentsStart != -1 ? itemSettingAssignmentsStart : commaSepItems.length(); int prevComaIdx = commaSepItems.lastIndexOf(',', pureItemEnd - 1); int itemStart = prevComaIdx != -1 ? prevComaIdx + 1 : 0; final String item = commaSepItems.substring(itemStart).trim(); if (item.length() != 0) { listItems.add(0, item); } else if (listItems.size() > 0) { throw new TemplatePathParsingException("Missing list item before a comma"); } commaSepItems = prevComaIdx != -1 ? commaSepItems.substring(0, prevComaIdx).trim() : ""; } return listItems; }
/** * This is like {@link #parseCommaSeparatedList(String)}, but is not confused by commas inside * {@code ?settings(...)} parts at the end of the items. */ static List parseCommaSeparatedTemplatePaths(String commaSepItems) { List listItems; listItems = new ArrayList(); while (commaSepItems.length() != 0) { int itemSettingAssignmentsStart = findTemplatePathSettingAssignmentsStart(commaSepItems); int pureItemEnd = itemSettingAssignmentsStart != -1 ? itemSettingAssignmentsStart : commaSepItems.length(); int prevComaIdx = commaSepItems.lastIndexOf(',', pureItemEnd - 1); int itemStart = prevComaIdx != -1 ? prevComaIdx + 1 : 0; final String item = commaSepItems.substring(itemStart).trim(); if (item.length() != 0) { listItems.add(0, item); } else if (listItems.size() > 0) { throw new TemplatePathParsingException("Missing list item before a comma"); } commaSepItems = prevComaIdx != -1 ? commaSepItems.substring(0, prevComaIdx).trim() : ""; } return listItems; }
static TemplateLoader createTemplateLoader( String templatePath, Configuration cfg, Class classLoaderClass, ServletContext srvCtx) throws IOException { final int settingAssignmentsStart = findTemplatePathSettingAssignmentsStart(templatePath); String pureTemplatePath = (settingAssignmentsStart == -1 ? templatePath : templatePath.substring(0, settingAssignmentsStart)) .trim();
static TemplateLoader createTemplateLoader( String templatePath, Configuration cfg, Class classLoaderClass, ServletContext srvCtx) throws IOException { final int settingAssignmentsStart = findTemplatePathSettingAssignmentsStart(templatePath); String pureTemplatePath = (settingAssignmentsStart == -1 ? templatePath : templatePath.substring(0, settingAssignmentsStart)) .trim();