Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/B3Partners/brmo
Browse files Browse the repository at this point in the history
  • Loading branch information
cvanlith committed Jun 24, 2015
2 parents 771f6bb + a447247 commit d798a2d
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class Bericht {
private String xslVersion;

public static enum STATUS {
STAGING_OK, STAGING_NOK, RSGB_WAITING, RSGB_PROCESSING, RSGB_OK, RSGB_OUTDATED, RSGB_NOK, ARCHIVE
STAGING_OK, STAGING_NOK, STAGING_FORWARDED, RSGB_WAITING, RSGB_PROCESSING, RSGB_OK, RSGB_OUTDATED, RSGB_NOK, ARCHIVE
};

public Bericht(String brXml) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ public void addLog(String log) {
}
});
}

@Override
public void execute(ProgressUpdateListener listener) {
this.l = listener;
Expand All @@ -67,29 +68,29 @@ public void execute(ProgressUpdateListener listener) {
l.updateStatus("Laden berichten...");
this.config.setStatus(AutomatischProces.ProcessingStatus.PROCESSING);


String id = ClobElement.nullSafeGet(config.getConfig().get("gds2_ophaalproces_id"));
GDS2OphaalProces proces = Stripersist.getEntityManager().find(GDS2OphaalProces.class, Long.parseLong(id));

List berichten = Stripersist.getEntityManager().createQuery("select b from Bericht b join b.laadprocesid l where b.status in ('STAGING_OK', 'STAGING_NOK') and l.automatischProces = :proces")
List<Long> berichtIDs = Stripersist.getEntityManager().createQuery("select b.id from Bericht b join b.laadprocesid l where b.status in ('STAGING_OK', 'STAGING_NOK') and l.automatischProces = :proces")
.setParameter("proces", proces)
.getResultList();

if(berichten.isEmpty()) {
if (berichtIDs.isEmpty()) {
this.config.setSamenvatting("Geen berichten om door te sturen");
} else {
this.l.total(berichten.size());
this.l.total(berichtIDs.size());

String url = ClobElement.nullSafeGet(proces.getConfig().get("delivery_endpoint"));

if(url == null) {
if (url == null) {
this.config.setSamenvatting("GDS2 ophaal proces heeft geen afleveringsendpoint");
} else {
int doorgestuurd = 0, fouten = 0;
for(Object o: berichten) {
Bericht b = (Bericht)o;
if(GDS2OphalenProces.doorsturenBericht(proces, l, (Bericht)b, url)) {
for (Long pkid : berichtIDs) {
Bericht b = Stripersist.getEntityManager().find(Bericht.class, pkid);
if (GDS2OphalenProces.doorsturenBericht(proces, l, b, url)) {
doorgestuurd++;
this.l.progress(doorgestuurd);
} else {
fouten++;
}
Expand All @@ -109,7 +110,7 @@ public void execute(ProgressUpdateListener listener) {
this.config.setStatus(AutomatischProces.ProcessingStatus.ERROR);
l.exception(e);
} finally {
if(Stripersist.getEntityManager().getTransaction().getRollbackOnly()) {
if (Stripersist.getEntityManager().getTransaction().getRollbackOnly()) {
// XXX bij rollback only wordt status niet naar ERROR gezet vanwege
// rollback, zou in aparte transactie moeten
Stripersist.getEntityManager().getTransaction().rollback();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import java.io.ByteArrayOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
Expand Down Expand Up @@ -489,26 +491,33 @@ private Bericht laadAfgifte(AfgifteGBType a, String url) throws Exception {
IOUtils.write(b.getBr_orgineel_xml(), new FileWriter(fName));
}

BrkSnapshotXMLReader reader = new BrkSnapshotXMLReader(new ByteArrayInputStream(b.getBr_orgineel_xml().getBytes("UTF-8")));
BrkBericht bericht = reader.next();
try {
BrkSnapshotXMLReader reader = new BrkSnapshotXMLReader(new ByteArrayInputStream(b.getBr_orgineel_xml().getBytes("UTF-8")));
BrkBericht bericht = reader.next();

//Als objectRef niet opgehaald kan worden,dan kan het
//bericht niet verwerkt worden.
String objectRef = bericht.getObjectRef();
if (objectRef!=null && !objectRef.isEmpty()) {
b.setObject_ref(bericht.getObjectRef());
b.setStatus(Bericht.STATUS.STAGING_OK);
b.setOpmerking("Klaar voor verwerking.");
} else {
if(bericht.getDatum() != null) {
b.setDatum(bericht.getDatum());
}
b.setBr_xml(bericht.getBrXml());
b.setVolgordenummer(bericht.getVolgordeNummer());

//Als objectRef niet opgehaald kan worden,dan kan het
//bericht niet verwerkt worden.
String objectRef = bericht.getObjectRef();
if (objectRef!=null && !objectRef.isEmpty()) {
b.setObject_ref(bericht.getObjectRef());
b.setStatus(Bericht.STATUS.STAGING_OK);
b.setOpmerking("Klaar voor verwerking.");
} else {
b.setStatus(Bericht.STATUS.STAGING_NOK);
b.setOpmerking("Object Ref niet gevonden in bericht-xml, neem contact op met leverancier.");
}
} catch(Exception e) {
b.setStatus(Bericht.STATUS.STAGING_NOK);
b.setOpmerking("Object Ref niet gevonden in bericht-xml, neem contact op met leverancier.");
}

if(bericht.getDatum() != null) {
b.setDatum(bericht.getDatum());
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
b.setOpmerking("Fout bij parsen BRK bericht: " + sw.toString());
}
b.setBr_xml(bericht.getBrXml());
b.setVolgordenummer(bericht.getVolgordeNummer());

Stripersist.getEntityManager().persist(lp);
Stripersist.getEntityManager().persist(b);
Expand Down

0 comments on commit d798a2d

Please sign in to comment.