Jon Cox e59e2ab976 Point checkin.
Added APIs to allow broken links due to deletions & new/modified files in a
workflow to be detected via sync service (differencing).   Not configured
as transactions yet, nor has much testing been done, but things are starting
to shape up.   Now also detecting broken IMG tags (as well as A tags).
Also, the linkvalidation service now has its own file extension excluder bean.
Eventually the old APIs will go away, but I'm leaving them in there for
now to make life simple.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5992 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-06-16 04:27:01 +00:00

71 lines
2.6 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 a url, 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.
*
* 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_;}
}