Community
Participate
Working Groups
When using the Sun JAXB implementation, users specified a custom IDResolver as follows: unmarshaller.setProperty("com.sun.xml.bind.IDResolver", new MyIDResolver()); or unmarshaller.setProperty(IDResolver.class.getName(), new MyIDResolver()); where IDResolver is com.sun.xml.bind.IDResolver, and MyIDResolver is an implementation of that interface. For MOXy, an equivalent interface was created, org.eclipse.persistence.jaxb.IDResolver, and the user's custom resolver class must implement that MOXy interface. If we want the user to be able migrate to MOXy from the Sun JAXB without having to change any code at all, we will have to include the com.sun.xml.bind interface in MOXy as well, so that we can use it in our own code. We will then have to ask the user to implement a Sun interface to get the benefits of this feature. We have the same issue with the upcoming NamespacePrefixResolver -- how are we going to handle these? MOXy IDResolver - Bug 360249
Our requirement is that EclipseLink be a drop in replacement for the Sun implementation, with no additional work for the user to continue using their current IDResolver code, so we must also support com.sun.xml.bind.IDResolvers reflectively.
Created attachment 211751 [details] Patch - code changes (trunk)
Created attachment 211752 [details] Patch - test changes (trunk)
Created attachment 211757 [details] Patch - code changes (trunk)
Fixed in both trunk and 2.3, reviewed by mmacivor.
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink