private static String calculateBondingOptionsString(HostNic model) { List<Option> bondingOptions = model.getBonding().getOptions().getOptions(); if (bondingOptions.isEmpty()) { return ""; } StringBuilder builder = new StringBuilder(); appendBondingOption(builder, bondingOptions.get(0)); for(int i = 1; i < bondingOptions.size(); i++) { builder.append(" "); appendBondingOption(builder, bondingOptions.get(i)); } return builder.toString(); }
private static String getType(final String[] optionPair) { if (!StringUtils.isEmpty(optionPair[0]) && optionPair[0].equals("mode") && !StringUtils.isEmpty(optionPair[1])) { Integer mode = tryParse(optionPair[1]); if(mode != null && mode > 0 && mode < 6){ return BONDING_MODS[mode - 1]; } } return null; }
mapIpv4ToModel(entity, model); mapIpv6ToModel(entity, model); NicStatus nicStatus = mapNicStatus(entity.getStatistics().getStatus()); if (nicStatus != null) { model.setStatus(nicStatus); option.setName(option_pair[0]); option.setValue(option_pair[1]); option.setType(getType(option_pair)); model.getBonding().getOptions().getOptions().add(option);
entity.setBaseInterface(model.getBaseInterface()); mapIpv4FromModel(model, entity); mapIpv6FromModel(model, entity); if (model.isSetMac() && model.getMac().isSetAddress()) { entity.setMacAddress(model.getMac().getAddress());
public void verifyModelSpecific(HostNic model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(NAMES[index], model.getName()); assertNotNull(model.getNetwork()); assertEquals(NETWORK_NAME, model.getNetwork().getName()); assertEquals(calcSpeed(NIC_SPEED), model.getSpeed()); assertNotNull(model.getStatus()); assertEquals(HostNicMapper.mapNicStatus(NIC_STATUS), model.getStatus()); assertEquals(Ipv4BootProtocolMapper.map(IPV4_BOOT_PROTOCOL), model.getBootProtocol()); assertEquals(Ipv6BootProtocolMapper.map(IPV6_BOOT_PROTOCOL), model.getIpv6BootProtocol()); }
@Test public void testCustomNetworkConfigurationMapped() { VdsNetworkInterface entity = new VdsNetworkInterface(); HostNic model = HostNicMapper.map(entity, null); assertFalse(model.isSetCustomConfiguration()); entity.setNetworkImplementationDetails(new VdsNetworkInterface.NetworkImplementationDetails(false, true)); model = HostNicMapper.map(entity, null); assertEquals(entity.getNetworkImplementationDetails().isInSync(), !model.isCustomConfiguration()); entity.setNetworkImplementationDetails(new VdsNetworkInterface.NetworkImplementationDetails(true, true)); model = HostNicMapper.map(entity, null); assertEquals(entity.getNetworkImplementationDetails().isInSync(), !model.isCustomConfiguration()); }
@Mapping(from = HostNic.class, to = Bond.class) public static Bond map(HostNic model, Bond template) { Bond entity = template == null ? new Bond() : template; if (model.isSetId()) { entity.setId(GuidUtils.asGuid(model.getId())); } if (model.isSetName()) { entity.setName(model.getName()); } if (model.isSetBonding()) { entity.setBonded(true); if (model.getBonding().isSetSlaves()) { entity.getSlaves().clear(); for (HostNic slave : model.getBonding().getSlaves().getHostNics()) { if (slave.isSetName()) { entity.getSlaves().add(slave.getName()); } } } if (model.getBonding().isSetOptions()) { entity.setBondOptions(calculateBondingOptionsString(model)); } } if (model.isSetQos()) { entity.setQos((HostNetworkQos) QosMapper.map(model.getQos(), null)); } return entity; }
@Test public void testBondMapping() { HostNic model = new HostNic(); model.setId(Guid.newGuid().toString()); model.setName(RandomUtils.instance().nextString(10)); model.setBonding(new Bonding()); model.getBonding().setSlaves(new HostNics()); HostNic slaveA = new HostNic(); slaveA.setName(RandomUtils.instance().nextString(10)); model.getBonding().getSlaves().getHostNics().add(slaveA); Bond entity = HostNicMapper.map(model, null); assertNotNull(entity); assertEquals(model.getId(), entity.getId().toString()); assertEquals(model.getName(), entity.getName()); assertEquals(model.getBonding().getSlaves().getHostNics().size(), entity.getSlaves().size()); for (HostNic slave : model.getBonding().getSlaves().getHostNics()) { assertTrue(entity.getSlaves().contains(slave.getName())); } }