Skip to content

Commit

Permalink
Merge pull request DIGI-UW#1466 from mozzy11/develop
Browse files Browse the repository at this point in the history
Remove duplicate Add Test service methods
  • Loading branch information
mozzy11 authored Jan 29, 2025
2 parents 96b9de3 + faf034a commit d9dd2a9
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 270 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -790,42 +790,42 @@ public class TestAddParams {
public String testReportNameEnglish;
public String testReportNameFrench;
public String testSectionId;
ArrayList<String> panelList = new ArrayList<>();
public ArrayList<String> panelList = new ArrayList<>();
public String uomId;
public String loinc;
String resultTypeId;
ArrayList<SampleTypeListAndTestOrder> sampleList = new ArrayList<>();
String active;
String orderable;
public String resultTypeId;
public ArrayList<SampleTypeListAndTestOrder> sampleList = new ArrayList<>();
public String active;
public String orderable;
public String notifyResults;
public String inLabOnly;
public String antimicrobialResistance;
String lowValid;
String highValid;
String lowReportingRange;
String highReportingRange;
String lowCritical;
String highCritical;
public String lowValid;
public String highValid;
public String lowReportingRange;
public String highReportingRange;
public String lowCritical;
public String highCritical;
public String significantDigits;
String dictionaryReferenceId;
ArrayList<ResultLimitParams> limits = new ArrayList<>();
public String dictionaryReferenceId;
public ArrayList<ResultLimitParams> limits = new ArrayList<>();
public ArrayList<DictionaryParams> dictionaryParamList = new ArrayList<>();
}

public class SampleTypeListAndTestOrder {
String sampleTypeId;
ArrayList<String> orderedTests = new ArrayList<>();
public String sampleTypeId;
public ArrayList<String> orderedTests = new ArrayList<>();
}

public class ResultLimitParams {
String gender;
String lowAge;
String highAge;
String lowNormalLimit;
String highNormalLimit;
String displayRange;
String lowCritical;
String highCritical;
public String gender;
public String lowAge;
public String highAge;
public String lowNormalLimit;
public String highNormalLimit;
public String displayRange;
public String lowCritical;
public String highCritical;
}

