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.