Example usage for com.google.common.net InetAddresses forString

List of usage examples for com.google.common.net InetAddresses forString

Introduction

In this page you can find the example usage for com.google.common.net InetAddresses forString.

Prototype

public static InetAddress forString(String ipString) 

Source Link

Document

Returns the InetAddress having the given string representation.

Usage

From source file:org.calrissian.mango.net.MoreInetAddresses.java

/**
 * Returns the {@link InetAddress} having the given string representation.  It additionally respects
 * IPV6 "IPv4 mapped" addresses, {@code "::ffff:192.168.0.1"} as an {@link java.net.Inet6Address}.
 *
 * <p>This deliberately avoids all nameservice lookups (e.g. no DNS).
 *
 * <p>NOTE: This simply extends the {@code InetAddresses.forString} functionality
 * to support "IPv4 mapped" addresses.//from  w ww.j  a v a2s  .com
 *
 * @param ipString {@code String} containing an IPv4 or IPv6 string literal, e.g.
 *     {@code "192.168.0.1"} or {@code "2001:db8::1"}
 * @return {@link InetAddress} representing the argument
 * @throws IllegalArgumentException if the argument is not a valid IP string literal
 */
public static InetAddress forString(String ipString) {
    checkNotNull(ipString);

    InetAddress address = InetAddresses.forString(ipString);

    //If the string was an ipv6 representation and the result was a valid Inet4Address then return it as the
    //mapped representation that it was originally.
    if (address instanceof Inet4Address && ipString.contains(":"))
        return getIPv4MappedIPv6Address((Inet4Address) address);

    return address;
}

From source file:org.graylog.plugin.filter.dns.DnsResolverFilter.java

@VisibleForTesting
protected Callable<String> getLookupCallable(final String source) {
    return new Callable<String>() {
        @Override/*ww w.j  a  v  a 2  s .  c o  m*/
        public String call() throws Exception {
            final InetAddress inetAddress = InetAddresses.forString(source);
            return inetAddress.getCanonicalHostName();
        }
    };
}

From source file:it.infn.ct.MyJobs.MyJobs.java

public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException {
    PortletPreferences portletPreferences = (PortletPreferences) request.getPreferences();
    String Epr1 = (String) request.getParameter("EparaM1");
    String Epr3 = (String) request.getParameter("EparaM3");
    String Epr4 = (String) request.getParameter("EparaM4");

    boolean fgEnabled = ParamUtil.getBoolean(request, "fgEnabled", false);
    String fgHost = ParamUtil.getString(request, "fgHost", null);
    String fgPort = ParamUtil.getString(request, "fgPort", null);
    String fgAPIVer = ParamUtil.getString(request, "fgAPIVer", null);
    if (_log.isDebugEnabled()) {
        _log.debug("==========Portlet Preferences==========");
        _log.debug("fgEnabled: " + fgEnabled);
        _log.debug("fgHost: " + fgHost);
        _log.debug("fgPort: " + fgPort);
        _log.debug("fgAPIVer: " + fgAPIVer);
        _log.debug("=======================================");
    }/*from   w w w  .  jav  a 2  s.  co m*/

    boolean storeFGPreferences = true;
    if (fgEnabled) {
        if (fgHost != null && !fgHost.isEmpty()) {
            try {
                InetAddress.getByName(fgHost);
            } catch (UnknownHostException ex) {
                _log.warn(fgHost + " is not a valid hostname, trying if is a valid IP address...");
                try {
                    InetAddresses.forString(fgHost);
                    _log.info(fgHost + " is valid IP address!");
                } catch (IllegalArgumentException e) {
                    _log.warn(e.getMessage());
                    SessionErrors.add(request, "no-valid-host");
                    storeFGPreferences = false;
                }
            }
        } else {
            _log.warn("Didn't specify a FG host!");
            storeFGPreferences = false;
            SessionErrors.add(request, "no-host");
        }

        int port;
        if (fgPort != null && !fgPort.isEmpty()) {
            try {
                port = Integer.parseInt(fgPort);
                if (!(port > 0) || !(port <= 65535)) {
                    _log.warn("Invalid port number port!");
                    storeFGPreferences = false;
                    SessionErrors.add(request, "no-valid-port");
                }
            } catch (NumberFormatException ex) {
                _log.warn("Only digits are allowed for FG port!");
                storeFGPreferences = false;
                SessionErrors.add(request, "digits-port");
            }
        } else {
            _log.warn("Didn't specify a FG port!");
            storeFGPreferences = false;
            SessionErrors.add(request, "no-port");
        }

        if (fgAPIVer == null || fgAPIVer.isEmpty()) {
            _log.warn("FG API Versions is mandatory.");
            storeFGPreferences = false;
            SessionErrors.add(request, "no-api-vers");
        }
    }

    _log.debug(storeFGPreferences);
    portletPreferences.setValue("singolo1", Epr1);
    portletPreferences.setValue("singolo3", Epr3);
    portletPreferences.setValue("singolo4", Epr4);

    if (storeFGPreferences) {
        portletPreferences.setValue("fgEnabled", String.valueOf(fgEnabled));
        portletPreferences.setValue("fgHost", String.valueOf(fgHost));
        portletPreferences.setValue("fgPort", String.valueOf(fgPort));
        portletPreferences.setValue("fgAPIVer", String.valueOf(fgAPIVer));
    }

    portletPreferences.store();

}

