package pt.utl.ist.fenix.client.test.load;

import java.io.IOException;

import org.apache.commons.httpclient.HttpException;

public class AnnonymousUser extends User {

    private static final AddLinkCondition ADD_LINK_CONDITION = new AddLinkCondition() {
	@Override
	public boolean shouldAddLink(String link) {
	    return link.indexOf("mailto:") == -1
	    	&& link.indexOf("http://") == -1
	    	&& link.indexOf("login") == -1
	    	&& link.indexOf("irc://") == -1;
	}
    };

    public AnnonymousUser(final AddLinkCondition addLinkCondition) {
	super(addLinkCondition == null ? ADD_LINK_CONDITION : addLinkCondition);
    }

    @Override
    public void run() {
	try {
	    final String response = follow("/siteMap.do");
	    findAccessableItems(response);
	    followLinks();
	} catch (HttpException e) {
	    e.printStackTrace();
	} catch (IOException e) {
	    e.printStackTrace();
	}
    }

}
