The site base URL property editor uses the DefaultEditor.as
class that implements the URLPropertyValidtor
for validation. This property is configured in the viewmapping.xml
file by creating a new propertyViewMapping
and propertyView
:
<add-item item-descriptor="propertyViewMapping" id="SaPvmSiteURL"> <set-property name="propertyView"><![CDATA[SaPvSiteURL]]> </set-property> <set-property name="description"><![CDATA[Site URL PropertyViewMapping]]></set-property> <set-property name="attributeValues"><![CDATA[]]></set-property> </add-item> <add-item item-descriptor="propertyView" id="SaPvSiteURL"> <set-property name="name"><![CDATA[AssetManager Site URL propertyView]]></set-property> <set-property name="description"><![CDATA[AssetManager Site URL propertyView]]></set-property> <set-property name="mode"><![CDATA[AmMmDef]]></set-property> <set-property name="type"><![CDATA[string]]></set-property> <set-property name="viewComponent"><![CDATA[atg.assetmanager editor.view.property.DefaultEditor]]></set-property> <set-property name="isComponentPropertyView"><![CDATA[false]]> </set-property> <set-property name="isDefault"><![CDATA[false]]></set-property> <set-property name="attributes"><![CDATA [customAssetPropertyService=SaPvAssetPropertyService, propertyValidators=SaAvURLPropertyValidator,inputFieldMaxlength =AmPvadIntInputFieldMaxLength,inputFieldMaxWidth=AmPvadIntInput FieldMaxWidth]]></set-property> </add-item>
To use the new propertyMapping
, add the following propertyMapping
to the item’s itemViewMapping
:
<set-property name="propertyMappings">
<![CDATA[productionURL=SaPvmSiteURL]]></set-property>
The URL validation process uses the SiteAdminAssetPropertyService
, which is configured in the viewmapping.xml
file with the following attribute:
<add-item item-descriptor="propertyViewAttributeDefinition" id="SaPvAssetPropertyService"> <set-property name="defaultValue"><![CDATA[/atg/remote/multisite /service/SiteAdminAssetPropertyService]]> </set-property> </add-item>
The propertyVIewAttributeDefinition
is added to the propertyView
attributes tag:
<set-property name="attributes">
<![CDATA[customAssetPropertyService=SaPvAssetPropertyService]]>
</set-property>
The validateAssetVIew
method will acquire the SiteAdminAssetPropertyService
class.
Overriding Default Validation Rules
To override the default server-side validation rules, you must override the RespositoryViewServiceImpl.validateAssetView
method in the AssetPropertyService
class. This class is defined in the viewmapping
file. The AssetPropertyService
class runs an extended SiteAdminPropertyEditorAssetViewService
that overrides the default validation method.