...
Panel | ||
---|---|---|
| ||
This section describes how a provisioning provider plugin can be created. What does this section cover?
|
Create a provisioning provider plugin
In order to create a provisioning provider plugin, you need to:
- Define the provider in provisioning providers metadata file.
- Create a process class extending com.crm.process.provisioning.CRMProcessProvisioningProviderBean.
- Create a data entry view class and a java class implementing com.crm.process.provisioning.CustomProvisioningAction for each of the provisioning provider related processes.
- Set up the provider through the provisioning providers page.
For this example we assume that the provisioning provider is Example.
...
- the provproviderprotocol, this which is the protocol of the provisioning provider
- the provprovidername, this which is the name of the provider and it will appear on the provider's data entry screen
- and the provider process name, this which must be the same as the custom process class that will be created for the provider.
Also, in this file, you can define the following:
- generalparameters, these which are the provider parameters,
- hardwaretypes, these which are the supported hardware types
- relatedpages, which are the data entry or summary pages that are implemented to cover the custom provider's processes
- regionmapping. , which is a boolean value indicating whether there should be region mapping configured for the provider
- usedbyusageservicecatalog, which is a boolean value indicating whether the provider can be used by a usage service catalog
- testconnectionavailable, a which is a boolean value indicating whether the "Test Connection" button should be available for the provider
...
Ui expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Once the provider is defined in the provisioning providers metadata file, it can be added as a plugin through the provisioning providers data entry view page, which can be found under Settings & Admin > Billing Application > Subscription & Billing Settings > Set up Provisioning Providers. By selecting "Set Up New Plug In Provider", you can add the custom provider to the list of provisioning providers and set it up, manage the provider's provisioning requests, perform reset subscription runs, reset a single subscription of the provider or execute the processes defined in the related pages of the provisioning provider's definition (in the provisioningproviders.xml file).
...
title | Provisioning Providers |
---|
2. Provisioning Provider Process Class
a. Create Process Class and Implement a Method for Each Action
Use @Stateless(mappedName = "ejb/CRMProcessExampleProvider") to define the mapped name of the provisioning provider EJB. The mapped name should match the one defined in provisioningproviders.xml metadata file and the new process class must extend com.crm.process.provisioning.CRMProcessProvisioningProviderBean.
...
language | java |
---|---|
title | CRMProcessExampleProviderBean.java |
linenumbers | true |
collapse | true |
...
2. Provisioning Provider Process Class
Create a Process Class for the provisioning provider that extends com.crm.process.provisioning.CRMProcessProvisioningProviderBean.
You must use @Stateless(mappedName = "ejb/CRMProcessExampleProvider") to define the mapped name of the provisioning provider EJB. The mapped name should match the one defined in provisioningproviders.xml metadata file.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@Stateless(mappedName = "ejb/CRMProcessExampleProvider")
@LocalBean
public class CrmProcessExampleProviderBean extends CRMProcessProvisioningProviderBean {
/**
* Default constructor.
*/
public CrmProcessExampleProviderBean() {
super();
}
...
} |
The new process class must implement the following methods, which are defined as abstract in CRMProcessProvisioningProviderBean parent class:
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@ManagedBean(name = "setPinCodeView", eager = true)
@ViewScoped
public class SetPinCodeView extends DataEntryView {
@EJB private CRMProcessExampleProviderBean processExampleProvider;
...
public void submitButton() throws Exception {
...
SetPinCodeAction setPinCodeAction = new SetPinCodeAction();
setPinCodeAction.setProvProvider(provider);
setPinCodeAction.setPINCode(getPINCode());
processExampleProvider.sendCustomProvisioningCommandsToHandler(setPinCodeAction, provider.getProtocol());
...
} |
...
} |
On clicking the submit button, the submitButton() method of the SetPinCodeView class will be called and the custom provisioning request will be sent to the provisioning provider handler.
Ui expand | ||
---|---|---|
| ||
4. Set up the plugin provider through CRM.COM
The plugin provider can be set up through CRM.COM from the Provisioning Providers data entry view page, which can be found under Settings & Admin > Billing Application > Subscription & Billing Settings > Set up Provisioning Providers.
Once the provider is defined in the provisioning providers metadata file, it can be added as a plugin through the Provisioning Providers data entry view page. By selecting "Set Up a Provisioning Provider", you can add the plugin provider to the list of provisioning providers. After adding it, you will be able to set it up, manage the provider's provisioning requests, perform reset subscription runs, reset a single subscription of the provider and execute the processes defined in the related pages of the provisioning provider's definition (in the provisioningproviders.xml file).
Ui expand | ||||
---|---|---|---|---|
|
| |||