a b/src/main/java/net/timbusproject/extractors/modules/tavernaextractor/TavernaExtractorOSGi.java
1
package net.timbusproject.extractors.modules.tavernaextractor;
2
3
import net.timbusproject.extractors.core.*;
4
import net.timbusproject.extractors.modules.tavernaextractor.utils.SSHManager;
5
import org.osgi.framework.BundleContext;
6
import org.osgi.framework.Version;
7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
9
import org.springframework.beans.factory.annotation.Autowired;
10
11
import java.nio.file.Path;
12
import java.nio.file.Paths;
13
import java.util.EnumSet;
14
import java.util.HashMap;
15
16
/**
17
 * munterberger@sba-research.org
18
 */
19
public class TavernaExtractorOSGi implements IExtractor{
20
21
    private Logger LOGGER = LoggerFactory.getLogger(TavernaExtractorOSGi.class);
22
23
    public TavernaExtractorOSGi() {}
24
25
    @Autowired
26
    private BundleContext bundleContext;
27
28
    @Override
29
    public String getName() {
30
        return bundleContext != null ? bundleContext.getBundle().getHeaders().get("Bundle-Name") : getClass().getSimpleName();
31
    }
32
33
    @Override
34
    public String getSymbolicName() {
35
        return bundleContext != null ? bundleContext.getBundle().getSymbolicName() : getClass().getCanonicalName();
36
    }
37
38
    @Override
39
    public Version getVersion() {
40
        return bundleContext != null ? bundleContext.getBundle().getVersion() : Version.emptyVersion;
41
    }
42
43
    @Override
44
    public HashMap<String, Parameter> getParameters() {
45
        HashMap<String, Parameter> parameters = new HashMap<String, Parameter>();
46
47
        Parameter defaultParameter = new Parameter(false, true, ParameterType.STRING);
48
        parameters.put("user", new Parameter(false));
49
        parameters.put("password", new Parameter(true));
50
        parameters.put("port", new Parameter(false, ParameterType.NUMBER));
51
        parameters.put("fqdn", new Parameter(false));
52
        parameters.put("tavernaHome", defaultParameter);
53
        parameters.put("archimateOutputPath", defaultParameter);
54
        parameters.put("inputFileName", defaultParameter);
55
56
        return parameters;
57
    }
58
59
    @Override
60
    public EnumSet<OperatingSystem> getSupportedOperatingSystems() {
61
        return EnumSet.allOf(OperatingSystem.class);
62
    }
63
64
    @Override
65
    public String extract(Endpoint endpoint, boolean b) throws Exception {
66
67
        Path tavernaHome = Paths.get(endpoint.getProperty("tavernaHome"));
68
        String archimateOutputPath = endpoint.getProperty("archimateOutputPath");
69
        String inputFileName = endpoint.getProperty("inputFileName");
70
71
        System.out.println(tavernaHome);
72
        System.out.println(archimateOutputPath);
73
        System.out.println(inputFileName);
74
75
        SSHManager _sshManager = new SSHManager(endpoint.getProperty("fqdn")
76
                ,new Integer(endpoint.getProperty("port")),
77
                endpoint.getProperty("user"),
78
                endpoint.getProperty("password"));
79
        TavernaExtractor extractor = new TavernaExtractor(_sshManager);
80
        TavernaExtractor.setTavernaHome(tavernaHome);
81
        TavernaExtractor.setArchimateOutputPath(archimateOutputPath);
82
        TavernaExtractor.setInputFileName(inputFileName);
83
84
        // starts the execution
85
        extractor.process();
86
87
        return "";
88
    }
89
}