Configuration Descriptor: Class Implementation
This key contains the bundle name that contains the configuration of classes implemented.
Config Key | Mandatory/ Optional | Type | Purpose |
---|---|---|---|
VIEW_ENTITLEMENT_CLASS | Mandatory | String | This key is used to provide the class path that validates the user's entitlement. The class that you write must implement the following interface:
|
GLOBAL_CURRENCY_PROVIDER_CLASS | Mandatory | String | This key is used to provide the class path that provides the list of global currency to be used in the application. The class that you write must implement the following interface:
|
RATE_CARD_FACOTORY_CLASS | Mandatory | String | This key is used to provide the class path that provides the list of rate card to be used in the application. The class that you write must implement the following interface:
|
HANDLER_INVOKER_CLASS | Mandatory | String | This is the class that bridges the call between the action layer and the handler layer. The class that you write must implement the following interface:
|
HAL_HANDLER_INVOKER_CLASS | Mandatory | String | This is the class that bridges the call between the Handler/Instruction Class and external data source -EJB. The class that you write must implement the following interface:
|
REQUEST_INTERCEPTOR_CLASS | Optional | String | This key is used to provide the class that is responsible of modifying the request params before handling to the handler. The class that you write must implement the following interface:
|
PUBLIC_KEY_CLASS | Mandatory | String | This key is used to provide the class that is responsible for providing the public key for data encryption and decryption. The class that you write must implement the following interface:
|
ENCRYPTION_KEY_CLASS | Mandatory | String | This key is used to provide the class that implements the EncryptionEngine Interface. The class that you write must implement the following interface:
|
EVENT_INTERCEPTOR_CLASS | Mandatory | String | This key is used to provide the class that is responsible to provide the event details along with its pre-processor configurations for the mapped action button in the FormContainerManager flow. The class that you write must implement the following interface:
|
WS_INVOKER_CLASS | Optional | String | This key is used to invoke the HA request creation for Web Service execution controller. The class that you write must implement the following interface:
|
LOGIN_HANDLER_INVOKER_CLASS | Mandatory | String | This key must be used if the Login delegation is to be done through a Remote EJB lookup. The class that you write must implement the following interface:
The following five properties must be defined if the handler invoker is set to RemoteLoginHandlerInvoker:
The property that follows is to be defined if the handler Invoker is HttpLoginHandlerInvoker:
|
The following is a sample implementation class configuration file implclassconfig.properties (as per the name given in the default descriptor):
# If user group specific view entitlement is required then extend the abstract class # com.intellectdesign.modelhouse.impl.UserGroupViewEntitlement # and configure the sub class for 'VIEW_ENTITLEMENT_CLASS' as # VIEW_ENTITLEMENT_CLASS=com.intellectdesign.canvas.entitlement.CanvasViewEntitlement # The class that is responsible to indicate where to get the list of currency # with their corresponding decimal digits. GLOBAL_CURRENCY_PROVIDER_CLASS = com.intellectdesign.canvas.viewdefinition.GlobalCurrencyDataProvider # The class that is responsible for the Rate Card conversion rates. RATE_CARD_FACOTORY_CLASS = com.intellectdesign.modelhouse.ratecard.ModelHosueRateCardFactory # The class that is responsible for bridging the calls between the action layer and # the handler layer. HANDLER_INVOKER_CLASS = com.intellectdesign.canvas.action.SimpleCanvasHandlerInvoker # The class that gives the ability to introduce a EJB hop for all calls between # the web and app layer. # HANDLER_INVOKER_CLASS=com.intellectdesign.canvas.action.RemoteCanvasHandlerInvoker # The following five properties are to be defined if the handler invoker is # set to RemoteCanvasHandlerInvoker: # 1. RequestHandlerInvokerEJB.JNDIName=JNDI Name for the EJB # 2. RequestHandlerInvokerEJB.ContextFactory=Initial Context Factory class for the target App Server # 3. RequestHandlerInvokerEJB.JNDIURL=JNDI URL to be used for the lookup # 4. RequestHandlerInvokerEJB.security.principal=User ID to be used for authentication. Leave blank if no intent to provide. # 5. RequestHandlerInvokerEJB.security.credentials=Password for the provided user ID. # The following property is to be defined if the handler Invoker is HttpCanvasHandlerInvoker. HTTP_HANDLER_INVOKER_URL = full HTTP or HTTPS URL till the servlet name # The class that gives the ability to introduce a HTTP URL based hop for all # calls between the web and app layer. # HANDLER_INVOKER_CLASS=com.intellectdesign.canvas.action.HttpCanvasHandlerInvoker # The class that bridges the calls between the Handler or Instruction Class and external datasource-EJB HAL_HANDLER_INVOKER_CLASS = com.intellectdesign.canvas.hal.HALInvoker # The class that is responsible for modifying the request params before handling to the handler. REQUEST_INTERCEPTOR_CLASS = com.intellectdesign.modelhouse.dataSupport.SampleCanvasRequestInterceptor # Configure the public key implementation class. This class should implement the PublicKey Interface. PUBLIC_KEY_CLASS = com.intellectdesign.canvas.servercomm.encryption.PublicKeyImpl # Configure the secret key implementation. This class should implement the EncryptionEngine Interface. ENCRYPTION_KEY_CLASS = com.intellectdesign.canvas.servercomm.encryption.AESEngine # The class that is responsible for providing the event details along with its preprocessor # configurations for the mapped action button in the FormContainerManager flow. EVENT_INTERCEPTOR_CLASS = com.intellectdesign.modelhouse.dataSupport.SampleCanvasEventInterceptor # Configuration to invoke the HA request creation for Web Service execution controller WS_INVOKER_CLASS = com.intellectdesign.canvas.hal.HALWebServiceInvoker LOGIN_HANDLER_INVOKER_CLASS = com.intellectdesign.canvas.login.handlers.LocalLoginHandlerInvoker # Use the following entry if the log-in delegation is to be done through a remote EJB lookup. # LOGIN_HANDLER_INVOKER_CLASS = com.intellectdesign.canvas.login.handlers.RemoteLoginHandlerInvoker # The following five properties are to be defined if the handler invoker is set to RemoteLoginHandlerInvoker. # 1. LoginEJB.JNDIName=JNDI Name for the EJB # 2. LoginEJB.ContextFactory=Initial Context Factory class for the target App Server # 3. LoginEJB.JNDIURL=JNDI URL to be used for the lookup # 4. LoginEJB.security.principal=User ID to be used for authentication. Leave blank if no intent to provide. # 5. LoginEJB.security.credentials=Password for the provided user ID. # LOGIN_HANDLER_INVOKER_CLASS=com.intellectdesign.canvas.login.handlers.HttpLoginHandlerInvoker # The following property is to be defined if the handler Invoker is HttpLoginHandlerInvoker. # HTTP_LOGIN_INVOKER_URL=full HTTP / HTTPS URL till the servlet name
 The value for the key RATE_CARD_FACOTORY_CLASS must be a Rate Card class implementing the com.intellectdesign.canvas.ratecard.IRateCardFactory interface and must provide value for the RateCard.getBaseCurrency().
If there is no RateFactoryCard class, the CanvasJsPreferencesDataProvider throws a NullPointerException while initializing the configurations.
The value for the key REQUEST_INTERCEPTOR_CLASS must be a class implementing Canvas's com.intellectdesign.canvas.action.ICanvasRequestInterceptor interface.
This interceptor can be used to attach any additional data to all the requests from Web layer to the request Handlers using the action class. This is an optional key.
Similarly, the value for the key EVENT_INTERCEPTOR_CLASS must implement Canvas's com.intellectdesign.canvas.helper.event.ICanvasEventInterceptor interface. This interceptor can be used to bundle the event details. If it is blank, Canvas will use com.intellectdesign.canvas.event.helper.SimpleCanvasEventInterceptor as the default interceptor.