* 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>
117 lines
4.3 KiB
Plaintext
117 lines
4.3 KiB
Plaintext
@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 |