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