[prev in list] [next in list] [prev in thread] [next in thread]
List: xml-security-dev
Subject: Re: Error when launching
From: Sean Mullan <Sean.Mullan () Sun ! COM>
Date: 2009-02-18 21:32:56
Message-ID: 499C7E88.5010401 () sun ! com
[Download RAW message or body]
Thanks, I fixed the test using your suggestion but used the File(parent, child)
ctor:
String file = new File(basedir, "build.xml").toURI().toString();
--Sean
Eric Tournier wrote:
> Hi :)
>
> I am facing an AssertionFailedError during the execution of
> testLocalFileWithEmptyBaseURI() from
> org.apache.xml.security.test.utils.resolver.ResourceResolverTest class.
> All the source files have been downloaded from SVN trunk
> I'm using Windows XP, Eclipse 3.4, Maven 2.0.9 and the file build.xml
> used in the test is located in the
> "C:\Eclipse-Ganymede\Workspaces-JIRA\XML Security\xmlsec" directory.
> During the execution of testLocalFileWithEmptyBaseURI method(), the
> call to resolve(Attr uri, String BaseURI) from ResourceResolver class
> leads to engineResolve(Attr uri, String BaseURI) method of the
> ResolverLocalFilesystem class. Inside this method, the translation of
> the uri fragment ("file:C:\Eclipse-Ganymede\Workspaces-JIRA\XML
> Security\xmlsec/build.xml") to a filename through static
> translateUriToFilename(String uri) does not work :
> ===
> private static String translateUriToFilename(String uri) {
>
> String subStr = uri.substring(FILE_URI_LENGTH);
>
> (...)
> if (subStr.charAt(1) == ':') {
> // we're running M$ Windows, so this works fine
> return subStr;
> }
> // we're running some UNIX, so we have to prepend a slash
> return "/" + subStr;
> }
> ===
> In the code above, subStr = :\Eclipse-Ganymede\Workspaces-JIRA\XML
> Security\xmlsec/build.xml and the result of (subStr.charAt(1) == ':') is
> false. Then we assume we are using UNIX OS and prepend a slash. The
> returned filename is /:\Eclipse-Ganymede\Workspaces-JIRA\XML
> Security\xmlsec/build.xml which is not understood by Windows :| And the
> test fails.
> This piece of code works perfectly when called during
> org.apache.xml.security.test.c14n.implementations.testA(). In fact, the
> reason is that there is a mistake in the construction of the uri
> parameter in testLocalFileWithEmptyBaseURI() :
> ===
> String file = "file:" + basedir + "/build.xml"; <===================
> Should be "file:/"
> uriAttr.setValue(file);
> ResourceResolver res = ResourceResolver.getInstance(uriAttr, file);
> try {
> res.resolve(uriAttr, "");
> } catch (Exception e) {
> fail(e.getMessage());
> }
> }
> ===
> "file:" should be replaced by "file:/".
> I guess, it would be safer to use the following :
>
> File myFile = new java.io.File(basedir + "/build.xml");
> String file = myFile.toURI().toString();
>
> (...)
>
> Hope this could help.
> Eric
>
> Eric TOURNIER
> Expertise technique Java / J2EE / XML / AOP - Spring / Hibernate / Maven
> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
> KEYNECTIS
> 11-13 Rue René Jacques - 92131 ISSY-LES-MOULINEAUX Cedex
> Tél : 01.55.64.22.94 - Fax : 01.55.64.22.01
> eric.tournier@keynectis.com <outbind://60/eric.tournier@keynectis.com>
>
> Les chiens de cirque sautent quand le dresseur fait claquer son fouet,
> mais le chien vraiment bien dressé
> est celui qui exécute son saut périlleux sans avoir besoin du fouet.
> _________________________________________________________
> *Georges ORWELL* « Cela ne se fait pas » ou la censure voilée,
> /Chronique À ma guise n°19, *7 juillet 1944 */
>
> European leading provider of trust technologies and services,
> *KEYNECTIS* empowers corporates, governments,
> financial institutions and business partners to secure IDs and
> electronic transactions to the benefit of the end users.
> *KEYNECTIS* offer, software and services, benefits from experience of
> more than 25 millions digital certificates issued
> and 10 millions documents signed using its technologies.
> */Merci de prendre en considération votre responsabilité
> environnementale avant d'imprimer cet e-mail/*
>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic