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/22 14:35:20 UTC
git commit: ISIS-603: specify named facet in dynamic JSON layout
Updated Branches:
refs/heads/master 0da0070fe -> 2dee08b44
ISIS-603: specify named facet in dynamic JSON layout
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/2dee08b4
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/2dee08b4
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/2dee08b4
Branch: refs/heads/master
Commit: 2dee08b44fb60f80cb9d39ccafbfb806cc9fbc26
Parents: 0da0070
Author: Dan Haywood <da...@apache.org>
Authored: Fri Nov 22 13:25:54 2013 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Nov 22 13:25:54 2013 +0000
----------------------------------------------------------------------
.../metamodel/layoutmetadata/ActionRepr.java | 1 +
.../metamodel/layoutmetadata/MemberRepr.java | 1 +
.../layoutmetadata/NamedFacetRepr.java | 22 +++++++
.../json/LayoutMetadataReaderFromJson.java | 27 ++++++--
.../NamedAnnotationOnMemberFacetFactory.java | 46 -------------
.../NamedFacetAnnotationOnMember.java | 31 ---------
.../NamedFacetOnMemberAnnotation.java | 31 +++++++++
.../NamedFacetOnMemberFromProperties.java | 37 +++++++++++
.../annotation/NamedOnMemberFacetFactory.java | 69 ++++++++++++++++++++
.../dflt/ProgrammingModelFacetsJava5.java | 4 +-
.../named/NamedAnnotationFacetFactoryTest.java | 8 +--
.../json/ExampleDomainObject.layout.json | 12 +++-
.../json/ExampleDomainObject.layout.properties | 2 +
.../dom/src/main/java/dom/todo/ToDoItem.java | 4 --
.../src/main/java/dom/todo/ToDoItem.layout.json | 30 +++++++--
.../java/dom/todo/ToDoItemContributions.java | 1 -
16 files changed, 226 insertions(+), 100 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
index ba8db76..d4bb5fa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/ActionRepr.java
@@ -17,4 +17,5 @@
package org.apache.isis.core.metamodel.layoutmetadata;
public class ActionRepr {
+ public NamedFacetRepr named;
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
index a1456f3..767a411 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/MemberRepr.java
@@ -23,4 +23,5 @@ public class MemberRepr {
public Map<String,ActionRepr> actions;
public PagedFacetRepr paged;
public RenderFacetRepr render;
+ public NamedFacetRepr named;
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
new file mode 100644
index 0000000..cac1c84
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/NamedFacetRepr.java
@@ -0,0 +1,22 @@
+/**
+ * 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.layoutmetadata;
+
+
+public class NamedFacetRepr {
+ public String value;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/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 874d27c..870e84d 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
@@ -48,6 +48,7 @@ import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadata;
import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
import org.apache.isis.core.metamodel.layoutmetadata.MemberGroupRepr;
import org.apache.isis.core.metamodel.layoutmetadata.MemberRepr;
+import org.apache.isis.core.metamodel.layoutmetadata.NamedFacetRepr;
import org.apache.isis.core.metamodel.layoutmetadata.PagedFacetRepr;
import org.apache.isis.core.metamodel.layoutmetadata.RenderFacetRepr;
import org.apache.isis.core.metamodel.spec.ActionType;
@@ -140,6 +141,11 @@ public class LayoutMetadataReaderFromJson implements LayoutMetadataReader {
final MemberRepr memberRepr = members.get(memberName);
+ final NamedFacetRepr named = memberRepr.named;
+ if(named != null) {
+ props.setProperty("member." + memberName + ".named.value", named.value);
+ }
+
final PagedFacetRepr paged = memberRepr.paged;
if(paged != null) {
props.setProperty("member." + memberName + ".paged.value", ""+paged.value);
@@ -156,10 +162,10 @@ public class LayoutMetadataReaderFromJson implements LayoutMetadataReader {
if(actions != null) {
int actSeq = 0;
for(final String actionName: actions.keySet()) {
+ final ActionRepr actionRepr = actions.get(actionName);
String nameKey = "action." + actionName + ".memberOrder.name";
- String sequenceKey = "action." + actionName + ".memberOrder.sequence";
props.setProperty(nameKey, memberName);
- props.setProperty(sequenceKey, ""+ ++actSeq);
+ setRemainingActionProperties(props, "action", actionName, actionRepr, ++actSeq);
}
}
}
@@ -169,9 +175,20 @@ public class LayoutMetadataReaderFromJson implements LayoutMetadataReader {
if(metadata.getActions() == null) {
return;
}
- int seq=0;
- for (final String actionName : metadata.getActions().keySet()) {
- props.setProperty("member." + actionName + ".memberOrder.sequence", ""+ ++seq);
+ int xeq=0;
+ final Map<String, ActionRepr> actions = metadata.getActions();
+ for (final String actionName : actions.keySet()) {
+ final ActionRepr actionRepr = actions.get(actionName);
+ setRemainingActionProperties(props, "member", actionName, actionRepr, ++xeq);
+ }
+ }
+
+ private static void setRemainingActionProperties(Properties props, String prefix, final String actionName, final ActionRepr actionRepr, final int seq) {
+ props.setProperty(prefix + "." + actionName + ".memberOrder.sequence", ""+ seq);
+
+ final NamedFacetRepr actionNamed = actionRepr.named;
+ if(actionNamed != null) {
+ props.setProperty(prefix +"." + actionName + ".named.value", actionNamed.value);
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedAnnotationOnMemberFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedAnnotationOnMemberFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedAnnotationOnMemberFacetFactory.java
deleted file mode 100644
index 2b78e4c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedAnnotationOnMemberFacetFactory.java
+++ /dev/null
@@ -1,46 +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.progmodel.facets.members.named.annotation;
-
-import org.apache.isis.applib.annotation.Named;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.Annotations;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.named.NamedFacet;
-
-public class NamedAnnotationOnMemberFacetFactory extends FacetFactoryAbstract {
-
- public NamedAnnotationOnMemberFacetFactory() {
- super(FeatureType.MEMBERS);
- }
-
- @Override
- public void process(final ProcessMethodContext processMethodContext) {
- final Named annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Named.class);
- FacetUtil.addFacet(create(annotation, processMethodContext.getFacetHolder()));
- }
-
- private NamedFacet create(final Named annotation, final FacetHolder holder) {
- return annotation != null ? new NamedFacetAnnotationOnMember(annotation.value(), holder) : null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetAnnotationOnMember.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetAnnotationOnMember.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetAnnotationOnMember.java
deleted file mode 100644
index d6858e8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetAnnotationOnMember.java
+++ /dev/null
@@ -1,31 +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.progmodel.facets.members.named.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
-
-public class NamedFacetAnnotationOnMember extends NamedFacetAbstract {
-
- public NamedFacetAnnotationOnMember(final String value, final FacetHolder holder) {
- super(value, holder);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberAnnotation.java
new file mode 100644
index 0000000..55b5822
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberAnnotation.java
@@ -0,0 +1,31 @@
+/*
+ * 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.progmodel.facets.members.named.annotation;
+
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
+
+public class NamedFacetOnMemberAnnotation extends NamedFacetAbstract {
+
+ public NamedFacetOnMemberAnnotation(final String value, final FacetHolder holder) {
+ super(value, holder);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberFromProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberFromProperties.java
new file mode 100644
index 0000000..e8497d1
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedFacetOnMemberFromProperties.java
@@ -0,0 +1,37 @@
+/*
+ * 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.progmodel.facets.members.named.annotation;
+
+import java.util.Properties;
+
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
+
+public class NamedFacetOnMemberFromProperties extends NamedFacetAbstract {
+
+ public NamedFacetOnMemberFromProperties(final Properties properties, final FacetHolder holder) {
+ super(valueFrom(properties), holder);
+ }
+
+ private static String valueFrom(Properties properties) {
+ return properties.getProperty("value");
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedOnMemberFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedOnMemberFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedOnMemberFacetFactory.java
new file mode 100644
index 0000000..78dd13e
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/members/named/annotation/NamedOnMemberFacetFactory.java
@@ -0,0 +1,69 @@
+/*
+ * 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.progmodel.facets.members.named.annotation;
+
+import java.util.Properties;
+
+import org.apache.isis.applib.annotation.Named;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.FacetUtil;
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.Annotations;
+import org.apache.isis.core.metamodel.facets.ContributeeMemberFacetFactory;
+import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
+import org.apache.isis.core.metamodel.facets.named.NamedFacet;
+
+public class NamedOnMemberFacetFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
+
+ public NamedOnMemberFacetFactory() {
+ super(FeatureType.MEMBERS);
+ }
+
+ @Override
+ public void process(final ProcessMethodContext processMethodContext) {
+ NamedFacet namedFacet = createFromMetadataPropertiesIfPossible(processMethodContext);
+ if(namedFacet == null) {
+ namedFacet = createFromAnnotationIfPossible(processMethodContext);
+ }
+ // no-op if null
+ FacetUtil.addFacet(namedFacet);
+ }
+
+ @Override
+ public void process(ProcessContributeeMemberContext processMemberContext) {
+ NamedFacet namedFacet = createFromMetadataPropertiesIfPossible(processMemberContext);
+ // no-op if null
+ FacetUtil.addFacet(namedFacet);
+ }
+
+ private static NamedFacet createFromAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
+ final Named annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Named.class);
+ return annotation != null ? new NamedFacetOnMemberAnnotation(annotation.value(), processMethodContext.getFacetHolder()) : null;
+ }
+
+ private static NamedFacet createFromMetadataPropertiesIfPossible(
+ final ProcessContextWithMetadataProperties<? extends FacetHolder> pcwmp) {
+
+ final FacetHolder holder = pcwmp.getFacetHolder();
+
+ final Properties properties = pcwmp.metadataProperties("named");
+ return properties != null ? new NamedFacetOnMemberFromProperties(properties, holder) : null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index d47c287..c51834f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -60,7 +60,7 @@ import org.apache.isis.core.progmodel.facets.members.hidden.annotation.HiddenAnn
import org.apache.isis.core.progmodel.facets.members.hidden.forsession.HiddenFacetViaHideForSessionMethodFacetFactory;
import org.apache.isis.core.progmodel.facets.members.hidden.method.HiddenFacetViaHideMethodFacetFactory;
import org.apache.isis.core.progmodel.facets.members.hidden.staticmethod.HiddenFacetViaAlwaysHideMethodFacetFactory;
-import org.apache.isis.core.progmodel.facets.members.named.annotation.NamedAnnotationOnMemberFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.named.annotation.NamedOnMemberFacetFactory;
import org.apache.isis.core.progmodel.facets.members.named.staticmethod.NamedFacetViaNameMethodFacetFactory;
import org.apache.isis.core.progmodel.facets.members.order.MemberOrderFacetFactory;
import org.apache.isis.core.progmodel.facets.members.resolve.RenderOrResolveAnnotationFacetFactory;
@@ -371,7 +371,7 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
addFactory(MultiLineAnnotationOnParameterFacetFactory.class);
addFactory(NamedAnnotationOnTypeFacetFactory.class);
- addFactory(NamedAnnotationOnMemberFacetFactory.class);
+ addFactory(NamedOnMemberFacetFactory.class);
addFactory(NamedAnnotationOnParameterFacetFactory.class);
addFactory(NotPersistableAnnotationFacetFactory.class);
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/naming/named/NamedAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/naming/named/NamedAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/naming/named/NamedAnnotationFacetFactoryTest.java
index aa0ebee..ce48d06 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/naming/named/NamedAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/progmodel/facets/naming/named/NamedAnnotationFacetFactoryTest.java
@@ -38,7 +38,7 @@ import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContex
import org.apache.isis.core.metamodel.facets.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryJUnit4TestCase;
-import org.apache.isis.core.progmodel.facets.members.named.annotation.NamedAnnotationOnMemberFacetFactory;
+import org.apache.isis.core.progmodel.facets.members.named.annotation.NamedOnMemberFacetFactory;
import org.apache.isis.core.progmodel.facets.object.named.annotation.NamedAnnotationOnTypeFacetFactory;
import org.apache.isis.core.progmodel.facets.param.named.annotation.NamedAnnotationOnParameterFacetFactory;
@@ -68,7 +68,7 @@ public class NamedAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
@Test
public void testNamedAnnotationPickedUpOnProperty() {
- final NamedAnnotationOnMemberFacetFactory facetFactory = new NamedAnnotationOnMemberFacetFactory();
+ final NamedOnMemberFacetFactory facetFactory = new NamedOnMemberFacetFactory();
facetFactory.setSpecificationLookup(mockSpecificationLoaderSpi);
class Customer {
@@ -92,7 +92,7 @@ public class NamedAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
}
public void testNamedAnnotationPickedUpOnCollection() {
- final NamedAnnotationOnMemberFacetFactory facetFactory = new NamedAnnotationOnMemberFacetFactory();
+ final NamedOnMemberFacetFactory facetFactory = new NamedOnMemberFacetFactory();
facetFactory.setSpecificationLookup(mockSpecificationLoaderSpi);
class Customer {
@@ -116,7 +116,7 @@ public class NamedAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4T
}
public void testNamedAnnotationPickedUpOnAction() {
- final NamedAnnotationOnMemberFacetFactory facetFactory = new NamedAnnotationOnMemberFacetFactory();
+ final NamedOnMemberFacetFactory facetFactory = new NamedOnMemberFacetFactory();
facetFactory.setSpecificationLookup(mockSpecificationLoaderSpi);
class Customer {
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
index a74ca0d..9bf292e 100644
--- a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
+++ b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.json
@@ -25,7 +25,11 @@
category: {},
complete: {
actions: {
- completed: {},
+ completed: {
+ named: {
+ value: Done
+ }
+ },
notYetCompleted: {}
}
}
@@ -85,7 +89,11 @@
],
actions: {
delete: {},
- duplicate: {}
+ duplicate: {
+ named: {
+ value: Clone
+ }
+ }
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
index 5d1f3bb..8499c31 100644
--- a/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
+++ b/core/metamodel/src/test/resources/org/apache/isis/core/metamodel/layoutmetadata/json/ExampleDomainObject.layout.properties
@@ -67,10 +67,12 @@ member.similarItems.render.value=LAZILY
#Actions (freestanding)
member.delete.memberOrder.sequence=1
member.duplicate.memberOrder.sequence=2
+member.duplicate.named.value=Clone
#Actions (associated with properties)
action.completed.memberOrder.name=complete
+action.completed.named.value=Done
action.notYetCompleted.memberOrder.name=complete
action.completed.memberOrder.sequence=1
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
index 5d68cab..12b7d36 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.java
@@ -309,7 +309,6 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
this.complete = complete;
}
- @Named("Done")
@PublishedAction
@Bulk
@CssClass("x-highlight")
@@ -334,7 +333,6 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
return isComplete() ? "Already completed" : null;
}
- @Named("Not done")
@PublishedAction
@Bulk
public ToDoItem notYetCompleted() {
@@ -363,7 +361,6 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
this.cost = cost!=null?cost.setScale(2):null;
}
- @Named("Update")
public ToDoItem updateCost(@Named("New cost") @Optional final BigDecimal cost) {
LOG.debug("%s: cost updated: %s -> %s", this.container.titleOf(this), getCost(), cost);
setCost(cost);
@@ -530,7 +527,6 @@ public class ToDoItem implements Comparable<ToDoItem> /*, Locatable*/ { // GMAP3
// Clone (action)
// //////////////////////////////////////
- @Named("Clone")
// the name of the action in the UI
// nb: method is not called "clone()" is inherited by java.lang.Object and
// (a) has different semantics and (b) is in any case automatically ignored
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
index cbfd86d..779f20c 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
@@ -26,14 +26,26 @@
},
subcategory: {
actions: {
- updateCategory: {},
+ updateCategory: {
+ named: {
+ value: "Update"
+ }
+ },
analyseCategory: {}
}
},
complete: {
actions: {
- completed: {},
- notYetCompleted: {}
+ completed: {
+ named: {
+ value: "Done"
+ }
+ },
+ notYetCompleted: {
+ named: {
+ value: "Not done"
+ }
+ }
}
}
}
@@ -59,7 +71,11 @@
dueBy: {},
cost: {
actions: {
- updateCost:{}
+ updateCost:{
+ named: {
+ value: "Update"
+ }
+ }
}
},
notes: {},
@@ -98,7 +114,11 @@
}
],
actions: {
- duplicate: {},
+ duplicate: {
+ named: {
+ value: "Clone"
+ }
+ },
delete: {}
}
}
http://git-wip-us.apache.org/repos/asf/isis/blob/2dee08b4/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
index 6f8152c..0cb371b 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItemContributions.java
@@ -165,7 +165,6 @@ public class ToDoItemContributions extends AbstractFactoryAndRepository {
// UpdateCategory (contributed action)
// //////////////////////////////////////
- @Named("Update")
@DescribedAs("Update category and subcategory")
@NotInServiceMenu
@ActionSemantics(Of.IDEMPOTENT)