Jon Cox f8fd96b1e1 Point checkin. Rough cut at href merge op (don't use it yet though).
Also included abort() method on progress object.

 What's left:
   o put incremental update in looping thread(s) to let system bootstrap from nothing
   o deal with store/webapp going away
   o deal with virt server down
   o Switch to using virtualized snapshot instead of HEAD in staging
   o testing... and lots of it



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6063 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-06-22 05:32:58 +00:00

75 lines
2.7 KiB
Java

/*-----------------------------------------------------------------------------
* 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 <jcox@alfresco.com>
* File HrefStatusMap.java
*----------------------------------------------------------------------------*/
package org.alfresco.linkvalidation;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import org.alfresco.util.Pair;
/**
* A synchronized wrapper for the ephemeral cache of href status results.
*
* The key is the raw url that was tested (not an md5sum),
* the value is a pair consisting of the url's status code,
* and the list of files accessed when the URL is requested,
* if known. Note that all url & file data are in the namespace
* of the proposed changeset (e.g.: the workflow).
*
* This class also allows the non-synchronized map it wraps to be extracted.
*/
public class HrefStatusMap
{
Map< String, Pair<Integer,List<String>>> status_;
public HrefStatusMap()
{
status_ = new HashMap<String,Pair<Integer,List<String>>>();
}
public HrefStatusMap( Map<String,Pair<Integer,List<String>>> status )
{ status_ = status; }
/**
* Takes the url and the Pair: status code, file dependency list
*/
public synchronized void put( String url, Pair<Integer,List<String>> status)
{
status_.put( url, status );
}
public synchronized Pair<Integer,List<String>> get( String url)
{
return status_.get( url );
}
Map< String, Pair<Integer,List<String>>> getStatusMap() { return status_;}
}