Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions docs/deployment/customization/Caching.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,33 @@ The default configuration initializes two separate caches; however, you may wish
datatypes. Please see the [Redis](#redis) and [Ehcache](#ehcache) sections to see how to set up a new cache in whichever
system you are using.

public abstract class AbstractCacheConfig extends CachingConfigurerSupport {

@Value("${cache.name:cbioportal}")
private String appName;

protected abstract CacheManager cacheManager();

/**
* Creates a cache resolver for a given cache name, prepending the application name
* @param cacheName The base cache name
* @return A named cache resolver for the specified cache
*/
protected CacheResolver createCacheResolver(String cacheName) {
return new NamedCacheResolver(cacheManager(), appName + cacheName);
}

@Bean
public CacheResolver generalRepositoryCacheResolver() {
return createCacheResolver("GeneralRepositoryCache");
}

@Bean
public CacheResolver clinicalDataCacheResolver() {
return createCacheResolver("ClinicalDataCache");
}
}

### Redis

Cache initialization is handled inside
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,11 @@ public ResponseEntity<Void> publishVirtualStudy(
@PathVariable String id,
@RequestHeader(value = "X-PUBLISHER-API-KEY") String providedPublisherApiKey,
@RequestParam(required = false) String typeOfCancerId,
@RequestParam(required = false) String pmid
@RequestParam(required = false) String pmid,
@RequestParam(required = false) String description
) {
ensureProvidedPublisherApiKeyCorrect(providedPublisherApiKey);
publishVirtualStudy(id, typeOfCancerId, pmid);
publishVirtualStudy(id, typeOfCancerId, pmid, description);
return ResponseEntity.ok().build();
}

Expand All @@ -87,11 +88,12 @@ public ResponseEntity<Void> unPublishVirtualStudy(
* @param id - id of public virtual study to publish
* @param typeOfCancerId - if specified (not null) update type of cancer of published virtual study
* @param pmid - if specified (not null) update PubMed ID of published virtual study
* @param description - if specified (not null) update description of published virtual study
*/
private void publishVirtualStudy(String id, String typeOfCancerId, String pmid) {
private void publishVirtualStudy(String id, String typeOfCancerId, String pmid, String description) {
VirtualStudy virtualStudyDataToPublish = sessionServiceRequestHandler.getVirtualStudyById(id);
VirtualStudyData virtualStudyData = virtualStudyDataToPublish.getData();
updateStudyMetadataFieldsIfSpecified(virtualStudyData, typeOfCancerId, pmid);
updateStudyMetadataFieldsIfSpecified(virtualStudyData, typeOfCancerId, pmid, description);
virtualStudyData.setUsers(Set.of(ALL_USERS));
sessionServiceRequestHandler.updateVirtualStudy(virtualStudyDataToPublish);
}
Expand Down Expand Up @@ -121,7 +123,7 @@ private void ensureProvidedPublisherApiKeyCorrect(String providedPublisherApiKey
}
}

private void updateStudyMetadataFieldsIfSpecified(VirtualStudyData virtualStudyData, String typeOfCancerId, String pmid) {
private void updateStudyMetadataFieldsIfSpecified(VirtualStudyData virtualStudyData, String typeOfCancerId, String pmid, String description) {
if (typeOfCancerId != null) {
try {
cancerTypeService.getCancerType(typeOfCancerId);
Expand All @@ -134,6 +136,9 @@ private void updateStudyMetadataFieldsIfSpecified(VirtualStudyData virtualStudyD
if (pmid != null) {
virtualStudyData.setPmid(pmid);
}
if (description != null) {
virtualStudyData.setDescription(description);
}
}

}