From 24fbe1ef5b2e76ab0ed4f61763733c89f579bf5b Mon Sep 17 00:00:00 2001 From: FURUHASHI Sadayuki <frsyuki@users.sourceforge.jp> Date: Wed, 1 Dec 2010 23:27:36 +0900 Subject: [PATCH] java: uses ReflectionTemplateBuilder instead of JavassistTempalteBuilder where System.getProperty("java.vm.name") == "Dalvik" --- .../java/org/msgpack/template/TemplateBuilder.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/java/src/main/java/org/msgpack/template/TemplateBuilder.java b/java/src/main/java/org/msgpack/template/TemplateBuilder.java index 22a9be8c..b181bc75 100644 --- a/java/src/main/java/org/msgpack/template/TemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/TemplateBuilder.java @@ -135,8 +135,18 @@ public abstract class TemplateBuilder { private static TemplateBuilder instance; static { - // FIXME TemplateBuilder auto selection - instance = JavassistTemplateBuilder.getInstance(); + instance = selectDefaultTemplateBuilder(); + } + + private static TemplateBuilder selectDefaultTemplateBuilder() { + try { + // FIXME JavassistTemplateBuilder doesn't work on DalvikVM + if(System.getProperty("java.vm.name").equals("Dalvik")) { + return ReflectionTemplateBuilder.getInstance(); + } + } catch (Exception e) { + } + return JavassistTemplateBuilder.getInstance(); } synchronized static void setInstance(TemplateBuilder builder) {