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 promote the shadow stats db and cache to public for the portal specified by the additional BB parameter
11 34275 alessia.ba
 * <code>StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.getTargetPortalParamName()</code>.
12 33655 alessia.ba
 * <p>
13 48139 alessia.ba
 * <p>
14 33655 alessia.ba
 * According to the StatsManagerService specifications in https://issue.openaire.research-infrastructures.eu/issues/914#note-49, this BB
15
 * action will:
16
 * <ol>
17
 * <li>promote the shadow cache to public</li>
18
 * <li>make a backup of the current stats db schema under the name 'backup'</li>
19
 * <li>replace it with the new one</li>
20
 * </ol>
21
 * </p>
22 48139 alessia.ba
 *
23 32177 alessia.ba
 * @author alessia
24
 */
25 33377 alessia.ba
public class PromoteShadowStatsJobNode extends AbstractStatsJobNode {
26 32177 alessia.ba
27 33655 alessia.ba
	private static final Log log = LogFactory.getLog(PromoteShadowStatsJobNode.class); // NOPMD by marko on 11/24/08 5:02 PM
28
29 32177 alessia.ba
	@Override
30
	protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception {
31
		job.setAction(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.action());
32 34245 alessia.ba
		String portal = getPortalName(token);
33 33655 alessia.ba
		if (StringUtils.isNotBlank(portal)) {
34 34245 alessia.ba
			job.getParameters().put(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.getTargetPortalParamName(), portal);
35 33655 alessia.ba
		} else {
36 34245 alessia.ba
			log.warn(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
37 33655 alessia.ba
		}
38 32177 alessia.ba
	}
39
40
}