You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by "Maxim Solodovnik (JIRA)" <ji...@apache.org> on 2014/02/05 15:56:22 UTC

[jira] [Closed] (OPENMEETINGS-831) GeneratePDF.java - ext4 - fails to locate precise jodconverter path

     [ https://issues.apache.org/jira/browse/OPENMEETINGS-831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maxim Solodovnik closed OPENMEETINGS-831.
-----------------------------------------


Closing resolved issues before release

> GeneratePDF.java - ext4 - fails to locate precise jodconverter path 
> --------------------------------------------------------------------
>
>                 Key: OPENMEETINGS-831
>                 URL: https://issues.apache.org/jira/browse/OPENMEETINGS-831
>             Project: Openmeetings
>          Issue Type: Improvement
>         Environment: EXT4 Filesystems
>            Reporter: JiraUser
>              Labels: patch, performance
>
> The method for finding the jodconverter path fails on (at least) EXT4 filesystems due to the way ext4 maps and traverses the tree- openmeetings cannot convert using jodconverter.
> The fix is simple, please consider including this update in a binary release.
> The code relates to GeneratePDF.java, line XX:
> if (jar.startsWith("jodconverter")) {
> To accomodate the ext4 filesystem, this should read:
> if (jar.startsWith("jodconverter-cli")) {
> On every successful openmeetings server (quite a few now, including RMTPS and OOo conversion :D thanks for all your time and amazing work!), the jodconverter command run executes the jodconverter-cli-2.2.2.jar file. On one machine, it attempts to execute the jodconverter-2.2.2.jar file. This seems to be because the method .list() in the loop: 
> for (String jar : jodFolder.list(new FilenameFilter() {
> 				...
> 				}
> 			}))
> seems to traverse the directory structure the same as ' find . ' or 'ls -U' in that folder.
> This means that the last file in the array which matches the condition is jodconverter-2.2.2.jar (as the ext4 filesystem hash map/algorithm organises the file logically in the same place), not the jodconverter-cli-2.2.2.jar which seems to be needed.
> Running the conversion command manually from the shell with '.. -jar jodconverter-cli-2.2.2.jar ..' instead of '.. -jar jodconverter-2.2.2.jar ..' on the machine with the problem works perfectly- the file is converted and the expected output is seen.
> To see the effect, consider the following two scenarios:
> EXT3:
> root@host1:~/stan# touch right
> root@host1:~/stan# touch left
> root@host1:~/stan# touch ever
> root@host1:~/stan# touch tonight
> root@host1:~/stan# find .
> .
> ./right
> ./left
> ./ever
> ./tonight
> root@host1:~/stan# find --version
> find (GNU findutils) 4.4.2
> EXT4
> root@host2:~/stan# touch right
> root@host2:~/stan# touch left
> root@host2:~/stan# touch ever 
> root@host2:~/stan# touch tonight 
> root@host2:~/stan# find .
> .
> ./left
> ./tonight
> ./ever
> ./right
> root@host2:~/stan# find --version
> find (GNU findutils) 4.4.2
> root@host2:~/stan# lscpu
> Architecture:          x86_64
> CPU op-mode(s):        32-bit, 64-bit
> Byte Order:            Little Endian
> root@host1:~/stan# lscpu
> Architecture:          x86_64
> CPU op-mode(s):        32-bit, 64-bit
> Byte Order:            Little Endian
> >> Jodconversion command generated by *working* openmeetings (note
>  the -jar file is jodconverter-cli-2.2.2.jar)
> java -Doffice.home=/usr/bin/libreoffice -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-io-1.4.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/unoil-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/jurt-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-jdk14-1.5.6.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/ridl-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-api-1.5.6.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-2.2.2.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/xstream-1.3.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/juh-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-cli-1.2.jar -jar /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /var/path/webapps/conference/upload/files/f85eb1ce6dce5a186a39dfc312e3f483/f85eb1ce6dce5a186a39dfc312e3f483.docx /var/path/webapps/conference/upload/files/f85eb1ce6dce5a186a39dfc312e3f483/f85eb1ce6dce5a186a39dfc312e3f483.pdf
> >> Jodconversion command generated by *problem* (failing) openmeetings (note the -jar file is jodconverter-2.2.2,jar)
> java -Doffice.home=/usr/bin/libreoffice -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/juh-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-api-1.5.6.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-io-1.4.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/unoil-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/xstream-1.3.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/ridl-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/jurt-3.0.1.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-2.2.2.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/slf4j-jdk14-1.5.6.jar -cp /var/path/webapps/conference/jodconverter-2.2.2/lib/commons-cli-1.2.jar -jar /var/path/webapps/conference/jodconverter-2.2.2/lib/jodconverter-2.2.2.jar /var/path/webapps/conference/uploadtemp/files/be25aa57104754b3c8516e83a8674a93.docx /var/path/webapps/conference/upload/files/be25aa57104754b3c8516e83a8674a93/be25aa57104754b3c8516e83a8674a93.pdf
> Thanks again for all your time and work. As a (very) small aside, is it possible to download a copy of OpenMeetings 3 anywhere?



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)