Versions Compared

Key

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

This version is not released yet

Table of Contents
alltrue
depth4
indent14px
excerpttrue

Added components

<Component name>

Component name

Class name

Short description

<name>

<class name>

<short description>

Long description

Moved components

...

Wiki Markup
h2. Components list

h3.ChangeBillingGroup
||Component name||Class name||Description||
|ChangeBillingGroup|com.cdrator.billing.component.ChangeBillingGroup|This component is used to change the billing group on a subscription.Required Context Objects:
  SUBSCRIPTION: The subscription changing billing group.
  BG_TYPE: The code for the Billing Group being being changed to.
  BILLING_CYCLE: The ID of the Billing Cycle for the new Billing Group. Only required when creating a new Billing Group.
  ALERT_GROUP: The ID of the Alert Group for the new Billing Group. Only required when creating a new Billing Group.
Optional Context Objects:
  CHANGE_DATE: The start date of the new billing group. If not set, will default to today's date.
  CHANGE_TO_EXISTING_BG: Indicates if an existing Billing Group should be used as the new Billing Group. Allowed values: 'Y' and 'N'.
    If no value is set, or no existing Billing Group with type "BG_TYPE" can be found, defaults to creating a new Billing Group.
Notes:
  Saves the newly created billing group member to Context as BILLING_GROUP_MEMBER
