--- 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 "";
+ }
+}