public class TestSet {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
import org.openelisglobal.test.service.TestService;
import org.openelisglobal.test.valueholder.Test;
import org.openelisglobal.test.valueholder.TestSection;
import org.openelisglobal.testconfiguration.controller.TestAddController;
import org.openelisglobal.testconfiguration.controller.TestAddController.TestSet;
import org.openelisglobal.testconfiguration.form.TestAddForm;
import org.openelisglobal.testconfiguration.service.TestAddService;
import org.openelisglobal.testconfiguration.validator.TestAddFormValidator;
Expand Down Expand Up @@ -82,6 +84,8 @@ public class TestAddRestController extends BaseController {
private TestSectionService testSectionService;
@Autowired
private TestService testService;
@Autowired
private TestAddController testAddController;

@InitBinder
public void initBinder(WebDataBinder binder) {
Expand Down Expand Up @@ -146,7 +150,7 @@ public TestAddForm postTestAdd(HttpServletRequest request, @RequestBody @Valid T
Localization reportingNameLocalization = createReportingNameLocalization(testAddParams);

try {
testAddService.addTestsRest(testSets, nameLocalization, reportingNameLocalization, currentUserId);
testAddService.addTests(testSets, nameLocalization, reportingNameLocalization, currentUserId);
} catch (HibernateException e) {
LogEvent.logDebug(e);
}
Expand Down Expand Up @@ -221,7 +225,7 @@ private List<TestSet> createTestSets(TestAddParams testAddParams) {
} else {
typeOfSample.setActive("Y".equals(testAddParams.active));
}
TestSet testSet = new TestSet();
TestSet testSet = testAddController.new TestSet();
testSet.typeOfSample = typeOfSample;
Test test = new Test();
test.setUnitOfMeasure(uom);
Expand Down Expand Up @@ -579,16 +583,6 @@ public class TestAddParams {
public ArrayList<DictionaryParams> dictionaryParamList = new ArrayList<>();
}

public class TestSet {
public Test test;
public TypeOfSampleTest sampleTypeTest;
public TypeOfSample typeOfSample;
public ArrayList<Test> sortedTests = new ArrayList<>();
public ArrayList<PanelItem> panelItems = new ArrayList<>();
public ArrayList<TestResult> testResults = new ArrayList<>();
public ArrayList<ResultLimit> resultLimits = new ArrayList<>();
}

public class SampleTypeListAndTestOrder {
String sampleTypeId;
ArrayList<String> orderedTests = new ArrayList<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@
import org.openelisglobal.test.valueholder.TestSection;
import org.openelisglobal.testconfiguration.beans.ResultLimitBean;
import org.openelisglobal.testconfiguration.beans.TestCatalogBean;
import org.openelisglobal.testconfiguration.controller.TestModifyEntryController;
import org.openelisglobal.testconfiguration.controller.TestModifyEntryController.DictionaryParams;
import org.openelisglobal.testconfiguration.controller.TestModifyEntryController.ResultLimitParams;
import org.openelisglobal.testconfiguration.controller.TestModifyEntryController.SampleTypeListAndTestOrder;
import org.openelisglobal.testconfiguration.controller.TestModifyEntryController.TestAddParams;
import org.openelisglobal.testconfiguration.controller.TestModifyEntryController.TestSet;
import org.openelisglobal.testconfiguration.form.TestModifyEntryForm;
import org.openelisglobal.testconfiguration.service.TestModifyService;
import org.openelisglobal.testconfiguration.validator.TestModifyEntryFormValidator;
Expand Down Expand Up @@ -86,6 +92,8 @@ public class TestModifyEntryRestController extends BaseController {
private LocalizationService localizationService;
@Autowired
private TestSectionService testSectionService;
@Autowired
private TestModifyEntryController testModifyEntryController;

@InitBinder
public void initBinder(WebDataBinder binder) {
Expand Down Expand Up @@ -455,7 +463,7 @@ public TestModifyEntryForm postTestModifyEntry(HttpServletRequest request,
List<TestSet> testSets = createTestSets(testAddParams);

try {
testModifyService.updateTestSetsRest(testSets, testAddParams, nameLocalization, reportingNameLocalization,
testModifyService.updateTestSets(testSets, testAddParams, nameLocalization, reportingNameLocalization,
currentUserId);
} catch (HibernateException e) {
LogEvent.logDebug(e);
Expand Down Expand Up @@ -559,7 +567,7 @@ private List<TestSet> createTestSets(TestAddParams testAddParams) {
if (typeOfSample == null) {
continue;
}
TestSet testSet = new TestSet();
TestSet testSet = testModifyEntryController.new TestSet();
Test test = new Test();
test.setId(testAddParams.testId);

Expand Down Expand Up @@ -655,7 +663,7 @@ private ArrayList<ResultLimit> createResultLimits(Double lowValid, Double highVa
}

private TestAddParams extractTestAddParms(JSONObject obj, JSONParser parser) {
TestAddParams testAddParams = new TestAddParams();
TestAddParams testAddParams = testModifyEntryController.new TestAddParams();
try {

testAddParams.testId = (String) obj.get("testId");
Expand Down Expand Up @@ -688,7 +696,7 @@ private TestAddParams extractTestAddParms(JSONObject obj, JSONParser parser) {
String dictionary = (String) obj.get("dictionary");
JSONArray dictionaryArray = (JSONArray) parser.parse(dictionary);
for (int i = 0; i < dictionaryArray.size(); i++) {
DictionaryParams params = new DictionaryParams();
DictionaryParams params = testModifyEntryController.new DictionaryParams();
params.dictionaryId = (String) ((JSONObject) dictionaryArray.get(i)).get("value");
params.isQuantifiable = "Y".equals(((JSONObject) dictionaryArray.get(i)).get("qualified"));
params.isDefault = params.dictionaryId.equals(obj.get("defaultTestResult"));
Expand All @@ -709,7 +717,7 @@ private void extractLimits(JSONObject obj, JSONParser parser, TestAddParams test
String limits = (String) obj.get("resultLimits");
JSONArray limitArray = (JSONArray) parser.parse(limits);
for (int i = 0; i < limitArray.size(); i++) {
ResultLimitParams params = new ResultLimitParams();
ResultLimitParams params = testModifyEntryController.new ResultLimitParams();
Boolean gender = (Boolean) ((JSONObject) limitArray.get(i)).get("gender");
if (gender) {
params.gender = "M";
Expand All @@ -725,7 +733,7 @@ private void extractLimits(JSONObject obj, JSONParser parser, TestAddParams test
testAddParams.limits.add(params);

if (gender) {
params = new ResultLimitParams();
params = testModifyEntryController.new ResultLimitParams();
params.gender = "F";
params.lowNormalLimit = (String) (((JSONObject) limitArray.get(i)).get("lowNormalFemale"));
params.highNormalLimit = (String) (((JSONObject) limitArray.get(i)).get("highNormalFemale"));
Expand Down Expand Up @@ -754,7 +762,7 @@ private void extractSampleTypes(JSONObject obj, JSONParser parser, TestAddParams
JSONArray sampleTypeArray = (JSONArray) parser.parse(sampleTypes);

for (int i = 0; i < sampleTypeArray.size(); i++) {
SampleTypeListAndTestOrder sampleTypeTests = new SampleTypeListAndTestOrder();
SampleTypeListAndTestOrder sampleTypeTests = testModifyEntryController.new SampleTypeListAndTestOrder();
sampleTypeTests.sampleTypeId = (String) (((JSONObject) sampleTypeArray.get(i)).get("typeId"));

JSONArray testArray = (JSONArray) (((JSONObject) sampleTypeArray.get(i)).get("tests"));
Expand Down Expand Up @@ -788,63 +796,4 @@ protected String getPageSubtitleKey() {
return null;
}

public class TestAddParams {
public String testId;
public String testNameEnglish;
public String testNameFrench;
public String testReportNameEnglish;
public String testReportNameFrench;
public String testSectionId;
ArrayList<String> panelList = new ArrayList<>();
public String uomId;
public String loinc;
String resultTypeId;
ArrayList<SampleTypeListAndTestOrder> sampleList = new ArrayList<>();
String active;
String orderable;
public String notifyResults;
public String inLabOnly;
public String antimicrobialResistance;
String lowValid;
String highValid;
String lowReportingRange;
String highReportingRange;
String lowCritical;
String highCritical;
public String significantDigits;
String dictionaryReferenceId;
ArrayList<ResultLimitParams> limits = new ArrayList<>();
public ArrayList<DictionaryParams> dictionaryParamList = new ArrayList<>();
}

public class SampleTypeListAndTestOrder {
String sampleTypeId;
ArrayList<String> orderedTests = new ArrayList<>();
}

public class ResultLimitParams {
String gender;
String lowAge;
String highAge;
String lowNormalLimit;
String highNormalLimit;
String displayRange;
String lowCritical;
String highCritical;
}

public class TestSet {
public Test test;
public TypeOfSampleTest sampleTypeTest;
public ArrayList<Test> sortedTests = new ArrayList<>();
public ArrayList<PanelItem> panelItems = new ArrayList<>();
public ArrayList<TestResult> testResults = new ArrayList<>();
public ArrayList<ResultLimit> resultLimits = new ArrayList<>();
}

public class DictionaryParams {
public Boolean isDefault;
public String dictionaryId;
public boolean isQuantifiable = false;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,4 @@ public interface TestAddService {

void addTests(List<TestSet> testSets, Localization nameLocalization, Localization reportingNameLocalization,
String currentUserId);

void addTestsRest(List<org.openelisglobal.testconfiguration.controller.rest.TestAddRestController.TestSet> testSets,
Localization nameLocalization, Localization reportingNameLocalization, String currentUserId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -108,69 +108,4 @@ public void addTests(List<TestSet> testSets, Localization nameLocalization, Loca
}
}
}

@Override
public void addTestsRest(
List<org.openelisglobal.testconfiguration.controller.rest.TestAddRestController.TestSet> testSets,
Localization nameLocalization, Localization reportingNameLocalization, String currentUserId) {
nameLocalization.setSysUserId(currentUserId);
localizationService.insert(nameLocalization);
reportingNameLocalization.setSysUserId(currentUserId);
localizationService.insert(reportingNameLocalization);

for (org.openelisglobal.testconfiguration.controller.rest.TestAddRestController.TestSet set : testSets) {
set.test.setSysUserId(currentUserId);
set.test.setLocalizedTestName(nameLocalization);
set.test.setLocalizedReportingName(reportingNameLocalization);
testService.insert(set.test);

TestSection testSection = set.test.getTestSection();
if ("N".equals(testSection.getIsActive())) {
testSection.setIsActive("Y");
testSection.setSysUserId(currentUserId);
testSectionService.update(testSection);
}

for (Test test : set.sortedTests) {
test.setSysUserId(currentUserId);
testService.update(test);
}

set.typeOfSample.setSysUserId(currentUserId);
typeOfSampleService.update(set.typeOfSample);

set.sampleTypeTest.setSysUserId(currentUserId);
set.sampleTypeTest.setTestId(set.test.getId());
typeOfSampleTestService.insert(set.sampleTypeTest);

for (PanelItem item : set.panelItems) {
item.setSysUserId(currentUserId);
item.setTest(set.test);
panelItemService.insert(item);
if (item.getPanel() != null) {
Panel panel = item.getPanel();
if ("N".equals(panel.getIsActive())) {
panel.setIsActive("Y");
panel.setSysUserId(currentUserId);
panelService.update(panel);
}
}
}

for (TestResult testResult : set.testResults) {
testResult.setSysUserId(currentUserId);
testResult.setTest(set.test);
testResultService.insert(testResult);
if (testResult.getDefault()) {
set.test.setDefaultTestResult(testResult);
}
}

for (ResultLimit resultLimit : set.resultLimits) {
resultLimit.setSysUserId(currentUserId);
resultLimit.setTestId(set.test.getId());
resultLimitService.insert(resultLimit);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,4 @@ public interface TestModifyService {

void updateTestSets(List<TestSet> testSets, TestAddParams testAddParams, Localization nameLocalization,
Localization reportingNameLocalization, String currentUserId);

void updateTestSetsRest(
List<org.openelisglobal.testconfiguration.controller.rest.TestModifyEntryRestController.TestSet> testSets,
org.openelisglobal.testconfiguration.controller.rest.TestModifyEntryRestController.TestAddParams testAddParams,
Localization nameLocalization, Localization reportingNameLocalization, String currentUserId);
}
Loading

0 comments on commit d9dd2a9

Please sign in to comment.