You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/12/21 17:34:06 UTC

[isis] branch 2033-IoC updated: ISIS-2033: reinstate parallel spec loading; cleanup some debug code

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch 2033-IoC
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/2033-IoC by this push:
     new f6de5a5  ISIS-2033: reinstate parallel spec loading; cleanup some debug code
f6de5a5 is described below

commit f6de5a5c1d182f04ef3f59e530f7975d382a97d7
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Dec 21 18:34:00 2018 +0100

    ISIS-2033: reinstate parallel spec loading; cleanup some debug code
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-2033
---
 .../services/registry/ServiceRegistryDefault.java  | 17 ++++++-----
 .../metamodel/specloader/SpecificationLoader.java  | 35 ++++++++--------------
 .../SpecificationLoaderTestAbstract.java           |  2 --
 .../jmocking/JUnitRuleMockery2.java                |  9 ++----
 4 files changed, 24 insertions(+), 39 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java
index 9a19c63..fe4966c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/registry/ServiceRegistryDefault.java
@@ -53,11 +53,12 @@ import org.apache.isis.core.metamodel.services.ServiceUtil;
 import static org.apache.isis.commons.internal.base._NullSafe.stream;
 
 import lombok.val;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @since 2.0.0-M2
  */
-@Singleton
+@Singleton @Slf4j
 public final class ServiceRegistryDefault implements ServiceRegistry {
     
     /**
@@ -90,10 +91,10 @@ public final class ServiceRegistryDefault implements ServiceRegistry {
             for (Bean<?> bean : beans) {
                 
                 val type = bean.getBeanClass();
-                val debug = type.getName().startsWith("org.apache.isis.");
+                val logScope = type.getName().startsWith("org.apache.isis.");
                 
-                if(debug) {
-                    System.out.println("!!! " + bean);    
+                if(logScope) {
+                    log.info("processing bean {}", bean);
                 } 
                 
                 if(!isServiceType(type)) {
@@ -106,14 +107,14 @@ public final class ServiceRegistryDefault implements ServiceRegistry {
                 if(managedObject.isPresent()) {
                     registeredServiceInstances.add(managedObject.get());
                     
-                    if(debug) {
-                        System.out.println("!!!\t registering: " + managedObject.get());
+                    if(logScope) {
+                        log.info("registering as a service {}", managedObject.get());
                     }
                     
                 } else {
                     
-                    if(debug) {
-                        System.out.println("!!!\t bean not present: " + type.getName());    
+                    if(logScope) {
+                        log.warn("failed to register bean as a service {}", bean);
                     }
                 }
                 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index a6c308a..def55d4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -19,6 +19,7 @@ package org.apache.isis.core.metamodel.specloader;
 import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.Callable;
+import java.util.concurrent.Future;
 import java.util.stream.Collectors;
 
 import javax.ejb.Singleton;
@@ -33,6 +34,7 @@ import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.config.internal._Config;
 import org.apache.isis.core.commons.ensure.Assert;
 import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.commons.lang.ClassUtil;
@@ -53,6 +55,7 @@ import org.apache.isis.core.metamodel.specloader.specimpl.dflt.ObjectSpecificati
 import org.apache.isis.core.metamodel.specloader.specimpl.standalonelist.ObjectSpecificationOnStandaloneList;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
 import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
+import org.apache.isis.core.runtime.threadpool.ThreadPoolSupport;
 import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
 import org.apache.isis.schema.utils.CommonDtoUtils;
 
@@ -207,28 +210,16 @@ public class SpecificationLoader {
             callables.add(callable);
         }
         
-        System.out.println("!!! calling callables size="+callables.size());
-        
-//        ThreadPoolSupport threadPoolSupport = ThreadPoolSupport.getInstance();
-//        final boolean parallelize = _Config.getConfiguration()
-//                .getBoolean(INTROSPECTOR_PARALLELIZE_KEY, INTROSPECTOR_PARALLELIZE_DEFAULT);
-//        List<Future<Object>> futures;
-//        if(parallelize) {
-//            futures = threadPoolSupport.invokeAll(callables);
-//        } else {
-//            futures = threadPoolSupport.invokeAllSequential(callables);
-//        }
-//        threadPoolSupport.joinGatherFailures(futures);
-        
-        callables.forEach(c->{
-            try {
-                c.call();
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        });
-        
-
+        ThreadPoolSupport threadPoolSupport = ThreadPoolSupport.getInstance();
+        final boolean parallelize = _Config.getConfiguration()
+                .getBoolean(INTROSPECTOR_PARALLELIZE_KEY, INTROSPECTOR_PARALLELIZE_DEFAULT);
+        List<Future<Object>> futures;
+        if(parallelize) {
+            futures = threadPoolSupport.invokeAll(callables);
+        } else {
+            futures = threadPoolSupport.invokeAllSequential(callables);
+        }
+        threadPoolSupport.joinGatherFailures(futures);
 
         // for debugging only
         final Collection<ObjectSpecification> cachedSpecificationsAfter = cache.allSpecifications();
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
index ac9239c..cc86b23 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -126,8 +126,6 @@ abstract class SpecificationLoaderTestAbstract {
     @BeforeEach
     public void setUp() throws Exception {
         
-        System.out.println("!!! setting up");
-        
         // PRODUCTION
         
         AppManifest.Registry.instance().setDomainServiceTypes(_Sets.newHashSet());
diff --git a/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2.java b/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2.java
index 6a78cdb..d0641f1 100644
--- a/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2.java
+++ b/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2.java
@@ -27,6 +27,7 @@ import java.util.List;
 
 import javax.ejb.Singleton;
 import javax.enterprise.context.ApplicationScoped;
+import javax.imageio.spi.ServiceRegistry;
 
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
@@ -230,13 +231,7 @@ public class JUnitRuleMockery2 extends JUnit4Mockery implements MethodRule {
         
         if(isSingleton(typeToMock)) {
             _Context.putSingleton(typeToMock, mock);
-            
-            System.out.println("!!! + " + typeToMock.getSimpleName());
-            
-        } else {
-            
-            System.out.println("!!! - " + typeToMock.getSimpleName());
-        }
+        } 
         
         return mock;
     }