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 ) ) );
     }