Skip to content

Commit

Permalink
Merge branch 'dev' into #343_suggest_change_and_log
Browse files Browse the repository at this point in the history
  • Loading branch information
marcos-lg committed Apr 27, 2021
2 parents 2b1d195 + 6c4501c commit 0507876
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package org.gbif.registry.events;

import org.gbif.api.model.registry.NetworkEntity;
import org.gbif.common.messaging.api.Message;
import org.gbif.common.messaging.api.MessagePublisher;
import org.gbif.common.messaging.api.messages.RegistryChangeMessage;
Expand Down Expand Up @@ -63,7 +62,7 @@ public MessageSendingEventListener(
}

@Subscribe
public <T extends NetworkEntity> void sendCreatedEvent(final CreateEvent<T> event) {
public <T> void sendCreatedEvent(final CreateEvent<T> event) {
final Message message =
new RegistryChangeMessage(
RegistryChangeMessage.ChangeType.CREATED,
Expand Down Expand Up @@ -93,7 +92,7 @@ public <T extends NetworkEntity> void sendCreatedEvent(final CreateEvent<T> even
}

@Subscribe
public <T extends NetworkEntity> void sendUpdatedEvent(final UpdateEvent<T> event) {
public <T> void sendUpdatedEvent(final UpdateEvent<T> event) {
final Message message =
new RegistryChangeMessage(
RegistryChangeMessage.ChangeType.UPDATED,
Expand Down Expand Up @@ -124,7 +123,7 @@ public <T extends NetworkEntity> void sendUpdatedEvent(final UpdateEvent<T> even
}

@Subscribe
public <T extends NetworkEntity> void sendDeletedEvent(final DeleteEvent<T> event) {
public <T> void sendDeletedEvent(final DeleteEvent<T> event) {
final Message message =
new RegistryChangeMessage(
RegistryChangeMessage.ChangeType.DELETED,
Expand Down Expand Up @@ -153,4 +152,35 @@ public <T extends NetworkEntity> void sendDeletedEvent(final DeleteEvent<T> even
embargoSeconds,
TimeUnit.SECONDS);
}

@Subscribe
public final void updatedComponent(ChangedComponentEvent event) {
final Message message =
new RegistryChangeMessage(
RegistryChangeMessage.ChangeType.UPDATED,
event.getTargetClass(),
event.getTargetEntityKey(),
null);
LOG.debug(
"Scheduling notification of UpdateEvent [{}] with an embargo durations of {} seconds",
event.getTargetClass().getSimpleName(),
embargoSeconds);

scheduler.schedule(
() -> {
try {
LOG.debug(
"Broadcasting to postal service UpdateEvent [{}]",
event.getTargetClass().getSimpleName());
messagePublisher.send(message);
} catch (IOException e) {
LOG.warn(
"Failed sending RegistryChangeMessage for UpdateEvent [{}]",
event.getTargetClass().getSimpleName(),
e);
}
},
embargoSeconds,
TimeUnit.SECONDS);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public final <T> void deleted(DeleteEvent<T> event) {

@Subscribe
public final void updatedComponent(ChangedComponentEvent event) {
// only fire in case of tagged datasets which become keywords in solr
// only fire in case of tagged datasets
if (event.getTargetClass().equals(Dataset.class)
&& event.getComponentClass().equals(Tag.class)) {
// we only put tagged datasets onto the queue for this event type!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.gbif.api.model.registry.search.KeyTitleResult;
import org.gbif.api.service.registry.NetworkService;
import org.gbif.registry.domain.ws.NetworkRequestSearchParams;
import org.gbif.registry.events.ChangedComponentEvent;
import org.gbif.registry.events.EventManager;
import org.gbif.registry.persistence.WithMyBatis;
import org.gbif.registry.persistence.mapper.DatasetMapper;
Expand Down Expand Up @@ -124,6 +125,7 @@ public PagingResponse<Dataset> listConstituents(
@Override
public void addConstituent(@PathVariable("key") UUID networkKey, @PathVariable UUID datasetKey) {
networkMapper.addDatasetConstituent(networkKey, datasetKey);
ChangedComponentEvent.newInstance(datasetKey, Dataset.class, Network.class);
}

@DeleteMapping("{key}/constituents/{datasetKey}")
Expand All @@ -132,6 +134,7 @@ public void addConstituent(@PathVariable("key") UUID networkKey, @PathVariable U
public void removeConstituent(
@PathVariable("key") UUID networkKey, @PathVariable UUID datasetKey) {
networkMapper.deleteDatasetConstituent(networkKey, datasetKey);
ChangedComponentEvent.newInstance(datasetKey, Dataset.class, Network.class);
}

@GetMapping("suggest")
Expand Down

0 comments on commit 0507876

Please sign in to comment.