From: Olyutorskii Date: Sat, 15 Jun 2019 03:59:09 +0000 (+0900) Subject: remove null assignment. X-Git-Tag: release-3.122.2^2~4 X-Git-Url: http://git.osdn.net/view?p=mikutoga%2FTogaGem.git;a=commitdiff_plain;h=32f0dae4867d4df75e5908cc945fcb7f6806e0b0 remove null assignment. --- diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index 6289d5e..ad3deac 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -397,6 +397,6 @@ - + diff --git a/src/main/java/jp/sfjp/mikutoga/bin/export/TextExporter.java b/src/main/java/jp/sfjp/mikutoga/bin/export/TextExporter.java index cc54c26..3495f9d 100644 --- a/src/main/java/jp/sfjp/mikutoga/bin/export/TextExporter.java +++ b/src/main/java/jp/sfjp/mikutoga/bin/export/TextExporter.java @@ -28,13 +28,15 @@ public class TextExporter { /** デフォルトの出力バッファサイズ(単位:byte)。 */ public static final int DEFBUFSZ_BYTE = 128; + private static final String DUMMYTXT = ""; + private final CharsetEncoder encoder; private CharBuffer cbuf = CharBuffer.allocate(DEFBUFSZ_CHAR); private byte[] barray = new byte[DEFBUFSZ_BYTE]; private ByteBuffer bbuf = ByteBuffer.wrap(this.barray); - private CharSequence textData; + private CharSequence textData = DUMMYTXT; private int textLength; private int inPos; @@ -126,7 +128,7 @@ public class TextExporter { try{ total = dumpTextImpl(os); }finally{ - this.textData = null; + this.textData = DUMMYTXT; } return total; diff --git a/src/main/java/jp/sfjp/mikutoga/xml/AbstractXmlExporter.java b/src/main/java/jp/sfjp/mikutoga/xml/AbstractXmlExporter.java index c6be082..4bbf4ad 100644 --- a/src/main/java/jp/sfjp/mikutoga/xml/AbstractXmlExporter.java +++ b/src/main/java/jp/sfjp/mikutoga/xml/AbstractXmlExporter.java @@ -379,14 +379,10 @@ abstract class AbstractXmlExporter implements XmlExporter{ case CH_GT: escTxt = ">"; break; case CH_DQ: escTxt = """; break; case CH_SQ: escTxt = "'"; break; - default: escTxt = null; break; + default: return putRawCh(ch); } - if(escTxt != null){ - putRawText(escTxt); - }else{ - putRawCh(ch); - } + putRawText(escTxt); return this; } diff --git a/src/main/java/jp/sfjp/mikutoga/xml/XmlResourceResolver.java b/src/main/java/jp/sfjp/mikutoga/xml/XmlResourceResolver.java index 56c7132..196a900 100644 --- a/src/main/java/jp/sfjp/mikutoga/xml/XmlResourceResolver.java +++ b/src/main/java/jp/sfjp/mikutoga/xml/XmlResourceResolver.java @@ -77,6 +77,7 @@ public class XmlResourceResolver /** * 絶対URIと相対URIを合成したURIを返す。 * 正規化も行われる。 + * * @param base 絶対URIでなければならない。nullでもよい。 * @param relative 絶対URIでもよいがその場合baseは無視される。null可。 * @return 合成結果のURLオブジェクト。必ず絶対URIになる。 @@ -102,8 +103,24 @@ public class XmlResourceResolver }else{ relativeURI = EMPTY_URI; } + + URI result = buildBaseRelativeURI(baseURI, relativeURI); + return result; + } + /** + * 絶対URIと相対URIを合成したURIを返す。 + * 正規化も行われる。 + * + * @param baseURI 絶対URIでなければならない。nullでもよい。 + * @param relativeURI 絶対URIでもよいがその場合baseは無視される。 + * @return 合成結果のURLオブジェクト。必ず絶対URIになる。 + * @throws java.lang.IllegalArgumentException 絶対URIが生成できない。 + */ + private static URI buildBaseRelativeURI(URI baseURI, URI relativeURI) + throws IllegalArgumentException { URI resultURI; + if(baseURI == null || relativeURI.isAbsolute()){ resultURI = relativeURI; }else{ diff --git a/src/test/java/jp/sfjp/mikutoga/xml/BasicXmlExporterTest.java b/src/test/java/jp/sfjp/mikutoga/xml/BasicXmlExporterTest.java index 61edcc4..30781e2 100644 --- a/src/test/java/jp/sfjp/mikutoga/xml/BasicXmlExporterTest.java +++ b/src/test/java/jp/sfjp/mikutoga/xml/BasicXmlExporterTest.java @@ -36,6 +36,78 @@ public class BasicXmlExporterTest { } /** + * Test of putCharRef2Hex method, of class BasicXmlExporter. + * @throws IOException + */ + @Test + public void testPutCharRef2Hex() throws IOException{ + System.out.println("putCharRef2Hex"); + + BasicXmlExporter instance; + StringBuffer buf; + + instance = new BasicXmlExporter(); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCharRef2Hex('\u0000'); + assertEquals("�", buf.toString()); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCharRef2Hex('A'); + assertEquals("A", buf.toString()); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCharRef2Hex('\u00ff'); + assertEquals("ÿ", buf.toString()); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCharRef2Hex('\u0100'); + assertEquals("Ā", buf.toString()); + + return; + } + + /** + * Test of putCh method, of class BasicXmlExporter. + * @throws IOException + */ + @Test + public void testPutCh() throws IOException{ + System.out.println("putCh"); + + BasicXmlExporter instance; + StringBuffer buf; + + instance = new BasicXmlExporter(); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCh('A'); + assertEquals("A", buf.toString()); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCh('B').putCh('7').putCh('あ'); + assertEquals("B7あ", buf.toString()); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCh('&').putCh('<').putCh('>').putCh('"').putCh('\''); + assertEquals("&<>"'", buf.toString()); + + buf = new StringBuffer(); + instance.setAppendable(buf); + instance.putCh('\b'); + assertEquals("", buf.toString()); + + return; + } + + /** * Test of append method, of class BasicXmlExporter. */ @Test diff --git a/src/test/java/jp/sfjp/mikutoga/xml/XmlResourceResolverTest.java b/src/test/java/jp/sfjp/mikutoga/xml/XmlResourceResolverTest.java new file mode 100644 index 0000000..4b54030 --- /dev/null +++ b/src/test/java/jp/sfjp/mikutoga/xml/XmlResourceResolverTest.java @@ -0,0 +1,93 @@ +/* + */ + +package jp.sfjp.mikutoga.xml; + +import java.net.URI; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + */ +public class XmlResourceResolverTest { + + public XmlResourceResolverTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * Test of buildBaseRelativeURI method, of class XmlResourceResolver. + */ + @Test + public void testBuildBaseRelativeURI() throws Exception { + System.out.println("buildBaseRelativeURI"); + + URI result; + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com", "/a"); + assertEquals("http://example.com/a", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/", "a"); + assertEquals("http://example.com/a", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/", "/a"); + assertEquals("http://example.com/a", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/a", "/b"); + assertEquals("http://example.com/b", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/a/", "b"); + assertEquals("http://example.com/a/b", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/a/", "/b"); + assertEquals("http://example.com/b", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/a", "http://example.org/b"); + assertEquals("http://example.org/b", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI(null, "http://example.org/b"); + assertEquals("http://example.org/b", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/a", null); + assertEquals("http://example.com/", result.toASCIIString()); + + result = XmlResourceResolver.buildBaseRelativeURI("http://example.com/a/b/", "../c"); + assertEquals("http://example.com/a/c", result.toASCIIString()); + + try{ + XmlResourceResolver.buildBaseRelativeURI("a/b/", "c/d"); + fail(); + }catch(IllegalArgumentException e){ + assert true; + } + + try{ + XmlResourceResolver.buildBaseRelativeURI(null, "c/d"); + fail(); + }catch(IllegalArgumentException e){ + assert true; + } + + return; + } + +}