in phoenix5-hive/src/it/java/org/apache/hadoop/hive/ql/QTestUtil.java [1537:1612]
private void maskPatterns(Pattern[] patterns, String fname) throws Exception {
String maskPattern = "#### A masked pattern was here ####";
String partialMaskPattern = "#### A PARTIAL masked pattern was here ####";
String line;
BufferedReader in;
BufferedWriter out;
File file = new File(fname);
File fileOrig = new File(fname + ".orig");
FileUtils.copyFile(file, fileOrig);
in = new BufferedReader(new InputStreamReader(new FileInputStream(fileOrig), "UTF-8"));
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));
boolean lastWasMasked = false;
boolean partialMaskWasMatched = false;
Matcher matcher;
while (null != (line = in.readLine())) {
if (fsType == FsType.encrypted_hdfs) {
for (Pattern pattern : partialReservedPlanMask) {
matcher = pattern.matcher(line);
if (matcher.find()) {
line = partialMaskPattern + " " + matcher.group(0);
partialMaskWasMatched = true;
break;
}
}
}
else {
for (PatternReplacementPair prp : partialPlanMask) {
matcher = prp.pattern.matcher(line);
if (matcher.find()) {
line = line.replaceAll(prp.pattern.pattern(), prp.replacement);
partialMaskWasMatched = true;
}
}
}
if (!partialMaskWasMatched) {
for (Pair<Pattern, String> pair : patternsWithMaskComments) {
Pattern pattern = pair.getLeft();
String maskComment = pair.getRight();
matcher = pattern.matcher(line);
if (matcher.find()) {
line = matcher.replaceAll(maskComment);
partialMaskWasMatched = true;
break;
}
}
for (Pattern pattern : patterns) {
line = pattern.matcher(line).replaceAll(maskPattern);
}
}
if (line.equals(maskPattern)) {
// We're folding multiple masked lines into one.
if (!lastWasMasked) {
out.write(line);
out.write("\n");
lastWasMasked = true;
partialMaskWasMatched = false;
}
} else {
out.write(line);
out.write("\n");
lastWasMasked = false;
partialMaskWasMatched = false;
}
}
in.close();
out.close();
}