Outcome is DONE|
h3.CreateBillingGroup
||Component name||Class name||Description||
|CreateBillingGroup|com.cdrator.billing.component.CreateBillingGroup|Determine which type of billing group to create based on the PRODUCT_CONFIG from the WfContext.
This component will set outcome based on PRODUCT_CONFIG.
The product config must be in the WfContext with key "PRODUCT_CONFIG" 
Possible outcomes are: 
POST_PAID
PRE_PAID_ADVANCED
PRE_PAID_CARD|
h3.CreatePostPaidBillingGroup
||Component name||Class name||Description||
|CreatePostPaidBillingGroup|com.cdrator.billing.component.CreatePostPaidBillingGroup|Creates a post paid billing group and adds it to the WfContext.
The post paid billing group will be added to the context with key "BILLING_GROUP" 
The product config must be in the WfContext with key "PRODUCT_CONFIG" 
CreditDays and InvoiceType can be configured in various ways: 
CreditDays by priority: 
1. ActivityParameter: "INVOICE_CREDIT_DAYS"
2. ParameterTreeValue for the specific product configs product code: "INVOICE.<PRODUCT_CONFIG_PRODUCT_CODE>_CREDIT_DAYS"
3. Default parameterTreeValue: "INVOICE.CREDIT_DAYS"
4. Default if none of the above is set: "0"
InvoiceType by priority: 
1. ActivityParameter: "INVOICE_TYPE"
2. ParameterTreeValue for the specific product configs product code: "INVOICE.DEFAULT_INVOICE_TYPE.<PRODUCT_CONFIG_PRODUCT_CODE>"
3. Default parameterTreeValue: "INVOICE.DEFAULT_INVOICE_TYPE.<PRODUCT_CONFIG_BILLING_GROUP_CODE>"
4. Default if none of the above is set: "0"
Outcome is 
DONE|
h3.CreatePrePaidBillingGroup
||Component name||Class name||Description||
|CreatePrePaidBillingGroup|com.cdrator.billing.component.CreatePrePaidBillingGroup|Creates a pre paid billing group and adds it to the WfContext.
The pre paid billing group will be added to the context with key "BILLING_GROUP" 
The Product Config must be in the WfContext with key "PRODUCT_CONFIG" 
Outcome is 
DONE|
h3.CreatePrePaidCardBillingGroup
||Component name||Class name||Description||
|CreatePrePaidCardBillingGroup|com.cdrator.billing.component.CreatePrePaidCardBillingGroup|Creates a pre paid card billing group and adds it to the WfContext.
The Pre Paid Card Billing Group will be added to the context with key "BILLING_GROUP" 
The Brand must be in the WfContext with key "BRAND" 
The Product Config must be in the WfContext with key "PRODUCT_CONFIG" 
Possible outcomes are: 
DONE|
h3.MoveBillingGroupBalance
||Component name||Class name||Description||
|MoveBillingGroupBalance|com.cdrator.billing.component.MoveBillingGroupBalance|Move the balance from prepaid billing group to a new postpaid billing group.
This component requires BILLING_GROUP and SUBSCRIPTION objects in the context.
This component requires that two CHARGE_ITEMS are defined in parameter tree: 
MIGRATION.BALANCE.FROM_PREPAID_TO_POSTPAID: charge_item for moving positive balance
MIGRATION.BALANCE.FROM_PREPAID_TO_POSTPAID_NEGATIVE: charge_item for moving negative balance
The outcome will be DONE when the BillingGroup balance is moved.
If the new Billing Group Member is not active yet outcome will be WAIT|
h3.AddInvoiceFee
||Component name||Class name||Description||
|AddInvoiceFee|com.cdrator.billing.invoice.component.AddInvoiceFee|This component will add invoice billing fees to an InvoiceBatch.
An invoiceBatch is required in the context This component will add fees to all invoices in the batch based on Brand Key and BillingGroup Invoice Type Required Parameters are: PE_CODE_X (where x is replaced by billing group Invoice Type) mapped to the Plan Element Code
for instance: PE_CODE_0 (invoice type paper) = SINGLE-INVOICE_GIRO 
and RATEPLAN_BK_XXXX where XXXXis replaced by the BrandKey mapped to the RatePlan ID
for instance: RATEPLAN_BK_GREENTEL = 201202031557455011 
Outcome is DONE|
h3.CloseOpenInvoice
||Component name||Class name||Description||
|CloseOpenInvoice|com.cdrator.billing.invoice.component.CloseOpenInvoice|This component will close the invoice based on the invoice from the context.
A invoice_id is required in the context This component will close the invoice using the invoice in the context to find the invoice to be close
Outcome is DONE|
h3.GetInvoiceAggregateLines
||Component name||Class name||Description||
|GetInvoiceAggregateLines|com.cdrator.billing.invoice.component.GetInvoiceAggregateLines|Returns the aggregated lines for an invoice.
Returns the aggregated lines for an invoice.
The list will be available in the context with key: "INVOICE_AGGREGATE_LINES"
Possible input is
INVOICE_ID
Possible outcomes are: 
NO_INVOICE_AGGREGATE_LINES_FOUND
DONE|
h3.AccountPaymentSetCaptureStatus
||Component name||Class name||Description||
|AccountPaymentSetCaptureStatus|com.cdrator.billing.payment.component.AccountPaymentSetCaptureStatus|This component will update the capture status on an Account Paument.
A Account Payment is required in the context for this component to work. This component will only update the status field in Rator. 
It will set the capture status to the value configured in the activity parameter: NEW_CAPTURE_STATUS. The value of the parameter must be one of the integer value defined for the capture status field
Outcome is DONE|
h3.CreateRechargeTicket
||Component name||Class name||Description||
|CreateRechargeTicket|com.cdrator.billing.payment.component.CreateRechargeTicket|Creates a new recharge ticket.
This component creates a new recharge ticket for a given BILLING_GROUP with TICKET_ID and TICKET_TYPE.
The recharge ticket is added to the context with key "RECHARGE_TICKET".
The billing group must be in the context with key "BILLING_GROUP"
The ticket value must be in the context with key "TICKET_ID"
The ticket code must be in the context with key "TICKET_TYPE"
Optional context parameters
"RECHARGE_AMOUNT" - recharge amount
"RECHARGE_TO_AMOUNT" - recharge to amount
"RECHARGE_LIMIT" - recharge limit
"DAY_OF_MONTH" - day of month to recharge
Optional activity parameters
DEFAULT_RECHARGE_LIMIT_PATH - default recharge limit if none found in the context
Possible outcomes are:
RECHARGE_TICKET_EXISTS
DONE|
h3.DeleteRechargeTicket
||Component name||Class name||Description||
|DeleteRechargeTicket|com.cdrator.billing.payment.component.DeleteRechargeTicket|Delete a recharge ticket.
This component deletes a recharge ticket for a given BILLING_GROUP.
The billing group must be in the context with key "BILLING_GROUP"
Possible outcomes are: 
NO_RECHARGE_TICKET_FOUND
DONE|
h3.GetNewPaymentRef
||Component name||Class name||Description||
|GetNewPaymentRef|com.cdrator.billing.payment.component.GetNewPaymentRef|Returns a payment reference.
This component will return a payment reference (by using the id sequence using getFullId()).
The payment reference will be added to the context with key: "PAYMENT_REF".
This key can be customized by setting activity parameter: PAYMENT_REF_KEY
It is possible to prepend the payment reference with the brand key by setting "PREPEND_BRAND_KEY" to "Y"
The resulting payment ref will be: BRANDKEY + ID
Possible outcomes are: 
DONE|
h3.GetRechargeTicket
||Component name||Class name||Description||
|GetRechargeTicket|com.cdrator.billing.payment.component.GetRechargeTicket|Gets a recharge ticket.
This component retrieves a recharge ticket for a given BILLING_GROUP.
The recharge ticket values are added to the context with keys: "TICKET_ID", "TICKET_TYPE", "RECHARGE_AMOUNT", "RECHARGE_TO_AMOUNT", "DAY_OF_MONTH", "RECHARGE_LIMIT"
The billing group must be in the context with key "BILLING_GROUP"
Possible outcomes are:
NO_RECHARGE_TICKET_FOUND
DONE|
h3.SavePayment
||Component name||Class name||Description||
|SavePayment|com.cdrator.billing.payment.component.SavePayment|Saves a payment.
This component saves a payment.
The account payment is added to the context with key: "ACCOUNT_PAYMENT"
A valid charge item must be set in the parameter tree with value: "SOAP.SIGNUP.PAYMENT.CHARGE_ITEM_ID"
The billing group must be in the context with key "BILLING_GROUP"
The payment date must be in the context with key "PAYMENT_DATE"
The payment type must be in the context with key "PAYMENT_TYPE"
The payment reference must be in the context with key "PAYMENT_REFERENCE"
The transaction id must be in the context with key "TRANSACTION_ID"
The amount must be in the context with key "AMOUNT"
Outcome is 
DONE|
h3.UpdateRechargeTicket
||Component name||Class name||Description||
|UpdateRechargeTicket|com.cdrator.billing.payment.component.UpdateRechargeTicket|Updates a recharge ticket.
This component updates a recharge ticket for a given BILLING_GROUP. For each listed field if not null or empty.
The recharge ticket is added to the context with key "RECHARGE_TICKET".
The billing group must be in the context with key "BILLING_GROUP"
Optional context parameters
"RECHARGE_AMOUNT" - recharge amount
"RECHARGE_TO_AMOUNT" - recharge to amount
"RECHARGE_LIMIT" - recharge limit
"DAY_OF_MONTH" - day of month to recharge
Possible outcomes are: 
NO_RECHARGE_TICKET_FOUND
DONE|
h3.BillAllActiveSubscriptionFees
||Component name||Class name||Description||
|BillAllActiveSubscriptionFees|com.cdrator.billing.subscriptionFees.component.BillAllActiveSubscriptionFees|This component will bill all SubscriptionFees instantly on the invoice passed in the context
SUBSCRIPTION and INVOICE are required in the context This component will find all the subscriptionFees for a subscription and bill it to the invoice from the context
Outcome is DONE|
h3.GetAnumberGroupSignupFee
||Component name||Class name||Description||
|GetAnumberGroupSignupFee|com.cdrator.billing.subscriptionFees.component.GetAnumberGroupSignupFee|Gets the signup fees for a signup anumber group.
Gets the signup fees for a signup anumber group.
The fee is added to the context with key: "ANUMBER_GROUP_SIGNUP_FEE"
The anumber group id should be in the context with key "ANUMBER_GROUP_ID" else no AnumberGroupSignupFee is added
The rateplan must be in the context with key "RATE_PLAN"
Optional context parameters
TOTAL_PRICE
Outcome is 
DONE|
h3.GetProductOptionFees
||Component name||Class name||Description||
|GetProductOptionFees|com.cdrator.billing.subscriptionFees.component.GetProductOptionFees|Gets the signup fees for product options.
The list will be available in the context with key: "SOAP_GET_PRODUCT_OPTION_FEES" 
The rate plan must be added to the context with key "RATE_PLAN_ID".
The product option must be added to the context with key "PRODUCT_OPTIONS".
Possible input is
"TOTAL_PRICE" - Used internally for suming up fee costs
Possible activity configuration is
BUSINESS_DAYS_UNTIL_START: number of working days until fee starts. Default is 1.
Possible outcomes are: 
NO_RATE_PLAN_FOUND
DONE|
h3.GetSignupFee
||Component name||Class name||Description||
|GetSignupFee|com.cdrator.billing.subscriptionFees.component.GetSignupFee|Gets the signup fees for a signup to a specific rate plan.
Gets the signup fees for a signup to a specific rate plan.
The list will be available in the HookpointResult with key: "SOAP_GET_SIGNUP_FEE" 
Possible input is
RATE_PLAN_ID
TOTAL_PRICE
Possible outcomes are: 
NO_RATE_PLAN_FOUND
DONE|
h3.GetBundleInfo
||Component name||Class name||Description||
|GetBundleInfo|com.cdrator.campaign.bundle.component.GetBundleInfo|Get bundle info.
Returns the bundle information for a product option given its campaign id.
The list will be available in the HookpointResult with key: "SOAP_GET_BUNDLE_INFO" 
Possible input is
CAMPAIGN_ID
Possible outcomes are: 
DONE|
h3.GetSubscriptionBundle
||Component name||Class name||Description||
|GetSubscriptionBundle|com.cdrator.campaign.bundle.component.GetSubscriptionBundle|Gets the subscription bundles.
This component will gets the subscription bundles.
The list will be available in the HookpointResult with key: "SOAP_GET_SUBSCRIPTION_BUNDLES" 
Possible input is
SUBSCRIPTION_ID
Possible outcomes are: 
NO_SUBSCRIPTION_BUNDLES_FOUND
DONE|
h3.ActivateSubscriptionCampaigns
||Component name||Class name||Description||
|ActivateSubscriptionCampaigns|com.cdrator.campaign.component.ActivateSubscriptionCampaigns|This component will activate subscription campaigns.
A subscription is required in the context for this component to work. This component will activate all subscription campaign assigned to the subscription.It will set the status and start date on the subscription campaigns and add a subscription bundle if one does not exist. The start date will by default set to now, but can be changed by adding another date into the context with the key SUBCAMPAIGN_START_DATE.
Outcome is activated|
h3.AddCampaignsToSubscription
||Component name||Class name||Description||
|AddCampaignsToSubscription|com.cdrator.campaign.component.AddCampaignsToSubscription|This component will add 1 to many campaigns to a subscription.
A subscription is required in the context and parameter for the campaign codes (code fields from the campaign)This component will add campaigns to a subscription. 
Outcome is ADDED|
h3.AssignCampaign
||Component name||Class name||Description||
|AssignCampaign|com.cdrator.campaign.component.AssignCampaign|Assign a campaign to the subscription, based on a campaign key and the subscription object
The generated subscription campaign object will be added to the context
Required context value(s):
  SUBSCRIPTION: the subscription that the campaign will be assigned to
Optional context value(s):
  CAMPAIGN_KEY: the key of the campaign. If not found the value from the paramter value is used.
Optional parameter value(s):
  CAMPAIGN_KEY: the key of the campaign.
Outcome are: 
DONE
CAMPAIGN_NOT_FOUND
|
h3.GetProductCampaigns
||Component name||Class name||Description||
|GetProductCampaigns|com.cdrator.campaign.component.GetProductCampaigns|Add the list of campaigns for a specific product to the context
Required context values:
  PRODUCT_ID or PRODUCT
