diff --git a/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java index b8d51266cbe19f8d06ed24c5359ee5533e2bc9ba..4ad4a9e528797e5af3683f829c62c363a1b6ce65 100644 --- a/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/PeerDao.java @@ -71,5 +71,5 @@ public interface PeerDao extends EntityDao<String, Peer> { void updatePeersAsDown(String currencyId, long minUpTimeInMs, Collection<String> endpointApis); - boolean hasPeersUpWithApi(String currencyId, Set<EndpointApi> endpointApis); + boolean hasPeersUpWithApi(String currencyId, Set<String> endpointApis); } diff --git a/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java index 2692269d15f281d6d8330368311490d547eee69c..c73424c674b48a33e25db09478a93f4318d1ef1a 100644 --- a/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/dao/mem/MemoryPeerDaoImpl.java @@ -22,14 +22,12 @@ package org.duniter.core.client.dao.mem; * #L% */ +import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import org.duniter.core.client.dao.PeerDao; -import org.duniter.core.client.model.bma.EndpointApi; -import org.duniter.core.client.model.bma.NetworkPeers; import org.duniter.core.client.model.bma.NetworkWs2pHeads; import org.duniter.core.client.model.local.Peer; import org.duniter.core.client.model.local.Peers; -import org.duniter.core.util.Preconditions; import java.util.*; import java.util.stream.Collectors; @@ -180,11 +178,11 @@ public class MemoryPeerDaoImpl implements PeerDao { } @Override - public boolean hasPeersUpWithApi(String currencyId, Set<EndpointApi> api) { + public boolean hasPeersUpWithApi(String currencyId, Set<String> api) { return getPeersByCurrencyId(currencyId) .stream() .anyMatch(p -> - api.contains(EndpointApi.valueOf(p.getApi())) && + api.contains(p.getApi()) && p.getStats() != null && Peer.PeerStatus.UP.equals(p.getStats().getStatus()) ); diff --git a/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Endpoints.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Endpoints.java index 5f66154fad53532ad69321e88a93b2004146af0f..afbb9e63fdaeb836db99f055e89e5a36d5e3cc27 100644 --- a/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Endpoints.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/bma/Endpoints.java @@ -22,8 +22,8 @@ package org.duniter.core.client.model.bma; * #L% */ -import org.duniter.core.util.StringUtils; -import org.duniter.core.util.http.InetAddressUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.conn.util.InetAddressUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java index 100812e6046e12bc31499568f3d78e71d7d51469..7657ff8da8e53fd42f22cd519ac530e6e33b0f9b 100644 --- a/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java +++ b/duniter4j-core-client/src/main/java/org/duniter/core/client/model/local/Peer.java @@ -25,10 +25,10 @@ package org.duniter.core.client.model.local; import com.fasterxml.jackson.annotation.JsonIgnore; import com.google.common.base.Joiner; +import com.google.common.base.Preconditions; +import org.apache.commons.lang3.StringUtils; import org.duniter.core.client.model.bma.EndpointApi; import org.duniter.core.client.model.bma.NetworkPeering; -import org.duniter.core.util.Preconditions; -import org.duniter.core.util.StringUtils; import org.duniter.core.util.http.InetAddressUtils; import java.io.Serializable; diff --git a/duniter4j-core-shared/src/main/java/org/duniter/core/util/ArrayUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/ArrayUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..5134a648ef09f3310d741844fcff6b5dffbc3242 --- /dev/null +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/ArrayUtils.java @@ -0,0 +1,64 @@ +package org.duniter.core.util; + +/* + * #%L + * UCoin Java :: Core Shared + * %% + * Copyright (C) 2014 - 2016 EIS + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.collect.Lists; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +/** + * Created by eis on 23/12/14. + */ +public class ArrayUtils { + + public static boolean isNotEmpty(Object[] coll) { + return coll != null && coll.length > 0; + } + public static boolean isEmpty(Object[] coll) { + return coll == null || coll.length == 0; + } + + public static String join(final Object[] array) { + return join(array, ", "); + } + + public static String join(final Object[] array, final String separator) { + if (array == null || array.length == 0) { + return null; + } + StringBuilder sb = new StringBuilder(array.length * 7); + sb.append(array[0]); + for (int i = 1; i < array.length; i++) { + sb.append(separator); + sb.append(array[i]); + } + return sb.toString(); + } + + public static int size(final Object[] array) { + return array == null ? 0 : array.length; + } + +} diff --git a/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java index b227d3100790af2e6b2fb16ce4ff3682ee189c31..d2b14ec230a6f75e00354255689957dbb22a9bae 100644 --- a/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java +++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/CollectionUtils.java @@ -42,27 +42,18 @@ public class CollectionUtils { } public static boolean isNotEmpty(Object[] coll) { - return coll != null && coll.length > 0; + return ArrayUtils.isNotEmpty(coll); } public static boolean isEmpty(Object[] coll) { - return coll == null || coll.length == 0; + return ArrayUtils.isEmpty(coll); } public static String join(final Object[] array) { - return join(array, ", "); + return ArrayUtils.join(array); } public static String join(final Object[] array, final String separator) { - if (array == null || array.length == 0) { - return null; - } - StringBuilder sb = new StringBuilder(array.length * 7); - sb.append(array[0]); - for (int i = 1; i < array.length; i++) { - sb.append(separator); - sb.append(array[i]); - } - return sb.toString(); + return ArrayUtils.join(array, separator); } public static String join(final Collection<?> collection) { @@ -88,7 +79,7 @@ public class CollectionUtils { } public static int size(final Object[] array) { - return array == null ? 0 : array.length; + return ArrayUtils.size(array); } public static <E> E extractSingleton(Collection<E> collection) {