Project

General

Profile

1
package eu.dnetlib.data.objectstore.modular;
2

    
3
import eu.dnetlib.data.objectstore.rmi.ObjectStoreServiceException;
4
import eu.dnetlib.data.objectstore.rmi.Protocols;
5
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
6
import eu.dnetlib.enabling.tools.blackboard.BlackboardServerHandler;
7
import org.springframework.beans.factory.annotation.Required;
8

    
9

    
10
/**
11
 * The Class FeedObjectStoreAction to execute the blacboard action of type FEED.
12
 */
13
public class FeedObjectStoreAction extends AbstractObjectStoreAction {
14

    
15
	/** The profile creator. */
16
	private ObjectStoreProfileCreator profileCreator;
17

    
18
	/** The store feeder. */
19
	private ModularObjectStoreFeeder storeFeeder;
20

    
21
	@Override
22
	protected void executeAsync(final BlackboardServerHandler handler, final BlackboardJob job) throws ObjectStoreServiceException {
23
		try {
24
			final String objStoreID = job.getParameters().get("obsID");
25
			final String objID = job.getParameters().get("objID");
26
			final String URI = job.getParameters().get("URI");
27
			final String eprRs = job.getParameters().get("epr");
28
			final String protocolString = job.getParameters().get("protocol");
29

    
30
			final Protocols protocol;
31
			if (protocolString == null)
32
				protocol = Protocols.None;
33
			else
34
				protocol = Protocols.valueOf(job.getParameters().get("protocol"));
35
			final String mime = job.getParameters().get("mime");
36
			final String login = job.getParameters().get("login");
37
			final String password = job.getParameters().get("password");
38

    
39
			if (URI != null && URI.length() > 0) {
40
				storeFeeder.feedObject(objStoreID, objID, URI, protocol, login,
41
						password, mime);
42
			} else if (eprRs != null && eprRs.length() > 0) {
43
				storeFeeder
44
						.feed(objStoreID, eprRs, protocol, login, password, mime);
45
			}
46
			completeWithSuccess(handler, job);
47
		} catch (Exception e) {
48
			completeWithFail(handler, job, e);
49
		}
50
	}
51

    
52

    
53

    
54
	/**
55
	 * Gets the profile creator.
56
	 *
57
	 * @return the profile creator
58
	 */
59
	public ObjectStoreProfileCreator getProfileCreator() {
60
		return profileCreator;
61
	}
62

    
63
	/**
64
	 * Sets the profile creator.
65
	 *
66
	 * @param profileCreator the new profile creator
67
	 */
68
	@Required
69
	public void setProfileCreator(ObjectStoreProfileCreator profileCreator) {
70
		this.profileCreator = profileCreator;
71
	}
72

    
73
	/**
74
	 * Gets the store feeder.
75
	 *
76
	 * @return the store feeder
77
	 */
78
	public ModularObjectStoreFeeder getStoreFeeder() {
79
		return storeFeeder;
80
	}
81

    
82
	/**
83
	 * Sets the store feeder.
84
	 *
85
	 * @param storeFeeder the new store feeder
86
	 */
87
	@Required
88
	public void setStoreFeeder(ModularObjectStoreFeeder storeFeeder) {
89
		this.storeFeeder = storeFeeder;
90
	}
91

    
92
}
(6-6/15)