From: mike.toler at prodeasystems.com (Mike Toler) Date: Wed, 5 Mar 2008 12:32:16 -0600 Subject: [Pljava-dev] One more question today: Permision failure in Backend.java Message-ID: <56DA5079467D1C48B857C6FE59D5D4FCF9A0FA@prodeaserve.prodea.local> I'm attempting to open and read a file from within my java application triggered by postgres. I'm doing a simple "FileInputStream" command to open the file: wsdl = new FileInputStream(wsdlFile); I see this error: ERROR: org.postgresql.pljava.TriggerException: In Trigger provisionorder_trigger on relation serviceproviderprovisioned: Failed to validate WSDL. WSDL file = /var/lib/pgsql/prodeasystems.net/provisionOrders.wsdl read on /var/lib/pgsql/prodeasystems.net/provisionOrders.wsdl java.lang.SecurityException: read on /var/lib/pgsql/prodeasystems.net/provisionOrders.wsdl at org.postgresql.pljava.internal.Backend$1.assertPermission(Backend.java:1 76) at org.postgresql.pljava.internal.Backend$PLJavaSecurityManager.nonRecursiv eCheck(Backend.java:111) at org.postgresql.pljava.internal.Backend$PLJavaSecurityManager.checkPermis sion(Backend.java:89) at java.lang.SecurityManager.checkRead(Unknown Source) at java.io.FileInputStream.(Unknown Source) at java.io.FileInputStream.(Unknown Source) at com.prodeasystems.rsc.prvstester.Provisioning.validateWsdl(Provisioning. java:544) at com.prodeasystems.rsc.prvstester.Provisioning.ProvisionOrder2(Provisioni ng.java:327) This is the section of code that seems to be sending the error. If I'm reading it right, I have to have my DATA file deployed in the "java.home" directory? Is that true? Where is the "java.home" variable set for pljava/Postgres? 154 private static final SecurityManager s_trustedSecurityManager = new PLJavaSecurityManager() 155 { 156 void assertPermission(Permission perm) 157 { 158 if(perm instanceof FilePermission) 159 { 160 String actions = perm.getActions(); 161 if("read".equals(actions)) 162 { 163 // Must be able to read timezone info etc. in the java 164 // installation directory. 165 // 166 File javaHome = new File(System.getProperty("java.home")); 167 File accessedFile = new File(perm.getName()); 168 File fileDir = accessedFile.getParentFile(); 169 while(fileDir != null) 170 { 171 if(fileDir.equals(javaHome)) 172 return; 173 fileDir = fileDir.getParentFile(); 174 } 175 } 176 throw new SecurityException(perm.getActions() + " on " + perm.getName()); 177 } 178 super.assertPermission(perm); 179 } 180 }; 181 Michael _____________________________________________ From: Mike Toler Sent: Wednesday, March 05, 2008 11:03 AM To: 'pljava-dev at pgfoundry.org' Subject: ResultSet is read-only error for Trigger? I'm trying to do a very simple trigger before moving onto the complex stuff that I need pljava for. My Java code is extremely simple: public static void ProvisionOrder2(TriggerData td) throws SQLException { ResultSet _new = td.getNew(); _new.updateBoolean("provisioningcomplete",true); } My trigger setup is likewise pretty simple: CREATE OR REPLACE FUNCTION provisionorder() RETURNS "trigger" AS 'com.prodeasystems.rsc.prvstester.Provisioning.ProvisionOrder2' LANGUAGE 'java' VOLATILE; ALTER FUNCTION provisionorder() OWNER TO postgres; CREATE TRIGGER provisionorder_trigger AFTER UPDATE ON serviceproviderprovisioned FOR EACH ROW EXECUTE PROCEDURE provisionorder(); When I update my row, I see the following error: provision=# update serviceproviderprovisioned set readytoprovision='true' where rhcjid='x'; ERROR: org.postgresql.pljava.jdbc.UnsupportedFeatureException: Feature not supported: ResultSet is read-only The example provided in the users guide (http://wiki.tada.se/display/pljava/Triggers) implies that the ResultSets can be manipulated. Why am I seeing this error? Michael Toler System Test Engineer Prodea Systems, Inc. 214-278-1834 (office) 972-816-7790 (mobile) This message is confidential to Prodea Systems, Inc unless otherwise indicated or apparent from its nature. This message is directed to the intended recipient only, who may be readily determined by the sender of this message and its contents. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient:(a)any dissemination or copying of this message is strictly prohibited; and(b)immediately notify the sender by return message and destroy any copies of this message in any form(electronic, paper or otherwise) that you have.The delivery of this message and its information is neither intended to be nor constitutes a disclosure or waiver of any trade secrets, intellectual property, attorney work product, or attorney-client communications. The authority of the individual sending this message to legally bind Prodea Systems is neither apparent nor implied,and must be independently verified. -------------- next part -------------- An HTML attachment was scrubbed... URL: