You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2015/08/26 17:45:09 UTC
[06/24] zest-java git commit: ZEST-113;
Removed the use of Specification and replaced with Java 8 Predicate.
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/rest-client/src/main/java/org/apache/zest/library/rest/client/api/ErrorHandler.java
----------------------------------------------------------------------
diff --git a/libraries/rest-client/src/main/java/org/apache/zest/library/rest/client/api/ErrorHandler.java b/libraries/rest-client/src/main/java/org/apache/zest/library/rest/client/api/ErrorHandler.java
index dafd7db..1f6f169 100644
--- a/libraries/rest-client/src/main/java/org/apache/zest/library/rest/client/api/ErrorHandler.java
+++ b/libraries/rest-client/src/main/java/org/apache/zest/library/rest/client/api/ErrorHandler.java
@@ -20,7 +20,7 @@ package org.apache.zest.library.rest.client.api;
import java.util.LinkedHashMap;
import java.util.Map;
-import org.apache.zest.functional.Specification;
+import java.util.function.Predicate;
import org.apache.zest.functional.Specifications;
import org.apache.zest.library.rest.client.spi.ResponseHandler;
import org.restlet.Response;
@@ -33,31 +33,31 @@ import org.restlet.resource.ResourceException;
public class ErrorHandler
implements ResponseHandler
{
- public static Specification<Response> AUTHENTICATION_REQUIRED = new Specification<Response>()
+ public static Predicate<Response> AUTHENTICATION_REQUIRED = new Predicate<Response>()
{
@Override
- public boolean satisfiedBy( Response item )
+ public boolean test( Response item )
{
return item.getStatus().equals( Status.CLIENT_ERROR_UNAUTHORIZED );
}
};
- public static Specification<Response> RECOVERABLE_ERROR = new Specification<Response>()
+ public static Predicate<Response> RECOVERABLE_ERROR = new Predicate<Response>()
{
@Override
- public boolean satisfiedBy( Response item )
+ public boolean test( Response item )
{
return item.getStatus().isRecoverableError();
}
};
- LinkedHashMap<Specification<Response>, ResponseHandler> handlers = new LinkedHashMap<Specification<Response>, ResponseHandler>( );
+ LinkedHashMap<Predicate<Response>, ResponseHandler> handlers = new LinkedHashMap<Predicate<Response>, ResponseHandler>( );
public ErrorHandler()
{
}
- public ErrorHandler onError(Specification<Response> responseSpecification, ResponseHandler handler)
+ public ErrorHandler onError(Predicate<Response> responseSpecification, ResponseHandler handler)
{
handlers.put( responseSpecification, handler );
return this;
@@ -72,9 +72,9 @@ public class ErrorHandler
@Override
public HandlerCommand handleResponse( Response response, ContextResourceClient client )
{
- for( Map.Entry<Specification<Response>, ResponseHandler> specificationResponseHandlerEntry : handlers.entrySet() )
+ for( Map.Entry<Predicate<Response>, ResponseHandler> specificationResponseHandlerEntry : handlers.entrySet() )
{
- if (specificationResponseHandlerEntry.getKey().satisfiedBy( response ))
+ if (specificationResponseHandlerEntry.getKey().test( response ))
{
return specificationResponseHandlerEntry.getValue().handleResponse( response, client );
}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/rest-common/src/main/java/org/apache/zest/library/rest/common/link/LinksUtil.java
----------------------------------------------------------------------
diff --git a/libraries/rest-common/src/main/java/org/apache/zest/library/rest/common/link/LinksUtil.java b/libraries/rest-common/src/main/java/org/apache/zest/library/rest/common/link/LinksUtil.java
index 4a06d82..772642a 100644
--- a/libraries/rest-common/src/main/java/org/apache/zest/library/rest/common/link/LinksUtil.java
+++ b/libraries/rest-common/src/main/java/org/apache/zest/library/rest/common/link/LinksUtil.java
@@ -18,56 +18,56 @@
package org.apache.zest.library.rest.common.link;
import java.util.function.Function;
+import java.util.function.Predicate;
import org.apache.zest.functional.Iterables;
-import org.apache.zest.functional.Specification;
/**
* Helper methods for links
*/
public final class LinksUtil
{
- public static Specification<Link> withId(final String id)
+ public static Predicate<Link> withId(final String id)
{
- return new Specification<Link>()
+ return new Predicate<Link>()
{
@Override
- public boolean satisfiedBy(Link link )
+ public boolean test(Link link )
{
return link.id().get().equals(id);
}
};
}
- public static Specification<Link> withText(final String text)
+ public static Predicate<Link> withText(final String text)
{
- return new Specification<Link>()
+ return new Predicate<Link>()
{
@Override
- public boolean satisfiedBy(Link link )
+ public boolean test(Link link )
{
return link.text().get().equals(text);
}
};
}
- public static Specification<Link> withRel(final String rel)
+ public static Predicate<Link> withRel(final String rel)
{
- return new Specification<Link>()
+ return new Predicate<Link>()
{
@Override
- public boolean satisfiedBy(Link link )
+ public boolean test(Link link )
{
return link.rel().get().equals(rel);
}
};
}
- public static Specification<Link> withClass(final String clazz)
+ public static Predicate<Link> withClass(final String clazz)
{
- return new Specification<Link>()
+ return new Predicate<Link>()
{
@Override
- public boolean satisfiedBy(Link link )
+ public boolean test(Link link )
{
String classes = link.classes().get();
return classes != null && classes.contains( clazz );
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/rest-server/src/main/java/org/apache/zest/library/rest/server/assembler/RestServerAssembler.java
----------------------------------------------------------------------
diff --git a/libraries/rest-server/src/main/java/org/apache/zest/library/rest/server/assembler/RestServerAssembler.java b/libraries/rest-server/src/main/java/org/apache/zest/library/rest/server/assembler/RestServerAssembler.java
index 94e08b5..84d3348 100644
--- a/libraries/rest-server/src/main/java/org/apache/zest/library/rest/server/assembler/RestServerAssembler.java
+++ b/libraries/rest-server/src/main/java/org/apache/zest/library/rest/server/assembler/RestServerAssembler.java
@@ -19,6 +19,7 @@ package org.apache.zest.library.rest.server.assembler;
import java.lang.reflect.Modifier;
import java.util.Properties;
+import java.util.function.Predicate;
import org.apache.velocity.app.VelocityEngine;
import org.apache.zest.api.common.Visibility;
import org.apache.zest.api.service.importer.NewObjectImporter;
@@ -26,7 +27,6 @@ import org.apache.zest.bootstrap.Assembler;
import org.apache.zest.bootstrap.AssemblyException;
import org.apache.zest.bootstrap.ClassScanner;
import org.apache.zest.bootstrap.ModuleAssembly;
-import org.apache.zest.functional.Specification;
import org.apache.zest.library.rest.server.restlet.InteractionConstraintsService;
import org.apache.zest.library.rest.server.restlet.RequestReaderDelegator;
import org.apache.zest.library.rest.server.restlet.ResponseWriterDelegator;
@@ -97,8 +97,8 @@ public class RestServerAssembler
// Standard response writers
Iterable<Class<?>> writers = ClassScanner.findClasses( DefaultResponseWriter.class );
- Specification<Class<?>> responseWriterClass = isAssignableFrom( ResponseWriter.class );
- Specification<Class<?>> isNotAnAbstract = not( hasModifier( Modifier.ABSTRACT ) );
+ Predicate<Class<?>> responseWriterClass = isAssignableFrom( ResponseWriter.class );
+ Predicate<Class<?>> isNotAnAbstract = not( hasModifier( Modifier.ABSTRACT ) );
Iterable<Class<?>> candidates = filter( and( isNotAnAbstract, responseWriterClass ), writers );
for( Class<?> responseWriter : candidates )
{
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/restlet/src/main/java/org/apache/zest/library/restlet/crud/IdentitySpecification.java
----------------------------------------------------------------------
diff --git a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/crud/IdentitySpecification.java b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/crud/IdentitySpecification.java
index 9aefbff..965d727 100644
--- a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/crud/IdentitySpecification.java
+++ b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/crud/IdentitySpecification.java
@@ -20,13 +20,12 @@
package org.apache.zest.library.restlet.crud;
+import java.util.function.Predicate;
import org.apache.zest.api.entity.Identity;
import org.apache.zest.api.util.NullArgumentException;
-import org.apache.zest.functional.Specification;
-import org.apache.zest.library.restlet.HasName;
public class IdentitySpecification
- implements Specification<Identity>
+ implements Predicate<Identity>
{
private final String id;
@@ -37,7 +36,7 @@ public class IdentitySpecification
}
@Override
- public boolean satisfiedBy( Identity item )
+ public boolean test( Identity item )
{
return id.equals( item.identity().get() );
}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/restlet/src/main/java/org/apache/zest/library/restlet/identity/IdentityManager.java
----------------------------------------------------------------------
diff --git a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/identity/IdentityManager.java b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/identity/IdentityManager.java
index 8f891f0..5286413 100644
--- a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/identity/IdentityManager.java
+++ b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/identity/IdentityManager.java
@@ -22,6 +22,7 @@ package org.apache.zest.library.restlet.identity;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.Predicate;
import org.apache.zest.api.common.Optional;
import org.apache.zest.api.concern.Concerns;
import org.apache.zest.api.configuration.Configuration;
@@ -30,7 +31,6 @@ import org.apache.zest.api.injection.scope.This;
import org.apache.zest.api.mixin.Mixins;
import org.apache.zest.api.unitofwork.concern.UnitOfWorkConcern;
import org.apache.zest.api.unitofwork.concern.UnitOfWorkPropagation;
-import org.apache.zest.functional.Specification;
import org.apache.zest.spi.uuid.UuidIdentityGeneratorService;
import static org.apache.zest.functional.Iterables.filter;
@@ -144,7 +144,7 @@ public interface IdentityManager
}
private static class FindClassSpecification
- implements Specification<Map.Entry<Class, String>>
+ implements Predicate<Map.Entry<Class, String>>
{
private String prefix;
@@ -154,7 +154,7 @@ public interface IdentityManager
}
@Override
- public boolean satisfiedBy( Map.Entry<Class, String> item )
+ public boolean test( Map.Entry<Class, String> item )
{
return item.getValue().equals( prefix );
}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/CrudRepository.java
----------------------------------------------------------------------
diff --git a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/CrudRepository.java b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/CrudRepository.java
index 90c59ee..ef44461 100644
--- a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/CrudRepository.java
+++ b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/CrudRepository.java
@@ -20,9 +20,10 @@
package org.apache.zest.library.restlet.repository;
+import java.util.function.Predicate;
+import org.apache.zest.api.composite.Composite;
import org.apache.zest.api.entity.Identity;
import org.apache.zest.api.unitofwork.concern.UnitOfWorkPropagation;
-import org.apache.zest.functional.Specification;
public interface CrudRepository<T extends Identity>
{
@@ -42,7 +43,7 @@ public interface CrudRepository<T extends Identity>
Iterable<T> findAll();
@UnitOfWorkPropagation
- Iterable<T> find( Specification specification );
+ Iterable<T> find( Predicate<Composite> specification );
T toValue( T entity );
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/RepositoryLocator.java
----------------------------------------------------------------------
diff --git a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/RepositoryLocator.java b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/RepositoryLocator.java
index 0f2dd1f..0e567b1 100644
--- a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/RepositoryLocator.java
+++ b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/RepositoryLocator.java
@@ -22,13 +22,12 @@ package org.apache.zest.library.restlet.repository;
import java.util.HashMap;
import java.util.Map;
+import java.util.stream.StreamSupport;
import org.apache.zest.api.entity.Identity;
import org.apache.zest.api.injection.scope.Service;
import org.apache.zest.api.mixin.Mixins;
import org.apache.zest.api.service.ServiceReference;
-import static org.apache.zest.functional.ForEach.forEach;
-
@Mixins( RepositoryLocator.Mixin.class )
public interface RepositoryLocator
{
@@ -42,7 +41,7 @@ public interface RepositoryLocator
public Mixin( @Service Iterable<ServiceReference<CrudRepository>> repositories )
{
- forEach( repositories ).forEach( ref -> {
+ StreamSupport.stream( repositories.spliterator(), true ).forEach( ref -> {
Class type = ref.metaInfo( EntityTypeDescriptor.class ).entityType();
this.repositories.put( type, ref.get() );
} );
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/SmallCrudRepositoryMixin.java
----------------------------------------------------------------------
diff --git a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/SmallCrudRepositoryMixin.java b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/SmallCrudRepositoryMixin.java
index c18fcfc..85b1e9f 100644
--- a/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/SmallCrudRepositoryMixin.java
+++ b/libraries/restlet/src/main/java/org/apache/zest/library/restlet/repository/SmallCrudRepositoryMixin.java
@@ -20,7 +20,9 @@
package org.apache.zest.library.restlet.repository;
+import java.util.function.Predicate;
import org.apache.zest.api.ZestAPI;
+import org.apache.zest.api.composite.Composite;
import org.apache.zest.api.entity.Identity;
import org.apache.zest.api.injection.scope.Service;
import org.apache.zest.api.injection.scope.Structure;
@@ -33,7 +35,6 @@ import org.apache.zest.api.unitofwork.EntityTypeNotFoundException;
import org.apache.zest.api.unitofwork.NoSuchEntityException;
import org.apache.zest.api.unitofwork.UnitOfWork;
import org.apache.zest.api.unitofwork.UnitOfWorkFactory;
-import org.apache.zest.functional.Specification;
import org.apache.zest.functional.Specifications;
import org.apache.zest.library.restlet.identity.IdentityManager;
@@ -106,7 +107,7 @@ public class SmallCrudRepositoryMixin<T extends Identity>
@Override
@SuppressWarnings( "unchecked" )
- public Iterable<T> find( Specification specification )
+ public Iterable<T> find( Predicate<Composite> specification )
{
UnitOfWork uow = uowf.currentUnitOfWork();
QueryBuilder<T> qb = qbf.newQueryBuilder( entityType );
http://git-wip-us.apache.org/repos/asf/zest-java/blob/b659ba67/libraries/sql/src/main/java/org/apache/zest/library/sql/datasource/DataSources.java
----------------------------------------------------------------------
diff --git a/libraries/sql/src/main/java/org/apache/zest/library/sql/datasource/DataSources.java b/libraries/sql/src/main/java/org/apache/zest/library/sql/datasource/DataSources.java
index 201380c..ea0c85f 100644
--- a/libraries/sql/src/main/java/org/apache/zest/library/sql/datasource/DataSources.java
+++ b/libraries/sql/src/main/java/org/apache/zest/library/sql/datasource/DataSources.java
@@ -19,9 +19,9 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.net.ConnectException;
+import java.util.function.Predicate;
import javax.sql.DataSource;
import org.apache.zest.api.service.ServiceImporterException;
-import org.apache.zest.functional.Specification;
import org.apache.zest.library.circuitbreaker.CircuitBreaker;
import static org.apache.zest.functional.Specifications.not;
@@ -39,7 +39,7 @@ public class DataSources
public static CircuitBreaker newDataSourceCircuitBreaker( int threshold, long timeout )
{
@SuppressWarnings( "unchecked" )
- Specification<Throwable> in = in( ConnectException.class );
+ Predicate<Throwable> in = in( ConnectException.class );
return new CircuitBreaker( threshold, timeout, not( rootCause( in ) ) );
}