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

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

Introduction

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

Prototype

public static Object deserialize(byte[] objectData) 

Source Link

Document

Deserializes a single Object from an array of bytes.

Usage

From source file:org.datacleaner.api.AnalyzerResultFutureTest.java

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

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

    future.addListener(new Listener<NumberResult>() {
        @Override/*  w w  w . j a v  a 2  s. com*/
        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.datacleaner.cli.MainTest.java

public void testWriteSerializedToFile() throws Throwable {
    String filename = "target/test_write_serialized_to_file.analysis.result.dat";
    Main.main(// w  w w  .j  a va  2  s . co  m
            ("-conf src/test/resources/cli-examples/conf.xml -job src/test/resources/cli-examples/employees_job.xml -of "
                    + filename + " -ot SERIALIZED").split(" "));

    File file = new File(filename);
    assertTrue(file.exists());

    AnalysisResult result = (AnalysisResult) SerializationUtils.deserialize(new FileInputStream(file));
    assertNotNull(result);
    assertEquals(6, result.getResults().size());
}

From source file:org.datacleaner.components.machinelearning.MLClassificationTransformer.java

@Validate
public void validate() throws IOException {
    if (!modelFile.exists()) {
        throw new IllegalArgumentException("Model file '" + modelFile + "' does not exist.");
    }//from www .j  ava2  s .c  o  m
    classifier = (MLClassifier) SerializationUtils.deserialize(Files.toByteArray(modelFile));

    MLComponentUtils.validateClassifierMapping(classifier, features);
}

From source file:org.datacleaner.components.machinelearning.MLClassificationTransformer.java

@Initialize
public void init() {
    try {//www .  j a  v  a2s  .c  o  m
        final byte[] bytes = Files.toByteArray(modelFile);
        classifier = (MLClassifier) SerializationUtils.deserialize(bytes);
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}

From source file:org.datacleaner.components.machinelearning.MLEvaluationAnalyzer.java

@Initialize
public void init() throws IOException {
    classifier = (MLClassifier) SerializationUtils.deserialize(Files.toByteArray(modelFile));
    confusionMatrixBuilder = new MLConfusionMatrixBuilder(classifier);
}

From source file:org.datacleaner.components.machinelearning.MLRegressionTransformer.java

@Validate
public void validate() throws IOException {
    if (!modelFile.exists()) {
        throw new IllegalArgumentException("Model file '" + modelFile + "' does not exist.");
    }//from  w  w w .j a  va  2  s  .c  om
    regressor = (MLRegressor) SerializationUtils.deserialize(Files.toByteArray(modelFile));

    MLComponentUtils.validateRegressorMapping(regressor, features);
}

From source file:org.datacleaner.components.machinelearning.MLRegressionTransformer.java

@Initialize
public void init() {
    try {// w  w w .  ja v a  2 s  . c  o  m
        final byte[] bytes = Files.toByteArray(modelFile);
        regressor = (MLRegressor) SerializationUtils.deserialize(bytes);
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }
}

From source file:org.datacleaner.result.AnnotatedRowResultTest.java

public void testSerializeAndDeserialize() throws Exception {
    RowAnnotationFactory annotationFactory = RowAnnotations.getDefaultFactory();
    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);//from  w ww.  j  a v  a2  s  .  c o m

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

From source file:org.datacleaner.storage.RowAnnotationImplTest.java

public void testSerializeAndDeserializeCurrentVersion() throws Exception {
    RowAnnotationImpl annotation1 = new RowAnnotationImpl();
    annotation1.incrementRowCount(20);//from   w w w .j a v a  2 s .c  o m

    byte[] bytes = SerializationUtils.serialize(annotation1);
    RowAnnotationImpl annotation2 = (RowAnnotationImpl) SerializationUtils.deserialize(bytes);

    assertEquals(20, annotation2.getRowCount());
}

From source file:org.datacleaner.test.full.scenarios.AnalyzeDateGapsCompareSchemasAndSerializeResultsTest.java

@SuppressWarnings("unchecked")
public void testScenario() throws Throwable {
    final DataCleanerConfiguration configuration;
    {//from ww  w .  j ava  2  s . 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 DataCleanerConfigurationImpl().withDatastores(datastore)
                .withEnvironment(new DataCleanerEnvironmentImpl().withDescriptorProvider(descriptorProvider));
    }

    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());

        FilterComponentBuilder<MaxRowsFilter, MaxRowsFilter.Category> maxRows = analysisJobBuilder
                .addFilter(MaxRowsFilter.class);
        maxRows.getComponentInstance().setMaxRows(5);
        analysisJobBuilder.setDefaultRequirement(maxRows.getFilterOutcome(MaxRowsFilter.Category.VALID));

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

        AnalyzerComponentBuilder<DateGapAnalyzer> dateGap = analysisJobBuilder
                .addAnalyzer(DateGapAnalyzer.class);
        dateGap.setName("date gap job");
        dateGap.getComponentInstance().setSingleDateOverlaps(true);
        dateGap.getComponentInstance()
                .setFromColumn((InputColumn<Date>) analysisJobBuilder.getSourceColumnByName("orderdate"));
        dateGap.getComponentInstance()
                .setToColumn((InputColumn<Date>) analysisJobBuilder.getSourceColumnByName("shippeddate"));
        dateGap.getComponentInstance().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);
}