Skip to content

Commit

Permalink
fix: manglende setter for blokkerende prosesstaskid (#41)
Browse files Browse the repository at this point in the history
  • Loading branch information
frode-carlsen authored Apr 23, 2020
1 parent ec2f1d6 commit c25db0f
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public class ProsessTaskData implements ProsessTaskInfo {
private String sisteKjøringServerProsess;
private LocalDateTime sistKjørt;
private ProsessTaskStatus status = ProsessTaskStatus.KLAR;
private Long blokkertAvProsessTaskId;

public ProsessTaskData(String taskType) {
this.taskType = taskType;
Expand Down Expand Up @@ -127,6 +128,11 @@ public void setFagsakId(Long id) {
public String getGruppe() {
return gruppe;
}

@Override
public Long getBlokkertAvProsessTaskId() {
return blokkertAvProsessTaskId;
}

/**
* Trengs normalt ikke settes.
Expand Down Expand Up @@ -308,6 +314,10 @@ public void setOppgaveId(String oppgaveId) {
setProperty(OPPGAVE_ID, oppgaveId);
}

public void setBlokkertAvProsessTaskId(Long blokkertAvProsessTaskId) {
this.blokkertAvProsessTaskId = blokkertAvProsessTaskId;
}

@Override
public int hashCode() {
return Objects.hash(taskType, props);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ public Long getFagsakId() {
public String getGruppe() {
return data.getGruppe();
}

@Override
public Long getBlokkertAvProsessTaskId() {
return data.getBlokkertAvProsessTaskId();
}

/** Rapportert feil hvis task har feilet. */
public Feil getFeil() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ public interface ProsessTaskInfo {
String getSekvens();

String getAktørId();

Long getBlokkertAvProsessTaskId();

/**
* @deprecated foretrekk {@link #getSaksnummer()}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ public class ProsessTaskEntitet {
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_PROSESS_TASK")
private Long id;

@Column(name="blokkert_av")
private Long blokkertAvProsessTaskId;

@Column(name = "neste_kjoering_etter")
private LocalDateTime nesteKjøringEtter;

Expand Down Expand Up @@ -125,6 +128,14 @@ public Long getId() {
public void setNesteKjøringEtter(LocalDateTime nesteKjøringEtter) {
this.nesteKjøringEtter = nesteKjøringEtter;
}

public void setBlokkertAvProsessTaskId(Long blokkertAvProsessTaskId) {
this.blokkertAvProsessTaskId = blokkertAvProsessTaskId;
}

public Long getBlokkertAvProsessTaskId() {
return blokkertAvProsessTaskId;
}

public void setSisteKjøringServer(String sisteKjøringServerProsess) {
this.sisteKjøringServerProsess = sisteKjøringServerProsess;
Expand Down Expand Up @@ -194,6 +205,7 @@ public ProsessTaskData tilProsessTask() {
task.setSekvens(getSekvens());
task.setPayload(getPayload());
task.setSisteKjøringServerProsess(getSisteKjøringServerProsess());
task.setBlokkertAvProsessTaskId(getBlokkertAvProsessTaskId());
return task;
}

Expand Down Expand Up @@ -240,6 +252,7 @@ private ProsessTaskEntitet kopierBasicFelter(ProsessTaskInfo prosessTask) {
this.gruppe = prosessTask.getGruppe();
this.sekvens = prosessTask.getSekvens();
this.payload = prosessTask.getPayloadAsString();
this.blokkertAvProsessTaskId = prosessTask.getBlokkertAvProsessTaskId();
return this;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.vedtak.felles.prosesstask.impl;

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.Dependent;
import javax.enterprise.event.Event;
import javax.inject.Inject;

Expand All @@ -12,7 +12,7 @@
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskEvent;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskStatus;

@ApplicationScoped
@Dependent
public class ProsessTaskEventPubliserer {

private static final Logger log = LoggerFactory.getLogger(ProsessTaskEventPubliserer.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,12 +196,12 @@ private ProsessTaskEntitet refreshProsessTask(Long id) {
ProsessTaskStatus markerTaskFerdig(ProsessTaskEntitet pte) {
ProsessTaskStatus nyStatus = ProsessTaskStatus.KJOERT;
taskManagerRepository.oppdaterStatus(pte.getId(), nyStatus);

// frigir veto etter at event handlere er fyrt
taskManagerRepository.frigiVeto(pte);

pte = refreshProsessTask(pte.getId());
feilOgStatushåndterer.publiserNyStatusEvent(pte.tilProsessTask(), ProsessTaskStatus.KLAR, nyStatus);

// frigir veto etter at event handlere er fyrt
taskManagerRepository.frigiVeto(pte);
return nyStatus;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package no.nav.vedtak.felles.prosesstask.impl;

import java.io.IOException;
import java.time.LocalDateTime;
import java.util.AbstractMap.SimpleEntry;
import java.util.Optional;

Expand Down Expand Up @@ -39,14 +38,17 @@ boolean vetoRunTask(ProsessTaskEntitet pte) throws IOException {
ProsessTaskVeto veto = entry.getValue();
if (veto.isVeto()) {
vetoed = true;
Feil feil = TaskManagerFeil.FACTORY.kanIkkeKjøreFikkVeto(pte.getId(), pte.getTaskName(), veto.getBlokkertAvProsessTaskId(),
veto.getBegrunnelse());
Long blokkerId = veto.getBlokkertAvProsessTaskId();

Feil feil = TaskManagerFeil.FACTORY.kanIkkeKjøreFikkVeto(pte.getId(), pte.getTaskName(), blokkerId, veto.getBegrunnelse());
ProsessTaskFeil taskFeil = new ProsessTaskFeil(pte.tilProsessTask(), feil);
taskFeil.setBlokkerendeProsessTaskId(veto.getBlokkertAvProsessTaskId());

taskFeil.setBlokkerendeProsessTaskId(blokkerId);
pte.setSisteFeil(taskFeil.getFeilkode(), taskFeil.writeValueAsString());

pte.setBlokkertAvProsessTaskId(blokkerId);
pte.setStatus(ProsessTaskStatus.VETO); // setter også status slik at den ikke forsøker på nytt. Blokkerende task må resette denne.
pte.setNesteKjøringEtter(LocalDateTime.now()); // kjør umiddelbart når veto opphører
pte.setNesteKjøringEtter(null); // kjør umiddelbart når veto opphører

EntityManager em = entityManager;
em.persist(pte);
em.flush();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ void frigiVeto(ProsessTaskEntitet blokkerendeTask) {
.setParameter("neste", nesteKjøringEtter, TemporalType.TIMESTAMP) // NOSONAR
.executeUpdate();
if (tasks > 0) {
log.info("ProssessTask [{}] FERDIG. Frigitt {} tidligere blokkerte tasks", blokkerendeTask.getId(), tasks);
log.info("ProsessTask [{}] FERDIG. Frigitt {} tidligere blokkerte tasks", blokkerendeTask.getId(), tasks);
}
}

Expand All @@ -151,13 +151,13 @@ void frigiVeto(ProsessTaskEntitet blokkerendeTask) {
" ,versjon=versjon+1 " +
" WHERE id = :id";

String status = taskStatus.getDbKode();
LocalDateTime now = LocalDateTime.now();
String status = taskStatus.getDbKode();
@SuppressWarnings("resource")
int tasks = getEntityManagerAsSession().createNativeQuery(updateSql)
.setParameter("id", prosessTaskId) // NOSONAR
.setParameter("status", status) // NOSONAR
.setParameter("status_ts", now)
.setParameter("status_ts", now, TemporalType.TIMESTAMP) // NOSONAR
.setParameter("neste", nesteKjøringEtter, TemporalType.TIMESTAMP) // NOSONAR
.setParameter("feilkode", feilkode)// NOSONAR
.setParameter("feiltekst", feiltekst)// NOSONAR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import javax.enterprise.inject.Instance;
import javax.inject.Inject;

import org.jboss.weld.exceptions.UnsupportedOperationException;
import java.lang.UnsupportedOperationException;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
Expand Down

0 comments on commit c25db0f

Please sign in to comment.