You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-users@xmlgraphics.apache.org by thomas loubrieu <th...@boost-technologies.com> on 2003/05/22 13:06:49 UTC

SVGCanvas from batik 1.5b5

Hi,

I want to set a JSVGCanvas into a JApplet. My client use the j2sdk1.4 
applet plugin.
I got the following error with batik1.5b5 (the same thing happens with 
the CVS release but it was working with the 1.1.1 binary release).

java.security.AccessControlException: access denied 
(java.util.PropertyPermission java.home read)
	at 
java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
	at 
java.security.AccessController.checkPermission(AccessController.java:401)
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
	at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
	at java.lang.System.getProperty(System.java:572)
	at org.apache.xerces.util.SecuritySupport12$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.xerces.util.SecuritySupport12.getSystemProperty(Unknown 
Source)
	at org.apache.xerces.util.ObjectFactory.createObject(Unknown Source)
	at org.apache.xerces.util.ObjectFactory.createObject(Unknown Source)
	at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
	at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
	at java.lang.Class.newInstance0(Class.java:306)
	at java.lang.Class.newInstance(Class.java:259)
	at org.xml.sax.helpers.NewInstance.newInstance(NewInstance.java:44)
	at 
org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:119)
	at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown 
Source)
	at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown 
Source)
	at 
org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown 
Source)
	at 
org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown 
Source)
	at org.apache.batik.bridge.DocumentLoader.loadDocument(Unknown Source)
	at org.apache.batik.swing.svg.SVGDocumentLoader.run(Unknown Source)





My applet is called this way :

<OBJECT CODE="cersat.StatXcol.ui.SVGMapSelector.class" 
CODEBASE="classes-1.5"
type="application/x-java-applet"  ARCHIVE="SVGMapSelector-1.0.jar, 
batik-svg-dom.jar, batik-dom.jar, batik-ext.jar, batik-util.jar, 
batik-css.jar, batik-xml.jar, batik-gvt.jar, batik-bridge.jar, 
batik-gui-util.jar, batik-svggen.jar, batik-awt-util.jar, 
batik-script.jar, batik-parser.jar, batik-swing.jar, xerces_2_3_0.jar, 
js.jar" width=800 height=400>
<PARAM NAME="file" VALUE="http://koopa/thomas/carte.svg">
Sorry your browser doesn't display the Map Selector Applet.
</OBJECT>

The "cersat.StatXcol.ui.SVGMapSelector" class is very basic and it's 
used to work with the batik 1.1.1.
The file "cersat.StatXcol.ui.SVGMapSelector.java" is as follow :
package cersat.StatXcol.ui;

import org.apache.batik.swing.*;
import org.apache.batik.swing.JSVGCanvas;
import org.apache.batik.swing.gvt.*;
import org.apache.batik.svggen.*;
import org.apache.batik.dom.svg.SVGDOMImplementation;
import org.w3c.dom.*;
import org.w3c.dom.svg.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.applet.*;
import java.net.*;


import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
import org.apache.batik.swing.svg.SVGDocumentLoaderAdapter;
import org.apache.batik.swing.svg.SVGDocumentLoaderEvent;
import org.apache.batik.swing.svg.GVTTreeBuilderAdapter;
import org.apache.batik.swing.svg.GVTTreeBuilderEvent;


public class SVGMapSelector extends JApplet
   {

     /** Initialization method that will be called after the applet is 
loaded
      *  into the browser.
      */
     protected String  myURI;
     protected String mytargetURI;

     protected Container c;

     public void init() {
         DOMImplementation impl = 	 
SVGDOMImplementation.getDOMImplementation();
         String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
         SVGDocument doc = (SVGDocument)impl.createDocument(svgNS, 
"svg", null);

         myURI   = getParameter("file");
         c = getContentPane();

         c.setLayout(new FlowLayout());

         //Now, display the document
         JSVGCanvas canvas = new JSVGCanvas();
         canvas.setURI(myURI);
         c.add(canvas);

         canvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
             //public void gvtRenderingPrepare(GVTTreeRendererEvent e) {}
             public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
                  validate();
                  repaint();
             }
         });

     }
}



Please, do you have an idea of what happens ?

Thanks,

Bye,

Thomas.


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-users-help@xml.apache.org


Re: SVGCanvas from batik 1.5b5

Posted by Thomas E Deweese <th...@kodak.com>.
>>>>> "GWJ" == G Wade Johnson <wa...@abbnm.com> writes:

GWJ> As you'll be able to find elsewhere in the list archives, you
GWJ> must sign any applet that uses Batik.

     So I don't know how much farther he would get but the problem
here is xerces not Batik.  If he is using JDK 1.4 he can rely on
crimson in the JDK.  If you search the archives it tells you how to
set the XML parser to use.  This would also incidentally avoid the
need to download Xerces (which is ~.9 mb!).

GWJ> G. Wade

GWJ> thomas loubrieu wrote:
>>  Hi,
>> 
>> I want to set a JSVGCanvas into a JApplet. My client use the
>> j2sdk1.4 applet plugin.  I got the following error with batik1.5b5
>> (the same thing happens with the CVS release but it was working
>> with the 1.1.1 binary release).
>> 
>> java.security.AccessControlException: access denied
>> (java.util.PropertyPermission java.home read) at
>> java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
>> at
>> java.security.AccessController.checkPermission(AccessController.java:401)
>> at
>> java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
>> at
>> java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
>> at java.lang.System.getProperty(System.java:572) at
>> org.apache.xerces.util.SecuritySupport12$2.run(Unknown Source) at
>> java.security.AccessController.doPrivileged(Native Method) at
>> org.apache.xerces.util.SecuritySupport12.getSystemProperty(Unknown
>> Source) at
>> org.apache.xerces.util.ObjectFactory.createObject(Unknown Source)
>> at org.apache.xerces.util.ObjectFactory.createObject(Unknown
>> Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown
>> Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown
>> Source) at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method) at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>> at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>> at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
>> at java.lang.Class.newInstance0(Class.java:306) at
>> java.lang.Class.newInstance(Class.java:259) at
>> org.xml.sax.helpers.NewInstance.newInstance(NewInstance.java:44) at
>> org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:119)
>> at
>> org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown
>> Source) at
>> org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown
>> Source) at
>> org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown
>> Source) at
>> org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown
>> Source) at
>> org.apache.batik.bridge.DocumentLoader.loadDocument(Unknown Source)
>> at org.apache.batik.swing.svg.SVGDocumentLoader.run(Unknown Source)
>> 
>> My applet is called this way :
>> 
>> <OBJECT CODE="cersat.StatXcol.ui.SVGMapSelector.class"
>> CODEBASE="classes-1.5" type="application/x-java-applet"
>> ARCHIVE="SVGMapSelector-1.0.jar, batik-svg-dom.jar, batik-dom.jar,
>> batik-ext.jar, batik-util.jar, batik-css.jar, batik-xml.jar,
>> batik-gvt.jar, batik-bridge.jar, batik-gui-util.jar,
>> batik-svggen.jar, batik-awt-util.jar, batik-script.jar,
>> batik-parser.jar, batik-swing.jar, xerces_2_3_0.jar, js.jar"
>> width=800 height=400> <PARAM NAME="file"
>> VALUE="http://koopa/thomas/carte.svg"> Sorry your browser doesn't
>> display the Map Selector Applet.  </OBJECT>
>> 
>> The "cersat.StatXcol.ui.SVGMapSelector" class is very basic and
>> it's used to work with the batik 1.1.1.  The file
>> "cersat.StatXcol.ui.SVGMapSelector.java" is as follow : package
>> cersat.StatXcol.ui;
>> 
>> import org.apache.batik.swing.*; import
>> org.apache.batik.swing.JSVGCanvas; import
>> org.apache.batik.swing.gvt.*; import org.apache.batik.svggen.*;
>> import org.apache.batik.dom.svg.SVGDOMImplementation; import
>> org.w3c.dom.*; import org.w3c.dom.svg.*; import javax.swing.*;
>> import java.awt.*; import java.awt.event.*; import java.awt.geom.*;
>> import java.applet.*; import java.net.*;
>> 
>> import org.apache.batik.swing.gvt.GVTTreeRendererAdapter; import
>> org.apache.batik.swing.gvt.GVTTreeRendererEvent; import
>> org.apache.batik.swing.svg.SVGDocumentLoaderAdapter; import
>> org.apache.batik.swing.svg.SVGDocumentLoaderEvent; import
>> org.apache.batik.swing.svg.GVTTreeBuilderAdapter; import
>> org.apache.batik.swing.svg.GVTTreeBuilderEvent;
>> 
>> public class SVGMapSelector extends JApplet {
>> 
>> /** Initialization method that will be called after the applet is
>> loaded * into the browser.  */ protected String myURI; protected
>> String mytargetURI;
>> 
>> protected Container c;
>> 
>> public void init() { DOMImplementation impl =
>> SVGDOMImplementation.getDOMImplementation(); String svgNS =
>> SVGDOMImplementation.SVG_NAMESPACE_URI; SVGDocument doc =
>> (SVGDocument)impl.createDocument(svgNS, "svg", null);
>> 
>> myURI = getParameter("file"); c = getContentPane();
>> 
>> c.setLayout(new FlowLayout());
>> 
>> //Now, display the document JSVGCanvas canvas = new JSVGCanvas();
>> canvas.setURI(myURI); c.add(canvas);
>> 
>> canvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
>> //public void gvtRenderingPrepare(GVTTreeRendererEvent e) {} public
>> void gvtRenderingCompleted(GVTTreeRendererEvent e) { validate();
>> repaint(); } });
>> 
>> } }
>> 
>> Please, do you have an idea of what happens ?
>> 
>> Thanks,
>> 
>> Bye,
>> 
>> Thomas.
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org For
>> additional commands, e-mail: batik-users-help@xml.apache.org

GWJ> ---------------------------------------------------------------------
GWJ> To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
GWJ> For additional commands, e-mail: batik-users-help@xml.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-users-help@xml.apache.org


