@Test public void testParseVersionOrReturnEmptyStringUbuntu1104() { assertEquals(parseVersionOrReturnEmptyString(OsFamily.UBUNTU, "ubuntu 11.04 server (i386)", map), "11.04"); }
@Test public void testParseVersionOrReturnEmptyStringUbuntu1004() { assertEquals(parseVersionOrReturnEmptyString(OsFamily.UBUNTU, "Ubuntu 10.04", map), "10.04"); }
@Test public void testParseVersionOrReturnEmptyStringUbuntu1004() { assertEquals(parseVersionOrReturnEmptyString(OsFamily.UBUNTU, "Ubuntu 10.04", map), "10.04"); }
@Test public void testParseVersionOrReturnEmptyStringUbuntu1104() { assertEquals(parseVersionOrReturnEmptyString(OsFamily.UBUNTU, "ubuntu 11.04 server (i386)", map), "11.04"); }
return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, version, is64Bit); return new OsFamilyVersion64Bit(fam, ComputeServiceUtils.parseVersionOrReturnEmptyString(fam, osFamilyVersionMatcher.group(2), osVersionMap), is64Bit); } else {
@Override public OsFamilyVersion64Bit apply(String input) { boolean is64Bit = and(not(containsPattern("32bit")), or(containsPattern("64bit"), not(containsPattern("Windows")))).apply(input); if (input.contains("Windows")) { String version = null; Matcher matcher = Pattern.compile(".*(20[01][0-9] R[1-9]).*").matcher(input); if (matcher.find()) { version = matcher.group(1); } else { matcher = Pattern.compile(".*(20[01][0-9]).*").matcher(input); if (matcher.find()) version = matcher.group(1); } return new OsFamilyVersion64Bit(OsFamily.WINDOWS, osVersionMap.get(OsFamily.WINDOWS).get(version), is64Bit); } else { Matcher matcher = PATTERN.matcher(input); if (matcher.find()) { OsFamily fam = OsFamily.fromValue(matcher.group(1).toLowerCase()); if (fam == OsFamily.UNRECOGNIZED) return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit); return new OsFamilyVersion64Bit(fam, ComputeServiceUtils.parseVersionOrReturnEmptyString(fam, matcher .group(2), osVersionMap), is64Bit); } else { return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit); } } } }
@Override public OperatingSystem apply(String from) { OperatingSystem.Builder builder = OperatingSystem.builder(); OsFamily osFamily = parseOsFamilyOrUnrecognized(checkNotNull(from, "vapp template name")); builder.family(osFamily); builder.description(from); builder.is64Bit(from.indexOf("64") != -1); Matcher matcher = OS_PATTERN.matcher(from); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(3), osVersionMap)); } return builder.build(); } }
@Override public OsFamilyVersion64Bit apply(String input) { boolean is64Bit = and(not(containsPattern("32bit")), or(containsPattern("64bit"), not(containsPattern("Windows")))).apply(input); if (input.contains("Windows")) { String version = null; Matcher matcher = Pattern.compile(".*(20[01][0-9] R[1-9]).*").matcher(input); if (matcher.find()) { version = matcher.group(1); } else { matcher = Pattern.compile(".*(20[01][0-9]).*").matcher(input); if (matcher.find()) version = matcher.group(1); } return new OsFamilyVersion64Bit(OsFamily.WINDOWS, osVersionMap.get(OsFamily.WINDOWS).get(version), is64Bit); } else { Matcher matcher = PATTERN.matcher(input); if (matcher.find()) { OsFamily fam = OsFamily.fromValue(matcher.group(1).toLowerCase()); if (fam == OsFamily.UNRECOGNIZED) return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit); return new OsFamilyVersion64Bit(fam, ComputeServiceUtils.parseVersionOrReturnEmptyString(fam, matcher .group(2), osVersionMap), is64Bit); } else { return new OsFamilyVersion64Bit(OsFamily.UNRECOGNIZED, null, is64Bit); } } } }
@Override public OperatingSystem apply(String from) { checkNotNull(from, "vapp template name"); Builder builder = new OperatingSystem.Builder(); builder.description(from); if (from.equals("-Windows 2003 Std. R2 SQL 2005 Std. (x64)")) System.out.print(';'); builder.is64Bit(from.indexOf("64") != -1); from = from.replace("Red Hat Enterprise Linux", "RHEL").replace("Sun Solaris", "SOLARIS").replace( " Server", "").replace("Std. ", ""); Matcher matcher = OS_PATTERN.matcher(from); if (matcher.find()) { OsFamily osFamily = parseOsFamilyOrUnrecognized(matcher.group(1)); builder.family(osFamily); String version = (matcher.group(3) != null) ? matcher.group(2) + matcher.group(3) : matcher.group(2); builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, version, osVersionMap)); } else { OsFamily osFamily = parseOsFamilyOrUnrecognized(from); builder.family(osFamily); } return builder.build(); } }
public OperatingSystem apply(Dataset from) { Builder builder = OperatingSystem.builder(); builder.name(from.getName()); builder.description(from.getUrn()); builder.is64Bit(true);//TODO: verify List<String> pieces = ImmutableList.copyOf(Splitter.on(':').split(from.getUrn())); if (pieces.get(2).indexOf('-') != -1) { List<String> osFamVersion = ImmutableList.copyOf(Splitter.on('-').split(pieces.get(2))); OsFamily family = OsFamily.fromValue(osFamVersion.get(0)); builder.family(family); if (family != OsFamily.UNRECOGNIZED) builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, osFamVersion.get(1), osVersionMap)); } else { builder.family(OsFamily.fromValue(pieces.get(2))); } return builder.build(); }
protected OperatingSystem parseOs(VCloudExpressVAppTemplate from) { OperatingSystemBuilder builder = new OperatingSystemBuilder(); OsFamily osFamily = parseOsFamilyOrNull("vcloudexpress", checkNotNull(from, "vapp template").getName()); builder.family(osFamily); builder.description(from.getName()); builder.is64Bit(from.getName().indexOf("64") != -1); Matcher matcher = OS_PATTERN.matcher(from.getName()); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(3), osVersionMap)); } return builder.build(); }
version = parseVersionOrReturnEmptyString(family, version, osVersionMap); if ("".equals(version)) version = from.getVersion();
protected OperatingSystem parseOs(ServerImage from) { OsFamily osFamily = null; String osName = from.getOs().getName(); String osArch = from.getArchitecture().getDescription(); String osVersion = null; String osDescription = from.getOs().getDescription(); boolean is64Bit = from.getOs().getName().indexOf("64") != -1 || from.getDescription().indexOf("64") != -1; if (osName.startsWith("Windows")) { osFamily = OsFamily.WINDOWS; } else { Matcher matcher = GOGRID_OS_PATTERN.matcher(from.getName()); if (matcher.find()) { try { osFamily = OsFamily.fromValue(matcher.group(1).toLowerCase()); } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", from.getName()); } } } Matcher matcher = GOGRID_VERSION_PATTERN.matcher(osName); if (matcher.find()) { osVersion = ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(1), osVersionMap); } // TODO determine DC images are in return new OperatingSystem(osFamily, osName, osVersion, osArch, osDescription, is64Bit); }
protected OperatingSystem parseOs(ServerImage from) { OsFamily osFamily = null; String osName = from.getOs().getName(); String osArch = from.getArchitecture().getDescription(); String osVersion = null; String osDescription = from.getOs().getDescription(); boolean is64Bit = from.getOs().getName().indexOf("64") != -1 || from.getDescription().indexOf("64") != -1; if (osName.startsWith("Windows")) { osFamily = OsFamily.WINDOWS; } else { Matcher matcher = GOGRID_OS_PATTERN.matcher(from.getName()); if (matcher.find()) { try { osFamily = OsFamily.fromValue(matcher.group(1).toLowerCase()); } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", from.getName()); } } } Matcher matcher = GOGRID_VERSION_PATTERN.matcher(osName); if (matcher.find()) { osVersion = ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(1), osVersionMap); } // TODO determine DC images are in return new OperatingSystem(osFamily, osName, osVersion, osArch, osDescription, is64Bit); }
protected OperatingSystem parseOs(ServerImage from) { OsFamily osFamily = null; String osName = from.getOs().getName(); String osArch = from.getArchitecture().getDescription(); String osVersion = null; String osDescription = from.getOs().getDescription(); boolean is64Bit = from.getOs().getName().indexOf("64") != -1 || from.getDescription().indexOf("64") != -1; if (osName.startsWith("Windows")) { osFamily = OsFamily.WINDOWS; } else { Matcher matcher = GOGRID_OS_PATTERN.matcher(from.getName()); if (matcher.find()) { try { osFamily = OsFamily.fromValue(matcher.group(1).toLowerCase()); } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", from.getName()); } } } Matcher matcher = GOGRID_VERSION_PATTERN.matcher(osName); if (matcher.find()) { osVersion = ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(1), osVersionMap); } // TODO determine DC images are in return new OperatingSystem(osFamily, osName, osVersion, osArch, osDescription, is64Bit); }
@Override public void reviseParsedImage(org.jclouds.ec2.domain.Image from, ImageBuilder builder, OsFamily family, OperatingSystem.Builder osBuilder) { try { Matcher matcher = getMatcherAndFind(from.getImageLocation()); if (matcher.pattern() == AMZN_PATTERN) { osBuilder.family(OsFamily.AMZN_LINUX); osBuilder.version(matcher.group(2)); builder.version(matcher.group(2)); } else if (matcher.pattern() == AMAZON_PATTERN) { family = OsFamily.fromValue(matcher.group(1)); osBuilder.family(family); osBuilder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(2), osVersionMap)); } else { family = OsFamily.fromValue(matcher.group(1)); osBuilder.family(family); osBuilder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(2), osVersionMap)); builder.version(matcher.group(3).replace(".manifest.xml", "")); } } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", from.getImageLocation()); } catch (NoSuchElementException e) { logger.trace("<< didn't match at all(%s)", from.getImageLocation()); } }
@Override public void reviseParsedImage(org.jclouds.ec2.domain.Image from, ImageBuilder builder, OsFamily family, OperatingSystem.Builder osBuilder) { try { Matcher matcher = getMatcherAndFind(from.getImageLocation()); if (matcher.pattern() == AMZN_PATTERN) { osBuilder.family(OsFamily.AMZN_LINUX); osBuilder.version(matcher.group(2)); builder.version(matcher.group(2)); } else if (matcher.pattern() == AMAZON_PATTERN) { family = OsFamily.fromValue(matcher.group(1)); osBuilder.family(family); osBuilder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(2), osVersionMap)); } else { family = OsFamily.fromValue(matcher.group(1)); osBuilder.family(family); osBuilder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(2), osVersionMap)); builder.version(matcher.group(3).replace(".manifest.xml", "")); } } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", from.getImageLocation()); } catch (NoSuchElementException e) { logger.trace("<< didn't match at all(%s)", from.getImageLocation()); } }
public OperatingSystem apply(Template from) { Builder builder = OperatingSystem.builder().description(from.getOSType()); OSType type = osTypes.get().get(from.getOSTypeId()); if (type == null) { logger.warn("Template refers to OS type ID %s but this does not exist. Template=%s Known OS types=%s", from.getOSTypeId(), from, osTypes.get()); return builder.build(); } builder.description(type.getDescription()); builder.is64Bit(type.getDescription().indexOf("64-bit") != -1); String osCategory = osCategories.get().get(type.getOSCategoryId()); if (osCategory == null) { logger.warn("OS type refers to OS category ID %s but this does not exist. OS type=%s Known OS categories=%s", type.getOSCategoryId(), type, osCategories.get()); return builder.build(); } builder.name(osCategory); OsFamily family = OsFamily.fromValue(osCategory.toLowerCase()); builder.family(family); Matcher matcher = DEFAULT_PATTERN.matcher(type.getDescription()); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(1), osVersionMap)); } return builder.build(); } }
public OperatingSystem apply(Template from) { Builder builder = OperatingSystem.builder().description(from.getOSType()); OSType type = osTypes.get().get(from.getOSTypeId()); if (type == null) { logger.warn("Template refers to OS type ID %s but this does not exist. Template=%s Known OS types=%s", from.getOSTypeId(), from, osTypes.get()); return builder.build(); } builder.description(type.getDescription()); builder.is64Bit(type.getDescription().indexOf("64-bit") != -1); String osCategory = osCategories.get().get(type.getOSCategoryId()); if (osCategory == null) { logger.warn("OS type refers to OS category ID %s but this does not exist. OS type=%s Known OS categories=%s", type.getOSCategoryId(), type, osCategories.get()); return builder.build(); } builder.name(osCategory); OsFamily family = OsFamily.fromValue(osCategory.toLowerCase()); builder.family(family); Matcher matcher = DEFAULT_PATTERN.matcher(type.getDescription()); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(1), osVersionMap)); } return builder.build(); } }
public OperatingSystem apply(Template from) { Builder builder = OperatingSystem.builder().description(from.getOSType()); OSType type = osTypes.get().get(from.getOSTypeId()); if (type == null) { logger.warn("Template refers to OS type ID %s but this does not exist. Template=%s Known OS types=%s", from.getOSTypeId(), from, osTypes.get()); return builder.build(); } builder.description(type.getDescription()); builder.is64Bit(type.getDescription().indexOf("64-bit") != -1); String osCategory = osCategories.get().get(type.getOSCategoryId()); if (osCategory == null) { logger.warn("OS type refers to OS category ID %s but this does not exist. OS type=%s Known OS categories=%s", type.getOSCategoryId(), type, osCategories.get()); return builder.build(); } builder.name(osCategory); OsFamily family = OsFamily.fromValue(osCategory.toLowerCase()); builder.family(family); Matcher matcher = DEFAULT_PATTERN.matcher(type.getDescription()); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(1), osVersionMap)); } return builder.build(); } }