javax.ws.rs.core.Response.Status#CREATED源码实例Demo

下面列出了javax.ws.rs.core.Response.Status#CREATED 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: govpay   文件: IntermediariController.java
public Response addStazione(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idIntermediario, String idStazione, java.io.InputStream is) {
  	String methodName = "addStazione";  
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);

	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_PAGOPA), Arrays.asList(Diritti.SCRITTURA));
	
	String jsonRequest = baos.toString();
	StazionePost stazioneRequest= JSONSerializable.parse(jsonRequest, StazionePost.class);
	
	
	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdIntermediario("idIntermediario", idIntermediario);
	validatoreId.validaIdStazione("idStazione", idStazione);
	
	stazioneRequest.validate();
	
	PutStazioneDTO putStazioneDTO = StazioniConverter.getPutStazioneDTO(stazioneRequest, idIntermediario, idStazione, user);
	
	IntermediariDAO intermediariDAO = new IntermediariDAO(false);
	
	PutStazioneDTOResponse putIntermediarioDTOResponse = intermediariDAO.createOrUpdateStazione(putStazioneDTO);
	
	Status responseStatus = putIntermediarioDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码2 项目: shopify-sdk   文件: ShopifySdkTest.java
@Test
public void givenSomeValidAccessTokenAndSubdomainAndValidRequestWhenCancelingFulfillmentsThenCancelFulfillments()
		throws JsonProcessingException {

	final ShopifyLineItem lineItem = new ShopifyLineItem();
	lineItem.setId("some_line_item_id");
	lineItem.setSku("some_sku");
	lineItem.setQuantity(5L);

	final String expectedPath = new StringBuilder().append(FORWARD_SLASH).append(ShopifySdk.VERSION_2020_01)
			.append(FORWARD_SLASH).append(ShopifySdk.ORDERS).append("/1234/").append(ShopifySdk.FULFILLMENTS)
			.append("/4567/").append(ShopifySdk.CANCEL).toString();
	final ShopifyFulfillment currentFulfillment = buildShopifyFulfillment(lineItem);
	final ShopifyFulfillmentRoot shopifyFulfillmentRoot = new ShopifyFulfillmentRoot();
	shopifyFulfillmentRoot.setFulfillment(currentFulfillment);

	final String expectedResponseBodyString = getJsonString(ShopifyFulfillmentRoot.class, shopifyFulfillmentRoot);

	final Status expectedStatus = Status.CREATED;
	final int expectedStatusCode = expectedStatus.getStatusCode();
	final JsonBodyCapture actualRequestBody = new JsonBodyCapture();
	driver.addExpectation(
			onRequestTo(expectedPath).withHeader(ShopifySdk.ACCESS_TOKEN_HEADER, accessToken)
					.withMethod(Method.POST).capturingBodyIn(actualRequestBody),
			giveResponse(expectedResponseBodyString, MediaType.APPLICATION_JSON).withStatus(expectedStatusCode));

	final ShopifyFulfillment actualShopifyFulfillment = shopifySdk.cancelFulfillment("1234", "4567");

	assertEquals(false, actualRequestBody.getContent().get("notify_customer").asBoolean());
	assertEquals(0, actualRequestBody.getContent().get("line_items").size());
	assertEquals(0, actualRequestBody.getContent().get("tracking_urls").size());

	assertValidFulfillment(currentFulfillment, actualShopifyFulfillment);
}
 
源代码3 项目: govpay   文件: EntrateController.java
public Response addEntrata(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idEntrata, java.io.InputStream is) {
  	String methodName = "addEntrata";  
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);
	
	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_CREDITORE), Arrays.asList(Diritti.SCRITTURA));
	
	String jsonRequest = baos.toString();
	TipoEntrataPost entrataRequest= JSONSerializable.parse(jsonRequest, TipoEntrataPost.class);
	
	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdEntrata("idEntrata", idEntrata);
	
	entrataRequest.validate();
	
	PutEntrataDTO putIntermediarioDTO = EntrateConverter.getPutEntrataDTO(entrataRequest, idEntrata, user);
	
	EntrateDAO intermediariDAO = new EntrateDAO(false);
	
	PutEntrataDTOResponse putIntermediarioDTOResponse = intermediariDAO.createOrUpdateEntrata(putIntermediarioDTO);
	
	Status responseStatus = putIntermediarioDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码4 项目: cxf   文件: BookStore.java
@Descriptions({
    @Description(value = "Update the books collection", target = DocTarget.METHOD),
    @Description(value = "Requested Book", target = DocTarget.RETURN),
    @Description(value = "Request", target = DocTarget.REQUEST),
    @Description(value = "Response", target = DocTarget.RESPONSE),
    @Description(value = "Resource books/{bookid}", target = DocTarget.RESOURCE)
})
@ResponseStatus({Status.CREATED, Status.OK })
//CHECKSTYLE:OFF
@POST
@Path("books/{bookid}")
public Book addBook(@Description("book id") //NOPMD
                    @PathParam("id") int id,
                    @PathParam("bookid") int bookId,
                    @MatrixParam("mid") @DefaultValue("mid > 5") String matrixId,
                    @Description("header param")
                    @HeaderParam("hid") int headerId,
                    @CookieParam("cid") int cookieId,
                    @QueryParam("provider.bar") int queryParam,
                    @QueryParam("bookstate") BookEnum state,
                    @QueryParam("orderstatus") BookOrderEnum status,
                    @QueryParam("a") List<String> queryList,
                    @Context HttpHeaders headers,
                    @Description("InputBook")
                    @XMLName(value = "{http://books}thesuperbook2")
                    Book2 b) {
    return new Book(1);
}
 
