javers - MANAGED_CLASS_MAPPING_ERROR given javaClass 'class java.util.ArrayList' is mapped to ListType, expected ManagedType -


we starting experiment javers in our application. want track changes orders after placed users. it's typical order object main order object, items, item options, etc. half time go run test program receiving exception:

130 [main] info org.javers.core.javersbuilder - javers instance & ready exception in thread "main" javersexception: managed_class_mapping_error given javaclass 'class java.util.arraylist' mapped listtype, expected managedtype @ org.javers.core.metamodel.type.typemapper.getjaversmanagedtype(typemapper.java:149) @ org.javers.core.metamodel.type.typemapper.getjaversmanagedtype(typemapper.java:132) @ org.javers.core.metamodel.object.globalidfactory.createid(globalidfactory.java:39) @ org.javers.core.graph.livecdofactory.create(livecdofactory.java:24) @ org.javers.core.graph.edgebuilder.ascdo(edgebuilder.java:39) @ org.javers.core.graph.edgebuilder.buildsingleedge(edgebuilder.java:32) @ org.javers.core.graph.objectgraphbuilder.buildsingleedges(objectgraphbuilder.java:81) @ org.javers.core.graph.objectgraphbuilder.buildedges(objectgraphbuilder.java:71) @ org.javers.core.graph.objectgraphbuilder.buildgraphfromcdo(objectgraphbuilder.java:59) @ org.javers.core.graph.objectgraphbuilder.buildgraph(objectgraphbuilder.java:48) @ org.javers.core.graph.livegraphfactory.createlivegraph(livegraphfactory.java:39) @ org.javers.core.diff.difffactory.buildgraph(difffactory.java:109) @ org.javers.core.diff.difffactory.compare(difffactory.java:64) @ org.javers.core.javerscore.compare(javerscore.java:104)

we rerun program , works. code looks this.

// original database object ordervo oldorder = // load database.  // changed database object ordervo neworder = // load database. // change email neworder.setemail("test@test.com"); // simulate changing quantity , item id on items (orderitemvo orderitemvo : neworder.getitems()) {   orderitemvo.setmerchantitemid(orderitemvo.getmerchantitemid() + "a");   orderitemvo.setquantity(orderitemvo.getquantity().add(1)); }  // remove first item orderitemvo[] items = new orderitemvo[neworder.getitems().length - 1]; system.arraycopy(neworder.getitems(), 1, items, 0, items.length); neworder.setitems(items);  // run comparison javers javers = javersbuilder.javers().withlistcomparealgorithm(listcomparealgorithm.levenshtein_distance).build(); diff diff = javers.compare(oldorder, neworder); 


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -