Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id BA29E200BBC for ; Sun, 13 Nov 2016 19:51:29 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id B7822160AF8; Sun, 13 Nov 2016 18:51:29 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 684F3160AE4 for ; Sun, 13 Nov 2016 19:51:28 +0100 (CET) Received: (qmail 48713 invoked by uid 500); 13 Nov 2016 18:51:27 -0000 Mailing-List: contact commits-help@openwebbeans.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openwebbeans.apache.org Delivered-To: mailing list commits@openwebbeans.apache.org Received: (qmail 48702 invoked by uid 99); 13 Nov 2016 18:51:27 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 13 Nov 2016 18:51:27 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 219111828FE for ; Sun, 13 Nov 2016 18:51:27 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id 37MaCKaWctjQ for ; Sun, 13 Nov 2016 18:51:22 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 014D15F36D for ; Sun, 13 Nov 2016 18:51:22 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 00C0BE0652 for ; Sun, 13 Nov 2016 18:51:17 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 9E85A3A0B14 for ; Sun, 13 Nov 2016 18:51:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1769537 - in /openwebbeans/meecrowave/trunk: ./ meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/ meecrowave-core/src/main/java/org/apache/meecrowave/ meecrowave-core/src/main/java/org/apache/meecrowave/cxf/ meecrowave-... Date: Sun, 13 Nov 2016 18:51:17 -0000 To: commits@openwebbeans.apache.org From: rmannibucau@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20161113185117.9E85A3A0B14@svn01-us-west.apache.org> archived-at: Sun, 13 Nov 2016 18:51:29 -0000 Author: rmannibucau Date: Sun Nov 13 18:51:16 2016 New Revision: 1769537 URL: http://svn.apache.org/viewvc?rev=1769537&view=rev Log: adding jsonp/jsonb configuration when used as jaxrs provider by default Removed: openwebbeans/meecrowave/trunk/meecrowave.iml Modified: openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java Modified: openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java?rev=1769537&r1=1769536&r2=1769537&view=diff ============================================================================== --- openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java (original) +++ openwebbeans/meecrowave/trunk/meecrowave-arquillian/src/main/java/org/apache/meecrowave/arquillian/MeecrowaveConfiguration.java Sun Nov 13 18:51:16 2016 @@ -81,6 +81,19 @@ public class MeecrowaveConfiguration imp private String jaxrsDefaultProviders; private String sharedLibraries; private boolean useLog4j2JulLogManager = System.getProperty("java.util.logging.manager") == null; + private String jsonpBufferStrategy = "QUEUE"; + private int jsonpMaxStringLen = 10 * 1024 * 1024; + private int jsonpMaxReadBufferLen = 64 * 1024; + private int jsonpMaxWriteBufferLen = 64 * 1024; + private boolean jsonpSupportsComment = false; + private boolean jsonpPrettify = false; + private String jsonbEncoding = "UTF-8"; + private boolean jsonbNulls = false; + private boolean jsonbIJson = false; + private boolean jsonbPrettify = false; + private String jsonbBinaryStrategy; + private String jsonbNamingStrategy; + private String jsonbOrderStrategy; @Override public void validate() throws ConfigurationException { Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java?rev=1769537&r1=1769536&r2=1769537&view=diff ============================================================================== --- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java (original) +++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/Meecrowave.java Sun Nov 13 18:51:16 2016 @@ -37,6 +37,7 @@ import org.apache.catalina.startup.Tomca import org.apache.commons.lang3.text.StrLookup; import org.apache.commons.lang3.text.StrSubstitutor; import org.apache.coyote.http2.Http2Protocol; +import org.apache.johnzon.core.BufferStrategy; import org.apache.meecrowave.cxf.CxfCdiAutoSetup; import org.apache.meecrowave.io.IO; import org.apache.meecrowave.logging.jul.Log4j2Logger; @@ -800,6 +801,45 @@ public class Meecrowave implements AutoC @CliOption(name = "jaxrs-log-provider", description = "Should JAX-RS providers be logged") private boolean jaxrsLogProviders = false; + @CliOption(name = "jsonp-buffer-strategy", description = "JSON-P JAX-RS provider buffer strategy (see johnzon)") + private String jsonpBufferStrategy = BufferStrategy.QUEUE.name(); + + @CliOption(name = "jsonp-max-string-length", description = "JSON-P JAX-RS provider max string limit size (see johnzon)") + private int jsonpMaxStringLen = 10 * 1024 * 1024; + + @CliOption(name = "jsonp-read-buffer-length", description = "JSON-P JAX-RS provider read buffer limit size (see johnzon)") + private int jsonpMaxReadBufferLen = 64 * 1024; + + @CliOption(name = "jsonp-write-buffer-length", description = "JSON-P JAX-RS provider write buffer limit size (see johnzon)") + private int jsonpMaxWriteBufferLen = 64 * 1024; + + @CliOption(name = "jsonp-supports-comment", description = "Should JSON-P JAX-RS provider support comments (see johnzon)") + private boolean jsonpSupportsComment = false; + + @CliOption(name = "jsonp-supports-comment", description = "Should JSON-P JAX-RS provider prettify the outputs (see johnzon)") + private boolean jsonpPrettify = false; + + @CliOption(name = "jsonb-encoding", description = "Which encoding provider JSON-B should use") + private String jsonbEncoding = "UTF-8"; + + @CliOption(name = "jsonb-nulls", description = "Should JSON-B provider serialize nulls") + private boolean jsonbNulls = false; + + @CliOption(name = "jsonb-ijson", description = "Should JSON-B provider comply to I-JSON") + private boolean jsonbIJson = false; + + @CliOption(name = "jsonb-prettify", description = "Should JSON-B provider prettify the output") + private boolean jsonbPrettify = false; + + @CliOption(name = "jsonb-binary-strategy", description = "Should JSON-B provider prettify the output") + private String jsonbBinaryStrategy; + + @CliOption(name = "jsonb-naming-strategy", description = "Should JSON-B provider prettify the output") + private String jsonbNamingStrategy; + + @CliOption(name = "jsonb-order-strategy", description = "Should JSON-B provider prettify the output") + private String jsonbOrderStrategy; + @CliOption(name = "logging-global-setup", description = "Should logging be configured to use log4j2 (it is global)") private boolean loggingGlobalSetup = true; @@ -835,6 +875,110 @@ public class Meecrowave implements AutoC loadFrom("meecrowave.properties"); } + public String getJsonpBufferStrategy() { + return jsonpBufferStrategy; + } + + public String getJsonbEncoding() { + return jsonbEncoding; + } + + public void setJsonbEncoding(final String jsonbEncoding) { + this.jsonbEncoding = jsonbEncoding; + } + + public boolean isJsonbNulls() { + return jsonbNulls; + } + + public void setJsonbNulls(final boolean jsonbNulls) { + this.jsonbNulls = jsonbNulls; + } + + public boolean isJsonbIJson() { + return jsonbIJson; + } + + public void setJsonbIJson(final boolean jsonbIJson) { + this.jsonbIJson = jsonbIJson; + } + + public boolean isJsonbPrettify() { + return jsonbPrettify; + } + + public void setJsonbPrettify(final boolean jsonbPrettify) { + this.jsonbPrettify = jsonbPrettify; + } + + public String getJsonbBinaryStrategy() { + return jsonbBinaryStrategy; + } + + public void setJsonbBinaryStrategy(final String jsonbBinaryStrategy) { + this.jsonbBinaryStrategy = jsonbBinaryStrategy; + } + + public String getJsonbNamingStrategy() { + return jsonbNamingStrategy; + } + + public void setJsonbNamingStrategy(final String jsonbNamingStrategy) { + this.jsonbNamingStrategy = jsonbNamingStrategy; + } + + public String getJsonbOrderStrategy() { + return jsonbOrderStrategy; + } + + public void setJsonbOrderStrategy(final String jsonbOrderStrategy) { + this.jsonbOrderStrategy = jsonbOrderStrategy; + } + + public void setJsonpBufferStrategy(final String jsonpBufferStrategy) { + this.jsonpBufferStrategy = jsonpBufferStrategy; + } + + public int getJsonpMaxStringLen() { + return jsonpMaxStringLen; + } + + public void setJsonpMaxStringLen(final int jsonpMaxStringLen) { + this.jsonpMaxStringLen = jsonpMaxStringLen; + } + + public int getJsonpMaxReadBufferLen() { + return jsonpMaxReadBufferLen; + } + + public void setJsonpMaxReadBufferLen(final int jsonpMaxReadBufferLen) { + this.jsonpMaxReadBufferLen = jsonpMaxReadBufferLen; + } + + public int getJsonpMaxWriteBufferLen() { + return jsonpMaxWriteBufferLen; + } + + public void setJsonpMaxWriteBufferLen(final int jsonpMaxWriteBufferLen) { + this.jsonpMaxWriteBufferLen = jsonpMaxWriteBufferLen; + } + + public boolean isJsonpSupportsComment() { + return jsonpSupportsComment; + } + + public void setJsonpSupportsComment(final boolean jsonpSupportsComment) { + this.jsonpSupportsComment = jsonpSupportsComment; + } + + public boolean isJsonpPrettify() { + return jsonpPrettify; + } + + public void setJsonpPrettify(final boolean jsonpPrettify) { + this.jsonpPrettify = jsonpPrettify; + } + public String getSharedLibraries() { return sharedLibraries; } Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java?rev=1769537&r1=1769536&r2=1769537&view=diff ============================================================================== --- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java (original) +++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cxf/MeecrowaveBus.java Sun Nov 13 18:51:16 2016 @@ -6,21 +6,34 @@ import org.apache.cxf.common.util.ClassU import org.apache.cxf.feature.Feature; import org.apache.cxf.interceptor.Interceptor; import org.apache.cxf.message.Message; -import org.apache.johnzon.jaxrs.JsrProvider; +import org.apache.johnzon.core.AbstractJsonFactory; +import org.apache.johnzon.core.JsonGeneratorFactoryImpl; +import org.apache.johnzon.core.JsonParserFactoryImpl; +import org.apache.johnzon.jaxrs.DelegateProvider; +import org.apache.johnzon.jaxrs.JsrMessageBodyReader; +import org.apache.johnzon.jaxrs.JsrMessageBodyWriter; import org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider; import org.apache.meecrowave.Meecrowave; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; import javax.inject.Named; +import javax.json.Json; +import javax.json.JsonStructure; +import javax.json.stream.JsonGenerator; import javax.servlet.ServletContext; +import javax.ws.rs.Consumes; +import javax.ws.rs.Produces; +import javax.ws.rs.ext.Provider; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; import static java.util.Arrays.asList; +import static java.util.Optional.of; import static java.util.Optional.ofNullable; @Named("cxf") @@ -55,7 +68,16 @@ public class MeecrowaveBus implements Bu } }) .collect(Collectors.toList())) - .orElseGet(() -> asList(/*new JohnzonProvider<>(),*/ new JsonbJaxrsProvider(), new JsrProvider())); + .orElseGet(() -> asList( + new ConfiguredJsonbJaxrsProvider( + builder.getJsonbEncoding(), builder.isJsonbNulls(), + builder.isJsonbIJson(), builder.isJsonbPrettify(), + builder.getJsonbBinaryStrategy(), builder.getJsonbNamingStrategy(), + builder.getJsonbOrderStrategy()), + new ConfiguredJsrProvider( + builder.getJsonpBufferStrategy(), builder.getJsonpMaxStringLen(), + builder.getJsonpMaxReadBufferLen(), builder.getJsonpMaxWriteBufferLen(), + builder.isJsonpSupportsComment(), builder.isJsonpPrettify()))); // client if (getProperty("org.apache.cxf.jaxrs.bus.providers") == null) { @@ -149,4 +171,61 @@ public class MeecrowaveBus implements Bu public List> getOutFaultInterceptors() { return delegate.getOutFaultInterceptors(); } + + @Provider + @Produces({ + "application/json", "*/json", + "*/*+json", "*/x-json", + "*/javascript", "*/x-javascript" + }) + @Consumes({ + "application/json", "*/json", + "*/*+json", "*/x-json", + "*/javascript", "*/x-javascript" + }) + public static class ConfiguredJsonbJaxrsProvider extends JsonbJaxrsProvider { + private ConfiguredJsonbJaxrsProvider(final String encoding, + final boolean nulls, + final boolean iJson, + final boolean pretty, + final String binaryStrategy, + final String namingStrategy, + final String orderStrategy) { + ofNullable(encoding).ifPresent(this::setEncoding); + ofNullable(namingStrategy).ifPresent(this::setPropertyNamingStrategy); + ofNullable(orderStrategy).ifPresent(this::setPropertyOrderStrategy); + ofNullable(binaryStrategy).ifPresent(this::setBinaryDataStrategy); + setNullValues(nulls); + setIJson(iJson); + setPretty(pretty); + } + } + + @Provider + @Produces({ + "application/json", "*/json", + "*/*+json", "*/x-json", + "*/javascript", "*/x-javascript" + }) + @Consumes({ + "application/json", "*/json", + "*/*+json", "*/x-json", + "*/javascript", "*/x-javascript" + }) + public static class ConfiguredJsrProvider extends DelegateProvider { // TODO: probably wire the encoding in johnzon + private ConfiguredJsrProvider(final String bufferStrategy, final int maxStringLen, + final int maxReadBufferLen, final int maxWriteBufferLen, + final boolean supportsComment, final boolean pretty) { + super(new JsrMessageBodyReader(Json.createReaderFactory(new HashMap() {{ + put(JsonParserFactoryImpl.SUPPORTS_COMMENTS, supportsComment); + of(maxStringLen).filter(v -> v > 0).ifPresent(s -> put(JsonParserFactoryImpl.MAX_STRING_LENGTH, s)); + of(maxReadBufferLen).filter(v -> v > 0).ifPresent(s -> put(JsonParserFactoryImpl.BUFFER_LENGTH, s)); + ofNullable(bufferStrategy).ifPresent(s -> put(AbstractJsonFactory.BUFFER_STRATEGY, s)); + }}), false), new JsrMessageBodyWriter(Json.createWriterFactory(new HashMap() {{ + put(JsonGenerator.PRETTY_PRINTING, pretty); + of(maxWriteBufferLen).filter(v -> v > 0).ifPresent(v -> put(JsonGeneratorFactoryImpl.GENERATOR_BUFFER_LENGTH, v)); + ofNullable(bufferStrategy).ifPresent(s -> put(AbstractJsonFactory.BUFFER_STRATEGY, s)); + }}), false)); + } + } } Modified: openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java?rev=1769537&r1=1769536&r2=1769537&view=diff ============================================================================== --- openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java (original) +++ openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveExtension.java Sun Nov 13 18:51:16 2016 @@ -71,6 +71,123 @@ public class MeecrowaveExtension { private String jaxrsDefaultProviders; private String sharedLibraries; private boolean useLog4j2JulLogManager = true; + private String jsonpBufferStrategy = "QUEUE"; + private int jsonpMaxStringLen = 10 * 1024 * 1024; + private int jsonpMaxReadBufferLen = 64 * 1024; + private int jsonpMaxWriteBufferLen = 64 * 1024; + private boolean jsonpSupportsComment = false; + private boolean jsonpPrettify = false; + private String jsonbEncoding = "UTF-8"; + private boolean jsonbNulls = false; + private boolean jsonbIJson = false; + private boolean jsonbPrettify = false; + private String jsonbBinaryStrategy; + private String jsonbNamingStrategy; + private String jsonbOrderStrategy; + + public String getJsonpBufferStrategy() { + return jsonpBufferStrategy; + } + + public void setJsonpBufferStrategy(final String jsonpBufferStrategy) { + this.jsonpBufferStrategy = jsonpBufferStrategy; + } + + public int getJsonpMaxStringLen() { + return jsonpMaxStringLen; + } + + public void setJsonpMaxStringLen(final int jsonpMaxStringLen) { + this.jsonpMaxStringLen = jsonpMaxStringLen; + } + + public int getJsonpMaxReadBufferLen() { + return jsonpMaxReadBufferLen; + } + + public void setJsonpMaxReadBufferLen(final int jsonpMaxReadBufferLen) { + this.jsonpMaxReadBufferLen = jsonpMaxReadBufferLen; + } + + public int getJsonpMaxWriteBufferLen() { + return jsonpMaxWriteBufferLen; + } + + public void setJsonpMaxWriteBufferLen(final int jsonpMaxWriteBufferLen) { + this.jsonpMaxWriteBufferLen = jsonpMaxWriteBufferLen; + } + + public boolean isJsonpSupportsComment() { + return jsonpSupportsComment; + } + + public void setJsonpSupportsComment(final boolean jsonpSupportsComment) { + this.jsonpSupportsComment = jsonpSupportsComment; + } + + public boolean isJsonpPrettify() { + return jsonpPrettify; + } + + public void setJsonpPrettify(final boolean jsonpPrettify) { + this.jsonpPrettify = jsonpPrettify; + } + + public String getJsonbEncoding() { + return jsonbEncoding; + } + + public void setJsonbEncoding(final String jsonbEncoding) { + this.jsonbEncoding = jsonbEncoding; + } + + public boolean isJsonbNulls() { + return jsonbNulls; + } + + public void setJsonbNulls(final boolean jsonbNulls) { + this.jsonbNulls = jsonbNulls; + } + + public boolean isJsonbIJson() { + return jsonbIJson; + } + + public void setJsonbIJson(final boolean jsonbIJson) { + this.jsonbIJson = jsonbIJson; + } + + public boolean isJsonbPrettify() { + return jsonbPrettify; + } + + public void setJsonbPrettify(final boolean jsonbPrettify) { + this.jsonbPrettify = jsonbPrettify; + } + + public String getJsonbBinaryStrategy() { + return jsonbBinaryStrategy; + } + + public void setJsonbBinaryStrategy(final String jsonbBinaryStrategy) { + this.jsonbBinaryStrategy = jsonbBinaryStrategy; + } + + public String getJsonbNamingStrategy() { + return jsonbNamingStrategy; + } + + public void setJsonbNamingStrategy(final String jsonbNamingStrategy) { + this.jsonbNamingStrategy = jsonbNamingStrategy; + } + + public String getJsonbOrderStrategy() { + return jsonbOrderStrategy; + } + + public void setJsonbOrderStrategy(final String jsonbOrderStrategy) { + this.jsonbOrderStrategy = jsonbOrderStrategy; + } public boolean isUseLog4j2JulLogManager() { return useLog4j2JulLogManager; Modified: openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java?rev=1769537&r1=1769536&r2=1769537&view=diff ============================================================================== --- openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java (original) +++ openwebbeans/meecrowave/trunk/meecrowave-gradle-plugin/src/main/java/org/apache/meecrowave/gradle/MeecrowaveTask.java Sun Nov 13 18:51:16 2016 @@ -48,6 +48,7 @@ import static java.util.Arrays.asList; import static java.util.Optional.ofNullable; import static java.util.stream.Collectors.toList; +// Note we can nest inputs objects, if you think it is better (jsonb, jsonp, jaxrs etc..) send a mail on the list ;) public class MeecrowaveTask extends DefaultTask { private Configuration classpath; @@ -242,6 +243,58 @@ public class MeecrowaveTask extends Defa @Optional private File webapp; + @Input + @Optional + private String jsonpBufferStrategy = "QUEUE"; + + @Input + @Optional + private int jsonpMaxStringLen = 10 * 1024 * 1024; + + @Input + @Optional + private int jsonpMaxReadBufferLen = 64 * 1024; + + @Input + @Optional + private int jsonpMaxWriteBufferLen = 64 * 1024; + + @Input + @Optional + private boolean jsonpSupportsComment = false; + + @Input + @Optional + private boolean jsonpPrettify = false; + + @Input + @Optional + private String jsonbEncoding = "UTF-8"; + + @Input + @Optional + private boolean jsonbNulls = false; + + @Input + @Optional + private boolean jsonbIJson = false; + + @Input + @Optional + private boolean jsonbPrettify = false; + + @Input + @Optional + private String jsonbBinaryStrategy; + + @Input + @Optional + private String jsonbNamingStrategy; + + @Input + @Optional + private String jsonbOrderStrategy; + @TaskAction public void bake() { fixConfig(); Modified: openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java?rev=1769537&r1=1769536&r2=1769537&view=diff ============================================================================== --- openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java (original) +++ openwebbeans/meecrowave/trunk/meecrowave-maven-plugin/src/main/java/org/apache/meecrowave/maven/MeecrowaveRunMojo.java Sun Nov 13 18:51:16 2016 @@ -200,6 +200,45 @@ public class MeecrowaveRunMojo extends A @Parameter(property = "meecrowave.log4j2-jul-bridge", defaultValue = "true") private boolean useLog4j2JulLogManager; + @Parameter(property = "meecrowave.jsonp-buffer-strategy", defaultValue = "QUEUE") + private String jsonpBufferStrategy; + + @Parameter(property = "meecrowave.jsonp-max-string-length", defaultValue = "10485760") + private int jsonpMaxStringLen; + + @Parameter(property = "meecrowave.jsonp-max-read-buffer-size", defaultValue = "65536") + private int jsonpMaxReadBufferLen; + + @Parameter(property = "meecrowave.jsonp-max-write-buffer-size", defaultValue = "65536") + private int jsonpMaxWriteBufferLen; + + @Parameter(property = "meecrowave.jsonp-comments", defaultValue = "false") + private boolean jsonpSupportsComment; + + @Parameter(property = "meecrowave.jsonp-prettify", defaultValue = "false") + private boolean jsonpPrettify; + + @Parameter(property = "meecrowave.jsonb-encoding", defaultValue = "UTF-8") + private String jsonbEncoding; + + @Parameter(property = "meecrowave.jsonb-nulls", defaultValue = "false") + private boolean jsonbNulls = false; + + @Parameter(property = "meecrowave.jsonb-ijson", defaultValue = "false") + private boolean jsonbIJson; + + @Parameter(property = "meecrowave.jsonb-prettify", defaultValue = "false") + private boolean jsonbPrettify; + + @Parameter(property = "meecrowave.jsonb-binary-strategy") + private String jsonbBinaryStrategy; + + @Parameter(property = "meecrowave.jsonb-naming-strategy") + private String jsonbNamingStrategy; + + @Parameter(property = "meecrowave.jsonb-order-strategy") + private String jsonbOrderStrategy; + @Override public void execute() throws MojoExecutionException, MojoFailureException { if (skip) {