/* * WPCleaner: A tool to help on Wikipedia maintenance tasks. * Copyright (C) 2013 Nicolas Vervelle * * See README.txt file for licensing information. */ package org.wikipediacleaner.api.request.purge; import java.util.Collection; import java.util.Map; import org.wikipediacleaner.api.APIException; import org.wikipediacleaner.api.constants.EnumWikipedia; import org.wikipediacleaner.api.data.Page; import org.wikipediacleaner.api.request.ApiRequest; /** * MediaWiki API purge requests. */ public class ApiPurgeRequest extends ApiRequest { // ========================================================================== // API properties // ========================================================================== /** * Property for Forcing links update. */ public final static String PROPERTY_FORCE_LINK_UPDATE = "forcelinkupdate"; /** * Property for Titles. */ public final static String PROPERTY_TITLES = "titles"; // ========================================================================== // Request management // ========================================================================== private final ApiPurgeResult result; /** * @param wiki Wiki. * @param result Parser for result depending on chosen format. */ public ApiPurgeRequest(EnumWikipedia wiki, ApiPurgeResult result) { super(wiki); this.result = result; } /** * Purge one page. * * @param page Page to be purged. */ public void purgePage(Page page) throws APIException { Map<String, String> properties = getProperties(ACTION_PURGE, result.getFormat()); properties.put(PROPERTY_TITLES, page.getTitle()); properties.put(PROPERTY_FORCE_LINK_UPDATE, ""); result.executePurge(properties); } /** * Purge pages. * * @param pages Pages to be purged. */ public void purgePages(Collection<Page> pages) throws APIException { Map<String, String> properties = getProperties(ACTION_PURGE, result.getFormat()); properties.put(PROPERTY_TITLES, constructListTitles(pages)); properties.put(PROPERTY_FORCE_LINK_UPDATE, ""); result.executePurge(properties); } }