Server-side Customization
As mentioned earlier, customization is possible on the server-side by extending BaseModelResourceListener and adding a ModelResourceListener annotation which accepts a modelLevelType and/or customModelName , which are used to match with your ModelFormContainer subclass. This class should reside in the rest package of the module. Example : package com.onenetwork.platformtestmodule.rest . The BaseModelResourceListener class provides several hook points that allow you to pass extra data to the client or write additional models when the user executes an action. Here's a simple example listener whose methods are called for a Model Form page on PTA.Vehicle :
package
com.onenetwork.platformtestmodule.rest;
/* imports not shown */
@ModelResourceListener
(modelLevelType=
"PTA.Vehicle"
)
public
class
TestModelResourceListener
extends
BaseModelResourceListener {
private
static
final
PlatformLogger LOG = PlatformLogger.get(TestModelResourceListener.
class
);
@Override
public
void
onActionScreenExecuted(String actionName, Long sysId, Model model) {
LOG.info(
"onActionScreenExecuted("
+ actionName +
", "
+ sysId +
", "
+ model +
")"
);
}
@Override
public
void
beforeActionExecuted(String actionName, JSONObject modelJSON, Model model) {
LOG.info(
"beforeActionExecuted("
+ actionName +
", "
+ modelJSON +
", "
+ model +
")"
);
}
}
See the com.onenetwork.platform.integ.rest.modelpackage in the Javadocs for more information.