Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Consume Event
  2. Check if dataCategory is 'CM'
  3. log consumption
  4. Check scheme
  5. Create object
  6. Log object


draw.io Diagram
bordertrue
diagramNameUntitled Diagram
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth511
revision1


Consumer Pseudo Code

Code Block
titlePseudo Code
collapsetrue
public class SubscriptionCreatedEventConsumer {
	
 	@KafkaListener(topics = "${app.ncmp.cm-avc-subscription.topic}")	//Blocking: See issue #2
	public void consumeSubscriptionEvent(final SubscriptionCreatedEvent subscriptionCreatedEvent){
		if(subscriptionCreatedEvent.dataCategory == 'CM'){				//Check dataCategory
			log.debug(consuming"Consuming event subscriptionCreatedEvent{} ...", subscriptionCreatedEvent);
			if(checkFormat(subscriptionCreatedEvent)){					//Check format of message
				Subscription createSubscription = new Subscription()	//Create Object
				log.debug("subscription created "+ createSubscription)	//Log subscription
			}
		}
	}

 	public boolean checkFormat(SubscriptionCreatedEvent event){
		//DetermineBlocking: whenSee schemaissue confirmed#1
	}
}


Subscription Object - Will be finalised when schema confirmed

...

Issues & Decisions

#IssueNotes Decision
1Subscription Event Scheme

Protocol : Kafka Event
Topic : variable topic name

Code Block
titleEvent Scheme
collapsetrue
{
  "version": "<event type version>",
  "eventType": "subscriptionCreated",
  "event": {
    "subscription": {
      "clientID": "<unique identifier for the client >",
      "name": "<unique subscription name per client>",
      "isTagged": "<yes|no>, optional parameter, default is no"
    },
    "dataType": {
      "dataspace": "<data space>",
      "dataCategory": "<data category type>",
      "dataProvider": "<data provider type>"
      "schemaName": "<schema name>"
      "schemaVersion": "<schema version>"
    },
    "predicates": {
      "<parameter>": "<value>",
      "param2": [
        "value21",
        "value22"
      ]
    }
  }
}


2Configurable TopicPointer where previously implemented