From source file:org.n52.janmayen.net.IPAddress.java

/**
 * Creates a new {@code IPAddress} from its string representation.
 *
 * @param address the address// w w w.ja  va  2  s  .  c om
 */
public IPAddress(String address) {
    this(InetAddresses.forString(address));
}

From source file:org.ow2.authzforce.core.pdp.api.value.IpAddressValue.java

private static void parseIPv6Address(final String val, final Holder<InetAddress> returnedAddress,
        final Holder<InetAddress> returnedMask, final Holder<NetworkPortRange> returnedRange)
        throws IllegalArgumentException {
    // Let's validate
    final InetAddress address;
    final InetAddress mask;
    final NetworkPortRange range;
    final int len = val.length();

    // get the required address component
    int endIndex = val.indexOf(']');
    /*/*from w  ww  .  j  a va 2 s .c o  m*/
     * InetAddresses deliberately avoids all nameservice lookups (e.g. no DNS) on the contrary to the JDK InetAddress.getByName().
     */
    address = InetAddresses.forString(val.substring(1, endIndex));

    // see if there's anything left in the string
    if (endIndex != len - 1) {
        // if there's a mask, it's also an IPv6 address
        if (val.charAt(endIndex + 1) == '/') {
            final int startIndex = endIndex + 3;
            endIndex = val.indexOf(']', startIndex);
            mask = InetAddresses.forString(val.substring(startIndex, endIndex));
        } else {
            mask = null;
        }

        // finally, see if there's a port range, if we're not finished
        if (endIndex != len - 1 && val.charAt(endIndex + 1) == ':') {
            range = NetworkPortRange.getInstance(val.substring(endIndex + 2, len));
        } else {
            range = NetworkPortRange.MAX;
        }
    } else {
        mask = null;
        range = NetworkPortRange.MAX;
    }

    returnedAddress.value = address;
    returnedMask.value = mask;
    returnedRange.value = range;
}

From source file:org.opendaylight.protocol.bgp.rib.impl.ApplicationPeer.java

public ApplicationPeer(final ApplicationRibId applicationRibId, final Ipv4Address ipAddress, final RIB rib) {
    this.name = applicationRibId.getValue();
    final RIB targetRib = Preconditions.checkNotNull(rib);
    this.rawIdentifier = InetAddresses.forString(ipAddress.getValue()).getAddress();
    final NodeIdentifierWithPredicates peerId = IdentifierUtils.domPeerId(RouterIds.createPeerId(ipAddress));
    this.peerIId = targetRib.getYangRibId().node(Peer.QNAME).node(peerId);
    this.adjRibsInId = this.peerIId.node(AdjRibIn.QNAME).node(Tables.QNAME);
    this.rib = targetRib;
    this.ipAddress = ipAddress;
}

From source file:org.opendaylight.sxp.core.messaging.legacy.MappingRecord.java

/**
 * Create MappingRecord with provided values
 *
 * @param operationCode Type of MappingRecord
 * @param prefix        IpPrefix used//w  w w. jav  a2  s .c  o m
 * @param sgt           Sgt used
 * @return MappingRecord created
 */
public static org.opendaylight.yang.gen.v1.urn.opendaylight.sxp.protocol.rev141002.mapping.records.fields.MappingRecord create(
        AttributeType operationCode, IpPrefix prefix, Sgt sgt) {
    String _prefix = new String(prefix.getValue());
    if (_prefix.startsWith("/")) {
        _prefix = _prefix.substring(1);
    }
    int i = _prefix.lastIndexOf("/");
    if (i != -1) {
        _prefix = _prefix.substring(0, i);
    }

    MappingRecord tlvs = new MappingRecord();
    InetAddress inetAddress = InetAddresses.forString(_prefix);
    int length = IpPrefixConv.getPrefixLength(prefix);
    if (inetAddress instanceof Inet4Address && length < 32
            || inetAddress instanceof Inet6Address && length < 128) {
        tlvs.add(getTlvPrefixLength(length));
    }
    if (sgt != null) {
        tlvs.add(getTlvSgt(sgt.getValue()));
    }

    int mappingRecordLength = 0;
    for (Tlv tlv : tlvs) {
        mappingRecordLength += 8 + tlv.getLength();
    }

    MappingRecordBuilder recordBuilder = new MappingRecordBuilder();
    recordBuilder.setOperationCode(operationCode);
    recordBuilder.setLength(inetAddress.getAddress().length + mappingRecordLength);
    recordBuilder.setAddress(prefix);
    recordBuilder.setTlv(tlvs);
    return recordBuilder.build();
}

From source file:org.opendaylight.sxp.util.inet.Search.java

/**
 * @param prefix IpPrefix to be expanded
 * @param limit  Limit of expansion/*www . j a  v  a 2  s .com*/
 * @return Stream of InetAddresses created by expansion
 */
public static Stream<InetAddress> expandPrefix(final IpPrefix prefix, final long limit) {
    int prefixLength = IpPrefixConv.getPrefixLength(prefix),
            addressFamily = prefix.getIpv4Prefix() != null ? 32 : 128;
    byte[] address = InetAddresses.forString(IpPrefixConv.toString(prefix).split("/")[0]).getAddress(),
            address_;
    BitSet bitSet = BitSet.valueOf(address);
    if (bitSet.length() >= prefixLength)
        bitSet.clear(prefixLength, bitSet.length());
    address_ = bitSet.toByteArray();
    for (int i = 0; i < address.length; i++) {
        address[i] = i < address_.length ? address_[i] : 0;
    }

    addressFamily -= Integer.parseInt(IpPrefixConv.toString(prefix).split("/")[1]);
    return Stream
            .iterate(IetfInetUtil.INSTANCE.inetAddressFor(IetfInetUtil.INSTANCE.ipAddressFor(address)),
                    InetAddresses::increment)
            .limit(Math.min(addressFamily > 0 ? (long) Math.pow(2, addressFamily) : 0, limit));
}

From source file:org.graylog.plugins.map.geoip.GeoIpResolverEngine.java

protected InetAddress getIpFromFieldValue(String fieldValue) {
    try {/*from w  w  w.  j a  v  a 2  s.  c o m*/
        return InetAddresses.forString(fieldValue.trim());
    } catch (IllegalArgumentException e) {
        // Do nothing, field is not an IP
    }

    return null;
}

From source file:org.opendaylight.lispflowmapping.lisp.util.MaskUtil.java

public static Eid normalize(Eid eid) {
    Address address = eid.getAddress();/* w  w  w  .j  a  v  a2 s . co m*/
    try {
        if (address instanceof Ipv4Prefix) {
            String[] v4prefix = splitPrefix(((Ipv4Prefix) address).getIpv4Prefix().getValue());
            short mask = Short.parseShort(v4prefix[1]);
            InetAddress normalized = normalizeIP(InetAddresses.forString(v4prefix[0]), mask);
            return LispAddressUtil.asIpv4PrefixEid(eid, (Inet4Address) normalized, mask);
        } else if (address instanceof Ipv6Prefix) {
            String[] v6prefix = splitPrefix(((Ipv6Prefix) address).getIpv6Prefix().getValue());
            short mask = Short.parseShort(v6prefix[1]);
            InetAddress normalized = normalizeIP(InetAddresses.forString(v6prefix[0]), mask);
            return LispAddressUtil.asIpv6PrefixEid(eid, (Inet6Address) normalized, mask);
        } else if (address instanceof Ipv4) {
            return LispAddressUtil.asIpv4PrefixEid(((Ipv4) address).getIpv4(), eid.getVirtualNetworkId());
        } else if (address instanceof Ipv6) {
            return LispAddressUtil.asIpv6PrefixEid(((Ipv6) address).getIpv6(), eid.getVirtualNetworkId());
        } else if (address instanceof InstanceId) {
            // TODO - not absolutely necessary, but should be implemented
            return eid;
        } else if (address instanceof SourceDestKey) {
            return normalizeSrcDst(eid);
        } else if (address instanceof ServicePath) {
            // Build new Service Path eid with service index set to 0
            long spi = ((ServicePath) address).getServicePath().getServicePathId().getValue();
            long vni = eid.getVirtualNetworkId() != null ? eid.getVirtualNetworkId().getValue() : -1;
            return LispAddressUtil.asServicePathEid(vni, spi, (short) 0);
        }
    } catch (UnknownHostException e) {
        LOG.warn("Failed to normalize EID {}, returning original", eid, e);
    }
    return eid;
}