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 2019/01/31 08:19:18 UTC
[isis] branch 2033-IoC updated: ISIS-2033: fixes core can't compile
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 4c9c556 ISIS-2033: fixes core can't compile
4c9c556 is described below
commit 4c9c556567900aa504627195f6885b71c4a64c58
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jan 31 09:19:12 2019 +0100
ISIS-2033: fixes core can't compile
Task-Url: https://issues.apache.org/jira/browse/ISIS-2033
---
core/plugins/jdo-common/pom.xml | 9 +++++++++
.../runtime/headless/IsisSystemBootstrapper.java | 20 +++++++++-----------
.../services/metrics/MetricsServiceDefault.java | 20 +++++++++-----------
3 files changed, 27 insertions(+), 22 deletions(-)
diff --git a/core/plugins/jdo-common/pom.xml b/core/plugins/jdo-common/pom.xml
index a2bd6ea..9436827 100644
--- a/core/plugins/jdo-common/pom.xml
+++ b/core/plugins/jdo-common/pom.xml
@@ -68,6 +68,15 @@
</build>
<dependencies>
+
+ <!-- JDO API (non transient, provided by concrete JDO plugins) -->
+ <dependency>
+ <groupId>javax.jdo</groupId>
+ <artifactId>jdo-api</artifactId>
+ <version>${jdo-api.version}</version>
+ <!-- provided by plugins -->
+ <scope>provided</scope>
+ </dependency>
<!-- Core Runtime -->
<dependency>
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystemBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystemBootstrapper.java
index 4a49524..7a27810 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystemBootstrapper.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystemBootstrapper.java
@@ -20,17 +20,11 @@ package org.apache.isis.core.runtime.headless;
import java.util.List;
-import javax.jdo.PersistenceManagerFactory;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.apache.isis.applib.AppManifest;
import org.apache.isis.applib.AppManifest2;
import org.apache.isis.applib.fixtures.TickingFixtureClock;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
-import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
import org.apache.isis.applib.services.metamodel.MetaModelService;
import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.core.commons.ensure.Ensure;
@@ -39,6 +33,10 @@ import org.apache.isis.core.runtime.headless.logging.LeveledLogger;
import org.apache.isis.core.runtime.headless.logging.LogConfig;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import lombok.val;
public class IsisSystemBootstrapper {
@@ -160,13 +158,13 @@ public class IsisSystemBootstrapper {
}
private static void teardownSystem() {
- final IsisSessionFactory isisSessionFactory = lookupService(IsisSessionFactory.class);
+ val isisSessionFactory = lookupService(IsisSessionFactory.class);
- final IsisJdoSupport isisJdoSupport = lookupService(IsisJdoSupport.class);
- final PersistenceManagerFactory pmf =
- isisJdoSupport.getJdoPersistenceManager().getPersistenceManagerFactory();
+//FIXME [2033] should not be required to do explicitly, instead properly implement @PreDestroy where required
+// val isisJdoSupport = lookupService(IsisJdoSupport.class);
+// val pmf = isisJdoSupport.getJdoPersistenceManager().getPersistenceManagerFactory();
isisSessionFactory.destroyServicesAndShutdown();
- pmf.close();
+// pmf.close();
IsisContext.clear();
}
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/metrics/MetricsServiceDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/metrics/MetricsServiceDefault.java
index c16ad02..75bd3a4 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/metrics/MetricsServiceDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/metrics/MetricsServiceDefault.java
@@ -18,26 +18,27 @@
*/
package org.apache.isis.core.runtime.services.metrics;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.LongAdder;
import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
import javax.jdo.listener.InstanceLifecycleEvent;
import javax.jdo.listener.InstanceLifecycleListener;
import javax.jdo.listener.LoadLifecycleListener;
-import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.services.WithTransactionScope;
import org.apache.isis.applib.services.metrics.MetricsService;
import org.apache.isis.core.runtime.services.changes.ChangedObjectsServiceInternal;
@RequestScoped
-public class MetricsServiceDefault implements MetricsService, InstanceLifecycleListener, LoadLifecycleListener, WithTransactionScope {
+public class MetricsServiceDefault implements MetricsService,
+InstanceLifecycleListener, LoadLifecycleListener, WithTransactionScope {
- private AtomicInteger numberLoaded = new AtomicInteger(0);
+ private LongAdder numberLoaded = new LongAdder();
@Override
public int numberObjectsLoaded() {
- return numberLoaded.get();
+ return numberLoaded.intValue();
}
@Override
@@ -45,23 +46,20 @@ public class MetricsServiceDefault implements MetricsService, InstanceLifecycleL
return changedObjectsServiceInternal.numberObjectsDirtied();
}
- @Programmatic
@Override
public void postLoad(final InstanceLifecycleEvent event) {
- numberLoaded.incrementAndGet();
+ numberLoaded.increment();
}
/**
* Intended to be called at the end of a transaction. (This service really ought to be considered
* a transaction-scoped service; since that isn't yet supported by the framework, we have to manually reset).
*/
- @Programmatic
@Override
public void resetForNextTransaction() {
- numberLoaded.set(0);
+ numberLoaded.reset();
}
- @javax.inject.Inject
- ChangedObjectsServiceInternal changedObjectsServiceInternal;
+ @Inject ChangedObjectsServiceInternal changedObjectsServiceInternal;
}