Skip to main content

JFrog reference artifacts

Backbase publishes every Grand Central artifact to the internal JFrog repository, including the BOM, SDK, kamelets, API specs, and Maven plugins. Use the repository as your single source of truth for available versions when you don’t have GitHub access to the source repositories. Browse the tree: Grand Central artifacts on JFrog.
Artifact (Maven groupId:artifactId)What it providesWhere to use it
com.backbase.gc:grandcentral-bomParent POM that pins versions for Camel, Quarkus, Camel-K, the kamel/helm plugins, and the Grand Central linter<parent> in your connector’s pom.xml
com.backbase.gc:grandcentral-connectors-sdkCross-vendor utilities: GrandCentralUtil, GrandCentralTestSupportUtil, JunitUtil, RemoveNullOrEmptyJsonSerializer, HeaderRemovalPolicy, PredicatesValidatingProcessor, GrandCentralServiceExceptionProcessor, EndpointCaller, exception classes, error constants, holiday parserManaged by the BOM; used directly in connector code
com.backbase.gc.generic:grandcentral-platform-kameletsAll platform kamelets, including gc-http-caller, gc-asb-producer-caller, all exception-handler kamelets, pgp-transform, determine-offset-array, and handle-no-recordsManaged by the BOM; referenced by name in routes (kamelet:<name>)
com.backbase.gc.api:grandcentral-{domain}-apiThe Grand Central OpenAPI spec for a given domain such as payment-order, deposit, party, batch-payment, fraud-detection, device-administration, or genericapi.artifact-id / api.artifact-version in pom.xml <properties>
com.backbase.gc:{vendor}-connector-sdkVendor-specific SDK for SOAP-style vendors only. Provides the {vendor}-api-caller and {vendor}-properties kamelets and any vendor-common Java utilities<dependency> in the connector’s pom.xml
com.backbase.gc:kamel-maven-pluginMaven plugin that builds Camel-K integrations (mvn kamel:dev, mvn kamel:run)Inherited from grandcentral-bom
com.backbase.gc:maven-kamel-helm-pluginMaven plugin that generates the Helm chart and values for a connector at package timeInherited from grandcentral-bom
com.backbase.gc:gc-linter-maven-pluginMaven plugin that lints JOLT, XSLT, and JSON-validator files at the verify phaseInherited from grandcentral-bom

Important rules and anti-patterns

The following table lists the conventions every connector must follow, along with the rationale for each rule. Apply them when you author or review connector code.
RuleRationale
Never use .routeId(...)Camel-K assigns route IDs; manual IDs cause Kubernetes deployment conflicts
Never use Spring annotations (@Component, @Autowired, @Value)The runtime is Quarkus, not Spring Boot
Use @PropertyInject (Camel), not @Value (Spring)Quarkus Camel uses Camel’s property injection
Don’t annotate the connector classQuarkus Camel registers RouteBuilder automatically
Promote all string literals to private static final String constantsPrevents typos in kamelet URIs and route keys
Use {{?propertyName}} for optional propertiesThe ? prefix prevents PropertiesException when a property is absent
Use exchange properties for side-channel dataHeaderRemovalPolicy strips headers, but exchange properties survive every step
Set the URL on the gc-http-caller-url exchange propertyThe kamelet reads the URL from this property, not from a header
Set query params on the gc-http-caller-queryParams propertyThe value must be a Map<String, Object>
Place JOLT, XSLT, and schema files in src/main/resources/Camel resolves them from the classpath
Pin the BOM version explicitly per connectorDifferent connectors target different BOM versions; align with your team’s choice rather than copying from a sibling connector
Pin the API spec version explicitly per connectorSet <api.artifact-version> to the version your team has chosen for this connector; never leave it at a stale default
After converting XML to JSON, call correctNumericAndBooleanValuesInJsonFromPropertiesFixes string-to-number/boolean coercion from Jackson’s XML deserializer
Use doTry/doCatch for optional data extractionPrevents route failure when an optional JSON or XML field is absent
Use GrandCentralTestSupportUtil and JunitUtil for all JUnit testsBoth are from grandcentral-connectors-sdk (managed by the BOM); never write custom base test classes