catch (IOException myIOException) {
}
}
}
ImplementationUseVolumeDescriptor myImplementationUseVolumeDescriptor = new ImplementationUseVolumeDescriptor();
myImplementationUseVolumeDescriptor.VolumeDescriptorSequenceNumber = volumeDescriptorSequenceNumber;
myImplementationUseVolumeDescriptor.ImplementationIdentifier.IdentifierSuffix = udfVersionIdentifierSuffix;
try {
myImplementationUseVolumeDescriptor.ImplementationIdentifier.setIdentifier("*UDF LV Info");
myImplementationUseVolumeDescriptor.ImplementationUse.ImplementationID.setIdentifier(applicationIdentifier);
myImplementationUseVolumeDescriptor.ImplementationUse.setLogicalVolumeIdentifier(imageIdentifier);
}
catch (Exception myException) {
throw new HandlerException(myException);
}
myImplementationUseVolumeDescriptor.ImplementationUse.ImplementationID.IdentifierSuffix =
applicationIdentifierSuffix;
// TODO: maybe set the LVInfo1 - 3 fields of ImplementationUse (f.ex. owner, organization, contact)
/*
// full element with descriptor tag
myImplementationUseVolumeDescriptor.DescriptorTag.TagSerialNumber = tagSerialNumber;
myImplementationUseVolumeDescriptor.DescriptorTag.DescriptorVersion = descriptorVersion;
myImplementationUseVolumeDescriptor.DescriptorTag.TagLocation = tagLocation;
super.data( new ByteArrayDataReference( myImplementationUseVolumeDescriptor.getBytes( blockSize ) ) );
*/
// without descriptor tag (handled in next pipeline section)
super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
super.data(new WordDataReference(4)); // 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(myImplementationUseVolumeDescriptor.getBytesWithoutDescriptorTag()));
super.endElement();
}