/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.ctask.general; import org.dspace.content.MetadataValue; import org.dspace.content.Item; import java.util.ArrayList; import java.util.List; /** * A link checker that builds upon the BasicLinkChecker to check URLs that * appear in all metadata fields where the field starts with http:// or https:// * * Of course this assumes that there is no extra metadata following the URL. * * @author Stuart Lewis */ public class MetadataValueLinkChecker extends BasicLinkChecker { @Override protected List<String> getURLs(Item item) { // Get all metadata elements that start with http:// or https:// List<MetadataValue> urls = itemService.getMetadata(item, Item.ANY, Item.ANY, Item.ANY, Item.ANY); ArrayList<String> theURLs = new ArrayList<String>(); for (MetadataValue url : urls) { if ((url.getValue().startsWith("http://")) || (url.getValue().startsWith("https://"))) { theURLs.add(url.getValue()); } } return theURLs; } }