Search in sources :

Example 1 with JsonProvider

use of javax.json.spi.JsonProvider in project javaee7-firstcup by ecabrerar.

the class DeviceSessionHandler method removeDevice.

public void removeDevice(int id) {
    Device device = getDeviceById(id);
    if (device != null) {
        devices.remove(device);
        JsonProvider provider = JsonProvider.provider();
        JsonObject removeMessage = provider.createObjectBuilder().add("action", "remove").add("id", id).build();
        sendToAllConnectedSessions(removeMessage);
    }
}
Also used : Device(org.ecabrerar.examples.websockethome.model.Device) JsonObject(javax.json.JsonObject) JsonProvider(javax.json.spi.JsonProvider)

Example 2 with JsonProvider

use of javax.json.spi.JsonProvider in project javaee7-firstcup by ecabrerar.

the class DeviceSessionHandler method createAddMessage.

private JsonObject createAddMessage(Device device) {
    JsonProvider provider = JsonProvider.provider();
    JsonObject addMessage = provider.createObjectBuilder().add("action", "add").add("id", device.getId()).add("name", device.getName()).add("type", device.getType()).add("status", device.getStatus()).add("description", device.getDescription()).build();
    return addMessage;
}
Also used : JsonObject(javax.json.JsonObject) JsonProvider(javax.json.spi.JsonProvider)

Example 3 with JsonProvider

use of javax.json.spi.JsonProvider in project meecrowave by apache.

the class ConfigurableBus method initProviders.

