package org.arquillian.cube.docker.impl.model;

import org.arquillian.cube.docker.impl.util.OperatingSystemFamily;
import org.arquillian.cube.docker.impl.util.OperatingSystemResolver;

public enum DockerMachineDistro {

    LINUX(new OperatingSystemFamily[] {OperatingSystemFamily.LINUX}, "docker-machine_linux-amd64"),
    OSX(new OperatingSystemFamily[] {OperatingSystemFamily.MAC}, "docker-machine_darwin-amd64"),
    //WIN_32(new OperatingSystemFamily[] {OperatingSystemFamily.WINDOWS}, "docker-machine_windows-386.exe"),
    WIN_64(new OperatingSystemFamily[] {OperatingSystemFamily.WINDOWS}, "docker-machine_windows-amd64.exe");

    private OperatingSystemFamily[] osFamily;

    private String distro;

    DockerMachineDistro(OperatingSystemFamily[] osFamily, String distro) {
        this.osFamily = osFamily;
        this.distro = distro;
    }

    public static String resolveDistro() {
        OperatingSystemFamily currentOSFamily = new OperatingSystemResolver().currentOperatingSystem().getFamily();
        for (DockerMachineDistro distro : values()) {
            for (OperatingSystemFamily osFamily : distro.osFamily) {
                if (osFamily == currentOSFamily) {
                    return distro.distro;
                }
            }
        }
        return null;
    }

}

@@ -301,18 +301,19 @@
 hine
-_l
+-L
 inux-
-amd
+x86_
 64%22)
@@ -398,130 +398,22 @@
 hine
-_darwin-amd64%22),%0A    //WIN_32(new OperatingSystemFamily%5B%5D %7BOperatingSystemFamily.WINDOWS%7D, %22docker-machine_windows-386.exe
+-Darwin-x86_64
 %22),%0A
@@ -503,20 +503,21 @@
 hine
-_w
+-W
 indows-
-amd
+x86_
 64.e

Update distro names