Changeset 32883 for gs3-extensions/iiif-servlet/trunk/src/gsdl-src/java/org/greenstone/gsdl3/service/IIIFPMH.java
- Timestamp:
- 2019-03-08T11:40:31+13:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/iiif-servlet/trunk/src/gsdl-src/java/org/greenstone/gsdl3/service/IIIFPMH.java
r32874 r32883 23 23 import org.greenstone.gsdl3.util.GSXML; 24 24 import org.greenstone.gsdl3.util.IIIFXML; 25 //import org.greenstone.gsdl3.util.OAIXML; // ****26 25 import org.greenstone.gsdl3.util.OID; 27 26 import org.greenstone.gsdl3.util.GSFile; … … 67 66 // set this up during configure 68 67 protected Element list_sets_response = null; 69 70 protected Element meta_formats_definition = null; 71 protected HashMap<String, HashSet<String>> format_elements_map = null; 72 protected HashMap<String, Element> format_meta_elem_map = null; 73 74 protected String index_stem = ""; 68 69 protected String index_stem = ""; // **** 75 70 protected String infodb_type = ""; 76 71 … … 214 209 Element metadata_message = doc.createElement(IIIFXML.METADATA); 215 210 216 // the <oai:dc namespace...> element217 //Element prfx_str_elem = (Element)doc.importNode(this.format_meta_elem_map.get(prefix), true);218 //metadata.appendChild(prfx_str_elem);219 220 //Element meta_format_element = GSXML.getNamedElement(this.meta_formats_definition, OAIXML.METADATA_FORMAT, GSXML.NAME_ATT, prefix);221 //NodeList elements = meta_format_element.getElementsByTagName(OAIXML.ELEMENT);222 // for each element in the definition223 224 211 addFirstMetadata(metadata_message, "assocfilepath", info); 225 212 addFirstMetadata(metadata_message, "Image", info); 226 227 /* 228 Set<String> keys = info.getKeys(); 229 if (keys != null && keys.size()!=0) { 230 for (String metaname: keys) { 231 addMetadata(metadata_message, metaname, info); 232 } 233 } 234 */ 235 236 /* 237 for (int i=0; i<elements.getLength(); i++) { 238 Element e = (Element)elements.item(i); 239 240 // look up the element name 241 //addMetadata(prfx_str_elem, e.getAttribute(GSXML.NAME_ATT), info); 242 addMetadata(metadata, e.getAttribute(GSXML.NAME_ATT), info); 243 } 244 */ 245 246 // output any metadata that is not just a simple mapping 247 //addCustomMetadata(prfx_str_elem, prefix, info); // **** 213 248 214 return metadata_message; 249 215 } 250 216 251 217 /** a simple addMetadata where we look for meta_name metadata, and add as that name*/ 252 253 218 254 219 protected void addFirstMetadata(Element meta_list_elem, String meta_name, DBInfo info) { … … 261 226 262 227 263 /** more complicated addMetadata - can add multiple items. */264 /*265 protected void addMetadata(Element meta_list_elem, String new_meta_name, String select_type, String name_list, DBInfo info) {266 String[] names = name_list.split(",");267 for (int i=0; i<names.length; i++) {268 Vector<String> values;269 // some special words270 if (names[i].startsWith(OAIXML.GSF_LINK_PREFIX)) {271 values = new Vector<String>();272 String base_url = OAIXML.getBaseURL(); // e.g. e.g. http://host:port/greenstone3/oaiserver273 String link_url = null;274 if (names[i].equals(OAIXML.GSF_LINK_PREFIX+OAIXML.LINK_TYPE_DOCUMENT)) {275 link_url = base_url.replace("oaiserver", "library") + "/collection/" + this.coll_name + "/document/" + info.getInfo("Identifier");276 } else if (names[i].equals(OAIXML.GSF_LINK_PREFIX+OAIXML.LINK_TYPE_SOURCE)) {277 String srcfile = info.getInfo("srclinkFile");278 if (!srcfile.equals("")) {279 link_url = base_url.replace("oaiserver", "") + "sites/"280 + this.site_name281 + "/collect/" + this.coll_name + "/index/assoc/"282 + info.getInfo("assocfilepath") + "/" + srcfile;283 }284 }285 if (link_url !=null) {286 values.add(link_url);287 }288 } else {289 values = info.getMultiInfo(names[i]);290 }291 if (values == null || values.size()==0) {292 continue;293 }294 for (int j=0; j<values.size(); j++) {295 addMetadataElement(meta_list_elem, new_meta_name, values.get(j));296 if (select_type.equals(OAIXML.SELECT_SINGLE_VALUE)) {297 return; // only want to add one value298 }299 }300 if (select_type.equals(OAIXML.SELECT_FIRST_VALID_META)) {301 return; // we have added all values of this meta elem302 }303 // otherwise, we will keep going through the list and add them all.304 }305 }306 */307 308 // specific metadata formats might need to do some custom metadata that is not309 //just a standard mapping.310 /*311 protected void addCustomMetadata(Element meta_list_elem, String prefix, DBInfo info) {312 313 314 }315 */316 317 228 /** create the actual metadata element for the list */ 318 229 … … 331 242 332 243 Element identifier = doc.createElement(IIIFXML.IDENTIFIER); 333 GSXML.setNodeText(identifier, coll_name + ":" + oid); 244 GSXML.setNodeText(identifier, coll_name + ":" + oid); // **** OID 334 245 header.appendChild(identifier); 335 246
Note:
See TracChangeset
for help on using the changeset viewer.