public static DockerDevice fromString(String str) { String[] parts = str.split(DEVICE_STRING_SEPARATOR); DockerDevice device = new DockerDevice(); device.pathOnHost = parts[0]; if (parts.length > 1) { device.pathInContainer = parts[1]; } if (parts.length > 2) { device.cgroupPermissions = parts[2]; } return device; }
@Test public void testConversions() { DockerDevice device = DockerDevice.fromString(fullDeviceString); // fromString verifyDevice("fromString: " + description, device); // toMap Map<String, String> map = device.toMap(); verifyMap("toMap: " + description, map); // fromMap device = DockerDevice.fromMap(map); verifyDevice("fromMap: " + description, device); // toString assertEquals("toString: " + description, fullDeviceString, device.toString()); }
.map(deviceStr -> DockerDevice.fromString(deviceStr).toMap()) .collect(Collectors.toList());
private void verifyDevice(String messagePrefix, DockerDevice device) { assertEquals(messagePrefix + ": host path", expectedHostPath, device.getPathOnHost()); assertEquals(messagePrefix + ": container path", expectedContainerPath, device.getPathInContainer()); assertEquals(messagePrefix + ": permissions", expectedPermissions, device.getCgroupPermissions()); }
public static DockerDevice fromMap(Map<String, String> map) { DockerDevice device = new DockerDevice(); device.pathOnHost = map.get(PATH_ON_HOST_PROP_NAME); if (device.pathOnHost != null) { device.pathInContainer = map.get(PATH_IN_CONTAINER_PROP_NAME); } if (device.pathInContainer != null) { device.cgroupPermissions = map.get(CGROUP_PERMISSIONS_PROP_NAME); } return device; }