Skip to content

Commit

Permalink
#4381 Variable taxonomies service added to support other taxonomies p…
Browse files Browse the repository at this point in the history
…roviders, in addition to the opal one
  • Loading branch information
ymarcon committed Jan 27, 2023
1 parent dc78d0c commit 033e77c
Show file tree
Hide file tree
Showing 32 changed files with 434 additions and 363 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@

import javax.inject.Inject;

import com.mongodb.client.MongoCollection;
import org.bson.Document;
import org.json.JSONException;
import org.obiba.mica.micaConfig.service.CacheService;
import org.obiba.runtime.Version;
import org.obiba.runtime.upgrade.UpgradeStep;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Component;

@Component
Expand All @@ -16,14 +20,17 @@ public class Mica510upgrade implements UpgradeStep {

private CacheService cacheService;

private final MongoTemplate mongoTemplate;

@Inject
public Mica510upgrade(CacheService cacheService) {
public Mica510upgrade(CacheService cacheService, MongoTemplate mongoTemplate) {
this.cacheService = cacheService;
this.mongoTemplate = mongoTemplate;
}

@Override
public String getDescription() {
return "Clear caches for 5.1.0";
return "Clear caches and updating config for 5.1.0";
}

@Override
Expand All @@ -34,7 +41,36 @@ public Version getAppliesTo() {
@Override
public void execute(Version currentVersion) {
logger.info("Executing Mica upgrade to version 5.1.0");

try {
logger.info("Updating 'Mica Config'...");
updateMicaConfig();
} catch (JSONException e) {
logger.error("Error occurred while Updating 'Mica Config'");
}

logger.info("Clearing all caches...");
cacheService.clearAllCaches();

// TODO get updated search plugin and rebuild search index
}

private void updateMicaConfig() throws JSONException {
Document micaConfig = getDBObjectSafely("micaConfig");
// delete field anonymousCanCreateCart to reset to default
if (null != micaConfig) {
micaConfig.remove("opal");
mongoTemplate.save(micaConfig, "micaConfig");
}
}


private Document getDBObjectSafely(String collectionName) {
if (mongoTemplate.collectionExists(collectionName)) {
MongoCollection<Document> existingCollection = mongoTemplate.getCollection(collectionName);
return existingCollection.find().first();
}

return null;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,6 @@ public class MicaConfig extends AbstractAuditableDocument {

public static final String DEFAULT_CHARSET = Charsets.UTF_8.toString();

public static final String DEFAULT_OPAL = "https://localhost:8443";

public static final String DEFAULT_PUBLIC_URL = "http://localhost:8082";

public static final String[] LAYOUT_OPTIONS = {"layout1", "layout2"};

public static final long DEFAULT_MAX_ITEMS_PER_SET = 20000;
Expand All @@ -64,7 +60,7 @@ public class MicaConfig extends AbstractAuditableDocument {
@NotBlank
private String defaultCharacterSet = DEFAULT_CHARSET;

private String opal = DEFAULT_OPAL;
private String opal;

private List<String> roles = Lists.newArrayList(Membership.CONTACT, Membership.INVESTIGATOR);

Expand Down Expand Up @@ -221,8 +217,12 @@ public void setDefaultCharacterSet(String defaultCharacterSet) {
this.defaultCharacterSet = defaultCharacterSet;
}

public boolean hasOpal() {
return !Strings.isNullOrEmpty(opal);
}

public String getOpal() {
return opal == null ? "" : opal;
return opal;
}

public void setOpal(String opal) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,18 @@ public class CacheService {
private EventBus eventBus;

@Inject
private TaxonomyService taxonomyService;
private TaxonomiesService taxonomiesService;

@CacheEvict(value = "opal-taxonomies", allEntries = true, beforeInvocation = true)
public void clearOpalTaxonomiesCache() {
log.info("Clearing opal taxonomies cache");
taxonomyService.getOpalTaxonomies();
taxonomiesService.getVariableTaxonomies();
}

@CacheEvict(value = "micaConfig", allEntries = true)
public void clearMicaConfigCache() {
log.info("Clearing mica config cache");
taxonomyService.refresh();
taxonomiesService.refresh();
}

@CacheEvict(value = "aggregations-metadata", allEntries = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class MicaConfigurationProvider implements ConfigurationProvider {

@Inject
@Lazy
private TaxonomyService taxonomyService;
private TaxonomiesService taxonomiesService;

@Override
public List<String> getLocales() {
Expand All @@ -46,26 +46,26 @@ public ObjectMapper getObjectMapper() {

@Override
public Taxonomy getNetworkTaxonomy() {
return taxonomyService.getNetworkTaxonomy();
return taxonomiesService.getNetworkTaxonomy();
}

@Override
public Taxonomy getStudyTaxonomy() {
return taxonomyService.getStudyTaxonomy();
return taxonomiesService.getStudyTaxonomy();
}

@Override
public Taxonomy getVariableTaxonomy() {
return taxonomyService.getVariableTaxonomy();
return taxonomiesService.getVariableTaxonomy();
}

@Override
public Taxonomy getDatasetTaxonomy() {
return taxonomyService.getDatasetTaxonomy();
return taxonomiesService.getDatasetTaxonomy();
}

@Override
public List<Taxonomy> getVariableTaxonomies() {
return taxonomyService.getVariableTaxonomies();
return taxonomiesService.getAllVariableTaxonomies();
}
}
Loading

0 comments on commit 033e77c

Please sign in to comment.