// see http://code.google.com/p/metadata-extractor/wiki/GettingStarted
try {
com.drew.metadata.Metadata metadata = ImageMetadataReader.readMetadata(f);
Iterator<?> it = metadata.getDirectoryIterator();
while (it.hasNext()) {
Directory directory = (com.drew.metadata.Directory) it.next();
Iterator<?> tagIt = directory.getTagIterator();
while (tagIt.hasNext()) {
Tag tag = (Tag) tagIt.next();
Object o = directory.getObject(tag.getTagType());
LOG.debug("Tag: " + tag + ", value: " + o + ", class: " + o.getClass() +
", tag type: " + tag.getTagType() + ", hex-value: " + tag.getTagTypeHex());
if (null != cmisProperties) {
((PropertyMapperExif)mapper).mapTagAndConvert(directory, tag, td);
}