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 2014/02/14 09:46:01 UTC
[3/3] git commit: ISIS-697: DeveloperUtilitiesService
(refreshServices, refreshLayout deprecated)
ISIS-697: DeveloperUtilitiesService (refreshServices, refreshLayout deprecated)
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/dd39f14b
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/dd39f14b
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/dd39f14b
Branch: refs/heads/master
Commit: dd39f14b329496af76441ac9c0eca3ef5e4b2fe5
Parents: e84537f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Feb 14 08:05:41 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Feb 14 08:05:41 2014 +0000
----------------------------------------------------------------------
.../devutils/DeveloperUtilitiesService.java | 18 +++++++++++++++++-
.../DeveloperUtilitiesServiceDefault.java | 13 +++++++++++++
2 files changed, 30 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/dd39f14b/core/applib/src/main/java/org/apache/isis/applib/services/devutils/DeveloperUtilitiesService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/devutils/DeveloperUtilitiesService.java b/core/applib/src/main/java/org/apache/isis/applib/services/devutils/DeveloperUtilitiesService.java
index 3b7c9ea..6a25cfc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/devutils/DeveloperUtilitiesService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/devutils/DeveloperUtilitiesService.java
@@ -18,6 +18,7 @@ package org.apache.isis.applib.services.devutils;
import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.ActionSemantics.Of;
+import org.apache.isis.applib.annotation.Hidden;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Named;
import org.apache.isis.applib.annotation.NotInServiceMenu;
@@ -33,6 +34,7 @@ public interface DeveloperUtilitiesService {
@Prototype
public Clob downloadMetaModel();
+
/**
* Downloads a zip of the layout of all domain classes.
*/
@@ -42,6 +44,14 @@ public interface DeveloperUtilitiesService {
public Blob downloadLayouts();
/**
+ * Rebuilds the metamodel of all registered domain services.
+ */
+ @ActionSemantics(Of.SAFE)
+ @MemberOrder(sequence="3")
+ @Prototype
+ public void refreshServices();
+
+ /**
* Download the JSON layout of the domain object's type.
*/
@NotInServiceMenu
@@ -49,7 +59,13 @@ public interface DeveloperUtilitiesService {
@MemberOrder(sequence="2")
@Prototype
public Clob downloadLayout(Object domainObject);
-
+
+ /**
+ * @deprecated - in prototype mode the Wicket viewer (at least) will automatically invalidate
+ * the Isis metamodel whenever the object is re-rendered.
+ */
+ @Deprecated
+ @Hidden
@NotInServiceMenu
@ActionSemantics(Of.SAFE)
@MemberOrder(sequence="99")
http://git-wip-us.apache.org/repos/asf/isis/blob/dd39f14b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/devutils/DeveloperUtilitiesServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/devutils/DeveloperUtilitiesServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/devutils/DeveloperUtilitiesServiceDefault.java
index 7239695..e88217c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/devutils/DeveloperUtilitiesServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/devutils/DeveloperUtilitiesServiceDefault.java
@@ -141,6 +141,18 @@ public class DeveloperUtilitiesServiceDefault implements DeveloperUtilitiesServi
}
// //////////////////////////////////////
+
+ @Override
+ public void refreshServices() {
+ Collection<ObjectSpecification> specifications = Lists.newArrayList(specificationLoader.allSpecifications());
+ for (ObjectSpecification objectSpec : specifications) {
+ if(objectSpec.isService()){
+ specificationLoader.invalidateCache(objectSpec.getCorrespondingClass());
+ }
+ }
+ }
+
+ // //////////////////////////////////////
@Override
public Object refreshLayout(Object domainObject) {
@@ -215,4 +227,5 @@ public class DeveloperUtilitiesServiceDefault implements DeveloperUtilitiesServi
this.adapterManager = adapterManager;
}
+
}