Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trunk 6264 concept reference range initialization #280

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Adding test data
dicksonmulli committed Sep 25, 2024
commit 2c9484e975611559ad4abe5a773d0b41d5db6581
Original file line number Diff line number Diff line change
@@ -6,11 +6,9 @@
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.appender.FileAppender;
import org.apache.logging.log4j.core.filter.LevelRangeFilter;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.openmrs.annotation.OpenmrsProfile;
import org.openmrs.module.initializer.InitializerActivator;
12 changes: 6 additions & 6 deletions initializer-api-2.7/pom.xml → api-2.7/pom.xml
Original file line number Diff line number Diff line change
@@ -139,12 +139,12 @@
<!-- <scope>test</scope>-->
<!-- </dependency>-->

<!-- <dependency>-->
<!-- <groupId>org.openmrs.module</groupId>-->
<!-- <artifactId>fhir2-api-2.5</artifactId>-->
<!-- <version>${fhir2Version}</version>-->
<!-- <scope>test</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>org.openmrs.module</groupId>
<artifactId>fhir2-api-2.5</artifactId>
<version>${fhir2Version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.openmrs.module</groupId>
Original file line number Diff line number Diff line change
@@ -2,25 +2,23 @@

import org.apache.commons.lang3.StringUtils;
import org.openmrs.ConceptReferenceRange;
import org.openmrs.api.ConceptService;
import org.openmrs.module.initializer.Domain;
import org.openmrs.module.initializer.api.BaseLineProcessor;
import org.openmrs.module.initializer.api.CsvLine;
import org.openmrs.module.initializer.api.CsvParser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

@Component
public class ConceptReferenceRangeCsvParser extends CsvParser<ConceptReferenceRange, BaseLineProcessor<ConceptReferenceRange>> {

private final ConceptService conceptService;
private ConceptReferenceRangeService conceptReferenceRangeService;

@Autowired
public ConceptReferenceRangeCsvParser(@Qualifier("conceptService") ConceptService conceptService,
ConceptReferenceRangeLineProcessor processor) {
public ConceptReferenceRangeCsvParser(ConceptReferenceRangeLineProcessor processor,
ConceptReferenceRangeService conceptReferenceRangeService) {
super(processor);
this.conceptService = conceptService;
this.conceptReferenceRangeService = conceptReferenceRangeService;
}

@Override
@@ -31,8 +29,8 @@ public Domain getDomain() {
@Override
public ConceptReferenceRange bootstrap(CsvLine line) throws IllegalArgumentException {
String uuid = line.getUuid();
ConceptReferenceRange referenceRange = conceptService.getConceptReferenceRangeByUuid(uuid);

ConceptReferenceRange referenceRange = conceptReferenceRangeService.getConceptReferenceRangeByUuid(uuid);

if (referenceRange == null) {
referenceRange = new ConceptReferenceRange();
@@ -46,6 +44,6 @@ public ConceptReferenceRange bootstrap(CsvLine line) throws IllegalArgumentExcep

@Override
public ConceptReferenceRange save(ConceptReferenceRange instance) {
return conceptService.saveConceptReferenceRange(instance);
return conceptReferenceRangeService.saveReferenceRange(instance);
}
}
Original file line number Diff line number Diff line change
@@ -30,13 +30,19 @@ public class ConceptReferenceRangeLineProcessor extends BaseLineProcessor<Concep

private ConceptService conceptService;

private final ConceptReferenceRangeService conceptReferenceRangeService;

@Autowired
public ConceptReferenceRangeLineProcessor(@Qualifier("conceptService") ConceptService conceptService) {
public ConceptReferenceRangeLineProcessor(@Qualifier("conceptService") ConceptService conceptService,
ConceptReferenceRangeService conceptReferenceRangeService) {
this.conceptService = conceptService;
this.conceptReferenceRangeService = conceptReferenceRangeService;
}

public ConceptReferenceRange fill(ConceptReferenceRange referenceRange, CsvLine line) throws IllegalArgumentException {
ConceptNumeric conceptNumeric = conceptService.getConceptNumericByUuid(line.get(HEADER_CONCEPT_NUMERIC_UUID));
// ConceptNumeric conceptNumeric = conceptService.getConceptNumericByUuid(line.get(HEADER_CONCEPT_NUMERIC_UUID));
ConceptNumeric conceptNumeric = conceptReferenceRangeService
.getConceptNumericByUuid(line.get(HEADER_CONCEPT_NUMERIC_UUID));

if (conceptNumeric == null) {
throw new IllegalArgumentException(
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package org.openmrs.module.initializer.api.conceptreferencerange;

import org.openmrs.ConceptNumeric;
import org.openmrs.ConceptReferenceRange;
import org.openmrs.annotation.OpenmrsProfile;
import org.openmrs.api.ConceptService;
import org.openmrs.api.OpenmrsService;
import org.openmrs.api.context.Context;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

@OpenmrsProfile(openmrsPlatformVersion = "2.7.0 - 2.7.*")
public class ConceptReferenceRangeService implements OpenmrsService {

private final ConceptService conceptService;

@Autowired
public ConceptReferenceRangeService(@Qualifier("conceptService") ConceptService conceptService) {
this.conceptService = conceptService;
}

/**
* Gets an <code>ConceptReferenceRange</code> by uuid.
*
* @param uuid uuid of the <code>ConceptReferenceRange</code>
* @return conceptReferenceRange or <code>null</code>
*/
public ConceptReferenceRange getConceptReferenceRangeByUuid(String uuid) {
return Context.getConceptService().getConceptReferenceRangeByUuid(uuid);
}

/**
* Saves a <code>ConceptReferenceRange</code>.
*
* @param referenceRange the <code>ConceptReferenceRange</code> to be saved
* @return the saved <code>ConceptReferenceRange</code>
*/
public ConceptReferenceRange saveReferenceRange(ConceptReferenceRange referenceRange) {
return Context.getConceptService().saveConceptReferenceRange(referenceRange);
}

/**
* Gets a {@link ConceptNumeric} by uuid.
*
* @param uuid uuid of the {@link ConceptNumeric}
*/
public ConceptNumeric getConceptNumericByUuid(String uuid) {
return Context.getConceptService().getConceptNumericByUuid(uuid);
}

@Override
public void onStartup() {
}

@Override
public void onShutdown() {
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package org.openmrs.module.initializer.api.conceptreferencerange;

import org.junit.Assert;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openmrs.ConceptReferenceRange;
import org.openmrs.api.ConceptService;
import org.openmrs.module.initializer.DomainBaseModuleContextSensitiveTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

public class ConceptReferenceRangeIntegrationTest extends DomainBaseModuleContextSensitiveTest {

@Autowired
@Qualifier("conceptService")
private ConceptService conceptService;

@Autowired
private ConceptReferenceRangeService conceptReferenceRangeService;

@Autowired
private ConceptReferenceRangeLoader conceptReferenceRangeLoader;

@BeforeEach
public void setUp() {
if (conceptReferenceRangeLoader == null) {
conceptReferenceRangeLoader = new ConceptReferenceRangeLoader();
}
if (conceptReferenceRangeService == null) {
conceptReferenceRangeService = new ConceptReferenceRangeService(conceptService);
}
}

@Test
public void load_shouldLoadConceptReferenceRangeFromCsvFiles() {
conceptReferenceRangeLoader.load();

ConceptReferenceRange referenceRange = conceptReferenceRangeService
.getConceptReferenceRangeByUuid("239c1904-15ff-45e1-ac9d-d83afb637926");
Assert.assertNotNull(referenceRange);
Assert.assertEquals(Double.valueOf("70"), referenceRange.getLowAbsolute());
}
}
Original file line number Diff line number Diff line change
@@ -39,7 +39,7 @@ public void shouldDeserializeConfigWithUnmappedFields() {
@Verifies(value = "should throw XStream exception on invalid config", method = "fromXML(InputStream input)")
public void shouldThrowException() {

InitializerSerializer.getGlobalPropertiesConfig(
getClass().getClassLoader().getResourceAsStream("org/openmrs/module/initializer/include/gp_error.xml"));
InitializerSerializer.getGlobalPropertiesConfig(getClass().getClassLoader().getResourceAsStream(
"org/openmrs/module/initializer/include/gp_error.xml"));
}
}

This file was deleted.

6 changes: 6 additions & 0 deletions omod/pom.xml
Original file line number Diff line number Diff line change
@@ -42,6 +42,12 @@
<artifactId>${project.parent.artifactId}-api-2.5</artifactId>
<version>${project.parent.version}</version>
</dependency>

<dependency>
<groupId>${project.parent.groupId}</groupId>
<artifactId>${project.parent.artifactId}-api-2.7</artifactId>
<version>${project.parent.version}</version>
</dependency>

<dependency>
<groupId>${project.parent.groupId}</groupId>
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
@@ -39,8 +39,8 @@
<module>api-2.3</module>
<module>api-2.4</module>
<module>api-2.5</module>
<module>api-2.7</module>
<module>omod</module>
<module>initializer-api-2.7</module>
</modules>

<profiles>