@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { IpAddress ipAddress = (IpAddress) state.getResource(); Network network = objectManager.loadResource(Network.class, ipAddress.getNetworkId()); if (!networkService.shouldAssignIpAddress(network)) { return null; } String assignedIp = ipAddress.getAddress(); Long subnetId = ipAddress.getSubnetId(); IPAssignment assignment = allocateIp(ipAddress, network); if (assignment != null) { assignedIp = assignment.getIpAddress(); if (assignment.getSubnet() != null) { subnetId = assignment.getSubnet().getId(); } } return new HandlerResult( IP_ADDRESS.ADDRESS, assignedIp, IP_ADDRESS.SUBNET_ID, subnetId, IP_ADDRESS.NAME, StringUtils.isBlank(ipAddress.getName()) ? assignedIp : ipAddress.getName()); }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.IpAddress from) { setId(from.getId()); setName(from.getName()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setAddress(from.getAddress()); setSubnetId(from.getSubnetId()); setNetworkId(from.getNetworkId()); setIsPublic(from.getIsPublic()); setRole(from.getRole()); setHostname(from.getHostname()); }