Example usage for com.fasterxml.jackson.databind.module SimpleModule addSerializer

List of usage examples for com.fasterxml.jackson.databind.module SimpleModule addSerializer

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.module SimpleModule addSerializer.

Prototype

public <T> SimpleModule addSerializer(Class<? extends T> type, JsonSerializer<T> ser) 

Source Link

Usage

From source file:com.hurence.logisland.serializer.JsonSerializer.java

@Override
public void serialize(OutputStream out, Record record) throws RecordSerializationException {

    ObjectMapper mapper = new ObjectMapper();
    SimpleModule module = new SimpleModule();
    module.addSerializer(StandardRecord.class, new EventSerializer());
    mapper.registerModule(module);//from w  ww .j  a  va2s . c  om

    //map json to student

    try {
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
        String jsonString = mapper.writeValueAsString(record);

        out.write(jsonString.getBytes());
        out.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

From source file:DataTools.ConvertObjectToJson.java

private void addCustomSerializing(ObjectMapper mapper) {
    //custom serializer to help parsing dates
    class dateSerializer extends JsonSerializer<DateTime> {
        @Override/*from ww w.  j  a  v a 2  s  .  com*/
        public void serialize(DateTime dateTime, JsonGenerator jsonGenerator,
                SerializerProvider serializerProvider) throws IOException {
            jsonGenerator.writeString(cleanupDate(dateTime));
        }
    }

    //custom serializer to help parsing dates
    class zoneDateSerializer extends JsonSerializer<ZonedDateTime> {
        @Override
        public void serialize(ZonedDateTime dateTime, JsonGenerator jsonGenerator,
                SerializerProvider serializerProvider) throws IOException {
            jsonGenerator.writeString(cleanupDate(dateTime));
        }
    }

    class utilDateSerializer extends JsonSerializer<Date> {
        @Override
        public void serialize(Date dateTime, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
                throws IOException {
            jsonGenerator.writeString(dateTime.toString());
        }
    }

    class JsonObjectSerializer extends JsonSerializer<JSONObject> {
        @Override
        public void serialize(JSONObject jsonObject, JsonGenerator jsonGenerator,
                SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
            jsonGenerator.writeString(jsonObject.toString());
        }
    }
    class JsonArraySerializer extends JsonSerializer<JSONArray> {
        @Override
        public void serialize(JSONArray jsonArray, JsonGenerator jsonGenerator,
                SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
            jsonGenerator.writeString(jsonArray.toString());
        }
    }
    class StorageSerializer extends JsonSerializer<Storage> {
        @Override
        public void serialize(Storage storage, JsonGenerator jsonGenerator,
                SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
            jsonGenerator.writeString(storage.toString());
        }
    }

    //setup new serializer
    SimpleModule simpleModule = new SimpleModule();
    simpleModule.addSerializer(DateTime.class, new dateSerializer());
    simpleModule.addSerializer(ZonedDateTime.class, new zoneDateSerializer());
    simpleModule.addSerializer(Date.class, new utilDateSerializer());
    simpleModule.addSerializer(JSONObject.class, new JsonObjectSerializer());
    simpleModule.addSerializer(JSONArray.class, new JsonArraySerializer());
    simpleModule.addSerializer(Storage.class, new StorageSerializer());
    mapper.registerModule(simpleModule);
}

From source file:org.wisdom.monitor.extensions.jcr.script.JcrScriptExecutorExtension.java

public String listToJsonString(List list) throws IOException {
    final ByteArrayOutputStream out = new ByteArrayOutputStream();
    final ObjectMapper mapper = new ObjectMapper();
    SimpleModule module = new SimpleModule();
    module.addSerializer(Event.class, new JcrEventSerializer()); // assuming serializer declares correct class to bind to
    mapper.registerModule(module);//from w  w w.  j a  v a 2 s.  co  m
    mapper.writeValue(out, list);
    final byte[] data = out.toByteArray();
    return new String(data);
}

From source file:org.phenotips.data.rest.internal.DefaultPatientsFetchResourceImpl.java

/**
 * A custom object mapper to facilitate serializing a list of {@link Patient} objects.
 *
 * @return an object mapper that can serialize {@link Patient} objects
 *///from w ww .j  a v a2s.  co m
private ObjectMapper getCustomObjectMapper() {
    final ObjectMapper mapper = new ObjectMapper();
    SimpleModule m = new SimpleModule("PrimaryEntitySerializer",
            new Version(1, 0, 0, "", "org.phenotips", "PatientReferenceSerializer"));
    m.addSerializer(PrimaryEntity.class, new PrimaryEntitySerializer());
    mapper.registerModule(m);
    return mapper;
}

From source file:org.springframework.yarn.integration.support.Jackson2ObjectMapperFactoryBean.java

@SuppressWarnings("unchecked")
private <T> void addSerializers(SimpleModule module) {
    for (Class<?> type : this.serializers.keySet()) {
        module.addSerializer((Class<? extends T>) type, (JsonSerializer<T>) this.serializers.get(type));
    }/*from   w w w.jav a2  s.c  o m*/
}

From source file:com.amazonaws.services.dynamodbv2.streamsadapter.model.RecordObjectMapper.java

public RecordObjectMapper() {
    super();//w w  w .  j  a v a2  s  .com
    SimpleModule module = new SimpleModule(MODULE, Version.unknownVersion());

    // Deal with (de)serializing of byte[].
    module.addSerializer(ByteBuffer.class, new ByteBufferSerializer());
    module.addDeserializer(ByteBuffer.class, new ByteBufferDeserializer());

    // Deal with (de)serializing of Date
    module.addSerializer(Date.class, DateSerializer.instance);
    module.addDeserializer(Date.class, new DateDeserializer());

    // Don't serialize things that are null
    this.setSerializationInclusion(JsonInclude.Include.NON_NULL);

    this.addMixInAnnotations(AttributeValue.class, AttributeValueMixIn.class);
    this.addMixInAnnotations(Record.class, RecordMixIn.class);
    this.addMixInAnnotations(StreamRecord.class, StreamRecordMixIn.class);
}

From source file:com.amazonaws.services.iot.client.shadow.AbstractAwsIotDevice.java

protected AbstractAwsIotDevice(String thingName) {
    this.thingName = thingName;

    reportedProperties = getDeviceProperties(true, false);
    updatableProperties = getDeviceProperties(false, true);
    commandManager = new AwsIotDeviceCommandManager(this);

    deviceSubscriptions = new ConcurrentHashMap<>();
    for (String topic : getDeviceTopics()) {
        deviceSubscriptions.put(topic, false);
    }//from  w ww. j  av  a2  s .co m

    jsonObjectMapper = new ObjectMapper();
    SimpleModule module = new SimpleModule();
    module.addSerializer(AbstractAwsIotDevice.class, new AwsIotJsonSerializer());
    jsonObjectMapper.registerModule(module);

    localVersion = new AtomicLong(-1);
}

From source file:java2typescript.jaxrs.ServiceDescriptorGenerator.java

/** Those classes will be transformed as "any" */
private void addDummyMappingForJAXRSClasses() {
    SimpleModule module = new SimpleModule("dummy jax-rs mappings");
    module.addSerializer(Response.class, new DummySerializer());
    module.addSerializer(UriInfo.class, new DummySerializer());
    module.addSerializer(Request.class, new DummySerializer());
    mapper.registerModule(module);//from  ww w  . ja va  2 s .c om
}

From source file:ijfx.ui.canvas.FxCanvasTester.java

@Override
public void start(Stage primaryStage) {

    final SCIFIO scifio = new SCIFIO();
    MenuBar menuBar = new MenuBar();
    InputControl parameterInput = null;// www . j a v  a 2 s. c o m
    try {
        System.setProperty("imagej.legacy.sync", "true");
        //reader.getContext().inject(this);
        ImageJ imagej = new ImageJ();
        context = imagej.getContext();
        CommandInfo command = imagej.command().getCommand(GaussianBlur.class);

        CommandModuleItem input = command.getInput("sigma");
        Class<?> type = input.getType();
        if (type == double.class) {
            type = Double.class;
        }

        context.inject(this);

        GaussianBlur module = new GaussianBlur();

        imagej.ui().showUI();

        //reader = scifio.initializer().initializeReader("./stack.tif");
        commandService.run(OpenFile.class, true, new HashMap<String, Object>());

        menuBar = new MenuBar();
        menuService.createMenus(new FxMenuCreator(), menuBar);
        ObjectMapper mapper = new ObjectMapper();
        SimpleModule simpleModule = new SimpleModule("ModuleSerializer");
        // simpleModule.addSerializer(ModuleItem<?>.class,new ModuleItemSerializer());
        simpleModule.addSerializer(ModuleInfo.class, new ModuleSerializer());
        simpleModule.addSerializer(ModuleItem.class, new ModuleItemSerializer());
        mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
        mapper.enable(SerializationFeature.INDENT_OUTPUT);
        mapper.registerModule(simpleModule);

        mapper.writeValue(new File("modules.json"), moduleService.getModules());

    } catch (Exception ex) {
        ImageJFX.getLogger();
    }

    //imageView.fitImageToScreen();
    Button reset = new Button("Reset");

    reset.setOnAction(event -> update());

    BorderPane pane = new BorderPane();

    Button test = new Button("Test");

    AnchorPane root = new AnchorPane();
    root.getChildren().add(pane);
    root.getStylesheets().add(ArcMenu.class.getResource("arc-default.css").toExternalForm());
    root.getStylesheets().add(ImageJFX.class.getResource(("flatterfx.css")).toExternalForm());
    AnchorPane.setTopAnchor(pane, 0.0);
    AnchorPane.setBottomAnchor(pane, 0.0);
    AnchorPane.setLeftAnchor(pane, 0.0);
    AnchorPane.setRightAnchor(pane, 0.0);
    pane.setTop(menuBar);

    HBox vbox = new HBox();
    vbox.getChildren().addAll(reset, test, parameterInput);
    vbox.setSpacing(10);
    vbox.setPadding(new Insets(10, 10, 10, 10));
    // update();
    pane.setCenter(ImageWindowContainer.getInstance());
    // pane.setPrefSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
    pane.setBottom(vbox);

    Scene scene = new Scene(root, 600, 600);

    test.setOnAction(event -> {

        test();
    });

    primaryStage.setTitle("ImageCanvasTest");
    primaryStage.setScene(scene);
    primaryStage.show();
}

From source file:be.wegenenverkeer.common.resteasy.json.RestJsonMapper.java

/**
 * No-arguments constructor./* w ww  .j  a  v  a 2 s. c  o  m*/
 */
public RestJsonMapper() {
    super();

    this.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    this.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    this.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);

    this.setDateFormat(new Iso8601AndOthersDateFormat());

    SimpleModule testModule = new SimpleModule("jsr310",
            new Version(1, 0, 0, "", "be.wegenenverkeer.common", "common-resteasy"));
    testModule.addDeserializer(LocalDate.class, new LocalDateDeserializer());
    testModule.addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer());
    testModule.addSerializer(LocalDate.class, new LocalDateSerializer());
    testModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer());
    this.registerModule(testModule);

    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    if (null == classLoader) {
        classLoader = this.getClass().getClassLoader();
    }
    try {
        Class clazz = classLoader.loadClass("com.fasterxml.jackson.datatype.joda.JodaModule");
        Object instance = clazz.newInstance();
        this.registerModule((Module) instance);
    } catch (Exception ex) {
        // ignore, we do not require joda-time, but inform the user
        LOG.warn("Add jackson-datatype-joda dependency for joda-time support.");
    }
}