Skip to content

Commit

Permalink
BUG handler
Browse files Browse the repository at this point in the history
  • Loading branch information
mspasiano committed Feb 8, 2017
1 parent 21e7902 commit 2fa86a5
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 9 deletions.
Expand Up @@ -62,7 +62,6 @@
import java.math.BigDecimal;
import java.rmi.RemoteException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Hashtable;
import java.util.List;
Expand Down Expand Up @@ -113,7 +112,6 @@ public Response ricercaFattura(@Context HttpServletRequest request, @QueryParam
@Override
public Response inserisciFatture(@Context HttpServletRequest request, List<FatturaAttiva> fatture) throws Exception {
LOGGER.debug("REST request per inserire fatture attive." );
List<Fattura_attivaBulk> fattureCreate = new ArrayList<Fattura_attivaBulk>();
CNRUserContext userContext = (CNRUserContext) securityContext.getUserPrincipal();
fatture.stream().forEach(fattura -> {
Fattura_attivaBulk testata;
Expand Down Expand Up @@ -147,6 +145,7 @@ public Response inserisciFatture(@Context HttpServletRequest request, List<Fattu
testata.setToBeCreated();
testata.setEsercizio(fattura.getEsercizio());
testata.setTi_fattura(fattura.getTi_fattura());
testata.setUtcr(userContext.getUser());
testata.setCd_cds_origine(fattura.getCd_cds_origine());
testata.setTi_bene_servizio(fattura.getTi_bene_servizio());
testata.setFl_pagamento_anticipato(fattura.getFl_pagamento_anticipato());
Expand All @@ -172,10 +171,10 @@ public Response inserisciFatture(@Context HttpServletRequest request, List<Fattu
// potrebbe non essere univoca per tipologia
Optional.of(fatturaAttivaSingolaComponentSession.VerificaDuplicati(userContext, testata)).filter(x -> x.equals(Boolean.FALSE))
.orElseThrow(() -> FatturaAttivaException.newInstance(Status.BAD_REQUEST, FatturaAttivaCodiciEnum.ERRORE_FA_102));

testata.setTipo_sezionale(new Tipo_sezionaleBulk(fattura.getCd_tipo_sezionale()));
Optional.of(testata.getSezionali().stream().filter(x -> x.getCd_tipo_sezionale().equals(
fattura.getCd_tipo_sezionale())).count()).filter(x -> x < 1).
fattura.getCd_tipo_sezionale())).count()).filter(x -> x >= 1).
orElseThrow(() -> FatturaAttivaException.newInstance(Status.BAD_REQUEST, FatturaAttivaCodiciEnum.ERRORE_FA_127));

testata.setDt_registrazione(new Timestamp(fattura.getDt_registrazione().getTime()));
Expand All @@ -186,8 +185,10 @@ public Response inserisciFatture(@Context HttpServletRequest request, List<Fattu
testata.setCliente(new TerzoBulk(fattura.getCd_terzo()));
testata.setCliente((TerzoBulk)fatturaAttivaSingolaComponentSession.completaOggetto(userContext,testata.getCliente()));
Optional.ofNullable(testata.getCliente()).orElseThrow(() -> FatturaAttivaException.newInstance(Status.BAD_REQUEST, FatturaAttivaCodiciEnum.ERRORE_FA_105));

Optional.of(testata.getCliente().getAnagrafico().getTi_italiano_estero().equals(testata.getSupplierNationType())).
filter(x -> x.equals(Boolean.FALSE)).orElseThrow(() -> FatturaAttivaException.newInstance(Status.BAD_REQUEST, FatturaAttivaCodiciEnum.ERRORE_FA_140));
filter(x -> x.equals(Boolean.TRUE)).orElseThrow(() -> FatturaAttivaException.newInstance(Status.BAD_REQUEST, FatturaAttivaCodiciEnum.ERRORE_FA_140));

testata.setCd_terzo(fattura.getCd_terzo());
testata=(Fattura_attivaBulk)fatturaAttivaSingolaComponentSession.completaTerzo(userContext,testata,testata.getCliente());
Optional.of(Stream.of(
Expand Down Expand Up @@ -257,7 +258,7 @@ public Response inserisciFatture(@Context HttpServletRequest request, List<Fattu
Optional.of(Stream.of(
fattura.getTi_bene_servizio().equals("*"),
riga.getBene_servizio().getTi_bene_servizio().equals(fattura.getTi_bene_servizio())
).filter(x -> x.equals(Boolean.TRUE)).count()).filter(x -> x == 0).
).filter(x -> x.equals(Boolean.TRUE)).count()).filter(x -> x > 0).
orElseThrow(() -> FatturaAttivaException.newInstance(Status.BAD_REQUEST, FatturaAttivaCodiciEnum.ERRORE_FA_141));
if(testata.getTi_causale_emissione().equals(Fattura_attivaBulk.TARIFFARIO)){
Optional.ofNullable(fatr.getCd_tariffario()).
Expand Down Expand Up @@ -688,7 +689,6 @@ public Response inserisciFatture(@Context HttpServletRequest request, List<Fattu
fa_intra.setValore_statistico(intra.getValore_statistico());
if(intra.getUnita_supplementari()!=null)
fa_intra.setUnita_supplementari(intra.getUnita_supplementari());

}
fa_intra.setNazione_destinazione(Optional.ofNullable(((NazioneBulk)fatturaAttivaSingolaComponentSession.
completaOggetto(userContext,new NazioneBulk(intra.getPg_nazione())))).
Expand Down Expand Up @@ -716,15 +716,14 @@ public Response inserisciFatture(@Context HttpServletRequest request, List<Fattu
}
// Fine Nota Credito
}
fattureCreate.add(testata);
}
} catch (RemoteException|ComponentException|PersistencyException|ValidationException|IntrospectionException ex) {
LOGGER.error("ERROR while importing ", ex);
throw FatturaAttivaException.newInstance(Status.BAD_REQUEST, FatturaAttivaCodiciEnum.ERRORE_FA_999);
}

});
return Response.status(Status.CREATED).entity(fattureCreate).build();
return Response.status(Status.CREATED).entity(fatture).build();
}

@Override
Expand Down
@@ -0,0 +1,39 @@
package it.cnr.contab.handler;
import java.util.HashSet;
import java.util.Set;

import javax.xml.namespace.QName;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;

public class MustUnderstandSOAPMessageHandler implements SOAPHandler<SOAPMessageContext> {
@Override
public Set<QName> getHeaders() {
final QName securityHeader = new QName(
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
"Security",
"wsse");

final HashSet<QName> headers = new HashSet<QName>();
headers.add(securityHeader);

// notify the runtime that this is handled
return headers;
}

@Override
public boolean handleMessage(SOAPMessageContext context) {
return true;
}

@Override
public boolean handleFault(SOAPMessageContext context) {
return false;
}

@Override
public void close(MessageContext context) {

}
}
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
<handler-chain>
<handler>
<handler-name>Must Understand SOAP Message</handler-name>
<handler-class>it.cnr.contab.handler.MustUnderstandSOAPMessageHandler</handler-class>
</handler>
</handler-chain>
</handler-chains>

0 comments on commit 2fa86a5

Please sign in to comment.