I have a C4 plantUML diagram that works fine with plantUML.com but when trying to generate using IntelliJ plug-in it gives error: "java.lang.IllegalArgumentException "
@startuml
!include <C4/C4_Container>
!define DEVICONS
https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/master/devicons
!include DEVICONS/database.puml
!include DEVICONS/apple.puml
!include DEVICONS/android.puml
skinparam diagramBorderColor black
skinparam diagramBorderThickness 3
<style>
document {
Margin 10
}
</style>
AddElementTag("dataStore", $bgColor="white", $fontColor="black", $legendText="Data Store")
AddPersonTag("userColor", $bgColor="#B3E4FC", $fontColor="#036FA5")
AddPersonTag("adminColor", $bgColor="#FCD9B3", $fontColor="#A55C03")
AddBoundaryTag("paypalBoundaryColor", $bgColor="#E3F4FF", $borderColor="#ADD8E6", $legendText="PayPal Boundary")
AddBoundaryTag("aprilBoundaryColor", $bgColor="#F3E3FF", $borderColor="#D8B6FF", $legendText="April Boundary")
Person(user, "PayPal User", "End user accessing the tax flow", $tags="userColor")
System_Boundary(paypalBoundary, "PayPal Systems", $tags="paypalBoundaryColor") {
Person(admin, "PayPal Admin (CS Agent)", "Customer support/admin", $tags="adminColor")
Container(paypalApp, "PayPal\nApp / Web", "Frontend")
Container(graphQL, "CFS GraphQL Service", "")
Container(TaxOrch, "Tax Orchestration Service", "Raptor Service")
Container(CFSOrch, "CFS Orchestration Service", "Raptor Service")
Container(alpService, "ALP Platform", "Product Subscription")
Container(commService, "Communication Platform", "Notification Service")
Container(taxService, "TAX/Reporting Platform", "Tax Service")
ContainerDb(paypalSOR, "PayPal SOR", "CFSYS", "Oracle", $sprite="database", $tags="dataStore")
Container(paypalRPS, "RPS Platform", "RPS")
Container(paypalMarketing, "Marketing Email Platform", "PayPal")
Container(paypalWebhookListener, "Webhook Listener", "Raptor Service")
ContainerDb(paypalMessageQueue, "Message Queue", "QUEUE", $sprite="database", $tags="dataStore")
Container(paypalMessageSubscriber, "Message Subscriber", "Raptor Service")
}
System_Boundary(aprilBoundary, "April Systems", $tags="aprilBoundaryColor") {
Container(aprilAPI, "April API", "REST API")
Container(aprilWebhook, "April Webhook Service", "Webhook Publisher")
}
Lay_R(user, paypalApp)
Lay_R(CFSOrch, alpService)
Lay_R(alpService, taxService)
Lay_R(taxService, paypalSOR )
Rel(admin, TaxOrch, "Reads the customer tax current status")
Rel(user, paypalApp, "Login to PayPal")
BiRel(paypalApp, graphQL, "Check for DD Account & load April iFrame")
BiRel(graphQL, TaxOrch, "Check Production Subscription & Call April API to get access token")
Rel(TaxOrch, CFSOrch, "Check if customer has Direct Deposit Account")
Rel(TaxOrch, alpService, "Check and Subscribe user to Embedded Tax Filing Product")
Rel(TaxOrch, aprilAPI, "April API Calls")
BiRel(TaxOrch, paypalSOR, "Fetch & update current status")
Rel(TaxOrch, paypalRPS, "Update RPS attribtues based on estimator/filing statuses")
Rel(TaxOrch, taxService, "Fetch the 1099K/INT tax documents")
Rel(paypalMarketing, paypalRPS, "Fetch estimator/filing segments to send marketing emails")
Rel(paypalMarketing, commService, "Send push notifications")
Rel(aprilWebhook, paypalWebhookListener, "April sends webhook events for status change")
Rel(paypalWebhookListener, paypalMessageQueue, "Queue the webhook received for Async processing")
Rel(paypalMessageQueue, paypalMessageSubscriber, "De-Queue the webhook event for processing")
Rel(paypalMessageSubscriber, TaxOrch, "Process webhook event")
BiRel(aprilWebhook, aprilAPI, "")
SHOW_LEGEND()
@enduml
"