Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…component-util

# Conflicts:
#	.gitignore
#	README.md
  • Loading branch information
nntthuy-axonivy committed Jan 16, 2024
2 parents 4143c76 + 1f191e2 commit a0b20d9
Show file tree
Hide file tree
Showing 113 changed files with 4,315 additions and 6 deletions.
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
# MY-PRODUCT-NAME
# Decision component
This component provides a standardized approach for implementing the approval flow. Users can make decisions, confirmations, leave comments, and view the approval history in a data table.

[![CI Build](https://github.com/axonivy-market/REPO-NAME/actions/workflows/ci.yml/badge.svg)](https://github.com/axonivy-market/REPO-NAME/actions/workflows/ci.yml)

"YOUR SHORT DESCRIPTION GOES HERE"

Read our [documentation](MY-PRODUCT-NAME-product/README.md).
Read our [documentation](decision-component-utils-product/README.md).
19 changes: 19 additions & 0 deletions decision-component-utils-demo/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# general
Thumbs.db
.DS_Store
*~
*.log

# java
*.class
hs_err_pid*

# maven
target/
lib/mvn-deps/

# ivy
classes/
src_dataClasses/
src_wsproc/
logs/
58 changes: 58 additions & 0 deletions decision-component-utils-demo/cms/cms_en.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
Dialogs:
com:
axonivy:
utils:
decisioncomponent:
ConfirmTicketRequest:
ApprovalDecisionHeadline: 'Step 3: Please select a decision option'
ApprovalDecisionHelpText: 'Step 3: Please select a decision option and write a comment'
DecisionLegend: 'Step 3: Confirmation Decision'
Title: Confirm ticket request
RequestTicketForm:
ApprovalDecisionHeadline: 'Step1: Please select a decision option'
ApprovalDecisionHelpText: 'Step 1: Please select a decision option and write a comment'
DecisionLegend: 'Step 1: Request Decision'
Title: Request ticket
ResultTicketRequest:
ApprovalDecisionHeadline: 'Final Step: ApprovalHistory result'
ApprovalDecisionHelpText: 'Final Step: ApprovalHistory result'
DecisionLegend: Result Decision
Title: Revsult ticket request
ReviewTicketRequest:
ApprovalDecisionHeadline: 'Step 2: Please select a decision option'
ApprovalDecisionHelpText: 'Step 2: Please select a decision option and write a comment'
DecisionLegend: 'Step 2: Review Decision'
Title: Review ticket request
Enums:
com:
axonivy:
utils:
decisioncomponent:
demo:
enums:
TicketProcessApprovalConfirmation:
MANAGER:
name: Manager
PAYROLL:
name: Payroll
TicketProcessApprovalDecision:
APPROVE:
name: Approve
CANCEL:
name: Cancel
FORWARD_TO:
name: Forward to
REJECT:
name: Reject
RETURN_BACK_TO_REQUESTER:
name: Return back to requester
SEND_TO_REVIEWER:
name: Send to reviewer
Labels:
EmailAddressOfRelevantDepartment: Email address of relevant department
InformationLegend: Ticket infomation
TicketDescription: Ticket description
TicketNumber: Ticket number
TicketRaiser: Ticket raiser
TicketTitle: Ticket title
TicketType: Ticket type
20 changes: 20 additions & 0 deletions decision-component-utils-demo/config/custom-fields.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# == Custom Fields Information ==
#
# You can define here your project custom fields.
# Have a look at our documentation for more information.
#
CustomFields:
# Tasks:
# MyTaskCustomField:
# Label: My task custom field
# Description: This new task custom field can be used to ...
# Type: STRING
# Cases:
# MyCaseCustomField:
# Label: My case custom field
# Description: This new case custom field can be used to ...
# Type: STRING
# Starts:
# MyStartCustomField:
# Label: My start custom field
# Description: This new start custom field can be used to ...
6 changes: 6 additions & 0 deletions decision-component-utils-demo/config/databases.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Databases:
decision-component:
Url: jdbc:sqlserver://localhost;databaseName=decision-component-utils
Driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
UserName: ricoh
Password: ${decrypt:\u00BD\u0049\u0080\u003A\u0083\u00CD\u0084\u000A\u0055\u001E\u008C\u0014\u0035\u006B\u0012\u0018\u00CE\u00AE\u0009\u007C\u00C2\u0089\u00B8\u00A3\u0096\u0000\u0074\u001D\u0048\u00E3\u0090\u006B}
1 change: 1 addition & 0 deletions decision-component-utils-demo/config/overrides.any
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*
7 changes: 7 additions & 0 deletions decision-component-utils-demo/config/persistence.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="decision-component-utils-demo">
<non-jta-data-source>decision-component</non-jta-data-source>
<properties/>
</persistence-unit>
</persistence>
1 change: 1 addition & 0 deletions decision-component-utils-demo/config/rest-clients.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
RestClients:
4 changes: 4 additions & 0 deletions decision-component-utils-demo/config/roles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<role>
<identifier>Everybody</identifier>
</role>
2 changes: 2 additions & 0 deletions decision-component-utils-demo/config/users.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<userConfig/>
9 changes: 9 additions & 0 deletions decision-component-utils-demo/config/variables.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# == Variables ==
#
# You can define here your project Variables.
# If you want to define/override a Variable for a specific Environment,
# add an additional ‘variables.yaml’ file in a subdirectory in the ‘Config’ folder:
# '<project>/Config/_<environment>/variables.yaml
#
Variables:
# myVariable: value
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
WebServiceClients:
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Data #class
com.axonivy.utils.decisioncomponent #namespace
decision String #field
decision PERSISTENT #fieldModifier
97 changes: 97 additions & 0 deletions decision-component-utils-demo/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.axonivy.utils.decisioncomponent</groupId>
<artifactId>decision-component-utils-demo</artifactId>
<version>10.0.14-SNAPSHOT</version>
<packaging>iar</packaging>

<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>5.4.33.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.axonivy.utils.persistence</groupId>
<artifactId>persistence-utils</artifactId>
<version>10.0.2</version>
</dependency>
<dependency>
<groupId>com.axonivy.utils.decisioncomponent</groupId>
<artifactId>decision-component-utils</artifactId>
<version>10.0.14-SNAPSHOT</version>
<type>iar</type>
</dependency>
</dependencies>

<repositories>
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>maven.axonivy.com</id>
<url>https://maven.axonivy.com</url>
</repository>
</repositories>

<properties>
<ivy.engine.version>10.0.14</ivy.engine.version>
<build.plugin.version>10.0.14</build.plugin.version>
</properties>

<build>
<plugins>

<plugin>
<groupId>com.axonivy.ivy.ci</groupId>
<artifactId>project-build-plugin</artifactId>
<version>${build.plugin.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<id>annotation-proc</id>
<phase>generate-sources</phase>
<goals>
<goal>compileProject</goal>
</goals>
<configuration>
<compilerOptions>
<compilerOption>-ApersistenceXml=${basedir}/src/META-INF/persistence.xml</compilerOption>
<compilerOption>-s</compilerOption>
<compilerOption>${basedir}/src_generated</compilerOption>
<compilerOption>-proc:only</compilerOption>
</compilerOptions>
<skipScriptValidation>true</skipScriptValidation>
</configuration>
</execution>
</executions>
<configuration>
<ivyVersion>${ivy.engine.version}</ivyVersion>
<compilerOptions>
<compilerOption>-proc:none</compilerOption>
</compilerOptions>
</configuration>
</plugin>

<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/src_generated</directory>
<followSymlinks>false</followSymlinks>
<useDefaultExcludes>true</useDefaultExcludes>
<includes>
<include>**/*.java</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>

</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
{
"format" : "10.0.0",
"id" : "18BA886784A13BAE",
"config" : {
"data" : "com.axonivy.utils.decisioncomponent.Data"
},
"elements" : [ {
"id" : "f0",
"type" : "RequestStart",
"name" : "start.ivp",
"config" : {
"callSignature" : "start",
"case" : {
"name" : "Request Ticket Process",
"description" : "Request Ticket Process"
},
"outLink" : "start.ivp"
},
"visual" : {
"at" : { "x" : 96, "y" : 160 }
},
"connect" : { "id" : "f17", "to" : "f16" }
}, {
"id" : "f1",
"type" : "TaskEnd",
"visual" : {
"at" : { "x" : 1616, "y" : 160 }
}
}, {
"id" : "f7",
"type" : "Alternative",
"visual" : {
"at" : { "x" : 872, "y" : 160 }
},
"connect" : [
{ "id" : "f4", "to" : "f16", "via" : [ { "x" : 872, "y" : 272 }, { "x" : 312, "y" : 272 } ], "label" : {
"name" : "return back",
"segment" : 0.5,
"offset" : { "x" : -263, "y" : 47 }
}, "condition" : "in.decision.equalsIgnoreCase(\"RETURN_BACK_TO_REQUESTER\")" },
{ "id" : "f15", "to" : "f2" }
]
}, {
"id" : "f10",
"type" : "Alternative",
"visual" : {
"at" : { "x" : 448, "y" : 160 }
},
"connect" : [
{ "id" : "f18", "to" : "f9", "label" : {
"name" : "to reviewer"
}, "condition" : "in.decision.equalsIgnoreCase(\"SEND_TO_REVIEWER\")" },
{ "id" : "f11", "to" : "f3", "via" : [ { "x" : 448, "y" : 24 }, { "x" : 1384, "y" : 24 } ], "label" : {
"name" : "forward/cancel",
"segment" : 2.04,
"offset" : { "x" : -529, "y" : -6 }
} }
]
}, {
"id" : "f2",
"type" : "UserTask",
"name" : "ConfirmTicketRequest",
"config" : {
"dialogId" : "com.axonivy.utils.decisioncomponent.ConfirmTicketRequest",
"startMethod" : "start()",
"task" : {
"name" : "Step 3: Confirm ticket request",
"description" : "Confirm ticket request",
"skipTasklist" : true
}
},
"visual" : {
"at" : { "x" : 1088, "y" : 159 },
"size" : { "width" : 130, "height" : 65 }
},
"connect" : { "id" : "f5", "to" : "f3" }
}, {
"id" : "f9",
"type" : "UserTask",
"name" : "ReviewTicketRequest",
"config" : {
"dialogId" : "com.axonivy.utils.decisioncomponent.ReviewTicketRequest",
"startMethod" : "start()",
"output" : {
"map" : {
"out" : "in",
"out.decision" : "result.decisionResult"
}
},
"task" : {
"name" : "Step 2: Review ticket request",
"description" : "Review ticket request",
"skipTasklist" : true
}
},
"visual" : {
"at" : { "x" : 720, "y" : 160 },
"size" : { "width" : 144, "height" : 60 }
},
"connect" : { "id" : "f6", "to" : "f7" }
}, {
"id" : "f16",
"type" : "UserTask",
"name" : "RequestTicketForm",
"config" : {
"dialogId" : "com.axonivy.utils.decisioncomponent.RequestTicketForm",
"startMethod" : "start()",
"output" : {
"map" : {
"out" : "in",
"out.decision" : "result.decisionResult"
}
},
"task" : {
"name" : "Step 1: Request ticket",
"description" : "Request ticket",
"skipTasklist" : true
}
},
"visual" : {
"at" : { "x" : 312, "y" : 160 },
"size" : { "width" : 128, "height" : 60 }
},
"connect" : { "id" : "f13", "to" : "f10" }
}, {
"id" : "f3",
"type" : "UserTask",
"name" : "ResultTicketRequest",
"config" : {
"dialogId" : "com.axonivy.utils.decisioncomponent.ResultTicketRequest",
"startMethod" : "start()",
"task" : {
"name" : "Final step: Result ticket request",
"description" : "Result ticket request",
"skipTasklist" : true
}
},
"visual" : {
"at" : { "x" : 1392, "y" : 160 }
},
"connect" : { "id" : "f8", "to" : "f1" }
} ]
}
Loading

0 comments on commit a0b20d9

Please sign in to comment.