/*----------------------------------------------------------------------------- * Copyright 2007 Alfresco Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. As a special * exception to the terms and conditions of version 2.0 of the GPL, you may * redistribute this Program in connection with Free/Libre and Open Source * Software ("FLOSS") applications as described in Alfresco's FLOSS exception. * You should have received a copy of the text describing the FLOSS exception, * and it is also available here: http://www.alfresco.com/legal/licensing * * * Author Jon Cox * File HrefDifference.java *----------------------------------------------------------------------------*/ package org.alfresco.linkvalidation; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class HrefDifference { /** * The href_status_map_ is a map of URLs the tuple of their * return status & list of dependencies. */ protected HrefStatusMap href_status_map_; // status of links/maybe dep info /** * The href_manifest_ contains a List objects. * Each HrefManifestEntry contains a file name, * and possibly a list of hrefs within that file. */ protected HrefManifest href_manifest_; // Lazily computed values protected HrefManifest broken_in_newmod_; // errors in new files protected HrefManifest broken_by_deletion_; // err via new deletions // Only computed when merging diffs protected List repaired_by_delmod_; // fix by removing links protected List repaired_by_new_; // file satisfied broken dep // Temp values used in lazy computation protected HashMap> broken_manifest_map_; protected HashMap deleted_file_md5_; String href_attr_; // href attribute lookup prefix int src_version_; String src_store_; int dst_base_version_; int dst_latest_version_; String dst_store_; String src_webapp_url_base_; String dst_webapp_url_base_; HrefDifference(String href_attr, int src_version, String src_store, int dst_base_version, String dst_store, int dst_latest_version, String src_webapp_url_base, String dst_webapp_url_base) { href_attr_ = href_attr; src_version_ = src_version; src_store_ = src_store; dst_base_version_ = dst_base_version; dst_store_ = dst_store; dst_latest_version_ = dst_latest_version; src_webapp_url_base_ = src_webapp_url_base; dst_webapp_url_base_ = dst_webapp_url_base; href_manifest_ = new HrefManifest(); href_status_map_ = new HrefStatusMap(); broken_manifest_map_ = new HashMap>(); deleted_file_md5_ = new HashMap(); } public HrefManifest getHrefManifest() { return href_manifest_; } public HrefStatusMap getHrefStatusMap() { return href_status_map_; } public int getSrcVersion() { return src_version_;} public int getDstBaseVersion() { return dst_base_version_;} public int getDstLatestVersion() { return dst_latest_version_;} String getHrefAttr() { return href_attr_;} String getSrcStore() { return src_store_;} String getDstStore() { return dst_store_;} String getSrcWebappUrlBase() { return src_webapp_url_base_; } String getDstWebappUrlBase() { return dst_webapp_url_base_; } Map getDeletedFileMd5() { return deleted_file_md5_; } Map> getBrokenManifestMap() { return broken_manifest_map_; } }