diff --git a/java/src/main/java/org/msgpack/template/TemplateBuilder.java b/java/src/main/java/org/msgpack/template/TemplateBuilder.java index b181bc7..af4ad65 100644 --- a/java/src/main/java/org/msgpack/template/TemplateBuilder.java +++ b/java/src/main/java/org/msgpack/template/TemplateBuilder.java @@ -212,12 +212,12 @@ public abstract class TemplateBuilder { Field[] allFields = readAllFields(targetClass); /* index: - * @Index(0) int a; // 0 - * int b; // 1 - * @Index(3) int c; // 3 - * int e; // 4 - * @Index(2) int d; // 2 - * int e; // 5 + * @Index(0) int field_a; // 0 + * int field_b; // 1 + * @Index(3) int field_c; // 3 + * int field_d; // 4 + * @Index(2) int field_e; // 2 + * int field_f; // 5 */ List indexed = new ArrayList(); int maxIndex = -1; @@ -231,10 +231,10 @@ public abstract class TemplateBuilder { int index = readFieldIndex(f, maxIndex); if(indexed.size() > index && indexed.get(index) != null) { - throw new RuntimeException("duplicated index: "+index); // FIXME exception + throw new TemplateBuildException("duplicated index: "+index); } if(index < 0) { - throw new RuntimeException("invalid index: "+index); // FIXME exception + throw new TemplateBuildException("invalid index: "+index); } while(indexed.size() <= index) { diff --git a/java/src/main/java/org/msgpack/template/TemplateRegistry.java b/java/src/main/java/org/msgpack/template/TemplateRegistry.java index e0cd4d1..a97fca9 100644 --- a/java/src/main/java/org/msgpack/template/TemplateRegistry.java +++ b/java/src/main/java/org/msgpack/template/TemplateRegistry.java @@ -125,7 +125,7 @@ public class TemplateRegistry { for(Class i : target.getInterfaces()) { tmpl = map.get(i); if(tmpl != null) { - map.put(target, tmpl); + register(target, tmpl); return tmpl; } } @@ -135,7 +135,7 @@ public class TemplateRegistry { for(; c != Object.class; c = c.getSuperclass()) { tmpl = map.get(c); if(tmpl != null) { - map.put(target, tmpl); + register(target, tmpl); return tmpl; } }