public void initProviders(final Configuration builder, final ClassLoader loader) {
    final List<Object> providers = ofNullable(builder.getJaxrsDefaultProviders()).map(s -> Stream.of(s.split(" *, *")).map(String::trim).filter(p -> !p.isEmpty()).map(name -> {
        try {
            return Thread.currentThread().getContextClassLoader().loadClass(name).newInstance();
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
            throw new IllegalArgumentException(name + " can't be created");
        }
    }).collect(Collectors.<Object>toList())).orElseGet(() -> {
        // ensure both providers share the same memory reuse logic
        final JsonProvider provider = JsonProvider.provider();
        final JsonReaderFactory readerFactory = provider.createReaderFactory(new HashMap<String, Object>() {

            {
                put(JsonParserFactoryImpl.SUPPORTS_COMMENTS, builder.isJsonpSupportsComment());
                Optional.of(builder.getJsonpMaxStringLen()).filter(v -> v > 0).ifPresent(s -> put(JsonParserFactoryImpl.MAX_STRING_LENGTH, s));
                Optional.of(builder.getJsonpMaxReadBufferLen()).filter(v -> v > 0).ifPresent(s -> put(JsonParserFactoryImpl.BUFFER_LENGTH, s));
                ofNullable(builder.getJsonpBufferStrategy()).ifPresent(s -> put(AbstractJsonFactory.BUFFER_STRATEGY, s));
            }
        });
        final JsonWriterFactory writerFactory = provider.createWriterFactory(new HashMap<String, Object>() {

            {
                put(JsonGenerator.PRETTY_PRINTING, builder.isJsonpPrettify());
                Optional.of(builder.getJsonpMaxWriteBufferLen()).filter(v -> v > 0).ifPresent(v -> put(JsonGeneratorFactoryImpl.GENERATOR_BUFFER_LENGTH, v));
                ofNullable(builder.getJsonpBufferStrategy()).ifPresent(s -> put(AbstractJsonFactory.BUFFER_STRATEGY, s));
            }
        });
        return Stream.<Object>of(new ConfiguredJsonbJaxrsProvider(builder.getJsonbEncoding(), builder.isJsonbNulls(), builder.isJsonbIJson(), builder.isJsonbPrettify(), builder.getJsonbBinaryStrategy(), builder.getJsonbNamingStrategy(), builder.getJsonbOrderStrategy(), new DelegateJsonProvider(provider, readerFactory, writerFactory))).collect(toList());
    });
    if (builder.isJaxrsAutoActivateBeanValidation()) {
        try {
            // we don't need the jaxrsbeanvalidationfeature since bean validation cdi extension handles it normally
            loader.loadClass("javax.validation.Validation");
            final Object instance = loader.loadClass("org.apache.cxf.jaxrs.validation.ValidationExceptionMapper").getConstructor().newInstance();
            // validate bval can be used, check NoClassDefFoundError javax.validation.ValidationException
            instance.getClass().getGenericInterfaces();
            providers.add(instance);
        } catch (final Exception | NoClassDefFoundError e) {
        // no-op
        }
    }
    // client
    if (getProperty("org.apache.cxf.jaxrs.bus.providers") == null) {
        setProperty("skip.default.json.provider.registration", "true");
        setProperty("org.apache.cxf.jaxrs.bus.providers", providers);
    }
}
Also used : JsonReaderFactory(javax.json.JsonReaderFactory) JsonWriterFactory(javax.json.JsonWriterFactory) Produces(javax.ws.rs.Produces) Provider(javax.ws.rs.ext.Provider) JsonParserFactoryImpl(org.apache.johnzon.core.JsonParserFactoryImpl) JsonBuilderFactory(javax.json.JsonBuilderFactory) Collections.singletonList(java.util.Collections.singletonList) JsonProvider(javax.json.spi.JsonProvider) JsonValue(javax.json.JsonValue) BigDecimal(java.math.BigDecimal) JsonStructure(javax.json.JsonStructure) MediaType(javax.ws.rs.core.MediaType) JsonNumber(javax.json.JsonNumber) Consumes(javax.ws.rs.Consumes) Map(java.util.Map) BigInteger(java.math.BigInteger) ClientLifeCycleManagerImpl(org.apache.cxf.bus.managers.ClientLifeCycleManagerImpl) JsonObject(javax.json.JsonObject) JsonbBuilder(javax.json.bind.JsonbBuilder) Collection(java.util.Collection) JsonGeneratorFactory(javax.json.stream.JsonGeneratorFactory) Reader(java.io.Reader) AbstractJsonFactory(org.apache.johnzon.core.AbstractJsonFactory) Collectors(java.util.stream.Collectors) List(java.util.List) Stream(java.util.stream.Stream) Type(java.lang.reflect.Type) Writer(java.io.Writer) Annotation(java.lang.annotation.Annotation) Optional(java.util.Optional) JsonObjectBuilder(javax.json.JsonObjectBuilder) JsonGenerator(javax.json.stream.JsonGenerator) JsonArrayBuilder(javax.json.JsonArrayBuilder) JsonPatch(javax.json.JsonPatch) ClientLifeCycleManager(org.apache.cxf.endpoint.ClientLifeCycleManager) HashMap(java.util.HashMap) JsonParserFactory(javax.json.stream.JsonParserFactory) ExtensionManagerBus(org.apache.cxf.bus.extension.ExtensionManagerBus) JsonbJaxrsProvider(org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider) OutputStream(java.io.OutputStream) JsonParser(javax.json.stream.JsonParser) JsonReader(javax.json.JsonReader) Optional.ofNullable(java.util.Optional.ofNullable) JsonArray(javax.json.JsonArray) JsonMergePatch(javax.json.JsonMergePatch) Configuration(org.apache.meecrowave.configuration.Configuration) JsonGeneratorFactoryImpl(org.apache.johnzon.core.JsonGeneratorFactoryImpl) JsonString(javax.json.JsonString) Collectors.toList(java.util.stream.Collectors.toList) JsonPatchBuilder(javax.json.JsonPatchBuilder) JsonWriter(javax.json.JsonWriter) Jsonb(javax.json.bind.Jsonb) JsonPointer(javax.json.JsonPointer) InputStream(java.io.InputStream) JsonString(javax.json.JsonString) JsonProvider(javax.json.spi.JsonProvider) JsonObject(javax.json.JsonObject) JsonWriterFactory(javax.json.JsonWriterFactory) JsonReaderFactory(javax.json.JsonReaderFactory)

Example 4 with JsonProvider

use of javax.json.spi.JsonProvider in project meecrowave by apache.

the class ConfigurableBus method initProviders.

