Revision 34244
Added by Alessia Bardi over 9 years ago
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/PromoteShadowCacheStatsJobNode.java | ||
---|---|---|
22 | 22 |
@Override |
23 | 23 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception { |
24 | 24 |
job.setAction(StatsManagerServiceBBAction.PROMOTE_SHADOW_CACHE.action()); |
25 |
String portal = getTargetPortal(token);
|
|
25 |
String portal = getPortalName(token);
|
|
26 | 26 |
if (StringUtils.isNotBlank(portal)) { |
27 |
job.getParameters().put(StatsManagerServiceBBAction.PROMOTE_SHADOW_CACHE.getPortalParamName(), portal); |
|
27 |
job.getParameters().put(StatsManagerServiceBBAction.PROMOTE_SHADOW_CACHE.getTargetPortalParamName(), portal);
|
|
28 | 28 |
} else { |
29 |
log.warn(StatsManagerServiceBBAction.PROMOTE_SHADOW_CACHE.getPortalParamName() + " not set. The StatsManagerService will use its default."); |
|
29 |
log.warn(StatsManagerServiceBBAction.PROMOTE_SHADOW_CACHE.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
|
|
30 | 30 |
} |
31 | 31 |
} |
32 | 32 |
|
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/ValidateShadowStatsJobNode.java | ||
---|---|---|
26 | 26 |
@Override |
27 | 27 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception { |
28 | 28 |
job.setAction(StatsManagerServiceBBAction.VALIDATE_SHADOW_STATS.action()); |
29 |
String portal = getTargetPortal(token);
|
|
29 |
String portal = getPortalName(token);
|
|
30 | 30 |
if (StringUtils.isNotBlank(portal)) { |
31 |
job.getParameters().put(StatsManagerServiceBBAction.VALIDATE_SHADOW_STATS.getPortalParamName(), portal); |
|
31 |
job.getParameters().put(StatsManagerServiceBBAction.VALIDATE_SHADOW_STATS.getTargetPortalParamName(), portal);
|
|
32 | 32 |
} else { |
33 |
log.warn(StatsManagerServiceBBAction.VALIDATE_SHADOW_STATS.getPortalParamName() + " not set. The StatsManagerService will use its default."); |
|
33 |
log.warn(StatsManagerServiceBBAction.VALIDATE_SHADOW_STATS.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
|
|
34 | 34 |
} |
35 | 35 |
|
36 | 36 |
} |
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/AbstractStatsJobNode.java | ||
---|---|---|
43 | 43 |
} |
44 | 44 |
} |
45 | 45 |
|
46 |
public String getTargetPortal(final NodeToken token) {
|
|
46 |
public String getPortalName(final NodeToken token) {
|
|
47 | 47 |
if (StringUtils.isNotBlank(portal)) return portal; |
48 | 48 |
else return token.getEnv().getAttribute(portalParam); |
49 | 49 |
} |
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/RestoreStatsCacheJobNode.java | ||
---|---|---|
26 | 26 |
@Override |
27 | 27 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception { |
28 | 28 |
job.setAction(StatsManagerServiceBBAction.RESTORE_CACHE.action()); |
29 |
String portal = getTargetPortal(token);
|
|
29 |
String portal = getPortalName(token);
|
|
30 | 30 |
if (StringUtils.isNotBlank(portal)) { |
31 |
job.getParameters().put(StatsManagerServiceBBAction.RESTORE_CACHE.getPortalParamName(), portal); |
|
31 |
job.getParameters().put(StatsManagerServiceBBAction.RESTORE_CACHE.getTargetPortalParamName(), portal);
|
|
32 | 32 |
} else { |
33 |
log.warn(StatsManagerServiceBBAction.RESTORE_CACHE.getPortalParamName() + " not set. The StatsManagerService will use its default."); |
|
33 |
log.warn(StatsManagerServiceBBAction.RESTORE_CACHE.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
|
|
34 | 34 |
} |
35 | 35 |
} |
36 | 36 |
|
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/BackupStatsCacheJobNode.java | ||
---|---|---|
24 | 24 |
@Override |
25 | 25 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception { |
26 | 26 |
job.setAction(StatsManagerServiceBBAction.BACKUP_CACHE.action()); |
27 |
String portal = getTargetPortal(token);
|
|
27 |
String portal = getPortalName(token);
|
|
28 | 28 |
if (StringUtils.isNotBlank(portal)) { |
29 |
job.getParameters().put(StatsManagerServiceBBAction.BACKUP_CACHE.getPortalParamName(), portal); |
|
29 |
job.getParameters().put(StatsManagerServiceBBAction.BACKUP_CACHE.getTargetPortalParamName(), portal);
|
|
30 | 30 |
} else { |
31 |
log.warn(StatsManagerServiceBBAction.BACKUP_CACHE.getPortalParamName() + " not set. The StatsManagerService will use its default."); |
|
31 |
log.warn(StatsManagerServiceBBAction.BACKUP_CACHE.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
|
|
32 | 32 |
} |
33 | 33 |
} |
34 | 34 |
} |
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/RefreshShadowCacheJobNode.java | ||
---|---|---|
25 | 25 |
@Override |
26 | 26 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception { |
27 | 27 |
job.setAction(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.action()); |
28 |
String portal = getTargetPortal(token);
|
|
28 |
String portal = getPortalName(token);
|
|
29 | 29 |
if (StringUtils.isNotBlank(portal)) { |
30 |
job.getParameters().put(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.getPortalParamName(), portal); |
|
30 |
job.getParameters().put(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.getTargetPortalParamName(), portal);
|
|
31 | 31 |
} else { |
32 |
log.warn(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.getPortalParamName() + " not set. The StatsManagerService will use its default."); |
|
32 |
log.warn(StatsManagerServiceBBAction.REFRESH_SHADOW_CACHE.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
|
|
33 | 33 |
} |
34 | 34 |
} |
35 | 35 |
|
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/PromoteShadowStatsJobNode.java | ||
---|---|---|
32 | 32 |
@Override |
33 | 33 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception { |
34 | 34 |
job.setAction(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.action()); |
35 |
String portal = getTargetPortal(token);
|
|
35 |
String portal = getPortalName(token);
|
|
36 | 36 |
if (StringUtils.isNotBlank(portal)) { |
37 |
job.getParameters().put(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.getPortalParamName(), portal); |
|
37 |
job.getParameters().put(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.getTargetPortalParamName(), portal);
|
|
38 | 38 |
} else { |
39 |
log.warn(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.getPortalParamName() + " not set. The StatsManagerService will use its default."); |
|
39 |
log.warn(StatsManagerServiceBBAction.PROMOTE_SHADOW_STATS.getTargetPortalParamName() + " not set. The StatsManagerService will use its default.");
|
|
40 | 40 |
} |
41 | 41 |
} |
42 | 42 |
|
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/StatsManagerServiceBBAction.java | ||
---|---|---|
7 | 7 |
public String action() { |
8 | 8 |
return "promoteShadow"; |
9 | 9 |
} |
10 |
|
|
11 |
@Override |
|
12 |
public String getPortalParamName() { |
|
13 |
return DEFAULT_PORTAL_PARAM_NAME; |
|
14 |
} |
|
15 | 10 |
}, |
16 | 11 |
PROMOTE_SHADOW_CACHE { |
17 | 12 |
|
... | ... | |
19 | 14 |
public String action() { |
20 | 15 |
return "promoteCache"; |
21 | 16 |
} |
22 |
|
|
23 |
@Override |
|
24 |
public String getPortalParamName() { |
|
25 |
return DEFAULT_PORTAL_PARAM_NAME; |
|
26 |
} |
|
27 | 17 |
}, |
28 | 18 |
REFRESH_SHADOW_CACHE { |
29 | 19 |
|
... | ... | |
32 | 22 |
return "refreshCache"; |
33 | 23 |
} |
34 | 24 |
|
35 |
@Override |
|
36 |
public String getPortalParamName() { |
|
37 |
return DEFAULT_PORTAL_PARAM_NAME; |
|
38 |
} |
|
39 | 25 |
}, |
40 | 26 |
VALIDATE_SHADOW_STATS { |
41 | 27 |
|
... | ... | |
44 | 30 |
return "validate"; |
45 | 31 |
} |
46 | 32 |
|
47 |
@Override |
|
48 |
public String getPortalParamName() { |
|
49 |
return DEFAULT_PORTAL_PARAM_NAME; |
|
50 |
} |
|
51 | 33 |
}, |
52 | 34 |
BACKUP_CACHE { |
53 | 35 |
|
... | ... | |
56 | 38 |
return "backup"; |
57 | 39 |
} |
58 | 40 |
|
59 |
@Override |
|
60 |
public String getPortalParamName() { |
|
61 |
return DEFAULT_PORTAL_PARAM_NAME; |
|
62 |
} |
|
63 | 41 |
}, |
64 | 42 |
RESTORE_CACHE { |
65 | 43 |
|
... | ... | |
68 | 46 |
return "restore"; |
69 | 47 |
} |
70 | 48 |
|
49 |
}, |
|
50 |
MIGRATE_CACHE { |
|
51 |
|
|
71 | 52 |
@Override |
72 |
public String getPortalParamName() {
|
|
73 |
return DEFAULT_PORTAL_PARAM_NAME;
|
|
53 |
public String action() {
|
|
54 |
return "migrate";
|
|
74 | 55 |
} |
56 |
|
|
57 |
@Override |
|
58 |
public String getTargetPortalParamName() { |
|
59 |
return "targetCache"; |
|
60 |
} |
|
61 |
|
|
75 | 62 |
}; |
76 | 63 |
|
77 | 64 |
public abstract String action(); |
78 | 65 |
|
79 |
public abstract String getPortalParamName(); |
|
66 |
public String getSourcePortalParamName() { |
|
67 |
return DEFAULT_PORTAL_PARAM_NAME; |
|
68 |
} |
|
80 | 69 |
|
70 |
public String getTargetPortalParamName() { |
|
71 |
return DEFAULT_PORTAL_PARAM_NAME; |
|
72 |
} |
|
73 |
|
|
81 | 74 |
private static String DEFAULT_PORTAL_PARAM_NAME = "cache"; |
82 | 75 |
} |
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/stats/MigrateStatsCacheJobNode.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.stats; |
|
2 |
|
|
3 |
import org.apache.commons.lang.StringUtils; |
|
4 |
import org.apache.commons.logging.Log; |
|
5 |
import org.apache.commons.logging.LogFactory; |
|
6 |
|
|
7 |
import com.googlecode.sarasvati.NodeToken; |
|
8 |
|
|
9 |
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob; |
|
10 |
import eu.dnetlib.msro.rmi.MSROException; |
|
11 |
|
|
12 |
/** |
|
13 |
* Ask the StatsManagerService to copy a cache of a portal to another portal cache. |
|
14 |
* <p> |
|
15 |
* The source portal is specified in the BB parameter <code>StatsManagerServiceBBAction.MIGRATE_CACHE.getPortalParamName()</code>. |
|
16 |
* </p> |
|
17 |
* <p> |
|
18 |
* The target portal is specified in the BB parameter <code>StatsManagerServiceBBAction.MIGRATE_CACHE.getTargetPortalParamName()</code> |
|
19 |
* </p> |
|
20 |
* |
|
21 |
* @author alessia |
|
22 |
* |
|
23 |
*/ |
|
24 |
public class MigrateStatsCacheJobNode extends AbstractStatsJobNode { |
|
25 |
|
|
26 |
private static final Log log = LogFactory.getLog(MigrateStatsCacheJobNode.class); // NOPMD by marko on 11/24/08 5:02 PM |
|
27 |
|
|
28 |
/** |
|
29 |
* BB parameter defining which is the portal with the source cache to migrate. |
|
30 |
*/ |
|
31 |
private String sourcePortal; |
|
32 |
|
|
33 |
@Override |
|
34 |
protected void prepareJob(final BlackboardJob job, final NodeToken token) throws Exception { |
|
35 |
job.setAction(StatsManagerServiceBBAction.MIGRATE_CACHE.action()); |
|
36 |
if (StringUtils.isBlank(sourcePortal)) throw new MSROException("Parameter sourcePortal required to migrate the cache"); |
|
37 |
job.getParameters().put(StatsManagerServiceBBAction.MIGRATE_CACHE.getSourcePortalParamName(), sourcePortal); |
|
38 |
String targetPortal = getPortalName(token); |
|
39 |
if (StringUtils.isNotBlank(targetPortal)) { |
|
40 |
job.getParameters().put(StatsManagerServiceBBAction.MIGRATE_CACHE.getTargetPortalParamName(), targetPortal); |
|
41 |
} else { |
|
42 |
log.warn(StatsManagerServiceBBAction.MIGRATE_CACHE.getTargetPortalParamName() + " not set. The StatsManagerService will use its default."); |
|
43 |
} |
|
44 |
|
|
45 |
} |
|
46 |
} |
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/resources/eu/dnetlib/test/profiles/openaireplus/workflows/dm/stats.prepare.public.xml | ||
---|---|---|
40 | 40 |
</PARAMETERS> |
41 | 41 |
<ARCS> |
42 | 42 |
<ARC name="YES" to="backupCache" /> |
43 |
<ARC name="NO" to="goWithRefresh" />
|
|
43 |
<ARC name="NO" to="SELECT_MIGRATION" />
|
|
44 | 44 |
</ARCS> |
45 | 45 |
</NODE> |
46 | 46 |
<NODE name="backupCache" type="BackupStatsCache"> |
... | ... | |
50 | 50 |
<PARAM managedBy="system" name="portalParam" required="true" type="string">portal</PARAM> |
51 | 51 |
</PARAMETERS> |
52 | 52 |
<ARCS> |
53 |
<ARC to="goWithRefresh" />
|
|
53 |
<ARC to="SELECT_MIGRATION" />
|
|
54 | 54 |
</ARCS> |
55 | 55 |
</NODE> |
56 |
<NODE name="goWithRefresh"> |
|
57 |
<DESCRIPTION>Wait for one branch from SELECT_BACKUP_CACHE</DESCRIPTION> |
|
58 |
<PARAMETERS/> |
|
56 |
<NODE name="SELECT_MIGRATION" type="Selection"> |
|
57 |
<DESCRIPTION>Can we migrate the cache from another portal?</DESCRIPTION> |
|
58 |
<PARAMETERS> |
|
59 |
<PARAM function="validValues(['YES', 'NO'])" managedBy="user" name="selection" required="true" type="string">YES</PARAM> |
|
60 |
</PARAMETERS> |
|
59 | 61 |
<ARCS> |
60 |
<ARC to="refreshShadowCache" /> |
|
62 |
<ARC name="YES" to="migrateCache" /> |
|
63 |
<ARC name="NO" to="refreshShadowCache" /> |
|
61 | 64 |
</ARCS> |
62 | 65 |
</NODE> |
66 |
<NODE name="migrateCache" type="MigrateStatsCache"> |
|
67 |
<DESCRIPTION>Migrate the cache from another portal</DESCRIPTION> |
|
68 |
<PARAMETERS> |
|
69 |
<PARAM name="xqueryForServiceIdParam" type="string" managedBy="system" required="true">xqueryForStatsManagerService</PARAM> |
|
70 |
<PARAM managedBy="system" name="portalParam" required="true" type="string">portal</PARAM> |
|
71 |
<PARAM function="validValues(['test', 'beta', 'production'])" managedBy="user" name="sourcePortal" required="true" type="string"/> |
|
72 |
</PARAMETERS> |
|
73 |
<ARCS> |
|
74 |
<ARC to="success" /> |
|
75 |
</ARCS> |
|
76 |
</NODE> |
|
63 | 77 |
<NODE name="refreshShadowCache" type="RefreshShadowCache"> |
64 | 78 |
<DESCRIPTION>Updates the shadow cache according to the shadow stats db.</DESCRIPTION> |
65 | 79 |
<PARAMETERS> |
modules/dnet-openaireplus-workflows/branches/dnet-openaireplus-workflows-2.2.1/src/main/resources/eu/dnetlib/msro/openaireplus/workflows/applicationContext-msro-openaire-nodes.xml | ||
---|---|---|
289 | 289 |
class="eu.dnetlib.msro.openaireplus.workflows.nodes.stats.PromoteShadowCacheStatsJobNode" |
290 | 290 |
scope="prototype" /> |
291 | 291 |
|
292 |
<bean id="wfNodeMigrateStatsCache" |
|
293 |
class="eu.dnetlib.msro.openaireplus.workflows.nodes.stats.MigrateStatsCacheJobNode" |
|
294 |
scope="prototype" /> |
|
295 |
|
|
292 | 296 |
</beans> |
Also available in: Unified diff
Refactored StatsJobNode to include the new "migrate cache" action, which has been integrated in the prepare public stats wf.