This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/isis.git
commit efdd48115b7f8237be2756248c2cfa532054d6c1 Author: Andi Huber <ahu...@apache.org> AuthorDate: Fri Oct 27 16:03:36 2017 +0200 ISIS-1740 refactored method names, added javadoc --- .../model/models/whereami/WhereAmIModel.java | 28 ++++++++++++++++++---- .../models/whereami/WhereAmIModelDefault.java | 24 +++++++++---------- .../viewer/wicket/ui/pages/entity/EntityPage.java | 4 ++-- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModel.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModel.java index 7ecfba0..fdc11f2 100644 --- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModel.java +++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModel.java @@ -23,16 +23,36 @@ import java.util.stream.Stream; import org.apache.isis.viewer.wicket.model.models.EntityModel; +/** + * Represents a navigable chain of parent nodes starting at the current node. + * + * @author a.hu...@corax.at + * + * @since 2.0.0 + * + */ public interface WhereAmIModel { - public static WhereAmIModel of(EntityModel endOfChain) { - return new WhereAmIModelDefault(endOfChain); + public static WhereAmIModel of(EntityModel startOfChain) { + return new WhereAmIModelDefault(startOfChain); } + /** + * The navigable parent chain requires a minimum length of 2 in order to be shown. + * @return whether the where-am-I hint should be shown or hidden + */ public boolean isShowWhereAmI(); - public Stream<EntityModel> streamParentChain(); + /** + * Streams the linked nodes of this model's navigable parent chain in reverse order. + * @return reversed order stream of linked parent nodes, which does not include the start node + */ + public Stream<EntityModel> streamParentChainReversed(); - public EntityModel getEndOfChain(); + /** + * + * @return the immutable start node of the navigable parent chain + */ + public EntityModel getStartOfChain(); } diff --git a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java index b3f6679..955c2db 100644 --- a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java +++ b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/whereami/WhereAmIModelDefault.java @@ -28,32 +28,32 @@ import org.apache.isis.viewer.wicket.model.models.EntityModel; class WhereAmIModelDefault implements WhereAmIModel { - private final List<Object> chainOfParents = new ArrayList<>(); - private final EntityModel endOfChain; + private final List<Object> reversedChainOfParents = new ArrayList<>(); + private final EntityModel startOfChain; - public WhereAmIModelDefault(EntityModel endOfChain) { - this.endOfChain = endOfChain; + public WhereAmIModelDefault(EntityModel startOfChain) { + this.startOfChain = startOfChain; - final Object startPojo = endOfChain.getObject().getObject(); + final Object startPojo = startOfChain.getObject().getObject(); ParentChain.caching() .streamReversedParentChainOf(startPojo) - .forEach(chainOfParents::add); + .forEach(reversedChainOfParents::add); } @Override - public EntityModel getEndOfChain() { - return endOfChain; + public EntityModel getStartOfChain() { + return startOfChain; } @Override public boolean isShowWhereAmI() { - return !chainOfParents.isEmpty(); + return !reversedChainOfParents.isEmpty(); } @Override - public Stream<EntityModel> streamParentChain() { - return chainOfParents.stream() + public Stream<EntityModel> streamParentChainReversed() { + return reversedChainOfParents.stream() .map(this::toEntityModel); } @@ -61,7 +61,7 @@ class WhereAmIModelDefault implements WhereAmIModel { private EntityModel toEntityModel(Object domainObject) { return new EntityModel( - endOfChain.getPersistenceSession() + startOfChain.getPersistenceSession() .adapterFor(domainObject) ); } diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java index e9e04dc..d105c48 100644 --- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java +++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java @@ -226,11 +226,11 @@ public class EntityPage extends PageAbstract { final RepeatingView listItems = new RepeatingView("whereAmI-items"); - whereAmIModel.streamParentChain().forEach(entityModel-> + whereAmIModel.streamParentChainReversed().forEach(entityModel-> listItems.add(new EntityIconAndTitlePanel(listItems.newChildId(), entityModel)) ); - listItems.add(new Label(listItems.newChildId(), whereAmIModel.getEndOfChain().getTitle())); + listItems.add(new Label(listItems.newChildId(), whereAmIModel.getStartOfChain().getTitle())); whereAmIContainer.addOrReplace(listItems); -- To stop receiving notification emails like this one, please contact danhayw...@apache.org.