[
https://issues.apache.org/jira/browse/FOP-2857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17099956#comment-17099956
]
Jukka Matilainen commented on FOP-2857:
---------------------------------------
I have the same problem.
When running FOP in the AWS Lambda Java runtime, the {{user.home}} system
property points to a non-existent directory and {{FontCache.getUserHome()}}
returns {{null}} due to the existence test in {{FontCache.toDirectory()}}
failing.
Now when {{FontCache.getDefaultCacheFile(true)}} gets called it returns {{new
File(".fop")}} as the font cache location instead the expected {{new
File("/tmp/.fop/fop-fonts.cache").}}
This won't work in AWS Lambda, as the current working directory is not writable
(in fact, /tmp directory is the only writable directory..
> [PATCH] FontCache.toDirectory() and FontCache.getDefaultCacheFile() not
> working correctly
> -----------------------------------------------------------------------------------------
>
> Key: FOP-2857
> URL: https://issues.apache.org/jira/browse/FOP-2857
> Project: FOP
> Issue Type: Bug
> Components: font/unqualified
> Affects Versions: 2.3
> Reporter: Vera Straube
> Priority: Critical
> Attachments: FontCache.java.patch, FontCache.java.patch2
>
>
> The function getDefaultCacheFile() of the class FontCache should work like
> this:
> [1] case: select user_dir
> -> user_dir: 'C:\Users\strv'
> -> temp_dir: 'C:\Users\strv\AppData\Local\Temp\'
> -> cache_file: 'C:\Users\strv\.fop\fop-fonts.cache'
> [2] case: select temp_dir
> -> user_dir: ''
> -> temp_dir: 'C:\Users\strv\AppData\Local\Temp\'
> -> cache_file: 'C:\Users\strv\AppData\Local\Temp\.fop\fop-fonts.cache'
> [3] case: select curr_dir
> -> user_dir: ''
> -> temp_dir: ''
> -> cache_file: 'fop-fonts.cache'
> Actually it works uncorrectly like this:
> [1] case: select user_dir
> -> user_dir: 'C:\Users\strv'
> -> temp_dir: 'C:\Users\strv\AppData\Local\Temp\'
> -> cache_file: 'C:\Users\strv\.fop\fop-fonts.cache'
> [2] case: select temp_dir
> -> user_dir: ''
> -> temp_dir: 'C:\Users\strv\AppData\Local\Temp\'
> -> cache_file: '.fop' --> wrong behavior !!!
> [3] case: select curr_dir
> -> user_dir: ''
> -> temp_dir: ''
> -> cache_file: '.fop' --> wrong behavior !!!
--
This message was sent by Atlassian Jira
(v8.3.4#803005)