001package org.nasdanika.ai.drawio;
002
003import java.io.IOException;
004import java.net.URL;
005
006import org.apache.commons.imaging.Imaging;
007import org.apache.commons.imaging.common.ImageMetadata;
008import org.nasdanika.ai.Narrator;
009import org.nasdanika.common.NasdanikaException;
010import org.nasdanika.drawio.Document;
011
012public class UrlDocumentImageMetadataNarrator extends DocumentImageMetadataNarrator<URL> {
013
014        public UrlDocumentImageMetadataNarrator(Narrator<Document> documentNarrator) {
015                super(documentNarrator);
016        }
017
018        @Override
019        protected ImageMetadata getImageMetadata(URL source) {
020                try {
021                        return Imaging.getMetadata(source.openStream(),source.getFile());
022                } catch (IOException e) {
023                        throw new NasdanikaException(e);
024                }
025        }
026
027}