Skip to content
Merged
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
4 changes: 2 additions & 2 deletions jhipster-jdl.jdl
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,8 @@ entity FdaSubmission {
deviceName String required
genericName String

dateReceived Instant
decisionDate Instant
dateReceived LocalDate
decisionDate LocalDate

description TextBlob

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import jakarta.persistence.*;
import jakarta.validation.constraints.*;
import java.io.Serializable;
import java.time.Instant;
import java.time.LocalDate;
import java.util.HashSet;
import java.util.Set;
import org.javers.core.metamodel.annotation.DiffIgnore;
Expand Down Expand Up @@ -40,10 +40,10 @@ public class FdaSubmission implements Serializable {
private String genericName;

@Column(name = "date_received")
private Instant dateReceived;
private LocalDate dateReceived;

@Column(name = "decision_date")
private Instant decisionDate;
private LocalDate decisionDate;

@DiffIgnore
@Lob
Expand Down Expand Up @@ -165,29 +165,29 @@ public void setGenericName(String genericName) {
this.genericName = genericName;
}

public Instant getDateReceived() {
public LocalDate getDateReceived() {
return this.dateReceived;
}

public FdaSubmission dateReceived(Instant dateReceived) {
public FdaSubmission dateReceived(LocalDate dateReceived) {
this.setDateReceived(dateReceived);
return this;
}

public void setDateReceived(Instant dateReceived) {
public void setDateReceived(LocalDate dateReceived) {
this.dateReceived = dateReceived;
}

public Instant getDecisionDate() {
public LocalDate getDecisionDate() {
return this.decisionDate;
}

public FdaSubmission decisionDate(Instant decisionDate) {
public FdaSubmission decisionDate(LocalDate decisionDate) {
this.setDecisionDate(decisionDate);
return this;
}

public void setDecisionDate(Instant decisionDate) {
public void setDecisionDate(LocalDate decisionDate) {
this.decisionDate = decisionDate;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import java.io.InputStream;
import java.net.URL;
import java.time.Instant;
import java.time.LocalDate;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Expand Down Expand Up @@ -211,7 +212,7 @@ private Optional<FdaSubmission> parseFdaSubmissionColumn(String columnValue) {
false
);
if (optionalFdaSubmission.isPresent()) {
Instant fdaSubmissionDate = cdxUtils.convertDateToInstant(matcher.group(5));
LocalDate fdaSubmissionDate = cdxUtils.convertDateToLocalDate(matcher.group(5));
if (fdaSubmissionDate != null) {
optionalFdaSubmission.orElseThrow().setDecisionDate(fdaSubmissionDate);
optionalFdaSubmission.orElseThrow().curated(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@
import java.util.Objects;
import tech.jhipster.service.Criteria;
import tech.jhipster.service.filter.BooleanFilter;
import tech.jhipster.service.filter.DoubleFilter;
import tech.jhipster.service.filter.Filter;
import tech.jhipster.service.filter.FloatFilter;
import tech.jhipster.service.filter.InstantFilter;
import tech.jhipster.service.filter.IntegerFilter;
import tech.jhipster.service.filter.LocalDateFilter;
import tech.jhipster.service.filter.LongFilter;
import tech.jhipster.service.filter.StringFilter;

Expand All @@ -35,9 +32,9 @@ public class FdaSubmissionCriteria implements Serializable, Criteria {

private StringFilter genericName;

private InstantFilter dateReceived;
private LocalDateFilter dateReceived;

private InstantFilter decisionDate;
private LocalDateFilter decisionDate;

private BooleanFilter curated;

Expand Down Expand Up @@ -155,33 +152,33 @@ public void setGenericName(StringFilter genericName) {
this.genericName = genericName;
}

public InstantFilter getDateReceived() {
public LocalDateFilter getDateReceived() {
return dateReceived;
}

public InstantFilter dateReceived() {
public LocalDateFilter dateReceived() {
if (dateReceived == null) {
dateReceived = new InstantFilter();
dateReceived = new LocalDateFilter();
}
return dateReceived;
}

public void setDateReceived(InstantFilter dateReceived) {
public void setDateReceived(LocalDateFilter dateReceived) {
this.dateReceived = dateReceived;
}

public InstantFilter getDecisionDate() {
public LocalDateFilter getDecisionDate() {
return decisionDate;
}

public InstantFilter decisionDate() {
public LocalDateFilter decisionDate() {
if (decisionDate == null) {
decisionDate = new InstantFilter();
decisionDate = new LocalDateFilter();
}
return decisionDate;
}

public void setDecisionDate(InstantFilter decisionDate) {
public void setDecisionDate(LocalDateFilter decisionDate) {
this.decisionDate = decisionDate;
}

Expand Down
8 changes: 4 additions & 4 deletions src/main/java/org/mskcc/oncokb/curation/util/CdxUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,9 @@ public Set<FdaSubmission> getFDASubmissionFromHTML(Set<String> fdaSubmissionCode
} else if (header.equalsIgnoreCase("Supplement Number")) {
fdaSubmission.setSupplementNumber(content);
} else if (header.equalsIgnoreCase("Date Received")) {
fdaSubmission.setDateReceived(convertDateToInstant(content));
fdaSubmission.setDateReceived(convertDateToLocalDate(content));
} else if (header.equalsIgnoreCase("Decision Date")) {
fdaSubmission.setDecisionDate(convertDateToInstant(content));
fdaSubmission.setDecisionDate(convertDateToLocalDate(content));
}
} else {
// The Approval Order Statement column does not have the header stored in <th> element
Expand Down Expand Up @@ -263,11 +263,11 @@ private Set<String> findAllSupplements(String primaryPma) {
return supplements;
}

public Instant convertDateToInstant(String date) {
public LocalDate convertDateToLocalDate(String date) {
if (StringUtils.isEmpty(date)) {
return null;
}
return LocalDate.parse(date, DateTimeFormatter.ofPattern("MM/dd/yyyy", Locale.US)).atStartOfDay().toInstant(ZoneOffset.UTC);
return LocalDate.parse(date, DateTimeFormatter.ofPattern("MM/dd/yyyy", Locale.US));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,8 @@
</changeSet>

<!-- jhipster-needle-liquibase-add-changeset - JHipster will add changesets here -->
<changeSet id="20250430100000-1" author="calvin">
<modifyDataType tableName="fda_submission" columnName="decision_date" newDataType="date"/>
<modifyDataType tableName="fda_submission" columnName="date_received" newDataType="date"/>
</changeSet>
</databaseChangeLog>
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Row, Col } from 'reactstrap';
import { TextFormat } from 'react-jhipster';

import { IRootStore } from 'app/stores';
import { APP_DATE_FORMAT, ENTITY_ACTION, ENTITY_TYPE } from 'app/config/constants/constants';
import { APP_DATE_FORMAT, APP_LOCAL_DATE_FORMAT, ENTITY_ACTION, ENTITY_TYPE } from 'app/config/constants/constants';
import EntityActionButton from 'app/shared/button/EntityActionButton';
import EntityPageLink from 'app/shared/links/EntityPageLink';

Expand Down Expand Up @@ -47,15 +47,15 @@ export const FdaSubmissionDetail = (props: IFdaSubmissionDetailProps) => {
</dt>
<dd>
{fdaSubmissionEntity.dateReceived ? (
<TextFormat value={fdaSubmissionEntity.dateReceived} type="date" format={APP_DATE_FORMAT} />
<TextFormat value={fdaSubmissionEntity.dateReceived} type="date" format={APP_LOCAL_DATE_FORMAT} />
) : null}
</dd>
<dt>
<span id="decisionDate">Decision Date</span>
</dt>
<dd>
{fdaSubmissionEntity.decisionDate ? (
<TextFormat value={fdaSubmissionEntity.decisionDate} type="date" format={APP_DATE_FORMAT} />
<TextFormat value={fdaSubmissionEntity.decisionDate} type="date" format={APP_LOCAL_DATE_FORMAT} />
) : null}
</dd>
<dt>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@

import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.Matchers.hasItem;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

import jakarta.persistence.EntityManager;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -60,11 +63,11 @@ class FdaSubmissionResourceIT {
private static final String DEFAULT_GENERIC_NAME = "AAAAAAAAAA";
private static final String UPDATED_GENERIC_NAME = "BBBBBBBBBB";

private static final Instant DEFAULT_DATE_RECEIVED = Instant.ofEpochMilli(0L);
private static final Instant UPDATED_DATE_RECEIVED = Instant.now().truncatedTo(ChronoUnit.MILLIS);
private static final LocalDate DEFAULT_DATE_RECEIVED = LocalDate.ofEpochDay(0L);
private static final LocalDate UPDATED_DATE_RECEIVED = LocalDate.now(ZoneId.systemDefault());

private static final Instant DEFAULT_DECISION_DATE = Instant.ofEpochMilli(0L);
private static final Instant UPDATED_DECISION_DATE = Instant.now().truncatedTo(ChronoUnit.MILLIS);
private static final LocalDate DEFAULT_DECISION_DATE = LocalDate.ofEpochDay(0L);
private static final LocalDate UPDATED_DECISION_DATE = LocalDate.now(ZoneId.systemDefault());

private static final String DEFAULT_DESCRIPTION = "AAAAAAAAAA";
private static final String UPDATED_DESCRIPTION = "BBBBBBBBBB";
Expand Down