Migrating from 3.1.0 to 3.2.0

Renaming of Term 'scalar' → 'attribute'

Since the initial design of the framework, UI components exist to represent a single property or parameter such as domain-object references or values (textual, temporal, numerical etc.).

The term to refer to both (action) parameters and (domain object) properties collectively was scalar. Unfortunately this is a misnomer, because parameters are also allowed to be multi-valued, hence the term scalar is potentially misleading.

Searching for a better fitting term we came up with attribute, as we are referring to both method parameters and instance fields collectively as attributes of a class or method. (While not on point, at least attribute is not misleading regarding cardinality.)

Hence many UI and model classes needed to be renamed accordingly.

some examples
//UiComponentType.SCALAR_NAME_AND_VALUE
UiComponentType.ATTRIBUTE_NAME_AND_VALUE

//import org.apache.causeway.viewer.wicket.model.models.ScalarModel;
import org.apache.causeway.viewer.wicket.model.models.UiAttributeWkt;

//import org.apache.causeway.viewer.wicket.ui.components.scalars.ComponentFactoryScalarTypeConstrainedAbstract;
import org.apache.causeway.viewer.wicket.ui.components.attributes.AttributeComponentFactoryWithTypeConstraint;

Renaming 'Entity' → 'Object' (when inaccurate)

E.g. I guess the initial design of Wicket Viewer introduced an EntityPage, with rendering of entities in mind. But later was used to also render viewmodels. Unfortunately the naming is misleading, hence the renaming to DomainObjectPage.

There are many other places throughout the code base, where the term entity was similarly used wrongly (in the sense that an object is either an entity or a viewmodel but cannot be both).

Not documenting all places here. Just some …​

URL changes as configured in CausewayWicketApplication
// mountPage("/entity/#{objectOid}", PageType.ENTITY);
mountPage("/object/#{objectOid}", PageType.DOMAIN_OBJECT);

CSS classes have also been renamed. If you are customizing those, then as rule of thumb: replace entityXXX with objectXXX.

CSS changes, single example
// .entityActions
.objectActions

Entries of the UiComponentType enum were also renamed. As well as EntityComponentFactoryAbstractObjectComponentFactoryAbstract