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 2015/01/07 00:19:16 UTC
[46/50] [abbrv] isis git commit: ISIS-970: remove support for
@ActionLayout(prototype=...) and parsing from xxx.layout.json;
add support for @Action(restrictTo=Environment[]).
ISIS-970: remove support for @ActionLayout(prototype=...) and parsing from xxx.layout.json; add support for @Action(restrictTo=Environment[]).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c9ea2305
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c9ea2305
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c9ea2305
Branch: refs/heads/ISIS-970
Commit: c9ea2305d937a0d66bd2d9c57b0b32650905a9bf
Parents: 7d6350e
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Dec 30 14:56:16 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Jan 6 21:02:18 2015 +0000
----------------------------------------------------------------------
.../apache/isis/applib/annotation/Action.java | 14 ++++++
.../isis/applib/annotation/ActionLayout.java | 5 --
.../isis/applib/annotation/Environment.java | 34 +++++++++++++
.../isis/applib/annotation/Prototype.java | 2 +-
.../applib/fixturescripts/FixtureScripts.java | 4 +-
.../action/ActionAnnotationFacetFactory.java | 12 ++++-
.../PrototypeFacetForActionAnnotation.java | 48 +++++++++++++++++++
.../layout/ActionLayoutFacetFactory.java | 13 -----
...PrototypeFacetForActionLayoutAnnotation.java | 41 ----------------
...totypeFacetOnActionFromLayoutProperties.java | 50 --------------------
.../layoutmetadata/ActionLayoutFacetRepr.java | 1 -
.../json/LayoutMetadataReaderFromJson.java | 4 --
.../simple/SimpleObjectsFixturesService.java | 8 ++--
.../dom/src/main/java/dom/todo/ToDoItem.java | 13 +++--
.../java/dom/todo/ToDoItemSubscriptions.java | 14 ++++--
.../dom/src/main/java/dom/todo/ToDoItems.java | 9 ++--
.../fixture/todo/ToDoItemsFixturesService.java | 14 ++++--
.../prototyping/ExternalLinksService.java | 9 ++--
18 files changed, 153 insertions(+), 142 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Action.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
index e2627de..a9b6dea 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
@@ -168,4 +168,18 @@ public @interface Action {
*/
Class<?> typeOf() default Object.class;
+
+ // //////////////////////////////////////
+
+
+ /**
+ * Which environments the action is available in.
+ *
+ * <p>
+ * By default there are no restrictions, with the action being available in all environments.
+ * </p>
+ */
+ Environment[] restrictTo() default {Environment.DEVELOPMENT, Environment.PRODUCTION};
+
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
index 6bdb007..a692d71 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/ActionLayout.java
@@ -116,11 +116,6 @@ public @interface ActionLayout {
PANEL_DROPDOWN
}
- /**
- * Whether an action is a prototype action, only available when running in prototype (development) mode.
- */
- boolean prototype() default false;
-
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/applib/src/main/java/org/apache/isis/applib/annotation/Environment.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Environment.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Environment.java
new file mode 100644
index 0000000..7c2e49e
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Environment.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.applib.annotation;
+
+public enum Environment {
+ DEVELOPMENT,
+ PRODUCTION;
+
+ public static boolean hasDevelopmentOnly(final Environment[] environments) {
+
+ if (environments == null) {
+ return false;
+ }
+
+ return environments.length == 1 && environments[0] == DEVELOPMENT;
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/applib/src/main/java/org/apache/isis/applib/annotation/Prototype.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Prototype.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Prototype.java
index cb9178b..fe5626a 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Prototype.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/Prototype.java
@@ -26,7 +26,7 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
- * @deprecated - use {@link ActionLayout#prototype()} instead.
+ * @deprecated - use {@link org.apache.isis.applib.annotation.Action#restrictTo()} ()} instead.
*/
@Deprecated
@Inherited
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/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 6ee15c9..8d6f57f 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
@@ -244,8 +244,8 @@ 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>.
*/
- @ActionLayout(
- prototype = true
+ @Action(
+ restrictTo = Environment.DEVELOPMENT
)
@MemberOrder(sequence="10")
public List<FixtureResult> runFixtureScript(
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index baca5e7..c39b81c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -58,12 +58,11 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
processInteraction(processMethodContext);
processHidden(processMethodContext);
-
+ processRestrictTo(processMethodContext);
processSemantics(processMethodContext);
processInvokeOn(processMethodContext);
processCommand(processMethodContext);
processPublishing(processMethodContext);
-
processTypeOf(processMethodContext);
}
@@ -83,6 +82,15 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract implement
HiddenFacetForActionAnnotation.create(action, holder));
}
+ private void processRestrictTo(final ProcessMethodContext processMethodContext) {
+ final Method method = processMethodContext.getMethod();
+ final Action action = Annotations.getAnnotation(method, Action.class);
+ final FacetHolder holder = processMethodContext.getFacetHolder();
+
+ FacetUtil.addFacet(
+ PrototypeFacetForActionAnnotation.create(action, holder));
+ }
+
private void processSemantics(final ProcessMethodContext processMethodContext) {
final Method method = processMethodContext.getMethod();
final Action action = Annotations.getAnnotation(method, Action.class);
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetForActionAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetForActionAnnotation.java
new file mode 100644
index 0000000..48dfb59
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetForActionAnnotation.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.actions.action;
+
+import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.Environment;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
+import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacetAbstract;
+
+public class PrototypeFacetForActionAnnotation extends PrototypeFacetAbstract {
+
+ public static PrototypeFacet create(
+ final Action action,
+ final FacetHolder holder) {
+
+ if(action == null) {
+ return null;
+ }
+
+ final Environment[] environments = action.restrictTo();
+ boolean developmentOnly = Environment.hasDevelopmentOnly(environments);
+
+ return developmentOnly ? new PrototypeFacetForActionAnnotation(holder) : null;
+ }
+
+ private PrototypeFacetForActionAnnotation(FacetHolder holder) {
+ super(holder);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
index e80b54b..23a653c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
@@ -29,7 +29,6 @@ import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet;
import org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback;
-import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
@@ -115,13 +114,6 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
}
FacetUtil.addFacet(actionPositionFacet);
-
- // prototype
- PrototypeFacet prototypeFacet = PrototypeFacetOnActionFromLayoutProperties.create(properties, holder);
- if(prototypeFacet == null) {
- prototypeFacet = PrototypeFacetForActionLayoutAnnotation.create(actionLayout, holder);
- }
- FacetUtil.addFacet(prototypeFacet);
}
@Override
@@ -167,11 +159,6 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
}
FacetUtil.addFacet(actionPositionFacet);
-
- // prototype
- PrototypeFacet prototypeFacet = PrototypeFacetOnActionFromLayoutProperties.create(properties, holder);
- FacetUtil.addFacet(prototypeFacet);
-
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetForActionLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetForActionLayoutAnnotation.java
deleted file mode 100644
index b22e140..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetForActionLayoutAnnotation.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
-import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacetAbstract;
-
-public class PrototypeFacetForActionLayoutAnnotation extends PrototypeFacetAbstract {
-
- public static PrototypeFacet create(ActionLayout actionLayout, FacetHolder holder) {
- if(actionLayout == null) {
- return null;
- }
- final boolean prototype = actionLayout.prototype();
- return prototype ? new PrototypeFacetForActionLayoutAnnotation(holder) : null;
- }
-
- private PrototypeFacetForActionLayoutAnnotation(FacetHolder holder) {
- super(holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetOnActionFromLayoutProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetOnActionFromLayoutProperties.java
deleted file mode 100644
index 2092c41..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/PrototypeFacetOnActionFromLayoutProperties.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import java.util.Properties;
-import com.google.common.base.Strings;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
-import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacetAbstract;
-
-public class PrototypeFacetOnActionFromLayoutProperties extends PrototypeFacetAbstract {
-
- public static PrototypeFacet create(Properties properties, FacetHolder holder) {
- final boolean prototype = prototype(properties);
- return prototype ? new PrototypeFacetOnActionFromLayoutProperties(holder): null;
- }
-
- private PrototypeFacetOnActionFromLayoutProperties(FacetHolder holder) {
- super(holder);
- }
-
- private static boolean prototype(Properties properties) {
- if(properties == null) {
- return false;
- }
- String prototype = Strings.emptyToNull(properties.getProperty("prototype"));
- if(prototype == null) {
- return false;
- }
- return Boolean.parseBoolean(prototype);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
index 4fb113c..37ba265 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionLayoutFacetRepr.java
@@ -31,5 +31,4 @@ public class ActionLayoutFacetRepr {
public String named;
public boolean namedEscaped = true;
public ActionLayout.Position position;
- public boolean prototype;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
index b836808..46b1b08 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
@@ -356,10 +356,6 @@ public class LayoutMetadataReaderFromJson implements LayoutMetadataReader {
if(actionLayout.position != null) {
props.setProperty(prefix + "." + actionName + ".actionLayout.position", ""+actionLayout.position);
}
- //
- {
- props.setProperty(prefix + "." + actionName + ".actionLayout.prototype", "" + actionLayout.prototype);
- }
}
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java b/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
index f5544d8..9055c32 100644
--- a/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
+++ b/example/application/simpleapp/fixture/src/main/java/fixture/simple/SimpleObjectsFixturesService.java
@@ -21,11 +21,11 @@ package fixture.simple;
import fixture.simple.scenario.SimpleObjectsFixture;
import java.util.List;
-import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.annotation.Environment;
import org.apache.isis.applib.annotation.MemberOrder;
-import org.apache.isis.applib.annotation.Prototype;
import org.apache.isis.applib.fixturescripts.FixtureResult;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.applib.fixturescripts.FixtureScripts;
@@ -63,8 +63,8 @@ public class SimpleObjectsFixturesService extends FixtureScripts {
// //////////////////////////////////////
- @ActionLayout(
- prototype = true
+ @Action(
+ restrictTo = Environment.DEVELOPMENT
)
@MemberOrder(sequence="20")
public Object installFixturesAndReturnFirst() {
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
index ebf709c..8b73f8b 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
@@ -48,6 +48,7 @@ import org.apache.isis.applib.annotation.CollectionLayout;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.Environment;
import org.apache.isis.applib.annotation.InvokeOn;
import org.apache.isis.applib.annotation.InvokedOn;
import org.apache.isis.applib.annotation.Optionality;
@@ -687,8 +688,10 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
//endregion
//region > openSourceCodeOnGithub (action)
- @Action(semantics = SemanticsOf.SAFE)
- @ActionLayout(prototype = true)
+ @Action(
+ semantics = SemanticsOf.SAFE,
+ restrictTo = Environment.DEVELOPMENT
+ )
public URL openSourceCodeOnGithub() throws MalformedURLException {
return new URL("https://github.com/apache/isis/tree/master/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java");
}
@@ -702,8 +705,10 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
NonRecoverableException;
}
- @Action(semantics = SemanticsOf.SAFE)
- @ActionLayout(prototype = true)
+ @Action(
+ semantics = SemanticsOf.SAFE,
+ restrictTo = Environment.DEVELOPMENT
+ )
public void demoException(
@ParameterLayout(named="Type")
final DemoExceptionType type) {
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
index 53d99e5..cf70258 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItemSubscriptions.java
@@ -29,14 +29,16 @@ import com.google.common.eventbus.Subscribe;
import org.apache.isis.applib.DomainObjectContainer;
import org.apache.isis.applib.NonRecoverableException;
import org.apache.isis.applib.RecoverableException;
+import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.ActionSemantics;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.annotation.Environment;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.NotContributed;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.Programmatic;
+import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.services.eventbus.ActionInteractionEvent;
import org.apache.isis.applib.services.eventbus.CollectionInteractionEvent;
import org.apache.isis.applib.services.eventbus.EventBusService;
@@ -127,12 +129,14 @@ public class ToDoItemSubscriptions {
* To demo/test what occurs if a subscriber that might veto an event.
*/
@MemberOrder(name = "Prototyping", sequence = "80")
+ @NotContributed
@ActionLayout(
- named="Set subscriber behaviour",
- prototype = true
+ named="Set subscriber behaviour"
+ )
+ @Action(
+ semantics = SemanticsOf.IDEMPOTENT,
+ restrictTo = Environment.DEVELOPMENT
)
- @NotContributed
- @ActionSemantics(ActionSemantics.Of.IDEMPOTENT)
public void subscriberBehaviour(
@ParameterLayout(named="Behaviour") Behaviour behaviour) {
this.behaviour = behaviour;
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
index 4be995f..eeb6ecd 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItems.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.BookmarkPolicy;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.annotation.Environment;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Optionality;
import org.apache.isis.applib.annotation.Parameter;
@@ -174,10 +175,12 @@ public class ToDoItems {
//region > allToDos (action)
@ActionLayout(
- cssClassFa = "fa fa-globe",
- prototype = true
+ cssClassFa = "fa fa-globe"
+ )
+ @Action(
+ semantics = SemanticsOf.SAFE,
+ restrictTo = Environment.DEVELOPMENT
)
- @Action(semantics = SemanticsOf.SAFE)
@MemberOrder(sequence = "50")
public List<ToDoItem> allToDos() {
final List<ToDoItem> items = container.allMatches(
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java b/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
index 77c4687..efa67ee 100644
--- a/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
+++ b/example/application/todoapp/fixture/src/main/java/fixture/todo/ToDoItemsFixturesService.java
@@ -21,9 +21,11 @@ package fixture.todo;
import fixture.todo.scenarios.ToDoItemsRecreateAndCompleteSeveral;
import java.util.List;
+import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.annotation.Environment;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.Optionality;
import org.apache.isis.applib.annotation.Parameter;
@@ -47,8 +49,10 @@ public class ToDoItemsFixturesService extends FixtureScripts {
}
@ActionLayout(
- cssClassFa="fa fa-bolt",
- prototype = true
+ cssClassFa="fa fa-bolt"
+ )
+ @Action(
+ restrictTo = Environment.DEVELOPMENT
)
@Override
public List<FixtureResult> runFixtureScript(
@@ -80,8 +84,10 @@ public class ToDoItemsFixturesService extends FixtureScripts {
@ActionLayout(
- cssClassFa="fa fa-list",
- prototype = true
+ cssClassFa="fa fa-list"
+ )
+ @Action(
+ restrictTo = Environment.DEVELOPMENT
)
@MemberOrder(sequence="20")
public Object recreateToDoItemsReturnFirst() {
http://git-wip-us.apache.org/repos/asf/isis/blob/c9ea2305/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java b/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
index 81b0570..57a3c94 100644
--- a/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
+++ b/example/application/todoapp/webapp/src/main/java/webapp/prototyping/ExternalLinksService.java
@@ -22,6 +22,7 @@ import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.DomainServiceLayout;
+import org.apache.isis.applib.annotation.Environment;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.SemanticsOf;
@@ -55,10 +56,12 @@ public class ExternalLinksService {
}
@ActionLayout(
- cssClassFa = "fa-external-link" ,
- prototype = true
+ cssClassFa = "fa-external-link"
+ )
+ @Action(
+ semantics = SemanticsOf.SAFE,
+ restrictTo = Environment.DEVELOPMENT
)
- @Action(semantics = SemanticsOf.SAFE)
@MemberOrder(name="Prototyping", sequence="91.1")
public URL goToDocs(@ParameterLayout(named="Link") ExternalLink link) throws MalformedURLException {
return link.open();