private Iterable<ClassReference> getClassReferences(TypeReferenceService service, JspSourceFileModel sourceFile) throws IOException { String source = FileUtils.readFileToString(sourceFile.asFile()); List<ClassReference> results = new ArrayList<>(); results.addAll(findImports(source)); results.addAll(findTaglib(source)); return results; }
private List<ClassReference> findTaglib(String source) { List<ClassReference> results = new ArrayList<>(); Pattern taglibPattern = Pattern.compile("<%@\\s*taglib\\s+[^>]*\\s*uri\\s*=\\s*['\"]([^'\"]+)['\"].*?%>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); Matcher matcher = taglibPattern.matcher(source); while (matcher.find()) { String matched = matcher.group(1); if (StringUtils.isNotBlank(matched)) { if (TypeInterestFactory.matchesAny(matched, TypeReferenceLocation.TAGLIB_IMPORT)) { ClassReference reference = createClassReference(TypeReferenceLocation.TAGLIB_IMPORT, source, matched, matcher.start()); results.add(reference); } } } return results; }
private List<ClassReference> findTaglib(String source) { List<ClassReference> results = new ArrayList<>(); Pattern taglibPattern = Pattern.compile("<%@\\s*taglib\\s+[^>]*\\s*uri\\s*=\\s*['\"]([^'\"]+)['\"].*?%>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); Matcher matcher = taglibPattern.matcher(source); while (matcher.find()) { String matched = matcher.group(1); if (StringUtils.isNotBlank(matched)) { if (TypeInterestFactory.matchesAny(matched, TypeReferenceLocation.TAGLIB_IMPORT)) { ClassReference reference = createClassReference(TypeReferenceLocation.TAGLIB_IMPORT, source, matched, matcher.start()); results.add(reference); } } } return results; }
private Iterable<ClassReference> getClassReferences(TypeReferenceService service, JspSourceFileModel sourceFile) throws IOException { String source = FileUtils.readFileToString(sourceFile.asFile()); List<ClassReference> results = new ArrayList<>(); results.addAll(findImports(source)); results.addAll(findTaglib(source)); return results; }
private List<ClassReference> findImports(String source) { List<ClassReference> results = new ArrayList<>(); Pattern jspImport = Pattern.compile("<%@\\s*page\\s+[^>]*\\s*import\\s*=\\s*['\"]([^'\"]+)['\"].*?%>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); Matcher matcher = jspImport.matcher(source); while (matcher.find()) { String matched = matcher.group(1); if (StringUtils.isNotBlank(matched)) { String[] imports = StringUtils.split(matched, ","); if (imports != null) { for (String imported : imports) { imported = StringUtils.trim(imported); if (TypeInterestFactory.matchesAny(imported, TypeReferenceLocation.IMPORT)) { ClassReference reference = createClassReference(TypeReferenceLocation.IMPORT, source, imported, matcher.start()); results.add(reference); } } } } } return results; }
private List<ClassReference> findImports(String source) { List<ClassReference> results = new ArrayList<>(); Pattern jspImport = Pattern.compile("<%@\\s*page\\s+[^>]*\\s*import\\s*=\\s*['\"]([^'\"]+)['\"].*?%>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); Matcher matcher = jspImport.matcher(source); while (matcher.find()) { String matched = matcher.group(1); if (StringUtils.isNotBlank(matched)) { String[] imports = StringUtils.split(matched, ","); if (imports != null) { for (String imported : imports) { imported = StringUtils.trim(imported); if (TypeInterestFactory.matchesAny(imported, TypeReferenceLocation.IMPORT)) { ClassReference reference = createClassReference(TypeReferenceLocation.IMPORT, source, imported, matcher.start()); results.add(reference); } } } } } return results; }