package edu.illinois.library.cantaloupe.resource.iiif.v2; import edu.illinois.library.cantaloupe.RestletApplication; import edu.illinois.library.cantaloupe.cache.CacheFacade; import edu.illinois.library.cantaloupe.config.Configuration; import edu.illinois.library.cantaloupe.config.Key; import edu.illinois.library.cantaloupe.image.Format; import edu.illinois.library.cantaloupe.image.Identifier; import edu.illinois.library.cantaloupe.image.Info; import edu.illinois.library.cantaloupe.image.MediaType; import edu.illinois.library.cantaloupe.operation.OperationList; import edu.illinois.library.cantaloupe.processor.Processor; import edu.illinois.library.cantaloupe.processor.ProcessorFactory; import edu.illinois.library.cantaloupe.processor.UnsupportedOutputFormatException; import edu.illinois.library.cantaloupe.processor.UnsupportedSourceFormatException; import edu.illinois.library.cantaloupe.source.Source; import edu.illinois.library.cantaloupe.source.SourceFactory; import edu.illinois.library.cantaloupe.processor.ProcessorConnector; import edu.illinois.library.cantaloupe.resource.CachedImageRepresentation; import edu.illinois.library.cantaloupe.resource.IllegalClientArgumentException; import edu.illinois.library.cantaloupe.resource.ImageRepresentation; import edu.illinois.library.cantaloupe.resource.iiif.SizeRestrictedException; import org.restlet.data.Disposition; import org.restlet.representation.Representation; import org.restlet.representation.StringRepresentation; import org.restlet.resource.Get; import java.awt.Dimension; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.NoSuchFileException; import java.nio.file.Path; import java.util.List; import java.util.Map; import java.util.Set; import org.greenstone.gsdl3.IIIFServerBridge; public class IdentifierToGSAssocfile { public static Identifier createIdentifierImage(Identifier identifier) throws Exception { String identifier_str = identifier.toString(); String[] strs = identifier_str.split(":", 3); if(strs == null || strs.length < 3) { System.err.println("identifier is not in the form site:coll:id" + identifier_str); return null; } String site_name = strs[0]; String coll_name = strs[1]; String doc_id = strs[2]; // Move into Constructor ??? IIIFServerBridge gs_iiif_bridge = new IIIFServerBridge(); // and keep cache of of bridges in hashmap, keyed on sitename?? gs_iiif_bridge.init(site_name); String collect_image_filename = gs_iiif_bridge.doGetDocumentMessage(coll_name + ":" + doc_id); String site_image_filename = site_name + "/collect/" + coll_name + "/index/assoc/" + collect_image_filename; //System.err.println("**** Greenstone site image filename = " + site_image_filename); final Identifier identifier_image = new Identifier(site_image_filename); //System.err.println("***** identifier_image = " + identifier_image); return identifier_image; } }