Switch to side-by-side view

--- a
+++ b/src/main/java/net/timbusproject/extractors/modules/tavernaextractor/TavernaExtractorOSGi.java
@@ -0,0 +1,89 @@
+package net.timbusproject.extractors.modules.tavernaextractor;
+
+import net.timbusproject.extractors.core.*;
+import net.timbusproject.extractors.modules.tavernaextractor.utils.SSHManager;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Version;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.EnumSet;
+import java.util.HashMap;
+
+/**
+ * munterberger@sba-research.org
+ */
+public class TavernaExtractorOSGi implements IExtractor{
+
+    private Logger LOGGER = LoggerFactory.getLogger(TavernaExtractorOSGi.class);
+
+    public TavernaExtractorOSGi() {}
+
+    @Autowired
+    private BundleContext bundleContext;
+
+    @Override
+    public String getName() {
+        return bundleContext != null ? bundleContext.getBundle().getHeaders().get("Bundle-Name") : getClass().getSimpleName();
+    }
+
+    @Override
+    public String getSymbolicName() {
+        return bundleContext != null ? bundleContext.getBundle().getSymbolicName() : getClass().getCanonicalName();
+    }
+
+    @Override
+    public Version getVersion() {
+        return bundleContext != null ? bundleContext.getBundle().getVersion() : Version.emptyVersion;
+    }
+
+    @Override
+    public HashMap<String, Parameter> getParameters() {
+        HashMap<String, Parameter> parameters = new HashMap<String, Parameter>();
+
+        Parameter defaultParameter = new Parameter(false, true, ParameterType.STRING);
+        parameters.put("user", new Parameter(false));
+        parameters.put("password", new Parameter(true));
+        parameters.put("port", new Parameter(false, ParameterType.NUMBER));
+        parameters.put("fqdn", new Parameter(false));
+        parameters.put("tavernaHome", defaultParameter);
+        parameters.put("archimateOutputPath", defaultParameter);
+        parameters.put("inputFileName", defaultParameter);
+
+        return parameters;
+    }
+
+    @Override
+    public EnumSet<OperatingSystem> getSupportedOperatingSystems() {
+        return EnumSet.allOf(OperatingSystem.class);
+    }
+
+    @Override
+    public String extract(Endpoint endpoint, boolean b) throws Exception {
+
+        Path tavernaHome = Paths.get(endpoint.getProperty("tavernaHome"));
+        String archimateOutputPath = endpoint.getProperty("archimateOutputPath");
+        String inputFileName = endpoint.getProperty("inputFileName");
+
+        System.out.println(tavernaHome);
+        System.out.println(archimateOutputPath);
+        System.out.println(inputFileName);
+
+        SSHManager _sshManager = new SSHManager(endpoint.getProperty("fqdn")
+                ,new Integer(endpoint.getProperty("port")),
+                endpoint.getProperty("user"),
+                endpoint.getProperty("password"));
+        TavernaExtractor extractor = new TavernaExtractor(_sshManager);
+        TavernaExtractor.setTavernaHome(tavernaHome);
+        TavernaExtractor.setArchimateOutputPath(archimateOutputPath);
+        TavernaExtractor.setInputFileName(inputFileName);
+
+        // starts the execution
+        extractor.process();
+
+        return "";
+    }
+}