test_class.declarator: kafkaOperations
test_class.modifier: @Mock
  	private
test_class.original_string: @Mock
  	private KafkaOps kafkaOperations;
test_class.type: KafkaOps
test_class.var_name: kafkaOperations
test_class.declarator: subscriptionRequest
test_class.modifier: @Mock
test_class.original_string: @Mock 
  	SubscriptionRequest subscriptionRequest;
test_class.type: SubscriptionRequest
test_class.var_name: subscriptionRequest
test_class.declarator: intervalHandlerREST
test_class.modifier: @Mock
test_class.original_string: @Mock
  	IntervalNotificationHandler intervalHandlerREST;
test_class.type: IntervalNotificationHandler
test_class.var_name: intervalHandlerREST
test_class.declarator: subscriptionId2Subscription
test_class.modifier: @Mock
test_class.original_string: @Mock
  	HashMap<String, Subscription> subscriptionId2Subscription;
test_class.type: HashMap<String, Subscription>
test_class.var_name: subscriptionId2Subscription
test_class.declarator: manager
test_class.modifier: @InjectMocks
  	private
test_class.original_string: @InjectMocks
  	private SubscriptionService manager;
test_class.type: SubscriptionService
test_class.var_name: manager
test_class.declarator: subscriptionMock
test_class.modifier: @Mock
test_class.original_string: @Mock
  	Subscription subscriptionMock;
test_class.type: Subscription
test_class.var_name: subscriptionMock
test_class.declarator: intervalNotificationHandler
test_class.modifier: @Mock
test_class.original_string: @Mock
  	IntervalNotificationHandler intervalNotificationHandler;
test_class.type: IntervalNotificationHandler
test_class.var_name: intervalNotificationHandler
test_class.declarator: resolved="{\r\n  \"https://uri.etsi.org/ngsi-ld/entities\" : [ "
  			+ "{\r\n    \"@type\" : [ \"https://uri.etsi.org/ngsi-ld/default-context/Vehicle\" ]"
  			+ "\r\n  } ],\r\n  \"@id\" : \"urn:ngsi-ld:Subscription:173223\","
  			+ "\r\n  \"https://uri.etsi.org/ngsi-ld/notification\" : [ "
  			+ "{\r\n    \"https://uri.etsi.org/ngsi-ld/endpoint\" : [ "
  			+ "{\r\n      \"https://uri.etsi.org/ngsi-ld/accept\" : [ "
  			+ "{\r\n        \"@value\" : \"application/json\""
  			+ "\r\n      } ],\r\n      \"https://uri.etsi.org/ngsi-ld/uri\" : [ {"
  			+ "\r\n        \"@value\" : \"http://localhost:8080/acc\"\r\n      } ]"
  			+ "\r\n    } ]\r\n  } ],\r\n  \"@type\" : [ \"https://uri.etsi.org/ngsi-ld/Subscription\" ]"
  			+ "\r\n}"
test_class.modifier: private
test_class.original_string: private String resolved="{\r\n  \"https://uri.etsi.org/ngsi-ld/entities\" : [ "
  			+ "{\r\n    \"@type\" : [ \"https://uri.etsi.org/ngsi-ld/default-context/Vehicle\" ]"
  			+ "\r\n  } ],\r\n  \"@id\" : \"urn:ngsi-ld:Subscription:173223\","
  			+ "\r\n  \"https://uri.etsi.org/ngsi-ld/notification\" : [ "
  			+ "{\r\n    \"https://uri.etsi.org/ngsi-ld/endpoint\" : [ "
  			+ "{\r\n      \"https://uri.etsi.org/ngsi-ld/accept\" : [ "
  			+ "{\r\n        \"@value\" : \"application/json\""
  			+ "\r\n      } ],\r\n      \"https://uri.etsi.org/ngsi-ld/uri\" : [ {"
  			+ "\r\n        \"@value\" : \"http://localhost:8080/acc\"\r\n      } ]"
  			+ "\r\n    } ]\r\n  } ],\r\n  \"@type\" : [ \"https://uri.etsi.org/ngsi-ld/Subscription\" ]"
  			+ "\r\n}";