Outcome are: 
DONE
PRODUCT_NOT_FOUND|
h3.GetSubscriptionCampaigns
||Component name||Class name||Description||
|GetSubscriptionCampaigns|com.cdrator.campaign.component.GetSubscriptionCampaigns|Gets the subscription campaigns and put in Context.
This component will gets the subscription campaigns.
The list of subscription campaigns  will be available in the context with key: "SUBSCRIPTION_CAMPAIGNS" 
The SUBSCRIPTION must be in the WfContext with key "SUBSCRIPTION" 
Possible outcomes are: 
NO_SUBSCRIPTION_CAMPAIGNS_FOUND
DONE|
h3.ReActivateSubscriptionCampaign
||Component name||Class name||Description||
|ReActivateSubscriptionCampaign|com.cdrator.campaign.component.ReActivateSubscriptionCampaign|Re-activates a subscription campaign
The date in the field To Date will be removed and the Status cahnged to Active (1)
Required context value:
  SUBSCRIPTION_CAMPAIGN
Outcome is: 
DONE|
h3.BookCdmaPhoneToService
||Component name||Class name||Description||
|BookCdmaPhoneToService|com.cdrator.cdmaPhone.component.BookCdmaPhoneToService|This component will book a cdmaPhone to the service.
A CDMA_PHONE and a SERVICE is required in the context for this component to work. This component will book a CDMA Phone to a cdma SERVICE. 
Outcome is DONE|
h3.SaveDocArchiveFile
||Component name||Class name||Description||
|SaveDocArchiveFile|com.cdrator.correspondence.archive.component.SaveDocArchiveFile|This component will save a document from the document archive to the filesystem.
Parameters required for this to work is: FILE_PATHand DOC_ARCHIVE must be in the context of the workflowOutcome is DONE|
h3.ChangeDeviceStatus
||Component name||Class name||Description||
|ChangeDeviceStatus|com.cdrator.device.component.ChangeDeviceStatus|Changes the status of the device defined to a configurable new statusRequired parameters:
NEW_DEVICE_STATUS: the new status value for the device
Optional parameters:The device is found in the context found via the key defined in the parameter: DEVICE_CONTEXT_KEY
The default device CONTEXT_KEY is DEVICE
Outcome is DONE|
h3.ReleaseDevice
||Component name||Class name||Description||
|ReleaseDevice|com.cdrator.device.component.ReleaseDevice|Releases the device from any service assignment
Required parameters:
Optional parameters:
  DEVICE_CONTEXT_KEY - The device is found in the context found via the key defined in this parameter
