Post date: May 13, 2016 9:30:59 AM
Performance of Query structure will be improved by using query complete user object for the selected node on demand. This can be implemented by extending GetController class instead of ObjectMaker class, creating User object for the node with primary properties and setting GPSNode.PARTIAL_OBJECT as Object Fill Type in Node.
The upgrade pack for this features will be available for production use from May 23, 2016 at http://resources.triniti.com/software-upgrade-packs/tdm-framework-upgrade-packs.html
Extend GetController class instead of ObjectMaker class
public class ApplicationBuilderGetController extends GetController
GetController is extended from ObjectMaker and having a protected method called "getCompleteUserObject". Implementation Get Controller which is extending from GetController class should implement this method also. This method takes Object as parameter and returns Object. Syntax of the method is given below:
protected abstract Object getCompleteUserObject(Object userObject);
Implementation should override this method and convert the input parameter object into required object, fill the rest of the properties based on the requirement and then return the filled object.
Here is sample code snippet for getCompleteUserObject method implementation:
Create User object for the node with primary properties
While preparing model in Implementation Get Controller class for Query action, create Node user object with required primary properties and rest of the properties can be filled based on demand when node is selected on canvas.
Set GPSNode.PARTIAL_OBJECT as Object Fill Type in Node
When node is filled with partial user object - primary properties, then the node should be set with GPSNode.PARTIAL_OBJECT flag by calling setObjectFillType(GPSNode.PARTIAL_OBJECT) method on node. When node is selected on the canvas, Object Fill Type flag is checked if it is PARTIAL_OBJECT then Implementation GetController will be invoked for complete user object and then set FULL_OBJECT as Object fill type in node.
rootNode.setObjectFillType(GPSNode.PARTIAL_OBJECT);