"Using XStream in RapidMiner Extensions"
It's been a while since we presented this concept on RCOMM2013, but finally I found some time to work on the OpenML extention for RapidMiner. Earlier this year I created the OpenML ApiConnector for Java, which makes it very convenient to communicate with the OpenML server from a Java environment. The OpenML ApiConnector uses XStream to convert an object from the webbased API into a Java Object.
However, I encountered two problems.
First, the version of XStream that we use is 1.4.7 (in fact, any version beyond 1.4.5 should be fine). However, RapidMiner (5.3.x) uses an older version of XStream, I can't exactly figure out which version, but it clearly lacks the function xstream.ignoreUnknownElements() (I really shouldn't go into details here). Although my extension also includes the version of XStream it relies on, RapidMiner apparently (and obviously) gives precedence to its own version. I can't be the first encountering a problem like this, is there any way around it? (Found the answer to this in an older thread)
Second, (after upgrading the XStream library for my local version of RapidMiner, I know this is ugly) get the following error: com.thoughtworks.xstream.mapper.CannotResolveClassException: org.openml.apiconnector.xml.Task
Apparently, XStream can't find the class org.openml.apiconnector.xml.Task, which does exist in the extension jar. This function has been tested extensively stand alone. My best guess is that this is a classpath problem, and that XStream is not instructed to look in the extension jar.
I shouldn't burden you with the stacktrace of the program, since I think this would not add much information, but I can attach it if you think otherwise. The main question is, have you ever tried using XStream in extensions, if yes, did you encounter the same problems, and if yes again, how did you overcome those? Especially the second problem is one that keeps me stuck.
Thanks in advance.