feature: Claim check pattern azure (#1897)
* Archietecture Diagram added * Added pom.xml * Architecture Diagram Updated * Added Microservices and kafka * ReadME File Added * ReadME file Updated * #1329 ReadMe file updated and working pattern code added * #1329 readme file updated * #1329 readme file updated and java documentation added * #1329 repository merged * Update claim-check-pattern/ReadME.md #1329 Real world description updated Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Update claim-check-pattern/ReadME.md Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Applicability section in ReadMe file updated Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Tutorial section in ReadMe file updated Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Storage Data section in ReadMe File updated Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 workflow section Update claim-check-pattern/ReadME.md Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Update claim-check-pattern/pom.xml Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 deleted mvnw.cmd file * #1329 deleted drawio file * #1329 deleted mvnw file * #1329 deleted mvnw file * #1329 mvnw.cmd file deleted * #1329 Update claim-check-pattern/usage-cost-processor/src/main/java/com/callusage/domain/MessageHeader.java Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Update claim-check-pattern/usage-cost-processor/src/main/java/com/callusage/domain/UsageCostDetail.java Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Update claim-check-pattern/usage-cost-processor/src/main/java/com/callusage/domain/UsageDetail.java Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 deleted mvnw file * #1329 deleted mvnw.cmd file * #1329 Update claim-check-pattern/usage-detail-sender/src/main/java/com/callusage/domain/Message.java Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 Update claim-check-pattern/ReadME.md Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> * #1329 pom file dependencies fixed, readmeflie updated, removed unused imports * #1329 Readfile updated, class javadoc added * #1329 UML class diagrams added, readme file updated * #1329 lombok annotations used on model classes, common dependencies moved to parent pom * #1329 test cases added * include claim-check-pattern in parent pom * #1329 code smells fixed * #1329 code smells removed * #1329 security issues fixed * #1329 updated pom files and refactored packages name * #1329 checkstyle warning fixed * #1329 code coverage increased * #1329 minor changed. * checkpoint created with common utility * Claim-Check-Pattern | Shrirang97 | Implemented using Java Azure Functions * Claim-Check-Pattern | Shrirang97 | Updated Functions logic * Update MessageHandlerUtility.java * Update UsageCostProcessorFunction.java * claim-check-pattern | Shrirang97 | Added test cases * claim-check-pattern | Shrirang97 | Test cases for Azure functions fixed * Claim-Check-Pattern | Shrirang | Used string as request body * claim-check-pattern | Shrirang | Working test cases * claim-check-pattern | Shrirang | Issue fixed while deserializing * claim-check-pattern | Shrirang | removed unused import * claim-check-pattern | Shrirang | fixed refactoring * claim-chek-pattern | Shrirang | added lombok | fixed dependencies & test cases * Delete .DS_Store * claim-check-pattern | Shrirang | Fixed unrelated file * Update BookService.java * Update BookService.java * claim-check-pattern | Shrirang | Fixed unrelated files * claim-check-pattern | Shrirang | Fixed review comments * Update UsageCostProcessorFunction.java * Update ReadME.md * Rename ReadME.md to README.md * claim-check-pattern | Shrirang | Incorporated review comments. * Update cloud-claim-check-pattern/README.md Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com> * Update cloud-claim-check-pattern/README.md Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com> * Update cloud-claim-check-pattern/README.md Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com> * Update cloud-claim-check-pattern/README.md Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com> * Update cloud-claim-check-pattern/README.md Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com> * Update cloud-claim-check-pattern/README.md Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com> * Update cloud-claim-check-pattern/README.md Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com> * Updated readme file * Read me file updated | Added more description Co-authored-by: Subhrodip Mohanta <subhrodipmohanta@gmail.com> Co-authored-by: Subhrodip Mohanta <hello@subho.xyz> Co-authored-by: Ilkka Seppälä <iluwatar@users.noreply.github.com>
This commit is contained in:
@ -0,0 +1,117 @@
|
||||
@startuml
|
||||
package com.iluwatar.claimcheckpattern.producer.calldetails.functions {
|
||||
class UsageDetailPublisherFunction {
|
||||
- eventHandlerUtility : EventHandlerUtility<MessageHeader>
|
||||
- messageHandlerUtility : MessageHandlerUtility<UsageDetail>
|
||||
+ UsageDetailPublisherFunction()
|
||||
+ UsageDetailPublisherFunction(messageHandlerUtility : MessageHandlerUtility<UsageDetail>, eventHandlerUtility : EventHandlerUtility<MessageHeader>)
|
||||
+ run(request : HttpRequestMessage<Optional<String>>, context : ExecutionContext) : HttpResponseMessage
|
||||
}
|
||||
}
|
||||
package com.iluwatar.claimcheckpattern.domain {
|
||||
class Message<T> {
|
||||
- messageBody : MessageBody<T>
|
||||
- messageHeader : MessageHeader
|
||||
+ Message<T>()
|
||||
+ getMessageBody() : MessageBody<T>
|
||||
+ getMessageHeader() : MessageHeader
|
||||
+ setMessageBody(messageBody : MessageBody<T>)
|
||||
+ setMessageHeader(messageHeader : MessageHeader)
|
||||
}
|
||||
class MessageBody<T> {
|
||||
- data : List<T>
|
||||
+ MessageBody<T>()
|
||||
+ getData() : List<T>
|
||||
+ setData(data : List<T>)
|
||||
}
|
||||
class MessageHeader {
|
||||
- data : Object
|
||||
- dataVersion : String
|
||||
- eventTime : String
|
||||
- eventType : String
|
||||
- id : String
|
||||
- subject : String
|
||||
- topic : String
|
||||
+ MessageHeader()
|
||||
+ getData() : Object
|
||||
+ getDataVersion() : String
|
||||
+ getEventTime() : String
|
||||
+ getEventType() : String
|
||||
+ getId() : String
|
||||
+ getSubject() : String
|
||||
+ getTopic() : String
|
||||
+ setData(data : Object)
|
||||
+ setDataVersion(dataVersion : String)
|
||||
+ setEventTime(eventTime : String)
|
||||
+ setEventType(eventType : String)
|
||||
+ setId(id : String)
|
||||
+ setSubject(subject : String)
|
||||
+ setTopic(topic : String)
|
||||
}
|
||||
class MessageReference {
|
||||
- dataFileName : String
|
||||
- dataLocation : String
|
||||
+ MessageReference()
|
||||
+ MessageReference(dataLocation : String, dataFileName : String)
|
||||
+ getDataFileName() : String
|
||||
+ getDataLocation() : String
|
||||
+ setDataFileName(dataFileName : String)
|
||||
+ setDataLocation(dataLocation : String)
|
||||
}
|
||||
class UsageCostDetail {
|
||||
- callCost : double
|
||||
- dataCost : double
|
||||
- userId : String
|
||||
+ UsageCostDetail()
|
||||
+ getCallCost() : double
|
||||
+ getDataCost() : double
|
||||
+ getUserId() : String
|
||||
+ setCallCost(callCost : double)
|
||||
+ setDataCost(dataCost : double)
|
||||
+ setUserId(userId : String)
|
||||
}
|
||||
class UsageDetail {
|
||||
- data : int
|
||||
- duration : int
|
||||
- userId : String
|
||||
+ UsageDetail()
|
||||
+ getData() : int
|
||||
+ getDuration() : int
|
||||
+ getUserId() : String
|
||||
+ setData(data : int)
|
||||
+ setDuration(duration : int)
|
||||
+ setUserId(userId : String)
|
||||
}
|
||||
}
|
||||
package com.iluwatar.claimcheckpattern.utility {
|
||||
class EventHandlerUtility<T> {
|
||||
- customEventClient : EventGridPublisherClient<BinaryData>
|
||||
+ EventHandlerUtility<T>()
|
||||
+ EventHandlerUtility<T>(customEventClient : EventGridPublisherClient<BinaryData>)
|
||||
+ publishEvent(customEvent : T, logger : Logger)
|
||||
}
|
||||
class MessageHandlerUtility<T> {
|
||||
- blobServiceClient : BlobServiceClient
|
||||
+ MessageHandlerUtility<T>()
|
||||
+ MessageHandlerUtility<T>(blobServiceClient : BlobServiceClient)
|
||||
+ dropToPersistantStorage(message : Message<T>, logger : Logger)
|
||||
+ readFromPersistantStorage(messageReference : MessageReference, logger : Logger) : Message<T>
|
||||
}
|
||||
}
|
||||
package com.iluwatar.claimcheckpattern.consumer.callcostprocessor.functions {
|
||||
class UsageCostProcessorFunction {
|
||||
- messageHandlerUtilityForUsageCostDetail : MessageHandlerUtility<UsageCostDetail>
|
||||
- messageHandlerUtilityForUsageDetail : MessageHandlerUtility<UsageDetail>
|
||||
+ UsageCostProcessorFunction()
|
||||
+ UsageCostProcessorFunction(messageHandlerUtilityForUsageDetail : MessageHandlerUtility<UsageDetail>, messageHandlerUtilityForUsageCostDetail : MessageHandlerUtility<UsageCostDetail>)
|
||||
- calculateUsageCostDetails(usageDetailsList : List<UsageDetail>) : List<UsageCostDetail>
|
||||
+ run(request : HttpRequestMessage<Optional<String>>, context : ExecutionContext) : HttpResponseMessage
|
||||
}
|
||||
}
|
||||
UsageCostProcessorFunction --> "-messageHandlerUtilityForUsageDetail" MessageHandlerUtility
|
||||
Message --> "-messageBody" MessageBody
|
||||
UsageDetailPublisherFunction --> "-eventHandlerUtility" EventHandlerUtility
|
||||
Builder ..+ HttpResponseMessage
|
||||
UsageDetailPublisherFunction --> "-messageHandlerUtility" MessageHandlerUtility
|
||||
Message --> "-messageHeader" MessageHeader
|
||||
@enduml
|
Reference in New Issue
Block a user