Example usage for org.apache.commons.lang SerializationUtils serialize

List of usage examples for org.apache.commons.lang SerializationUtils serialize

Introduction

In this page you can find the example usage for org.apache.commons.lang SerializationUtils serialize.

Prototype

public static byte[] serialize(Serializable obj) 

Source Link

Document

Serializes an Object to a byte array for storage/serialization.

Usage

From source file:org.eobjects.analyzer.result.AnalyzerResultFutureTest.java

public void testSerializationAndDeserialization() throws Exception {
    final NumberResult result1 = new NumberResult(42);

    final AnalyzerResultFuture<NumberResult> future = new AnalyzerResultFuture<>("foo",
            new ImmutableRef<NumberResult>(result1));

    future.addListener(new Listener<NumberResult>() {
        @Override/*from  w  ww  .ja  v a  2 s .co  m*/
        public void onSuccess(NumberResult result) {
            // do nothing - this is just a non-serializable listener
        }

        @Override
        public void onError(RuntimeException error) {
            // do nothing - this is just a non-serializable listener
        }
    });

    final byte[] bytes = SerializationUtils.serialize(future);

    final AnalyzerResultFuture<?> copy = (AnalyzerResultFuture<?>) SerializationUtils.deserialize(bytes);

    assertEquals("foo", copy.getName());
    assertEquals("42", copy.get().toString());
}

From source file:org.eobjects.analyzer.result.AnnotatedRowResultTest.java

public void testSerializeAndDeserialize() throws Exception {
    RowAnnotationFactory annotationFactory = new InMemoryRowAnnotationFactory();
    RowAnnotation annotation = annotationFactory.createAnnotation();
    InputColumn<String> col1 = new MockInputColumn<String>("foo", String.class);
    InputColumn<String> col2 = new MockInputColumn<String>("bar", String.class);

    annotationFactory.annotate(new MockInputRow().put(col1, "1").put(col2, "2"), 1, annotation);
    annotationFactory.annotate(new MockInputRow().put(col1, "3").put(col2, "4"), 1, annotation);

    AnnotatedRowsResult result1 = new AnnotatedRowsResult(annotation, annotationFactory, col1);
    performAssertions(result1);/*w w  w .j  a va2 s  . co  m*/

    AnnotatedRowsResult result2 = (AnnotatedRowsResult) SerializationUtils
            .deserialize(SerializationUtils.serialize(result1));
    performAssertions(result2);
}

From source file:org.eobjects.analyzer.test.full.scenarios.AnalyzeDateGapsCompareSchemasAndSerializeResultsTest.java

