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/05/15 09:45:29 UTC
[1/2] git commit: ISIS-776: either autoComplete or choices for
fixture script drop-down.
Repository: isis
Updated Branches:
refs/heads/master 992c01732 -> f67aa096f
ISIS-776: either autoComplete or choices for fixture script drop-down.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/944cb27b
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/944cb27b
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/944cb27b
Branch: refs/heads/master
Commit: 944cb27b4fe1690e6b1335c1febcad762275a179
Parents: 992c017
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu May 15 08:38:37 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu May 15 08:38:37 2014 +0100
----------------------------------------------------------------------
.../applib/fixturescripts/FixtureScripts.java | 32 ++++++++++++++++++--
.../fixture/todo/ToDoItemsFixturesService.java | 10 +++++-
2 files changed, 39 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/944cb27b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
index 3bfa8ad..9e8ad42 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
@@ -23,11 +23,23 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
+
import javax.annotation.PostConstruct;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
+
import org.apache.isis.applib.AbstractService;
import org.apache.isis.applib.ViewModel;
-import org.apache.isis.applib.annotation.*;
+import org.apache.isis.applib.annotation.DescribedAs;
+import org.apache.isis.applib.annotation.MemberOrder;
+import org.apache.isis.applib.annotation.MinLength;
+import org.apache.isis.applib.annotation.MultiLine;
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.applib.annotation.Optional;
+import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.annotation.Prototype;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService;
@@ -126,6 +138,10 @@ public abstract class FixtureScripts extends AbstractService {
// //////////////////////////////////////
+ /**
+ * To make this action usable in the UI, override either {@link #choices0RunFixtureScript()} or
+ * {@link #autoComplete0RunFixtureScript(String)} with <tt>public</tt> visibility</tt>.
+ */
@Prototype
@MemberOrder(sequence="10")
public List<FixtureResult> runFixtureScript(
@@ -143,9 +159,21 @@ public abstract class FixtureScripts extends AbstractService {
return fixtureScript.run(parameters);
}
- public List<FixtureScript> choices0RunFixtureScript() {
+ protected List<FixtureScript> choices0RunFixtureScript() {
return fixtureScriptList;
}
+ protected List<FixtureScript> autoComplete0RunFixtureScript(final @MinLength(1) String arg) {
+ return Lists.newArrayList(
+ Collections2.filter(fixtureScriptList, new Predicate<FixtureScript>() {
+ @Override
+ public boolean apply(FixtureScript input) {
+ return contains(input.getFriendlyName()) || contains(input.getLocalName());
+ }
+ private boolean contains(String str) {
+ return str != null && str.contains(arg);
+ }
+ }));
+ }
public String disableRunFixtureScript(final FixtureScript fixtureScript, final String parameters) {
return fixtureScriptList.isEmpty()? "No fixture scripts found under package '" + packagePrefix + "'": null;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/944cb27b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
index 5e59b73..5b5722b 100644
--- a/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
+++ b/example/application/quickstart_wicket_restful_jdo/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
@@ -37,7 +37,15 @@ public class ToDoItemsFixturesService extends FixtureScripts {
super("fixture.todo");
}
-
+ /**
+ * Raising visibility to <tt>public</tt> so that choices are available for first param
+ * of {@link #runFixtureScript(FixtureScript, String)}.
+ */
+ @Override
+ public List<FixtureScript> choices0RunFixtureScript() {
+ return super.choices0RunFixtureScript();
+ }
+
@Prototype
@MemberOrder(sequence="20")
public List<FixtureResult> recreateToDoItemsForCurrent() {
[2/2] git commit: ISIS-782: install FixtureClock in IsisSystemForTest
Posted by da...@apache.org.
ISIS-782: install FixtureClock in IsisSystemForTest
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/f67aa096
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/f67aa096
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/f67aa096
Branch: refs/heads/master
Commit: f67aa096f668307041f54a82ae0d45c4ec665890
Parents: 944cb27
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu May 15 08:45:14 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu May 15 08:45:14 2014 +0100
----------------------------------------------------------------------
.../integtestsupport/IsisSystemForTest.java | 32 +++++++++++++++-----
1 file changed, 24 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/f67aa096/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
----------------------------------------------------------------------
diff --git a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
index 8122490..5c4fc79 100644
--- a/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
+++ b/core/integtestsupport/src/main/java/org/apache/isis/core/integtestsupport/IsisSystemForTest.java
@@ -29,6 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.apache.log4j.Level;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -36,6 +37,7 @@ import org.junit.runner.Description;
import org.junit.runners.model.Statement;
import org.apache.isis.applib.DomainObjectContainer;
+import org.apache.isis.applib.fixtures.FixtureClock;
import org.apache.isis.applib.fixtures.InstallableFixture;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -146,8 +148,6 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
private IsisSystemDefault isisSystem;
private AuthenticationSession authenticationSession;
- private DomainObjectContainer container;
-
private final IsisConfiguration configuration;
private final PersistenceMechanismInstaller persistenceMechanismInstaller;
private final AuthenticationRequest authenticationRequest;
@@ -159,6 +159,8 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
private final MetaModelValidator metaModelValidator;
private final ProgrammingModel programmingModel;
+
+ private DomainObjectContainer container;
////////////////////////////////////////////////////////////
@@ -179,8 +181,8 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
private final List <Listener> listeners = Lists.newArrayList();
- private org.apache.log4j.Level level = null;
-
+ private org.apache.log4j.Level level;
+
public Builder with(IsisConfiguration configuration) {
this.configuration = configuration;
return this;
@@ -214,7 +216,11 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
public IsisSystemForTest build() {
final List<Object> servicesIfAny = asList(services);
final List<InstallableFixture> fixturesIfAny = asList(fixtures);
- return new IsisSystemForTest(configuration, programmingModel, metaModelValidator, persistenceMechanismInstaller, authenticationRequest, servicesIfAny, fixturesIfAny, listeners);
+ IsisSystemForTest isisSystem = new IsisSystemForTest(configuration, programmingModel, metaModelValidator, persistenceMechanismInstaller, authenticationRequest, servicesIfAny, fixturesIfAny, listeners);
+ if(level != null) {
+ isisSystem.setLevel(level);
+ }
+ return isisSystem;
}
private static <T> List<T> asList(T[] objects) {
@@ -243,7 +249,15 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
return new Builder();
}
- private IsisSystemForTest(IsisConfiguration configuration, ProgrammingModel programmingModel, MetaModelValidator metaModelValidator, PersistenceMechanismInstaller persistenceMechanismInstaller, AuthenticationRequest authenticationRequest, List<Object> services, List<InstallableFixture> fixtures, List<Listener> listeners) {
+ private IsisSystemForTest(
+ final IsisConfiguration configuration,
+ final ProgrammingModel programmingModel,
+ final MetaModelValidator metaModelValidator,
+ final PersistenceMechanismInstaller persistenceMechanismInstaller,
+ final AuthenticationRequest authenticationRequest,
+ final List<Object> services,
+ final List<InstallableFixture> fixtures,
+ final List<Listener> listeners) {
this.configuration = configuration;
this.programmingModel = programmingModel;
this.metaModelValidator = metaModelValidator;
@@ -287,7 +301,6 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
}
private void setUpSystem(FireListeners fireListeners) throws Exception {
-
boolean firstTime = isisSystem == null;
if(fireListeners.shouldFire()) {
@@ -299,6 +312,10 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
isisLoggingConfigurer.configureLogging(".", new String[]{});
isisSystem = createIsisSystem(services);
+
+ // ensures that a FixtureClock is installed as the singleton underpinning the ClockService
+ FixtureClock.initialize();
+
isisSystem.init();
IsisContext.closeSession();
}
@@ -698,7 +715,6 @@ public class IsisSystemForTest implements org.junit.rules.TestRule, DomainServic
*/
public void setContainer(DomainObjectContainer container) {
this.container = container;
-
}