test_class.type: String
test_class.var_name: resolved
test_class.file: Core/SubscriptionManager/src/test/java/eu/neclab/ngsildbroker/subscriptionmanager/service/SubscriptionServiceTest.java
test_class.identifier: SubscriptionServiceTest
test_case.body: @Test
    public void updateSubscriptionTest() {		 
  		List<Object> context = new ArrayList<>();	
  	    Subscription subscription = null;
  	    subscription = DataSerializer.getSubscription(resolved);
  	    SubscriptionRequest subRequest = new SubscriptionRequest(subscription, context);
  	    when(subscriptionId2Subscription.get(any())).thenReturn(new Subscription());
  		try {
  			manager.updateSubscription(subRequest);
  		} catch (Exception e) {
  			verify(subscriptionId2Subscription,times(1)).get(any());
  		}
  }
test_case.class_method_signature: SubscriptionServiceTest.updateSubscriptionTest()
test_case.full_signature: @Test public void updateSubscriptionTest()
test_case.identifier: updateSubscriptionTest
test_case.invocations: getSubscription thenReturn when get any updateSubscription get verify times any
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void updateSubscriptionTest()
focal_class.declarator: logger = LogManager.getLogger(SubscriptionService.class)
focal_class.modifier: private final static
focal_class.original_string: private final static Logger logger = LogManager.getLogger(SubscriptionService.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: CREATE = 0
focal_class.modifier: private final
focal_class.original_string: private final int CREATE = 0;
focal_class.type: int
focal_class.var_name: CREATE
focal_class.declarator: APPEND = 1
focal_class.modifier: private final
focal_class.original_string: private final int APPEND = 1;
focal_class.type: int
focal_class.var_name: APPEND
focal_class.declarator: UPDATE = 2
focal_class.modifier: private final
focal_class.original_string: private final int UPDATE = 2;
focal_class.type: int
focal_class.var_name: UPDATE
focal_class.declarator: DELETE = 3
focal_class.modifier: private final
focal_class.original_string: private final int DELETE = 3;
focal_class.type: int
focal_class.var_name: DELETE
focal_class.declarator: ALL_TYPES_TYPE = "()"
focal_class.modifier: private final
focal_class.original_string: private final String ALL_TYPES_TYPE = "()";
focal_class.type: String
focal_class.var_name: ALL_TYPES_TYPE
focal_class.declarator: atContextServerUrl
focal_class.modifier: @Value("${atcontext.url}")
focal_class.original_string: @Value("${atcontext.url}")
  	String atContextServerUrl;
focal_class.type: String
focal_class.var_name: atContextServerUrl
focal_class.declarator: notificationHandlerREST
focal_class.original_string: NotificationHandlerREST notificationHandlerREST;
focal_class.type: NotificationHandlerREST
focal_class.var_name: notificationHandlerREST
focal_class.declarator: intervalHandlerREST
focal_class.original_string: IntervalNotificationHandler intervalHandlerREST;
focal_class.type: IntervalNotificationHandler
focal_class.var_name: intervalHandlerREST
focal_class.declarator: notificationHandlerMQTT
focal_class.original_string: NotificationHandlerMQTT notificationHandlerMQTT;
focal_class.type: NotificationHandlerMQTT
focal_class.var_name: notificationHandlerMQTT
focal_class.declarator: intervalHandlerMQTT
focal_class.original_string: IntervalNotificationHandler intervalHandlerMQTT;
focal_class.type: IntervalNotificationHandler
focal_class.var_name: intervalHandlerMQTT
focal_class.declarator: watchDog = new Timer(true)
focal_class.original_string: Timer watchDog = new Timer(true);
focal_class.type: Timer
focal_class.var_name: watchDog
focal_class.declarator: objectMapper
focal_class.modifier: @Autowired
focal_class.original_string: @Autowired
  	ObjectMapper objectMapper;
focal_class.type: ObjectMapper
focal_class.var_name: objectMapper
focal_class.declarator: contextResolverService
focal_class.modifier: @Autowired
  	@Qualifier("smconRes")
focal_class.original_string: @Autowired
  	@Qualifier("smconRes")
  	ContextResolverBasic contextResolverService;
focal_class.type: ContextResolverBasic
focal_class.var_name: contextResolverService
focal_class.declarator: eurekaClient
focal_class.modifier: @Autowired
focal_class.original_string: @Autowired
  	EurekaClient eurekaClient;
focal_class.type: EurekaClient
focal_class.var_name: eurekaClient
focal_class.declarator: queryParser
focal_class.modifier: @Autowired
  	@Qualifier("smqueryParser")
focal_class.original_string: @Autowired
  	@Qualifier("smqueryParser")
  	QueryParser queryParser;
focal_class.type: QueryParser
focal_class.var_name: queryParser
focal_class.declarator: kafkaTemplate
focal_class.modifier: @Autowired
focal_class.original_string: @Autowired
  	ReplyingKafkaTemplate<String, byte[], byte[]> kafkaTemplate;
focal_class.type: ReplyingKafkaTemplate<String, byte[], byte[]>
focal_class.var_name: kafkaTemplate
focal_class.declarator: subscriptionInfoDAO
focal_class.modifier: @Autowired
focal_class.original_string: @Autowired
  	SubscriptionInfoDAO subscriptionInfoDAO;
focal_class.type: SubscriptionInfoDAO
focal_class.var_name: subscriptionInfoDAO
focal_class.declarator: requestTopic
focal_class.modifier: @Value("${query.topic}")
focal_class.original_string: @Value("${query.topic}")
  	String requestTopic;
focal_class.type: String
focal_class.var_name: requestTopic
focal_class.declarator: queryResultTopic
focal_class.modifier: @Value("${query.result.topic}")
focal_class.original_string: @Value("${query.result.topic}")
  	String queryResultTopic;
focal_class.type: String
focal_class.var_name: queryResultTopic
focal_class.declarator: paramsResolver
focal_class.modifier: @Autowired
  	@Qualifier("smparamsResolver")
focal_class.original_string: @Autowired
  	@Qualifier("smparamsResolver")
  	ParamsResolver paramsResolver;
focal_class.type: ParamsResolver
focal_class.var_name: paramsResolver
focal_class.declarator: directDB = true
focal_class.original_string: boolean directDB = true;
focal_class.type: boolean
focal_class.var_name: directDB
focal_class.declarator: shapeFactory = JtsSpatialContext.GEO.getShapeFactory()
focal_class.original_string: JtsShapeFactory shapeFactory = JtsSpatialContext.GEO.getShapeFactory();
focal_class.type: JtsShapeFactory
focal_class.var_name: shapeFactory
focal_class.declarator: subscriptionId2Subscription = new HashMap<String, Subscription>()
focal_class.original_string: HashMap<String, Subscription> subscriptionId2Subscription = new HashMap<String, Subscription>();
focal_class.type: HashMap<String, Subscription>
focal_class.var_name: subscriptionId2Subscription
focal_class.declarator: subId2TimerTask = new HashMap<String, TimerTask>()
focal_class.original_string: HashMap<String, TimerTask> subId2TimerTask = new HashMap<String, TimerTask>();
focal_class.type: HashMap<String, TimerTask>
focal_class.var_name: subId2TimerTask
focal_class.declarator: type2EntitiesSubscriptions = ArrayListMultimap.create()
focal_class.original_string: ArrayListMultimap<String, Subscription> type2EntitiesSubscriptions = ArrayListMultimap.create();
focal_class.type: ArrayListMultimap<String, Subscription>
focal_class.var_name: type2EntitiesSubscriptions
focal_class.declarator: sub2CreationTime = new HashMap<Subscription, Long>()
focal_class.original_string: HashMap<Subscription, Long> sub2CreationTime = new HashMap<Subscription, Long>();
focal_class.type: HashMap<Subscription, Long>
focal_class.var_name: sub2CreationTime
focal_class.declarator: subscriptionId2Context = ArrayListMultimap.create()
focal_class.original_string: ArrayListMultimap<String, Object> subscriptionId2Context = ArrayListMultimap.create();
focal_class.type: ArrayListMultimap<String, Object>
focal_class.var_name: subscriptionId2Context
focal_class.declarator: remoteNotifyCallbackId2InternalSub = new HashMap<String, Subscription>()
focal_class.original_string: HashMap<String, Subscription> remoteNotifyCallbackId2InternalSub = new HashMap<String, Subscription>();
focal_class.type: HashMap<String, Subscription>
focal_class.var_name: remoteNotifyCallbackId2InternalSub
focal_class.declarator: BOOTSTRAP_SERVERS
focal_class.modifier: @Value("${bootstrap.servers}")
focal_class.original_string: @Value("${bootstrap.servers}")
  	String BOOTSTRAP_SERVERS;
focal_class.type: String
focal_class.var_name: BOOTSTRAP_SERVERS
focal_class.declarator: httpUtils
focal_class.original_string: HttpUtils httpUtils;
focal_class.type: HttpUtils
focal_class.var_name: httpUtils
focal_class.declarator: ids2Type
focal_class.modifier: private
focal_class.original_string: private Map<String, String> ids2Type;
focal_class.type: Map<String, String>
focal_class.var_name: ids2Type
focal_class.declarator: subscriptionStore
focal_class.modifier: private
focal_class.original_string: private HTreeMap<String,String> subscriptionStore;
focal_class.type: HTreeMap<String,String>
focal_class.var_name: subscriptionStore
focal_class.declarator: subscriptionStoreLocation
focal_class.modifier: @Value("${subscriptions.store:subscriptionstore.db}")
  	private
focal_class.original_string: @Value("${subscriptions.store:subscriptionstore.db}")
  	private String subscriptionStoreLocation;
focal_class.type: String
focal_class.var_name: subscriptionStoreLocation
focal_class.file: Core/SubscriptionManager/src/main/java/eu/neclab/ngsildbroker/subscriptionmanager/service/SubscriptionService.java
focal_class.identifier: SubscriptionService
focal_class.interfaces: implements SubscriptionManager
focal_class.class_method_signature: SubscriptionService.SubscriptionService()
focal_class.full_signature: public  SubscriptionService()
focal_class.identifier: SubscriptionService
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  SubscriptionService()
focal_class.class_method_signature: SubscriptionService.setup()
focal_class.full_signature: @PostConstruct private void setup()
focal_class.identifier: setup
focal_class.modifiers: @PostConstruct private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void setup()
focal_class.class_method_signature: SubscriptionService.deconstructor()
focal_class.full_signature: @PreDestroy private void deconstructor()
focal_class.identifier: deconstructor
focal_class.modifiers: @PreDestroy private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void deconstructor()
focal_class.class_method_signature: SubscriptionService.loadStoredSubscriptions()
focal_class.full_signature: private void loadStoredSubscriptions()
focal_class.identifier: loadStoredSubscriptions
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void loadStoredSubscriptions()
focal_class.class_method_signature: SubscriptionService.subscribe(SubscriptionRequest subscriptionRequest)
focal_class.full_signature: @Override public URI subscribe(SubscriptionRequest subscriptionRequest)
focal_class.identifier: subscribe
focal_class.modifiers: @Override public
focal_class.parameters: (SubscriptionRequest subscriptionRequest)
focal_class.return: URI
focal_class.signature: URI subscribe(SubscriptionRequest subscriptionRequest)
focal_class.class_method_signature: SubscriptionService.validateSub(Subscription subscription)
focal_class.full_signature: private void validateSub(Subscription subscription)
focal_class.identifier: validateSub
focal_class.modifiers: private
focal_class.parameters: (Subscription subscription)
focal_class.return: void
focal_class.signature: void validateSub(Subscription subscription)
focal_class.class_method_signature: SubscriptionService.storeSubscription(SubscriptionRequest subscription)
focal_class.full_signature: private void storeSubscription(SubscriptionRequest subscription)
focal_class.identifier: storeSubscription
focal_class.modifiers: private
focal_class.parameters: (SubscriptionRequest subscription)
focal_class.return: void
focal_class.signature: void storeSubscription(SubscriptionRequest subscription)
focal_class.class_method_signature: SubscriptionService.generateUniqueSubId(Subscription subscription)
focal_class.full_signature: private URI generateUniqueSubId(Subscription subscription)
focal_class.identifier: generateUniqueSubId
focal_class.modifiers: private
focal_class.parameters: (Subscription subscription)
focal_class.return: URI
focal_class.signature: URI generateUniqueSubId(Subscription subscription)
focal_class.class_method_signature: SubscriptionService.unsubscribe(URI id)
focal_class.full_signature: @Override public void unsubscribe(URI id)
focal_class.identifier: unsubscribe
focal_class.modifiers: @Override public
focal_class.parameters: (URI id)
focal_class.return: void
focal_class.signature: void unsubscribe(URI id)
focal_class.class_method_signature: SubscriptionService.updateSubscription(SubscriptionRequest subscriptionRequest)
focal_class.full_signature: @Override public Subscription updateSubscription(SubscriptionRequest subscriptionRequest)
focal_class.identifier: updateSubscription
focal_class.modifiers: @Override public
focal_class.parameters: (SubscriptionRequest subscriptionRequest)
focal_class.return: Subscription
focal_class.signature: Subscription updateSubscription(SubscriptionRequest subscriptionRequest)
focal_class.class_method_signature: SubscriptionService.getAllSubscriptions(int limit)
focal_class.full_signature: @Override public List<Subscription> getAllSubscriptions(int limit)
focal_class.identifier: getAllSubscriptions
focal_class.modifiers: @Override public
focal_class.parameters: (int limit)
focal_class.return: List<Subscription>
focal_class.signature: List<Subscription> getAllSubscriptions(int limit)
focal_class.class_method_signature: SubscriptionService.getSubscription(String subscriptionId)
focal_class.full_signature: @Override public Subscription getSubscription(String subscriptionId)
focal_class.identifier: getSubscription
focal_class.modifiers: @Override public
focal_class.parameters: (String subscriptionId)
focal_class.return: Subscription
focal_class.signature: Subscription getSubscription(String subscriptionId)
focal_class.class_method_signature: SubscriptionService.handleCreate(Message<byte[]> message)
focal_class.full_signature: @KafkaListener(topics = "${entity.create.topic}", groupId = "submanager") public void handleCreate(Message<byte[]> message)
focal_class.identifier: handleCreate
focal_class.modifiers: @KafkaListener(topics = "${entity.create.topic}", groupId = "submanager") public
focal_class.parameters: (Message<byte[]> message)
focal_class.return: void
focal_class.signature: void handleCreate(Message<byte[]> message)
focal_class.class_method_signature: SubscriptionService.checkSubscriptionsWithCreate(String key, String payload, long messageTime)
focal_class.full_signature: private void checkSubscriptionsWithCreate(String key, String payload, long messageTime)
focal_class.identifier: checkSubscriptionsWithCreate
focal_class.modifiers: private
focal_class.parameters: (String key, String payload, long messageTime)
focal_class.return: void
focal_class.signature: void checkSubscriptionsWithCreate(String key, String payload, long messageTime)
focal_class.class_method_signature: SubscriptionService.checkSubscriptions(ArrayList<Subscription> subsToCheck, Entity entity, int methodType,
  			long messageTime)
focal_class.full_signature: private void checkSubscriptions(ArrayList<Subscription> subsToCheck, Entity entity, int methodType,
  			long messageTime)
focal_class.identifier: checkSubscriptions
focal_class.modifiers: private
focal_class.parameters: (ArrayList<Subscription> subsToCheck, Entity entity, int methodType,
  			long messageTime)
focal_class.return: void
focal_class.signature: void checkSubscriptions(ArrayList<Subscription> subsToCheck, Entity entity, int methodType,
  			long messageTime)
focal_class.class_method_signature: SubscriptionService.sendNotification(List<Entity> dataList, Subscription subscription)
focal_class.full_signature: private void sendNotification(List<Entity> dataList, Subscription subscription)
focal_class.identifier: sendNotification
focal_class.modifiers: private
focal_class.parameters: (List<Entity> dataList, Subscription subscription)
focal_class.return: void
focal_class.signature: void sendNotification(List<Entity> dataList, Subscription subscription)
focal_class.class_method_signature: SubscriptionService.generateNotificationEntity(Entity entity, Subscription subscription)
focal_class.full_signature: private Entity generateNotificationEntity(Entity entity, Subscription subscription)
focal_class.identifier: generateNotificationEntity
focal_class.modifiers: private
focal_class.parameters: (Entity entity, Subscription subscription)
focal_class.return: Entity
focal_class.signature: Entity generateNotificationEntity(Entity entity, Subscription subscription)
focal_class.class_method_signature: SubscriptionService.extractBaseProps(Entity entity, Subscription subscription)
focal_class.full_signature: private List<BaseProperty> extractBaseProps(Entity entity, Subscription subscription)
focal_class.identifier: extractBaseProps
focal_class.modifiers: private
focal_class.parameters: (Entity entity, Subscription subscription)
focal_class.return: List<BaseProperty>
focal_class.signature: List<BaseProperty> extractBaseProps(Entity entity, Subscription subscription)
focal_class.class_method_signature: SubscriptionService.shouldFire(Entity entity, Subscription subscription)
focal_class.full_signature: private boolean shouldFire(Entity entity, Subscription subscription)
focal_class.identifier: shouldFire
focal_class.modifiers: private
focal_class.parameters: (Entity entity, Subscription subscription)
focal_class.return: boolean
focal_class.signature: boolean shouldFire(Entity entity, Subscription subscription)
focal_class.class_method_signature: SubscriptionService.generateDataFromBaseOp(Entity deltaInfo, Subscription subscription)
focal_class.full_signature: private Entity generateDataFromBaseOp(Entity deltaInfo, Subscription subscription)
focal_class.identifier: generateDataFromBaseOp
focal_class.modifiers: private
focal_class.parameters: (Entity deltaInfo, Subscription subscription)
focal_class.return: Entity
focal_class.signature: Entity generateDataFromBaseOp(Entity deltaInfo, Subscription subscription)
focal_class.class_method_signature: SubscriptionService.getAttribNames(Subscription subscription)
focal_class.full_signature: private ArrayList<String> getAttribNames(Subscription subscription)
focal_class.identifier: getAttribNames
focal_class.modifiers: private
focal_class.parameters: (Subscription subscription)
focal_class.return: ArrayList<String>
focal_class.signature: ArrayList<String> getAttribNames(Subscription subscription)
focal_class.class_method_signature: SubscriptionService.evaluateGeoQuery(LDGeoQuery geoQuery, GeoProperty location)
focal_class.full_signature: private boolean evaluateGeoQuery(LDGeoQuery geoQuery, GeoProperty location)
focal_class.identifier: evaluateGeoQuery
focal_class.modifiers: private
focal_class.parameters: (LDGeoQuery geoQuery, GeoProperty location)
focal_class.return: boolean
focal_class.signature: boolean evaluateGeoQuery(LDGeoQuery geoQuery, GeoProperty location)
focal_class.class_method_signature: SubscriptionService.evaluateGeoQuery(LDGeoQuery geoQuery, GeoProperty location, double expandArea)
focal_class.full_signature: private boolean evaluateGeoQuery(LDGeoQuery geoQuery, GeoProperty location, double expandArea)
focal_class.identifier: evaluateGeoQuery
focal_class.modifiers: private
focal_class.parameters: (LDGeoQuery geoQuery, GeoProperty location, double expandArea)
focal_class.return: boolean
focal_class.signature: boolean evaluateGeoQuery(LDGeoQuery geoQuery, GeoProperty location, double expandArea)
focal_class.class_method_signature: SubscriptionService.handleUpdate(Message<byte[]> message)
focal_class.full_signature: @KafkaListener(topics = "${entity.update.topic}", groupId = "submanager") public void handleUpdate(Message<byte[]> message)
focal_class.identifier: handleUpdate
focal_class.modifiers: @KafkaListener(topics = "${entity.update.topic}", groupId = "submanager") public
focal_class.parameters: (Message<byte[]> message)
focal_class.return: void
focal_class.signature: void handleUpdate(Message<byte[]> message)
focal_class.class_method_signature: SubscriptionService.checkSubscriptionsWithUpdate(String key, String payload, long messageTime)
focal_class.full_signature: private void checkSubscriptionsWithUpdate(String key, String payload, long messageTime)
focal_class.identifier: checkSubscriptionsWithUpdate
focal_class.modifiers: private
focal_class.parameters: (String key, String payload, long messageTime)
focal_class.return: void
focal_class.signature: void checkSubscriptionsWithUpdate(String key, String payload, long messageTime)
focal_class.class_method_signature: SubscriptionService.handleAppend(Message<byte[]> message)
focal_class.full_signature: @KafkaListener(topics = "${entity.append.topic}", groupId = "submanager") public void handleAppend(Message<byte[]> message)
focal_class.identifier: handleAppend
focal_class.modifiers: @KafkaListener(topics = "${entity.append.topic}", groupId = "submanager") public
focal_class.parameters: (Message<byte[]> message)
focal_class.return: void
focal_class.signature: void handleAppend(Message<byte[]> message)
focal_class.class_method_signature: SubscriptionService.checkSubscriptionsWithAppend(String key, String payload, long messageTime)
focal_class.full_signature: private void checkSubscriptionsWithAppend(String key, String payload, long messageTime)
focal_class.identifier: checkSubscriptionsWithAppend
focal_class.modifiers: private
focal_class.parameters: (String key, String payload, long messageTime)
focal_class.return: void
focal_class.signature: void checkSubscriptionsWithAppend(String key, String payload, long messageTime)
focal_class.class_method_signature: SubscriptionService.handleDelete(Message<byte[]> message)
focal_class.full_signature: @KafkaListener(topics = "${entity.delete.topic}", groupId = "submanager") public void handleDelete(Message<byte[]> message)
focal_class.identifier: handleDelete
focal_class.modifiers: @KafkaListener(topics = "${entity.delete.topic}", groupId = "submanager") public
focal_class.parameters: (Message<byte[]> message)
focal_class.return: void
focal_class.signature: void handleDelete(Message<byte[]> message)
focal_class.class_method_signature: SubscriptionService.handleCSourceNotification(Message<byte[]> message)
focal_class.full_signature: @KafkaListener(topics = "${csource.notification.topic}", groupId = "submanager") public void handleCSourceNotification(Message<byte[]> message)
focal_class.identifier: handleCSourceNotification
focal_class.modifiers: @KafkaListener(topics = "${csource.notification.topic}", groupId = "submanager") public
focal_class.parameters: (Message<byte[]> message)
focal_class.return: void
focal_class.signature: void handleCSourceNotification(Message<byte[]> message)
focal_class.class_method_signature: SubscriptionService.subscribeToRemote(Subscription sub, ArrayList<String> remoteEndPoints)
focal_class.full_signature: private void subscribeToRemote(Subscription sub, ArrayList<String> remoteEndPoints)
focal_class.identifier: subscribeToRemote
focal_class.modifiers: private
focal_class.parameters: (Subscription sub, ArrayList<String> remoteEndPoints)
focal_class.return: void
focal_class.signature: void subscribeToRemote(Subscription sub, ArrayList<String> remoteEndPoints)
focal_class.class_method_signature: SubscriptionService.prepareNotificationServlet(Subscription subToCheck)
focal_class.full_signature: private URI prepareNotificationServlet(Subscription subToCheck)
focal_class.identifier: prepareNotificationServlet
focal_class.modifiers: private
focal_class.parameters: (Subscription subToCheck)
focal_class.return: URI
focal_class.signature: URI prepareNotificationServlet(Subscription subToCheck)
focal_class.class_method_signature: SubscriptionService.checkSubscriptionsWithDelete(String key, String payload, long messageTime)
focal_class.full_signature: @SuppressWarnings("unused") // Kept for now ... Delete notifications are not present private void checkSubscriptionsWithDelete(String key, String payload, long messageTime)
focal_class.identifier: checkSubscriptionsWithDelete
focal_class.modifiers: @SuppressWarnings("unused") // Kept for now ... Delete notifications are not present private
focal_class.parameters: (String key, String payload, long messageTime)
focal_class.return: void
focal_class.signature: void checkSubscriptionsWithDelete(String key, String payload, long messageTime)
focal_class.class_method_signature: SubscriptionService.getTypeForId(String key)
focal_class.full_signature: private String getTypeForId(String key)
focal_class.identifier: getTypeForId
focal_class.modifiers: private
focal_class.parameters: (String key)
focal_class.return: String
focal_class.signature: String getTypeForId(String key)
focal_class.class_method_signature: SubscriptionService.remoteNotify(String id, Notification notification)
focal_class.full_signature: @Override public void remoteNotify(String id, Notification notification)
focal_class.identifier: remoteNotify
focal_class.modifiers: @Override public
focal_class.parameters: (String id, Notification notification)
focal_class.return: void
focal_class.signature: void remoteNotify(String id, Notification notification)
focal_class.class_method_signature: SubscriptionService.reportNotification(String subId, Long now)
focal_class.full_signature: public void reportNotification(String subId, Long now)
focal_class.identifier: reportNotification
focal_class.modifiers: public
focal_class.parameters: (String subId, Long now)
focal_class.return: void
focal_class.signature: void reportNotification(String subId, Long now)
focal_class.class_method_signature: SubscriptionService.reportFailedNotification(String subId, Long now)
focal_class.full_signature: public void reportFailedNotification(String subId, Long now)
focal_class.identifier: reportFailedNotification
focal_class.modifiers: public
focal_class.parameters: (String subId, Long now)
focal_class.return: void
focal_class.signature: void reportFailedNotification(String subId, Long now)
focal_class.class_method_signature: SubscriptionService.reportSuccessfulNotification(String subId, Long now)
focal_class.full_signature: public void reportSuccessfulNotification(String subId, Long now)
focal_class.identifier: reportSuccessfulNotification
focal_class.modifiers: public
focal_class.parameters: (String subId, Long now)
focal_class.return: void
focal_class.signature: void reportSuccessfulNotification(String subId, Long now)
focal_method.body: @Override
  	public Subscription updateSubscription(SubscriptionRequest subscriptionRequest) throws ResponseException {
  		Subscription subscription = subscriptionRequest.getSubscription();
  		Subscription oldSub = subscriptionId2Subscription.get(subscription.getId().toString());
  
  		if (oldSub == null) {
  			throw new ResponseException(ErrorType.NotFound);
  		}
  		if (subscription.getAttributeNames() != null) {
  			oldSub.setAttributeNames(subscription.getAttributeNames());
  		}
  		if (subscription.getDescription() != null) {
  			oldSub.setDescription(subscription.getDescription());
  		}
  		if (subscription.getEntities() != null && !subscription.getEntities().isEmpty()) {
  			oldSub.setEntities(subscription.getEntities());
  		}
  		if (subscription.getExpires() != null) {
  			oldSub.setExpires(subscription.getExpires());
  			synchronized (subId2TimerTask) {
  				TimerTask task = subId2TimerTask.get(oldSub.getId().toString());
  				task.cancel();
  				watchDog.schedule(task, subscription.getExpires() - System.currentTimeMillis());
  			}
  
  		}
  		if (subscription.getLdGeoQuery() != null) {
  			oldSub.setLdGeoQuery(subscription.getLdGeoQuery());
  		}
  		if (subscription.getLdQuery() != null) {
  			oldSub.setLdQuery(subscription.getLdQuery());
  		}
  		if (subscription.getLdTempQuery() != null) {
  			oldSub.setLdTempQuery(subscription.getLdTempQuery());
  		}
  		if (subscription.getNotification() != null) {
  			oldSub.setNotification(subscription.getNotification());
  		}
  		if (subscription.getThrottling() != 0) {
  			oldSub.setThrottling(subscription.getThrottling());
  		}
  		if (subscription.getTimeInterval() != 0) {
  			oldSub.setTimeInterval(subscription.getTimeInterval());
  		}
  		synchronized (this.subscriptionId2Context) {
  			this.subscriptionId2Context.putAll(oldSub.getId().toString(), subscriptionRequest.getContext());
  		}
  		return oldSub;
  	}
focal_method.class_method_signature: SubscriptionService.updateSubscription(SubscriptionRequest subscriptionRequest)
focal_method.full_signature: @Override public Subscription updateSubscription(SubscriptionRequest subscriptionRequest)
focal_method.identifier: updateSubscription
focal_method.invocations: getSubscription get toString getId getAttributeNames setAttributeNames getAttributeNames getDescription setDescription getDescription getEntities isEmpty getEntities setEntities getEntities getExpires setExpires getExpires get toString getId cancel schedule getExpires currentTimeMillis getLdGeoQuery setLdGeoQuery getLdGeoQuery getLdQuery setLdQuery getLdQuery getLdTempQuery setLdTempQuery getLdTempQuery getNotification setNotification getNotification getThrottling setThrottling getThrottling getTimeInterval setTimeInterval getTimeInterval putAll toString getId getContext
focal_method.modifiers: @Override public
focal_method.parameters: (SubscriptionRequest subscriptionRequest)
focal_method.return: Subscription
focal_method.signature: Subscription updateSubscription(SubscriptionRequest subscriptionRequest)