i

Please enable JavaScript to view this site.

The model class contains properties with their getters and setters, while the service class contains operations to be performed on the model.

 

For example, when downloading the Java sources of the process, if using the "Request Payment" process, a requestPayment.java file is generated with the model methods and also another requestPaymentService.java file with the available service operations.

Model Class Content

 

A case model contains:

 

Model constructor.

Getters and setters of the case properties.

Getters to get the related forms.

Getters to get the activities in progress.

Getters to get the process corresponding to the case.

 

Getters and setters of the case properties

 

The case model class contains a set of getters and setters for the case properties.

 

 

Operation

Description

Parameters

getCdCase()

Gets the identifier of the case.


setCdCase(casenumber)

Allows to set the case identifier value.

String casenumber: Case number

getCdState()

Gets the state of the case.

 

Possible values:

ACTIVE - Active

CANCELLED Cancelled

ENDEDCASE - Ended


getDsCase()

Gets the description of the case.


getDtEnded()

Gets the end date of the case.


getDtExpiration()

Gets the expiration date of the case.


getDtInitiated()

Gets the start date of the case.


getPriority()

Gets the priority of the case.

 

Possible values:

1 - Urgent

2 - High

3 - Medium

4 - Low


setLastPressedButton(button)

Allows to set the last button pressed.

String button: Name of the last button pressed.

getLastPressedButton()

Gets the last button pressed.


get + <Form class name> + Entity()

Gets an instance of the form class related to the process.


getLsVinculatedForms()

Gets a list of form instances related to the case.


getVinculatedFormByIdEntity(idEntity)

Gets a form instance related to the case.

String idEntity: Identifier of the form instance

getProcess()

Gets the process corresponding to the case.


getLsExecutedActivities()

Gets the executed activities of the case.


getLsCurrentActivities()

Gets the activities in progress of the case.


 

Getter to get the related forms.

 

Given a case, the values of the form fields related to it can be used, in the same way as if the activities were executed manually.

 

The model class has a getter for each form related to the process, with a “get + <Form class name> + Entity()” structure. Once an instance has been retrieved, it is used in the same way as for forms.

 

Example

If the "Request Payment" process related to the "Payment" and "Report" forms is modeled, the RequestPayment class has the following methods:

 

getPaymentEntity(): Gets an instance of the Payment class that corresponds to the "Payment" form related to the case.

 

getReportEntity(): Gets an instance of the Payment class that corresponds to the "Payment" form related to the case.

 

 

The case cannot have forms associated with the same class name, even if they belong to different applications.

 

Getters to get the activities in progress

 

Given a case, the list of its activities in progress can be accessed, using the getLsCurrentActivities() case properties method of the model class, which returns a list of "ExecutedActivity" objects with their methods.

 

 

Operation

Description

Parameters

getCdActivity()

Gets the code of the activity.


getDsNameActivity()

Gets the activity name.


getCdState()

Gets the state of the activity.

 

Possible values:

EXEC - In execution

CANCELLEDACT - Cancelled

ENDEDACT - Ended


getPriority()

Gets the activity priority.

 

Possible values:

1 - Urgent

2 - High

3 - Medium

4 - Low


getDtEnded()

Gets the end date of the activity.


getDtExpiration()

Gets the expiration date of the activity.


getDtInitiated()

Gets the start date of the activity.


getCdUserExec()

Gets the code of the user that executed the activity.


getCdUserInit()

Gets the code of the user that started the activity.


getNuDurationSeconds()

Gets the duration in seconds of the activity execution.


getTpActivity()

Gets the activity type.

 

Possible values:

TP_GATEWAY - Gateway

TP_STANDARD - Standard

TP_ABSTRACT - Abstract


getTpParticipant()

Gets the type of participant for the activity.

 

Possible values:

USER - User

ORG_UNIT - Organizational Unit

ROLE - Role

THING - Userthing

 


getLsExecutedActions()

Gets a list of actions executed by the activity.


 

Getter to get the process corresponding to the case.

 

The process corresponding to a case can be obtained through the getProccess() method of the model class, which returns an instance of the "Process" class with its methods.

 

 

Operation

Description

Parameters

getCdProcess()

Gets the code of the process.


getCdVersion()

Gets the version of the process.


getIdApplication()

Gets the application identifier of the process.


getCdFirstActivity()

Gets an Activity object with the first process activity,


getDsComment()

Gets the comment of the process.


getDsDescription()

Gets the description of the process.


getDsName()

Gets the name of the process.


 

Service Class Content

 

The service allows the following operations to be performed on the cases:

 

 

Operation

Description

Parameters

startCase(case)

 

 

 

startCase(case, user)

 

Starts a case, executing the initial activity of the related process.

 

 

Returns the code of the created case.

 

Case case: Model of the case to start. Related form fields must have values

 

 

