Patch from bug #43108 - when fetching system properties, use sensible defaults if we're not able to access them

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@566183 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2007-08-15 14:19:08 +00:00
parent 6708ebde80
commit df10c7b072
5 changed files with 29 additions and 8 deletions

View File

@ -36,6 +36,7 @@
</devs> </devs>
<release version="3.0.2-FINAL" date="2007-??-??"> <release version="3.0.2-FINAL" date="2007-??-??">
<action dev="POI-DEVELOPERS" type="fix">43108 - [PATCH] - Where permissions deny fetching System Properties, use sensible defaults</action>
<action dev="POI-DEVELOPERS" type="fix">43093 - [PATCH] - Fix formula evaluator support for Area3D references to other sheets</action> <action dev="POI-DEVELOPERS" type="fix">43093 - [PATCH] - Fix formula evaluator support for Area3D references to other sheets</action>
<action dev="POI-DEVELOPERS" type="fix">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action> <action dev="POI-DEVELOPERS" type="fix">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action>
<action dev="POI-DEVELOPERS" type="fix">42999 - [PATCH] - Fix for HSSFPatriarch positioning problems</action> <action dev="POI-DEVELOPERS" type="fix">42999 - [PATCH] - Fix for HSSFPatriarch positioning problems</action>

View File

@ -33,6 +33,7 @@
<changes> <changes>
<release version="3.0.2-FINAL" date="2007-??-??"> <release version="3.0.2-FINAL" date="2007-??-??">
<action dev="POI-DEVELOPERS" type="fix">43108 - [PATCH] - Where permissions deny fetching System Properties, use sensible defaults</action>
<action dev="POI-DEVELOPERS" type="fix">43093 - [PATCH] - Fix formula evaluator support for Area3D references to other sheets</action> <action dev="POI-DEVELOPERS" type="fix">43093 - [PATCH] - Fix formula evaluator support for Area3D references to other sheets</action>
<action dev="POI-DEVELOPERS" type="fix">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action> <action dev="POI-DEVELOPERS" type="fix">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action>
<action dev="POI-DEVELOPERS" type="fix">42999 - [PATCH] - Fix for HSSFPatriarch positioning problems</action> <action dev="POI-DEVELOPERS" type="fix">42999 - [PATCH] - Fix for HSSFPatriarch positioning problems</action>

View File

@ -38,7 +38,14 @@ import java.util.List;
public abstract class AbstractEscherHolderRecord public abstract class AbstractEscherHolderRecord
extends Record extends Record
{ {
private static final boolean DESERIALISE = System.getProperty("poi.deserialize.escher") != null; private static boolean DESERIALISE;
static {
try {
DESERIALISE = (System.getProperty("poi.deserialize.escher") != null);
} catch (SecurityException e) {
DESERIALISE = false;
}
}
private List escherRecords; private List escherRecords;
private byte[] rawData; private byte[] rawData;

View File

@ -52,16 +52,22 @@ class StaticFontMetrics
try try
{ {
fontMetricsProps = new Properties(); fontMetricsProps = new Properties();
if (System.getProperty("font.metrics.filename") != null)
{ // Check to see if the font metric file was specified
String filename = System.getProperty("font.metrics.filename"); // as a system property
File file = new File(filename); String propFileName = null;
try {
propFileName = System.getProperty("font.metrics.filename");
} catch(SecurityException e) {}
if (propFileName != null) {
File file = new File(propFileName);
if (!file.exists()) if (!file.exists())
throw new FileNotFoundException("font_metrics.properties not found at path " + file.getAbsolutePath()); throw new FileNotFoundException("font_metrics.properties not found at path " + file.getAbsolutePath());
metricsIn = new FileInputStream(file); metricsIn = new FileInputStream(file);
} }
else else {
{ // Use the built-in font metrics file off the classpath
metricsIn = FontDetails.class.getResourceAsStream("/font_metrics.properties"); metricsIn = FontDetails.class.getResourceAsStream("/font_metrics.properties");
if (metricsIn == null) if (metricsIn == null)
throw new FileNotFoundException("font_metrics.properties not found in classpath"); throw new FileNotFoundException("font_metrics.properties not found in classpath");

View File

@ -65,7 +65,13 @@ public class SystemOutLogger extends POILogger
*/ */
public boolean check(final int level) public boolean check(final int level)
{ {
int currentLevel = Integer.parseInt(System.getProperty("poi.log.level", WARN + "")); int currentLevel;
try {
currentLevel = Integer.parseInt(System.getProperty("poi.log.level", WARN + ""));
} catch (SecurityException e) {
currentLevel = POILogger.DEBUG;
}
if (level >= currentLevel) if (level >= currentLevel)
return true; return true;
else else