public void initProviders(final Meecrowave.Builder builder, final ClassLoader loader) {
    final List<Object> providers = ofNullable(builder.getJaxrsDefaultProviders()).map(s -> Stream.of(s.split(" *, *")).map(String::trim).filter(p -> !p.isEmpty()).map(name -> {
        try {
            return Thread.currentThread().getContextClassLoader().loadClass(name).newInstance();
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
            throw new IllegalArgumentException(name + " can't be created");
        }
    }).collect(Collectors.<Object>toList())).orElseGet(() -> {
        // ensure both providers share the same memory reuse logic
        final JsonProvider provider = JsonProvider.provider();
        final JsonReaderFactory readerFactory = provider.createReaderFactory(new HashMap<String, Object>() {

            {
                put(JsonParserFactoryImpl.SUPPORTS_COMMENTS, builder.isJsonpSupportsComment());
                of(builder.getJsonpMaxStringLen()).filter(v -> v > 0).ifPresent(s -> put(JsonParserFactoryImpl.MAX_STRING_LENGTH, s));
                of(builder.getJsonpMaxReadBufferLen()).filter(v -> v > 0).ifPresent(s -> put(JsonParserFactoryImpl.BUFFER_LENGTH, s));
                ofNullable(builder.getJsonpBufferStrategy()).ifPresent(s -> put(AbstractJsonFactory.BUFFER_STRATEGY, s));
            }
        });
        final JsonWriterFactory writerFactory = provider.createWriterFactory(new HashMap<String, Object>() {

            {
                put(JsonGenerator.PRETTY_PRINTING, builder.isJsonpPrettify());
                of(builder.getJsonpMaxWriteBufferLen()).filter(v -> v > 0).ifPresent(v -> put(JsonGeneratorFactoryImpl.GENERATOR_BUFFER_LENGTH, v));
                ofNullable(builder.getJsonpBufferStrategy()).ifPresent(s -> put(AbstractJsonFactory.BUFFER_STRATEGY, s));
            }
        });
        return Stream.<Object>of(new ConfiguredJsonbJaxrsProvider(builder.getJsonbEncoding(), builder.isJsonbNulls(), builder.isJsonbIJson(), builder.isJsonbPrettify(), builder.getJsonbBinaryStrategy(), builder.getJsonbNamingStrategy(), builder.getJsonbOrderStrategy(), new DelegateJsonProvider(provider, readerFactory, writerFactory)), new ConfiguredJsrProvider(readerFactory, writerFactory)).collect(toList());
    });
    if (builder.isJaxrsAutoActivateBeanValidation()) {
        try {
            // we don't need the jaxrsbeanvalidationfeature since bean validation cdi extension handles it normally
            loader.loadClass("javax.validation.Validation");
            final Object instance = loader.loadClass("org.apache.cxf.jaxrs.validation.ValidationExceptionMapper").getConstructor().newInstance();
            // validate bval can be used, check NoClassDefFoundError javax.validation.ValidationException
            instance.getClass().getGenericInterfaces();
            providers.add(instance);
        } catch (final Exception | NoClassDefFoundError e) {
        // no-op
        }
    }
    // client
    if (getProperty("org.apache.cxf.jaxrs.bus.providers") == null) {
        setProperty("skip.default.json.provider.registration", "true");
        setProperty("org.apache.cxf.jaxrs.bus.providers", providers);
    }
}
Also used : JsonReaderFactory(javax.json.JsonReaderFactory) Arrays(java.util.Arrays) JsonWriterFactory(javax.json.JsonWriterFactory) Produces(javax.ws.rs.Produces) Provider(javax.ws.rs.ext.Provider) JsonParserFactoryImpl(org.apache.johnzon.core.JsonParserFactoryImpl) JsonBuilderFactory(javax.json.JsonBuilderFactory) Optional.of(java.util.Optional.of) JsonProvider(javax.json.spi.JsonProvider) JsonValue(javax.json.JsonValue) BigDecimal(java.math.BigDecimal) JsonStructure(javax.json.JsonStructure) MediaType(javax.ws.rs.core.MediaType) JsonNumber(javax.json.JsonNumber) Consumes(javax.ws.rs.Consumes) Map(java.util.Map) BigInteger(java.math.BigInteger) ClientLifeCycleManagerImpl(org.apache.cxf.bus.managers.ClientLifeCycleManagerImpl) JsonObject(javax.json.JsonObject) JsonbBuilder(javax.json.bind.JsonbBuilder) Collection(java.util.Collection) JsonGeneratorFactory(javax.json.stream.JsonGeneratorFactory) Reader(java.io.Reader) AbstractJsonFactory(org.apache.johnzon.core.AbstractJsonFactory) Collectors(java.util.stream.Collectors) List(java.util.List) Stream(java.util.stream.Stream) Writer(java.io.Writer) Meecrowave(org.apache.meecrowave.Meecrowave) JsonObjectBuilder(javax.json.JsonObjectBuilder) JsonGenerator(javax.json.stream.JsonGenerator) JsonArrayBuilder(javax.json.JsonArrayBuilder) JsonPatch(javax.json.JsonPatch) ClientLifeCycleManager(org.apache.cxf.endpoint.ClientLifeCycleManager) HashMap(java.util.HashMap) JsonParserFactory(javax.json.stream.JsonParserFactory) ExtensionManagerBus(org.apache.cxf.bus.extension.ExtensionManagerBus) DelegateProvider(org.apache.johnzon.jaxrs.DelegateProvider) JsonbJaxrsProvider(org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider) JsrMessageBodyReader(org.apache.johnzon.jaxrs.JsrMessageBodyReader) OutputStream(java.io.OutputStream) JsonParser(javax.json.stream.JsonParser) JsonReader(javax.json.JsonReader) Optional.ofNullable(java.util.Optional.ofNullable) JsonArray(javax.json.JsonArray) JsonMergePatch(javax.json.JsonMergePatch) JsrMessageBodyWriter(org.apache.johnzon.jaxrs.JsrMessageBodyWriter) JsonGeneratorFactoryImpl(org.apache.johnzon.core.JsonGeneratorFactoryImpl) JsonString(javax.json.JsonString) Collectors.toList(java.util.stream.Collectors.toList) JsonPatchBuilder(javax.json.JsonPatchBuilder) JsonWriter(javax.json.JsonWriter) Jsonb(javax.json.bind.Jsonb) JsonPointer(javax.json.JsonPointer) InputStream(java.io.InputStream) JsonString(javax.json.JsonString) JsonProvider(javax.json.spi.JsonProvider) JsonObject(javax.json.JsonObject) JsonWriterFactory(javax.json.JsonWriterFactory) JsonReaderFactory(javax.json.JsonReaderFactory)

