[isis] 10/11: ISIS-898 further reduce compiler warnings

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit b02c336eebb0507e1bf2dd552ad1062947dfed1c
Author: Andi Huber 
AuthorDate: Tue Apr 17 05:54:24 2018 +0200

ISIS-898 further reduce compiler warnings
---
 .../value/ValueSemanticsProviderAbstractTemporal.java   |  3 ++-
 .../facets/value/image/ImageValueSemanticsProvider.java |  1 -
 .../imageawt/JavaAwtImageValueSemanticsProvider.java|  1 -
 .../bookmarks/BookmarkServiceInternalDefault.java   | 17 +
 .../core/runtime/persistence/adapter/PojoAdapter.java   |  8 +++-
 .../isis/viewer/wicket/model/models/ScalarModel.java|  2 +-
 .../actions/ActionParametersFormPanelFactory.java   |  6 ++
 .../ui/components/actions/ActionParametersPanel.java|  4 +++-
 .../bookmarkedpages/BookmarkedPagesPanel.java   |  8 ++--
 .../ui/components/scalars/markup/MarkupPanel.java   |  3 +--
 10 files changed, 27 insertions(+), 26 deletions(-)

diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
index 1d4fa11..41cd71a 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTemporal.java
@@ -33,6 +33,7 @@ import java.util.TimeZone;
 import com.google.common.collect.Maps;
 
 import org.apache.isis.applib.adapters.EncodingException;
