[ 
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)

Reply via email to