Chronon 1.2 released with the recorder supporting object fields updates through reflection!
More details here :
http://eblog.chrononsystems.com/chron...
Help get this topic noticed by sharing it on
Twitter,
Facebook, or email.



-
I wrote the following code to see how well Chronon works using the latest Intllij Idea IDE (Ultimate Edition).
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
public class TwosCompliment
{
int i= 5;
public static void main(String[] args) throws Exception
{
int i=1;
System.out.format("%d",i);
System.out.format("-->%h%n",i);
i = i - 1;
System.out.format("%d",i);
System.out.format("-->%h%n",i);
i = i - 1;
System.out.format("%d",i);
System.out.format("-->%h%n",i);
Map map = new HashMap();
map.put("this", "that");
System.out.println(map);
Class c = TwosCompliment.class;
Object ob = c.newInstance();
Method m = c.getMethod("here");
m.invoke(ob);
Field f = c.getDeclaredField("i");
f.setInt(ob, 10);
System.out.println(ob);
}
public void here()
{
System.out.println("here");
}
public String toString()
{
return "[i:"+this.i+"]";
}
}
I set Chronon to record with the pattern TwosCompliement.
The output didn't identify that the here() method and the toString() method were called. Is this expected? I was also a bit disappointed that I wasn't able to view the contents of the Map after I put values in it.
My environment heavily uses Reflective APIs and I'd like to know what I'm doing wrong so I can display the here() and the toString() methods were executed. -