Skip to content

Commit

Permalink
changed Substanced for export
Browse files Browse the repository at this point in the history
  • Loading branch information
Newatia authored and Newatia committed Nov 9, 2021
1 parent 69a8dc1 commit 6d6c87d
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@
import gov.hhs.gsrs.impurities.models.*;

import ix.ginas.exporters.*;
import ix.ginas.models.v1.Substance;
import ix.core.EntityFetcher;
import java.util.UUID;
import gsrs.springUtils.AutowireHelper;

import org.springframework.beans.factory.annotation.Autowired;

import com.fasterxml.jackson.databind.JsonNode;

import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.io.IOException;
import java.util.*;

Expand Down Expand Up @@ -43,11 +47,14 @@ public class ImpuritiesExporter implements Exporter<Impurities> {

private final List<ColumnValueRecipe<Impurities>> recipeMap;

private static EntityManager entityManager;

private static StringBuilder substanceApprovalIdSB;

private ImpuritiesExporter(Builder builder, ImpuritiesController impuritiesController) {
private ImpuritiesExporter(Builder builder, ImpuritiesController impuritiesController, EntityManager entityManager) {

this.impuritiesController = impuritiesController;
this.entityManager = entityManager;
substanceApprovalIdSB = new StringBuilder();

this.spreadsheet = builder.spreadsheet;
Expand Down Expand Up @@ -148,12 +155,31 @@ private static StringBuilder getIngredientDetails(Impurities s, ImpDefaultColumn

try {
if (impuritiesSub.substanceUuid != null) {

/*
if (impuritiesController != null) {
JsonNode subJson = impuritiesController.injectSubstanceBySubstanceUuid(impuritiesSub.substanceUuid);
if (subJson != null) {
substanceName = subJson.path("_name").textValue();
approvalId = subJson.path("approvalID").textValue();
*/
//TODO: replace with SubstanceKeyResolver for this later
//Get Substance Object by Substance Key
Query query = entityManager.createQuery("SELECT s FROM Substance s JOIN s.codes c WHERE s.uuid=:subUuid");
query.setParameter("subUuid", UUID.fromString(impuritiesSub.substanceUuid));
Substance sub = (Substance) query.getSingleResult();

if (sub != null) {
// if (applicationController != null) {
// JsonNode subJson = applicationController.injectSubstanceBySubstanceKey(ingred.substanceKey);

// if (subJson != null) {
// substanceName = subJson.path("_name").textValue();
// approvalId = subJson.path("approvalID").textValue();

substanceName = ((Substance) EntityFetcher.of(sub.fetchKey()).call()).getName();
approvalId = sub.approvalID;

// Get Substance Name
sb.append((substanceName != null) ? substanceName : "(No Ingredient Name)");
Expand All @@ -162,7 +188,7 @@ private static StringBuilder getIngredientDetails(Impurities s, ImpDefaultColumn
// approval Id.
substanceApprovalIdSB.append((approvalId != null) ? approvalId : "(No Approval ID)");
}
}
// }
} else {
sb.append("(No Ingredient Name)");
substanceApprovalIdSB.append("(No Approval ID)");
Expand Down Expand Up @@ -235,8 +261,8 @@ public Builder renameColumn(String oldName, String newName) {
return this;
}

public ImpuritiesExporter build(ImpuritiesController impuritiesController) {
return new ImpuritiesExporter(this, impuritiesController);
public ImpuritiesExporter build(ImpuritiesController impuritiesController, EntityManager entityManager) {
return new ImpuritiesExporter(this, impuritiesController, entityManager);
}

public Builder includePublicDataOnly(boolean publicOnly) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@
import gov.hhs.gsrs.impurities.models.*;
import gov.hhs.gsrs.impurities.controllers.*;

import ix.ginas.exporters.*;
import gsrs.DefaultDataSourceConfig;
import gsrs.springUtils.AutowireHelper;
import ix.ginas.exporters.*;

import org.springframework.beans.factory.annotation.Autowired;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
Expand All @@ -16,6 +19,9 @@

public class ImpuritiesExporterFactory implements ExporterFactory {

@PersistenceContext(unitName = DefaultDataSourceConfig.NAME_ENTITY_MANAGER)
public EntityManager entityManager;

@Autowired
public ImpuritiesController impuritiesController;

Expand Down Expand Up @@ -53,7 +59,7 @@ public ImpuritiesExporter createNewExporter(OutputStream out, Parameters params)
ImpuritiesExporter.Builder builder = new ImpuritiesExporter.Builder(spreadsheet);
configure(builder, params);

return builder.build(impuritiesController);
return builder.build(impuritiesController, entityManager);
}

protected void configure(ImpuritiesExporter.Builder builder, Parameters params) {
Expand Down

0 comments on commit 6d6c87d

Please sign in to comment.