Search in sources :

Example 86 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BeanTable method serializeValueBeanSet.

/**
 * for attribute valueBeanSet serialization
 */
public static byte[] serializeValueBeanSet(LinkedHashSet<Bean> value) {
    if (value == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (KriptonByteArrayOutputStream stream = new KriptonByteArrayOutputStream();
        JacksonWrapperSerializer wrapper = context.createSerializer(stream)) {
        JsonGenerator jacksonSerializer = wrapper.jacksonGenerator;
        jacksonSerializer.writeStartObject();
        int fieldCount = 0;
        if (value != null) {
            fieldCount++;
            // write wrapper tag
            jacksonSerializer.writeFieldName("element");
            jacksonSerializer.writeStartArray();
            for (Bean item : value) {
                if (item == null) {
                    jacksonSerializer.writeNull();
                } else {
                    beanBindMap.serializeOnJackson(item, jacksonSerializer);
                }
            }
            jacksonSerializer.writeEndArray();
        }
        jacksonSerializer.writeEndObject();
        jacksonSerializer.flush();
        return stream.toByteArray();
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonByteArrayOutputStream(com.abubusoft.kripton.common.KriptonByteArrayOutputStream) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperSerializer(com.abubusoft.kripton.persistence.JacksonWrapperSerializer) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException)

Example 87 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BeanTable method parseValueStringSet.

/**
 * for attribute valueStringSet parsing
 */
public static HashSet<String> parseValueStringSet(byte[] input) {
    if (input == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (JacksonWrapperParser wrapper = context.createParser(input)) {
        JsonParser jacksonParser = wrapper.jacksonParser;
        // START_OBJECT
        jacksonParser.nextToken();
        // value of "element"
        jacksonParser.nextValue();
        HashSet<String> result = null;
        if (jacksonParser.currentToken() == JsonToken.START_ARRAY) {
            HashSet<String> collection = new HashSet<>();
            String item = null;
            while (jacksonParser.nextToken() != JsonToken.END_ARRAY) {
                if (jacksonParser.currentToken() == JsonToken.VALUE_NULL) {
                    item = null;
                } else {
                    item = jacksonParser.getText();
                }
                collection.add(item);
            }
            result = collection;
        }
        return result;
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperParser(com.abubusoft.kripton.persistence.JacksonWrapperParser) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) JsonParser(com.fasterxml.jackson.core.JsonParser) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet)

Example 88 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BeanTable method parseValueByteSet.

/**
 * for attribute valueByteSet parsing
 */
public static Set<Byte> parseValueByteSet(byte[] input) {
    if (input == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (JacksonWrapperParser wrapper = context.createParser(input)) {
        JsonParser jacksonParser = wrapper.jacksonParser;
        // START_OBJECT
        jacksonParser.nextToken();
        // value of "element"
        jacksonParser.nextValue();
        Set<Byte> result = null;
        if (jacksonParser.currentToken() == JsonToken.START_ARRAY) {
            HashSet<Byte> collection = new HashSet<>();
            Byte item = null;
            while (jacksonParser.nextToken() != JsonToken.END_ARRAY) {
                if (jacksonParser.currentToken() == JsonToken.VALUE_NULL) {
                    item = null;
                } else {
                    item = jacksonParser.getByteValue();
                }
                collection.add(item);
            }
            result = collection;
        }
        return result;
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperParser(com.abubusoft.kripton.persistence.JacksonWrapperParser) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) JsonParser(com.fasterxml.jackson.core.JsonParser) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet)

Example 89 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BeanTable method serializeValueEnumTypeSet.

/**
 * for attribute valueEnumTypeSet serialization
 */
public static byte[] serializeValueEnumTypeSet(HashSet<EnumType> value) {
    if (value == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (KriptonByteArrayOutputStream stream = new KriptonByteArrayOutputStream();
        JacksonWrapperSerializer wrapper = context.createSerializer(stream)) {
        JsonGenerator jacksonSerializer = wrapper.jacksonGenerator;
        jacksonSerializer.writeStartObject();
        int fieldCount = 0;
        if (value != null) {
            fieldCount++;
            // write wrapper tag
            jacksonSerializer.writeFieldName("element");
            jacksonSerializer.writeStartArray();
            for (EnumType item : value) {
                if (item == null) {
                    jacksonSerializer.writeNull();
                } else {
                    jacksonSerializer.writeString(item.toString());
                }
            }
            jacksonSerializer.writeEndArray();
        }
        jacksonSerializer.writeEndObject();
        jacksonSerializer.flush();
        return stream.toByteArray();
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : JsonGenerator(com.fasterxml.jackson.core.JsonGenerator) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonByteArrayOutputStream(com.abubusoft.kripton.common.KriptonByteArrayOutputStream) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperSerializer(com.abubusoft.kripton.persistence.JacksonWrapperSerializer) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException)

Example 90 with KriptonJsonContext

use of com.abubusoft.kripton.KriptonJsonContext in project kripton by xcesco.

the class BeanTable method parseValueEnumTypeSet.

/**
 * for attribute valueEnumTypeSet parsing
 */
public static HashSet<EnumType> parseValueEnumTypeSet(byte[] input) {
    if (input == null) {
        return null;
    }
    KriptonJsonContext context = KriptonBinder.jsonBind();
    try (JacksonWrapperParser wrapper = context.createParser(input)) {
        JsonParser jacksonParser = wrapper.jacksonParser;
        // START_OBJECT
        jacksonParser.nextToken();
        // value of "element"
        jacksonParser.nextValue();
        HashSet<EnumType> result = null;
        if (jacksonParser.currentToken() == JsonToken.START_ARRAY) {
            HashSet<EnumType> collection = new HashSet<>();
            EnumType item = null;
            while (jacksonParser.nextToken() != JsonToken.END_ARRAY) {
                if (jacksonParser.currentToken() == JsonToken.VALUE_NULL) {
                    item = null;
                } else {
                    {
                        String tempEnum = jacksonParser.getText();
                        item = StringUtils.hasText(tempEnum) ? EnumType.valueOf(tempEnum) : null;
                    }
                }
                collection.add(item);
            }
            result = collection;
        }
        return result;
    } catch (Exception e) {
        throw (new KriptonRuntimeException(e.getMessage()));
    }
}
Also used : KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) KriptonJsonContext(com.abubusoft.kripton.KriptonJsonContext) JacksonWrapperParser(com.abubusoft.kripton.persistence.JacksonWrapperParser) KriptonRuntimeException(com.abubusoft.kripton.exception.KriptonRuntimeException) JsonParser(com.fasterxml.jackson.core.JsonParser) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet)

Aggregations

KriptonJsonContext (com.abubusoft.kripton.KriptonJsonContext)518 KriptonRuntimeException (com.abubusoft.kripton.exception.KriptonRuntimeException)514 KriptonByteArrayOutputStream (com.abubusoft.kripton.common.KriptonByteArrayOutputStream)257 JacksonWrapperParser (com.abubusoft.kripton.persistence.JacksonWrapperParser)257 JacksonWrapperSerializer (com.abubusoft.kripton.persistence.JacksonWrapperSerializer)257 JsonGenerator (com.fasterxml.jackson.core.JsonGenerator)257 JsonParser (com.fasterxml.jackson.core.JsonParser)257 ArrayList (java.util.ArrayList)142 HashMap (java.util.HashMap)42 HashSet (java.util.HashSet)40 LinkedHashSet (java.util.LinkedHashSet)38 LinkedList (java.util.LinkedList)26 Map (java.util.Map)23 BeanInner (sqlite.kripton58.BeanInner)18 LinkedHashMap (java.util.LinkedHashMap)16 BigDecimal (java.math.BigDecimal)12 Time (java.sql.Time)10 Date (java.util.Date)2 Test (org.junit.Test)2 AbstractBaseTest (bind.AbstractBaseTest)1