You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/12/17 19:23:08 UTC
svn commit: r1551647 -
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
Author: andy
Date: Tue Dec 17 18:23:07 2013
New Revision: 1551647
URL: http://svn.apache.org/r1551647
Log:
JENA-328 : Armour the file access code against SecurityExceptions.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java?rev=1551647&r1=1551646&r2=1551647&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java Tue Dec 17 18:23:07 2013
@@ -18,44 +18,9 @@
package com.hp.hpl.jena.sparql.expr;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSD ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDboolean ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDdate ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDdateTime ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDdecimal ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDdouble ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDduration ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDfloat ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDgDay ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDgMonth ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDgMonthDay ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDgYear ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDgYearMonth ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDinteger ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDstring ;
-import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.XSDtime ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_BOOLEAN ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_DATE ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_DATETIME ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_DIFFERENT ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_DURATION ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_G_DAY ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_G_MONTH ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_G_MONTHDAY ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_G_YEAR ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_G_YEARMONTH ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_LANG ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_NODE ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_NUM ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_STRING ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_TIME ;
-import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.VSPACE_UNKNOWN ;
-import static javax.xml.datatype.DatatypeConstants.DAYS ;
-import static javax.xml.datatype.DatatypeConstants.HOURS ;
-import static javax.xml.datatype.DatatypeConstants.MINUTES ;
-import static javax.xml.datatype.DatatypeConstants.MONTHS ;
-import static javax.xml.datatype.DatatypeConstants.SECONDS ;
-import static javax.xml.datatype.DatatypeConstants.YEARS ;
+import static com.hp.hpl.jena.datatypes.xsd.XSDDatatype.* ;
+import static com.hp.hpl.jena.sparql.expr.ValueSpaceClassification.* ;
+import static javax.xml.datatype.DatatypeConstants.* ;
import java.io.File ;
import java.io.FileInputStream ;
@@ -207,26 +172,32 @@ public abstract class NodeValue extends
// Step 1. Try the system property
String dtfClass = System.getProperty(DatatypeFactory.DATATYPEFACTORY_PROPERTY);
- // Step 2. Otherwise, try property in jaxp.properties
- if (dtfClass == null && jaxpPropFile.exists() && jaxpPropFile.canRead()) {
- Properties jaxp = new Properties();
- InputStream in = null;
- try {
- in = new FileInputStream(jaxpPropFile);
- jaxp.load(in);
- dtfClass = jaxp.getProperty(DatatypeFactory.DATATYPEFACTORY_PROPERTY);
- } catch (Exception e) {
- log.warn("Issue loading jaxp.properties", e);
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException ex) {
- log.warn("Issue closing jaxp.properties ", ex);
+ try {
+ // Step 2. Otherwise, try property in jaxp.properties
+ if (dtfClass == null && jaxpPropFile.exists() && jaxpPropFile.canRead()) {
+ Properties jaxp = new Properties();
+ InputStream in = null;
+ try {
+ in = new FileInputStream(jaxpPropFile);
+ jaxp.load(in);
+ dtfClass = jaxp.getProperty(DatatypeFactory.DATATYPEFACTORY_PROPERTY);
+ } catch (Exception e) {
+ log.warn("Issue loading jaxp.properties", e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException ex) {
+ log.warn("Issue closing jaxp.properties ", ex);
+ }
}
}
}
}
+ // File.exists and File.canRead may throw SecurityException (probably AccessControlException)
+ catch (SecurityException ex) {
+ log.warn("Security exception try to get jaxp.properties: "+ex.getMessage()) ;
+ }
// Step 3. Otherwise try the service approach
if (dtfClass == null) {