@@ -4,9 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; | |||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.apache.commons.collections.CollectionUtils; | |||||
import org.cobbzilla.util.collection.FieldTransformer; | |||||
import org.cobbzilla.util.string.StringUtil; | |||||
import org.cobbzilla.util.reflect.ReflectionUtil; | |||||
import org.cobbzilla.wizard.model.entityconfig.EntityFieldMode; | import org.cobbzilla.wizard.model.entityconfig.EntityFieldMode; | ||||
import org.cobbzilla.wizard.model.entityconfig.EntityFieldType; | import org.cobbzilla.wizard.model.entityconfig.EntityFieldType; | ||||
import org.cobbzilla.wizard.model.entityconfig.annotations.ECField; | import org.cobbzilla.wizard.model.entityconfig.annotations.ECField; | ||||
@@ -17,8 +15,9 @@ import javax.persistence.Column; | |||||
import javax.persistence.Id; | import javax.persistence.Id; | ||||
import javax.persistence.MappedSuperclass; | import javax.persistence.MappedSuperclass; | ||||
import javax.persistence.Transient; | import javax.persistence.Transient; | ||||
import java.util.*; | |||||
import java.util.concurrent.ConcurrentHashMap; | |||||
import java.util.Comparator; | |||||
import java.util.List; | |||||
import java.util.stream.Collectors; | |||||
import static java.util.UUID.randomUUID; | import static java.util.UUID.randomUUID; | ||||
import static org.cobbzilla.util.daemon.ZillaRuntime.*; | import static org.cobbzilla.util.daemon.ZillaRuntime.*; | ||||
@@ -120,34 +119,19 @@ public class IdentifiableBase implements Identifiable { | |||||
@Override public int hashCode() { return getUuid() != null ? getUuid().hashCode() : 0; } | @Override public int hashCode() { return getUuid() != null ? getUuid().hashCode() : 0; } | ||||
public static String[] toUuidArray(List<? extends Identifiable> entities) { | public static String[] toUuidArray(List<? extends Identifiable> entities) { | ||||
return empty(entities) | |||||
? StringUtil.EMPTY_ARRAY | |||||
: (String[]) collectArray(entities, UUID); | |||||
return entities.stream().map(Identifiable::getUuid).toArray(String[]::new); | |||||
} | } | ||||
public static List<String> toUuidList(Collection<? extends Identifiable> entities) { | |||||
if (empty(entities)) return Collections.emptyList(); | |||||
return collectList(entities, UUID); | |||||
public static List<String> toUuidList(List<? extends Identifiable> entities) { | |||||
return entities.stream().map(Identifiable::getUuid).collect(Collectors.toList()); | |||||
} | } | ||||
private static final Map<String, FieldTransformer> fieldTransformerCache = new ConcurrentHashMap<>(); | |||||
protected static FieldTransformer getFieldTransformer(String field) { | |||||
FieldTransformer f = fieldTransformerCache.get(field); | |||||
if (f == null) { | |||||
f = new FieldTransformer(field); | |||||
fieldTransformerCache.put(field, f); | |||||
} | |||||
return f; | |||||
public static <T> T[] collectArray(List<? extends Identifiable> entities, String field) { | |||||
return (T[]) entities.stream().map(e -> ReflectionUtil.get(e, field)).toArray(); | |||||
} | } | ||||
public static <T> T[] collectArray(Collection<? extends Identifiable> entities, String field) { | |||||
return (T[]) CollectionUtils.collect(entities, getFieldTransformer(field)).toArray(new String[entities.size()]); | |||||
} | |||||
public static <T> List<T> collectList(Collection<? extends Identifiable> entities, String field) { | |||||
return (List<T>) CollectionUtils.collect(entities, getFieldTransformer(field)); | |||||
} | |||||
public static List<String> collectStringList(Collection<? extends Identifiable> entities, String field) { | |||||
return (List<String>) CollectionUtils.collect(entities, getFieldTransformer(field)); | |||||
public static <T> List<T> collectList(List<? extends Identifiable> entities, String field) { | |||||
return (List<T>) entities.stream().map(e -> ReflectionUtil.get(e, field)).collect(Collectors.toList()); | |||||
} | } | ||||
} | } |
@@ -10,7 +10,7 @@ import lombok.Getter; | |||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import net.sf.cglib.proxy.Enhancer; | import net.sf.cglib.proxy.Enhancer; | ||||
import net.sf.cglib.proxy.InvocationHandler; | import net.sf.cglib.proxy.InvocationHandler; | ||||
import org.apache.commons.collections.IteratorUtils; | |||||
import org.apache.commons.collections4.IteratorUtils; | |||||
import org.apache.commons.lang3.ArrayUtils; | import org.apache.commons.lang3.ArrayUtils; | ||||
import org.cobbzilla.util.daemon.AwaitResult; | import org.cobbzilla.util.daemon.AwaitResult; | ||||
import org.cobbzilla.util.reflect.ReflectionUtil; | import org.cobbzilla.util.reflect.ReflectionUtil; | ||||
@@ -2,8 +2,8 @@ package org.cobbzilla.wizard.validation; | |||||
import com.fasterxml.jackson.annotation.JsonIgnore; | import com.fasterxml.jackson.annotation.JsonIgnore; | ||||
import lombok.NoArgsConstructor; | import lombok.NoArgsConstructor; | ||||
import org.apache.commons.collections.CollectionUtils; | |||||
import org.apache.commons.collections.Transformer; | |||||
import org.apache.commons.collections4.CollectionUtils; | |||||
import org.apache.commons.collections4.Transformer; | |||||
import org.cobbzilla.util.collection.NameAndValue; | import org.cobbzilla.util.collection.NameAndValue; | ||||
import org.cobbzilla.util.string.StringUtil; | import org.cobbzilla.util.string.StringUtil; | ||||
@@ -2,8 +2,8 @@ package org.cobbzilla.wizard.dao; | |||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.apache.commons.collections.CollectionUtils; | |||||
import org.apache.commons.collections.Transformer; | |||||
import org.apache.commons.collections4.CollectionUtils; | |||||
import org.apache.commons.collections4.Transformer; | |||||
import org.cobbzilla.util.collection.NameAndValue; | import org.cobbzilla.util.collection.NameAndValue; | ||||
import org.cobbzilla.wizard.ldap.LdapService; | import org.cobbzilla.wizard.ldap.LdapService; | ||||
import org.cobbzilla.wizard.model.search.SearchResults; | import org.cobbzilla.wizard.model.search.SearchResults; | ||||
@@ -1,7 +1,5 @@ | |||||
package org.cobbzilla.wizard.dao; | package org.cobbzilla.wizard.dao; | ||||
import org.apache.commons.collections.Transformer; | |||||
import org.cobbzilla.util.collection.FieldTransformer; | |||||
import org.cobbzilla.util.collection.MapBuilder; | import org.cobbzilla.util.collection.MapBuilder; | ||||
import org.cobbzilla.wizard.model.UniqueEmailEntity; | import org.cobbzilla.wizard.model.UniqueEmailEntity; | ||||
import org.cobbzilla.wizard.validation.UniqueValidatorDaoHelper; | import org.cobbzilla.wizard.validation.UniqueValidatorDaoHelper; | ||||
@@ -10,8 +8,6 @@ import java.util.Map; | |||||
public abstract class UniqueEmailEntityDAO<E extends UniqueEmailEntity> extends AbstractUniqueCRUDDAO<E> { | public abstract class UniqueEmailEntityDAO<E extends UniqueEmailEntity> extends AbstractUniqueCRUDDAO<E> { | ||||
public static final Transformer TO_EMAIL = new FieldTransformer("email"); | |||||
public E findByEmail (String email) { return findByUniqueField("email", email.toLowerCase()); } | public E findByEmail (String email) { return findByUniqueField("email", email.toLowerCase()); } | ||||
@Override public E findByName (String email) { return findByEmail(email); } | @Override public E findByName (String email) { return findByEmail(email); } | ||||
@@ -1,7 +1,5 @@ | |||||
package org.cobbzilla.wizard.dao; | package org.cobbzilla.wizard.dao; | ||||
import org.apache.commons.collections.Transformer; | |||||
import org.cobbzilla.util.collection.FieldTransformer; | |||||
import org.cobbzilla.util.collection.MapBuilder; | import org.cobbzilla.util.collection.MapBuilder; | ||||
import org.cobbzilla.wizard.model.UniquelyNamedEntity; | import org.cobbzilla.wizard.model.UniquelyNamedEntity; | ||||
import org.cobbzilla.wizard.validation.UniqueValidatorDaoHelper; | import org.cobbzilla.wizard.validation.UniqueValidatorDaoHelper; | ||||
@@ -13,8 +11,6 @@ import static org.cobbzilla.util.string.StringUtil.urlDecode; | |||||
public abstract class UniquelyNamedEntityDAO<E extends UniquelyNamedEntity> extends AbstractUniqueCRUDDAO<E> { | public abstract class UniquelyNamedEntityDAO<E extends UniquelyNamedEntity> extends AbstractUniqueCRUDDAO<E> { | ||||
public static final Transformer TO_NAME = new FieldTransformer("name"); | |||||
@Override public E get(Serializable id) { | @Override public E get(Serializable id) { | ||||
E found = findByUuid(id.toString()); | E found = findByUuid(id.toString()); | ||||
return found != null ? found : findByName(id.toString()); | return found != null ? found : findByName(id.toString()); | ||||
@@ -1,7 +1,7 @@ | |||||
package org.cobbzilla.wizard.dao.shard; | package org.cobbzilla.wizard.dao.shard; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.apache.commons.collections.CollectionUtils; | |||||
import org.apache.commons.collections4.CollectionUtils; | |||||
import org.cobbzilla.util.collection.FieldTransformer; | import org.cobbzilla.util.collection.FieldTransformer; | ||||
import org.cobbzilla.util.collection.mappy.MappyList; | import org.cobbzilla.util.collection.mappy.MappyList; | ||||
import org.cobbzilla.wizard.dao.AbstractCRUDDAO; | import org.cobbzilla.wizard.dao.AbstractCRUDDAO; | ||||
@@ -1,7 +1,7 @@ | |||||
package org.cobbzilla.wizard.server.handler; | package org.cobbzilla.wizard.server.handler; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.apache.commons.collections.IteratorUtils; | |||||
import org.apache.commons.collections4.IteratorUtils; | |||||
import org.apache.commons.lang3.RandomStringUtils; | import org.apache.commons.lang3.RandomStringUtils; | ||||
import org.cobbzilla.util.io.DeleteOnExit; | import org.cobbzilla.util.io.DeleteOnExit; | ||||
import org.cobbzilla.util.io.FileUtil; | import org.cobbzilla.util.io.FileUtil; | ||||
@@ -3,7 +3,7 @@ package org.cobbzilla.wizard.server.listener; | |||||
import airbrake.AirbrakeNoticeBuilder; | import airbrake.AirbrakeNoticeBuilder; | ||||
import airbrake.AirbrakeNotifier; | import airbrake.AirbrakeNotifier; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.apache.commons.collections.buffer.CircularFifoBuffer; | |||||
import org.apache.commons.collections4.queue.CircularFifoQueue; | |||||
import org.cobbzilla.util.daemon.ErrorApi; | import org.cobbzilla.util.daemon.ErrorApi; | ||||
import org.cobbzilla.util.daemon.ZillaRuntime; | import org.cobbzilla.util.daemon.ZillaRuntime; | ||||
import org.cobbzilla.wizard.server.RestServer; | import org.cobbzilla.wizard.server.RestServer; | ||||
@@ -43,8 +43,8 @@ public class ErrbitConfigListener extends RestServerLifecycleListenerBase { | |||||
private String env; | private String env; | ||||
private long sendInterval; | private long sendInterval; | ||||
private final CircularFifoBuffer dupCache; | |||||
private final CircularFifoBuffer fifo; | |||||
private final CircularFifoQueue dupCache; | |||||
private final CircularFifoQueue fifo; | |||||
private AirbrakeNotifier notifier; | private AirbrakeNotifier notifier; | ||||
ErrbitApi(ErrorApiConfiguration errorApi) { | ErrbitApi(ErrorApiConfiguration errorApi) { | ||||
@@ -52,8 +52,8 @@ public class ErrbitConfigListener extends RestServerLifecycleListenerBase { | |||||
this.key = errorApi.getKey(); | this.key = errorApi.getKey(); | ||||
this.env = errorApi.getEnv(); | this.env = errorApi.getEnv(); | ||||
this.sendInterval = errorApi.getSendInterval(); | this.sendInterval = errorApi.getSendInterval(); | ||||
this.dupCache = new CircularFifoBuffer(errorApi.getDupCacheSize()); | |||||
this.fifo = new CircularFifoBuffer(errorApi.getBufferSize()); | |||||
this.dupCache = new CircularFifoQueue(errorApi.getDupCacheSize()); | |||||
this.fifo = new CircularFifoQueue(errorApi.getBufferSize()); | |||||
this.notifier = new AirbrakeNotifier(errorApi.getUrl()); | this.notifier = new AirbrakeNotifier(errorApi.getUrl()); | ||||
} else { | } else { | ||||
log.warn("ErrbitApi: errorApi is null or invalid, not running"); | log.warn("ErrbitApi: errorApi is null or invalid, not running"); | ||||