mirror of https://github.com/apache/jclouds.git
Simplify regular expression replacement
This commit is contained in:
parent
49dd8f96db
commit
03c287dfa1
|
@ -36,7 +36,7 @@ import com.google.common.base.Function;
|
|||
@Singleton
|
||||
public class ETagFromHttpResponseViaRegex implements Function<HttpResponse, String> {
|
||||
private static Pattern pattern = Pattern.compile("<ETag>([\\S&&[^<]]+)</ETag>");
|
||||
private static Pattern quotPattern = Pattern.compile("(")");
|
||||
private static String ESCAPED_QUOTE = """;
|
||||
private final ReturnStringIf2xx returnStringIf200;
|
||||
|
||||
@Inject
|
||||
|
@ -52,16 +52,8 @@ public class ETagFromHttpResponseViaRegex implements Function<HttpResponse, Stri
|
|||
Matcher matcher = pattern.matcher(content);
|
||||
if (matcher.find()) {
|
||||
value = matcher.group(1);
|
||||
Matcher quotMatcher = quotPattern.matcher(value);
|
||||
StringBuffer quotBuffer = new StringBuffer();
|
||||
boolean foundUnescapedQuote = false;
|
||||
while (quotMatcher.find()) {
|
||||
quotMatcher.appendReplacement(quotBuffer, "\"");
|
||||
foundUnescapedQuote = true;
|
||||
}
|
||||
if (foundUnescapedQuote) {
|
||||
quotMatcher.appendTail(quotBuffer);
|
||||
value = quotBuffer.toString();
|
||||
if (value.indexOf(ESCAPED_QUOTE) != -1) {
|
||||
value = value.replace(ESCAPED_QUOTE, "\"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue