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}