You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by "Grzegorz Kossakowski (JIRA)" <ji...@apache.org> on 2007/03/29 15:34:26 UTC
[jira] Reopened: (COCOON-2022) broken URI handling in ZipSource
[ https://issues.apache.org/jira/browse/COCOON-2022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Grzegorz Kossakowski reopened COCOON-2022:
------------------------------------------
Unfortunately the issues is still not resolved, but this time I guess that is only string offset calculation mistake. I'm not 100% sure so I bring it here. My report:
-------------------------------------------------------------------------------
Test set: org.apache.cocoon.components.source.impl.ZipSourceTestCase
-------------------------------------------------------------------------------
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec <<< FAILURE!
testURIHandling(org.apache.cocoon.components.source.impl.ZipSourceTestCase) Time elapsed: 0.014 sec <<< FAILURE!
junit.framework.ComparisonFailure: Uri is wrong. expected:<zip:f[le:/]/test.zip!/test.xml> but was:<zip:f[ile:]/test.zip!/test.xml>
at junit.framework.Assert.assertEquals(Assert.java:81)
at org.apache.cocoon.components.source.impl.ZipSourceTestCase.testURIHandling(ZipSourceTestCase.java:37)
> broken URI handling in ZipSource
> --------------------------------
>
> Key: COCOON-2022
> URL: https://issues.apache.org/jira/browse/COCOON-2022
> Project: Cocoon
> Issue Type: Bug
> Components: * Cocoon Core
> Affects Versions: 2.1.10
> Reporter: Jörg Heinicke
> Assigned To: Jörg Heinicke
> Priority: Minor
> Fix For: 2.1.11-dev (Current SVN), 2.2-dev (Current SVN)
>
>
> On behalf of Leonid Geller: http://marc.theaimsgroup.com/?t=117337275500004&r=1&w=4:
> 1. Bug in org.apache.cocoon.components.source.impl.ZipSourceFactory, on this line:
> // Get protocol. Protocol is configurable via cocoon.xconf
> final String protocol = location.substring(0, protocolEnd - 1);
> Obviously it should be location.substring(0, protocolEnd). This is what causes zip to be truncated to "zi".
> 2. When using a SYSTEM identifier with relative DTD path, the XML parser will look for the file relative to the URI of the zipped source, zip:archive.zip!/source.xml which is obviously going to fail.
> Here, the solution is to have the source implementation class (in this case org.apache.cocoon.components.source.impl.ZipSource) to change getURI method to return source.xml based on archive.zip location, w/o the zip protocol. Current implementation:
> return this.protocol + this.archive.getURI() + "!/" + this.filePath;
> is not going to work. Something like this will:
> int iZipIdx = this.archive.getURI().lastIndexOf("/");
> if (iZipIdx < 0) iZipIdx = 0;
> return this.archive.getURI().substring(0,iZipIdx)+"/"+ this.filePath;
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.