Revision 45455
Added by Alessia Bardi over 7 years ago
CreateStoreAction.java | ||
---|---|---|
4 | 4 |
import eu.dnetlib.enabling.tools.blackboard.BlackboardServerHandler; |
5 | 5 |
import eu.dnetlib.oai.mongo.MongoPublisherStore; |
6 | 6 |
import eu.dnetlib.oai.mongo.MongoPublisherStoreDAO; |
7 |
import eu.dnetlib.rmi.provision.MDFInfo; |
|
8 |
import eu.dnetlib.utils.MetadataReference; |
|
9 |
import eu.dnetlib.utils.MetadataReferenceFactory; |
|
7 |
import eu.dnetlib.oai.utils.OAIParameterNames; |
|
8 |
import eu.dnetlib.rmi.provision.OaiPublisherException; |
|
10 | 9 |
import org.apache.commons.logging.Log; |
11 | 10 |
import org.apache.commons.logging.LogFactory; |
12 | 11 |
import org.springframework.beans.factory.annotation.Autowired; |
... | ... | |
20 | 19 |
|
21 | 20 |
@Override |
22 | 21 |
public void execute(final BlackboardServerHandler handler, final BlackboardJob job) throws Exception { |
23 |
final String dbName = job.getParameters().get("oai_dbName"); |
|
24 |
|
|
25 |
final String collectionName = job.getParameters().get("oai_collectionName"); |
|
26 |
final MetadataReference mdRef = MetadataReferenceFactory.decode(collectionName, MDREF_SEPARATOR); |
|
27 |
|
|
28 |
if (this.mongoPublisherStoreDAO.getStore(mdRef.getFormat(), mdRef.getInterpretation(), mdRef.getLayout(), dbName) == null) { |
|
29 |
final MongoPublisherStore store = this.mongoPublisherStoreDAO.createStore(mdRef.getFormat(), mdRef.getInterpretation(), mdRef.getLayout(), dbName); |
|
30 |
log.info("Created store with id: " + store.getId() + "on db " + dbName); |
|
22 |
String mdformat = job.getParameters().get(OAIParameterNames.OAI_FORMAT_NAME); |
|
23 |
String layout = job.getParameters().get(OAIParameterNames.OAI_FORMAT_LAYOUT); |
|
24 |
String interp = job.getParameters().get(OAIParameterNames.OAI_FORMAT_INTERPRETATION); |
|
25 |
String dbName = job.getParameters().get(OAIParameterNames.OAI_DB); |
|
26 |
String collection = job.getParameters().get(OAIParameterNames.OAI_COLLECTON); |
|
27 |
if (this.mongoPublisherStoreDAO.getStore(mdformat, interp, layout, dbName) == null) { |
|
28 |
MongoPublisherStore store = this.mongoPublisherStoreDAO.createStore(mdformat, interp, layout, dbName); |
|
29 |
if (store == null) { |
|
30 |
log.error("Cannot create MongoPublisherStore"); |
|
31 |
handler.failed(job, |
|
32 |
new OaiPublisherException(String.format("Cannot create OAI store for %s, %s, %s on db %s", mdformat, interp, layout, dbName))); |
|
33 |
} |
|
34 |
log.info("Created store with id: " + store.getId() + "on db " + dbName + ": \n" + store.toString()); |
|
31 | 35 |
} else { |
32 |
log.info("Store already exist: " + collectionName + " on db " + dbName);
|
|
36 |
log.info("Store " + collection + " already exists on db " + dbName);
|
|
33 | 37 |
} |
34 | 38 |
handler.done(job); |
35 | 39 |
} |
Also available in: Unified diff
Included changes about the CQL translation as in most recent version of cnr-cql-utils of DNet40 + refactoring of OAI parameters