源代码5 项目: brooklyn-server   文件: BundleResource.java
@Override
public Response createFromArchive(byte[] zipInput, Boolean force) {
    if (!Entitlements.isEntitled(mgmt().getEntitlementManager(), Entitlements.ROOT, null)) {
        throw WebResourceUtils.forbidden("User '%s' is not authorized to add catalog items",
            Entitlements.getEntitlementContext().user());
    }
    if (force==null) force = false;

    ReferenceWithError<OsgiBundleInstallationResult> result = ((ManagementContextInternal)mgmt()).getOsgiManager().get()
        .install(null, new ByteArrayInputStream(zipInput), true, true, force);

    if (result.hasError()) {
        // (rollback already done as part of install, if necessary)
        if (log.isTraceEnabled()) {
            log.trace("Unable to create from archive, returning 400: "+result.getError().getMessage(), result.getError());
        }
        return ApiError.builder().errorCode(Status.BAD_REQUEST).message(result.getWithoutError().getMessage())
            .data(TypeTransformer.bundleInstallationResult(result.getWithoutError(), mgmt(), brooklyn(), ui)).build().asJsonResponse();
    }

    BundleInstallationRestResult resultR = TypeTransformer.bundleInstallationResult(result.get(), mgmt(), brooklyn(), ui);
    Status status;
    switch (result.get().getCode()) {
        case IGNORING_BUNDLE_AREADY_INSTALLED:
        case IGNORING_BUNDLE_FORCIBLY_REMOVED:
            status = Status.OK;
            break;
        default:
            // already checked that it was not an error; anything else means we created it.
            status = Status.CREATED;
            break;
    }
    return Response.status(status).entity(resultR).build();
}
 
源代码6 项目: govpay   文件: IncassiController.java
public Response incassiIdDominioPOST(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idDominio, java.io.InputStream is) {
  	String methodName = "incassiIdDominioPOST"; 
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try(ByteArrayOutputStream baos = new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);
	
	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.API_RAGIONERIA), Arrays.asList(Diritti.SCRITTURA));

	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdDominio("idDominio", idDominio);
	
	IncassoPost incasso = JSONSerializable.parse(baos.toString(), IncassoPost.class);
	incasso.validate();
	
	RichiestaIncassoDTO richiestaIncassoDTO = IncassiConverter.toRichiestaIncassoDTO(incasso, idDominio, user);
	
	IncassiDAO incassiDAO = new IncassiDAO();
	
	RichiestaIncassoDTOResponse richiestaIncassoDTOResponse = incassiDAO.richiestaIncasso(richiestaIncassoDTO);
	
	Incasso incassoExt = IncassiConverter.toRsModel(richiestaIncassoDTOResponse.getIncasso());
	
	Status responseStatus = richiestaIncassoDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus).entity(incassoExt.toJSON(null)),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码7 项目: govpay   文件: RiconciliazioniController.java
public Response addRiconciliazione(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idDominio, java.io.InputStream is) {
  	String methodName = "addRiconciliazione"; 
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try(ByteArrayOutputStream baos = new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);
	
	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.API_RAGIONERIA), Arrays.asList(Diritti.SCRITTURA));

	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdDominio("idDominio", idDominio);
	
	NuovaRiconciliazione incasso = JSONSerializable.parse(baos.toString(), NuovaRiconciliazione.class);
	incasso.validate();
	
	RichiestaIncassoDTO richiestaIncassoDTO = RiconciliazioniConverter.toRichiestaIncassoDTO(incasso, idDominio, user);
	
	IncassiDAO incassiDAO = new IncassiDAO();
	
	RichiestaIncassoDTOResponse richiestaIncassoDTOResponse = incassiDAO.richiestaIncasso(richiestaIncassoDTO);
	
	Riconciliazione incassoExt = RiconciliazioniConverter.toRsModel(richiestaIncassoDTOResponse.getIncasso());
	
	Status responseStatus = richiestaIncassoDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus).entity(incassoExt.toJSON(null)),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码8 项目: govpay   文件: DominiController.java