Default device CONTEXT_KEY is DEVICE
Outcome is DONE|
h3.DoUseCachedAddressCheckResult
||Component name||Class name||Description||
|DoUseCachedAddressCheckResult|com.cdrator.fraud.addresscheck.component.DoUseCachedAddressCheckResult|This component tells whether cached result should be used or an actual address check should be called.
A USERS Context Object is required for this component to work.
If the address check has been run within a certain period, the result of that check will be returned. 
This is done to minimize the number of requests to the address check server.
The name of the parameter in the parameter tree which holds information concerning the period 
back in time which should return the same result: FRAUD.ADDRESSCHECK.CACHE_PERIOD
If this parameter tree entry for cache period is not defined/contains empty value, cached result is not used.
Possible outcomes are: YES/NO
Outcome YES means that cached result should be used.
Outcome NO means that actual address check should be called.|
h3.GetUserWithPersonalId
||Component name||Class name||Description||
|GetUserWithPersonalId|com.cdrator.fraud.addresscheck.component.GetUserWithPersonalId|This components checks whether a user exists in Rator for given personalId/cvrId and adds account_id to hookpoint result if user is found.
This component checks if user with given personalId/cvrId exist in Rator. If the User with given 
personalId/cvrId is not found in rator, a user object is created and added to context with key "USERS".
If the user exists in Rator, AccountId obtained from user is added to hookpoint result with key 
"ACCOUNT_ID" and the user object is added to workflow context with key "USERS".
Possible input is
CONTEXT: Context object, mandatory in each request.
PERSONAL_ID: PersonalId of user.
CVR_ID: CVR ID of company/business. Either PERSONAL_ID or CVR_ID must be specified.
FIRST_NAME: First name of user that needs address check (optional). 
LAST_NAME: Last name of user that needs address check (optional). 
Possible outcomes are: INVALID_INPUT/DONE|
h3.IsBlackListCheckEnabled
||Component name||Class name||Description||
|IsBlackListCheckEnabled|com.cdrator.fraud.component.IsBlackListCheckEnabled|Checks whether the black list check on the User is enabled.
This component verifies the value of parameter tree entry SOAP.SERVICES.SIGNUP_SERVICES.RATOR_BLACKLIST_ENABLED 
to find if the black list check should be done on the user: If the value of this parameter is YES/Y/TRUE, 
blacklist check should be done. A USERS context object is needed for this component to work. 
The brandId from Users object is used to get the blacklist parameter value. 
Possible outcomes are: YES/NO|
h3.PerformBlackListCheck
||Component name||Class name||Description||
|PerformBlackListCheck|com.cdrator.fraud.component.PerformBlackListCheck|Performs black list check on the User.
A USERS context object is required for this component to work. This component performs blacklist check on 
the given user i.e. it checks if there is an entry in the BLACKLST table for the personalId of given user.
If the BLACKLLIST table contains an entry, that means the user is blacklisted. 
This component adds a boolean value to the workflow result with key BLACK_LISTED indicating whether the user is blacklisted.
Possible outcomes are: BLACK_LISTED/NOT_BLACKLISTED|
h3.PerformBlackListCheckOnPersonID
||Component name||Class name||Description||
|PerformBlackListCheckOnPersonID|com.cdrator.fraud.component.PerformBlackListCheckOnPersonID|Performs black list check on the User.
A PERSONALID parameter or context object is required for this component to work. This component performs blacklist check on 
the given personID i.e. it checks if there is an entry in the BLACKLIST table for the personalId of given person.
If the BLACKLIST table contains an entry, that means the person is blacklisted. 
This component adds a boolean value to the workflow context with key BLACK_LISTED indicating whether the person is blacklisted.
If the person is blacklisted the reason is added to the context with the key BLACK_LISTED_REASON
If no reason is given, then the parameter DEFAULT_REASON is given as reason
Possible outcomes are: BLACK_LISTED/NOT_BLACKLISTED|
h3.PersistUpdatedUser
||Component name||Class name||Description||
|PersistUpdatedUser|com.cdrator.fraud.component.PersistUpdatedUser|This component is used to persist the updated Users object.
A USERS Context Object is required for this component to work.
The updated Users object will be saved only if it is persistent.
If the user is not persistent, nothing happens.
Possible outcomes are: DONE|
h3.DoUseCachedCreditCheckResult
||Component name||Class name||Description||
|DoUseCachedCreditCheckResult|com.cdrator.fraud.creditcheck.component.DoUseCachedCreditCheckResult|This component tells whether to use cached Credit Check result or to perform actual credit check.
A USERS Context Object is required for this component to work.
If a credit check has been run within a certain period, the result of that check will be returned. 
This is done to minimize the number of requests to the credit check server.
The name of the parameter in the parameter tree which holds information concerning the period 
back in time which should return the same result: 
FRAUD.CREDITCHECK.APPROVED_PERIOD or FRAUD.CREDITCHECK.REJECTED_PERIOD
If the parameter tree entry for cache period is not defined/empty, cached result is not used.
Possible outcomes are: YES/NO
Outcome YES means that cached result should be used.
Outcome NO means that actual credit check should be called.|
h3.CreateAccount
||Component name||Class name||Description||
|CreateAccount|com.cdrator.main.account.component.CreateAccount|Creates a new account and adds it to the WfContext.
The account will be added to the context with key: "ACCOUNT".
The account type Id must be in the WfContext with key "ACCOUNT_TYPE" 
If the context parameter  "CUSTOMER_NUMBER" is defined, then that will be used when creating the account 
Outcome is 
DONE|
h3.LinkAccountAndUserFromContext
||Component name||Class name||Description||
|LinkAccountAndUserFromContext|com.cdrator.main.account.component.LinkAccountAndUserFromContext|Links an account and a User based on objects from the WfContext.
All objects are taken from the WfContext.
Outcome is 
DONE|
h3.CreateFullSubscriptionFromContext
||Component name||Class name||Description||
|CreateFullSubscriptionFromContext|com.cdrator.main.component.CreateFullSubscriptionFromContext|Creates a full subscription based on objects from the WfContext.
All objects are taken from the WfContext.
Outcome is 
DONE|
h3.DynamicHistory
||Component name||Class name||Description||
|DynamicHistory|com.cdrator.main.history.component.DynamicHistory|Creates a History entry for the Account Object which is referenced in the parameter "ACCOUNT" or exists in the Workflow Context.
The History entry will be created based on the mandatory parameters "DEFAULT_TEXT", "TRANSLATION_TAG" and all optional "LABEL" parameters.
It is also possible to set the Type and Object of the History entry by using the optional parameters "HISTORY_TYPE" and "HISTORY_OBJECT". If these parameters are not set the Type will be set to "Account" and the Object will be set to the Account Object.
An Account Object is mandatory to exist. It can either be referenced in a parameter with the key "ACCOUNT" e.g. "ACCOUNT=BILLING_GROUP.getAccount" or exist as a Context Object with the key "ACCOUNT". The parameter has higher priority than the Context Object.
The Outcome of this component is "DONE".
Parameters:
-------------------
DEFAULT_TEXT is the text of the entry which is shown in case the entry is not being translated based on the Translation Tag. The default text is always English and can be made up by static and dynamic information.
If the default text should only be a static text the value of the parameter should simply be a text string. E.g. "This is a History Entry".
If the default text should also contain dynamic information this can be done by using the "LABEL" parameters. E.g if a Phone Number should be in the default text, a parameter LABEL_PHONE_NUMBER should exist which can then be inserted in the default text using ¤PHONE_NUMBER¤. This could result in a default text which looks like this: "This is a History Entry for ¤PHONE_NUMBER¤".
This parameter is MANDATORY.
TRANSLATION_TAG is the tag that will be saved for the entry in order to be able to translate it into different languages. The translation tag should always be surrounded by "<" and ">", written in capital letters without whitespaces and contain a Unique ID. E.g. <HISTORY_TRANSLATION_TAG.201201081559140817>. For more info about Translation Tag naming convention see CDRator confluence.
All "LABEL" parameters defined will be added to the Translation Tag. E.g. if there is a parameter LABEL_PHONE_NUMBER the Translation Tag will be created with a dynamic label "PHONE_NUMBER" which is assigned the value of the label parameter.
This Parameter is MANDATORY.
HISTORY_TYPE is the type of the entry. The history type should always be a text string. E.g. "Service" or "Service Option".
This parameter is OPTIONAL and has the default value "Account" in case it is not defined.
HISTORY_OBJECT is the object that is referenced in the entry.
The history object can either be a Context Object, e.g. "HISTORY_OBJECT=SERVICE", or method call that returns an Object, e.g. "HISTORY_OBJECT=SUBSCRIPTION.getService" and should always be a Persistent Object.
Normally the history object would match the history type. E.g. if the history type is set to "Service" the history object would be a Service Object.
This parameter is OPTIONAL and is default set to the Account object in case it is not defined.
LABEL parameters are used to insert dynamic information in the default text and translation tag. A label parameter is always named "LABEL_<NAME>" e.g. "LABEL_PHONE_NUMBER".
A label parameter can either be a text string, e.g. "LABEL_PHONE_NUMBER=55667788", a Context Object, e.g. "LABEL_PHONE_NUMBER=PHONE_NUMBER", or a method call, e.g. "LABEL_PHONE_NUMBER=SUBSCRIPTION.getService.getPhoneNumber".
Label parameters are OPTIONAL but need to exist if dynamic information is required in the history entry.|
h3.GetAgentProfile
||Component name||Class name||Description||
|GetAgentProfile|com.cdrator.main.operator.component.GetAgentProfile|Get an agent profile.
Get an agent profile.
The list will be available in the HookpointResult with key: "SOAP_GET_AGENT_PROFILE" 
Possible input is
PASSWORD
Possible outcomes are: 
NO_OPERATOR_FOUND
DONE|
h3.ChangeServiceStatusToActive
||Component name||Class name||Description||
|ChangeServiceStatusToActive|com.cdrator.main.service.component.ChangeServiceStatusToActive|Method for changing the status on the Service to Active.
The status is changed on the Service found in the Context for the workflow.
SERVICE context object is required|
h3.ChangeServiceStatusToBlocked
||Component name||Class name||Description||
|ChangeServiceStatusToBlocked|com.cdrator.main.service.component.ChangeServiceStatusToBlocked|Method for changing the status on the Service to Blocked.
The status is changed on the Service found in the Context for the workflow.
SERVICE context object is required|
h3.ChangeServiceStatusToPendingBlocked
||Component name||Class name||Description||
|ChangeServiceStatusToPendingBlocked|com.cdrator.main.service.component.ChangeServiceStatusToPendingBlocked|Method for changing the status on the Service to PendingBlocked.
The status is changed on the Service found in the Context for the workflow.
SERVICE context object is required|
h3.ChangeServiceStatusToPendingUnBlocked
||Component name||Class name||Description||
|ChangeServiceStatusToPendingUnBlocked|com.cdrator.main.service.component.ChangeServiceStatusToPendingUnBlocked|Method for changing the status on the Service to PendingUnBlocked.
The status is changed on the Service found in the Context for the workflow.
SERVICE context object is required|
h3.ActivateSubscription
||Component name||Class name||Description||
|ActivateSubscription|com.cdrator.main.subscription.component.ActivateSubscription|This component will activate a subscription.
A subscription is required in the context for this component to work. This component will only activate the subscription in Rator. It will set the status and end date on the subscription. The start date will by default set to now, but can be changed by adding another date into the context with the key SUBSCRIPTION_START_DATE.
Outcome is activated|
h3.AddInitialSubscriptionFees
||Component name||Class name||Description||
|AddInitialSubscriptionFees|com.cdrator.main.subscription.component.AddInitialSubscriptionFees|This component will add a initial subscription fees.
A subscription is required in the context for this component to work. This component will add initial fees to a subscription when activiating the customer. 
Outcome is ADDED|
h3.AddSubscriptionTerminationFee
||Component name||Class name||Description||
|AddSubscriptionTerminationFee|com.cdrator.main.subscription.component.AddSubscriptionTerminationFee|This component will add a termination fee to a subscription.
A subscription is required in the context for this component to work. This component will add a termination fee to a subscription. 
Outcome is ADDED|
h3.ChangeFeeDate
||Component name||Class name||Description||
|ChangeFeeDate|com.cdrator.main.subscription.component.ChangeFeeDate|This component will add a termination fee to a subscription.
A subscription is required in the context for this component to work. This component will alter the start date on the package fee by a given amount of workdaysThe parameter DAYS_TO_ADD must be available and parseable as a positive integer.
Outcome is DONE|
h3.CheckEndDate
||Component name||Class name||Description||
|CheckEndDate|com.cdrator.main.subscription.component.CheckEndDate|This component will check the end date of a subscription.
A subscription is required in the context for this component to work. This component will check the end date on the subscription. If the endDate > today, outcome TERMINATE is returned. 
If the endDate < today, outcome WAIT is returned. 
If the endDate is null, outcome REACTIVATED is returned. |
h3.CreateSubscription
||Component name||Class name||Description||
|CreateSubscription|com.cdrator.main.subscription.component.CreateSubscription|Creates a new subscription and adds it to the WfContext.
The subscription will be added to the context with key "SUBSCRIPTION" 
The product config must be in the WfContext with key "PRODUCT_CONFIG" 
The account must be in the WfContext with key "ACCOUNT" 
Outcome is 
DONE|
h3.GetCustomerInfo
||Component name||Class name||Description||
|GetCustomerInfo|com.cdrator.main.subscription.component.GetCustomerInfo|Based on a subscription from context it adds the ownerUser and billingGroup to the context
OwnerUser and BillingGroup objects are wrapped in a hashmap with key $OBJ which SOAP API framework handles
The ownerUser is available in the context with key USER
Outcome is The billing group is available in the context with key BILLING_GROUP
Outcome is 
DONE|
h3.GetSubscriptionStatus
||Component name||Class name||Description||
|GetSubscriptionStatus|com.cdrator.main.subscription.component.GetSubscriptionStatus|Returns the status of the SUBSCRIPTION object in the context.
Typical status returned could be 'Initial', 'Active', 'Cancellation pending' or 'Terminated'.
But this could depend on customer configuration, please check STATUS table to get a complete list of Subscription statuses.|
h3.SetSubscriptionStatusActive
||Component name||Class name||Description||
|SetSubscriptionStatusActive|com.cdrator.main.subscription.component.SetSubscriptionStatusActive|Update the subscription status to active.
A SUBSCRIPTION object is required in the context for this component to work. 
Outcome is STATUS_CHANGED|
h3.SetSubscriptionStatusCancellationPending
||Component name||Class name||Description||
|SetSubscriptionStatusCancellationPending|com.cdrator.main.subscription.component.SetSubscriptionStatusCancellationPending|Update the subscription status to cancelation pending.
A SUBSCRIPTION object is required in the context for this component to work. 
Outcome is STATUS_CHANGED|
h3.SubCheckTerminationReason
||Component name||Class name||Description||
|SubCheckTerminationReason|com.cdrator.main.subscription.component.SubCheckTerminationReason|This component will check the Termination Reason and can return a different outcome depending on the Reason.
Based on the Activity Parameter "OUTCOME_<TERMINATION_REASON>" the outcome is determined.
E.g. If the Termination Reason is "REGRET" the component will look for an Activity Parameter "OUTCOME_REGRET".
The value of the "OUTCOME_REGRET" parameter will then be used as the outcome.
If no Outcome Parameter can be found for the Termination Reason the Parameter "OUTCOME_DEFAULT" will be used.
A SUBSCRIPTION Context Object is expected for this component to work.
Possible outcomes are what is defined in the Activity Parameter|
h3.SubscriptionHasActiveChild
||Component name||Class name||Description||
|SubscriptionHasActiveChild|com.cdrator.main.subscription.component.SubscriptionHasActiveChild|This component will check if the subscription has an active child subscription on the current date.
A subscription is required in the context for this component to work. This component will use the Subscription Group Member to determine if the subscription has an active child.
Possible Outcomes are: YES, NO|
h3.SubscriptionHasParent
||Component name||Class name||Description||
|SubscriptionHasParent|com.cdrator.main.subscription.component.SubscriptionHasParent|This component will check if the subscription has a parent on the current date.
A subscription is required in the context for this component to work. This component will use the Subscription Group Member to determine if the subscription has a parent.
Possible Outcomes are: YES, NO|
h3.SubscriptionParentActive
||Component name||Class name||Description||
|SubscriptionParentActive|com.cdrator.main.subscription.component.SubscriptionParentActive|This component will check if the subscription has a parent and if it active.
A subscription is required in the context for this component to work. This component will use the Subscription Group Member to determine if the subscription parent is active.
Possible Outcomes are: YES, NO|
h3.TerminateSubscription
||Component name||Class name||Description||
|TerminateSubscription|com.cdrator.main.subscription.component.TerminateSubscription|This component will terminate a subscription.
A subscription is required in the context for this component to work. This component will only terminate the subscription in Rator. It will set the status to terminated on the subscription. 
Outcome is DONE|
h3.TerminationType
||Component name||Class name||Description||
|TerminationType|com.cdrator.main.subscription.component.TerminationType|Return the termination type.A SUBSCRIPTION object is needed in the context.
Outcomes can be: NO_TERMINATION if there is no end date, OUTPORT_TERMINATION if the service is outported or NORMAL_TERMINATION otherwise.|
h3.CheckUsernameAvailability
||Component name||Class name||Description||
|CheckUsernameAvailability|com.cdrator.main.user.component.CheckUsernameAvailability|Check username availability.
Checks if the username (which is an email) is available.
The list will be available in the HookpointResult with key: "SOAP_CHECK_USERNAME_AVAILABILITY" 
Possible input is
USERNAME
Possible outcomes are: 
FAILED_TO_CHECK_USERNAME
DONE|
h3.CreateUser
||Component name||Class name||Description||
|CreateUser|com.cdrator.main.user.component.CreateUser|Creates a user and adds it to the WfContext.
The user will be added to the context with key "USER".
If the context contains a "PASSWORD" this is assigned to the user
To use a user which is already in the context with key: "USER" set the parameter "USER_ALREADY_IN_CONTEXT" = "Y"
Outcome is 
DONE|
h3.CreateNpFlow
||Component name||Class name||Description||
|CreateNpFlow|com.cdrator.np.component.CreateNpFlow|Creates an NpFlow and adds it to the context.
The NpFlow will be added to the context with key "NP_FLOW_INSTANCE" 
By default and instance of com.CDRator.billing.np.NpFlow is created
To override this set the parameter: "NP_FLOW_CLASS_NAME" to fully qualified NpFlow class name
Outcome is 
DONE|
h3.NpSetSubscription
||Component name||Class name||Description||
|NpSetSubscription|com.cdrator.np.component.NpSetSubscription|This component will set the subscriptionId on an NPFlow
A NPFLOW Context Object and a SERVICE context object are required.
Possible outcomes are: DONE|
h3.WfCNPCreateANumber
||Component name||Class name||Description||
|WfCNPCreateANumber|com.cdrator.np.component.WfCNPCreateANumber|This component creates a aNumber from a NPFlow
Requires a NpFlow in context with the key "NPFLOW".Adds the ANumber object to context with the key "NEWANUMBER".Will throw a workflowException if the network operator of the anumberGroup from the subscription on the npFlow does not exist|
h3.BookAnumber
||Component name||Class name||Description||
|BookAnumber|com.cdrator.number.component.BookAnumber|Book a A-number to a given service.
Required context objects:
ANUMBER: The A-Number group that must be booked to the service. Can be changed using the parameter .ANUMBER_CONTEXT_KEY
SERVICE: The service that the A-Number must be booked to
Optional context objects:
SUSPEND_PERIOD: Suspend period of the A_number
Optional activity parameter:
ANUMBER_CONTEXT_KEY: key used when to retrive the A-Number from the context. Default is: ANUMBER
SUSPEND_PERIOD: Suspend period for the A-Number. Default if not found in context either is: 6 months
Outcomes are 
DONE
NOT_BOOKED|
h3.BookAnumberToTeleService
||Component name||Class name||Description||
|BookAnumberToTeleService|com.cdrator.number.component.BookAnumberToTeleService|This component will change the anumber of a service.
An anumber and a teleService is required in the context for this component to work. Also, a suspendPeriod (Long) is required. This component will only change the anumber in Rator. It will set the status to In Use and assignedToServiceId to the ID of the service on the Anumber and also update the phone number on the TeleService The old anumber will be put in reservation for X number of months where X = suspendPeriod
Outcome is DONE|
h3.CreateAnumber
||Component name||Class name||Description||
|CreateAnumber|com.cdrator.number.component.CreateAnumber|Create a A-number in a given A-number group.
If the A-Number already exists nothing in done
Required context objects:
ANUMBER_GROUP: The A-Number group that the a-numebr must be create in
ANUMBER: The A-Number that must be create. Type is string.
Optional activity parameter:
ANUMBER_CONTEXT_KEY: key used when the ANumber object is added to the context. Default is: ANUMBER
Outcomes are 
DONENOT_CREATED|
h3.FreeANumber
||Component name||Class name||Description||
|FreeANumber|com.cdrator.number.component.FreeANumber|Reserve the number for a period of time so it can be reused after that or set the status to outported.
A SUBSCRIPTION object is required in the context for this component to work. 
The number of the service is set to outported or reserved the number of months specified in parameter ANUMBER_RESERVE_MONTHS so the number is released after this time.
Outcome is DONE|
h3.GetAnumberGroup
||Component name||Class name||Description||
|GetAnumberGroup|com.cdrator.number.component.GetAnumberGroup|This component will retrieve an anumber group and add it to the context.
The NetworkOperator must be in the WfContext with key "NETWORK_OPERATOR" 
The parameter MARKETING_TYPE has to be set on the activity.
Possible outcomes are: 
DONE|
h3.GetANumberGroups
||Component name||Class name||Description||
|GetANumberGroups|com.cdrator.number.component.GetANumberGroups|Retrieves Anumber groups.
This component will retrieve the list of Anumber groups.
The list will be available in the context with key: "ANUMBER_GROUPS" 
The PRODUCT must be in the WfContext with key "PRODUCT" 
The RATEPLAN must be in the WfContext with key "RATEPLAN" 
Possible outcomes are: 
NO_ANUMBER_GROUPS_FOUND
DONE|
h3.GetANumbers
||Component name||Class name||Description||
|GetANumbers|com.cdrator.number.component.GetANumbers|Retrieves ANumbers.
This component will retrieve the list of phonenumbers according to the group_id.
Required context parameters are: ANUMBER_GROUP, SEARCH_METHOD (Long), PATTERN (String), COUNT (Long).
The context key ANUMBER_GROUP can be custormized by setting activity parameter ANUMBER_GROUP_KEY.
Default key value is: "ANUMBER_GROUP"
For SEARCH_METHOD 1-3 PATTERN is required. COUNT must be higher than 0.
The list will be available in the context with key: "PHONE_NUMBERS" 
Available search methods are:
0 - random
1 - exact match of the pattern
2 - contains the pattern
3 - ending with the pattern
Possible outcomes are: 
INVALID_SEARCH_PARAMETERS
NO_NUMBERS_FOUND
DONE|
h3.ReserveAnumber
||Component name||Class name||Description||
|ReserveAnumber|com.cdrator.number.component.ReserveAnumber|Reserves an Anumber.
This component will reserve an anumber for a specified period of time and returns the reservationId. 
If no RESERVE_TIME is found in the context, an activity parameter (DEFAULT_RESERVATION_TIME) is looked up for the value.
If the activity parameter value is not set default reserve time will be: 15
Required context parameters:
ANUMBER (Anumber): Anumber entity
Optional context parameters:
RESERVE_TIME (Long): # of minutes
The reservation id will be available in the context with key: "RESERVATION_ID" 
Possible outcomes are: 
ANUMBER_NO_LONGER_AVAILABLE
DONE|
h3.ReserveRandomAnumber
||Component name||Class name||Description||
|ReserveRandomAnumber|com.cdrator.number.component.ReserveRandomAnumber|Finds a random Anumber, reserves it and adds it to context.
The component will find an anumber from a configured Anumber group and try to reserve it before adding it to the context.
If the reservation fails, it will try with a different anumber.
It is configurable how many anumbers which will be tried if reservation is unsuccesful.
The Anumber is added to the context with key: "ANUMBER". To override this, set activity parameter: "ANUMBER_CONTEXT_KEY"
The Anumber groups from which to take random numbers is: "Normal. To override this, set activity parameter: "ANUMBER_GROUP_NAME" (comma seperated list if more than one group)
The number of attempts to try to reserve an anumber is: "3". To override this, set activity parameter: "RESERVATION_ATTEMPTS" (integer parsable value)
The number of minutes that the reservation should be valid is: "15". To override this, set activity parameter: "RESERVATION_MINUTES" (integer parsable value)
Possible outcomes are: 
UNABLE_TO_RESERVE_ANUMBER
DONE|
h3.ValidatePhoneNumber
||Component name||Class name||Description||
|ValidatePhoneNumber|com.cdrator.number.component.ValidatePhoneNumber|Checks if there is an anumber for a given phone number.
This component will locate the anumber for a given PHONE_NUMBER (String).
By default it only validates the existence of an anumber for the PHONE_NUMBER.
Configurations:
Key: ADD_ANUMBER_TO_CONTEXT Value: Y: adds the ANUMBER to the context with default key ANUMBER
Key: CONTEXT_KEY Value: SOME_CONTEXT_KEY: adds the ANUMBER to the context with key SOME_CONTEXT_KEY
Required context parameter: PHONE_NUMBER (String)
Possible outcomes are: 
ANUMBER_NOT_FOUND
DONE|
h3.ValidateReservationAndAddANumberToContext
||Component name||Class name||Description||
|ValidateReservationAndAddANumberToContext|com.cdrator.number.component.ValidateReservationAndAddANumberToContext|Validates the phone number and reservationId and adds the ANumber to the context.
The validation is done according the the product config in the context.
The ANumber will be added to the context with key "A_NUMBER" 
The phone number must be in the context with key "MSISDN" 
The reservationId if exists must be in the context with key "RESERVATION_ID" 
Outcome is 
RESERVATION_MSISDN_MISMATCH
DONE|
h3.LoadObjectIntoContext
||Component name||Class name||Description||
|LoadObjectIntoContext|com.cdrator.persistence.component.LoadObjectIntoContext|Loads a persistent object using id and adds it into the context
The Activity Parameter "ID_KEY" represents the context key that should be used for retrieving from the context the database id of the persistent object.
The Activity Parameter "CLASS_NAME" represents the fully qualified name of the persistent object's class.
The Activity Parameter "CONTEXT_KEY" represents the context key that should be used for adding(saving) the persistent object into the context
Outcome is DONE|
h3.AddProductConfigByCodeToContext
||Component name||Class name||Description||
|AddProductConfigByCodeToContext|com.cdrator.product.component.AddProductConfigByCodeToContext|Finds and adds the product config to the WfContext.
This component will retrieve the product config given that a product code is present in the context.
The product code must be in the WfContext with key "PRODUCT_CODE"
Outcome is 
DONE|
h3.GetProductConfigs
||Component name||Class name||Description||
|GetProductConfigs|com.cdrator.product.component.GetProductConfigs|Retrieves all product configurations.
This component will retrieve the list of product configurations available.
The list will be added to the context with key: "PRODUCT_CONFIGS" 
Possible outcomes are: 
NO_PRODUCT_CONFIGS_FOUND
DONE|
h3.AddMetaDataFromServiceOptionToContext
||Component name||Class name||Description||
|AddMetaDataFromServiceOptionToContext|com.cdrator.product.option.component.AddMetaDataFromServiceOptionToContext|This component expects a service option set in the context already. It finds this service option's product option and adds the meta data with the name defined by the activity parameter: META_DATA_NAMEto the context. It uses the meta data'sname as the context key|
h3.AddSelectedSubOptionToContext
||Component name||Class name||Description||
|AddSelectedSubOptionToContext|com.cdrator.product.option.component.AddSelectedSubOptionToContext|Finds and adds the selected service option which is a sub option of the product option with a pre-defined OPTION_KEY. The option key is defined in a parameter value called OPTION_KEY|
h3.CheckIfShouldBeProvisioned
||Component name||Class name||Description||
|CheckIfShouldBeProvisioned|com.cdrator.product.option.component.CheckIfShouldBeProvisioned|Check if at least one of the specified service options should be provisioned
For each service option that should be checked it is required to configure an activity parameter whose key starts with SERVICE_OPTION and the value is the context key of the service option.
The activity parameters' values specify the context keys of the service options which might be in workflow context and should be checked.
If the declared key as activity parameter is not in the workflow context then a proper exception is thrown.
If at least one of the specified and found service options in the context  should be provisioned then the component's outcome is: YES, else it is NO|
h3.CleanUpActivationPendingOption
||Component name||Class name||Description||
|CleanUpActivationPendingOption|com.cdrator.product.option.component.CleanUpActivationPendingOption|This component is used for cleaning up the activation pending option,including its campaigns and fees.
The Activity Parameter "REFUND_NOW" is optional:It's used to determine if subscriptionFees should be refunded immediately.
Possible values:Y/N
Mandatory Context Objects:
NEW_OPTION:the active pending service option
Possible outcome is: DONE|
h3.ReActivateServiceOption
||Component name||Class name||Description||
|ReActivateServiceOption|com.cdrator.product.option.component.ReActivateServiceOption|Re-activates a service option
The date in the field End Date will be removed and the Status changed to Active (20)
A service_option is required in the context
The value of the context key should be: 
  OPTION
 OR the value defined in the activity parameter
  SERVICE_OPTION_CONTEXT_KEY
