[HER-1655] Excessive charset/character-encoding exceptions; is fallback behavior correct?

* ReplayCharSequence.java, GenericReplayCharSequence.java, InMemoryReplayCharSequence.java
    refactor to put fallback-encoding in single place
This commit is contained in:
gojomo
2009-08-27 00:12:15 +00:00
parent 3f9ecc4dfa
commit 783ecfd9d7
3 changed files with 7 additions and 2 deletions
@@ -154,7 +154,7 @@ public class GenericReplayCharSequence implements ReplayCharSequence {
} catch (IllegalArgumentException e) {
logger.log(Level.WARNING,"charset problem: "+charsetName,e);
// TODO: better detection or default
charset = Charset.forName("UTF-8");
charset = Charset.forName(FALLBACK_CHARSET_NAME);
}
if (charset.newEncoder().maxBytesPerChar() == 1.0) {
logger.info("charset=" + charsetName
@@ -91,7 +91,7 @@ public class InMemoryReplayCharSequence implements ReplayCharSequence {
} catch (IllegalArgumentException e) {
logger.log(Level.WARNING,"charset problem: "+encoding,e);
// TODO: better detection or default
charset = Charset.forName("UTF-8");
charset = Charset.forName(FALLBACK_CHARSET_NAME);
}
return charset.decode(bb).asReadOnlyBuffer();
}
@@ -37,6 +37,11 @@ import java.io.IOException;
*/
public interface ReplayCharSequence extends CharSequence, Closeable {
/** charset to use in replay when declared value
* is absent/illegal/unavailable */
String FALLBACK_CHARSET_NAME = "UTF-8";
// String FALLBACK_CHARSET_NAME = "ISO8859_1";
/**
* Call this method when done so implementation has chance to clean up
* resources.