public void checkMetadataFiles() throws HandlerException { // Add files to Root Directory (if not already present) Iterator<ISO9660File> it = config.getFiles().iterator(); while (it.hasNext()) { ISO9660File file = it.next(); // Metadata Files must conform to 8+3 naming scheme if (file != null && !root.getFiles().contains(file)) { file.enforce8plus3(true); root.addFile(file); } } }
HashMap doDR(ISO9660File file) throws HandlerException { long position = streamHandler.mark(); HashMap memory = super.doDR(file); if (RRIPFactory.MKISOFS_COMPATIBILITY) { // RR: Recorded Fields int flags = RRIPFactory.RR_PX_RECORDED | RRIPFactory.RR_TF_RECORDED | RRIPFactory.RR_NM_RECORDED; rripFactory.doRREntry(flags); } // PX: POSIX File Attributes POSIXFileMode fileMode = getPOSIXFileModeForObject(file); int fileModes = fileMode.getFileMode(); rripFactory.doPXEntry(fileModes, 1, 0, 0, 1); // TF: Timestamp ISO9660ShortDateDataReference date = new ISO9660ShortDateDataReference(file.lastModified()); rripFactory.doTFEntry(RRIPFactory.TF_MODIFY, date); // Compute length up to here int length = helper.getDifferenceTo(position); // NM: Alternate Name length = doNM(helper.getFilenameDataReference(file), length); // Update Directory Record Length return finalizeDR(memory, length); }