You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/11/21 13:22:59 UTC
[4/5] git commit: ISIS-597: now runs ok
ISIS-597: now runs ok
with services injected prior to @PostConstruct
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/96b4b517
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/96b4b517
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/96b4b517
Branch: refs/heads/master
Commit: 96b4b517749312a6d68f8b6e46963f6203cab28a
Parents: 9d96403
Author: Dan Haywood <da...@apache.org>
Authored: Thu Nov 21 10:31:43 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Thu Nov 21 10:31:43 2013 +0000
----------------------------------------------------------------------
.../RestfulObjectsSpecEventSerializer.java | 29 ++++++++++++++++++--
.../persistence/PersistenceSessionFactory.java | 4 ++-
.../session/IsisSessionFactoryDefault.java | 1 +
3 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/96b4b517/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
----------------------------------------------------------------------
diff --git a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
index 2fa7a2b..81edb1a 100644
--- a/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
+++ b/component/viewer/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/eventserializer/RestfulObjectsSpecEventSerializer.java
@@ -18,25 +18,33 @@
*/
package org.apache.isis.viewer.restfulobjects.rendering.eventserializer;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.nullValue;
+
import java.io.IOException;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
+import org.codehaus.jackson.JsonGenerationException;
+import org.codehaus.jackson.map.JsonMappingException;
+
+import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.services.bookmark.BookmarkService;
import org.apache.isis.applib.services.publish.EventMetadata;
import org.apache.isis.applib.services.publish.EventPayload;
import org.apache.isis.applib.services.publish.EventSerializer;
+import org.apache.isis.core.commons.ensure.Ensure;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.util.JsonMapper;
import org.apache.isis.viewer.restfulobjects.rendering.RendererContext;
import org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
@Hidden
public class RestfulObjectsSpecEventSerializer implements EventSerializer {
@@ -50,6 +58,10 @@ public class RestfulObjectsSpecEventSerializer implements EventSerializer {
@PostConstruct
public void init(Map<String,String> props) {
+ // neither of these are used, but 'demonstrates' that container and services are injected prior to init.
+ Ensure.ensureThatState(container, is(not(nullValue())));
+ Ensure.ensureThatState(bookmarkService, is(not(nullValue())));
+
final String baseUrlFromConfig = props.get(BASE_URL_KEY);
baseUrl = baseUrlFromConfig != null? baseUrlFromConfig: BASE_URL_DEFAULT;
}
@@ -106,5 +118,18 @@ public class RestfulObjectsSpecEventSerializer implements EventSerializer {
return jsonMapper;
}
+ // //////////////////////////////////////
+
+ @SuppressWarnings("unused")
+ private DomainObjectContainer container;
+ public void setContainer(DomainObjectContainer container) {
+ this.container = container;
+ }
+
+ @SuppressWarnings("unused")
+ private BookmarkService bookmarkService;
+ public void injectBookmarkService(BookmarkService bookmarkService) {
+ this.bookmarkService = bookmarkService;
+ }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/96b4b517/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
index 4af5091..54791fd 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSessionFactory.java
@@ -21,6 +21,7 @@ package org.apache.isis.core.runtime.system.persistence;
import java.util.List;
+import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.core.commons.components.ApplicationScopedComponent;
import org.apache.isis.core.metamodel.adapter.ObjectAdapterFactory;
import org.apache.isis.core.metamodel.facetapi.ClassSubstitutorFactory;
@@ -61,9 +62,10 @@ public interface PersistenceSessionFactory extends ClassSubstitutorFactory, Meta
PersistenceSession createPersistenceSession();
// //////////////////////////////////////////////////////
- // Services
+ // Container & Services
// //////////////////////////////////////////////////////
+ public void setContainer(DomainObjectContainer container);
public void setServices(List<Object> servicesList);
public List<Object> getServices();
http://git-wip-us.apache.org/repos/asf/isis/blob/96b4b517/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
index 6bc8d9f..3eef909 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/session/IsisSessionFactoryDefault.java
@@ -219,6 +219,7 @@ public class IsisSessionFactoryDefault implements IsisSessionFactory {
// must come after init of spec loader.
specificationLoaderSpi.injectInto(persistenceSessionFactory);
+ persistenceSessionFactory.setContainer(container);
persistenceSessionFactory.setServices(serviceList);
userProfileLoader.setServices(serviceList);