+import org.apache.isis.applib.internal.base._Casts;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -200,7 +201,7 @@ public abstract class 
ValueSemanticsProviderAbstractTemporal extends ValueSem
 }
 
 try {
-T date = (T) object;
+T date = _Casts.uncheckedCast(object);
 final StringTokenizer st = new StringTokenizer(str.substring(1), " 
");
 while (st.hasMoreTokens()) {
 final String token = st.nextToken();
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProvider.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProvider.java
index ceea52e..0b5cd74 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProvider.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/image/ImageValueSemanticsProvider.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.value.image;
 
 import org.apache.isis.applib.value.Image;
-import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java
index 422cf73..c6e768b 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/value/imageawt/JavaAwtImageValueSemanticsProvider.java
@@ -21,7 +21,6 @@ package org.apache.isis.core.metamodel.facets.value.imageawt;
 
 import java.awt.Image;
 
-import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.isis.core.metamodel.facets.value.image.ImageValueSemanticsProviderAbstract;
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java
index 771629d..e08334a 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/bookmarks/BookmarkServiceInternalDefault.java
@@ -202,14 +202,15 @@ public class BookmarkServiceInternalDefault implements 
BookmarkService, Serializ
// -- HELPER

 private final static Set 
serializableFinalTypes = _Sets.of(
-   String.class,
-

[isis] 04/11: ISIS-898 simplify markup panel factories

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit fe0cbe7ee8029c8b40b8098b46ef67ec0112c915
Author: Andi Huber 
AuthorDate: Mon Apr 16 07:34:10 2018 +0200

ISIS-898 simplify markup panel factories
---
 .../ComponentFactoryRegistrarDefault.java  |   8 +-
 .../scalars/markup/MarkupPanelFactories.java   | 102 
 .../scalars/markup/MarkupPanelFactory.java | 105 -
 3 files changed, 105 insertions(+), 110 deletions(-)

diff --git 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
 
b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
index 52058f8..da812b9 100644
--- 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
+++ 
b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
@@ -23,7 +23,6 @@ import java.util.ServiceLoader;
 
 import org.apache.isis.applib.internal.context._Plugin;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
-import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistrar;
 import org.apache.isis.viewer.wicket.ui.components.about.AboutPanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.actioninfo.ActionInfoPanelFactory;
@@ -65,7 +64,7 @@ import 
org.apache.isis.viewer.wicket.ui.components.scalars.jdkmath.JavaMathBigIn
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.jodatime.JodaDateTimePanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.jodatime.JodaLocalDatePanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.jodatime.JodaLocalDateTimePanelFactory;
-import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactory;
+import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanelFactories;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.primitive.BooleanPanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.primitive.BytePanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.primitive.CharacterPanelFactory;
@@ -193,15 +192,14 @@ public class ComponentFactoryRegistrarDefault implements 
ComponentFactoryRegistr
 }
 
 protected void addComponentFactoriesForValue(final ComponentFactoryList 
componentFactories) {
-   componentFactories.add(new MarkupPanelFactory(ComponentType.VALUE));
+   componentFactories.add(MarkupPanelFactories.standalone());
 componentFactories.add(new StandaloneValuePanelFactory());
 }
 
 protected void addComponentFactoriesForScalar(final ComponentFactoryList 
componentFactories) {
 
 componentFactories.add(new ReferencePanelFactory());
-
-componentFactories.add(new 
MarkupPanelFactory(ComponentType.SCALAR_NAME_AND_VALUE));
+componentFactories.add(MarkupPanelFactories.parented());
 
 componentFactories.add(new BooleanPanelFactory());
 componentFactories.add(new BytePanelFactory());
diff --git 
a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupPanelFactories.java
 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupPanelFactories.java
new file mode 100644
index 000..79e62b0
--- /dev/null
+++ 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/markup/MarkupPanelFactories.java
@@ -0,0 +1,102 @@
+/*
+ *  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.viewer.wicket.ui.components.scalars.markup;
+
+import org.apache.isis.applib.value.Markup;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import 

[isis] branch dev/2.0.0/ISIS-898-treeview created (now 0e3abd9)

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a change to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git.


  at 0e3abd9  ISIS-898 initial (naive) lazy tree feature

This branch includes the following new commits:

 new d337130  ISIS-898 applib: introduces initial tree model
 new a8c547d  ISIS-898 refine TreeNode interface
 new b4535da  ISIS-898 interim TreePanel stubs
 new fe0cbe7  ISIS-898 simplify markup panel factories
 new 275252b  ISIS-898 adds missing license head
 new a25c43c  ISIS-898 register TreePanel factories
 new 28f1b61  ISIS-898 Internal API: introduces _Lazy a memoizing supplier
 new a9215a8  ISIS-898 refine, also add missing license headers
 new f960d6e  ISIS-898 add missing cases, add serial version ids
 new b02c336  ISIS-898 further reduce compiler warnings
 new 0e3abd9  ISIS-898 initial (naive) lazy tree feature

The 11 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
ahu...@apache.org.


[isis] 11/11: ISIS-898 initial (naive) lazy tree feature

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 0e3abd90395665e94d76bacf55e39b3286ec39c3
Author: Andi Huber 
AuthorDate: Tue Apr 17 09:24:52 2018 +0200

ISIS-898 initial (naive) lazy tree feature

fails when lazily fetching child nodes
---
 .../org/apache/isis/applib/tree/LazyTreeNode.java  |   7 +-
 .../java/org/apache/isis/applib/tree/TreeNode.java |  51 ++---
 .../facets/value/treenode/TreeNodeValueFacet.java} |  17 +-
 ...deValueFacetUsingSemanticsProviderFactory.java} |  30 +--
 .../treenode/TreeNodeValueSemanticsProvider.java   | 133 +
 .../ComponentFactoryRegistrarDefault.java  |   3 +-
 .../wicket/model/models/tree/TreeViewModel.java|   1 +
 .../components/tree/IsisToWicketTreeAdapter.java   | 209 +
 .../ui/components/tree/StandaloneTreePanel.html|   4 +-
 .../ui/components/tree/StandaloneTreePanel.java|  14 +-
 .../wicket/ui/components/tree/TreePanel.html   |  66 +++
 .../wicket/ui/components/tree/TreePanel.java   |  54 --
 .../ui/components/tree/TreePanelFactories.java |  14 +-
 13 files changed, 519 insertions(+), 84 deletions(-)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java
index e464373..1d75d33 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java
@@ -21,15 +21,17 @@ package org.apache.isis.applib.tree;
 import java.util.Objects;
 import java.util.stream.Stream;
 
+import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.applib.internal.base._Lazy;
 
+@Value(semanticsProviderName="org.apache.isis.core.metamodel.facets.value.treenode.TreeNodeValueSemanticsProvider")
 public class LazyTreeNode implements TreeNode {

private final T value;
private final Class> treeAdapterClass;
private final _Lazy treeAdapter = 
_Lazy.of(this::newTreeAdapter);

-   static  TreeNode of(T value, Class> 
treeAdapterClass) {
+   public static  TreeNode of(T value, Class> treeAdapterClass) {
return new LazyTreeNode(value, treeAdapterClass);
}

@@ -66,6 +68,7 @@ public class LazyTreeNode implements TreeNode {
;
}
 
+   @Override
public Class> getTreeAdapterClass() {
return treeAdapterClass;
}
@@ -77,7 +80,7 @@ public class LazyTreeNode implements TreeNode {
return treeAdapterClass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
throw new IllegalArgumentException(
-   String.format("failed to instanciate 
treeAdapter '%s'", treeAdapterClass.getName()), e);
+   String.format("failed to instantiate 
TreeAdapter '%s'", treeAdapterClass.getName()), e);
}
}
 
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
index 0b07924..e387c0c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
@@ -27,33 +27,33 @@ import java.util.stream.StreamSupport;
 import javax.annotation.Nullable;
 
 public interface TreeNode {
-   
+
// -- VALUE
-   
+
public T getValue();
-   
+
// -- PARENT
-   
+
public @Nullable TreeNode getParentIfAny();
-   
+
// -- CHILDREN
-   
+
public int getChildCount();
 
public Stream streamChildren();
-   
+
// -- BASIC PREDICATES
-   
+
public default boolean isRoot() {
return getParentIfAny() == null;
}
-   
+
public default boolean isLeaf() {
return getChildCount() == 0;
}
 
// -- CONSTRUCTION
-   
+
/**
 * Convenient shortcut.
 * @param node
@@ -63,43 +63,52 @@ public interface TreeNode {
public static  TreeNode lazy(T node, Class> treeAdapterClass) {
return LazyTreeNode.of(node, treeAdapterClass);
}
-   
+
// -- PARENT NODE ITERATION
-   
+
public default Iterator iteratorHierarchyUp(){
return new TreeNode_iteratorHierarchyUp<>(this);
}
-   
+
// -- PARENT NODE STREAMING
-   
+
public default Stream streamHierarchyUp(){
return StreamSupport.stream(


[isis] 03/11: ISIS-898 interim TreePanel stubs

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit b4535dae220ab738e5cc64d957daad754e6e6a65
Author: Andi Huber 
AuthorDate: Sun Apr 15 21:05:15 2018 +0200

ISIS-898 interim TreePanel stubs
---
 .../java/org/apache/isis/applib/tree/TreeNode.java |   2 +-
 .../ui/components/tree/StandaloneTreePanel.html|  34 +++
 .../ui/components/tree/StandaloneTreePanel.java|  36 +++
 .../wicket/ui/components/tree/TreePanel.java   |  65 
 .../ui/components/tree/TreePanelFactory.java   | 110 +
 5 files changed, 246 insertions(+), 1 deletion(-)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
index 6d641a5..6ce17a3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
@@ -38,7 +38,7 @@ public interface TreeNode {
// -- CONSTRUCTION

public static  TreeNode of(T node, TreeAdapter treeAdapter) {
-   return TreeNodeBean.of(node, treeAdapter);
+   return TreeNode_Lazy.of(node, treeAdapter);
}

// -- PARENT NODE ITERATION
diff --git 
a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.html
 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.html
new file mode 100644
index 000..cfd86c4
--- /dev/null
+++ 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.html
@@ -0,0 +1,34 @@
+
+
+http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd;>
+http://www.w3.org/1999/xhtml;  
+  
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd;  
+  xml:lang="en"  
+  lang="en">
+
+
+
+
+
+
+
+
+
+
diff --git 
a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java
 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java
new file mode 100644
index 000..7375410
--- /dev/null
+++ 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/StandaloneTreePanel.java
@@ -0,0 +1,36 @@
+/*
+ *  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.viewer.wicket.ui.components.tree;
+
+import org.apache.isis.viewer.wicket.model.models.ValueModel;
+import 
org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupComponent;
+import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
+
+public class StandaloneTreePanel extends PanelAbstract {
+
+private static final long serialVersionUID = 1L;
+private static final String ID_STANDALONE_VALUE = "standaloneValue";
+
+public StandaloneTreePanel(final String id, final ValueModel valueModel) {
+super(id, valueModel);
+add(new MarkupComponent(ID_STANDALONE_VALUE, getModel()));
+}
+
+}
diff --git 
a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java
 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java
new file mode 100644
index 000..8377bc0
--- /dev/null
+++ 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanel.java
@@ -0,0 +1,65 @@
+/*
+ *  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 

[isis] 01/11: ISIS-898 applib: introduces initial tree model

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit d337130decc55615a92e7272b5c0100fe6d36bac
Author: Andi Huber 
AuthorDate: Sat Apr 14 09:13:34 2018 +0200

ISIS-898 applib: introduces initial tree model
---
 .../org/apache/isis/applib/tree/TreeAdapter.java   | 14 
 .../java/org/apache/isis/applib/tree/TreeNode.java | 80 ++
 .../org/apache/isis/applib/tree/TreeNode_Lazy.java | 57 +++
 .../applib/tree/TreeNode_iteratorBreadthFirst.java | 42 
 .../applib/tree/TreeNode_iteratorDepthFirst.java   | 53 ++
 .../applib/tree/TreeNode_iteratorHierarchyUp.java  | 35 ++
 6 files changed, 281 insertions(+)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java
new file mode 100644
index 000..5c39b59
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java
@@ -0,0 +1,14 @@
+package org.apache.isis.applib.tree;
+
+import java.util.Optional;
+import java.util.stream.Stream;
+
+public interface TreeAdapter {
+
+   public Optional parentOf(T value);
+   
+   public int childCountOf(T value);
+   
+   public Stream childrenOf(T value);
+   
+}
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
new file mode 100644
index 000..f8f6fc4
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
@@ -0,0 +1,80 @@
+package org.apache.isis.applib.tree;
+
+import java.util.Iterator;
+import java.util.Optional;
+import java.util.Spliterator;
+import java.util.Spliterators;
+import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
+
+public interface TreeNode {
+   
+   // -- VALUE
+   
+   public T getValue();
+   
+   // -- PARENT
+   
+   public Optional getParent();
+   
+   // -- CHILDREN
+   
+   public int getChildCount();
+
+   public Stream streamChildren();
+   
+   // -- BASIC PREDICATES
+   
+   public default boolean isRoot() {
+   return !getParent().isPresent();
+   }
+   
+   public default boolean isLeaf() {
+   return getChildCount() == 0;
+   }
+
+   // -- CONSTRUCTION
+   
+   public static  TreeNode of(T node, TreeAdapter treeAdapter) {
+   return TreeNode_Lazy.of(node, treeAdapter);
+   }
+   
+   // -- PARENT NODE ITERATION
+   
+   public default Iterator iteratorHierarchyUp(){
+   return new TreeNode_iteratorHierarchyUp<>(this);
+   }
+   
+   // -- PARENT NODE STREAMING
+   
+   public default Stream streamHierarchyUp(){
+   return StreamSupport.stream(
+   
Spliterators.spliteratorUnknownSize(iteratorHierarchyUp(), 
Spliterator.ORDERED), 
+   false); // not parallel
+   }
+   
+   // -- CHILD NODE ITERATION
+   
+   public default Iterator iteratorDepthFirst(){
+   return new TreeNode_iteratorDepthFirst<>(this);
+   }
+   
+   public default Iterator iteratorBreadthFirst(){
+   return new TreeNode_iteratorBreadthFirst<>(this);
+   }
+   
+   // -- CHILD NODE STREAMING
+   
+   public default Stream streamDepthFirst(){
+   return StreamSupport.stream(
+   
Spliterators.spliteratorUnknownSize(iteratorDepthFirst(), Spliterator.ORDERED), 
+   false); // not parallel
+   }
+   
+   public default Stream streamBreadthFirst(){
+   return StreamSupport.stream(
+   
Spliterators.spliteratorUnknownSize(iteratorBreadthFirst(), 
Spliterator.ORDERED), 
+   false); // not parallel
+   }
+   
+}
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java
new file mode 100644
index 000..83cd503
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java
@@ -0,0 +1,57 @@
+package org.apache.isis.applib.tree;
+
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Stream;
+
+class TreeNode_Lazy implements TreeNode {
+   
+   private final T value;
+   private final TreeAdapter treeAdapter;
+   
+   static  TreeNode_Lazy of(T value, TreeAdapter treeAdapter) {
+   Objects.requireNonNull(value);
+   

[isis] 07/11: ISIS-898 Internal API: introduces _Lazy a memoizing supplier

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 28f1b610e3182404d1d83ef1a816738a2e44f2a0
Author: Andi Huber 
AuthorDate: Mon Apr 16 08:17:56 2018 +0200

ISIS-898 Internal API: introduces _Lazy a memoizing supplier
---
 .../apache/isis/applib/internal/base/_Lazy.java| 79 ++
 1 file changed, 79 insertions(+)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Lazy.java 
b/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Lazy.java
new file mode 100644
index 000..802ec57
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Lazy.java
@@ -0,0 +1,79 @@
+/*
+ *  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.internal.base;
+
+import java.util.Objects;
+import java.util.function.Supplier;
+
+/**
+ * - internal use only -
+ * 
+ * Supplier with memoization.
+ * 
+ * 
+ * WARNING: Do NOT use any of the classes provided by this 
package!  
+ * These may be changed or removed without notice!
+ * 
+ * 
+ * @since 2.0.0
+ */
+public final class _Lazy implements Supplier {
+
+   private final Supplier supplier;
+   private T value;
+   private boolean memoized;
+
+   public static  _Lazy of(Supplier supplier) {
+   return new _Lazy(supplier);
+   }
+   
+   private _Lazy(Supplier supplier) {
+   Objects.requireNonNull(supplier, "supplier required");
+   this.supplier = supplier;
+   }
+
+   public boolean isMemoized() {
+   return memoized;
+   }
+
+   /**
+* Clears the lazy's memoized value. Resets this lazy to its initial 
state. 
+* isMemoized() = false;
+* 
+*/
+   public void clear() {
+   this.memoized = false;
+   this.value = null;
+   }
+
+   /**
+* Evaluates this lazy value and memoizes it, when called the first 
time 
+* after initialization or clear().
+*/
+   @Override
+   public T get() {
+   if(memoized) {
+   return value;
+   }
+   memoized=true;
+   return value = supplier.get();
+   }
+
+}

-- 
To stop receiving notification emails like this one, please contact
ahu...@apache.org.


[isis] 08/11: ISIS-898 refine, also add missing license headers

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a9215a8939a8ae0095b586c27e8e8ef5049e6ddf
Author: Andi Huber 
AuthorDate: Mon Apr 16 08:33:31 2018 +0200

ISIS-898 refine, also add missing license headers
---
 .../org/apache/isis/applib/tree/LazyTreeNode.java  | 93 ++
 .../org/apache/isis/applib/tree/TreeAdapter.java   | 18 +
 .../java/org/apache/isis/applib/tree/TreeNode.java | 33 ++--
 .../org/apache/isis/applib/tree/TreeNode_Lazy.java | 57 -
 .../applib/tree/TreeNode_iteratorBreadthFirst.java | 18 +
 .../applib/tree/TreeNode_iteratorDepthFirst.java   | 18 +
 .../applib/tree/TreeNode_iteratorHierarchyUp.java  | 18 +
 .../wicket/model/models/tree/TreeViewModel.java| 27 +++
 8 files changed, 220 insertions(+), 62 deletions(-)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java
new file mode 100644
index 000..e464373
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/LazyTreeNode.java
@@ -0,0 +1,93 @@
+/*
+ *  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.tree;
+
+import java.util.Objects;
+import java.util.stream.Stream;
+
+import org.apache.isis.applib.internal.base._Lazy;
+
+public class LazyTreeNode implements TreeNode {
+   
+   private final T value;
+   private final Class> treeAdapterClass;
+   private final _Lazy treeAdapter = 
_Lazy.of(this::newTreeAdapter);
+   
+   static  TreeNode of(T value, Class> 
treeAdapterClass) {
+   return new LazyTreeNode(value, treeAdapterClass);
+   }
+   
+   protected LazyTreeNode(T value, Class> 
treeAdapterClass) {
+   this.value = Objects.requireNonNull(value);
+   this.treeAdapterClass = 
Objects.requireNonNull(treeAdapterClass);
+   }
+
+   @Override
+   public T getValue() {
+   return value;
+   }
+
+   @Override
+   public TreeNode getParentIfAny() {
+   return treeAdapter().parentOf(getValue())
+   .map(this::toTreeNode)
+   .orElse(null)
+   ;
+   }
+
+   @Override
+   public int getChildCount() {
+   return treeAdapter().childCountOf(value);
+   }
+
+   @Override
+   public Stream streamChildren() {
+   if(isLeaf()) {
+   return Stream.empty();
+   }
+   return treeAdapter().childrenOf(value)
+   .map(this::toTreeNode)
+   ;
+   }
+
+   public Class> getTreeAdapterClass() {
+   return treeAdapterClass;
+   }
+   
+   // -- HELPER
+   
+   private TreeAdapter newTreeAdapter() {
+   try {
+   return treeAdapterClass.newInstance();
+   } catch (InstantiationException | IllegalAccessException e) {
+   throw new IllegalArgumentException(
+   String.format("failed to instanciate 
treeAdapter '%s'", treeAdapterClass.getName()), e);
+   }
+   }
+
+   private TreeAdapter treeAdapter() {
+   return treeAdapter.get();
+   }
+   
+   private TreeNode toTreeNode(T value){
+   return of(value, getTreeAdapterClass());
+   }
+
+   
+}
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java
index 5c39b59..379e902 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeAdapter.java
@@ -1,3 +1,21 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed 

[isis] 02/11: ISIS-898 refine TreeNode interface

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a8c547dc2546fb73c2a82bb46e8de28c8473e8b2
Author: Andi Huber 
AuthorDate: Sun Apr 15 19:55:11 2018 +0200

ISIS-898 refine TreeNode interface
---
 .../src/main/java/org/apache/isis/applib/tree/TreeNode.java| 10 ++
 .../main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java   |  4 ++--
 .../apache/isis/applib/tree/TreeNode_iteratorHierarchyUp.java  |  2 +-
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
index f8f6fc4..6d641a5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode.java
@@ -1,12 +1,14 @@
 package org.apache.isis.applib.tree;
 
 import java.util.Iterator;
-import java.util.Optional;
 import java.util.Spliterator;
 import java.util.Spliterators;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
+import org.apache.isis.applib.annotation.ViewModel;
+
+@ViewModel
 public interface TreeNode {

// -- VALUE
@@ -15,7 +17,7 @@ public interface TreeNode {

// -- PARENT

-   public Optional getParent();
+   public TreeNode getParentIfAny();

// -- CHILDREN

@@ -26,7 +28,7 @@ public interface TreeNode {
// -- BASIC PREDICATES

public default boolean isRoot() {
-   return !getParent().isPresent();
+   return getParentIfAny() == null;
}

public default boolean isLeaf() {
@@ -36,7 +38,7 @@ public interface TreeNode {
// -- CONSTRUCTION

public static  TreeNode of(T node, TreeAdapter treeAdapter) {
-   return TreeNode_Lazy.of(node, treeAdapter);
+   return TreeNodeBean.of(node, treeAdapter);
}

// -- PARENT NODE ITERATION
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java
index 83cd503..1bc2341 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_Lazy.java
@@ -1,7 +1,6 @@
 package org.apache.isis.applib.tree;
 
 import java.util.Objects;
-import java.util.Optional;
 import java.util.stream.Stream;
 
 class TreeNode_Lazy implements TreeNode {
@@ -26,9 +25,10 @@ class TreeNode_Lazy implements TreeNode {
}
 
@Override
-   public Optional getParent() {
+   public TreeNode getParentIfAny() {
return treeAdapter.parentOf(getValue())
.map(this::toTreeNode)
+   .orElse(null)
;
}
 
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_iteratorHierarchyUp.java
 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_iteratorHierarchyUp.java
index 62813b2..9b29e2b 100644
--- 
a/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_iteratorHierarchyUp.java
+++ 
b/core/applib/src/main/java/org/apache/isis/applib/tree/TreeNode_iteratorHierarchyUp.java
@@ -29,7 +29,7 @@ class TreeNode_iteratorHierarchyUp implements 
Iterator {
// -- HELPER
 
private TreeNode fetchNext(TreeNode current) {
-   return current.getParent().orElse(null);
+   return current.getParentIfAny();
}
 
 }

-- 
To stop receiving notification emails like this one, please contact
ahu...@apache.org.


[isis] 09/11: ISIS-898 add missing cases, add serial version ids

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit f960d6e2585b2fae4bd8b7d22cd476c531c8d9b6
Author: Andi Huber 
AuthorDate: Tue Apr 17 05:15:07 2018 +0200

ISIS-898 add missing cases, add serial version ids
---
 .../components/scalars/ScalarPanelAbstract2.java   | 25 +++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git 
a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index fa47ecb..4e03256 100644
--- 
a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -624,7 +624,12 @@ public abstract class ScalarPanelAbstract2 extends 
PanelAbstract im
 private void configureInlinePromptLinkCallback(final WebMarkupContainer 
inlinePromptLink) {
 
 inlinePromptLink.add(new AjaxEventBehavior("click") {
-@Override
+/**
+* 
+*/
+   private static final long serialVersionUID = 
-3034584614218331440L;
+
+   @Override
 protected void onEvent(final AjaxRequestTarget target) {
 
 scalarModel.toEditMode();
@@ -649,7 +654,12 @@ public abstract class ScalarPanelAbstract2 extends 
PanelAbstract im
 final ActionLink actionLink) {
 
 inlinePromptLink.add(new AjaxEventBehavior("click") {
-@Override
+/**
+* 
+*/
+   private static final long serialVersionUID = 
2171203212348044948L;
+
+   @Override
 protected void onEvent(final AjaxRequestTarget target) {
 actionLink.onClick(target);
 }
@@ -692,7 +702,12 @@ public abstract class ScalarPanelAbstract2 extends 
PanelAbstract im
 scalarIfRegularFormGroup.addOrReplace(editProperty);
 
 editProperty.add(new AjaxEventBehavior("click") {
-protected void onEvent(AjaxRequestTarget target) {
+/**
+* 
+*/
+   private static final long serialVersionUID = 
-3561635292986591682L;
+
+   protected void onEvent(AjaxRequestTarget 
target) {
 
 final ActionPrompt prompt = ActionPromptProvider.Util
 
.getFrom(ScalarPanelAbstract2.this).getActionPrompt();
@@ -767,6 +782,10 @@ public abstract class ScalarPanelAbstract2 extends 
PanelAbstract im
 return "label-none";
 case TOP:
 return "label-top";
+   case DEFAULT:
+   case NOT_SPECIFIED:
+   default:
+   break;
 }
 }
 return "label-left";

-- 
To stop receiving notification emails like this one, please contact
ahu...@apache.org.


[isis] 06/11: ISIS-898 register TreePanel factories

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit a25c43ce61a56d8e27fb2eefc973857da0d6cfec
Author: Andi Huber 
AuthorDate: Mon Apr 16 07:46:59 2018 +0200

ISIS-898 register TreePanel factories
---
 .../ComponentFactoryRegistrarDefault.java  |   3 +
 .../ui/components/tree/TreePanelFactories.java | 102 +++
 .../ui/components/tree/TreePanelFactory.java   | 110 -
 3 files changed, 105 insertions(+), 110 deletions(-)

diff --git 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
 
b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
index da812b9..2e03d81 100644
--- 
a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
+++ 
b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
@@ -79,6 +79,7 @@ import 
org.apache.isis.viewer.wicket.ui.components.scalars.uuid.UuidPanelFactory
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.value.ValuePanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.scalars.valuechoices.ValueChoicesSelect2PanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.standalonecollection.StandaloneCollectionPanelFactory;
+import org.apache.isis.viewer.wicket.ui.components.tree.TreePanelFactories;
 import 
org.apache.isis.viewer.wicket.ui.components.unknown.UnknownModelPanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.value.StandaloneValuePanelFactory;
 import 
org.apache.isis.viewer.wicket.ui.components.voidreturn.VoidReturnPanelFactory;
@@ -193,6 +194,7 @@ public class ComponentFactoryRegistrarDefault implements 
ComponentFactoryRegistr
 
 protected void addComponentFactoriesForValue(final ComponentFactoryList 
componentFactories) {
componentFactories.add(MarkupPanelFactories.standalone());
+   componentFactories.add(TreePanelFactories.standalone());
 componentFactories.add(new StandaloneValuePanelFactory());
 }
 
@@ -200,6 +202,7 @@ public class ComponentFactoryRegistrarDefault implements 
ComponentFactoryRegistr
 
 componentFactories.add(new ReferencePanelFactory());
 componentFactories.add(MarkupPanelFactories.parented());
+componentFactories.add(TreePanelFactories.parented());
 
 componentFactories.add(new BooleanPanelFactory());
 componentFactories.add(new BytePanelFactory());
diff --git 
a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java
 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java
new file mode 100644
index 000..70b0470
--- /dev/null
+++ 
b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/tree/TreePanelFactories.java
@@ -0,0 +1,102 @@
+/*
+ *  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.viewer.wicket.ui.components.tree;
+
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.viewer.wicket.model.models.ScalarModel;
+import org.apache.isis.viewer.wicket.model.models.ValueModel;
+import org.apache.isis.viewer.wicket.ui.ComponentFactory;
+import org.apache.isis.viewer.wicket.ui.ComponentFactoryAbstract;
+import org.apache.isis.viewer.wicket.ui.ComponentType;
+import org.apache.isis.viewer.wicket.ui.components.scalars.markup.MarkupPanel;
+import org.apache.wicket.Component;
+import org.apache.wicket.model.IModel;
+
+/**
+ * {@link ComponentFactory} for {@link MarkupPanel}.
+ */
+public class TreePanelFactories {
+   
+   // -- PARENTED
+
+   static class Parented extends ComponentFactoryAbstract {
+   private static final long serialVersionUID = 1L;
+
+   public Parented() {
+ 

[isis] 05/11: ISIS-898 adds missing license head

2018-04-17 Thread ahuber
This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch dev/2.0.0/ISIS-898-treeview
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 275252ba496d9e35241bff6aa0a2b4eae32df8f3
Author: Andi Huber 
AuthorDate: Mon Apr 16 07:35:19 2018 +0200

ISIS-898 adds missing license head
---
 .../apache/isis/applib/internal/base/_Reduction.java  |  5 -
 .../apache/isis/viewer/wicket/model/models/Util.java  | 19 +++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Reduction.java
 
b/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Reduction.java
index b915938..a65aef1 100644
--- 
a/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Reduction.java
+++ 
b/core/applib/src/main/java/org/apache/isis/applib/internal/base/_Reduction.java
@@ -11,7 +11,10 @@ import javax.annotation.Nullable;
 /**
  * - internal use only -
  * 
- *  Provides a generic reduction class. Most intuitive example of a reduction 
is finding the 
+ *  Provides a generic (left-fold) reduction class. 
+ *  
+ *  
+ *  Most intuitive example of a reduction is finding the 
  *  minimum value from a list of values. See {@link ReductionTest} for 
examples.
  * 
  * 
diff --git 
a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/Util.java
 
b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/Util.java
index ce0c86b..52de9fc 100644
--- 
a/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/Util.java
+++ 
b/core/viewer-wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/Util.java
@@ -1,3 +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.viewer.wicket.model.models;
 
 import java.util.Optional;

-- 
To stop receiving notification emails like this one, please contact
ahu...@apache.org.