package com.workshare.msnos.core.protocols.ip.resolvers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.workshare.msnos.core.protocols.ip.AddressResolver; import com.workshare.msnos.core.protocols.ip.Network; public class IPResolverBySystemProperty implements IPResolver { private static Logger log = LoggerFactory.getLogger(IPResolverBySystemProperty.class); private final String systemPropertyName; public IPResolverBySystemProperty(String name) { systemPropertyName = name; } @Override public byte[] resolve(AddressResolver context) { final String value = System.getProperty(systemPropertyName); log.debug("Get system property {} value: {}", systemPropertyName, value); try { final byte[] address = Network.createAddressFromString(value); log.debug("Get address {} from value {}", address, value); return address; } catch (Exception ex) { log.debug("Cannot resolve system property address from value '{}'", value); return null; } } }