Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 349761 - ArchiveOpenFailureException when calling WebUtilities#getWebFragments for project with var CPE pointing to folder
Summary: ArchiveOpenFailureException when calling WebUtilities#getWebFragments for pro...
Status: RESOLVED FIXED
Alias: None
Product: WTP Java EE Tools
Classification: WebTools
Component: jst.j2ee (show other bugs)
Version: 3.2.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2.5   Edit
Assignee: Roberto Sanchez Herrera CLA
QA Contact: Chuck Bridgham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-18 19:11 EDT by Roberto Sanchez Herrera CLA
Modified: 2011-06-23 11:25 EDT (History)
1 user (show)

See Also:
cbridgha: review+


Attachments
Proposed patch (1.84 KB, patch)
2011-06-20 13:54 EDT, Roberto Sanchez Herrera CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roberto Sanchez Herrera CLA 2011-06-18 19:11:51 EDT
When the methods WebUtilities#getWebFragments and WebUtilities#getLibModules are called for projects that have a variable classpath entry that points to a folder instead of a jar in the deployment assembly page, the following exception is logged:

org.eclipse.jst.jee.archive.ArchiveOpenFailureException: C:\workspaces\80xRuntime\MyUtil\Test
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentLoadAdapter.<init>(JavaEEBinaryComponentLoadAdapter.java:45)
at org.eclipse.jst.j2ee.internal.archive.JavaEEArchiveUtilities.openBinaryArchive(JavaEEArchiveUtilities.java:243)
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper$ArchiveCache.openArchive(JavaEEBinaryComponentHelper.java:601)
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper.openArchive(JavaEEBinaryComponentHelper.java:459)
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper.getUniqueArchive(JavaEEBinaryComponentHelper.java:411)
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper.getArchive(JavaEEBinaryComponentHelper.java:404)
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper.getJavaEEQuickPeek(JavaEEBinaryComponentHelper.java:87)
at org.eclipse.jst.j2ee.project.JavaEEProjectUtilities.isBinaryType(JavaEEProjectUtilities.java:247)
at org.eclipse.jst.j2ee.project.JavaEEProjectUtilities.isWebFragmentProject(JavaEEProjectUtilities.java:128)
at org.eclipse.jst.j2ee.project.WebUtilities.getWebFragments(WebUtilities.java:114)
at com.ibm.etools.javaee.merge.MergeUtil.getOrderedLists(MergeUtil.java:2812)
.
..
...

Caused by: java.io.FileNotFoundException: C:\workspaces\80xRuntime\MyUtil\Test (Access is denied.)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:137)
at org.eclipse.jst.common.internal.modulecore.util.ManifestUtilities$1.<init>(ManifestUtilities.java:259)
at org.eclipse.jst.common.internal.modulecore.util.ManifestUtilities.newZipFile(ManifestUtilities.java:259)
at org.eclipse.jst.jee.archive.internal.ArchiveUtil.newZipFile(ArchiveUtil.java:248)
at org.eclipse.jst.jee.archive.internal.ArchiveUtil.newZipFile(ArchiveUtil.java:234)
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentLoadAdapter.resetZipFile(JavaEEBinaryComponentLoadAdapter.java:56)
at org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentLoadAdapter.<init>(JavaEEBinaryComponentLoadAdapter.java:40)
... 13 more

Clearly, the code is trying to open as a zip file a folder.
Comment 1 Roberto Sanchez Herrera CLA 2011-06-20 13:54:36 EDT
Created attachment 198274 [details]
Proposed patch
Comment 2 Chuck Bridgham CLA 2011-06-20 16:36:46 EDT
approved
Comment 3 Roberto Sanchez Herrera CLA 2011-06-20 17:30:39 EDT
Code committed to R3_2_maintenance for WTP 3.2.5. I will keep this defect open until branch for 3.3.1 is available to commit to 3.3.1 and HEAD
Comment 4 Roberto Sanchez Herrera CLA 2011-06-23 11:25:23 EDT
Committed to HEAD. That will cover WTP 3.3.1 and 3.4