Revision 49663
Added by Michele Artini almost 7 years ago
modules/dnet-openaireplus-workflows/branches/dsm/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/repohi/UpdateOpenaireMetaWfStatusJobNode.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.repohi; |
2 | 2 |
|
3 |
import javax.annotation.Resource;
|
|
3 |
import org.springframework.beans.factory.annotation.Autowired;
|
|
4 | 4 |
|
5 |
import eu.dnetlib.enabling.datasources.rmi.DatasourceManagerService; |
|
5 |
import eu.dnetlib.enabling.datasources.common.Api; |
|
6 |
import eu.dnetlib.enabling.datasources.common.Datasource; |
|
7 |
import eu.dnetlib.enabling.datasources.common.DatasourceManager; |
|
6 | 8 |
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService; |
7 | 9 |
import eu.dnetlib.enabling.locators.UniqueServiceLocator; |
8 | 10 |
import eu.dnetlib.msro.workflows.nodes.repohi.UpdateMetaWfStatusJobNode; |
9 | 11 |
|
10 | 12 |
public class UpdateOpenaireMetaWfStatusJobNode extends UpdateMetaWfStatusJobNode { |
11 | 13 |
|
12 |
@Resource
|
|
14 |
@Autowired
|
|
13 | 15 |
private UniqueServiceLocator serviceLocator; |
16 |
@Autowired |
|
17 |
private DatasourceManager<Datasource<?, ?>, Api> dsManager; |
|
14 | 18 |
|
15 | 19 |
@Override |
16 | 20 |
protected void updateDatasource(final String dsId, final String ifaceId) throws Exception { |
... | ... | |
21 | 25 |
if (openaireDsId.equals("openaire____::bootstrap")) { |
22 | 26 |
super.updateDatasource(dsId, ifaceId); |
23 | 27 |
} else { |
24 |
serviceLocator.getService(DatasourceManagerService.class).updateActivationStatus(openaireDsId, ifaceId, true);
|
|
28 |
dsManager.updateActivationStatus(openaireDsId, ifaceId, true);
|
|
25 | 29 |
} |
26 | 30 |
} |
27 | 31 |
|
modules/dnet-openaireplus-workflows/branches/dsm/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/repobye/DeleteOpenaireMetaWfJobNode.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.repobye; |
2 | 2 |
|
3 |
import javax.annotation.Resource;
|
|
3 |
import org.springframework.beans.factory.annotation.Autowired;
|
|
4 | 4 |
|
5 |
import eu.dnetlib.enabling.datasources.rmi.DatasourceManagerService; |
|
5 |
import eu.dnetlib.enabling.datasources.common.Api; |
|
6 |
import eu.dnetlib.enabling.datasources.common.Datasource; |
|
7 |
import eu.dnetlib.enabling.datasources.common.DatasourceManager; |
|
6 | 8 |
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService; |
7 | 9 |
import eu.dnetlib.enabling.locators.UniqueServiceLocator; |
8 | 10 |
import eu.dnetlib.msro.workflows.nodes.repobye.DeleteMetaWfJobNode; |
9 | 11 |
|
10 | 12 |
public class DeleteOpenaireMetaWfJobNode extends DeleteMetaWfJobNode { |
11 | 13 |
|
12 |
@Resource
|
|
14 |
@Autowired
|
|
13 | 15 |
private UniqueServiceLocator serviceLocator; |
14 | 16 |
|
17 |
@Autowired |
|
18 |
private DatasourceManager<Datasource<?, ?>, Api> dsManager; |
|
19 |
|
|
15 | 20 |
@Override |
16 | 21 |
protected void updateIfaceActivationStatus(final String dsId, final String ifaceId, final boolean active) throws Exception { |
17 | 22 |
|
... | ... | |
21 | 26 |
if (openaireDsId.equals("openaire____::bootstrap")) { |
22 | 27 |
super.updateIfaceActivationStatus(dsId, ifaceId, active); |
23 | 28 |
} else { |
24 |
serviceLocator.getService(DatasourceManagerService.class).updateActivationStatus(openaireDsId, ifaceId, active);
|
|
29 |
dsManager.updateActivationStatus(openaireDsId, ifaceId, active);
|
|
25 | 30 |
} |
26 | 31 |
} |
27 | 32 |
} |
modules/dnet-openaireplus-workflows/branches/dsm/src/main/java/eu/dnetlib/msro/openaireplus/workflows/nodes/hostedby/UpsertHostedByApisJobNode.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.hostedby; |
2 | 2 |
|
3 | 3 |
import java.util.Map.Entry; |
4 |
import javax.annotation.Resource; |
|
5 | 4 |
|
5 |
import org.apache.commons.logging.Log; |
|
6 |
import org.apache.commons.logging.LogFactory; |
|
7 |
import org.springframework.beans.factory.annotation.Autowired; |
|
8 |
|
|
6 | 9 |
import com.googlecode.sarasvati.Arc; |
7 | 10 |
import com.googlecode.sarasvati.NodeToken; |
8 |
import eu.dnetlib.enabling.datasources.rmi.DatasourceDesc; |
|
9 |
import eu.dnetlib.enabling.datasources.rmi.DatasourceManagerService;
|
|
10 |
import eu.dnetlib.enabling.datasources.rmi.DatasourceManagerServiceException;
|
|
11 |
import eu.dnetlib.enabling.datasources.rmi.IfaceDesc;
|
|
12 |
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
|
|
11 |
|
|
12 |
import eu.dnetlib.enabling.datasources.common.Api;
|
|
13 |
import eu.dnetlib.enabling.datasources.common.Datasource;
|
|
14 |
import eu.dnetlib.enabling.datasources.common.DatasourceManager;
|
|
15 |
import eu.dnetlib.enabling.datasources.common.DatasourceManagerException;
|
|
13 | 16 |
import eu.dnetlib.miscutils.datetime.DateUtils; |
14 | 17 |
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode; |
15 |
import org.apache.commons.logging.Log; |
|
16 |
import org.apache.commons.logging.LogFactory; |
|
17 | 18 |
|
18 | 19 |
public class UpsertHostedByApisJobNode extends SimpleJobNode { |
19 | 20 |
|
... | ... | |
21 | 22 |
|
22 | 23 |
private static final String HOSTED_BY_COMPLIANCE = "hostedBy"; |
23 | 24 |
|
24 |
@Resource
|
|
25 |
private UniqueServiceLocator serviceLocator;
|
|
25 |
@Autowired
|
|
26 |
private DatasourceManager<Datasource<?, ?>, Api> dsManager;
|
|
26 | 27 |
|
27 | 28 |
private String countersParam; |
28 | 29 |
private String mdId; |
... | ... | |
33 | 34 |
@Override |
34 | 35 |
protected String execute(final NodeToken token) throws Exception { |
35 | 36 |
final HostedByCounters counters = (HostedByCounters) token.getEnv().getTransientAttribute(countersParam); |
36 |
final DatasourceManagerService dsManager = serviceLocator.getService(DatasourceManagerService.class); |
|
37 | 37 |
final String date = DateUtils.now_ISO8601(); |
38 | 38 |
final String namespacePrefix = token.getEnv().getAttribute("namespacePrefix"); |
39 | 39 |
|
40 | 40 |
log.info(counters); |
41 | 41 |
|
42 | 42 |
for (Entry<String, Integer> e : counters.getCounters().entrySet()) { |
43 |
updateHostedByApi(dsManager, e.getKey(), namespacePrefix, date, e.getValue());
|
|
43 |
updateHostedByApi(e.getKey(), namespacePrefix, date, e.getValue()); |
|
44 | 44 |
} |
45 | 45 |
|
46 | 46 |
return Arc.DEFAULT_ARC; |
47 | 47 |
} |
48 | 48 |
|
49 |
private void updateHostedByApi(final DatasourceManagerService dsManager, |
|
50 |
final String dsId, |
|
49 |
private void updateHostedByApi(final String dsId, |
|
51 | 50 |
final String namepsacePrefix, |
52 | 51 |
final String date, |
53 | 52 |
final int size) { |
54 | 53 |
log.info("Verifying hostedBy api in ds: " + dsId); |
55 | 54 |
try { |
56 |
final DatasourceDesc ds = dsManager.getDatasource(dsId); |
|
57 | 55 |
|
58 |
for (IfaceDesc iface : ds.getInterfaces()) { |
|
59 |
if (HOSTED_BY_COMPLIANCE.equals(iface.getCompliance())) { |
|
60 |
return; |
|
61 |
} |
|
56 |
for (Api iface : dsManager.getApis(dsId)) { |
|
57 |
if (HOSTED_BY_COMPLIANCE.equals(iface.getCompatibility())) { return; } |
|
62 | 58 |
} |
63 | 59 |
|
64 |
final IfaceDesc iface = new IfaceDesc(); |
|
65 |
iface.setId("api_________::" + dsId + "::hostedBy"); |
|
66 |
iface.setTypology(ds.getDatasourceClass()); |
|
67 |
iface.setCompliance(HOSTED_BY_COMPLIANCE); |
|
68 |
iface.setAccessProtocol("UNKNOWN"); |
|
69 |
iface.setContentDescription("metadata"); |
|
70 |
iface.setBaseUrl(""); |
|
71 |
iface.setActive(false); |
|
72 |
iface.setRemovable(true); |
|
73 |
dsManager.addInterface(dsId, iface); |
|
74 |
} catch (DatasourceManagerServiceException e) { |
|
60 |
final Api api = new Api(); |
|
61 |
api.setDatasource(dsId); |
|
62 |
api.setId("api_________::" + dsId + "::hostedBy"); |
|
63 |
api.setTypology(dsManager.getDs(dsId).getTypology()); |
|
64 |
api.setCompatibility(HOSTED_BY_COMPLIANCE); |
|
65 |
api.setProtocol("UNKNOWN"); |
|
66 |
api.setContentdescription("metadata"); |
|
67 |
api.setBaseurl(""); |
|
68 |
api.setActive(false); |
|
69 |
api.setRemovable(true); |
|
70 |
dsManager.addApi(api); |
|
71 |
} catch (DatasourceManagerException e) { |
|
75 | 72 |
log.warn("Error setting hostedBy api of ds: " + dsId, e); |
76 | 73 |
} |
77 | 74 |
} |
modules/dnet-openaireplus-workflows/branches/dsm/pom.xml | ||
---|---|---|
49 | 49 |
</dependency> |
50 | 50 |
<dependency> |
51 | 51 |
<groupId>eu.dnetlib</groupId> |
52 |
<artifactId>dnet-openaireplus-datasource-manager-service</artifactId>
|
|
52 |
<artifactId>dnet-openaireplus-datasource-manager</artifactId> |
|
53 | 53 |
<version>[5.0.0,6.0.0)</version> |
54 | 54 |
</dependency> |
55 | 55 |
<dependency> |
Also available in: Unified diff
Work in progress