Search in sources :

Example 1 with IndexStudiesEvent

use of org.obiba.mica.study.event.IndexStudiesEvent in project mica2 by obiba.

the class ElasticsearchUpgrade method execute.

@Override
public void execute(Version version) {
    log.info("Rebuild elasticsearch indices.");
    cacheService.clearOpalTaxonomiesCache();
    eventBus.post(new IndexStudiesEvent());
    eventBus.post(new IndexFilesEvent());
    eventBus.post(new IndexContactsEvent());
    eventBus.post(new IndexNetworksEvent());
    eventBus.post(new IndexDatasetsEvent());
}
Also used : IndexStudiesEvent(org.obiba.mica.study.event.IndexStudiesEvent) IndexFilesEvent(org.obiba.mica.file.event.IndexFilesEvent) IndexContactsEvent(org.obiba.mica.contact.event.IndexContactsEvent) IndexNetworksEvent(org.obiba.mica.network.event.IndexNetworksEvent) IndexDatasetsEvent(org.obiba.mica.dataset.event.IndexDatasetsEvent)

Example 2 with IndexStudiesEvent

use of org.obiba.mica.study.event.IndexStudiesEvent in project mica2 by obiba.

the class Mica320Upgrade method execute.

@Override
public void execute(Version version) {
    logger.info("Executing Mica upgrade to version 3.2.0");
    try {
        logger.info("Updating variable's variableType vocabulary terms.");
        mongoTemplate.execute(db -> db.eval(variableTypeVocabularyTermsUpdate()));
    } catch (Exception e) {
        logger.error("Failed to update variable's variableType vocabulary terms", e);
    }
    try {
        logger.info("Indexing Taxonomies");
        eventBus.post(new TaxonomiesUpdatedEvent());
    } catch (Exception e) {
        logger.error("Failed to index Taxonomies", e);
    }
    try {
        logger.info("Re-indexing studies");
        eventBus.post(new IndexStudiesEvent());
    } catch (Exception e) {
        logger.error("Failed to re-index studies", e);
    }
    try {
        logger.info("Re-indexing networks");
        eventBus.post(new IndexNetworksEvent());
    } catch (Exception e) {
        logger.error("Failed to re-index networks", e);
    }
}
Also used : TaxonomiesUpdatedEvent(org.obiba.mica.micaConfig.event.TaxonomiesUpdatedEvent) IndexStudiesEvent(org.obiba.mica.study.event.IndexStudiesEvent) IndexNetworksEvent(org.obiba.mica.network.event.IndexNetworksEvent)

Example 3 with IndexStudiesEvent

use of org.obiba.mica.study.event.IndexStudiesEvent in project mica2 by obiba.

the class Mica380Upgrade method execute.

@Override
public void execute(Version version) {
    logger.info("Executing Mica upgrade to version 3.8.0");
    cacheService.clearAllCaches();
    eventBus.post(new DeleteTaxonomiesEvent());
    try {
        logger.info("Ensure Study taxonomy's investigator and contact vocabulary are of type `text`");
        ensureVocabularyType(TaxonomyTarget.STUDY, "investigator", "contact");
    } catch (RuntimeException e) {
        logger.error("Error occurred when ensuring Study taxonomy's investigator and contact vocabulary are of type `text`.", e);
    }
    try {
        logger.info("Ensure Network taxonomy's investigator and contact vocabulary are of type `text`");
        ensureVocabularyType(TaxonomyTarget.NETWORK, "investigator", "contact");
    } catch (RuntimeException e) {
        logger.error("Error occurred when ensuring Network taxonomy's investigator and contact vocabulary are of type `text`.", e);
    }
    logger.info("Update all indices, this may take a long while...");
    // TODO implement a queue so that indexing is done in order
    eventBus.post(new IndexStudiesEvent());
    eventBus.post(new IndexFilesEvent());
    eventBus.post(new IndexContactsEvent());
    eventBus.post(new IndexNetworksEvent());
    eventBus.post(new IndexDatasetsEvent());
    eventBus.post(new TaxonomiesUpdatedEvent());
}
Also used : TaxonomiesUpdatedEvent(org.obiba.mica.micaConfig.event.TaxonomiesUpdatedEvent) IndexStudiesEvent(org.obiba.mica.study.event.IndexStudiesEvent) IndexFilesEvent(org.obiba.mica.file.event.IndexFilesEvent) IndexContactsEvent(org.obiba.mica.contact.event.IndexContactsEvent) DeleteTaxonomiesEvent(org.obiba.mica.micaConfig.event.DeleteTaxonomiesEvent) IndexNetworksEvent(org.obiba.mica.network.event.IndexNetworksEvent) IndexDatasetsEvent(org.obiba.mica.dataset.event.IndexDatasetsEvent)

Example 4 with IndexStudiesEvent

use of org.obiba.mica.study.event.IndexStudiesEvent in project mica2 by obiba.

the class MicaConfigResource method updateIndices.

@PUT
@Path("/_index")
@Timed
@RequiresRoles(Roles.MICA_ADMIN)
public Response updateIndices() {
    eventBus.post(new IndexStudiesEvent());
    eventBus.post(new IndexFilesEvent());
    eventBus.post(new IndexContactsEvent());
    eventBus.post(new IndexNetworksEvent());
    eventBus.post(new IndexDatasetsEvent());
    eventBus.post(new IndexProjectsEvent());
    eventBus.post(new TaxonomiesUpdatedEvent());
    return Response.noContent().build();
}
Also used : TaxonomiesUpdatedEvent(org.obiba.mica.micaConfig.event.TaxonomiesUpdatedEvent) IndexStudiesEvent(org.obiba.mica.study.event.IndexStudiesEvent) IndexFilesEvent(org.obiba.mica.file.event.IndexFilesEvent) IndexContactsEvent(org.obiba.mica.contact.event.IndexContactsEvent) IndexNetworksEvent(org.obiba.mica.network.event.IndexNetworksEvent) IndexDatasetsEvent(org.obiba.mica.dataset.event.IndexDatasetsEvent) IndexProjectsEvent(org.obiba.mica.project.event.IndexProjectsEvent) JsonPath(com.jayway.jsonpath.JsonPath) Timed(com.codahale.metrics.annotation.Timed) RequiresRoles(org.apache.shiro.authz.annotation.RequiresRoles)

Aggregations

IndexNetworksEvent (org.obiba.mica.network.event.IndexNetworksEvent)4 IndexStudiesEvent (org.obiba.mica.study.event.IndexStudiesEvent)4 IndexContactsEvent (org.obiba.mica.contact.event.IndexContactsEvent)3 IndexDatasetsEvent (org.obiba.mica.dataset.event.IndexDatasetsEvent)3 IndexFilesEvent (org.obiba.mica.file.event.IndexFilesEvent)3 TaxonomiesUpdatedEvent (org.obiba.mica.micaConfig.event.TaxonomiesUpdatedEvent)3 Timed (com.codahale.metrics.annotation.Timed)1 JsonPath (com.jayway.jsonpath.JsonPath)1 RequiresRoles (org.apache.shiro.authz.annotation.RequiresRoles)1 DeleteTaxonomiesEvent (org.obiba.mica.micaConfig.event.DeleteTaxonomiesEvent)1 IndexProjectsEvent (org.obiba.mica.project.event.IndexProjectsEvent)1