catch (IOException myIOException) {
}
}
}
PrimaryVolumeDescriptor myPrimaryVolumeDescriptor = new PrimaryVolumeDescriptor();
myPrimaryVolumeDescriptor.VolumeDescriptorSequenceNumber = volumeDescriptorSequenceNumber;
myPrimaryVolumeDescriptor.PrimaryVolumeDescriptorNumber = 0;
myPrimaryVolumeDescriptor.VolumeSequenceNumber = 1;
myPrimaryVolumeDescriptor.MaximumVolumeSequenceNumber = 1;
myPrimaryVolumeDescriptor.InterchangeLevel = 2;
myPrimaryVolumeDescriptor.MaximumInterchangeLevel = 3;
myPrimaryVolumeDescriptor.CharacterSetList = 1;
myPrimaryVolumeDescriptor.MaximumCharacterSetList = 1;
String volumeSetIdentifier = Long.toHexString(recordingTimeCalendar.getTimeInMillis()) + " " + imageIdentifier;
try {
myPrimaryVolumeDescriptor.setVolumeIdentifier(imageIdentifier);
myPrimaryVolumeDescriptor.setVolumeSetIdentifier(volumeSetIdentifier);
myPrimaryVolumeDescriptor.ApplicationIdentifier.setIdentifier(applicationIdentifier);
myPrimaryVolumeDescriptor.ImplementationIdentifier.setIdentifier(applicationIdentifier);
}
catch (Exception myException) {
throw new HandlerException(myException);
}
myPrimaryVolumeDescriptor.ApplicationIdentifier.IdentifierSuffix = applicationIdentifierSuffix;
myPrimaryVolumeDescriptor.RecordingDateandTime.set(recordingTimeCalendar);
myPrimaryVolumeDescriptor.PredecessorVolumeDescriptorSequenceLocation = 0;
myPrimaryVolumeDescriptor.Flags = 1;
/*
// full element with descriptor tag
myPrimaryVolumeDescriptor.DescriptorTag.TagSerialNumber = tagSerialNumber;
myPrimaryVolumeDescriptor.DescriptorTag.DescriptorVersion = descriptorVersion;
myPrimaryVolumeDescriptor.DescriptorTag.TagLocation = tagLocation;
super.data( new ByteArrayDataReference( myPrimaryVolumeDescriptor.getBytes( blockSize ) ) );
*/
// without descriptor tag (handled in next pipeline section)
super.startElement(new SabreUDFElement(SabreUDFElement.UDFElementType.DescriptorTag));
super.data(new WordDataReference(1)); // 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(myPrimaryVolumeDescriptor.getBytesWithoutDescriptorTag()));
super.endElement();
}