catch (IOException myIOException) {
}
}
}
LogicalVolumeIntegrityDescriptor myLogicalVolumeIntegrityDescriptor = new LogicalVolumeIntegrityDescriptor();
myLogicalVolumeIntegrityDescriptor.RecordingDateAndTime.set(recordingTimeCalendar);
myLogicalVolumeIntegrityDescriptor.IntegrityType = 1;
myLogicalVolumeIntegrityDescriptor.NumberOfPartitions = sizeTable.length;
myLogicalVolumeIntegrityDescriptor.FreeSpaceTable = freespaceTable;
myLogicalVolumeIntegrityDescriptor.SizeTable = sizeTable;
myLogicalVolumeIntegrityDescriptor.LogicalVolumeContensUse.UniqueID = nextUniqueId;
myLogicalVolumeIntegrityDescriptor.LengthOfImplementationUse = 46;
EntityID implementationId = new EntityID();
try {
implementationId.setIdentifier(applicationIdentifier);
implementationId.IdentifierSuffix = applicationIdentifierSuffix;
}
catch (Exception myException) {
throw new HandlerException(myException);
}
myLogicalVolumeIntegrityDescriptor
.setImplementationUse(implementationId, numberOfFiles, numberOfDirectories, minimumUDFReadRevision,
minimumUDFWriteRevision, maximumUDFWriteRevision);
/*
// full element with descriptor tag
myLogicalVolumeIntegrityDescriptor.DescriptorTag.TagLocation = tagLocation;
myLogicalVolumeIntegrityDescriptor.DescriptorTag.DescriptorVersion = descriptorVersion;
myLogicalVolumeIntegrityDescriptor.DescriptorTag.TagSerialNumber = tagSerialNumber;
super.data( new ByteArrayDataReference( myLogicalVolumeIntegrityDescriptor.getBytes( blockSize ) ) );
*/
// without descriptor tag (handled in next pipeline section)
super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
super.data(new WordDataReference(9)); // tag identifier
super.data(new WordDataReference(tagLocation)); // tag location
super.data(new WordDataReference(tagSerialNumber)); // tag serial number
super.data(new WordDataReference(descriptorVersion)); // descriptor version
super.data(new ByteArrayDataReference(myLogicalVolumeIntegrityDescriptor.getBytesWithoutDescriptorTag()));
super.endElement();
}