Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. package patterns.behavioral.command;
  2.  
  3. import java.io.IOException;
  4. import java.nio.charset.StandardCharsets;
  5. import java.nio.file.Files;
  6. import java.nio.file.Path;
  7. import java.nio.file.Paths;
  8. import java.util.*;
  9. import java.util.function.Function;
  10. import java.util.function.Predicate;
  11. import java.util.regex.Matcher;
  12. import java.util.regex.Pattern;
  13. import java.util.stream.Collectors;
  14.  
  15. import static java.util.Arrays.asList;
  16.  
  17. public class CommandTestDrive {
  18.  
  19. public static void main(String[] args) throws IOException {
  20. Pattern pattern = Pattern.compile("java:global.ejb.[\\w]*");
  21. List<String> sourceList = new ArrayList<>();
  22. List<String> finalList = new ArrayList<>();
  23. List<String> resultList = new ArrayList<>();
  24. Set<String> set = new HashSet<>();
  25.  
  26.  
  27. Path[] pathToSource = {Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\integration\\services.xml"),
  28. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\integration\\jboss-web.xml"),
  29. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\integration\\target\\services.xml"),
  30. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\integration\\target\\jboss-web.xml"),
  31. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\service\\jboss-ejb3.xml"),
  32. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\service\\oboz-ejb-context.xml"),
  33. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\service\\resources\\oboz-service-context.xml"),
  34. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\service\\target\\jboss-ejb3.xml"),
  35. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\service\\target\\oboz-ejb-context.xml"),
  36. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\service\\target\\oboz-service-context.xml"),
  37. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\validation\\validationContext.xml"),
  38. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\validation\\target\\validationContext.xml"),
  39. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\web\\applicationContext.xml"),
  40. Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\web\\target\\applicationContext.xml"),
  41. };
  42.  
  43. Path pathToFinal = Paths.get("C:\\Users\\rNazarenkov\\Desktop\\regex\\ejbLookup.xml");
  44.  
  45.  
  46. sourceList = findEJB(pathToSource, sourceList, pattern);
  47. finalList = findEJB(pathToFinal, finalList, pattern);
  48.  
  49. sourceList = substringList(sourceList, pattern);
  50. finalList = substringList(finalList, pattern);
  51.  
  52.  
  53. Boolean isUnique = true;
  54. for (int i = 0; i < sourceList.size(); i++) {
  55. for (int l = 0; l < finalList.size(); l++) {
  56. if (sourceList.get(i).equals(finalList.get(l))) {
  57. isUnique = false;
  58. }
  59. }
  60. if (isUnique == true) {
  61. resultList.add(sourceList.get(i));
  62. } else {
  63. isUnique = true;
  64. }
  65. }
  66. resultList = resultList.stream().distinct().collect(Collectors.toList());
  67. System.out.println(resultList.size());
  68. resultList.stream().forEach(x -> System.out.println(x));
  69. }
  70.  
  71.  
  72. public static List<String> substringList(List<String> list, Pattern pattern) {
  73. Matcher matcher = null;
  74. List<String> arrayList = new ArrayList<>(list);
  75. for (int i = 0; i < arrayList.size(); i++) {
  76. matcher = pattern.matcher(arrayList.get(i));
  77. if (matcher.find()) {
  78. arrayList.set(i, matcher.group());
  79. }
  80. }
  81. return arrayList;
  82. }
  83.  
  84. public static List<String> findEJB(Path[] path, List<String> list, Pattern pattern) throws IOException {
  85. List<String> ejbList = new ArrayList<>(list);
  86. for (int i = 0; i < path.length; i++) {
  87. Files.lines(path[i], StandardCharsets.UTF_8)
  88. .filter(pattern.asPredicate())
  89. .forEach(y -> ejbList.add(y));
  90. }
  91. return ejbList;
  92. }
  93.  
  94. public static List<String> findEJB(Path path, List<String> list, Pattern pattern) throws IOException {
  95. List<String> ejbList = new ArrayList<>(list);
  96. Files.lines(path, StandardCharsets.UTF_8)
  97. .filter(pattern.asPredicate())
  98. .forEach(y -> ejbList.add(y));
  99. return ejbList;
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement