AccessControlException issues
have a applet (that I am trying to convert from a working java app to
an applet see code below)
the error I get is:
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
q: hide console
s: dump system properties
t: dump thread list
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
java.lang.ExceptionInInitializerError:
java.security.AccessControlException: access denied
(java.util.PropertyPermission * read,write)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertiesAccess(Unknown Source)
at java.lang.System.getProperties(Unknown Source)
at com.adobe.acrobat.gui.ReaderPrefs.<clinit>(ReaderPrefs.java:514)
at com.adobe.acrobat.Viewer.createViewer(Viewer.java:237)
at com.adobe.acrobat.Viewer.<init>(Viewer.java:280)
at adobeviewer.viewPDFDocument(adobeviewer.java:28)
at adobeviewer.init(adobeviewer.java:100)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Which I tried to fix in the init() using
if (theSession.isIE())
{
com.ms.security.PolicyEngine.assertPermission(com.ms.security.PermissionID.SYSTEM);
} else if (theSession.isNetscape())
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalTopLevelWindow");
}
any idea how I can remedy this issue?
import com.adobe.acrobat.*;
import java.awt.*;
import java.io.*;
import java.net.URL;
import java.applet.*;
import java.awt.event.*;
import java.util.*;
import com.adobe.acrobat.util.*;
public class adobeviewer extends Applet {
public adobeviewer() throws java.lang.Exception {
}
public void viewPDFDocument() {
try {
Frame frame = new Frame("PDF Viewer");
frame.setLayout(new BorderLayout());
/*try {
com.adobe.acrobat.gui.ReaderPrefs.initialize();
com.adobe.acrobat.gui.ReaderPrefs.readerPrefs.setProperty
("com.adobe.acrobat.AcceptedLicAgreement","true");
} catch(Exception ex) {}
*/
String[] dis = {ViewerCommand.Open_K, ViewerCommand.OpenURL_K,
ViewerCommand.Print_K, ViewerCommand.PrintSetup_K};
Viewer viewer = new Viewer(dis);
frame.add(viewer, BorderLayout.CENTER);
frame.add(new Label("University of Saskatchewan
Engineering",Label.CENTER), BorderLayout.NORTH);
Label top = new Label("University of Saskatchewan Engineering ",
Label.CENTER);
top.setBackground(Color.red);
frame.add(top, BorderLayout.NORTH);
String webFile ="http://128.233.22.97/test.pdf";
URL url = new URL(webFile);
InputStream input = url.openStream();
viewer.setDocumentInputStream(input);
viewer.setEnableDebug(true);
viewer.setProperty("Default_Page_Layout", "SinglePage");
viewer.setProperty("Default_Zoom_Type", "FitPage");
viewer.setProperty("Default_Magnification", "100");
//System.out.println("Page Count: " +
viewer.getPageCount());
//System.out.println("Current Page: " +
viewer.getCurrentPage());
viewer.zoomTo(1.0);
viewer.activate();
frame.setSize(800, 700);
//frame.pack();
frame.show();
// OutputStream output=new FileOutputStream(new File("C:/
inetpub/wwwroot/output.txt"));
// PrintWriter printWriter=new PrintWriter(output);
// printWriter.print(viewer.getTextForPage(1));
// printWriter.flush();
// printWriter.close();
}
catch(java.lang.Exception e){
System.err.println("Cast Error Caught (change)");
System.err.println("Class is really: " + getClass().getName());
e.printStackTrace();
}
//catch (java.lang.Exception e)
//{
//System.out.println("Exception: " + e.toString());
//}
}
public void init()
{
try
{
Session theSession = Session.getTheSession();
if (theSession.isIE())
{
com.ms.security.PolicyEngine.assertPermission(com.ms.security.PermissionID.SYSTEM);
} else if (theSession.isNetscape())
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalTopLevelWindow");
}
adobeviewer adobeviewer = new adobeviewer();
adobeviewer.viewPDFDocument();
}
catch (java.lang.Exception e)
{
//System.out.println("Exception: " + e.toString());
}
}
}