Project

General

Profile

1 32177 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 32177 alessia.ba
/**
10 33655 alessia.ba
 * Ask the StatsManagerService to refresh the shadow cache according to the content of the shadow stats db for the portal specified by the
11 34275 alessia.ba
 * additional BB parameter <code>StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.getTargetPortalParamName()</code>.
12 33655 alessia.ba
 * <p>
13
 * In order for the given portal to actually use the generated cache, we must promote the cache with the BB message 'promoteCache'.
14
 * </p>
15 48139 alessia.ba
 *
16 32177 alessia.ba
 * @author alessia
17 33655 alessia.ba
 * @see eu.dnetlib.msro.openaireplus.workflows.nodes.stats.PromoteShadowCacheStatsJobNode
18 32177 alessia.ba
 */
19 33377 alessia.ba
public class RefreshShadowCacheJobNode extends AbstractStatsJobNode {
20 32177 alessia.ba
21 33655 alessia.ba
	private static final Log log = LogFactory.getLog(RefreshShadowCacheJobNode.class); // NOPMD by marko on 11/24/08 5:02 PM
22
23 32177 alessia.ba
	@Override
24
	protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception {
25
		job.setAction(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.action());
26 34245 alessia.ba
		String portal = getPortalName(token);
27 33655 alessia.ba
		if (StringUtils.isNotBlank(portal)) {
28 34245 alessia.ba
			job.getParameters().put(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.getTargetPortalParamName(), portal);
29 33655 alessia.ba
		} else {
30 34245 alessia.ba
			log.warn(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
31 33655 alessia.ba
		}
32 32177 alessia.ba
	}
33
34
}