From 7c255968705fb0fc850fb9075089cfb2e5dfe1d7 Mon Sep 17 00:00:00 2001 From: Rob Austin Date: Wed, 17 Dec 2014 10:19:25 +0000 Subject: [PATCH] HCOLL-242 better default support for strings and CharSequence --- .../net/openhft/chronicle/map/VanillaChronicleMap.java | 7 +++++++ .../java/net/openhft/chronicle/map/CHMUseCasesTest.java | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java b/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java index 2aacb373d..c8c54a67b 100755 --- a/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java +++ b/src/main/java/net/openhft/chronicle/map/VanillaChronicleMap.java @@ -849,6 +849,10 @@ class VanillaChronicleMap, private E get(HierarchicalStreamReader reader, UnmarshallingContext unmarshallingContext, Class clazz) { + + if (clazz == CharSequence.class) + return (E) unmarshallingContext.convertAnother(null, String.class); + if (reader.getAttributeCount() > 0) { final String type = reader.getAttribute("type"); try { @@ -910,6 +914,9 @@ class VanillaChronicleMap, } private void writeType(HierarchicalStreamWriter writer, Object o, final Class clazz) { + if (clazz == CharSequence.class) + return; + String simpleName = o.getClass().getCanonicalName(); if (simpleName.endsWith("$$Native")) { String nodeName = simpleName.substring(0, simpleName.length() - diff --git a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java index 9a71515e1..9eda52d37 100644 --- a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java +++ b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java @@ -110,7 +110,8 @@ public class CHMUseCasesTest { @Test - public void testStringStringMap() throws ExecutionException, InterruptedException, IOException { + public void testStringStringMap() throws ExecutionException, InterruptedException, + IOException { ChronicleMapBuilder builder = ChronicleMapBuilder