You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2013/08/16 19:08:18 UTC

[5/5] git commit: ISIS-497: contributed associations.

ISIS-497: contributed associations.


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

Branch: refs/heads/master
Commit: 869668e2cb75447f4c1f783d0164f5a1797a5832
Parents: 0eb6915
Author: Dan Haywood <da...@apache.org>
Authored: Fri Aug 16 18:07:50 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Fri Aug 16 18:07:50 2013 +0100

----------------------------------------------------------------------
 .../datanucleus/metamodel/JdoPropertyUtils.java |   3 +-
 .../persistence/FrameworkSynchronizer.java      |   4 +-
 .../persistence/spi/JdoObjectIdSerializer.java  |   2 -
 .../service/support/IsisJdoSupportImpl.java     |   1 -
 .../jdo/service/RegisterEntities.java           |   2 +-
 ...toryFromJdoColumnAnnotationFacetFactory.java |   4 +-
 ...FromJdoColumnAnnotationFacetFactoryTest.java |   8 +-
 ...FromJdoColumnAnnotationFacetFactoryTest.java |   9 +-
 ...leObjectWithBigDecimalColumnAnnotations.java |   2 -
 .../isis/objectstore/nosql/ObjectReader.java    |   3 +-
 .../objectstore/nosql/WriteObjectCommand.java   |   3 +-
 .../nosql/db/file/server/FileServer.java        |   2 -
 .../objectstore/nosql/db/mongo/MongoDb.java     |   3 +-
 .../nosql/NoSqlIdentifierGeneratorTest.java     |   4 -
 .../nosql/NoSqlObjectStoreTest_constructor.java |   4 -
 .../NoSqlObjectStoreTest_interactWith_db.java   |   4 -
 .../nosql/db/file/ClientConnectionTest.java     |   4 -
 .../nosql/db/file/server/DataWriterTest.java    |   4 -
 .../mongo/MongoStateReaderIntegrationTest.java  |   4 -
 .../mongo/MongoStateWriterIntegrationTest.java  |   4 -
 .../objectstore/sql/ObjectMappingLookup.java    |   3 +-
 .../sql/auto/AbstractAutoMapper.java            |   5 +-
 .../isis/objectstore/sql/auto/AutoMapper.java   |   3 +-
 .../objectstore/sql/jdbc/JdbcConnector.java     |   4 +-
 .../isis/objectstore/xml/XmlObjectStore.java    |   3 +-
 .../commands/AbstractXmlPersistenceCommand.java |   3 +-
 .../isis/viewer/dnd/calendar/CalendarGrid.java  |   3 +-
 .../dnd/calendar/CalendarSpecification.java     |   3 +-
 .../combined/FormWithTableSpecification.java    |   3 +-
 .../dnd/combined/SplitViewSpecification.java    |   3 +-
 .../dnd/combined/TwoPartViewSpecification.java  |   3 +-
 .../viewer/dnd/configurable/NewObjectView.java  |   3 +-
 .../dnd/configurable/ViewDesignBorder.java      |   3 +-
 .../viewer/dnd/form/ExpandableViewBorder.java   |   3 +-
 .../dnd/form/FormWithDetailSpecification.java   |   3 +-
 .../dnd/histogram/HistogramSpecification.java   |   3 +-
 .../dnd/table/AbstractTableSpecification.java   |   3 +-
 .../isis/viewer/dnd/table/TableAxisImpl.java    |   3 +-
 .../dnd/tree/ClosedObjectNodeSpecification.java |   3 +-
 .../dnd/tree/OpenObjectNodeSpecification.java   |   3 +-
 .../viewer/dnd/view/action/OptionFactory.java   |   2 +-
 .../collection/AbstractCollectionContent.java   |   3 +-
 .../dnd/view/composite/ObjectFieldBuilder.java  |   3 +-
 .../dnd/view/content/AbstractObjectContent.java |   7 +-
 .../dnd/view/debug/DebugDumpSnapshotOption.java |   3 -
 .../ConfigurableListViewSpecificationTest.java  |   4 -
 .../isis/viewer/dnd/configurable/PanelTest.java |   4 -
 .../dnd/configurable/PanelViewDropTest.java     |   4 -
 .../viewer/dnd/configurable/PanelViewTest.java  |   4 -
 .../isis/viewer/dnd/toolbar/ToolbarTest.java    |   4 -
 .../dnd/view/composite/CompositeViewTest.java   |   4 -
 .../text/MultilineTextFieldContentTest.java     |   4 -
 .../viewer/dnd/view/text/TextBlockTest.java     |   4 -
 .../dnd/view/text/TextFieldContentTest.java     |   4 -
 .../dnd/viewer/ViewUpdateNotifierTest.java      |   4 -
 .../viewer/basic/ActionFieldBuilderTest.java    |   4 -
 .../dnd/viewer/basic/ScrollBorderTest.java      |   3 -
 .../viewer/dnd/viewer/drawing/BoundsTest.java   |   5 -
 .../viewer/dnd/viewer/drawing/SizeTest.java     |   5 -
 .../viewer/view/field/TextFieldBorderTest.java  |   5 -
 .../domainobjects/DomainObjectReprRenderer.java |   4 +-
 .../domaintypes/DomainTypeReprRenderer.java     |   5 +-
 .../restfulobjects/server/ResourceContext.java  |   4 +-
 .../AuthenticationSessionStrategyBasicAuth.java |   1 +
 .../AuthenticationSessionStrategyHeader.java    |   8 +-
 .../EmbeddedWebViewerRestfulObjects.java        |   5 +-
 .../DomainObjectResourceServerside.java         |   4 +-
 .../server/resources/DomainResourceHelper.java  |  19 +--
 .../server/resources/VersionReprRenderer.java   |   4 +-
 .../server/util/NOTUSED_ActionUtils.java        |   4 +-
 ...ontextTest_ensureCompatibleAcceptHeader.java |   5 +-
 .../server/ResourceContextTest_getArg.java      |   9 +-
 ...ulObjectsApplicationExceptionMapperTest.java |   6 +-
 .../DomainResourceHelperTest_readBodyAsMap.java |   4 +-
 .../server/util/UrlParserUtilsTest.java         |   3 +-
 .../viewer/scimpi/dispatcher/Dispatcher.java    |   4 +-
 .../context/DefaultOidObjectMapping.java        |   9 +-
 .../dispatcher/context/RequestContext.java      |   3 +-
 .../scimpi/dispatcher/debug/DebugAction.java    |  12 +-
 .../scimpi/dispatcher/debug/LogAction.java      |   3 -
 .../scimpi/dispatcher/edit/EditAction.java      |   3 +-
 .../dispatcher/processor/HtmlFileParser.java    |   4 +-
 .../scimpi/dispatcher/util/MethodsUtils.java    |   2 +-
 .../dispatcher/view/action/ActionButton.java    |   2 +-
 .../dispatcher/view/action/ActionLink.java      |   1 +
 .../scimpi/dispatcher/view/action/Methods.java  |   2 +-
 .../scimpi/dispatcher/view/debug/Debug.java     |   6 +-
 .../dispatcher/view/debug/DebugObjectView.java  |   3 +-
 .../scimpi/dispatcher/view/debug/LogLevel.java  |   4 -
 .../scimpi/dispatcher/view/debug/Members.java   |   4 +-
 .../dispatcher/view/debug/Specification.java    |   5 +-
 .../view/display/AbstractFormView.java          |   3 +-
 .../view/display/AbstractTableView.java         |   3 +-
 .../dispatcher/view/display/LongFormView.java   |   3 +-
 .../scimpi/dispatcher/view/edit/EditObject.java |   5 +-
 .../view/simple/AbstractConditionalBlock.java   |   4 +-
 .../scimpi/dispatcher/view/simple/EditLink.java |   3 +-
 .../dispatcher/view/simple/ObjectLink.java      |   3 +-
 .../dispatcher/view/simple/RemoveElement.java   |   3 +-
 .../wicket/model/models/BookmarkTreeNode.java   |   3 +-
 .../ui/components/actions/ActionPanel.java      |   1 -
 .../actions/ActionParametersFormPanel.java      |   7 -
 .../additionallinks/EntityActionUtil.java       |   2 +-
 .../cssmenu/AppActionsCssMenuFactory.java       |   2 +-
 .../bookmarkedpages/BookmarkedPagesPanel.java   |   1 -
 .../components/collection/CollectionPanel.java  |   1 -
 .../CollectionContentsAsAjaxTablePanel.java     |   4 +-
 .../ajaxtable/MyHeadersToolbar.java             |   4 -
 .../summary/CollectionContentsAsSummary.java    |   4 +-
 .../CollectionContentsAsSummaryFactory.java     |   3 +-
 .../collections/EntityCollectionsPanel.java     |  13 +-
 .../entity/header/EntityHeaderPanel.java        |   4 +-
 .../entity/properties/EntityPropertiesForm.java |   5 +-
 .../components/scalars/ScalarPanelAbstract.java |   5 +-
 .../scalars/ScalarPanelTextFieldAbstract.java   |   7 -
 .../isisapplib/IsisBlobOrClobPanelAbstract.java |   5 +-
 .../scalars/reference/ReferencePanel.java       |   1 -
 .../components/scalars/string/StringPanel.java  |  15 --
 .../checkbox/ContainedToggleboxPanel.java       |   1 -
 .../widgets/cssmenu/CssMenuBuilder.java         |   3 +-
 .../components/widgets/cssmenu/CssMenuItem.java |   2 +-
 .../components/widgets/cssmenu/CssMenuPanel.css |  17 +-
 .../entitylink/EntityLinkSelect2Panel.java      |   1 -
 .../valuechoices/ValueChoicesSelect2Panel.java  |   5 +-
 .../wicket/ui/pages/entity/EntityPage.java      |   4 -
 .../wicket/ui/pages/login/WicketSignInPage.java |   2 -
 .../ui/panels/ProcessObjectPanelAbstract.java   |   3 +-
 ...ollectionContentsLinksSelectorPanelTest.java |   2 +-
 .../DateConverterForApplibDateTest.java         |   3 -
 .../DateConverterForApplibDateTimeTest.java     |   2 -
 .../DateConverterForJavaSqlDateTest.java        |   4 -
 .../DateConverterForJavaUtilDateTest.java       |   2 -
 .../DateConverterForJodaDateTimeTest.java       |   3 -
 .../DateConverterForJodaLocalDateTest.java      |   1 -
 .../apache/isis/applib/annotation/Hidden.java   |   6 +
 .../isis/applib/annotation/NotContributed.java  |  17 +-
 .../AuthenticationSessionProvider.java          |   1 -
 .../core/commons/components/Injectable.java     |   1 -
 .../core/commons/exceptions/ExceptionUtils.java |   3 -
 .../metamodel/adapter/mgr/AdapterManager.java   |   1 -
 .../facetdecorator/FacetDecoratorSet.java       |   4 +-
 .../collections/modify/CollectionFacet.java     |   1 -
 .../autocomplete/AutoCompleteFacetAbstract.java |   3 +-
 .../autocomplete/PropertyAutoCompleteFacet.java |   1 -
 .../MemberOrderFacetComparator.java             |   3 -
 .../json/LayoutMetadataReaderFromJson.java      |   7 +-
 .../DeveloperUtilitiesServiceDefault.java       |  15 +-
 .../metamodel/spec/ObjectSpecification.java     |   1 +
 .../metamodel/spec/feature/Contributed.java     |  29 ++++
 .../spec/feature/ObjectActionContainer.java     |  12 --
 .../metamodel/spec/feature/ObjectActions.java   |   7 +-
 .../feature/ObjectAssociationContainer.java     |   8 +-
 .../spec/feature/ObjectAssociations.java        |  17 +-
 .../specloader/ObjectReflectorDefault.java      |   9 +-
 .../ClassSubstitutorAbstract.java               |   1 -
 .../specloader/specimpl/ContributedMember.java  |  30 ++++
 .../specimpl/FacetedMethodsBuilder.java         |   3 -
 .../ObjectActionParameterParseable.java         |   5 -
 .../specimpl/ObjectSpecificationAbstract.java   | 167 +++++++++++++++----
 .../OneToManyAssociationContributed.java        | 105 ++++++++++++
 .../specimpl/OneToManyAssociationImpl.java      |  14 +-
 .../specimpl/OneToOneActionParameterImpl.java   |   9 -
 .../OneToOneAssociationContributed.java         |  75 +++++++++
 .../specimpl/OneToOneAssociationImpl.java       |   7 +-
 .../dflt/ObjectSpecificationDefault.java        |  11 +-
 .../ObjectSpecificationForFreeStandingList.java |   8 +-
 .../apache/isis/core/metamodel/util/Dump.java   |  10 +-
 .../MethodPrefixBasedFacetFactoryAbstract.java  |   2 +-
 .../notcontributed/NotContributedFacet.java     |   5 +
 .../NotContributedFacetAbstract.java            |  22 ++-
 .../NotContributedAnnotationFacetFactory.java   |   2 +-
 .../NotContributedFacetAnnotation.java          |   5 +-
 .../SortedByAnnotationFacetFactory.java         |   3 +-
 .../members/order/MemberOrderFacetFactory.java  |   2 -
 .../MemberGroupLayoutFacetFactory.java          |   4 +-
 .../MemberGroupsFacetAnnotation.java            |   1 -
 .../annotation/TitleAnnotationFacetFactory.java |   2 -
 .../TitleFacetViaTitleAnnotation.java           |   2 -
 .../ObjectValidPropertiesFacetImpl.java         |   3 +-
 .../method/ActionChoicesFacetFactory.java       |   1 -
 ...toryFacetInvertedByOptionalForParameter.java |   1 -
 .../accessor/PropertyAccessorFacetFactory.java  |   1 -
 ...pertyChangedEventAnnotationFacetFactory.java |   3 +-
 .../isis/core/runtime/snapshot/XmlSnapshot.java |   5 +-
 .../dflt/ProgrammingModelFacetsJava5.java       |   1 -
 .../ConfigurationBuilderFileSystemTest.java     |   5 -
 .../ConfigurationBuilderTwoDirectoriesTest.java |   5 -
 ...isConfigurationDefault_PropertNamesTest.java |   6 -
 ...IsisConfigurationDefault_WhitespaceTest.java |   6 -
 .../LayoutMetadataReaderFromJsonTest_read.java  |   1 -
 ...MetadataReaderFromJsonTest_readMetadata.java |   7 +-
 .../spec/ObjectSpecificationsTest.java          |   2 -
 .../ClassSubstitutorAbstract_getClass.java      |   7 +-
 .../testspec/ObjectSpecificationStub.java       |  15 +-
 .../facets/AbstractFacetFactoryTest.java        |   7 -
 ...otContributedAnnotationFacetFactoryTest.java |  44 ++++-
 .../SortedByAnnotationFacetFactoryTest.java     |   7 -
 ...ClassAnnotationOnMemberFacetFactoryTest.java |  15 +-
 ...sClassAnnotationForTypeFacetFactoryTest.java |  15 +-
 .../TitleAnnotationFacetFactoryTest.java        |   1 -
 .../ordering/memberorder/DeweyOrderSetTest.java |   4 -
 .../MemberOrderAnnotationFacetFactoryTest.java  |   2 +-
 .../memberorder/MemberOrderComparatorTest.java  |   4 -
 ...hangedEventFacetAnnotationTest_newEvent.java |   4 +-
 ...edAsDayBeforeAnnotationFacetFactoryTest.java |   4 +-
 .../ObjectReflectorDefaultTestAbstract.java     |   4 -
 .../core/objectstore/InMemoryObjectStore.java   |   3 +-
 .../ObjectFixtureFilePersistor.java             |   3 +-
 .../ObjectFixtureService.java                   |   3 +-
 .../installers/InstallerLookupDefault.java      |   1 -
 .../isis/core/runtime/memento/Memento.java      |   5 +-
 .../persistence/adapter/PojoAdapter.java        |   1 -
 .../adaptermanager/AdapterManagerDefault.java   |   3 +-
 .../RootAndCollectionAdapters.java              |   3 +-
 .../algorithm/PersistAlgorithmDefault.java      |   3 +-
 .../query/PersistenceQueryFindByPattern.java    |   3 +-
 .../ServicesInstallerFromConfiguration.java     |   1 -
 .../session/IsisSessionFactoryAbstract.java     |   2 -
 .../system/transaction/IsisTransaction.java     |  11 +-
 .../transaction/IsisTransactionManager.java     |   4 -
 .../isis/core/webapp/IsisSessionFilter.java     |   1 -
 ...AdapterManagerDefault_aggregateAdapters.java |   4 -
 .../PersistenceSessionObjectStoreTest.java      |   4 -
 .../system/ObjectMemberAbstractTest.java        |   4 -
 .../system/transaction/IsisTransactionTest.java |   4 -
 .../dom/src/main/java/dom/todo/ToDoItem.java    |  12 +-
 .../src/main/java/dom/todo/ToDoItem.layout.json |   7 +-
 .../dom/src/main/java/dom/todo/ToDoItems.java   |  62 ++++++-
 228 files changed, 877 insertions(+), 626 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/metamodel/JdoPropertyUtils.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/metamodel/JdoPropertyUtils.java b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/metamodel/JdoPropertyUtils.java