Outcome is: 
DONE|
h3.ScheduleFeesTerminationAtOptionEndDate
||Component name||Class name||Description||
|ScheduleFeesTerminationAtOptionEndDate|com.cdrator.product.option.component.ScheduleFeesTerminationAtOptionEndDate|Schedule the service options fees' termination at service_option.end_date
The activity should have the parameter SERVICE_OPTION_CTX_KEY which represents the service option workflow context key
A context object having the key equals to the activity parameter SERVICE_OPTION_CTX_KEY value is required for this component to work
Outcome is DONE|
h3.ScheduleNewOption
||Component name||Class name||Description||
|ScheduleNewOption|com.cdrator.product.option.component.ScheduleNewOption|This component is used for scheduling starting days for campains and fees related to the new service option.
The Activity Parameter "CHARGE_NOW" is mandatory:It's used to determine if subscriptionFees should be charged immediately.
Possible values:Y/N
Mandatory Context Objects:
NEW_OPTION:the new service option
START_DATE:DATE TYPE,the new option starting date
END_DATE:DATE TYPE,the old option ending date)
Possible outcome is: DONE|
h3.ScheduleTerminationForCurrentOption
||Component name||Class name||Description||
|ScheduleTerminationForCurrentOption|com.cdrator.product.option.component.ScheduleTerminationForCurrentOption|This component is used for scheduling campains and fees ending dates for the current service option.
The Activity Parameter "REFUND_NOW" is mandatory:It's used to determine if subscriptionFees should be refunded immediately.
Possible values:Y/N
Mandatory Context Objects:
SUBSCRIPTION
NEW_OPTION: the new service option
START_DATE: DATE TYPE,the new option starting date
END_DATE: DATE TYPE,the old option ending date)
Possible outcome is: DONE|
h3.SubscribeToProductOption
||Component name||Class name||Description||
|SubscribeToProductOption|com.cdrator.product.option.component.SubscribeToProductOption|Subscribes to a product option defined by the product option key in the parameter PRODUCT_OPTION_KEY
A service is required in the context for this component to work. 
Outcome is DONE|
h3.UpdateChangeDate
||Component name||Class name||Description||
|UpdateChangeDate|com.cdrator.product.option.component.UpdateChangeDate|This component is used for updating service option changing dates.
The new option StartDate is decided as follows:(reset to 0 hour 0 min)
If Context Object "START_DATE" is given, this date is used;
Otherwise if Activity Parameter "START_NOW" is "Y",current date will be used;
For rest cases the StartDate will be first day next month;
The Activity Parameter "START_NOW" is optional:It's used to determine if service option should change immediately.
Possible values:Y/N
The Context Object "START_DATE" is optional
Possible outcome is: DONE|
h3.UpdateNextChargeDateToOptionEndDate
||Component name||Class name||Description||
|UpdateNextChargeDateToOptionEndDate|com.cdrator.product.option.component.UpdateNextChargeDateToOptionEndDate|This component updates the next_charge_date on the SubscriptionFee related to the ServiceOption
A serviceOption is required in the context with the key "OPTION"If the nextChargeDate is in the future, it will be set back to the end date of the service option
or, if the end_date on the serviceOption is null, sysdate 
Outcome is: DONE|
h3.UpdatePendingOptionStatus
||Component name||Class name||Description||
|UpdatePendingOptionStatus|com.cdrator.product.option.component.UpdatePendingOptionStatus|This component is used for update status of pending options.
Mandatory Context Objects:
OPTION:the new service option
Possible outcome is: DONE|
h3.ValidateAndAddProductOptionsToContext
||Component name||Class name||Description||
|ValidateAndAddProductOptionsToContext|com.cdrator.product.option.component.ValidateAndAddProductOptionsToContext|Validates the product options and if valid, adds the product options to the WfContext.
The validation is done according the the product config in the WfContext.
The product options will be added to the context with key: "PRODUCT_OPTIONS".
The product config must be in the WfContext with key "PRODUCT_CONFIG" 
Outcome is 
PRODUCT_OPTION_NOT_FOUND
DONE|
h3.WaitForOptionChangeDate
||Component name||Class name||Description||
|WaitForOptionChangeDate|com.cdrator.product.option.component.WaitForOptionChangeDate|This component is used for waiting for the changing option date.
Context Object "END_DATE" is required.
Possible outcome is: WAIT or CONTINUE|
h3.ActivateService
||Component name||Class name||Description||
|ActivateService|com.cdrator.product.service.component.ActivateService|This component will activate a service.
A Service or a subscription is required in the context for this component to work. This component will only activate the service in Rator. 
Outcome is activated|
h3.CheckIfCustomerIsActive
||Component name||Class name||Description||
|CheckIfCustomerIsActive|com.cdrator.product.service.component.CheckIfCustomerIsActive|This component can be used for checking if a customer's service and subscription are active
A SERVICE Context Object is required for this component to work.
Possible outcomes are: YES/NO|
h3.CreateService
||Component name||Class name||Description||
|CreateService|com.cdrator.product.service.component.CreateService|Creates a new service and adds it to the WfContext.
The service will be added to the context with key: "SERVICE".
The product config must be in the context with key "PRODUCT_CONFIG" 
The subscription must be in the context with key "SUBSCRIPTION" 
The anumber must be in the context with key "A_NUMBER" 
Outcome is 
DONE|
h3.GetAndAddActiveService
||Component name||Class name||Description||
|GetAndAddActiveService|com.cdrator.product.service.component.GetAndAddActiveService|Finds the service for a phone number and adds it to the context
Calls Service.getActiveService for given phoneNumber and brand.
The phone number is taken from the context with key: PHONE_NUMBER
The brand is taken from the context with key: BRAND
Outcome is 
PHONE_NUMBER_NOT_FOUND
DONE|
h3.CreateActivationProvisioningTask
||Component name||Class name||Description||
|CreateActivationProvisioningTask|com.cdrator.provisioning.component.CreateActivationProvisioningTask|Creates a activation provisioning task for the subscription
A subscription is required in the context for this component to work. This component will create a provisioning task of type activation
Outcome is DONE|
h3.CreateProvisioningTask
||Component name||Class name||Description||
|CreateProvisioningTask|com.cdrator.provisioning.component.CreateProvisioningTask|Creates provisioning task for the service
A service is required in the context for this component to work. This component will create a provisioning task of specified type
Task type is specified using TASK_TYPE parameter
Task description is specified using TASK_DESCRIPTION parameter.
If not passed default description from task constructor will be used.
Task reference if needed is specified using TASK_REFERENCE parameter
If not present in the parameter, will be retrieved from workflow context REFERENCE
Outcome is DONE|
h3.CreateProvisioningTaskForChildren
||Component name||Class name||Description||
|CreateProvisioningTaskForChildren|com.cdrator.provisioning.component.CreateProvisioningTaskForChildren|Creates provisioning task for the children of a subscription
A subscription is required in the context for this component to work. This component will create a provisioning tasks of specified type for all the children of the subscription
Task type is specified using TASK_TYPE parameter
Task description is specified using TASK_DESCRIPTION parameter.
If not passed default description from task constructor will be used.
Task reference if needed is specified using TASK_REFERENCE parameter
If not present in the parameter, will be retrieved from workflow context REFERENCE
Outcome is DONE|
h3.ProvisioningTaskSetStatusToSent
||Component name||Class name||Description||
|ProvisioningTaskSetStatusToSent|com.cdrator.provisioning.component.ProvisioningTaskSetStatusToSent|Sets the status to Sent on a provisioning task
A provisioningTask is required in the context for this component to work. 
This component will set the status to Sent on a provisioning task
Outcome is DONE|
h3.BookSimCardToService
||Component name||Class name||Description||
|BookSimCardToService|com.cdrator.simcard.component.BookSimCardToService|This component will book a simcard to the service.
A simcard and a service is required in the context for this component to work. This component will only change the simcard in Rator. It will set the status to In Use and assignedToServiceId to the ID of the service on the SimCard. 
Outcome is DONE|
h3.CreateSimcard
||Component name||Class name||Description||
|CreateSimcard|com.cdrator.simcard.component.CreateSimcard|Create a Simcard with the given details.
If the Simcard already exists, the existing details are added to context.
Required context objects:
SIMCARD: The new SimCard to be created
Optional activity parameter:
NEW_SIMCARD_CONTEXT_KEY: key used when looking up the details of the new SimCard. Default is: SIMCARD
SIMCARD_CONTEXT_KEY: key used when the created or found SimCard object is added to the context. Default is: SIMCARD
Outcomes are 
DONENOT_CREATED|
h3.VerifySimcardState
||Component name||Class name||Description||
|VerifySimcardState|com.cdrator.simcard.component.VerifySimcardState|Determine if the simcard is in a specified state.
A TeleService is required in the context for this component to work.
This component will check the simcard to determine if the status
fits within a disallowed set of values. The WfActivity parameters are
comma delimited StatusSimcard id values.
Outcome is NEGATIVE if simcard state is in the OUTCOME_NEGATIVE parameter list.
Outcome is POSITIVE if simcardstate is compatible. (Not DONE, FAILED, or NEGATIVE|
h3.ExpressionEvaluator
||Component name||Class name||Description||
|ExpressionEvaluator|com.cdrator.util.expression.component.ExpressionEvaluator|This component will evaluate MVEL expressions and add the value to the context.
The activity parameters will be evaluated using the MVEL expression language. The parameter key will be the key in the context and the result of parameter value will become value in the context.Outcome is ok|
h3.CheckIfActiveWorkflowExists
||Component name||Class name||Description||
|CheckIfActiveWorkflowExists|com.cdrator.workflow.component.CheckIfActiveWorkflowExists|This component can be used for checking if an active workflow exists for the given subscription.
The Activity Parameter "HOOKPOINT_KEY" is used to determine which Workflow to check and is mandatory.
A SUBSCRIPTION Context Object is required for this component to work.
Possible outcomes are: YES/NO|
h3.CheckIfWorkflowActivityCompleted
||Component name||Class name||Description||
|CheckIfWorkflowActivityCompleted|com.cdrator.workflow.component.CheckIfWorkflowActivityCompleted|This component checks a workflow to see if all activities with a specified name are completed.
The workflow is retrieved from the context with a key specified in the activity parameters: WORKFLOW_CONTEXT_KEY.
The activity is specified by the activity's name either in the context or in the parameters by the key: WORKFLOW_ACTIVITY_NAME.
Outcome is YES if all the activities are completed - NO otherwise.|
h3.ContextBasedOutcome
||Component name||Class name||Description||
|ContextBasedOutcome|com.cdrator.workflow.component.ContextBasedOutcome|Component that will make outcome based on how it is configured.
This component will take a configured "CONTEXT_KEY" and retrieve the value from the context.
It will then take the value and lookup the StringValue in the context and compare them.
If the context value is the same as a configured value. That value becomes the outcome.
Example:
context contains key: "NETWORK" with value: "TELIA"
activity parameters are: {(CONTEXT_KEY, NETWORK), (TDC,TDC_OUTCOME), (TELIA, TELIA_OUTCOME)}
outcome will be: TELIA_OUTCOME
Possible outcomes are:
Configurable.
If no CONTEXT_KEY defined: DONE|
h3.DynamicWaitUntil
||Component name||Class name||Description||
|DynamicWaitUntil|com.cdrator.workflow.component.DynamicWaitUntil|This component will wait for a specfic date before continuing.
A parameter named WAIT_UNTIL_DATE in the activity is required for this component to work. This component will resolve a date based on the value in the parameter WAIT_UNTIL_DATE. It returns WAIT if the date is after now or CONTINUE if date is before now. Whoever uses this component must create an outcome WAIT which returns to the activity itself. IMPORTANT: Add a delay of perferably at least 1 day to the outcome WAIT.
Outcome is WAIT or CONTINUE|
h3.GenericBrandChecker
||Component name||Class name||Description||
|GenericBrandChecker|com.cdrator.workflow.component.GenericBrandChecker|Checks if configured object in context is from BRAND in context.
This component will check if values in the context has same brand as BRAND in context.
The BRAND must be in the context with key "BRAND" 
The configured values must be in the context.
Possible outcomes are: 
BRAND_MISMATCH
DONE|
h3.GenericHookpointResultAdder
||Component name||Class name||Description||
|GenericHookpointResultAdder|com.cdrator.workflow.component.GenericHookpointResultAdder|Adds objects from context to the hookpoint result.
This component will take objects from the context and add them to the hookpoint result based on configured key-value String pairs. If the context does not contain the configured key, nothing will be added. If a key (CLEAR_HOOKPOINT) with value "Y" is configured then the hookpoint result is cleared before adding the objects. 
Outcome is DONE|
h3.GenericWaitUntil
||Component name||Class name||Description||
|GenericWaitUntil|com.cdrator.workflow.component.GenericWaitUntil|Component for waiting until some date
If the activity has object WAIT_UNTIL_DATE with this format dd-MM-yyyy then it uses this specific date to wait.
Otherwise the activity should have a parameter called WAIT_UNTIL_DAY within this format DD.
This parameter can be use to indicate until which day in every month the activity shall wait.
Parameter START_FROM_CURRENT_MONTH will indicate if the activity shall wait until some day in current month or starting next month.
The format is 'true' or 'false'. By default it will start from current month.
The component wil return OK or WAIT.|
h3.StartWorkflowCopyContext
||Component name||Class name||Description||
|StartWorkflowCopyContext|com.cdrator.workflow.component.StartWorkflowCopyContext|This component can be used for starting a new workflow with a copy of the context from this workflow
The Activity Parameter "HOOKPOINT_KEY" is used to determine what Workflow will be started and is mandatory.
The context of the current workflow is cpoied into the new workfloe
The OUTCOME of this activity can be defined either in OUTCOME or RESULT object in the workflow result. 
If no OUTOME is defined, RESULT is returned, if no RESULT is defined, the outcome defaults to: DONE.|
h3.UpdateHookpointResult
||Component name||Class name||Description||
|UpdateHookpointResult|com.cdrator.workflow.component.UpdateHookpointResult|Adds/updates all configured parameters, key-value String pairs, to the HookpointResult.
This component will add/update all configured parameters key-value String pairs to the HookpointResult.
Outcome is DONE|
h3.WaitNumberOfDays
||Component name||Class name||Description||
|WaitNumberOfDays|com.cdrator.workflow.component.WaitNumberOfDays|This component will activate a subscription.
A parameter named WAIT_NO_OF_DAYS (integer) in the activity is required for this component to work. It runs twice. First it calculates a date (now + WAIT_NO_OF_DAYS) It set the start date of the activity to this date and returns WAIT.Then the workflow engine will not pick it up until the date has passed. Whoever uses this component must create an outcome WAIT which returns to the activity itself. and an outcome CONTINUE which leads to the next activity. 
Outcomes are CONTINUE and WAIT|
h3.ContextObjectEqualsToValue
||Component name||Class name||Description||
|ContextObjectEqualsToValue|com.cdrator.workflow.context.component.ContextObjectEqualsToValue|This component can be used to check if a context object equals to any specific value
The Activity Parameter "CONTEXT_KEY" is used to determine which workflow context object should be checked
If there is a context object with that key and it is not null the outcome value should be the value of The Activity Parameter CONTEXT_VALUE_<EXPECTED_VALUE>
If the context object does match to any of the expected values the outcome value should be NOT_FOUND
Otherwise, if the object is not in the context or is null the outcome value should be NOT_EXIST|
h3.DetermineContextObjType
||Component name||Class name||Description||
|DetermineContextObjType|com.cdrator.workflow.context.component.DetermineContextObjType|Component that determines type of context object, i.e. Object.getClass().getSimpleName(). 
The Activity Parameter "PARAMETER_CONTEXT_KEY" is used to determine which workflow context object to look for. 
If the object exists and is not null the outcome value is simple class name of object. 
E.g. Java.Util.ArrayList would return 'ArrayList'. |
h3.ObjectInContext
||Component name||Class name||Description||
|ObjectInContext|com.cdrator.workflow.context.component.ObjectInContext|This component can be used to check if a specific element exist is in the context and if it is blank.
The Activity Parameter "CONTEXT_KEY" is used to determine which workflow context object to look for.
The CHECKIFBLANK parameter can be set to "Y" if this component should check if the object is blank.If CHECKIFBLANK is set, the object in context should be a string.
If the object exists and is not null and is not blank, the outcome value is YES, else it is NO|
h3.SetWfIdOnObject
||Component name||Class name||Description||
|SetWfIdOnObject|com.cdrator.workflow.SetWfIdOnObject|This component sets the workflowId on an object in context.
This component requires that there is an Object in the context with the key: "KEY".
This component also requires that the Object has the method: "setWorkflowId(String)"
If there is no parameter with the key: "KEY", a nullpointerException will be thrown.
If the parameter "SAVE" is set to "TRUE" and the object is an instance of PersistentObject the component will save the object.
Possible outcomes:
DONE|