@SuppressWarnings("unchecked")
public void testScenario() throws Throwable {
    final AnalyzerBeansConfiguration configuration;
    {/* ww  w. j a  v a  2s  . co  m*/
        // create configuration
        SimpleDescriptorProvider descriptorProvider = new SimpleDescriptorProvider();
        descriptorProvider.addAnalyzerBeanDescriptor(Descriptors.ofAnalyzer(DateGapAnalyzer.class));
        descriptorProvider.addFilterBeanDescriptor(Descriptors.ofFilter(MaxRowsFilter.class));
        descriptorProvider
                .addTransformerBeanDescriptor(Descriptors.ofTransformer(ConvertToStringTransformer.class));
        Datastore datastore = TestHelper.createSampleDatabaseDatastore("orderdb");
        configuration = new AnalyzerBeansConfigurationImpl().replace(descriptorProvider)
                .replace(new DatastoreCatalogImpl(datastore));
    }

    AnalysisJob job;
    {
        // create job
        AnalysisJobBuilder analysisJobBuilder = new AnalysisJobBuilder(configuration);
        Datastore datastore = configuration.getDatastoreCatalog().getDatastore("orderdb");
        analysisJobBuilder.setDatastore(datastore);
        analysisJobBuilder.addSourceColumns("PUBLIC.ORDERS.ORDERDATE", "PUBLIC.ORDERS.SHIPPEDDATE",
                "PUBLIC.ORDERS.CUSTOMERNUMBER");
        assertEquals(3, analysisJobBuilder.getSourceColumns().size());

        FilterJobBuilder<MaxRowsFilter, MaxRowsFilter.Category> maxRows = analysisJobBuilder
                .addFilter(MaxRowsFilter.class);
        maxRows.getConfigurableBean().setMaxRows(5);
        analysisJobBuilder.setDefaultRequirement(maxRows.getOutcome(MaxRowsFilter.Category.VALID));

        TransformerJobBuilder<ConvertToStringTransformer> convertToNumber = analysisJobBuilder
                .addTransformer(ConvertToStringTransformer.class);
        convertToNumber.addInputColumn(analysisJobBuilder.getSourceColumnByName("customernumber"));
        InputColumn<String> customer_no = (InputColumn<String>) convertToNumber.getOutputColumns().get(0);

        AnalyzerJobBuilder<DateGapAnalyzer> dateGap = analysisJobBuilder.addAnalyzer(DateGapAnalyzer.class);
        dateGap.setName("date gap job");
        dateGap.getConfigurableBean().setSingleDateOverlaps(true);
        dateGap.getConfigurableBean()
                .setFromColumn((InputColumn<Date>) analysisJobBuilder.getSourceColumnByName("orderdate"));
        dateGap.getConfigurableBean()
                .setToColumn((InputColumn<Date>) analysisJobBuilder.getSourceColumnByName("shippeddate"));
        dateGap.getConfigurableBean().setGroupColumn(customer_no);

        job = analysisJobBuilder.toAnalysisJob();
        analysisJobBuilder.close();
    }

    AnalysisResultFuture future = new AnalysisRunnerImpl(configuration).run(job);
    if (future.isErrornous()) {
        throw future.getErrors().get(0);
    }
    assertTrue(future.isSuccessful());

    SimpleAnalysisResult result1 = new SimpleAnalysisResult(future.getResultMap());
    byte[] bytes = SerializationUtils.serialize(result1);
    SimpleAnalysisResult result2 = (SimpleAnalysisResult) SerializationUtils.deserialize(bytes);

    performResultAssertions(job, future);
    performResultAssertions(job, result1);
    performResultAssertions(job, result2);
}

From source file:org.eobjects.analyzer.util.convert.StandardTypeConverter.java

@Override
public String toString(Object o) {
    if (o instanceof Calendar) {
        // will now be picked up by the date conversion
        o = ((Calendar) o).getTime();
    }//from  w  w  w  .j a va 2 s .c o  m

    final String result;
    if (o instanceof Boolean || o instanceof Number || o instanceof String || o instanceof Character) {
        result = o.toString();
    } else if (o instanceof File) {
        File file = (File) o;
        if (file.isAbsolute()) {
            result = file.getAbsolutePath().replace('\\', '/');
        } else {
            result = file.getPath().replace('\\', '/');
        }
    } else if (o instanceof Date) {
        if (o instanceof ExpressionDate) {
            // preserve the expression if it is an ExpressionDate
            result = ((ExpressionDate) o).getExpression();
        } else {
            result = new SimpleDateFormat(dateFormatString).format((Date) o);
        }
    } else if (o instanceof Pattern) {
        result = o.toString();
    } else if (o instanceof Enum) {
        return ((Enum<?>) o).name();
    } else if (o instanceof Class) {
        result = ((Class<?>) o).getName();
    } else if (o instanceof Serializable) {
        logger.info("toString(...): No built-in handling of type: {}, using serialization.",
                o.getClass().getName());
        byte[] bytes = SerializationUtils.serialize((Serializable) o);
        result = parentConverter.toString(bytes);
    } else {
        logger.warn("toString(...): Could not convert type: {}", o.getClass().getName());
        result = o.toString();
    }
    return result;
}

From source file:org.eqaula.glue.model.BussinesEntityAttribute.java

public void setValue(Object value) {
    setValueByteArray(SerializationUtils.serialize((Serializable) value));
}

From source file:org.eqaula.glue.model.Property.java