public Response addContiAccredito(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idDominio, String ibanAccredito, java.io.InputStream is) {
	String methodName = "addContiAccredito";  
	String transactionId = ContextThreadLocal.get().getTransactionId();
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
	try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
		// salvo il json ricevuto
		IOUtils.copy(is, baos);
		// autorizzazione sulla API
		this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_CREDITORE), Arrays.asList(Diritti.SCRITTURA));

		String jsonRequest = baos.toString();
		ContiAccreditoPost ibanAccreditoRequest= JSONSerializable.parse(jsonRequest, ContiAccreditoPost.class);

		ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
		validatoreId.validaIdDominio("idDominio", idDominio);
		validatoreId.validaIdIbanAccredito("ibanAccredito", ibanAccredito);

		ibanAccreditoRequest.validate();

		PutIbanAccreditoDTO putibanAccreditoDTO = DominiConverter.getPutIbanAccreditoDTO(ibanAccreditoRequest, idDominio, ibanAccredito, user);

		DominiDAO dominiDAO = new DominiDAO(false);

		PutIbanAccreditoDTOResponse putIbanAccreditoDTOResponse = dominiDAO.createOrUpdateIbanAccredito(putibanAccreditoDTO);

		Status responseStatus = putIbanAccreditoDTOResponse.isCreated() ?  Status.CREATED : Status.OK;

		this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
		return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
	}catch (Exception e) {
		return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
	} finally {
		this.log(ContextThreadLocal.get());
	}
}
 
源代码9 项目: govpay   文件: DominiController.java
public Response addDominio(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idDominio, java.io.InputStream is) {
	String methodName = "addDominio";  
	String transactionId = ContextThreadLocal.get().getTransactionId();
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
	try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
		// salvo il json ricevuto
		IOUtils.copy(is, baos);

		// autorizzazione sulla API
		this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_CREDITORE), Arrays.asList(Diritti.SCRITTURA));

		String jsonRequest = baos.toString();
		DominioPost dominioRequest= JSONSerializable.parse(jsonRequest, DominioPost.class);

		ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
		validatoreId.validaIdDominio("idDominio", idDominio);

		dominioRequest.validate();

		PutDominioDTO putDominioDTO = DominiConverter.getPutDominioDTO(dominioRequest, idDominio, user); 

		new DominioValidator(putDominioDTO.getDominio()).validazioneSemantica();

		DominiDAO dominiDAO = new DominiDAO(false);

		PutDominioDTOResponse putDominioDTOResponse = dominiDAO.createOrUpdate(putDominioDTO);

		Status responseStatus = putDominioDTOResponse.isCreated() ?  Status.CREATED : Status.OK;

		this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
		return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
	}catch (Exception e) {
		return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
	} finally {
		this.log(ContextThreadLocal.get());
	}
}
 
源代码10 项目: govpay   文件: DominiController.java
public Response addUnitaOperativa(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idDominio, String idUnitaOperativa, java.io.InputStream is) {
	String methodName = "addUnitaOperativa";  
	String transactionId = ContextThreadLocal.get().getTransactionId();
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
	try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
		// salvo il json ricevuto
		IOUtils.copy(is, baos);

		// autorizzazione sulla API
		this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_CREDITORE), Arrays.asList(Diritti.SCRITTURA));

		String jsonRequest = baos.toString();
		UnitaOperativaPost unitaOperativaRequest= JSONSerializable.parse(jsonRequest, UnitaOperativaPost.class);

		ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
		validatoreId.validaIdDominio("idDominio", idDominio);
		validatoreId.validaIdUO("idUnitaOperativa", idUnitaOperativa);

		unitaOperativaRequest.validate();

		PutUnitaOperativaDTO putUnitaOperativaDTO = DominiConverter.getPutUnitaOperativaDTO(unitaOperativaRequest, idDominio, idUnitaOperativa, user);

		DominiDAO dominiDAO = new DominiDAO(false);

		PutUnitaOperativaDTOResponse putUnitaOperativaDTOResponse = dominiDAO.createOrUpdateUnitaOperativa(putUnitaOperativaDTO);

		Status responseStatus = putUnitaOperativaDTOResponse.isCreated() ?  Status.CREATED : Status.OK;

		this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
		return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
	}catch (Exception e) {
		return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
	} finally {
		this.log(ContextThreadLocal.get());
	}
}
 
源代码11 项目: govpay   文件: IncassiController.java
public Response addRiconciliazione(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idDominio, java.io.InputStream is) {
  	String methodName = "addRiconciliazione"; 
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);
	
	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.RENDICONTAZIONI_E_INCASSI), Arrays.asList(Diritti.SCRITTURA));

	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdDominio("idDominio", idDominio);
	
	IncassoPost incasso = JSONSerializable.parse(baos.toString(), IncassoPost.class);
	incasso.validate();
	
	RichiestaIncassoDTO richiestaIncassoDTO = IncassiConverter.toRichiestaIncassoDTO(incasso, idDominio, user);
	
	IncassiDAO incassiDAO = new IncassiDAO();
	
	RichiestaIncassoDTOResponse richiestaIncassoDTOResponse = incassiDAO.richiestaIncasso(richiestaIncassoDTO);
	
	Incasso incassoExt = IncassiConverter.toRsModel(richiestaIncassoDTOResponse.getIncasso());
	
	Status responseStatus = richiestaIncassoDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus).entity(incassoExt.toJSON(null)),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码12 项目: govpay   文件: IntermediariController.java
