You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/09/27 13:14:24 UTC
[5/5] git commit: CAMEL-7870 re-optimize hints when setBarcodeFormat
called
CAMEL-7870 re-optimize hints when setBarcodeFormat called
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3ac01178
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3ac01178
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3ac01178
Branch: refs/heads/master
Commit: 3ac01178d181cc9cde0ef4b8d5ddae4e2678845e
Parents: 61f9e83
Author: Seiji Sogabe <s....@gmail.com>
Authored: Sun Sep 28 04:13:28 2014 +0900
Committer: Seiji Sogabe <s....@gmail.com>
Committed: Sun Sep 28 04:13:28 2014 +0900
----------------------------------------------------------------------
.../dataformat/barcode/BarcodeDataFormat.java | 5 ++++
.../barcode/BarcodeDataFormatTest.java | 24 ++++++++++++++++++++
2 files changed, 29 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/3ac01178/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java
----------------------------------------------------------------------
diff --git a/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java b/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java
index fe347ec..7639eaf 100644
--- a/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java
+++ b/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java
@@ -186,6 +186,10 @@ public class BarcodeDataFormat implements DataFormat {
* Sets hints optimized for different barcode types.
*/
protected final void optimizeHints() {
+ // clear hints for re-optimization
+ this.writerHintMap.clear();
+ this.readerHintMap.clear();
+
// writer hints
this.writerHintMap
.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
@@ -357,6 +361,7 @@ public class BarcodeDataFormat implements DataFormat {
public void setBarcodeFormat(BarcodeFormat format) {
this.params.setFormat(format);
+ this.optimizeHints();
}
public void setWidth(Integer width) {
http://git-wip-us.apache.org/repos/asf/camel/blob/3ac01178/components/camel-barcode/src/test/java/org/apache/camel/dataformat/barcode/BarcodeDataFormatTest.java
----------------------------------------------------------------------
diff --git a/components/camel-barcode/src/test/java/org/apache/camel/dataformat/barcode/BarcodeDataFormatTest.java b/components/camel-barcode/src/test/java/org/apache/camel/dataformat/barcode/BarcodeDataFormatTest.java
index dad9387..8420625 100644
--- a/components/camel-barcode/src/test/java/org/apache/camel/dataformat/barcode/BarcodeDataFormatTest.java
+++ b/components/camel-barcode/src/test/java/org/apache/camel/dataformat/barcode/BarcodeDataFormatTest.java
@@ -134,6 +134,30 @@ public class BarcodeDataFormatTest {
}
/**
+ * Test re-optimize hints.
+ */
+ @Test
+ public final void testReOptimizeHints() {
+ // DATA-MATRIX
+ BarcodeDataFormat instance = new BarcodeDataFormat(BarcodeFormat.DATA_MATRIX);
+ assertTrue(instance.getWriterHintMap()
+ .containsKey(EncodeHintType.ERROR_CORRECTION));
+ assertTrue(instance.getWriterHintMap()
+ .containsKey(EncodeHintType.DATA_MATRIX_SHAPE));
+ assertTrue(instance.getReaderHintMap()
+ .containsKey(DecodeHintType.TRY_HARDER));
+
+ // -> QR-CODE
+ instance.setBarcodeFormat(BarcodeFormat.QR_CODE);
+ assertTrue(instance.getWriterHintMap()
+ .containsKey(EncodeHintType.ERROR_CORRECTION));
+ assertFalse(instance.getWriterHintMap()
+ .containsKey(EncodeHintType.DATA_MATRIX_SHAPE));
+ assertTrue(instance.getReaderHintMap()
+ .containsKey(DecodeHintType.TRY_HARDER));
+ }
+
+ /**
* Test of addToHintMap method, of class BarcodeDataFormat.
*/
@Test