List of usage examples for org.apache.commons.lang SerializationUtils deserialize
public static Object deserialize(byte[] objectData)
Deserializes a single Object
from an array of bytes.
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); }