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/04/23 15:36:29 UTC

[19/20] isis git commit: ISIS-1085: reviewing; reverting the deletion of ActionLayout.CssClassFaPosition and the introduction of CssClassFaPosition ...

ISIS-1085: reviewing; reverting the deletion of ActionLayout.CssClassFaPosition and the introduction of CssClassFaPosition ...

... as this would break backward compatibility.  Instead introduced similar enums into DomainObjectLayout and ViewModelLayout.  The CssClassFaPosition enum itself moves from applib to core.metamodel.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/1d825841
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/1d825841
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/1d825841

Branch: refs/heads/master
Commit: 1d82584114f75d786d78d5fbaff9e231cfbba2a5
Parents: d2ce0c6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Apr 23 13:50:40 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Apr 23 14:30:59 2015 +0100

----------------------------------------------------------------------
 .../isis/applib/annotation/ActionLayout.java    | 38 +++++-----
 .../isis/applib/annotation/CssClassFa.java      | 41 ++++++-----
 .../applib/annotation/CssClassFaPosition.java   | 40 -----------
 .../applib/annotation/DomainObjectLayout.java   | 56 +++++++++------
 .../isis/applib/annotation/ViewModelLayout.java | 67 ++++++++++-------
 ...ssClassFaFacetForActionLayoutAnnotation.java | 47 ++++++------
 ...lassFaFacetOnActionFromLayoutProperties.java | 58 +++++++--------
 .../members/cssclassfa/CssClassFaFacet.java     | 44 ++++++------
 .../cssclassfa/CssClassFaFacetAbstract.java     | 10 ++-
 .../members/cssclassfa/CssClassFaPosition.java  | 75 ++++++++++++++++++++
 .../CssClassFaFacetOnMemberFactory.java         | 26 +++----
 ...ClassFaFacetOnMemberFromConfiguredRegex.java |  2 +-
 .../CssClassFaFacetOnMemberFromProperties.java  |  2 +-
 ...lassFaFacetForDomainObjectLayoutFactory.java |  8 +--
 ...ssClassFaFacetForViewModelLayoutFactory.java |  8 +--
 ...sFaFacetForDomainObjectLayoutAnnotation.java |  8 +--
 ...lassFaFacetForViewModelLayoutAnnotation.java |  8 +--
 ...assFacetForDomainObjectLayoutAnnotation.java | 11 ++-
 ...sClassFacetForViewModelLayoutAnnotation.java | 11 ++-
 .../metamodel/spec/feature/ObjectAction.java    |  2 +-
 .../ActionLayoutAnnotationFacetFactoryTest.java | 25 +++----
 .../DomainObjectLayoutFactoryTest.java          | 29 ++++----
 .../viewer/wicket/model/links/LinkAndLabel.java |  2 +-
 .../actionmenu/CssClassFaBehavior.java          |  2 +-
 .../entityactions/AdditionalLinksPanel.java     |  2 +-
 .../actionmenu/serviceactions/CssMenuItem.java  |  2 +-
 .../collection/bulk/BulkActionsLinkFactory.java |  2 +-
 .../linkandlabel/ActionLinkFactoryAbstract.java |  2 +-
 .../dom/modules/simple/SimpleObject.java        |  3 +-
 29 files changed, 353 insertions(+), 278 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/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 83d6d9c..52a652f 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
@@ -1,19 +1,19 @@
 /*
  *  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
+ *  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.
  */
 
