Project

General

Profile

1 33378 alessia.ba
package eu.dnetlib.msro.openaireplus.workflows.nodes.stats;
2
3 48139 alessia.ba
import com.googlecode.sarasvati.NodeToken;
4
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
5 33655 alessia.ba
import org.apache.commons.lang.StringUtils;
6
import org.apache.commons.logging.Log;
7
import org.apache.commons.logging.LogFactory;
8
9 33378 alessia.ba
/**
10 33655 alessia.ba
 * Ask the StatsManagerService to backup the stats cache of the portal specified by the additional BB parameter
11 34275 alessia.ba
 * <code>StatsManagerServiceBBAction.BACKUP_CACHE.getTargetPortalParamName()</code>. The cache can be restored with the last generated backup by
12 33655 alessia.ba
 * sending a "restore" BB message.
13 48139 alessia.ba
 *
14
 * @author alessia
15 33378 alessia.ba
 * @see RestoreStatsCacheJobNode
16
 */
17
public class BackupStatsCacheJobNode extends AbstractStatsJobNode {
18
19 33655 alessia.ba
	private static final Log log = LogFactory.getLog(BackupStatsCacheJobNode.class); // NOPMD by marko on 11/24/08 5:02 PM
20
21 33378 alessia.ba
	@Override
22
	protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception {
23
		job.setAction(StatsManagerServiceBBAction.BACKUP_CACHE.action());
24 34245 alessia.ba
		String portal = getPortalName(token);
25 33655 alessia.ba
		if (StringUtils.isNotBlank(portal)) {
26 34245 alessia.ba
			job.getParameters().put(StatsManagerServiceBBAction.BACKUP_CACHE.getTargetPortalParamName(), portal);
27 33655 alessia.ba
		} else {
28 34245 alessia.ba
			log.warn(StatsManagerServiceBBAction.BACKUP_CACHE.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
29 33655 alessia.ba
		}
30 33378 alessia.ba
	}
31
}