public Response addIntermediario(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idIntermediario, java.io.InputStream is) {
  	String methodName = "addIntermediario";  
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);

	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_PAGOPA), Arrays.asList(Diritti.SCRITTURA));
				
	String jsonRequest = baos.toString();
	IntermediarioPost intermediarioRequest= JSONSerializable.parse(jsonRequest, IntermediarioPost.class);
	
	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdIntermediario("idIntermediario", idIntermediario);
				
	intermediarioRequest.validate();
	
	PutIntermediarioDTO putIntermediarioDTO = IntermediariConverter.getPutIntermediarioDTO(intermediarioRequest, idIntermediario, user);
	
	IntermediariDAO intermediariDAO = new IntermediariDAO(false);
	
	PutIntermediarioDTOResponse putIntermediarioDTOResponse = intermediariDAO.createOrUpdateIntermediario(putIntermediarioDTO);
	
	Status responseStatus = putIntermediarioDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码13 项目: govpay   文件: RuoliController.java
public Response addRuolo(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idRuolo, java.io.InputStream is) {
  	String methodName = "addRuolo";  
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try (ByteArrayOutputStream baos= new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);
	
	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_RUOLI), Arrays.asList(Diritti.SCRITTURA));
	
	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdRuolo("idRuolo", idRuolo);
	
	String jsonRequest = baos.toString();

	RuoloPost ruoloPost = RuoloPost.parse(jsonRequest);
	ruoloPost.validate();
	
	List<AclPost> listaAcl = ruoloPost.getAcl();
	
	PutRuoloDTO putRuoloDTO = RuoliConverter.getPutRuoloDTO(listaAcl, idRuolo, user); 
	
	RuoliDAO applicazioniDAO = new RuoliDAO(false);
	
	PutRuoloDTOResponse putApplicazioneDTOResponse = applicazioniDAO.createOrUpdate(putRuoloDTO);
	
	Status responseStatus = putApplicazioneDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码14 项目: govpay   文件: TipiPendenzaController.java
public Response addTipoPendenza(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idTipoPendenza, java.io.InputStream is) {
  	String methodName = "addTipoPendenza";  
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
	// salvo il json ricevuto
	IOUtils.copy(is, baos);
	
	// autorizzazione sulla API
	this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.ANAGRAFICA_CREDITORE), Arrays.asList(Diritti.SCRITTURA));
	
	String jsonRequest = baos.toString();
	TipoPendenzaPost tipoPendenzaRequest= JSONSerializable.parse(jsonRequest, TipoPendenzaPost.class);
	
	ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
	validatoreId.validaIdTipoVersamento("idTipoPendenza", idTipoPendenza);
	
	tipoPendenzaRequest.validate();
	
	PutTipoPendenzaDTO putIntermediarioDTO = TipiPendenzaConverter.getPutTipoPendenzaDTO(tipoPendenzaRequest, idTipoPendenza, user);
	
	TipoPendenzaDAO intermediariDAO = new TipoPendenzaDAO(false);
	
	PutTipoPendenzaDTOResponse putIntermediarioDTOResponse = intermediariDAO.createOrUpdateTipoPendenza(putIntermediarioDTO);
	
	Status responseStatus = putIntermediarioDTOResponse.isCreated() ?  Status.CREATED : Status.OK;
	
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
	return this.handleResponseOk(Response.status(responseStatus),transactionId).build();
}catch (Exception e) {
	return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
} finally {
	this.log(ContextThreadLocal.get());
}
  }
 
