• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright (c) 2008, SnakeYAML
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 package org.yaml.snakeyaml;
15 
16 import java.io.BufferedInputStream;
17 import java.io.IOException;
18 import java.io.InputStream;
19 import java.util.Arrays;
20 import java.util.HashSet;
21 import java.util.Set;
22 
23 public class Util {
24 
getLocalResource(String theName)25   public static String getLocalResource(String theName) {
26     try {
27       InputStream input;
28       input = YamlDocument.class.getClassLoader().getResourceAsStream(theName);
29       if (input == null) {
30         throw new RuntimeException("Can not find " + theName);
31       }
32       BufferedInputStream is = new BufferedInputStream(input);
33       StringBuilder buf = new StringBuilder(3000);
34       int i;
35       try {
36         while ((i = is.read()) != -1) {
37           buf.append((char) i);
38         }
39       } finally {
40         is.close();
41       }
42       String resource = buf.toString();
43       // convert EOLs
44       String[] lines = resource.split("\\r?\\n");
45       StringBuilder buffer = new StringBuilder();
46       for (int j = 0; j < lines.length; j++) {
47         buffer.append(lines[j]);
48         buffer.append("\n");
49       }
50       return buffer.toString();
51     } catch (IOException e) {
52       throw new RuntimeException(e);
53     }
54   }
55 
compareAllLines(String text1, String text2)56   public static boolean compareAllLines(String text1, String text2) {
57     Set<String> split1 = new HashSet<String>(Arrays.asList(text1.trim().split("\n")));
58     Set<String> split2 = new HashSet<String>(Arrays.asList(text2.trim().split("\n")));
59     return split1.containsAll(split2) && split2.containsAll(split1);
60   }
61 }
62