It is possible for zip files and other such files to contain multiple files with the same name and output location. When trying to Copy for Access such a file the following sort of error occurs:
au.gov.naa.digipres.xena.kernel.XenaException: org.xml.sax.SAXException: Problem exporting archive entry imap.jar
org.xml.sax.SAXException: Problem exporting archive entry META-INF/MANIFEST.MF
java.util.zip.ZipException: duplicate entry: META-INF/MANIFEST.MF
at au.gov.naa.digipres.xena.core.Xena.export(Xena.java:946)
at au.gov.naa.digipres.dpr.task.CopyForAccessTask.exportAipContents(CopyForAccessTask.java:489)
at au.gov.naa.digipres.dpr.task.CopyForAccessTask.performCopy(CopyForAccessTask.java:368)
at au.gov.naa.digipres.dpr.ui.task.CopyForAccessActions$PerformCopyActionProvider.doAction(CopyForAccessActions.java:509)
at au.gov.naa.digipres.dpr.util.Command.actionPerformed(Command.java:94)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6389)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3268)
at java.awt.Component.processEvent(Component.java:6154)
at java.awt.Container.processEvent(Container.java:2045)
at java.awt.Component.dispatchEventImpl(Component.java:4750)
at java.awt.Container.dispatchEventImpl(Container.java:2103)
at java.awt.Component.dispatchEvent(Component.java:4576)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
at java.awt.Container.dispatchEventImpl(Container.java:2089)
at java.awt.Window.dispatchEventImpl(Window.java:2518)
at java.awt.Component.dispatchEvent(Component.java:4576)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
at java.awt.EventQueue.access$400(EventQueue.java:96)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.awt.EventQueue$2.run(EventQueue.java:629)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.awt.EventQueue$3.run(EventQueue.java:643)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:642)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: org.xml.sax.SAXException: Problem exporting archive entry imap.jar
org.xml.sax.SAXException: Problem exporting archive entry META-INF/MANIFEST.MF
java.util.zip.ZipException: duplicate entry: META-INF/MANIFEST.MF
at au.gov.naa.digipres.xena.plugin.archive.ArchiveDeNormaliser.startElement(ArchiveDeNormaliser.java:166)
at org.xml.sax.helpers.XMLFilterImpl.startElement(XMLFilterImpl.java:551)
at au.gov.naa.digipres.xena.plugin.naa.NaaSignedAipUnwrapFilter.startElement(NaaSignedAipUnwrapFilter.java:42)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at au.gov.naa.digipres.xena.kernel.normalise.NormaliserManager.export(NormaliserManager.java:1666)
at au.gov.naa.digipres.xena.kernel.normalise.NormaliserManager.export(NormaliserManager.java:1420)
at au.gov.naa.digipres.xena.kernel.normalise.NormaliserManager.export(NormaliserManager.java:1391)
at au.gov.naa.digipres.xena.core.Xena.export(Xena.java:940)
... 41 more
Caused by: org.xml.sax.SAXException: Problem exporting archive entry META-INF/MANIFEST.MF
java.util.zip.ZipException: duplicate entry: META-INF/MANIFEST.MF
at au.gov.naa.digipres.xena.plugin.archive.ArchiveDeNormaliser.startElement(ArchiveDeNormaliser.java:166)
at org.xml.sax.helpers.XMLFilterImpl.startElement(XMLFilterImpl.java:551)
at au.gov.naa.digipres.xena.plugin.naa.NaaSignedAipUnwrapFilter.startElement(NaaSignedAipUnwrapFilter.java:42)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at au.gov.naa.digipres.xena.kernel.normalise.NormaliserManager.export(NormaliserManager.java:1666)
at au.gov.naa.digipres.xena.kernel.normalise.NormaliserManager.export(NormaliserManager.java:1420)
at au.gov.naa.digipres.xena.kernel.normalise.NormaliserManager.export(NormaliserManager.java:1391)
at au.gov.naa.digipres.xena.plugin.archive.ArchiveDeNormaliser.startElement(ArchiveDeNormaliser.java:119)
... 57 more
Caused by: java.util.zip.ZipException: duplicate entry: META-INF/MANIFEST.MF
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:192)
at au.gov.naa.digipres.xena.plugin.archive.ArchiveDeNormaliser.startElement(ArchiveDeNormaliser.java:151)
... 73 more
With tools such as unzip this situation is handled by prompting the user if they wish to overwrite or rename each subsequent file to be extracted which would clash with an existing file. It would be desirable for DPR to do the same.
Simple zip containing two files with the same name (a.txt) but different content
Ant build file for generating zip files containing files with the same name