From a6e250cdac10c11a3b03dee258d049f3af747ccd Mon Sep 17 00:00:00 2001 From: Jon Cox Date: Tue, 19 Jun 2007 04:53:34 +0000 Subject: [PATCH] Point checkin. Separated ephemeral results you get from comparing a workflow sandbox to staging from the delta you'd get between 2 versions of staging itself. The deltas work but the merges are not there yet so you still need to do monolithic updates of staging using the old api for now. Still, this lets you see what the deltas look like -- basically just a slightly different way of getting manifests of files with broken links. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6012 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../linkvalidation/HrefDifference.java | 80 +++++++++++-------- .../linkvalidation/LinkValidationService.java | 14 +--- 2 files changed, 49 insertions(+), 45 deletions(-) diff --git a/source/java/org/alfresco/linkvalidation/HrefDifference.java b/source/java/org/alfresco/linkvalidation/HrefDifference.java index f38fb98dd5..ebd6c3aac5 100644 --- a/source/java/org/alfresco/linkvalidation/HrefDifference.java +++ b/source/java/org/alfresco/linkvalidation/HrefDifference.java @@ -28,58 +28,68 @@ 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 { - HrefStatusMap href_status_map_; //status of links + maybe dep info - HrefManifest href_manifest_; // overall manifest in of change + protected HrefStatusMap href_status_map_; // status of links/maybe dep info + protected HrefManifest href_manifest_; // overall manifest in of change - // Hrefs no longer used by the system anywhere - HashMap obsolete_href_md5_; + // Lazily computed values + protected HrefManifest broken_in_newmod_; // errors in new files + protected HrefManifest broken_by_deletion_; // err via new deletions - HrefManifest broken_in_newmod_; // errors in new files - HrefManifest broken_by_del_; // errors caused by new deletions - HrefManifest repaired_by_delmod_; // fix by removing links (mod or del) - HrefManifest repaired_by_new_; // new file satisfies broken dep + // 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_; - public HrefDifference() + // href attribute lookup prefix + String href_attr_; + String src_store_; + String dst_store_; + String src_webapp_url_base_; + String dst_webapp_url_base_; + + HrefDifference(String href_attr, + String src_store, + String dst_store, + String src_webapp_url_base, + String dst_webapp_url_base) { - href_manifest_ = new HrefManifest(); - href_status_map_ = new HrefStatusMap(); - obsolete_href_md5_ = new HashMap(); + href_attr_ = href_attr; + src_store_ = src_store; + dst_store_ = dst_store; + src_webapp_url_base_ = src_webapp_url_base; + dst_webapp_url_base_ = dst_webapp_url_base; - broken_by_del_ = new HrefManifest(); - broken_in_newmod_ = new HrefManifest(); - repaired_by_delmod_ = new HrefManifest(); - repaired_by_new_ = new HrefManifest(); + 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_; } - Map getObsoleteHrefMd5() { return obsolete_href_md5_; } - public HrefManifest getBrokenByDeletionHrefManifest( ) - { - return broken_by_del_; - } + public HrefManifest getHrefManifest() { return href_manifest_; } + public HrefStatusMap getHrefStatusMap() { return href_status_map_; } - public HrefManifest getBrokenInNewModHrefManifest() - { - return broken_in_newmod_; - } + 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_; } - public HrefManifest getRepairedByDeletionAndModHrefManifest() - { - return repaired_by_delmod_; - } - - public HrefManifest getRepairedByNewHreManifest() - { - return repaired_by_new_; + Map getDeletedFileMd5() { return deleted_file_md5_; } + Map> getBrokenManifestMap() + { + return broken_manifest_map_; } } diff --git a/source/java/org/alfresco/linkvalidation/LinkValidationService.java b/source/java/org/alfresco/linkvalidation/LinkValidationService.java index 1933a13a8c..963dd4a56b 100644 --- a/source/java/org/alfresco/linkvalidation/LinkValidationService.java +++ b/source/java/org/alfresco/linkvalidation/LinkValidationService.java @@ -187,16 +187,10 @@ public interface LinkValidationService HrefValidationProgress progress ) throws AVMNotFoundException; + public HrefManifest getHrefManifestBrokenByDelete(HrefDifference hdiff); + public HrefManifest getHrefManifestBrokenByNewOrMod(HrefDifference hdiff); - public HrefDifference getHrefDifference( int srcVersion, - String srcWebappPath, - int dstVersion, - String dstWebappPath, - int connectTimeout, - int readTimeout, - int nthreads, - HrefValidationProgress progress) - throws AVMNotFoundException; - + public List getHrefListFixedByDeleteOrMod(HrefDifference hdiff); + public List getHrefListFixedByNew(HrefDifference hdiff); }