@@ -33,6 +33,7 @@ import java.lang.annotation.Target;
 @Retention(RetentionPolicy.RUNTIME)
 public @interface ActionLayout {
 
+
     /**
      * Whether (and how) this action can be bookmarked in the UI.
      *
@@ -50,7 +51,7 @@ public @interface ActionLayout {
      * Indicates the css class that an action should have.
      *
      * <p>
-     * For the Wicket viewer, this can be a bootstrap class such as <code>btn-info</code>.
+     *     For the Wicket viewer, this can be a bootstrap class such as <code>btn-info</code>.
      * </p>
      */
     String cssClass() default "";
@@ -71,6 +72,10 @@ public @interface ActionLayout {
      */
     CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
 
+    enum CssClassFaPosition {
+        LEFT, RIGHT
+    }
+
     // //////////////////////////////////////
 
     /**
@@ -120,9 +125,10 @@ public @interface ActionLayout {
      * contribution should be implemented, as an action, as an association, or as both.
      *
      * <p>
-     * Has no meaning for actions of domain entities.
+     *     Has no meaning for actions of domain entities.
      * </p>
      */
     Contributed contributed() default Contributed.AS_BOTH;
 
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFa.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFa.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFa.java
index 8fb9791..f2a7ce3 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFa.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFa.java
@@ -1,29 +1,25 @@
 /*
  *  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
+ *  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
+ *        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
+ *  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;
 
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.lang.annotation.*;
 
 /**
  * @deprecated - see {@link ActionLayout#cssClassFa()}
@@ -41,8 +37,17 @@ public @interface CssClassFa {
     String value();
 
     /**
-     * @deprecated - see {@link org.apache.isis.applib.annotation.ActionLayout#cssClassFaPosition()}
+     * @deprecated - see {@link DomainObjectLayout#cssClassFaPosition()} and {@link ViewModelLayout#cssClassFaPosition()}.
      */
     @Deprecated
     CssClassFaPosition position() default CssClassFaPosition.LEFT;
+
+    /**
+     * @deprecated - see {@link org.apache.isis.applib.annotation.DomainObjectLayout.CssClassFaPosition} and {@link org.apache.isis.applib.annotation.ViewModelLayout.CssClassFaPosition}.
+     */
+    @Deprecated
+    public enum CssClassFaPosition {
+        LEFT, RIGHT
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFaPosition.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFaPosition.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFaPosition.java
deleted file mode 100644
index 783025b..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/CssClassFaPosition.java
+++ /dev/null
@@ -1,40 +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.applib.annotation;
-
-
-/**
- * Represents the location in the user interface where a class member is to be rendered.
- *
- * <p>
- * Used to control visibility (eg using the {@link Hidden} annotation) and enablement (eg using the {@link Disabled}
- * annotation) in different regions of the user interface.
- *
- * <p>
- * The application programmer may use any of the values of this enum. Some represent concrete locations (eg
- * {@link #OBJECT_FORMS}, {@link #PARENTED_TABLES}), whereas some represent a combination of locations (eg
- * {@link #ALL_TABLES}, {@link #ANYWHERE}).
- *
- * <h4>Framework Implementation Notes</h4>
- * <p>
- * This enum is also used internally within the framework. When rendering an element, the framework developer should
- * only use those values that represent concrete locations.
- */
-public enum CssClassFaPosition {
-    LEFT, RIGHT
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
index 8185b73..d4e8789 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/DomainObjectLayout.java
@@ -1,19 +1,21 @@
-/* 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. */
+/*
+ *  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;
 
@@ -48,10 +50,18 @@ public @interface DomainObjectLayout {
 
     /**
      * Indicates the position of the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a>
-     * icon. The icon could be rendered on the left or the right of the action button
-     */
+     * icon. The icon could be rendered on the left or the right of the object's title.
+     *
+     * <p>
+     *     This attribute is currently ignored by Isis viewers.
+     * </p>
+s     */
     CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
 
+    enum CssClassFaPosition {
+        LEFT, RIGHT
+    }
+    
     // //////////////////////////////////////
 
     /**
@@ -59,6 +69,7 @@ public @interface DomainObjectLayout {
      */
     String describedAs() default "";
 
+
     // //////////////////////////////////////
 
     /**
@@ -66,6 +77,7 @@ public @interface DomainObjectLayout {
      */
     String named() default "";
 
+
     // //////////////////////////////////////
 
     /**
@@ -73,14 +85,16 @@ public @interface DomainObjectLayout {
      * a table.
      *
      * <p>
-     * If annotated on a collection, then the page size refers to parented collections (eg <tt>Order#lineItems</tt>).
+     * If annotated on a collection, then the page size refers to
+     * parented collections (eg <tt>Order#lineItems</tt>).
      *
      * <p>
-     * If annotated on a type, then the page size refers to standalone collections (eg as returned from a repository
-     * query).
+     * If annotated on a type, then the page size refers to standalone
+     * collections (eg as returned from a repository query).
      */
     public int paged() default -1;
 
+
     // //////////////////////////////////////
 
     /**

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java
index 42a1808..bbc0c22 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/ViewModelLayout.java
@@ -1,19 +1,21 @@
-/* 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. */
+/*
+ *  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;
 
@@ -27,15 +29,15 @@ import java.lang.annotation.Target;
  * Layout hints for view models.
  *
  * <p>
- * This is intended for use with UI/application-layer view models that are specified as such through either the
- * {@link org.apache.isis.applib.annotation.ViewModel} annotation or by implementing the
- * {@link org.apache.isis.applib.ViewModel} interface.
+ *     This is intended for use with UI/application-layer view models that are specified as such through either
+ *     the {@link org.apache.isis.applib.annotation.ViewModel} annotation or by implementing the
+ *     {@link org.apache.isis.applib.ViewModel} interface.
  * </p>
  *
  * <p>
- * Note that the attributes are the same as {@link org.apache.isis.applib.annotation.DomainObjectLayout}; it captures
- * the same information. This annotation is provided for symmetry; most view models will be annotated with just
- * <tt>@ViewModel</tt> and <tt>@ViewModelLayout</tt>.
+ *      Note that the attributes are the same as {@link org.apache.isis.applib.annotation.DomainObjectLayout}; it
+ *      captures the same information.  This annotation is provided for symmetry; most view models will be annotated
+ *      with just <tt>@ViewModel</tt> and <tt>@ViewModelLayout</tt>.
  * </p>
  */
 @Inherited
@@ -60,10 +62,19 @@ public @interface ViewModelLayout {
 
     /**
      * Indicates the position of the <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a>
-     * icon. The icon could be rendered on the left or the right of the action button
+     * icon. The icon could be rendered on the left or the right of the object's title.
+     *
+     * <p>
+     *     This attribute is currently ignored by Isis viewers.
+     * </p>
      */
     CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
 
+    enum CssClassFaPosition {
+        LEFT, RIGHT
+    }
+
+
     // //////////////////////////////////////
 
     /**
@@ -71,6 +82,7 @@ public @interface ViewModelLayout {
      */
     String describedAs() default "";
 
+
     // //////////////////////////////////////
 
     /**
@@ -78,6 +90,7 @@ public @interface ViewModelLayout {
      */
     String named() default "";
 
+
     // //////////////////////////////////////
 
     /**
@@ -85,14 +98,16 @@ public @interface ViewModelLayout {
      * a table.
      *
      * <p>
-     * If annotated on a collection, then the page size refers to parented collections (eg <tt>Order#lineItems</tt>).
+     * If annotated on a collection, then the page size refers to
+     * parented collections (eg <tt>Order#lineItems</tt>).
      *
      * <p>
-     * If annotated on a type, then the page size refers to standalone collections (eg as returned from a repository
-     * query).
+     * If annotated on a type, then the page size refers to standalone
+     * collections (eg as returned from a repository query).
      */
     public int paged() default -1;
 
+
     // //////////////////////////////////////
 
     /**

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutAnnotation.java
index ac92474..3b04e02 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutAnnotation.java
@@ -1,43 +1,44 @@
-/* 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. */
+/*
+ *  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 com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
-
-import com.google.common.base.Strings;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 public class CssClassFaFacetForActionLayoutAnnotation extends CssClassFaFacetAbstract {
 
     public static CssClassFaFacet create(final ActionLayout actionLayout, final FacetHolder holder) {
-        if (actionLayout == null) {
+        if(actionLayout == null) {
             return null;
         }
         final String cssClassFa = Strings.emptyToNull(actionLayout.cssClassFa());
-        CssClassFaPosition cssClassFaPosition = actionLayout.cssClassFaPosition();
+        CssClassFaPosition cssClassFaPosition = CssClassFaPosition.from(actionLayout.cssClassFaPosition());
         return cssClassFa != null ? new CssClassFaFacetForActionLayoutAnnotation(cssClassFa, cssClassFaPosition, holder) : null;
     }
 
-    private CssClassFaFacetForActionLayoutAnnotation(final String value,
-            final CssClassFaPosition position, final FacetHolder holder) {
+    private CssClassFaFacetForActionLayoutAnnotation(final String value, final CssClassFaPosition position, final FacetHolder holder) {
         super(value, position, holder);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
index 193b049..b39d1a3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetOnActionFromLayoutProperties.java
@@ -1,58 +1,60 @@
-/* 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. */
+/*
+ *  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 org.apache.isis.applib.annotation.CssClassFaPosition;
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
-
-import com.google.common.base.Strings;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 public class CssClassFaFacetOnActionFromLayoutProperties extends CssClassFaFacetAbstract {
 
     public static CssClassFaFacet create(final Properties properties, final FacetHolder holder) {
         final String cssClassFa = cssClassFa(properties);
-        CssClassFaPosition position = cssClassFaPosition(properties);
-        return cssClassFa != null ? new CssClassFaFacetOnActionFromLayoutProperties(cssClassFa, position, holder) : null;
+        CssClassFaPosition position = CssClassFaPosition.from(cssClassFaPosition(properties));
+        return cssClassFa != null? new CssClassFaFacetOnActionFromLayoutProperties(cssClassFa, position, holder): null;
     }
 
-    private CssClassFaFacetOnActionFromLayoutProperties(final String cssClass,
-            final CssClassFaPosition position, final FacetHolder holder) {
-        super(cssClass, null, holder);
+    private CssClassFaFacetOnActionFromLayoutProperties(final String cssClass, final CssClassFaPosition position, final FacetHolder holder) {
+        super(cssClass, position, holder);
     }
 
     private static String cssClassFa(final Properties properties) {
-        if (properties == null) {
+        if(properties == null) {
             return null;
         }
         return Strings.emptyToNull(properties.getProperty("cssClassFa"));
     }
 
-    private static CssClassFaPosition cssClassFaPosition(final Properties properties) {
+    private static ActionLayout.CssClassFaPosition cssClassFaPosition(final Properties properties) {
         if (properties == null) {
             return null;
         }
         String cssClassFaPosition = Strings.emptyToNull(properties.getProperty("cssClassFaPosition"));
         return cssClassFaPosition != null
-                ? CssClassFaPosition.valueOf(cssClassFaPosition.toUpperCase())
-                : CssClassFaPosition.LEFT;
+            ? ActionLayout.CssClassFaPosition.valueOf(cssClassFaPosition.toUpperCase())
+            : ActionLayout.CssClassFaPosition.LEFT;
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacet.java
index 1253c77..7ef1b33 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacet.java
@@ -1,34 +1,32 @@
-/* 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. */
+/*
+ *  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.members.cssclassfa;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facets.SingleStringValueFacet;
 
 /**
- * The <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> css class(es) for an action or a domain
- * object
+ * The <a href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a> css class(es) for an action.
  *
  * <p>
- * In the standard Apache Isis Programming Model, corresponds to annotating the member with
- * <tt>{@literal @}{@link org.apache.isis.applib.annotation.ActionLayout#cssClassFa()  ActionLayout}</tt>#cssClassFa()
- * or <tt>{@literal @}{@link org.apache.isis.applib.annotation.DomainObjectLayout#cssClassFa()  DomainObjectLayout}</tt>
- * #cssClassFa()
+ * In the standard Apache Isis Programming Model, corresponds to annotating the
+ * member with <tt>{@literal @}{@link org.apache.isis.applib.annotation.ActionLayout#cssClassFa()  ActionLayout}</tt>#cssClassFa().
  */
 public interface CssClassFaFacet extends SingleStringValueFacet {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacetAbstract.java
index 9634308..58366c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaFacetAbstract.java
@@ -20,16 +20,14 @@ package org.apache.isis.core.metamodel.facets.members.cssclassfa;
 import java.util.Set;
 import java.util.regex.Pattern;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.SingleStringValueFacetAbstract;
-
 import com.google.common.base.Joiner;
 import com.google.common.base.Splitter;
 import com.google.common.collect.Sets;
 
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.SingleStringValueFacetAbstract;
+
 public class CssClassFaFacetAbstract extends SingleStringValueFacetAbstract implements CssClassFaFacet {
 
     private static final Pattern WHITESPACE = Pattern.compile("\\s+");

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaPosition.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaPosition.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaPosition.java
new file mode 100644
index 0000000..4692f6a
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/CssClassFaPosition.java
@@ -0,0 +1,75 @@
+/* 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.members.cssclassfa;
+
+import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.DomainObjectLayout;
+import org.apache.isis.applib.annotation.ViewModelLayout;
+
+/**
+ * Generalizes {@link org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition}, {@link org.apache.isis.applib.annotation.DomainObjectLayout.CssClassFaPosition} and {@link org.apache.isis.applib.annotation.ViewModelLayout.CssClassFaPosition}.
+ *
+ * <p>
+ *     This isn't part of the applib only because didn't want to break backward compatibility of the existing {@link org.apache.isis.applib.annotation.ActionLayout} annotation.
+ * </p>
+ */
+public enum CssClassFaPosition {
+    LEFT, RIGHT;
+
+    @Deprecated
+    public static CssClassFaPosition from(final DomainObjectLayout.CssClassFaPosition cssClassFaPosition) {
+        if(cssClassFaPosition == null) {
+            return null;
+        }
+        switch (cssClassFaPosition) {
+            case LEFT:
+                return LEFT;
+            case RIGHT:
+                return RIGHT;
+            }
+        throw new IllegalArgumentException("not recognized: " + cssClassFaPosition);
+    }
+
+    @Deprecated
+    public static CssClassFaPosition from(final ViewModelLayout.CssClassFaPosition cssClassFaPosition) {
+        if(cssClassFaPosition == null) {
+            return null;
+        }
+        switch (cssClassFaPosition) {
+        case LEFT:
+            return LEFT;
+        case RIGHT:
+            return RIGHT;
+        }
+        throw new IllegalArgumentException("not recognized: " + cssClassFaPosition);
+    }
+
+    @Deprecated
+    public static CssClassFaPosition from(final ActionLayout.CssClassFaPosition cssClassFaPosition) {
+        if(cssClassFaPosition == null) {
+            return null;
+        }
+        switch (cssClassFaPosition) {
+        case LEFT:
+            return LEFT;
+        case RIGHT:
+            return RIGHT;
+        }
+        throw new IllegalArgumentException("not recognized: " + cssClassFaPosition);
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
index dac04be..8ab9477 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
@@ -1,19 +1,19 @@
 /*
  *  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
+ *  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
+ *        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
+ *  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.
  */
 
@@ -27,7 +27,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.apache.isis.applib.annotation.CssClassFa;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.commons.config.ConfigurationConstants;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationAware;

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
index a7c2e6a..74a3387 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
@@ -19,7 +19,7 @@
 
 package org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
index da7420f..a9c0f47 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
@@ -19,7 +19,7 @@ package org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop;
 
 import java.util.Properties;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForDomainObjectLayoutFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForDomainObjectLayoutFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForDomainObjectLayoutFactory.java
index c8d82a1..f0055f0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForDomainObjectLayoutFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForDomainObjectLayoutFactory.java
@@ -17,15 +17,15 @@
 
 package org.apache.isis.core.metamodel.facets.object.cssclassfa.annotation;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facets.object.domainobjectlayout.CssClassFaFacetForDomainObjectLayoutAnnotation;
 
-import com.google.common.base.Strings;
-
 public class CssClassFaFacetForDomainObjectLayoutFactory extends CssClassFaFacetAbstract {
 
     public static CssClassFaFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
@@ -33,7 +33,7 @@ public class CssClassFaFacetForDomainObjectLayoutFactory extends CssClassFaFacet
             return null;
         }
         final String cssClassFa = Strings.emptyToNull(domainObjectLayout.cssClassFa());
-        final CssClassFaPosition position = domainObjectLayout.cssClassFaPosition();
+        final CssClassFaPosition position = CssClassFaPosition.from(domainObjectLayout.cssClassFaPosition());
         return cssClassFa != null ? new CssClassFaFacetForDomainObjectLayoutAnnotation(cssClassFa, position, holder) : null;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForViewModelLayoutFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForViewModelLayoutFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForViewModelLayoutFactory.java
index 22a7d7f..9706346 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForViewModelLayoutFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/cssclassfa/annotation/CssClassFaFacetForViewModelLayoutFactory.java
@@ -17,15 +17,15 @@
 
 package org.apache.isis.core.metamodel.facets.object.cssclassfa.annotation;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facets.object.domainobjectlayout.CssClassFaFacetForViewModelLayoutAnnotation;
 
-import com.google.common.base.Strings;
-
 public class CssClassFaFacetForViewModelLayoutFactory extends CssClassFaFacetAbstract {
 
     public static CssClassFaFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
@@ -33,7 +33,7 @@ public class CssClassFaFacetForViewModelLayoutFactory extends CssClassFaFacetAbs
             return null;
         }
         final String cssClassFa = Strings.emptyToNull(viewModelLayout.cssClassFa());
-        final CssClassFaPosition position = viewModelLayout.cssClassFaPosition();
+        final CssClassFaPosition position = CssClassFaPosition.from(viewModelLayout.cssClassFaPosition());
         return cssClassFa != null ? new CssClassFaFacetForViewModelLayoutAnnotation(cssClassFa,
                 position,
                 holder) : null;

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java
index e6540f7..bdd2d0f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForDomainObjectLayoutAnnotation.java
@@ -17,13 +17,13 @@
 
 package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
-
-import com.google.common.base.Strings;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 public class CssClassFaFacetForDomainObjectLayoutAnnotation extends CssClassFaFacetAbstract {
 
@@ -32,7 +32,7 @@ public class CssClassFaFacetForDomainObjectLayoutAnnotation extends CssClassFaFa
             return null;
         }
         final String cssClassFa = Strings.emptyToNull(domainObjectLayout.cssClassFa());
-        final CssClassFaPosition position = domainObjectLayout.cssClassFaPosition();
+        final CssClassFaPosition position = CssClassFaPosition.from(domainObjectLayout.cssClassFaPosition());
         return cssClassFa != null ? new CssClassFaFacetForDomainObjectLayoutAnnotation(cssClassFa, position, holder) : null;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java
index 80d0003..725a089 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFaFacetForViewModelLayoutAnnotation.java
@@ -16,13 +16,13 @@
  * under the License. */
 package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
-
-import com.google.common.base.Strings;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 public class CssClassFaFacetForViewModelLayoutAnnotation extends CssClassFaFacetAbstract {
 
@@ -31,7 +31,7 @@ public class CssClassFaFacetForViewModelLayoutAnnotation extends CssClassFaFacet
             return null;
         }
         final String cssClassFa = Strings.emptyToNull(viewModelLayout.cssClassFa());
-        final CssClassFaPosition position = viewModelLayout.cssClassFaPosition();
+        final CssClassFaPosition position = CssClassFaPosition.from(viewModelLayout.cssClassFaPosition());
         return cssClassFa != null ? new CssClassFaFacetForViewModelLayoutAnnotation(cssClassFa, position, holder) : null;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
index 144f511..36060df 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForDomainObjectLayoutAnnotation.java
@@ -16,14 +16,13 @@
  * under the License. */
 package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
 
-import com.google.common.base.Strings;
-
 public class CssClassFacetForDomainObjectLayoutAnnotation extends CssClassFacetAbstract {
 
     public static CssClassFacet create(final DomainObjectLayout domainObjectLayout, final FacetHolder holder) {
@@ -31,11 +30,11 @@ public class CssClassFacetForDomainObjectLayoutAnnotation extends CssClassFacetA
             return null;
         }
         final String cssClass = Strings.emptyToNull(domainObjectLayout.cssClass());
-        final CssClassFaPosition position = domainObjectLayout.cssClassFaPosition();
-        return cssClass != null ? new CssClassFacetForDomainObjectLayoutAnnotation(cssClass, position, holder) : null;
+        return cssClass != null ? new CssClassFacetForDomainObjectLayoutAnnotation(cssClass, holder) : null;
     }
 
-    private CssClassFacetForDomainObjectLayoutAnnotation(final String value, final CssClassFaPosition position,
+    private CssClassFacetForDomainObjectLayoutAnnotation(
+            final String value,
             final FacetHolder holder) {
         super(value, holder);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java
index 766e8b8..eb2a0ed 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/CssClassFacetForViewModelLayoutAnnotation.java
@@ -16,14 +16,13 @@
  * under the License. */
 package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import com.google.common.base.Strings;
+
 import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
 
-import com.google.common.base.Strings;
-
 public class CssClassFacetForViewModelLayoutAnnotation extends CssClassFacetAbstract {
 
     public static CssClassFacet create(final ViewModelLayout viewModelLayout, final FacetHolder holder) {
@@ -31,11 +30,11 @@ public class CssClassFacetForViewModelLayoutAnnotation extends CssClassFacetAbst
             return null;
         }
         final String cssClass = Strings.emptyToNull(viewModelLayout.cssClass());
-        final CssClassFaPosition position = viewModelLayout.cssClassFaPosition();
-        return cssClass != null ? new CssClassFacetForViewModelLayoutAnnotation(cssClass, position, holder) : null;
+        return cssClass != null ? new CssClassFacetForViewModelLayoutAnnotation(cssClass, holder) : null;
     }
 
-    private CssClassFacetForViewModelLayoutAnnotation(final String value, final CssClassFaPosition position,
+    private CssClassFacetForViewModelLayoutAnnotation(
+            final String value,
             final FacetHolder holder) {
         super(value, holder);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
index 17514e9..32d7c72 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectAction.java
@@ -23,7 +23,7 @@ import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.applib.annotation.Bulk;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.filter.Filter;
 import org.apache.isis.applib.value.Blob;

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java
index 407ac77..3c8fa70 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryTest.java
@@ -17,27 +17,28 @@
 
 package org.apache.isis.core.metamodel.facets.actions.layout;
 
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.instanceOf;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-import static org.junit.Assert.assertThat;
-
 import java.lang.reflect.Method;
 
+import org.jmock.Expectations;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 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.members.cssclassfa.CssClassFaFacet;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
-import org.jmock.Expectations;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
 
 public class ActionLayoutAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4TestCase {
 
@@ -151,7 +152,7 @@ public class ActionLayoutAnnotationFacetFactoryTest extends AbstractFacetFactory
 
             class Customer {
                 @SuppressWarnings("unused")
-                @ActionLayout(cssClassFa = "font-awesome", cssClassFaPosition = CssClassFaPosition.RIGHT)
+                @ActionLayout(cssClassFa = "font-awesome", cssClassFaPosition = ActionLayout.CssClassFaPosition.RIGHT)
                 public String foz() {
                     return null;
                 }

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
index a9b8c80..acce1b6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
@@ -19,15 +19,13 @@
 
 package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
+import org.jmock.auto.Mock;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
 
 import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.ViewModelLayout;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
@@ -38,14 +36,17 @@ import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
 import org.apache.isis.core.metamodel.facets.object.paged.PagedFacet;
 import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
-import org.jmock.auto.Mock;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
 
 public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4TestCase {
 
@@ -66,7 +67,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
             bookmarking = BookmarkPolicy.AS_ROOT,
             cssClass = "foobar",
             cssClassFa = "foo",
-            cssClassFaPosition = CssClassFaPosition.RIGHT,
+            cssClassFaPosition = DomainObjectLayout.CssClassFaPosition.RIGHT,
             describedAs = "This is a description",
             named = "Name override",
             paged = 20,
@@ -83,7 +84,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
             bookmarking = BookmarkPolicy.AS_ROOT,
             cssClass = "foobar",
             cssClassFa = "foo",
-            cssClassFaPosition = CssClassFaPosition.RIGHT,
+            cssClassFaPosition = ViewModelLayout.CssClassFaPosition.RIGHT,
             describedAs = "This is a description",
             named = "Name override",
             paged = 20,

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index d884381..19e1fd4 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -25,7 +25,7 @@ import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 public class LinkAndLabel implements Serializable {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/CssClassFaBehavior.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/CssClassFaBehavior.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/CssClassFaBehavior.java
index abd9f3b..58294c9 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/CssClassFaBehavior.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/CssClassFaBehavior.java
@@ -20,7 +20,7 @@ package org.apache.isis.viewer.wicket.ui.components.actionmenu;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.behavior.Behavior;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 
 /**
  * A behavior that prepends or appends the markup needed to show a Font Awesome icon

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
index 272bec3..d80374a 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/entityactions/AdditionalLinksPanel.java
@@ -28,7 +28,7 @@ import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
 import org.apache.isis.viewer.wicket.model.links.ListOfLinksModel;

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
index e7499e3..b14d616 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/CssMenuItem.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.ensure.Ensure;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
index 661a0af..941d3ea 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/bulk/BulkActionsLinkFactory.java
@@ -29,7 +29,7 @@ import org.apache.isis.applib.RecoverableException;
 import org.apache.isis.applib.services.actinvoc.ActionInvocationContext;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Bulk;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.applib.annotation.InvokedOn;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.Command.Executor;

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
index 9305d65..d7f10d2 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLinkFactoryAbstract.java
@@ -18,7 +18,7 @@
 package org.apache.isis.viewer.wicket.ui.components.widgets.linkandlabel;
 
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.CssClassFaPosition;
+import org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;

http://git-wip-us.apache.org/repos/asf/isis/blob/1d825841/example/application/simpleapp/dom/src/main/java/domainapp/dom/modules/simple/SimpleObject.java
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/dom/src/main/java/domainapp/dom/modules/simple/SimpleObject.java b/example/application/simpleapp/dom/src/main/java/domainapp/dom/modules/simple/SimpleObject.java
index 00a5f8b..546f433 100644
--- a/example/application/simpleapp/dom/src/main/java/domainapp/dom/modules/simple/SimpleObject.java
+++ b/example/application/simpleapp/dom/src/main/java/domainapp/dom/modules/simple/SimpleObject.java
@@ -60,7 +60,8 @@ import org.apache.isis.applib.util.ObjectContracts;
 @javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
 @DomainObject
 @DomainObjectLayout(
-        bookmarking = BookmarkPolicy.AS_ROOT
+        bookmarking = BookmarkPolicy.AS_ROOT,
+        cssClassFa = "fa-flag"
 )
 public class SimpleObject implements Comparable<SimpleObject> {