index a73582b..976f6ba 100644
--- a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/metamodel/JdoPropertyUtils.java
+++ b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/metamodel/JdoPropertyUtils.java
@@ -25,6 +25,7 @@ import javax.jdo.annotations.PrimaryKey;
 
 import org.apache.isis.applib.filter.Filter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.objectstore.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet;
@@ -55,7 +56,7 @@ public final class JdoPropertyUtils {
         if (objSpec == null || !objSpec.containsFacet(JdoPersistenceCapableFacet.class)) {
             return null;
         }
-        final List<? extends ObjectAssociation> propertyList = objSpec.getAssociations(filter);
+        final List<? extends ObjectAssociation> propertyList = objSpec.getAssociations(Contributed.EXCLUDED, filter);
         if (propertyList.size() == 0) {
             return JdoPropertyUtils.getPropertyFor(objSpec.superclass(), annotationName, filter);
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/FrameworkSynchronizer.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/FrameworkSynchronizer.java b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/FrameworkSynchronizer.java
index 0e5bd8d..8046643 100644
--- a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/FrameworkSynchronizer.java
+++ b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/FrameworkSynchronizer.java
@@ -27,9 +27,9 @@ import javax.jdo.JDOHelper;
 import javax.jdo.PersistenceManager;
 import javax.jdo.spi.PersistenceCapable;
 
+import org.datanucleus.api.jdo.NucleusJDOHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.datanucleus.api.jdo.NucleusJDOHelper;
 
 import org.apache.isis.applib.filter.Filter;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
@@ -48,12 +48,10 @@ import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedCallbackFac
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.runtime.persistence.PersistorUtil;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.core.runtime.system.persistence.AdapterManagerSpi;
 import org.apache.isis.core.runtime.system.persistence.OidGenerator;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
 import org.apache.isis.objectstore.jdo.datanucleus.DataNucleusObjectStore;
-import org.apache.isis.objectstore.jdo.datanucleus.persistence.FrameworkSynchronizer.CalledFrom;
 
 public class FrameworkSynchronizer {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/JdoObjectIdSerializer.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/JdoObjectIdSerializer.java b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/JdoObjectIdSerializer.java
index 0fd4de8..932d90e 100644
--- a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/JdoObjectIdSerializer.java
+++ b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/spi/JdoObjectIdSerializer.java
@@ -24,7 +24,6 @@ import java.math.BigInteger;
 import java.util.Arrays;
 import java.util.List;
 
-import javax.jdo.annotations.IdGeneratorStrategy;
 import javax.jdo.annotations.IdentityType;
 import javax.jdo.identity.ByteIdentity;
 import javax.jdo.identity.IntIdentity;
@@ -38,7 +37,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecId;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.objectstore.jdo.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacet;
 import org.apache.isis.objectstore.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet;
 
 public final class JdoObjectIdSerializer {

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
index 226ee88..2c08b3b 100644
--- a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
+++ b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/service/support/IsisJdoSupportImpl.java
@@ -23,7 +23,6 @@ import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
index 7ee5603..a1750f5 100644
--- a/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
+++ b/component/objectstore/jdo/jdo-datanucleus/src/main/java/org/apache/isis/objectstore/jdo/service/RegisterEntities.java
@@ -27,9 +27,9 @@ import javax.jdo.annotations.PersistenceCapable;
 
 import com.google.common.base.Splitter;
 
+import org.reflections.Reflections;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.reflections.Reflections;
 
 import org.apache.isis.applib.annotation.Hidden;
 import org.apache.isis.core.runtime.system.context.IsisContext;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java b/component/objectstore/jdo/jdo-metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java
index 4bb74e2..ce668ae 100644
--- a/component/objectstore/jdo/jdo-metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java
+++ b/component/objectstore/jdo/jdo-metamodel/src/main/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryFromJdoColumnAnnotationFacetFactory.java
@@ -32,9 +32,9 @@ import org.apache.isis.core.metamodel.facets.Annotations;
 import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacetAbstract;
 import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacetDefault;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
@@ -119,7 +119,7 @@ public class MandatoryFromJdoColumnAnnotationFacetFactory extends FacetFactoryAb
 
             private void validate(ObjectSpecification objectSpec, ValidationFailures validationFailures) {
                 
-                List<ObjectAssociation> associations = objectSpec.getAssociations(ObjectAssociationFilters.PROPERTIES);
+                List<ObjectAssociation> associations = objectSpec.getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.PROPERTIES);
                 for (ObjectAssociation association : associations) {
                     
                     

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java b/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
index e8129dd..a272bdd 100644
--- a/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
+++ b/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest.java
@@ -18,22 +18,16 @@
  */
 package org.apache.isis.objectstore.jdo.metamodel.facets.prop.column;
 
-import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
 import java.lang.reflect.Method;
 import java.util.List;
 
-import javax.jdo.annotations.PrimaryKey;
-
-import org.junit.Assert;
-
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
 import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.members.disabled.DisabledFacet;
 import org.apache.isis.core.progmodel.facets.value.bigdecimal.BigDecimalValueFacet;
 
 public class BigDecimalDerivedFromJdoColumnAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java b/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
index 91b9057..6b0ac7d 100644
--- a/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
+++ b/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest.java
@@ -18,23 +18,16 @@
  */
 package org.apache.isis.objectstore.jdo.metamodel.facets.prop.column;
 
-import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
 import java.lang.reflect.Method;
 import java.util.List;
 
-import javax.jdo.annotations.PrimaryKey;
-
-import org.junit.Assert;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
 import org.apache.isis.core.metamodel.facets.mandatory.MandatoryFacet;
 import org.apache.isis.core.progmodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.progmodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.progmodel.facets.value.bigdecimal.BigDecimalValueFacet;
 
 public class MandatoryDerivedFromJdoColumnAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/SimpleObjectWithBigDecimalColumnAnnotations.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/SimpleObjectWithBigDecimalColumnAnnotations.java b/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/SimpleObjectWithBigDecimalColumnAnnotations.java
index fb4f0e7..9eb3219 100644
--- a/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/SimpleObjectWithBigDecimalColumnAnnotations.java
+++ b/component/objectstore/jdo/jdo-metamodel/src/test/java/org/apache/isis/objectstore/jdo/metamodel/facets/prop/column/SimpleObjectWithBigDecimalColumnAnnotations.java
@@ -22,8 +22,6 @@ import java.math.BigDecimal;
 
 import javax.jdo.annotations.Column;
 
-import org.apache.isis.applib.annotation.MemberOrder;
-
 
 public class SimpleObjectWithBigDecimalColumnAnnotations {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java
index 3253d25..cf43bff 100644
--- a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java
+++ b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/ObjectReader.java
@@ -36,6 +36,7 @@ import org.apache.isis.core.metamodel.adapter.version.Version;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationContainer;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
@@ -104,7 +105,7 @@ public class ObjectReader {
 
     private void readFields(final StateReader reader, final ObjectAdapter object, final DataEncryption dataEncrypter) {
         final ObjectAssociationContainer specification = object.getSpecification();
-        final List<ObjectAssociation> associations = specification.getAssociations();
+        final List<ObjectAssociation> associations = specification.getAssociations(Contributed.EXCLUDED);
         for (final ObjectAssociation association : associations) {
             if (association.isNotPersisted()) {
                 continue;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java
index 3e3e41c..3deb7f0 100644
--- a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java
+++ b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/WriteObjectCommand.java
@@ -34,6 +34,7 @@ import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.DomainModelException;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -110,7 +111,7 @@ class WriteObjectCommand implements PersistenceCommand {
 
     private void writeFields(final StateWriter writer, final ObjectAdapter adapter) {
         
-        final List<ObjectAssociation> associations = adapter.getSpecification().getAssociations();
+        final List<ObjectAssociation> associations = adapter.getSpecification().getAssociations(Contributed.EXCLUDED);
         
 //        final String specName = adapter.getSpecification().getFullIdentifier();
 //        writer.writeObjectType(specName);

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java
index f81898b..437016d 100644
--- a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java
+++ b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/file/server/FileServer.java
@@ -59,8 +59,6 @@ import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.configuration.SystemConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.lang.CastUtils;
 import org.apache.isis.objectstore.nosql.NoSqlStoreException;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java
index 2609011..776057f 100644
--- a/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java
+++ b/component/objectstore/nosql/src/main/java/org/apache/isis/objectstore/nosql/db/mongo/MongoDb.java
@@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
 import org.apache.isis.objectstore.nosql.NoSqlCommandContext;
@@ -182,7 +183,7 @@ public class MongoDb implements NoSqlDataDatabase {
 
         // REVIEW check the right types are used in matches 
         final BasicDBObject query = new BasicDBObject();
-        for ( ObjectAssociation association  : pattern.getSpecification().getAssociations()) {
+        for ( ObjectAssociation association  : pattern.getSpecification().getAssociations(Contributed.EXCLUDED)) {
             ObjectAdapter field = association.get(pattern);
             if (!association.isEmpty(pattern)) {
                 if (field.isValue()) {

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java
index 69f22f1..bad4876 100644
--- a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java
+++ b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlIdentifierGeneratorTest.java
@@ -21,10 +21,6 @@ package org.apache.isis.objectstore.nosql;
 
 import static org.junit.Assert.assertEquals;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.Before;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java
index 8e74b6d..05f9178 100644
--- a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java
+++ b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_constructor.java
@@ -26,10 +26,6 @@ import java.util.Map;
 
 import com.google.common.collect.Maps;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.jmock.Expectations;
 import org.jmock.Sequence;
 import org.jmock.auto.Mock;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java
index 4c19529..59b0b24 100644
--- a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java
+++ b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/NoSqlObjectStoreTest_interactWith_db.java
@@ -25,10 +25,6 @@ import java.util.Map;
 
 import com.google.common.collect.Maps;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.jmock.Expectations;
 import org.jmock.Sequence;
 import org.jmock.auto.Mock;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java
index 4b7f825..351ce02 100644
--- a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java
+++ b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/ClientConnectionTest.java
@@ -26,10 +26,6 @@ import static org.junit.Assert.fail;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.junit.Before;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java
index 266fadf..a6ec0e5 100644
--- a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java
+++ b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/file/server/DataWriterTest.java
@@ -27,10 +27,6 @@ import java.util.List;
 
 import junit.framework.Assert;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java
index 72e3284..af77921 100644
--- a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java
+++ b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateReaderIntegrationTest.java
@@ -30,10 +30,6 @@ import com.mongodb.DB;
 import com.mongodb.DBCollection;
 import com.mongodb.Mongo;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.junit.Before;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java
----------------------------------------------------------------------
diff --git a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java
index 6348af8..a628389 100644
--- a/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java
+++ b/component/objectstore/nosql/src/test/java/org/apache/isis/objectstore/nosql/db/mongo/MongoStateWriterIntegrationTest.java
@@ -28,10 +28,6 @@ import com.mongodb.DBCollection;
 import com.mongodb.DBObject;
 import com.mongodb.Mongo;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.junit.Before;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java
----------------------------------------------------------------------
diff --git a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java
index e613a65..3535b5f 100644
--- a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java
+++ b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/ObjectMappingLookup.java
@@ -33,6 +33,7 @@ import org.apache.isis.core.commons.factory.InstanceCreationException;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 
@@ -77,7 +78,7 @@ public class ObjectMappingLookup implements DebuggableWithTitle {
 
     private void add(final String className, final ObjectMapping mapper) {
         final ObjectSpecification spec = IsisContext.getSpecificationLoader().loadSpecification(className);
-        if (spec.getProperties().size() == 0) {
+        if (spec.getProperties(Contributed.EXCLUDED).size() == 0) {
             throw new SqlObjectStoreException(spec.getFullIdentifier() + " has no fields to persist: " + spec);
         }
         add(spec, mapper, null);

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java
----------------------------------------------------------------------
diff --git a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java
index ce97f06..c5ae7ef 100644
--- a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java
+++ b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AbstractAutoMapper.java
@@ -36,6 +36,7 @@ import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -90,7 +91,7 @@ public abstract class AbstractAutoMapper extends AbstractMapper {
 
     private static ObjectSpecification specificationFor(final String className) {
         ObjectSpecification specification = IsisContext.getSpecificationLoader().loadSpecification(className);
-        List<OneToOneAssociation> properties = specification.getProperties();
+        List<OneToOneAssociation> properties = specification.getProperties(Contributed.EXCLUDED);
         if (isNullOrEmpty(properties) && !specification.isAbstract()) {
             throw new SqlObjectStoreException(specification.getFullIdentifier() + " has no fields: " + specification);
         }
@@ -135,7 +136,7 @@ public abstract class AbstractAutoMapper extends AbstractMapper {
     private void setupFullMapping(final FieldMappingLookup lookup, final ObjectMappingLookup objectMapperLookup,
         final String className, final IsisConfiguration configParameters, final String parameterBase) {
 
-        fields.addAll(specification.getAssociations());
+        fields.addAll(specification.getAssociations(Contributed.EXCLUDED));
 
         int simpleFieldCount = 0;
         int collectionFieldCount = 0;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java
----------------------------------------------------------------------
diff --git a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java
index 70e26ff..11af809 100644
--- a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java
+++ b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/auto/AutoMapper.java
@@ -40,6 +40,7 @@ import org.apache.isis.core.metamodel.adapter.version.Version;
 import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.ObjectSpecificationException;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
 import org.apache.isis.core.runtime.persistence.PersistorUtil;
@@ -185,7 +186,7 @@ public class AutoMapper extends AbstractAutoMapper implements ObjectMapping, Deb
         // this spec.
         final Object o = pattern.getObject();
         final ObjectSpecification patternSpec = pattern.getSpecification();
-        final List<ObjectAssociation> patternAssociations = patternSpec.getAssociations();
+        final List<ObjectAssociation> patternAssociations = patternSpec.getAssociations(Contributed.EXCLUDED);
         for (final ObjectAssociation patternAssoc : patternAssociations) {
             final Method method;
             final Identifier identifier = patternAssoc.getIdentifier();

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java
----------------------------------------------------------------------
diff --git a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java
index 9db5159..9c3523e 100644
--- a/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java
+++ b/component/objectstore/sql/sql-impl/src/main/java/org/apache/isis/objectstore/sql/jdbc/JdbcConnector.java
@@ -29,10 +29,10 @@ import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.joda.time.DateTimeZone;
 import org.joda.time.LocalDate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.debug.DebugBuilder;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java
----------------------------------------------------------------------
diff --git a/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java b/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java
index 290e4d4..5bc5db6 100644
--- a/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java
+++ b/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/XmlObjectStore.java
@@ -44,6 +44,7 @@ import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetU
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;
@@ -150,7 +151,7 @@ public class XmlObjectStore implements ObjectStoreSpi {
         } 
         try {
             PersistorUtil.startResolving(adapter);
-            final List<ObjectAssociation> fields = adapter.getSpecification().getAssociations();
+            final List<ObjectAssociation> fields = adapter.getSpecification().getAssociations(Contributed.EXCLUDED);
             for (int i = 0; i < fields.size(); i++) {
                 final ObjectAssociation field = fields.get(i);
                 if (field.isNotPersisted()) {

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java
----------------------------------------------------------------------
diff --git a/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java b/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java
index 356bcde..38fd3b4 100644
--- a/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java
+++ b/component/objectstore/xml/src/main/java/org/apache/isis/objectstore/xml/internal/commands/AbstractXmlPersistenceCommand.java
@@ -28,6 +28,7 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandAbstract;
 import org.apache.isis.objectstore.xml.internal.data.DataManager;
@@ -55,7 +56,7 @@ abstract class AbstractXmlPersistenceCommand extends PersistenceCommandAbstract
         final ObjectSpecification adapterSpec = adapter.getSpecification();
         final ObjectData data = new ObjectData((RootOidDefault) adapter.getOid(), adapter.getVersion());
 
-        final List<ObjectAssociation> associations = adapterSpec.getAssociations();
+        final List<ObjectAssociation> associations = adapterSpec.getAssociations(Contributed.EXCLUDED);
         for (final ObjectAssociation association : associations) {
             if (association.isNotPersisted()) {
                 continue;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java
index 206afbd..4e747bb 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarGrid.java
@@ -26,6 +26,7 @@ import org.apache.isis.core.commons.exceptions.UnexpectedCallException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
 import org.apache.isis.viewer.dnd.drawing.Canvas;
@@ -111,7 +112,7 @@ public class CalendarGrid extends CompositeView {
 
     private ObjectAssociation findDate(final ObjectAdapter adapter) {
         final ObjectSpecification spec = adapter.getSpecification();
-        final List<ObjectAssociation> fields = spec.getAssociations();
+        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED);
         for (int i = 0; i < fields.size(); i++) {
             final Facet facet = fields.get(i).getSpecification().getFacet(DateValueFacet.class);
             if (facet != null) {

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java
index 7cddd07..7639d95 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/calendar/CalendarSpecification.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.dnd.calendar;
 
 import java.util.List;
 
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.progmodel.facets.value.date.DateValueFacet;
 import org.apache.isis.viewer.dnd.view.Axes;
@@ -53,7 +54,7 @@ public class CalendarSpecification implements CompositeViewSpecification {
     public boolean canDisplay(final ViewRequirement requirement) {
         final boolean openCollection = requirement.isCollection() && requirement.isOpen();
         if (openCollection) {
-            final List<OneToOneAssociation> propertyList = ((CollectionContent) requirement.getContent()).getElementSpecification().getProperties();
+            final List<OneToOneAssociation> propertyList = ((CollectionContent) requirement.getContent()).getElementSpecification().getProperties(Contributed.EXCLUDED);
             for (final OneToOneAssociation association : propertyList) {
                 if (!association.isAlwaysHidden() && association.getSpecification().containsFacet(DateValueFacet.class)) {
                     return true;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java
index 3c80789..b8a5552 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/FormWithTableSpecification.java
@@ -25,6 +25,7 @@ import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -76,7 +77,7 @@ public class FormWithTableSpecification extends SplitViewSpecification {
         final ObjectSpecification spec = content.getSpecification();
         final ObjectAdapter target = content.getAdapter();
         final AuthenticationSession session = IsisContext.getAuthenticationSession();
-        final List<ObjectAssociation> fields = spec.getAssociations(ObjectAssociationFilters.dynamicallyVisible(session, target, where));
+        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(session, target, where));
         for (final ObjectAssociation field : fields) {
             if (field.isOneToManyAssociation()) {
                 return Toolkit.getContentFactory().createFieldContent(field, target);

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java
index c63323a..02fbe5f 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/SplitViewSpecification.java
@@ -26,6 +26,7 @@ import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -75,7 +76,7 @@ public abstract class SplitViewSpecification extends CompositeViewSpecification
         final ObjectSpecification spec = content.getSpecification();
         final ObjectAdapter target = content.getAdapter();
         final AuthenticationSession session = IsisContext.getAuthenticationSession();
-        final List<ObjectAssociation> fields = spec.getAssociations(ObjectAssociationFilters.dynamicallyVisible(session, target, where));
+        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(session, target, where));
         final List<ObjectAssociation> selectableFields = new ArrayList<ObjectAssociation>();
         for (final ObjectAssociation field : fields) {
             if (validField(field)) {

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java
index 08f163b..9c472f0 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/combined/TwoPartViewSpecification.java
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -69,7 +70,7 @@ public class TwoPartViewSpecification extends SplitViewSpecification {
         final ObjectSpecification spec = content.getSpecification();
         final ObjectAdapter target = content.getAdapter();
         final AuthenticationSession session = IsisContext.getAuthenticationSession();
-        final List<ObjectAssociation> fields = spec.getAssociations(ObjectAssociationFilters.dynamicallyVisible(session, target, where));
+        final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(session, target, where));
         for (final ObjectAssociation field : fields) {
             if (validField(field)) {
                 return Toolkit.getContentFactory().createFieldContent(field, target);

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java
index 20a3975..5ffa53c 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/NewObjectView.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.runtime.userprofile.Options;
 import org.apache.isis.viewer.dnd.drawing.Size;
@@ -56,7 +57,7 @@ public class NewObjectView extends CompositeView {
     protected void buildView() {
         if (getSubviews().length == 0) {
             final ObjectAdapter object = getContent().getAdapter();
-            final List<ObjectAssociation> associations = getContent().getSpecification().getAssociations();
+            final List<ObjectAssociation> associations = getContent().getSpecification().getAssociations(Contributed.EXCLUDED);
 
             final ObjectAssociation field = associations.get(0);
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java
index 52bc891..dc118fa 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/configurable/ViewDesignBorder.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.dnd.configurable;
 
 import java.util.List;
 
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.viewer.dnd.drawing.Location;
 import org.apache.isis.viewer.dnd.view.UserActionSet;
@@ -46,7 +47,7 @@ public class ViewDesignBorder extends AbstractBorder {
         super.viewMenuOptions(menuOptions);
 
         // ObjectAdapter object = getContent().getAdapter();
-        final List<ObjectAssociation> associations = getContent().getSpecification().getAssociations();
+        final List<ObjectAssociation> associations = getContent().getSpecification().getAssociations(Contributed.EXCLUDED);
 
         for (final ObjectAssociation objectAssociation : associations) {
             final ObjectAssociation f = objectAssociation;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
index 1848b5a..46f911f 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/ExpandableViewBorder.java
@@ -26,6 +26,7 @@ import org.apache.isis.core.commons.debug.DebugBuilder;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -205,7 +206,7 @@ public class ExpandableViewBorder extends AbstractBorder {
     private int canOpenObject(final Content content) {
         final ObjectAdapter object = ((ObjectContent) content).getObject();
         if (object != null) {
-            final List<ObjectAssociation> fields = object.getSpecification().getAssociations(ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
+            final List<ObjectAssociation> fields = object.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
             for (int i = 0; i < fields.size(); i++) {
                 if (fields.get(i).isOneToManyAssociation()) {
                     return CAN_OPEN;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java
index 5cbbe92..98e30b0 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/form/FormWithDetailSpecification.java
@@ -23,6 +23,7 @@ import java.util.List;
 
 import org.apache.isis.applib.filter.Filter;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.viewer.dnd.view.Axes;
@@ -48,7 +49,7 @@ public class FormWithDetailSpecification implements ViewSpecification {
 
     private boolean containsEnoughFields(final Content content) {
         final ObjectSpecification specification = content.getSpecification();
-        final List<ObjectAssociation> associations = specification.getAssociations(new Filter<ObjectAssociation>() {
+        final List<ObjectAssociation> associations = specification.getAssociations(Contributed.EXCLUDED, new Filter<ObjectAssociation>() {
             @Override
             public boolean accept(final ObjectAssociation t) {
                 return t.isOneToManyAssociation() || (t.isOneToOneAssociation() && !((OneToOneAssociation) t).getSpecification().isParseable());

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java
index c39c4bc..3d2117f 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/histogram/HistogramSpecification.java
@@ -22,6 +22,7 @@ package org.apache.isis.viewer.dnd.histogram;
 import java.util.List;
 
 import org.apache.isis.applib.filter.Filter;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.viewer.dnd.view.Axes;
 import org.apache.isis.viewer.dnd.view.Content;
@@ -37,7 +38,7 @@ public class HistogramSpecification extends CompositeViewSpecification {
 
     static List<? extends ObjectAssociation> availableFields(final CollectionContent content) {
         List<? extends ObjectAssociation> associationList;
-        associationList = content.getElementSpecification().getAssociations(new Filter<ObjectAssociation>() {
+        associationList = content.getElementSpecification().getAssociations(Contributed.EXCLUDED, new Filter<ObjectAssociation>() {
             @Override
             public boolean accept(final ObjectAssociation t) {
                 return NumberAdapters.contains(t);

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java
index 09b49d4..911904c 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/AbstractTableSpecification.java
@@ -22,6 +22,7 @@ package org.apache.isis.viewer.dnd.table;
 import java.util.List;
 
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.viewer.dnd.view.Axes;
@@ -79,7 +80,7 @@ public abstract class AbstractTableSpecification extends CompositeViewSpecificat
         } else {
             final CollectionContent collectionContent = (CollectionContent) requirement.getContent();
             final ObjectSpecification elementSpecification = collectionContent.getElementSpecification();
-            final List<ObjectAssociation> fields = elementSpecification.getAssociations(ObjectAssociationFilters.WHEN_VISIBLE_IRRESPECTIVE_OF_WHERE);
+            final List<ObjectAssociation> fields = elementSpecification.getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.WHEN_VISIBLE_IRRESPECTIVE_OF_WHERE);
             for (int i = 0; i < fields.size(); i++) {
                 if (fields.get(i).isOneToOneAssociation()) {
                     return true;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java
index 34f54e9..91c8666 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/table/TableAxisImpl.java
@@ -25,6 +25,7 @@ import com.google.common.collect.Lists;
 
 import org.apache.isis.core.commons.lang.ToString;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
@@ -42,7 +43,7 @@ public class TableAxisImpl implements TableAxis {
         // TODO create axis first, then after view built set up the axis
         // details?
         final ObjectSpecification elementSpecification = (content).getElementSpecification();
-        final List<ObjectAssociation> accessibleFields = elementSpecification.getAssociations(ObjectAssociationFilters.WHEN_VISIBLE_IRRESPECTIVE_OF_WHERE);
+        final List<ObjectAssociation> accessibleFields = elementSpecification.getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.WHEN_VISIBLE_IRRESPECTIVE_OF_WHERE);
 
         this.columns = tableFields(accessibleFields, content);
         widths = new int[columns.size()];

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
index 1ea19d5..31eafae 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/ClosedObjectNodeSpecification.java
@@ -24,6 +24,7 @@ import java.util.List;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.object.bounded.BoundedFacetUtils;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -67,7 +68,7 @@ class ClosedObjectNodeSpecification extends NodeSpecification {
     @Override
     public int canOpen(final Content content) {
         final ObjectAdapter object = ((ObjectContent) content).getObject();
-        final List<ObjectAssociation> fields = object.getSpecification().getAssociations(ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
+        final List<ObjectAssociation> fields = object.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
         for (int i = 0; i < fields.size(); i++) {
             if (fields.get(i).isOneToManyAssociation()) {
                 return CAN_OPEN;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java
index a975b7d..6d325c1 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/tree/OpenObjectNodeSpecification.java
@@ -23,6 +23,7 @@ import java.util.List;
 
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -71,7 +72,7 @@ public class OpenObjectNodeSpecification extends CompositeNodeSpecification {
     public boolean canDisplay(final ViewRequirement requirement) {
         if (requirement.isObject() && requirement.hasReference()) {
             final ObjectAdapter object = requirement.getAdapter();
-            final List<ObjectAssociation> fields = object.getSpecification().getAssociations(ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
+            final List<ObjectAssociation> fields = object.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where));
             for (int i = 0; i < fields.size(); i++) {
                 if (fields.get(i).isOneToManyAssociation()) {
                     return true;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
index f3e5260..647fc0e 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
@@ -27,8 +27,8 @@ import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.FreeStandingList;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionContainer.Contributed;
 import org.apache.isis.viewer.dnd.view.UserAction;
 import org.apache.isis.viewer.dnd.view.UserActionSet;
 import org.apache.isis.viewer.dnd.view.option.DisposeObjectOption;

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
index 31043be..6257ee2 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/collection/AbstractCollectionContent.java
@@ -32,6 +32,7 @@ import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetUtils;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.viewer.dnd.drawing.Image;
 import org.apache.isis.viewer.dnd.drawing.ImageFactory;
@@ -214,7 +215,7 @@ public abstract class AbstractCollectionContent extends AbstractContent implemen
             }
         });
 
-        final List<ObjectAssociation> fields = getElementSpecification().getAssociations();
+        final List<ObjectAssociation> fields = getElementSpecification().getAssociations(Contributed.EXCLUDED);
         for (int i = 0; i < fields.size(); i++) {
             final ObjectAssociation field = fields.get(i);
 

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
index 26cb45b..458babb 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/composite/ObjectFieldBuilder.java
@@ -31,6 +31,7 @@ import org.apache.isis.core.commons.exceptions.UnknownTypeException;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.util.AdapterUtils;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
 import org.apache.isis.core.runtime.system.context.IsisContext;
@@ -73,7 +74,7 @@ public class ObjectFieldBuilder extends AbstractViewBuilder {
 
         final ObjectSpecification spec = object.getSpecification();
         final Filter<ObjectAssociation> filter = ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), object, where);
-        final List<ObjectAssociation> flds = spec.getAssociations(filter);
+        final List<ObjectAssociation> flds = spec.getAssociations(Contributed.EXCLUDED, filter);
 
         if (view.getSubviews().length == 0) {
             initialBuild(view, axes, object, flds);

http://git-wip-us.apache.org/repos/asf/isis/blob/869668e2/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
index b697253..1b12ac6 100644
--- a/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
+++ b/component/viewer/dnd/impl/src/main/java/org/apache/isis/viewer/dnd/view/content/AbstractObjectContent.java
@@ -35,6 +35,7 @@ import org.apache.isis.core.metamodel.services.container.query.QueryCardinality;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.Persistability;
+import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociationFilters;
@@ -94,7 +95,7 @@ public abstract class AbstractObjectContent extends AbstractContent implements O
             final ObjectSpecification spec = original.getSpecification();
 
             final ObjectAdapter clone = getPersistenceSession().createTransientInstance(spec);
-            final List<ObjectAssociation> fields = spec.getAssociations();
+            final List<ObjectAssociation> fields = spec.getAssociations(Contributed.EXCLUDED);
             for (int i = 0; i < fields.size(); i++) {
                 final ObjectAdapter fld = fields.get(i).get(original);
 
@@ -167,7 +168,7 @@ public abstract class AbstractObjectContent extends AbstractContent implements O
             // TODO: use Facet for this test instead.
             return new Veto("Can't set field in persistent object with reference to non-persistent object");
         }
-        final List<ObjectAssociation> fields = targetAdapter.getSpecification().getAssociations(ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), targetAdapter, where));
+        final List<ObjectAssociation> fields = targetAdapter.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), targetAdapter, where));
         for (final ObjectAssociation fld : fields) {
             if (!fld.isOneToOneAssociation()) {
                 continue;
@@ -215,7 +216,7 @@ public abstract class AbstractObjectContent extends AbstractContent implements O
             return action.execute(target, new ObjectAdapter[] { source });
         }
 
-        final List<ObjectAssociation> associations = target.getSpecification().getAssociations(ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), target, where));
+        final List<ObjectAssociation> associations = target.getSpecification().getAssociations(Contributed.EXCLUDED, ObjectAssociationFilters.dynamicallyVisible(IsisContext.getAuthenticationSession(), target, where));
 
         for (int i = 0; i < associations.size(); i++) {
             final ObjectAssociation association = associations.get(i);