]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.support/src/org/argeo/slc/lib/vbox/VBoxManager.java
Clarify SLC project structure.
[gpl/argeo-slc.git] / org.argeo.slc.support / src / org / argeo / slc / lib / vbox / VBoxManager.java
diff --git a/org.argeo.slc.support/src/org/argeo/slc/lib/vbox/VBoxManager.java b/org.argeo.slc.support/src/org/argeo/slc/lib/vbox/VBoxManager.java
deleted file mode 100644 (file)
index 9992d77..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.argeo.slc.lib.vbox;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.core.execution.tasks.SystemCall;
-import org.springframework.core.io.Resource;
-
-public class VBoxManager {
-       private final static Log log = LogFactory.getLog(VBoxManager.class);
-
-       private VBoxMachine vm;
-       private String executable = "VBoxManage";
-
-       private List<VBoxNat> nats = new ArrayList<VBoxNat>();
-
-       public void importOvf(Resource ovfDefinition) {
-               try {
-                       List<Object> cmd = new ArrayList<Object>();
-                       cmd.add(executable);
-                       cmd.add("import");
-                       cmd.add(ovfDefinition.getFile().getCanonicalPath());
-                       cmd.add("--vsys 0 --vmname <name>");
-                       cmd.add("0");
-                       cmd.add("--vmname");
-                       cmd.add(vm.getName());
-                       new SystemCall(cmd).run();
-               } catch (IOException e) {
-                       throw new SlcException("Cannot import OVF appliance "
-                                       + ovfDefinition, e);
-               }
-       }
-
-       public void startVm() {
-               startVm("gui");
-       }
-
-       public void startVmHeadless() {
-               startVm("vrdp");
-       }
-
-       public void startVm(String type) {
-               List<Object> cmd = new ArrayList<Object>();
-               cmd.add(executable);
-               cmd.add("startvm");
-               cmd.add(vm.getName());
-               cmd.add("--type");
-               cmd.add(type);
-               new SystemCall(cmd).run();
-       }
-
-       public void applyNats() {
-               StringBuffer script = new StringBuffer("");
-               for (VBoxNat vBoxNat : nats) {
-                       for (String id : vBoxNat.getMappings().keySet()) {
-                               VBoxPortMapping mapping = vBoxNat.getMappings().get(id);
-
-                               // Try to delete rule first
-                               try {
-                                       StringBuffer delCmd = new StringBuffer(
-                                                       "VBoxManage modifyvm");
-                                       delCmd.append(" \"").append(vm.getName()).append("\"");
-                                       delCmd.append(" --natpf").append(vBoxNat.getDevice())
-                                                       .append(" ");
-                                       delCmd.append(" delete ");
-                                       delCmd.append("\"").append(id).append("\"");
-                                       new SystemCall(delCmd.toString()).run();
-                                       script.append(delCmd).append("\n");
-                               } catch (Exception e) {
-                                       // silent
-                               }
-
-                               StringBuffer cmd = new StringBuffer("VBoxManage modifyvm");
-                               cmd.append(" \"").append(vm.getName()).append("\"");
-                               cmd.append(" --natpf").append(vBoxNat.getDevice()).append(" ");
-                               cmd.append("\"");
-                               cmd.append(id).append(",");
-                               cmd.append(mapping.getProtocol()).append(",");
-                               cmd.append(",");
-                               cmd.append(mapping.getHostPort()).append(",");
-                               cmd.append(vBoxNat.getGuestIp()).append(",");
-                               cmd.append(mapping.getGuestPort());
-                               cmd.append("\"");
-
-                               new SystemCall(cmd.toString()).run();
-                               script.append(cmd).append("\n");
-
-                               // Older VirtualBox
-                               // new SystemCall(createNatCommand(id, vBoxNat.getDevice(),
-                               // "Protocol", mapping.getProtocol(), script)).run();
-                               // script.append('\n');
-                               // new SystemCall(createNatCommand(id, vBoxNat.getDevice(),
-                               // "GuestPort", mapping.getGuest(), script)).run();
-                               // script.append('\n');
-                               // new SystemCall(createNatCommand(id, vBoxNat.getDevice(),
-                               // "HostPort", mapping.getHost(), script)).run();
-                               // script.append('\n');
-                               // script.append('\n');
-                       }
-                       script.append('\n');
-               }
-
-               if (log.isDebugEnabled())
-                       log.debug("Port setting script:\n" + script);
-       }
-
-       protected List<Object> createNatCommand(String id, String device,
-                       String cfgKey, String value, StringBuffer script) {
-               List<Object> cmd = new ArrayList<Object>();
-               cmd.add(executable);
-               cmd.add("setextradata");
-               cmd.add(vm.getName());
-               cmd.add("VBoxInternal/Devices/" + device + "/0/LUN#0/Config/" + id
-                               + "/" + cfgKey);
-               cmd.add(value);
-
-               for (Object arg : cmd) {
-                       script.append(arg).append(' ');
-               }
-
-               return cmd;
-       }
-
-       public String getExecutable() {
-               return executable;
-       }
-
-       public void setExecutable(String executable) {
-               this.executable = executable;
-       }
-
-       public List<VBoxNat> getNats() {
-               return nats;
-       }
-
-       public void setNats(List<VBoxNat> boxNats) {
-               nats = boxNats;
-       }
-
-       public void setVm(VBoxMachine vm) {
-               this.vm = vm;
-       }
-
-}