Case case: Case model with the values assigned to the related form fields

 

String user: Code of the user that executes the activity. It must be specified when the participant responsible for the activity is a role

execute(case)

 

 

execute(case, user)

Executes the current activity of a case.

 

 

Returns the state of the updated case.

Case case: Model of the case with assigned case number

 

 

Case case: Model of the case with assigned case number

 

String user: Code of the user that executes the activity. It must be specified when the participant responsible for the activity is a role

read(case)

Reads a case.

Case case: Model of the case with assigned case number

cancelCase(case, observation)

 

Cancel a case.

Case case: Model of the case with case number to be cancelled. Cancellation is done with the online user executing the sdk rule.

 

String observation: Reason for cancellation

 

Examples of Use

 

The examples use the “Request Payment” process and each example contains the use of the “RequestPayment” model class and the “RequestPaymentService” service class.

 

In addition, “Request” and “Report” classes are used, which represent models of forms related to the “Request Payment” process.

 

The examples detail how to start a case, read it, execute its activities, finish and cancel it.

 

Process Diagram

 

 

CM0050~1_img1

 

 

 

1.Starting a case

 

To start the case, the first activity "Fill Request" is executed. The case moves to the “Evaluate Request” activity under the liability of “Afarias” user, configured in the “Authorizer” lane.

 

Executing the “Fill Request” activity performs the “Create” operation on the “Request” form with the values assigned to its fields.

 

An instance of the "RequestPayment" model class is created, in the "Request" form obtained through the getRequestEntity() method, values are assigned to its fields with the corresponding setters. The case is started using the "RequestPaymentService" service class with the startCase(myFirstPaymentCase) method.

 

 

RequestPayment myFirstPaymentCase = new RequestPayment();

myFirstPaymentCase.getRequestEntity().setAmount(new Double(200));

 

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

myFirstPaymentCase.getRequestEntity().setDueDate(new Date(format.parse("2020-06-28").getTime()));

myFirstPaymentCase.getRequestEntity().setMessage("This is my first payment request .. i need to buy more coffee !!");

 

RequestPaymentService myService = new RequestPaymentService(getApiClient());

String cdCase = myService.startCase(myFirstPaymentCase);

 

 

 

2.Reading the case

 

An instance of the “RequestPayment” model class is created, it is assigned a case number generated by the startCase(myFirstPaymentCase) method of the “RequestPaymentService” service class, in the previous example.

 

The case is read with the read(myFirstPaymentCase) method of the "RequestPaymentSercice" service class and the case number.

 

 

RequestPayment myPaymentCase = new RequestPayment();

myPaymentCase.setCdCase(cdCase);

myPaymentCase = myService.read(myFirstPaymentCase);

 

 

 

3.Activity execution defining modeled buttons

 

The case is in the “Evaluate Request” activity, which has two modeled buttons. The next activity to be executed depends on the button selected, in this example “Approve” is selected. If no button is specified, the modeled flow is followed as default.

 

The “Approve” button is assigned to the “Request Payment” model class using the corresponding setter. The “Evaluate Request” activity is executed with execute(myPaymentCase) method of the “RequestPaymentService” service class.

 

As a result, the case is in the “Fill Report” activity and its state is “ACTIVE”,

 

 

myPaymentCase.setLastPressedButton("Approve");

myService.execute(myPaymentCase);

 

 

 

4.Activity execution not defining modeled buttons

 

The case is in the “Fill Report” activity. This activity execution creates the “Report” form. This form has a field called "request" that is related to the "Request" entity.

 

The “request” field is completed by means of the corresponding setter, with the identifier of the “Request” entity related to the case, which is obtained by means of the getRequestEntity() method.

 

The rest of the fields are completed and the “Fill Report” activity is executed with the execute(myPaymentCase) method of the “RequestPaymentService” service class.

 

The case is sent to the “Request approved” end event and its state is ended.

 

 

Integer requestId = myPaymentCase.getRequestEntity().GetRequestId();

 

myPaymentCase.getReportEntity().setRequest(requestId.toString());

myPaymentCase.getReportEntity().setPaymentMethod("Credit");

myPaymentCase.getReportEntity().setSummary("Filling the report using the SDK.");

myService.execute(myPaymentCase);

 

 

5.Cancellation of a case

 

An instance of the “RequestPayment” model class is created, it is assigned the case number to be canceled.

The cancellation reason is entered in the “observation” parameter and the case is canceled with the cancelCase(myPaymentCase, observation) method of the “RequestPaymentService” service class.

 

 

RequestPaymentService myService = new RequestPaymentService(getApiClient());

RequestPayment myPaymentCase = new RequestPayment();

myPaymentCase.setCdCase("0000000091120000");

myService.cancelCase(myPaymentCase,"Duplicate case");

 

Send us your comment
Share on Twitter Share on Linkedin Send by Email Print