public void setValue(Serializable value) {
    setValueByteArray(SerializationUtils.serialize((Serializable) value));
}

From source file:org.gatherdata.commons.io.MimeSerializer.java

public static byte[] serialize(String mimeType, Serializable data) {
    byte[] serialized = null;

    if (mimeType != null) {
        if (mimeType.equals(MimeTypes.TEXT_PLAIN)) {
            try {
                serialized = ((String) data).getBytes(UTF_8_CHARSET);
            } catch (UnsupportedEncodingException e) {
                // UTF-8 is a required encoding for all platforms,
                // so getting this exception is a fatal problem for
                // the platform.
                throw new RuntimeException("UTF-8 encoding not supported on platform.", e);
            }// www .ja v a  2s  . c  o  m
        } else if (mimeType.equals(MimeTypes.OCTET_STREAM)) {
            serialized = (byte[]) data;
        } else {
            serialized = SerializationUtils.serialize(data);
        }
    }

    return serialized;
}

From source file:org.geomajas.plugin.caching.configuration.CacheInfoTest.java

@Test
public void testCacheInfoSerializable() {
    CacheInfo cacheInfo = new CacheInfo();
    cacheInfo.setId("id");
    Map<CacheCategory, CacheConfiguration> configurationMap = new HashMap<CacheCategory, CacheConfiguration>();
    configurationMap.put(CacheCategory.BOUNDS, new CacheConfigurationDummy());
    cacheInfo.setConfiguration(configurationMap);
    SerializationUtils.serialize(cacheInfo);
}

From source file:org.geomajas.plugin.caching.service.CacheCategoryTest.java

@Test
public void testCacheCategorySerializable() {
    CacheCategory cacheCategory = new CacheCategory("nieuw");
    CacheCategory clone = (CacheCategory) SerializationUtils.clone(cacheCategory);
    SerializationUtils.serialize(cacheCategory);
}

From source file:org.gradle.api.internal.changedetection.state.TaskExecution.java

private static void appendToCacheKey(TaskCacheKeyBuilder builder, Object value) {
    if (value == null) {
        builder.putString("$NULL");
        return;/*from   w  w  w  .ja va  2s.c o  m*/
    }

    if (value.getClass().isArray()) {
        builder.putString("Array");
        for (int idx = 0, len = Array.getLength(value); idx < len; idx++) {
            builder.putInt(idx);
            appendToCacheKey(builder, Array.get(value, idx));
        }
        return;
    }

    if (value instanceof Iterable) {
        builder.putString("Iterable");
        int idx = 0;
        for (Object elem : (Iterable<?>) value) {
            builder.putInt(idx);
            appendToCacheKey(builder, elem);
            idx++;
        }
        return;
    }

    if (value instanceof Map) {
        builder.putString("Map");
        int idx = 0;
        for (Map.Entry<?, ?> entry : ((Map<?, ?>) value).entrySet()) {
            builder.putInt(idx);
            appendToCacheKey(builder, entry.getKey());
            appendToCacheKey(builder, entry.getValue());
            idx++;
        }
        return;
    }

    if (value instanceof Boolean) {
        builder.putBoolean((Boolean) value);
    } else if (value instanceof Integer) {
        builder.putInt((Integer) value);
    } else if (value instanceof Short) {
        builder.putInt((Short) value);
    } else if (value instanceof Byte) {
        builder.putInt((Byte) value);
    } else if (value instanceof Double) {
        builder.putDouble((Double) value);
    } else if (value instanceof Float) {
        builder.putDouble((Float) value);
    } else if (value instanceof BigInteger) {
        builder.putBytes(((BigInteger) value).toByteArray());
    } else if (value instanceof CharSequence) {
        builder.putString((CharSequence) value);
    } else if (value instanceof Enum) {
        builder.putString(value.getClass().getName());
        builder.putString(((Enum) value).name());
    } else {
        byte[] bytes = SerializationUtils.serialize((Serializable) value);
        builder.putBytes(bytes);
    }
}