Hello Peter, I know you probably know ;-) that this fast solution which I post now is not so well appreciated due to its possible privileges unconvenients, but in the meanwhile if I was you I would access private members with a PrivilegedAction:
public static Object testAccess(Object instance, String s) { try { final Field f = instance.getClass().getDeclaredField(s); AccessController.doPrivileged(new PrivilegedAction() { public Object run() { f.setAccessible(true); return null; } }); Object o = f.get(instance); return o; } catch(Exception e) { e.printStackTrace(); } return null; } Hoping it would be be useful as temporary patch ;-) Bye Petar Tahchiev wrote: > > Sorry for the formating :-(. > > > Hi guys, > > it's Petar Tahchiev from the Jakarta Cactus Team (again :-)). > I am trying to integrate the CactusTask with Ant 1.8-alpha. > The CactusTask does: > 0) Extends the JUnitTask from Ant. > 1) Gets all the tests from JUnitTask > 2) Iterates over them and sets different properties to each one of them. > 3) Calls the JUnitTask to executes the test-cases. > > So, the basis is that we are no longer able to use > > execute(org.apache.tools.ant.taskdefs.optional.junit.JUnitTest); > > because the delegate field (Object of type JUnitTaskMirror) leaves > uninitialized and thus the CactusTask throws NLPE. > This way to execute the tests we are bound to use the execute() method of > the > JUnitTask (because in that method the delegate object gets initialized). > When calling > the execute() method we have to have our tests configured. But when I get > the tests and configure them with: > =============================================================== > Enumeration tests = getIndividualTests(); > > while (tests.hasMoreElements()) > { > JUnitTest test = (JUnitTest) tests.nextElement(); > > if (test.shouldRun(getProject()) > && !theWrapper.isExcluded(test.getName())) > { > test.setFork(true); > if (theWrapper.getToDir() != null) > { > test.setTodir(theWrapper.getToDir()); > } > =============================================================== > > I am no longer able to set them in the JUnitTask. The field tests is > private: > > private Vector tests = new Vector(); > > and there is no setter for an individual test, or a vector of tests. > > Please, can you look serious to this and supply a setter method for this. > This way I can configure > the tests and set them in the JUnitTask, and after that just call > execute(). > > Thank you very much. > > P.S. Please keep me in a CC, because I am not subscribed to the Ant > Developers' lists. > > -- > Regards, Petar! > Karlovo, Bulgaria. > > EOOXML Objections > http://www.grokdoc.net/index.php/EOOXML_objections > > Public PGP Key at: > https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611 > Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 0611 > -- View this message in context: http://www.nabble.com/Cactus-1.8---Ant-1.8-Integration-tp15396771p15402964.html Sent from the Ant - Dev mailing list archive at Nabble.com.