@@ -0,0 +1,2445 @@
+/*%0A * $Id: IOPScienceUrlNormalizer.java,v 1.1 2013-10-10 00:06:43 etenbrink Exp $%0A */%0A%0A/*%0A%0ACopyright (c) 2000-2013 Board of Trustees of Leland Stanford Jr. University,%0Aall rights reserved.%0A%0APermission is hereby granted, free of charge, to any person obtaining a copy%0Aof this software and associated documentation files (the %22Software%22), to deal%0Ain the Software without restriction, including without limitation the rights%0Ato use, copy, modify, merge, publish, distribute, sublicense, and/or sell%0Acopies of the Software, and to permit persons to whom the Software is%0Afurnished to do so, subject to the following conditions:%0A%0AThe above copyright notice and this permission notice shall be included in%0Aall copies or substantial portions of the Software.%0A%0ATHE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR%0AIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,%0AFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL%0ASTANFORD UNIVERSITY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,%0AWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR%0AIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.%0A%0AExcept as contained in this notice, the name of Stanford University shall not%0Abe used in advertising or otherwise to promote the sale, use or other dealings%0Ain this Software without prior written authorization from Stanford University.%0A%0A*/%0A%0Apackage org.lockss.plugin.iop;%0A%0Aimport org.apache.commons.lang.StringUtils;%0Aimport org.lockss.daemon.PluginException;%0Aimport org.lockss.plugin.*;%0Aimport org.lockss.util.*;%0A%0A/**%0A * %3Cp%3EThis URL normalizer is only for org.lockss.plugin.iop.(Clockss)IOPSciencePlugin%3C/p%3E%0A */%0Apublic class IOPScienceUrlNormalizer implements UrlNormalizer %7B%0A%0A  private static final String host = %22http://iopscience.iop.org/%22;%0A  %0A  protected static final String%5B%5D endings = new String%5B%5D %7B%0A    %22?rel=ref%22,%0A    %22?rel=sem%22,%0A  %7D;%0A  %0A  protected static Logger log = %0A      Logger.getLogger(IOPScienceUrlNormalizer.class);%0A  %0A  @Override%0A  public String normalizeUrl(String url, ArchivalUnit au) throws PluginException %7B%0A    if (url == null) %7B%0A      return null;%0A    %7D%0A    if (StringUtil.startsWithIgnoreCase(url, host)) %7B%0A      if (url.indexOf(%22?%22) %3E 0) %7B%0A        // Normalize ending%0A        for (String ending : endings) %7B%0A          url = StringUtils.substringBefore(url, ending);%0A        %7D%0A      %7D%0A    %7D%0A    return url;%0A  %7D%0A  %0A%7D%0A

Add to remove ?rel=(ref|sem), links to articles in the same AU