You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2016/12/08 23:44:15 UTC

[06/13] zest-java git commit: functional: remove Iterables.first and Iterables.last and their usage

functional: remove Iterables.first and Iterables.last and their usage


Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/47cbc7bc
Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/47cbc7bc
Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/47cbc7bc

Branch: refs/heads/develop
Commit: 47cbc7bc1a5fe79f9b108ecf3850d587095420d1
Parents: f8cd4f5
Author: Paul Merlin <pa...@apache.org>
Authored: Wed Dec 7 09:43:28 2016 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Wed Dec 7 09:43:28 2016 +0100

----------------------------------------------------------------------
 .../apache/zest/api/query/QueryExpressions.java |  5 ++--
 .../org/apache/zest/functional/Iterables.java   | 25 --------------------
 .../apache/zest/functional/IterablesTest.java   |  7 ------
 .../elasticsearch/ElasticSearchFinder.java      |  9 ++++++-
 .../shiro/ini/IniSecurityManagerService.java    |  3 +--
 .../shiro/web/EnvironmentLoaderService.java     |  3 +--
 .../org/apache/zest/sample/rental/web/Page.java |  2 --
 .../apache/zest/envisage/detail/MethodPane.java |  2 --
 .../detail/ServiceConfigurationPane.java        |  2 --
 .../apache/zest/envisage/detail/StatePane.java  |  2 --
 .../model/util/ServiceConfigurationFinder.java  |  4 +---
 .../zest/tools/model/util/StateFinder.java      |  2 --
 12 files changed, 14 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java
----------------------------------------------------------------------
diff --git a/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java b/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java
index dea7134..0ef35c3 100644
--- a/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java
+++ b/core/api/src/main/java/org/apache/zest/api/query/QueryExpressions.java
@@ -26,6 +26,7 @@ import java.lang.reflect.Proxy;
 import java.lang.reflect.Type;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.function.Predicate;
 import org.apache.zest.api.association.Association;
 import org.apache.zest.api.association.GenericAssociationInfo;
@@ -66,7 +67,6 @@ import org.apache.zest.api.query.grammar.Variable;
 import org.apache.zest.api.util.NullArgumentException;
 
 import static org.apache.zest.api.identity.HasIdentity.IDENTITY_METHOD;
-import static org.apache.zest.functional.Iterables.first;
 import static org.apache.zest.functional.Iterables.prepend;
 
 /**
@@ -174,7 +174,8 @@ public final class QueryExpressions
     public static <T> T oneOf( final NamedAssociation<T> association )
     {
         NullArgumentException.validateNotNull( "Association", association );
-        return association.get( first( association ) );
+        Iterator<String> iterator = association.iterator();
+        return association.get( iterator.hasNext() ? iterator.next() : null );
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/core/functional/src/main/java/org/apache/zest/functional/Iterables.java
----------------------------------------------------------------------
diff --git a/core/functional/src/main/java/org/apache/zest/functional/Iterables.java b/core/functional/src/main/java/org/apache/zest/functional/Iterables.java
index 0cdcd63..ae1d66c 100644
--- a/core/functional/src/main/java/org/apache/zest/functional/Iterables.java
+++ b/core/functional/src/main/java/org/apache/zest/functional/Iterables.java
@@ -58,31 +58,6 @@ public final class Iterables
         return new FilterIterable<>( i, (Predicate<? super X>) specification );
     }
 
-    public static <X> X first( Iterable<X> i )
-    {
-        Iterator<X> iter = i.iterator();
-        if( iter.hasNext() )
-        {
-            return iter.next();
-        }
-        else
-        {
-            return null;
-        }
-    }
-
-    public static <X> X last( Iterable<X> i )
-    {
-        Iterator<X> iter = i.iterator();
-        X item = null;
-        while( iter.hasNext() )
-        {
-            item = iter.next();
-        }
-
-        return item;
-    }
-
     @SuppressWarnings( "unchecked" )
     public static <FROM, TO> Iterable<TO> map( Function<? /* super FROM */, TO> function, Iterable<FROM> from )
     {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/core/functional/src/test/java/org/apache/zest/functional/IterablesTest.java
----------------------------------------------------------------------
diff --git a/core/functional/src/test/java/org/apache/zest/functional/IterablesTest.java b/core/functional/src/test/java/org/apache/zest/functional/IterablesTest.java
index 84787d7..063d067 100644
--- a/core/functional/src/test/java/org/apache/zest/functional/IterablesTest.java
+++ b/core/functional/src/test/java/org/apache/zest/functional/IterablesTest.java
@@ -53,13 +53,6 @@ public class IterablesTest
     }
 
     @Test