源代码15 项目: shopify-sdk   文件: ShopifySdkTest.java
@Test
public void givenSomeValidAccessTokenAndSubdomainAndValidRequestWhenCreatingGiftCardThenCreateAndReturn()
		throws Exception {

	final String expectedPath = new StringBuilder().append(FORWARD_SLASH).append(ShopifySdk.GIFT_CARDS).toString();
	final ShopifyGiftCardRoot shopifyGiftCardRoot = new ShopifyGiftCardRoot();
	final ShopifyGiftCard shopifyGiftCard = new ShopifyGiftCard();

	shopifyGiftCard.setInitialValue(new BigDecimal(41.21));
	shopifyGiftCard.setCode("ABCDEFGHIJKLMNOP");
	shopifyGiftCard.setBalance(new BigDecimal(41.21));
	final DateTime someDateTime = new DateTime();
	shopifyGiftCard.setExpiresOn(someDateTime);
	shopifyGiftCard.setCreatedAt(someDateTime);
	shopifyGiftCard.setCurrency("USD");
	shopifyGiftCard.setLastCharacters("MNOP");
	shopifyGiftCard.setId("1");
	shopifyGiftCard.setNote("Happy Birthday!");

	shopifyGiftCardRoot.setGiftCard(shopifyGiftCard);

	final String expectedResponseBodyString = getJsonString(ShopifyGiftCardRoot.class, shopifyGiftCardRoot);

	final Status expectedStatus = Status.CREATED;
	final int expectedStatusCode = expectedStatus.getStatusCode();
	final JsonBodyCapture actualRequestBody = new JsonBodyCapture();
	driver.addExpectation(
			onRequestTo(expectedPath).withHeader("X-Shopify-Access-Token", accessToken).withMethod(Method.POST)
					.capturingBodyIn(actualRequestBody),
			giveResponse(expectedResponseBodyString, MediaType.APPLICATION_JSON).withStatus(expectedStatusCode));

	final ShopifyGiftCardCreationRequest shopifyGiftCardCreationRequest = ShopifyGiftCardCreationRequest
			.newBuilder().withInitialValue(new BigDecimal(42.21)).withCode("ABCDEFGHIJKLMNOP").withCurrency("USD")
			.build();
	final ShopifyGiftCard actualShopifyGiftCard = shopifySdk.createGiftCard(shopifyGiftCardCreationRequest);

	assertEquals("ABCDEFGHIJKLMNOP", actualRequestBody.getContent().get("gift_card").get("code").asText());
	assertEquals("USD", actualRequestBody.getContent().get("gift_card").get("currency").asText());
	assertEquals(BigDecimal.valueOf(42.21),
			actualRequestBody.getContent().get("gift_card").get("initial_value").decimalValue());

	assertEquals(shopifyGiftCard.getId(), actualShopifyGiftCard.getId());
	assertEquals(shopifyGiftCard.getApiClientId(), actualShopifyGiftCard.getApiClientId());
	assertEquals(shopifyGiftCard.getInitialValue(), actualShopifyGiftCard.getInitialValue());
	assertEquals(0, shopifyGiftCard.getCreatedAt().compareTo(actualShopifyGiftCard.getCreatedAt()));
	assertEquals(shopifyGiftCard.getBalance(), actualShopifyGiftCard.getBalance());
	assertEquals(shopifyGiftCard.getCode(), actualShopifyGiftCard.getCode());
	assertEquals(0, shopifyGiftCard.getExpiresOn().compareTo(actualShopifyGiftCard.getExpiresOn()));
	assertNull(actualShopifyGiftCard.getDisabledAt());
	assertEquals(shopifyGiftCard.getLineItemId(), actualShopifyGiftCard.getLineItemId());
	assertEquals(shopifyGiftCard.getNote(), actualShopifyGiftCard.getNote());
	assertEquals(shopifyGiftCard.getLastCharacters(), actualShopifyGiftCard.getLastCharacters());
	assertEquals(shopifyGiftCard.getTemplateSuffix(), actualShopifyGiftCard.getTemplateSuffix());
	assertNull(actualShopifyGiftCard.getUpdatedAt());
}
 
源代码16 项目: shopify-sdk   文件: ShopifySdkTest.java
@Test
public void givenSomeValidAccessTokenAndSubdomainAndSomeProductMetafieldWhenCreatingProductMetafieldThenCreateAndProductMetafield()
		throws Exception {

	final String expectedPath = new StringBuilder().append(FORWARD_SLASH).append(ShopifySdk.PRODUCTS)
			.append(FORWARD_SLASH).append("123").append(FORWARD_SLASH).append(ShopifySdk.METAFIELDS).toString();

	final Metafield metafield = new Metafield();
	metafield.setCreatedAt(new DateTime());
	metafield.setUpdatedAt(new DateTime());
	metafield.setValueType(MetafieldValueType.STRING);
	metafield.setId("123");
	metafield.setKey("channelape_product_id");
	metafield.setNamespace("channelape");
	metafield.setOwnerId("123");
	metafield.setOwnerResource("product");
	metafield.setValue("38728743");

	final MetafieldRoot metafieldRoot = new MetafieldRoot();
	metafieldRoot.setMetafield(metafield);

	final String expectedResponseBodyString = getJsonString(MetafieldRoot.class, metafieldRoot);

	final Status expectedStatus = Status.CREATED;
	final int expectedStatusCode = expectedStatus.getStatusCode();
	final JsonBodyCapture actualRequestBody = new JsonBodyCapture();
	driver.addExpectation(
			onRequestTo(expectedPath).withHeader("X-Shopify-Access-Token", accessToken).withMethod(Method.POST)
					.capturingBodyIn(actualRequestBody),
			giveResponse(expectedResponseBodyString, MediaType.APPLICATION_JSON).withStatus(expectedStatusCode));

	final ShopifyProductMetafieldCreationRequest shopifyProductMetafieldCreationRequest = ShopifyProductMetafieldCreationRequest
			.newBuilder().withProductId("123").withNamespace("channelape").withKey("channelape_product_id")
			.withValue("38728743").withValueType(MetafieldValueType.STRING).build();
	final Metafield actualMetafield = shopifySdk.createProductMetafield(shopifyProductMetafieldCreationRequest);

	assertEquals(shopifyProductMetafieldCreationRequest.getRequest().getKey().toString(),
			actualRequestBody.getContent().get("metafield").get("key").asText());
	assertEquals(shopifyProductMetafieldCreationRequest.getRequest().getValue(),
			actualRequestBody.getContent().get("metafield").get("value").asText());

	assertEquals(shopifyProductMetafieldCreationRequest.getRequest().getNamespace(),
			actualRequestBody.getContent().get("metafield").get("namespace").asText());
	assertEquals(shopifyProductMetafieldCreationRequest.getRequest().getValueType().toString(),
			actualRequestBody.getContent().get("metafield").get("value_type").asText());
	assertNotNull(actualMetafield);
	assertEquals(metafield.getId(), actualMetafield.getId());
	assertEquals(0, metafield.getCreatedAt().compareTo(actualMetafield.getCreatedAt()));
	assertEquals(metafield.getKey(), actualMetafield.getKey());
	assertEquals(metafield.getNamespace(), actualMetafield.getNamespace());
	assertEquals(metafield.getOwnerId(), actualMetafield.getOwnerId());
	assertEquals(metafield.getOwnerResource(), actualMetafield.getOwnerResource());
	assertEquals(0, metafield.getUpdatedAt().compareTo(actualMetafield.getUpdatedAt()));
	assertEquals(metafield.getValue(), actualMetafield.getValue());
	assertEquals(metafield.getValueType(), actualMetafield.getValueType());
}
 