Example 5 with JsonProvider

use of javax.json.spi.JsonProvider in project jaqy by Teradata.

the class JsonExporter method export.

@Override
public long export(JaqyResultSet rs, JaqyInterpreter interpreter) throws Exception {
    JsonProvider provider = new CookJsonProvider();
    CookJsonGenerator g = null;
    HashMap<String, Object> config = new HashMap<String, Object>();
    switch(m_format) {
        case Text:
            {
                config.put(CookJsonProvider.FORMAT, CookJsonProvider.FORMAT_JSON);
                if (m_pretty)
                    config.put(JsonGenerator.PRETTY_PRINTING, Boolean.TRUE);
                switch(m_binaryFormat) {
                    case Base64:
                        config.put(CookJsonProvider.BINARY_FORMAT, CookJsonProvider.BINARY_FORMAT_BASE64);
                        break;
                    case Hex:
                        config.put(CookJsonProvider.BINARY_FORMAT, CookJsonProvider.BINARY_FORMAT_HEX);
                        break;
                }
                g = (CookJsonGenerator) provider.createGeneratorFactory(config).createGenerator(m_out);
                break;
            }
        case Bson:
            config.put(CookJsonProvider.FORMAT, CookJsonProvider.FORMAT_BSON);
            g = (CookJsonGenerator) provider.createGeneratorFactory(config).createGenerator(m_os);
            break;
    }
    long count = JsonUtils.print(interpreter.getGlobals(), g, rs, 0);
    g.close();
    return count;
}
Also used : CookJsonProvider(org.yuanheng.cookjson.CookJsonProvider) HashMap(java.util.HashMap) CookJsonProvider(org.yuanheng.cookjson.CookJsonProvider) JsonProvider(javax.json.spi.JsonProvider) CookJsonGenerator(org.yuanheng.cookjson.CookJsonGenerator)

Aggregations

JsonProvider (javax.json.spi.JsonProvider)8 JsonObject (javax.json.JsonObject)5 HashMap (java.util.HashMap)4 Jsonb (javax.json.bind.Jsonb)3 InputStream (java.io.InputStream)2 OutputStream (java.io.OutputStream)2 Reader (java.io.Reader)2 Writer (java.io.Writer)2 BigDecimal (java.math.BigDecimal)2 BigInteger (java.math.BigInteger)2 Collection (java.util.Collection)2 List (java.util.List)2 Map (java.util.Map)2 Optional.ofNullable (java.util.Optional.ofNullable)2 Collectors (java.util.stream.Collectors)2 Collectors.toList (java.util.stream.Collectors.toList)2 Stream (java.util.stream.Stream)2 JsonArray (javax.json.JsonArray)2 JsonArrayBuilder (javax.json.JsonArrayBuilder)2 JsonBuilderFactory (javax.json.JsonBuilderFactory)2