-    public void testFirst()
-    {
-        assertThat( Iterables.first( numbers ), equalTo( "1" ) );
-        assertThat( Iterables.first( emptyList() ), nullValue() );
-    }
-
-    @Test
     public void testAppend()
     {
         assertThat( Iterables.toList( Iterables.append( "C", Iterables.iterable( "A", "B" ) ) ).toString(),

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java
----------------------------------------------------------------------
diff --git a/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java b/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java
index d1e083d..ebec4bd 100644
--- a/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java
+++ b/extensions/indexing-elasticsearch/src/main/java/org/apache/zest/index/elasticsearch/ElasticSearchFinder.java
@@ -20,6 +20,7 @@
 package org.apache.zest.index.elasticsearch;
 
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.function.Predicate;
 import org.apache.zest.api.composite.Composite;
@@ -396,7 +397,13 @@ public interface ElasticSearchFinder
                                                       Map<String, Object> variables )
         {
             LOGGER.trace( "Processing ContainsAllSpecification {}", spec );
-            Object firstValue = Iterables.first( spec.containedValues() );
+            Iterator<?> iterator = spec.containedValues().iterator();
+            if( !iterator.hasNext() )
+            {
+                // Ignore empty contains all spec
+                return;
+            }
+            Object firstValue = iterator.next();
             if( firstValue instanceof ValueComposite )
             {
                 // Query by complex property "example value"

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/libraries/shiro-core/src/main/java/org/apache/zest/library/shiro/ini/IniSecurityManagerService.java
----------------------------------------------------------------------
diff --git a/libraries/shiro-core/src/main/java/org/apache/zest/library/shiro/ini/IniSecurityManagerService.java b/libraries/shiro-core/src/main/java/org/apache/zest/library/shiro/ini/IniSecurityManagerService.java
index 58e5d85..d9a3788 100644
--- a/libraries/shiro-core/src/main/java/org/apache/zest/library/shiro/ini/IniSecurityManagerService.java
+++ b/libraries/shiro-core/src/main/java/org/apache/zest/library/shiro/ini/IniSecurityManagerService.java
@@ -34,7 +34,6 @@ import org.apache.zest.api.injection.scope.This;
 import org.apache.zest.api.mixin.Mixins;
 import org.apache.zest.api.service.ServiceActivation;
 import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.functional.Iterables;
 import org.apache.zest.library.shiro.Shiro;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -76,7 +75,7 @@ public interface IniSecurityManagerService
             setIni( Ini.fromResourcePath( iniResourcePath ) );
             securityManager = getInstance();
 
-            if ( realmsRefs != null && Iterables.count( realmsRefs ) > 0 ) {
+            if ( realmsRefs != null && realmsRefs.iterator().hasNext() ) {
 
                 // Register Realms Services
                 RealmSecurityManager realmSecurityManager = ( RealmSecurityManager ) securityManager;

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/libraries/shiro-web/src/main/java/org/apache/zest/library/shiro/web/EnvironmentLoaderService.java
----------------------------------------------------------------------
diff --git a/libraries/shiro-web/src/main/java/org/apache/zest/library/shiro/web/EnvironmentLoaderService.java b/libraries/shiro-web/src/main/java/org/apache/zest/library/shiro/web/EnvironmentLoaderService.java
index 10fce76..400e4ac 100644
--- a/libraries/shiro-web/src/main/java/org/apache/zest/library/shiro/web/EnvironmentLoaderService.java
+++ b/libraries/shiro-web/src/main/java/org/apache/zest/library/shiro/web/EnvironmentLoaderService.java
@@ -34,7 +34,6 @@ import org.apache.zest.api.injection.scope.This;
 import org.apache.zest.api.mixin.Mixins;
 import org.apache.zest.api.service.ServiceComposite;
 import org.apache.zest.api.service.ServiceReference;
-import org.apache.zest.functional.Iterables;
 import org.apache.zest.library.shiro.Shiro;
 import org.apache.zest.library.shiro.ini.ShiroIniConfiguration;
 import org.slf4j.Logger;
@@ -68,7 +67,7 @@ public interface EnvironmentLoaderService
             sce.getServletContext().setInitParameter( "shiroConfigLocations", iniResourcePath );
             WebEnvironment env = initEnvironment( sce.getServletContext() );
 
-            if ( realmsRefs != null && Iterables.count( realmsRefs ) > 0 ) {
+            if ( realmsRefs != null && realmsRefs.iterator().hasNext() ) {
 
                 // Register Realms Services
                 RealmSecurityManager realmSecurityManager = ( RealmSecurityManager ) env.getSecurityManager();

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/samples/rental/src/main/java/org/apache/zest/sample/rental/web/Page.java
----------------------------------------------------------------------
diff --git a/samples/rental/src/main/java/org/apache/zest/sample/rental/web/Page.java b/samples/rental/src/main/java/org/apache/zest/sample/rental/web/Page.java
index 679a159..6bd2ba0 100644
--- a/samples/rental/src/main/java/org/apache/zest/sample/rental/web/Page.java
+++ b/samples/rental/src/main/java/org/apache/zest/sample/rental/web/Page.java
@@ -35,8 +35,6 @@ import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import static org.apache.zest.functional.Iterables.first;
-
 @Concerns( PageUowManagement.class )
 @Mixins( { Page.MountPointMixin.class, Page.DefaultPageRenderMixin.class } )
 public interface Page

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/tools/envisage/src/main/java/org/apache/zest/envisage/detail/MethodPane.java
----------------------------------------------------------------------
diff --git a/tools/envisage/src/main/java/org/apache/zest/envisage/detail/MethodPane.java b/tools/envisage/src/main/java/org/apache/zest/envisage/detail/MethodPane.java
index 7dc0b34..b8f8d5e 100644
--- a/tools/envisage/src/main/java/org/apache/zest/envisage/detail/MethodPane.java
+++ b/tools/envisage/src/main/java/org/apache/zest/envisage/detail/MethodPane.java
@@ -52,8 +52,6 @@ import org.apache.zest.tools.model.descriptor.MethodSideEffectDetailDescriptor;
 import org.apache.zest.tools.model.descriptor.ObjectDetailDescriptor;
 import org.apache.zest.tools.model.util.DescriptorUtilities;
 
-import static org.apache.zest.functional.Iterables.first;
-
 /**
  * Implementation of Composite Method Panel
  */

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/tools/envisage/src/main/java/org/apache/zest/envisage/detail/ServiceConfigurationPane.java
----------------------------------------------------------------------
diff --git a/tools/envisage/src/main/java/org/apache/zest/envisage/detail/ServiceConfigurationPane.java b/tools/envisage/src/main/java/org/apache/zest/envisage/detail/ServiceConfigurationPane.java
index 8b9e06b..2bb4a77 100644
--- a/tools/envisage/src/main/java/org/apache/zest/envisage/detail/ServiceConfigurationPane.java
+++ b/tools/envisage/src/main/java/org/apache/zest/envisage/detail/ServiceConfigurationPane.java
@@ -43,8 +43,6 @@ import org.apache.zest.tools.model.descriptor.ServiceDetailDescriptor;
 import org.apache.zest.tools.model.descriptor.ValueDetailDescriptor;
 import org.apache.zest.tools.model.util.DescriptorUtilities;
 
-import static org.apache.zest.functional.Iterables.first;
-
 /**
  * Implementation of Service Configuration Panel
  */

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/tools/envisage/src/main/java/org/apache/zest/envisage/detail/StatePane.java
----------------------------------------------------------------------
diff --git a/tools/envisage/src/main/java/org/apache/zest/envisage/detail/StatePane.java b/tools/envisage/src/main/java/org/apache/zest/envisage/detail/StatePane.java
index 70b8c13..cf0e96f 100644
--- a/tools/envisage/src/main/java/org/apache/zest/envisage/detail/StatePane.java
+++ b/tools/envisage/src/main/java/org/apache/zest/envisage/detail/StatePane.java
@@ -58,8 +58,6 @@ import org.apache.zest.tools.model.descriptor.MethodSideEffectDetailDescriptor;
 import org.apache.zest.tools.model.descriptor.ObjectDetailDescriptor;
 import org.apache.zest.tools.model.util.DescriptorUtilities;
 
-import static org.apache.zest.functional.Iterables.first;
-
 /**
  * Implementation of Composite State Panel
  */

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/ServiceConfigurationFinder.java
----------------------------------------------------------------------
diff --git a/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/ServiceConfigurationFinder.java b/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/ServiceConfigurationFinder.java
index b243563..635adbb 100644
--- a/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/ServiceConfigurationFinder.java
+++ b/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/ServiceConfigurationFinder.java
@@ -30,8 +30,6 @@ import org.apache.zest.tools.model.descriptor.ServiceDetailDescriptor;
 import org.apache.zest.tools.model.descriptor.TransientDetailDescriptor;
 import org.apache.zest.tools.model.descriptor.ValueDetailDescriptor;
 
-import static org.apache.zest.functional.Iterables.first;
-
 class ServiceConfigurationFinder
 {
     public Object findConfigurationDescriptor( ServiceDetailDescriptor descriptor )
@@ -43,7 +41,7 @@ class ServiceConfigurationFinder
             return null;
         }
 
-        // traverse the appDescritor to find the configurationDescriptor
+        // traverse the appDescriptor to find the configurationDescriptor
         ApplicationDetailDescriptor appDescriptor = descriptor.module().layer().application();
         Object obj = findConfigurationDescriptor( appDescriptor, configType );
         if( obj == null )

http://git-wip-us.apache.org/repos/asf/zest-java/blob/47cbc7bc/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/StateFinder.java
----------------------------------------------------------------------
diff --git a/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/StateFinder.java b/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/StateFinder.java
index 15351fb..98bdf68 100644
--- a/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/StateFinder.java
+++ b/tools/model-detail/src/main/java/org/apache/zest/tools/model/util/StateFinder.java
@@ -30,8 +30,6 @@ import org.apache.zest.api.property.Property;
 import org.apache.zest.tools.model.descriptor.CompositeDetailDescriptor;
 import org.apache.zest.tools.model.descriptor.CompositeMethodDetailDescriptor;
 
-import static org.apache.zest.functional.Iterables.first;
-
 public class StateFinder
 {
     public List<CompositeMethodDetailDescriptor> findState( CompositeDetailDescriptor<?> descriptor )