源代码17 项目: shopify-sdk   文件: ShopifySdkTest.java
@Test
public void givenSomeCustomCollectionsCreationRequestCreateAndReturnCustomCollection()
		throws JsonProcessingException {
	final String expectedCreationPath = new StringBuilder().append(FORWARD_SLASH)
			.append(ShopifySdk.CUSTOM_COLLECTIONS).toString();
	final ShopifyCustomCollectionRoot shopifyCustomCollectionRoot = new ShopifyCustomCollectionRoot();
	final ShopifyCustomCollection shopifyCustomCollection = new ShopifyCustomCollection();

	shopifyCustomCollection.setId("123");
	shopifyCustomCollection.setTitle("Some Title");
	shopifyCustomCollection.setHandle("handle");
	shopifyCustomCollection.setPublished(true);
	shopifyCustomCollection.setBodyHtml("Some Description");

	shopifyCustomCollection.setTemplateSuffix("some-title");
	shopifyCustomCollection.setPublishedScope("global");
	shopifyCustomCollection.setSortOrder("alpha-asc");

	shopifyCustomCollectionRoot.setCustomCollection(shopifyCustomCollection);

	final String expectedResponseBodyString = getJsonString(ShopifyCustomCollectionRoot.class,
			shopifyCustomCollectionRoot);

	final Status expectedCreationStatus = Status.CREATED;
	final int expectedCreationStatusCode = expectedCreationStatus.getStatusCode();

	final JsonBodyCapture actualCreateRequestBody = new JsonBodyCapture();
	driver.addExpectation(
			onRequestTo(expectedCreationPath).withHeader(ShopifySdk.ACCESS_TOKEN_HEADER, accessToken)
					.withMethod(Method.POST).capturingBodyIn(actualCreateRequestBody),
			giveResponse(expectedResponseBodyString, MediaType.APPLICATION_JSON)
					.withStatus(expectedCreationStatusCode));

	final ShopifyCustomCollectionCreationRequest shopifyCustomCollectionCreationRequest = ShopifyCustomCollectionCreationRequest
			.newBuilder().withTitle("Some Title").withBodyHtml("Some Description").withHandle("handle")
			.withTemplateSuffix("some-title").withPublishedScope("global").withSortOrder("alpha-asc")
			.isPublished(true).build();

	final ShopifyCustomCollection actualShopifyCustomCollection = shopifySdk
			.createCustomCollection(shopifyCustomCollectionCreationRequest);

	assertCustomCollection(shopifyCustomCollection, actualShopifyCustomCollection);

	assertEquals(shopifyCustomCollectionCreationRequest.getRequest().getTitle(),
			actualCreateRequestBody.getContent().get("custom_collection").get("title").asText());
	assertEquals(shopifyCustomCollectionCreationRequest.getRequest().getBodyHtml(),
			actualCreateRequestBody.getContent().get("custom_collection").get("body_html").asText());
	assertEquals(shopifyCustomCollectionCreationRequest.getRequest().getHandle(),
			actualCreateRequestBody.getContent().get("custom_collection").get("handle").asText());
	assertEquals(shopifyCustomCollectionCreationRequest.getRequest().getPublishedScope(),
			actualCreateRequestBody.getContent().get("custom_collection").get("published_scope").asText());
	assertEquals(shopifyCustomCollectionCreationRequest.getRequest().getSortOrder(),
			actualCreateRequestBody.getContent().get("custom_collection").get("sort_order").asText());
	assertEquals(shopifyCustomCollectionCreationRequest.getRequest().isPublished(),
			actualCreateRequestBody.getContent().get("custom_collection").get("published").asBoolean());
	assertNotNull(actualShopifyCustomCollection);
}
 