Re: SVGCanvas from batik 1.5b5

Posted by "G. Wade Johnson" <wa...@abbnm.com>.
As you'll be able to find elsewhere in the list archives, you must
sign any applet that uses Batik.

G. Wade

thomas loubrieu wrote:
> 
> Hi,
> 
> I want to set a JSVGCanvas into a JApplet. My client use the j2sdk1.4
> applet plugin.
> I got the following error with batik1.5b5 (the same thing happens with
> the CVS release but it was working with the 1.1.1 binary release).
> 
> java.security.AccessControlException: access denied
> (java.util.PropertyPermission java.home read)
>         at
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
>         at
> java.security.AccessController.checkPermission(AccessController.java:401)
>         at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
>         at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1291)
>         at java.lang.System.getProperty(System.java:572)
>         at org.apache.xerces.util.SecuritySupport12$2.run(Unknown Source)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at org.apache.xerces.util.SecuritySupport12.getSystemProperty(Unknown
> Source)
>         at org.apache.xerces.util.ObjectFactory.createObject(Unknown Source)
>         at org.apache.xerces.util.ObjectFactory.createObject(Unknown Source)
>         at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
>         at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
>         at java.lang.Class.newInstance0(Class.java:306)
>         at java.lang.Class.newInstance(Class.java:259)
>         at org.xml.sax.helpers.NewInstance.newInstance(NewInstance.java:44)
>         at
> org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:119)
>         at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown
> Source)
>         at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown
> Source)
>         at
> org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown
> Source)
>         at
> org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown
> Source)
>         at org.apache.batik.bridge.DocumentLoader.loadDocument(Unknown Source)
>         at org.apache.batik.swing.svg.SVGDocumentLoader.run(Unknown Source)
> 
> My applet is called this way :
> 
> <OBJECT CODE="cersat.StatXcol.ui.SVGMapSelector.class"
> CODEBASE="classes-1.5"
> type="application/x-java-applet"  ARCHIVE="SVGMapSelector-1.0.jar,
> batik-svg-dom.jar, batik-dom.jar, batik-ext.jar, batik-util.jar,
> batik-css.jar, batik-xml.jar, batik-gvt.jar, batik-bridge.jar,
> batik-gui-util.jar, batik-svggen.jar, batik-awt-util.jar,
> batik-script.jar, batik-parser.jar, batik-swing.jar, xerces_2_3_0.jar,
> js.jar" width=800 height=400>
> <PARAM NAME="file" VALUE="http://koopa/thomas/carte.svg">
> Sorry your browser doesn't display the Map Selector Applet.
> </OBJECT>
> 
> The "cersat.StatXcol.ui.SVGMapSelector" class is very basic and it's
> used to work with the batik 1.1.1.
> The file "cersat.StatXcol.ui.SVGMapSelector.java" is as follow :
> package cersat.StatXcol.ui;
> 
> import org.apache.batik.swing.*;
> import org.apache.batik.swing.JSVGCanvas;
> import org.apache.batik.swing.gvt.*;
> import org.apache.batik.svggen.*;
> import org.apache.batik.dom.svg.SVGDOMImplementation;
> import org.w3c.dom.*;
> import org.w3c.dom.svg.*;
> import javax.swing.*;
> import java.awt.*;
> import java.awt.event.*;
> import java.awt.geom.*;
> import java.applet.*;
> import java.net.*;
> 
> import org.apache.batik.swing.gvt.GVTTreeRendererAdapter;
> import org.apache.batik.swing.gvt.GVTTreeRendererEvent;
> import org.apache.batik.swing.svg.SVGDocumentLoaderAdapter;
> import org.apache.batik.swing.svg.SVGDocumentLoaderEvent;
> import org.apache.batik.swing.svg.GVTTreeBuilderAdapter;
> import org.apache.batik.swing.svg.GVTTreeBuilderEvent;
> 
> public class SVGMapSelector extends JApplet
>    {
> 
>      /** Initialization method that will be called after the applet is
> loaded
>       *  into the browser.
>       */
>      protected String  myURI;
>      protected String mytargetURI;
> 
>      protected Container c;
> 
>      public void init() {
>          DOMImplementation impl =
> SVGDOMImplementation.getDOMImplementation();
>          String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
>          SVGDocument doc = (SVGDocument)impl.createDocument(svgNS,
> "svg", null);
> 
>          myURI   = getParameter("file");
>          c = getContentPane();
> 
>          c.setLayout(new FlowLayout());
> 
>          //Now, display the document
>          JSVGCanvas canvas = new JSVGCanvas();
>          canvas.setURI(myURI);
>          c.add(canvas);
> 
>          canvas.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
>              //public void gvtRenderingPrepare(GVTTreeRendererEvent e) {}
>              public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
>                   validate();
>                   repaint();
>              }
>          });
> 
>      }
> }
> 
> Please, do you have an idea of what happens ?
> 
> Thanks,
> 
> Bye,
> 
> Thomas.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
> For additional commands, e-mail: batik-users-help@xml.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-users-help@xml.apache.org