introspection et Long wrapper
Bonjour,
j'ai un petit soucis avec l'introspection :
mon test :
Code:
1 2 3 4 5 6 7 8
|
MonObjet result = null ;
try {
result = (DefaultParams) this.invokePrivateMethod("fillEntityBean", new Class[]{Long.class, Long.class, Long.class, Long.class,Long.class}, idTechnic, idProfil, idMotif,idGroupe,idSource );
} catch (InvocationTargetException e) {
e.printStackTrace();
fail();
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
private Object invokePrivateMethod(String methodName, Class[]paramType, Object ... param) throws InvocationTargetException{
Method method;
Object result = null ;
try {
method = MonObjet.class.getDeclaredMethod(methodName, paramType);
method.setAccessible(true);
result = method.invoke(MonObjet.class, param);
} catch (SecurityException e) {
e.printStackTrace();
fail();
} catch (NoSuchMethodException e) {
e.printStackTrace();
fail();
} catch (IllegalArgumentException e) {
e.printStackTrace();
fail();
} catch (IllegalAccessException e) {
e.printStackTrace();
fail();
} catch (InvocationTargetException e) {
throw e ;
}
return result;
} |
la méthode testée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
private MonObjet fillEntityBean(Long idProfil, Long idMotif,
Long idGroupe, Long source) {
DefaultParams entity = new DefaultParams();
entity.setProfilId(idProfil);
entity.setMotifId(idMotif);
entity.setGroupeId(idGroupe);
entity.setSource(source);
return entity;
} |
Et mon soucis est que je ramasse toujours : java.lang.IllegalArgumentException: object is not an instance of declaring class
Je ne vois pas pourquoi, ma méthode prend des Long en entrée, je lui en donne mais ca ne semble pas lui plaire.
Auriez vous des idées sur le sujet ?
merci d'avance
Sébastien