源代码18 项目: govpay   文件: PendenzeController.java
public Response pendenzeIdA2AIdPendenzaPUT(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idA2A, String idPendenza, java.io.InputStream is, Boolean stampaAvviso, Boolean avvisaturaDigitale, ModalitaAvvisaturaDigitale modalitaAvvisaturaDigitale) {
	String methodName = "pendenzeIdA2AIdPendenzaPUT";  
	String transactionId = ContextThreadLocal.get().getTransactionId();
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
	try(ByteArrayOutputStream baos = new ByteArrayOutputStream();){
		((GpContext) (ContextThreadLocal.get()).getApplicationContext()).getEventoCtx().setIdPendenza(idPendenza);
		((GpContext) (ContextThreadLocal.get()).getApplicationContext()).getEventoCtx().setIdA2A(idA2A);
		
		// salvo il json ricevuto
		IOUtils.copy(is, baos);

		// autorizzazione sulla API
		this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.API_PENDENZE), Arrays.asList(Diritti.SCRITTURA));

		ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
		validatoreId.validaIdApplicazione("idA2A", idA2A);
		validatoreId.validaIdPendenza("idPendenza", idPendenza);
		
		// filtro sull'applicazione			
		if(!AutorizzazioneUtils.getAuthenticationDetails(user).getApplicazione().getCodApplicazione().equals(idA2A)) {
			throw new GovPayException(EsitoOperazione.APP_002, AutorizzazioneUtils.getAuthenticationDetails(user).getApplicazione().getCodApplicazione(), idA2A);
		}

		String jsonRequest = baos.toString();
		PendenzaPut pendenzaPost= JSONSerializable.parse(jsonRequest, PendenzaPut.class);
		pendenzaPost.validate();

		Versamento versamento = PendenzeConverter.getVersamentoFromPendenza(pendenzaPost, idA2A, idPendenza);
		
		PutPendenzaDTO putVersamentoDTO = new PutPendenzaDTO(user);
		putVersamentoDTO.setVersamento(versamento);
		putVersamentoDTO.setStampaAvviso(stampaAvviso);
		putVersamentoDTO.setAvvisaturaDigitale(avvisaturaDigitale);
		ModoAvvisatura avvisaturaModalita = null;
		if(modalitaAvvisaturaDigitale != null) {
			avvisaturaModalita = modalitaAvvisaturaDigitale.equals(ModalitaAvvisaturaDigitale.ASINCRONA) ? ModoAvvisatura.ASICNRONA : ModoAvvisatura.SINCRONA;
		}

		putVersamentoDTO.setAvvisaturaModalita(avvisaturaModalita);
		
		String codDominio = versamento.getCodDominio();
		// controllo che il dominio sia autorizzato
		if(!AuthorizationManager.isDominioAuthorized(putVersamentoDTO.getUser(), codDominio)) {
			throw AuthorizationManager.toNotAuthorizedException(putVersamentoDTO.getUser(), codDominio);
		}

		PendenzeDAO pendenzeDAO = new PendenzeDAO(); 

		PutPendenzaDTOResponse createOrUpdate = pendenzeDAO.createOrUpdate(putVersamentoDTO);
		
		PendenzaCreata pc = new PendenzaCreata();
		pc.setIdDominio(createOrUpdate.getDominio().getCodDominio());
		pc.setNumeroAvviso(createOrUpdate.getVersamento().getNumeroAvviso());
		pc.pdf(createOrUpdate.getPdf());
		Status responseStatus = createOrUpdate.isCreated() ?  Status.CREATED : Status.OK;
		this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
		return this.handleResponseOk(Response.status(responseStatus).entity(pc.toJSON(null)),transactionId).build();
	}catch (Exception e) {
		return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
	} finally {
		this.log(ContextThreadLocal.get());
	}
}
 
源代码19 项目: govpay   文件: PendenzeController.java
public Response addPendenza(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , String idA2A, String idPendenza, java.io.InputStream is, Boolean stampaAvviso, Boolean avvisaturaDigitale, ModalitaAvvisaturaDigitale modalitaAvvisaturaDigitale) {
	String methodName = "addPendenza";  
	String transactionId = ContextThreadLocal.get().getTransactionId();
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
	try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
		((GpContext) (ContextThreadLocal.get()).getApplicationContext()).getEventoCtx().setIdPendenza(idPendenza);
		((GpContext) (ContextThreadLocal.get()).getApplicationContext()).getEventoCtx().setIdA2A(idA2A);
		// salvo il json ricevuto
		IOUtils.copy(is, baos);

		// autorizzazione sulla API
		this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.PENDENZE), Arrays.asList(Diritti.SCRITTURA));

		ValidatoreIdentificativi validatoreId = ValidatoreIdentificativi.newInstance();
		validatoreId.validaIdApplicazione("idA2A", idA2A);
		validatoreId.validaIdPendenza("idPendenza", idPendenza);

		String jsonRequest = baos.toString();
		PendenzaPut pendenzaPost= JSONSerializable.parse(jsonRequest, PendenzaPut.class);
		pendenzaPost.validate();

		Versamento versamento = PendenzeConverter.getVersamentoFromPendenza(pendenzaPost, idA2A, idPendenza);

		// controllo che il dominio, uo e tipo versamento siano autorizzati
		if(!AuthorizationManager.isTipoVersamentoUOAuthorized(user, versamento.getCodDominio(), versamento.getCodUnitaOperativa(), versamento.getCodTipoVersamento())) {
			throw AuthorizationManager.toNotAuthorizedException(user, versamento.getCodDominio(), versamento.getCodUnitaOperativa(), versamento.getCodTipoVersamento());
		}

		PendenzeDAO pendenzeDAO = new PendenzeDAO(); 

		PutPendenzaDTO putVersamentoDTO = new PutPendenzaDTO(user);
		putVersamentoDTO.setVersamento(versamento);
		putVersamentoDTO.setStampaAvviso(stampaAvviso);
		putVersamentoDTO.setAvvisaturaDigitale(avvisaturaDigitale);
		ModoAvvisatura avvisaturaModalita = null;
		if(modalitaAvvisaturaDigitale != null) {
			avvisaturaModalita = modalitaAvvisaturaDigitale.equals(ModalitaAvvisaturaDigitale.ASINCRONA) ? ModoAvvisatura.ASICNRONA : ModoAvvisatura.SINCRONA;
		}

		putVersamentoDTO.setAvvisaturaModalita(avvisaturaModalita);

		PutPendenzaDTOResponse createOrUpdate = pendenzeDAO.createOrUpdate(putVersamentoDTO);

		PendenzaCreata pc = new PendenzaCreata();
		pc.setIdDominio(createOrUpdate.getDominio().getCodDominio());
		if(createOrUpdate.getUo()!= null && !it.govpay.model.Dominio.EC.equals(createOrUpdate.getUo().getCodUo()))
			pc.setIdUnitaOperativa(createOrUpdate.getUo().getCodUo());
		pc.setNumeroAvviso(createOrUpdate.getVersamento().getNumeroAvviso());
		pc.pdf(createOrUpdate.getPdf());
		Status responseStatus = createOrUpdate.isCreated() ?  Status.CREATED : Status.OK;
		this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
		return this.handleResponseOk(Response.status(responseStatus).entity(pc.toJSON(null)),transactionId).build();
	} catch (Exception e) {
		return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
	} finally {
		this.log(ContextThreadLocal.get());
	}
}
 
