Project

General

Profile

1 26600 sandro.lab
package eu.dnetlib.msro.openaire.ui;
2
3 30175 sandro.lab
import java.util.ArrayList;
4 26600 sandro.lab
import java.util.List;
5
import java.util.Map;
6 31407 sandro.lab
import javax.annotation.Resource;
7
8 30175 sandro.lab
import eu.dnetlib.data.download.rmi.DownloadPlugin;
9
import eu.dnetlib.data.download.rmi.DownloadService;
10 32798 michele.ar
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
11 26600 sandro.lab
import eu.dnetlib.msro.workflows.util.ValidNodeValuesFetcher;
12 48139 alessia.ba
import org.springframework.beans.factory.annotation.Autowired;
13 26600 sandro.lab
14
public class DownloadPluginValues extends ValidNodeValuesFetcher {
15
16 48139 alessia.ba
	/**
17
	 * The download plugin enumerator.
18
	 */
19 26600 sandro.lab
20 32798 michele.ar
	@Resource
21
	private UniqueServiceLocator serviceLocator;
22 30175 sandro.lab
23
	@Autowired(required = false)
24
	private List<DownloadPlugin> plugins;
25
26 26600 sandro.lab
	@Override
27
	protected List<DnetParamValue> obtainValues(final Map<String, String> params) throws Exception {
28
29 32798 michele.ar
		List<String> otherPlugins = serviceLocator.getService(DownloadService.class).listPlugins();
30 26600 sandro.lab
31 30175 sandro.lab
		ArrayList<DnetParamValue> output = new ArrayList<ValidNodeValuesFetcher.DnetParamValue>();
32 26600 sandro.lab
33 31284 sandro.lab
		// if (plugins != null) {
34
		// output.addAll(Lists.newArrayList(Iterables.transform(plugins, new Function<DownloadPlugin, DnetParamValue>() {
35
		//
36
		// @Override
37
		// public DnetParamValue apply(final DownloadPlugin input) {
38
		// return new DnetParamValue(input.getPluginName(), input.getPluginName());
39
		// }
40
		// })));
41
		// }
42 26600 sandro.lab
43 30175 sandro.lab
		if (otherPlugins != null) {
44
			for (String pluginName : otherPlugins) {
45
				output.add(new DnetParamValue(pluginName, pluginName));
46
			}
47
		}
48 31284 sandro.lab
49 30175 sandro.lab
		return output;
50 26600 sandro.lab
	}
51
}