Skip to content

Commit

Permalink
OK-798 Muutetaan loput funktiokutsuihin liittyvät luokat ei-entityiksi
Browse files Browse the repository at this point in the history
  • Loading branch information
jkorri committed Feb 28, 2025
1 parent 7c00a82 commit 192b481
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ public class ValintaperusteetFunktioargumenttiDTO
@Schema(description = "Indeksi", required = true)
private Integer indeksi;

private Long id;

public Integer getIndeksi() {
return indeksi;
}
Expand All @@ -34,12 +32,4 @@ public ValintaperusteetFunktiokutsuDTO getFunktiokutsu() {
public void setFunktiokutsu(ValintaperusteetFunktiokutsuDTO funktiokutsu) {
this.funktiokutsu = funktiokutsu;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package fi.vm.sade.service.valintaperusteet.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import java.io.Serializable;

Expand All @@ -14,7 +13,6 @@ public class BaseEntity implements Serializable {
@Id
@Column(name = ID_COLUMN_NAME, unique = true, nullable = false)
@GeneratedValue
@JsonIgnore
private Long id;

@Version
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import jakarta.validation.constraints.Min;
import java.io.IOException;

public class Funktioargumentti extends BaseEntity implements Comparable<Funktioargumentti> {
public class Funktioargumentti implements Comparable<Funktioargumentti> {

@JsonBackReference private Funktiokutsu parent;

Expand All @@ -22,7 +21,6 @@ public class Funktioargumentti extends BaseEntity implements Comparable<Funktioa
@JsonDeserialize(using = CustomLaskentakaavaDeserializer.class)
private Laskentakaava laskentakaavaChild;

@Min(1)
private Integer indeksi;

public Funktiokutsu getParent() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.fasterxml.jackson.annotation.JsonBackReference;

public abstract class Konvertteriparametri extends BaseEntity {
public abstract class Konvertteriparametri {
private String paluuarvo;

@JsonBackReference private Funktiokutsu funktiokutsu;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import fi.vm.sade.service.valintaperusteet.dto.model.Valintaperustelahde;

public class ValintaperusteViite extends BaseEntity implements Comparable<ValintaperusteViite> {
public class ValintaperusteViite implements Comparable<ValintaperusteViite> {
private static final long serialVersionUID = 1L;

public static final String OSALLISTUMINEN_POSTFIX = "-OSALLISTUMINEN";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ object Laskentakaavavalidaattori {
if (validoiLaskettava && argumentti.getFunktiokutsuChild == null) {
new Validointivirhe(
Virhetyyppi.FUNKTIOKUTSUA_EI_OLE_MAARITELTY_FUNKTIOARGUMENTILLE,
s"Funktiokutsua ei ole annettu funktiokutsun $nimi funktioargumentille, indeksi ${argumentti.getIndeksi}, id ${argumentti.getId}"
s"Funktiokutsua ei ole annettu funktiokutsun $nimi funktioargumentille, indeksi ${argumentti.getIndeksi}"
) :: accum
} else if (
!validoiLaskettava && argumentti.getFunktiokutsuChild == null && argumentti.getLaskentakaavaChild == null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,26 @@ public List<ValintaperusteViiteDTO> convert(
public Set<ValintaperusteViite> convert(
MappingContext<List<ValintaperusteViiteDTO>, Set<ValintaperusteViite>> context) {
Set<ValintaperusteViite> result = new TreeSet<ValintaperusteViite>();

int suurinIndeksi =
context.getSource().stream()
.filter(v -> v.getIndeksi() != null)
.map(v -> v.getIndeksi())
.max(Integer::compareTo)
.orElse(0);
for (int i = 0; i < context.getSource().size(); i++) {
ValintaperusteViiteDTO arg = context.getSource().get(i);
arg.setIndeksi(i + 1);
if (arg.getIndeksi() == null) {
// jos indeksiä ei määritelty niin lisätään listan loppuun
arg.setIndeksi(++suurinIndeksi);
}
ValintaperusteViite viite = map(arg, ValintaperusteViite.class);
if ((viite.getEpasuoraViittaus() == null || !viite.getEpasuoraViittaus())
&& Valintaperustelahde.HAKUKOHTEEN_SYOTETTAVA_ARVO.equals(viite.getLahde())) {
LOG.info(
String.format(
"Pakotetaan epasuoraViittaus arvoon true, koska viitteen %d lähde on %s",
viite.getId(), Valintaperustelahde.HAKUKOHTEEN_SYOTETTAVA_ARVO));
"Pakotetaan epasuoraViittaus arvoon true, koska viitteen lähde on %s",
Valintaperustelahde.HAKUKOHTEEN_SYOTETTAVA_ARVO));
viite.setEpasuoraViittaus(true);
}
viite.setIndeksi(arg.getIndeksi());
Expand Down Expand Up @@ -115,9 +125,19 @@ public Set<Arvovalikonvertteriparametri> convert(
public Set<Funktioargumentti> convert(
MappingContext<List<FunktioargumenttiDTO>, Set<Funktioargumentti>> context) {
Set<Funktioargumentti> result = new TreeSet<Funktioargumentti>();

int suurinIndeksi =
context.getSource().stream()
.filter(v -> v.getIndeksi() != null)
.map(v -> v.getIndeksi())
.max(Integer::compareTo)
.orElse(0);
for (int i = 0; i < context.getSource().size(); i++) {
FunktioargumenttiDTO arg = context.getSource().get(i);
arg.setIndeksi(i + 1);
if (arg.getIndeksi() == null) {
// jos indeksi ei määritelty niin laitetaan listan loppuun
arg.setIndeksi(++suurinIndeksi);
}
Funktioargumentti funktioargumentti = new Funktioargumentti();
if (arg.getLapsi() != null
&& arg.getLapsi()
Expand Down Expand Up @@ -194,7 +214,6 @@ public Set<ValintaperusteetFunktioargumenttiDTO> convert(
ValintaperusteetFunktiokutsuDTO.class));
}
dto.setIndeksi(arg.getIndeksi());
dto.setId(arg.getId());
result.add(dto);
}
return result;
Expand All @@ -212,7 +231,6 @@ public Set<Funktioargumentti> convert(
Funktioargumentti arg = new Funktioargumentti();
arg.setFunktiokutsuChild(map(dto.getFunktiokutsu(), Funktiokutsu.class));
arg.setIndeksi(dto.getIndeksi());
arg.setId(dto.getId());
result.add(arg);
}
return result;
Expand Down Expand Up @@ -469,9 +487,18 @@ public FunktioargumentinLapsiDTO asetaFunktioArgumenttiLapsetRekursiivisesti(Fun
}

public Funktiokutsu asetaIndeksitRekursiivisesti(FunktioargumentinLapsiDTO kutsu) {
int suurinIndeksi =
kutsu.getFunktioargumentit().stream()
.filter(v -> v.getIndeksi() != null)
.map(v -> v.getIndeksi())
.max(Integer::compareTo)
.orElse(0);
for (int i = 0; i < kutsu.getFunktioargumentit().size(); i++) {
FunktioargumenttiDTO arg = kutsu.getFunktioargumentit().get(i);
arg.setIndeksi(i + 1);
if (arg.getIndeksi() == null) {
// jos indeksi ei määritelty niin laitetaan listan loppuun
arg.setIndeksi(++suurinIndeksi);
}
if (arg.getLapsi() != null
&& arg.getLapsi().getLapsityyppi().equals(FunktioargumentinLapsiDTO.FUNKTIOKUTSUTYYPPI)) {
asetaIndeksitRekursiivisesti(arg.getLapsi());
Expand Down

0 comments on commit 192b481

Please # to comment.