/*
* WPCleaner: A tool to help on Wikipedia maintenance tasks.
* Copyright (C) 2014 Nicolas Vervelle
*
* See README.txt file for licensing information.
*/
package org.wikipediacleaner.api.check;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.wikipediacleaner.api.APIException;
import org.wikipediacleaner.api.ResponseManager;
import org.wikipediacleaner.api.check.algorithm.CheckErrorAlgorithm;
import org.wikipediacleaner.api.constants.EnumWikipedia;
/**
* Response manager for the list of pages.
*/
class PagesResponseManager implements ResponseManager {
/**
* True if classic interface should be used.
*/
private final boolean classic;
/**
* Algorithm.
*/
private final Integer errorNumber;
/**
* Wiki.
*/
private final EnumWikipedia wiki;
/**
* List of errors.
*/
private final List<CheckError> errors;
/**
* @param classic True if classic interface should be used.
* @param algorithm Algorithm.
* @param wiki Wiki.
* @param errors List of errors to be filled by the response manager.
*/
public PagesResponseManager(
boolean classic,
CheckErrorAlgorithm algorithm,
EnumWikipedia wiki,
List<CheckError> errors) {
this.classic = classic;
Integer tmp = null;
try {
tmp = Integer.valueOf(algorithm.getErrorNumberString());
} catch (NumberFormatException e) {
//
}
this.errorNumber = tmp;
this.wiki = wiki;
this.errors = errors;
}
/**
* @param stream
* @throws IOException
* @throws APIException
* @see org.wikipediacleaner.api.ResponseManager#manageResponse(java.io.InputStream)
*/
@Override
public void manageResponse(InputStream stream) throws IOException,
APIException {
if (classic) {
CheckError.addCheckErrorClassic(
errors, wiki,
errorNumber, stream);
} else {
CheckError.addCheckErrorBots(
errors, wiki,
errorNumber, stream);
}
}
}