Profile Problems View

The Profile is a collection of Profile Files, some standard and some custom, with references made across files. In order to validate the Profile as a whole, there is a dedicated view which, when refreshed, lists all problems which exist in the Profile.

The view is organized as a two-level tree. The profile files are the roots of the tree, and the problems are leaves. Each problem applies to a single profile part.

The label at the bottom of the view gives a description of the currently selected problem. Double clicking a problem opens an editor at the corresponding profile part, and with the attribute name highlighted in red.

Types of Problem

Cyclic Inheritance

You have a loop within the inheritance of profile parts eg. Z inherits from Y, Y inherits from X, but X inherits from Z.

Duplicate id

The id of a profile part is declared with a simple name in its id text field. Where a part is referenced, a qualified name is used composed of: the profile file it is declared in, its type, the text in the id field. For example:

myProfileFile.classDisplayStyle.pinkShortPublicMethodsOnly

A Duplicate id problem indicates that there is a clash between qualified names.

Mandatory Attribute is Undefined

Where possible, attributes have a default value. However, in many cases, there is no appropriate default value; so a problem will be listed if you do not assign a value.

Missing id

This problem indicates that an attribute's own simple id has not been defined.

Pattern Syntax Error

Attributes which take a Java regular expression will list this problem if the string you have entered does not compile.

Type and TypeIsOwner Attributes are Mutually Exclusive

An Element Set using the Fields element filter has an option type is owner. This is useful for identifying singletons. However, there is a conflict between stating that the type is the owner, and that the type is of some other specified Element Set.

Value neither Specified Directly nor by Inheritance

This problem indicates that an attribute value could not be found after checking the profile part, and the profile parts from which it inherits values in turn.

Unresolved id Reference

A profile part contains a foreign id which cannot be resolved within The Profile.