]> source.dussan.org Git - poi.git/commitdiff
Bugzilla >53974 - Avoid exception when constructing HSSFWorbook on Google App Engine
authorYegor Kozlov <yegor@apache.org>
Wed, 10 Oct 2012 11:09:48 +0000 (11:09 +0000)
committerYegor Kozlov <yegor@apache.org>
Wed, 10 Oct 2012 11:09:48 +0000 (11:09 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1396543 13f79535-47bb-0310-9956-ffa450edef68

src/documentation/content/xdocs/status.xml
src/java/org/apache/poi/hssf/model/InternalWorkbook.java

index 139ea60030afa75a8532c3a2b1a71c952f3d496f..1180c5cdfc9e69c4564da40082c6f9af08f87378 100644 (file)
@@ -34,6 +34,7 @@
 
     <changes>
         <release version="3.9-beta1" date="2012-??-??">
+          <action dev="poi-developers" type="fix">53974 - Avoid NPE when constructing HSSFWorbook on Google App Engine</action>
           <action dev="poi-developers" type="fix">53568 - Fixed null returned by XSSFPicture.getPictureData()</action>
           <action dev="poi-developers" type="fix">53950 - fixed setForceFormulaRecalculation to reset workbook-level "manual" flag</action>
           <action dev="poi-developers" type="fix">52211 - avoid unnessary re-coverting content types to US-ASCII, it can cause exceptions on ibm mainframes</action>
index 3f421d99b65955e4b79a815a73bccd02c20888bb..7161e48f141f7d49cc677af780284990c840fa51 100644 (file)
@@ -1094,12 +1094,17 @@ public final class InternalWorkbook {
     private static WriteAccessRecord createWriteAccess() {
         WriteAccessRecord retval = new WriteAccessRecord();
 
+        String defaultUserName = "POI";
         try {
-            retval.setUsername(System.getProperty("user.name"));
+            String username = System.getProperty("user.name");
+            // Google App engine returns null for user.name, see Bug 53974
+            if(username == null) username = defaultUserName;
+
+            retval.setUsername(username);
         } catch (AccessControlException e) {
                 // AccessControlException can occur in a restricted context
                 // (client applet/jws application or restricted security server)
-                retval.setUsername("POI");
+                retval.setUsername(defaultUserName);
         }
         return retval;
     }