Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Define the provider in provisioning providers metadata file.
  2. Create a process class extending com.crm.process.provisioning.CRMProcessProvisioningProviderBean.
  3. Create a data entry page or a summary page accordingly for a data entry view class and a java class implementing com.crm.process.provisioning.CustomProvisioningAction for each of the provisioning provider related processes.

...

  1. public void testConnection(CRMDOProvProvider provProvider)


    This method is called to test whether the connection with the provisioning provider is valid.

    Code Block
    languagejava
    titletestConnection
    linenumberstrue
    collapsetrue
    	@Override
    	public void testConnection(CRMDOProvProvider provProvider) throws Exception {
    		...
    	}
    	...
    }


  2. public ProvisioningProviderResult processAddService(AddServiceParameters addServiceParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever an 'Add Service' subscription action is executed.

    Code Block
    languagejava
    titleprocessAddService
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processAddService(AddServiceParameters addServiceParameters,
    			ArrayList<ProvisioningProviderService> providerServices,
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		
    		...
    	}
    	...
    }


  3. public ProvisioningProviderResult processAmendBundleService(AmendBundleServiceParameters amendBundleServiceParameters,
    ArrayList<ProvisioningProviderService> removedProviderServices,
    ArrayList<ProvisioningProviderService> addedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems)

    This method is called whenever an 'Amend Bundled' subscription action is executed.

    Code Block
    languagejava
    titleprocessAmendBundleService
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processAmendBundleService(
    			AmendBundleServiceParameters amendBundleServiceParameters,
    			ArrayList<ProvisioningProviderService> removedProviderServices,
    			ArrayList<ProvisioningProviderService> addedProviderServices, 
    			ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems, 
    			ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems) throws Exception {
    		
    		...
    	}
    	...
    }


  4. public ProvisioningProviderResult processRemoveService(RemoveServiceParameters removeServiceParameters,
    ArrayList<ProvisioningProviderService> removedProviderServices,
    ArrayList<ProvisioningProviderService> addedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems)

    This method is called whenever a 'Remove Service' subscription action is executed.

    Code Block
    languagejava
    titleprocessRemoveService
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processRemoveService(RemoveServiceParameters removeServiceParameters,
    			ArrayList<ProvisioningProviderService> removedProviderServices,
    			ArrayList<ProvisioningProviderService> addedProviderServices, 
    			ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems, 
    			ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems) throws Exception {
    
    		...
    	}
    	...
    }


  5. public ProvisioningProviderResult processSwapService(SwapServiceParameters swapServiceParameters,
    ArrayList<ProvisioningProviderService> removedProviderServices,
    ArrayList<ProvisioningProviderService> addedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems)

    This method is called whenever a 'Swap Service' subscription action is executed.

    Code Block
    languagejava
    titleprocessSwapService
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processSwapService(SwapServiceParameters swapServiceParameters,
    			ArrayList<ProvisioningProviderService> removedProviderServices,
    			ArrayList<ProvisioningProviderService> addedProviderServices, 
    			ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems, 
    			ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  6. public ProvisioningProviderResult processStartService(StartServiceParameters startServiceParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Start Service' subscription action is executed.

    Code Block
    languagejava
    titleprocessStartService
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processStartService(StartServiceParameters startServiceParameters,
    			ArrayList<ProvisioningProviderService> providerServices,
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  7. public ProvisioningProviderResult processStopService(StopServiceParameters stopServiceParameters,
    ArrayList<ProvisioningProviderService> providerServices, ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Stop Service' subscription action is executed.

    Code Block
    languagejava
    titleprocessStopService
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processStopService(StopServiceParameters stopServiceParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  8. public ProvisioningProviderResult processAddInstalledItem(AddInstalledItemParameters addInstalledItemParameters,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems, ArrayList<ProvisioningProviderService> providerServices)

    This method is called whenever an 'Add Installed Item' subscription action is executed.

    Code Block
    languagejava
    titleprocessAddInstalledItem
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processAddInstalledItem(AddInstalledItemParameters addInstalledItemParameters,
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems, 
    			ArrayList<ProvisioningProviderService> providerServices) throws Exception {
    		...
    	}
    	...
    }


  9. public ProvisioningProviderResult processRemoveInstalledItem(RemoveInstalledItemParameters removeInstalledItemParameters,

    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Remove Installed Item' subscription action is executed.

    Code Block
    languagejava
    titleprocessRemoveInstalledItem
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processRemoveInstalledItem(
    			RemoveInstalledItemParameters removeInstalledItemParameters,
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  10. public ProvisioningProviderResult processMoveInstalledItem(MoveInstalledItemParameters moveInstalledItemParameters,
    ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems)

    This method is called whenever a 'Move Installed Item' subscription action is executed.

    Code Block
    languagejava
    titleprocessMoveInstalledItem
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processMoveInstalledItem(MoveInstalledItemParameters moveInstalledItemParameters,
    			ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    			ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  11. public ProvisioningProviderResult processSwapInstalledItem(SwapInstalledItemParameters swapInstalledItemParameters,
    ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems,
    ArrayList<ProvisioningProviderService> providerServices)

    This method is called whenever a 'Swap Installed Item' subscription action is executed.

    Code Block
    languagejava
    titleprocessSwapInstalledItem
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processSwapInstalledItem(SwapInstalledItemParameters swapInstalledItemParameters,
    			ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    			ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems, 
    			ArrayList<ProvisioningProviderService> providerServices) throws Exception {
    		...
    	}
    	...
    }


  12. public ProvisioningProviderResult processChangeSubscriptionDistribution(ChangeSubscriptionDistributionParameters changeSubscriptionDistributionParameters,
    ArrayList<ProvisioningProviderService> removedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    ArrayList<ProvisioningProviderService> addedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems,
    ArrayList<ProvisioningProviderService> authorisedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> initialisedProviderInstalledItems)

    This method is called whenever a 'Change Subscription Distribution' subscription action is executed.

    Code Block
    languagejava
    titleprocessChangeSubscriptionDistribution
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processChangeSubscriptionDistribution(
    			ChangeSubscriptionDistributionParameters changeSubscriptionDistributionParameters,
    			ArrayList<ProvisioningProviderService> removedProviderServices,
    			ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    			ArrayList<ProvisioningProviderService> addedProviderServices,
    			ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems, 
    			ArrayList<ProvisioningProviderService> authorisedProviderServices, 
    			ArrayList<ProvisioningProviderInstalledItem> initialisedProviderInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  13. public ProvisioningProviderResult processBecomeSubscriber(BecomeSubscriberParameters becomeSubscriberParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Become Subscriber' subscription action is executed.

    Code Block
    languagejava
    titleprocessBecomeSubscriber
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processBecomeSubscriber(
    			BecomeSubscriberParameters becomeSubscriberParameters,
    			ArrayList<ProvisioningProviderService> providerServices,
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  14. public ProvisioningProviderResult processActivateSubscription(ActivateSubscriptionParameters activateSubscriptionParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever an 'Activate Subscription' subscription action is executed.

    Code Block
    languagejava
    titleprocessActivateSubscription
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processActivateSubscription(
    			ActivateSubscriptionParameters activateSubscriptionParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  15. public ProvisioningProviderResult processDeactivateSubscription(DeactivateSubscriptionParameters deactivateSubscriptionParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Deactivate Subscription' subscription action is executed.

    Code Block
    languagejava
    titleprocessDeactivateSubscription
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processDeactivateSubscription(
    			DeactivateSubscriptionParameters deactivateSubscriptionParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  16. public ProvisioningProviderResult processTerminateSubscription(TerminateSubscriptionParameters teminateSubscriptionParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Terminate Subscription' subscription action is executed.

    Code Block
    languagejava
    titleprocessTerminateSubscription
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processTerminateSubscription(
    			TerminateSubscriptionParameters teminateSubscriptionParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  17. public ProvisioningProviderResult processRestSubscription(RestSubscriptionParameters restSubscriptionParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Rest Subscription' subscription action is executed.

    Code Block
    languagejava
    titleprocessRestSubscription
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processRestSubscription(RestSubscriptionParameters restSubscriptionParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  18. public ProvisioningProviderResult processEndSubscriptionResting(EndSubscriptionRestingParameters endSubscriptionRestingParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever an 'End Subscription Resting' subscription action is executed.

    Code Block
    languagejava
    titleprocessEndSubscriptionResting
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processEndSubscriptionResting(
    			EndSubscriptionRestingParameters endSubscriptionRestingParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  19. public ProvisioningProviderResult processShortTermSubscriptionActivation(ShortTermSubscriptionActivationParameters shortTermActivationParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Short Term Activation' subscription action is executed.

    Code Block
    languagejava
    titleprocessShortTermSubscriptionActivation
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processShortTermSubscriptionActivation(
    			ShortTermSubscriptionActivationParameters shortTermActivationParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  20. public ProvisioningProviderResult processEndShortTermSubscriptionActivation(EndShortTermSubscriptionActivationParameters endShortTermSubscriptionActivationParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever an 'End Short Term Activation' subscription action is executed.

    Code Block
    languagejava
    titleprocessEndShortTermSubscriptionActivation
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processEndShortTermSubscriptionActivation(
    			EndShortTermSubscriptionActivationParameters endShortTermSubscriptionActivationParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  21. public ProvisioningProviderResult processShortTermSubscriptionDeactivation(ShortTermSubscriptionDeactivationParameters shortTermSubscriptionDeactivationParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever a 'Short Term Deactivation' subscription action is executed.

    Code Block
    languagejava
    titleprocessShortTermSubscriptionDeactivation
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processShortTermSubscriptionDeactivation(
    			ShortTermSubscriptionDeactivationParameters shortTermSubscriptionDeactivationParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  22. public ProvisioningProviderResult processEndShortTermSubscriptionDeactivation(EndShortTermSubscriptionDeactivationParameters endShortTermSubscriptionDeactivationParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever an 'End Short Term Deactivation' subscription action is executed.

    Code Block
    languagejava
    titleprocessEndShortTermSubscriptionDeactivation
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processEndShortTermSubscriptionDeactivation(
    			EndShortTermSubscriptionDeactivationParameters endShortTermSubscriptionDeactivationParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  23.  public ProvisioningProviderResult processAddServiceUsage(AddServiceUsageParameters addServiceUsageParameters,
    ArrayList<ProvisioningProviderUsageDataRecord> protocolProviderUdrs,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever an 'Add Service Usage' subscription action is executed.

    Code Block
    languagejava
    titleprocessAddServiceUsage
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processAddServiceUsage(AddServiceUsageParameters addServiceUsageParameters,
    			ArrayList<ProvisioningProviderUsageDataRecord> protocolProviderUdrs, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  24. public ProvisioningProviderResult processCancelledUDRs(CancelServiceUsageParameters cancelServiceUsageParameters, ArrayList<ProvisioningProviderUsageDataRecord> providerUsageDataRecords)

    This method is called whenever a 'Cancel UDR' action is executed.

    Code Block
    languagejava
    titleprocessCancelledUDRs
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processCancelledUDRs(CancelServiceUsageParameters cancelServiceUsageParameters,
    			ArrayList<ProvisioningProviderUsageDataRecord> providerUsageDataRecords) throws Exception {
    		...
    	}
    	...
    }


  25. public ProvisioningProviderResult processResetSubscription(ResetSubscriptionParameters resetSubscriptionParameters,
    ArrayList<ProvisioningProviderService> providerServicesForDeactivation,
    ArrayList<ProvisioningProviderService> providerServicesForActivation,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItemsForActivation,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItemsForDeactivation,
    ArrayList<ProvisioningProviderUsageDataRecord> providerUdrsForActivation,
    ArrayList<ProvisioningProviderUsageDataRecord> providerUdrsForDeactivation,
    ArrayList<ProvisioningProviderService> authorisedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> initialisedProviderInstalledItems)

    This method is called whenever a 'Reset Subscription' subscription action is executed.

    Code Block
    languagejava
    titleprocessResetSubscription
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processResetSubscription(ResetSubscriptionParameters resetSubscriptionParameters,
    			ArrayList<ProvisioningProviderService> providerServicesForDeactivation,
    			ArrayList<ProvisioningProviderService> providerServicesForActivation,
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItemsForActivation,
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItemsForDeactivation,
    			ArrayList<ProvisioningProviderUsageDataRecord> providerUdrsForActivation,
    			ArrayList<ProvisioningProviderUsageDataRecord> providerUdrsForDeactivation, 
    			ArrayList<ProvisioningProviderService> authorisedProviderServices, 
    			ArrayList<ProvisioningProviderInstalledItem> initialisedProviderInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  26. public ProvisioningProviderResult processChangeSubscriberAccount(ChangeSubscriberAccountParameters changeSubscriberAccountParameters)

    This method is called whenever a 'Change Subscriber Account' action is executed.

    Code Block
    languagejava
    titleprocessChangeSubscriberAccount
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processChangeSubscriberAccount(
    			ChangeSubscriberAccountParameters changeSubscriberAccountParameters) throws Exception {
    		...
    	}
    	...
    }


  27. public ProvisioningProviderResult processChangeSubscriptionLocation(ChangeSubscriptionLocationParameters changeSubscriptionLocationParameters)

    This method is called whenever a 'Change Subscription Address' action is executed.

    Code Block
    languagejava
    titleprocessChangeSubscriptionLocation
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processChangeSubscriptionLocation(
    			ChangeSubscriptionLocationParameters changeSubscriptionLocationParameters) throws Exception {
    		...
    	}
    	...
    }


  28. public ProvisioningProviderResult processExtendSubscriptionGracePeriod(ExtendSubscriptionGracePeriodParameters extendSubscriptionGracePeriodParameters,
    ArrayList<ProvisioningProviderService> providerServices,
    ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems)

    This method is called whenever an 'Extend Grace Period' action is executed.

    Code Block
    languagejava
    titleprocessExtendSubscriptionGracePeriod
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processExtendSubscriptionGracePeriod(
    			ExtendSubscriptionGracePeriodParameters extendSubscriptionGracePeriodParameters,
    			ArrayList<ProvisioningProviderService> providerServices, 
    			ArrayList<ProvisioningProviderInstalledItem> providerInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  29. public ProvisioningProviderResult processAmendServicesAndInstalledItems(AmendServicesAndInstalledItemsParameters amendServicesAndInstalledItemsParameters,
    ArrayList<ProvisioningProviderService> removedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    ArrayList<ProvisioningProviderService> addedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems,
    ArrayList<ProvisioningProviderService> authorisedProviderServices,
    ArrayList<ProvisioningProviderInstalledItem> initialisedProviderInstalledItems)

    This method is called whenever an 'Amend Services and Installed Items' action is executed.

    Code Block
    languagejava
    titleprocessAmendServicesAndInstalledItems
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processAmendServicesAndInstalledItems(
    			AmendServicesAndInstalledItemsParameters amendServicesAndInstalledItemsParameters,
    			ArrayList<ProvisioningProviderService> removedProviderServices,
    			ArrayList<ProvisioningProviderInstalledItem> removedProviderInstalledItems,
    			ArrayList<ProvisioningProviderService> addedProviderServices,
    			ArrayList<ProvisioningProviderInstalledItem> addedProviderInstalledItems, 
    			ArrayList<ProvisioningProviderService> authorisedProviderServices, 
    			ArrayList<ProvisioningProviderInstalledItem> initialisedProviderInstalledItems) throws Exception {
    		...
    	}
    	...
    }


  30. public ProvisioningProviderResult processCustomProvisioningAction(CustomProvisioningActionParameters customProvisioningActionParameters)

    This method is called whenever a Custom action is executed.

    Code Block
    languagejava
    titleprocessCustomProvisioningAction
    linenumberstrue
    collapsetrue
    	@Override
    	public ProvisioningProviderResult processCustomProvisioningAction(
    			CustomProvisioningActionParameters customProvisioningActionParameters) throws Exception {
    		...
    	}
    	...
    }


  31. public Boolean authenticate(AuthenticateParameters authenticateParameters)

    This method is called to authenticate the subscription.

    Code Block
    languagejava
    titleauthenticate
    linenumberstrue
    collapsetrue
    	@Override
    	public Boolean authenticate(AuthenticateParameters authenticateParameters) throws Exception {
    		...
    	}
    	...
    }

b. Create and Process Provisioning Requests

TODO is this needed??

...


3. Data Entry View Pages and Java classes 

You will need to create a data entry view page for each of the provisioning provider's individual processes.

These processes are considered Custom Provisioning Provider Actions. Thus, for each of these processes a new Java Class implementing com.crm.process.provisioning.CustomProvisioningAction should be created. In the example below, a java class is created for the "Set pin code" process.

Code Block
languagejava
titleMYCOMPANYCRMBOTucanoProviderBeanSetPinCodeAction.java
linenumberstrue
collapsetrue
public class MYCOMPANYCRMProcessTucanoProviderBeanSetPinCodeAction extendsimplements CRMProcessProviderBeanCustomProvisioningAction {
	...
	private CRMDOProvisioningRequest processActivateOptionsProvisioningRequest(		CRMDOProvProvider provProvider, 
																					CRMDOSubscription subscription,
																					CRMDOSubProvProviderParameter subProvProviderParameter,
																					ArrayList<ProviderService> providerServices,
																					String processName, 
																					String processID,
																					TucanoAuthenticationToken tucanoAuthenticationToken) throws Exception {
		
		//The provisioning request parameters to be created 
		HashMap<String,Object> parameterValues = new HashMap<String,Object>();
 
		//The subscription provisioning parameter
		parameterValues.put(ProvisioningRequestParameterType.SUB_PROVISIONING_PARAMETER_ID.toString(), subProvProviderParameter);
		
		//A list of service CA IDs
		ArrayList<Integer> optionIds = new ArrayList<Integer>();
	    ArrayList<CRMDOSubProvisioningDistribution> subProvDistributions = new ArrayList<CRMDOSubProvisioningDistribution>();
		for(int i=0; i<providerServices.size(); i++)
		{
			optionIds.add(new Integer(tucanoProviderBean.getServiceCAID(provProvider,providerServices.get(i).getProduct())));
			subProvDistributions.add(providerServices.get(i).getSubProvisioningDistribution());
		}
 
		//The subscription provisioning distributor linked with the service
		parameterValues.put(ProvisioningRequestParameterType.SERVICE_CA_ID.toString(),optionIds);
		//The subscription service CA ID
		parameterValues.put(ProvisioningRequestParameterType.SERVICE_SUB_PROVISIONING_DISTRIBUTION_ID.toString(),subProvDistributions);
		
		//Create and save the porvisioning request and provisioning request parameters
		CRMDOProvisioningRequest provisioningRequest = createProvisioningRequest(	provProvider,
																					ProvisioningRequestTypeCode.ACTIVATE_OPTIONS.toString(), 
																					getCurrentDate(), 
																					parameterValues, 
																					"addOptions", 
																					null, 
																					processName, 
																					processID, 
																					subscription);
		
		Boolean success = false;
		String request = null;
		String result = null;
		
		//Send request to TUCANO and set values of request, success and result
		{...}
		//
		
		if(success)
		{
			provisioningRequest.setRequest(request+" / "result);
			completeProvisioningRequest(request+" / "result, getCurrentDate(),subProvDistributions,null,null,null,null);
		}
		else
		{
			rejectProvisioningRequest(provisioningRequest, result, subProvDistributions,null,null,null,null);
		}
		
		return provisioningRequest;
	}
	...
}

3. Data Entry and Summary Pages

You will need to create a data entry or a summary page for the provisioning provider's individual processes.

For more information on creating custom summary pages go to Customize Summary Pages.

For more information on creating custom data entry pages go to Customize Data Entry Pages.

...

}


Then, an object of this java class is used in the data entry view page to send the custom provisioning requests for the "Set pin code" process.

Code Block
languagejava
titlesubmitButton()
linenumberstrue
collapsetrue
@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());		
		...
	}


Ui expand
titleSet Pin Code Action Page


Set Pin Code ActionImage Added