Project

General

Profile

1
package eu.dnetlib.data.oai.store.actions;
2

    
3
import javax.annotation.Resource;
4

    
5
import eu.dnetlib.data.information.oai.utils.OAIParameterNames;
6
import eu.dnetlib.data.oai.store.mongo.MongoPublisherStoreDAO;
7
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
8
import eu.dnetlib.enabling.tools.blackboard.BlackboardServerHandler;
9
import org.apache.commons.lang3.StringUtils;
10
import org.apache.commons.logging.Log;
11
import org.apache.commons.logging.LogFactory;
12

    
13
public class DropStoreAction extends AbstractOAIStoreAction {
14

    
15
	private static final Log log = LogFactory.getLog(DropStoreAction.class); // NOPMD by marko on 11/24/08 5:02 PM
16

    
17
	@Resource
18
	private MongoPublisherStoreDAO mongoPublisherStoreDAO;
19

    
20
	@Override
21
	public void execute(final BlackboardServerHandler handler, final BlackboardJob job) throws Exception {
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 coll = job.getParameters().get(OAIParameterNames.OAI_COLLECTON);
27
		String set = job.getParameters().get(OAIParameterNames.OAI_SOURCE);
28

    
29
		boolean deleted = false;
30
		if (StringUtils.isNotBlank(set)) {
31
			deleted = mongoPublisherStoreDAO.deleteFromStore(mdformat, interp, layout, dbName, set);
32
		} else {
33
			deleted = this.mongoPublisherStoreDAO.deleteStore(mdformat, interp, layout, dbName);
34
		}
35
		if (deleted) {
36
			log.info("OAI Deletion succeded on db " + dbName+" oaistore: "+coll+", for set (all if empty) : "+set);
37
		} else {
38
			log.info("Probably the store to delete "+coll+" does not exist. OAI Deletion failed on db " + dbName);
39
		}
40
		handler.done(job);
41
	}
42
}
(5-5/9)