源代码20 项目: govpay   文件: PendenzeController.java
public Response addPendenza(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , java.io.InputStream is, Boolean stampaAvviso, Boolean avvisaturaDigitale, ModalitaAvvisaturaDigitale modalitaAvvisaturaDigitale) {
	String methodName = "addPendenza";  
	String transactionId = ContextThreadLocal.get().getTransactionId();
	this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName)); 
	try(ByteArrayOutputStream baos= new ByteArrayOutputStream();){
		// salvo il json ricevuto
		IOUtils.copy(is, baos);

		// autorizzazione sulla API
		this.isAuthorized(user, Arrays.asList(TIPO_UTENZA.OPERATORE, TIPO_UTENZA.APPLICAZIONE), Arrays.asList(Servizio.PENDENZE), Arrays.asList(Diritti.SCRITTURA));

		String jsonRequest = baos.toString();
		PendenzaPost pendenzaPost= JSONSerializable.parse(jsonRequest, PendenzaPost.class);

		((GpContext) (ContextThreadLocal.get()).getApplicationContext()).getEventoCtx().setIdPendenza(pendenzaPost.getIdPendenza());
		((GpContext) (ContextThreadLocal.get()).getApplicationContext()).getEventoCtx().setIdA2A(pendenzaPost.getIdA2A());

		pendenzaPost.validate();

		Versamento versamento = PendenzeConverter.getVersamentoFromPendenza(pendenzaPost);

		// controllo che il dominio, uo e tipo versamento siano autorizzati
		if(!AuthorizationManager.isTipoVersamentoUOAuthorized(user, versamento.getCodDominio(), versamento.getCodUnitaOperativa(), versamento.getCodTipoVersamento())) {
			throw AuthorizationManager.toNotAuthorizedException(user, versamento.getCodDominio(), versamento.getCodUnitaOperativa(), versamento.getCodTipoVersamento());
		}

		PendenzeDAO pendenzeDAO = new PendenzeDAO(); 

		PutPendenzaDTO putVersamentoDTO = new PutPendenzaDTO(user);
		putVersamentoDTO.setVersamento(versamento);
		putVersamentoDTO.setStampaAvviso(stampaAvviso);
		putVersamentoDTO.setAvvisaturaDigitale(avvisaturaDigitale);
		ModoAvvisatura avvisaturaModalita = null;
		if(modalitaAvvisaturaDigitale != null) {
			avvisaturaModalita = modalitaAvvisaturaDigitale.equals(ModalitaAvvisaturaDigitale.ASINCRONA) ? ModoAvvisatura.ASICNRONA : ModoAvvisatura.SINCRONA;
		}

		putVersamentoDTO.setAvvisaturaModalita(avvisaturaModalita);

		PutPendenzaDTOResponse createOrUpdate = pendenzeDAO.createOrUpdate(putVersamentoDTO);

		PendenzaCreata pc = new PendenzaCreata();
		pc.setIdDominio(createOrUpdate.getDominio().getCodDominio());
		if(createOrUpdate.getUo()!= null && !it.govpay.model.Dominio.EC.equals(createOrUpdate.getUo().getCodUo()))
			pc.setIdUnitaOperativa(createOrUpdate.getUo().getCodUo());
		pc.setNumeroAvviso(createOrUpdate.getVersamento().getNumeroAvviso());
		pc.pdf(createOrUpdate.getPdf());
		Status responseStatus = createOrUpdate.isCreated() ?  Status.CREATED : Status.OK;
		this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_COMPLETATA, methodName)); 
		return this.handleResponseOk(Response.status(responseStatus).entity(pc.toJSON(null)),transactionId).build();
	}catch (Exception e) {
		return this.handleException(uriInfo, httpHeaders, methodName, e, transactionId);
	} finally {
		this.log(ContextThreadLocal.get());
	}
}