[wpkg-users] Misleading "Error parsing xml" in log file. Proposed patch
Rainer Meier
r.meier at wpkg.org
Thu Feb 23 23:05:58 CET 2012
Hi "Mi",
On 23.02.2012 21:39, Mi wrote:
> Under some circumstances, wpkg.js tries to parse non-existing .xml files, and
> writes an "ERROR" into the log file. This is misleading in situations where it
> is normal that the file does not exist.
>
> For example, when using a "packages" directory of .xml files instead of a single
> packages.xml file, wpkg.js still tries to parse the non-existing packages.xml.
It's correct that these database files (packages.xml, profiles.xml, hosts.xml)
are entirely optional. So I agree that printing an error-severity message if
they do not exist is not appropriate.
> For now, I patched loadXml() to only try to load the xml if the file actually
> exists. Otherwise, print debug info and skip it. Now I have this in the log,
> which seems better:
>
> 2012-02-23 21:00:29, DEBUG : Reading XML file:
> //192.168.44.1/install/wpkg/packages/twixtel.xml
> 2012-02-23 21:00:29, DEBUG : Reading XML file:
> //192.168.44.1/install/wpkg/packages/user-settings.xml
> 2012-02-23 21:00:29, *DEBUG : Skipping non-existing XML file:
> //192.168.44.1/install/wpkg/packages.xml*
I think it's the wrong approach to patch loadXml(). The loadXml() function is
supposed to perform the XML loading task. If it's instructed to load a certain
XML file then it shall actually really print errors if the XML file cannot be
loaded.
However the call of loadXml() shall be sanitized. WPKG shall not try to load
files which do not exist.
Therefore I've implemented the check whether the database file exists on the
call to loadXml(). In addition at this location in the code there is already an
FS object which can be used for the file existence check.
> Maybe the line
>
> var fso = new ActiveXObject("Scripting.FileSystemObject")
>
> should be moved before the for loop for efficiency?
Yes, that would be advisable. However any change to loadXml() is completely
obsolete by the change I have implemented now:
Now it prints the following debug message:
Combined package database does not exist, skipping '<file-path>'.
Changelog:
MOD: Omit error message printed if any of the combined database files do not
exist (packages.xml, hosts.xml, profiles.xml). As these files are
completely optional WPKG shall not print error if they do not exist.
Thanks to "Mi" for reporting.
Download version 1.3.1-RC6 here:
<http://wpkg.svn.sourceforge.net/viewvc/wpkg/wpkg/stable/src/main/resources/wpkg/>
br,
Rainer
More information about the wpkg-users
mailing list