Hi Peter,

Peter A wrote:

> Here's the full message.  Works just fine when run as an application:
> 
> /opt/jdk/jdk1.7.0_45/bin/appletviewer index.html
> Exception in thread "Thread-1" java.security.AccessControlException:
> access denied ("java.lang.RuntimePermission" "createClassLoader")


You will never have this permission in an unsigned applet.


>     at
> 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
>     at
> java.security.AccessController.checkPermission(AccessController.java:559)
>     at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
>     at
> java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:611)
>     at java.lang.ClassLoader.checkCreateClassLoader(ClassLoader.java:275)
>     at java.lang.ClassLoader.<init>(ClassLoader.java:336)
>     at
> 
com.thoughtworks.xstream.core.util.CompositeClassLoader.<init>(CompositeClassLoader.java:73)
>     at com.thoughtworks.xstream.XStream.<init>(XStream.java:411)
>     at com.thoughtworks.xstream.XStream.<init>(XStream.java:364)


You have to provide the classloader in a ClassLoaderReference also as 
XStream contructor parameter.


>     at boofcv.io.UtilIO.loadXML(UtilIO.java:154)
>     at
> 
boofcv.alg.geo.rectify.ShowRectifyCalibratedApp.changeInput(ShowRectifyCalibratedApp.java:154)
>     at
> 
boofcv.gui.SelectAlgorithmAndInputPanel.performChangeInput(SelectAlgorithmAndInputPanel.java:326)
>     at
> 
boofcv.gui.SelectAlgorithmAndInputPanel.access$200(SelectAlgorithmAndInputPanel.java:44)
>     at
> 
boofcv.gui.SelectAlgorithmAndInputPanel$8.run(SelectAlgorithmAndInputPanel.java:300)
> 
> The code right now is slightly different from the way it was before:
> 
>     public static <T> T loadXML( Reader r ) {
>         XStream xstream = new XStream(new PureJavaReflectionProvider());
>         xstream.registerConverter(new
> JavaBeanConverter(xstream.getMapper()));
>         return (T)xstream.fromXML(r);
>     }
> 
> Another issue I have now is that the PureJavaReflectionProvider() has
> issues with capitalization.


Sorry, no. The PureJavaReflectonProvider has no such issues.


> The variable is capitalized in the class but
> I have to modify the xml by hand to make it lower case or it won't parse.


Since you have registered to use a JavaBeanConverter for any class with a 
public default constructor. 

=================== %< =============
XStream xstream = new XStream(new PureJavaReflectionProvider());
xstream.registerConverter(new JavaBeanConverter(xstream.getMapper()));
ConverterLookup lookup = xstream.getConverterLookup();
assertTrue(lookup.lookupConverterForType(ArrayList.class) instanceof 
=================== %< =============

The priority of the internally registered converters is listed here:
http://xstream.codehaus.org/converters.html

The JavaBeanConverter is not using the PureJavaReflectionConverter at all, 
it follows the JavaBean naming conventions:

=================== %< =============
class Bean {
  String __NaMe$$;
  String getName() { return __NaMe$$; }
  void setName(String s) { __NaMe$$ = s; }
}
=================== %< =============

Since the bean attribute's name is "name", "name" will be used for the XML 
elements in a Bean instance. Register the converter with a lower prio.

 
> I also have more time now and should be able to reply faster.  Sorry for
> the previous delays.


Your feedback is welcome,
Jörg


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to