Example usage for org.apache.commons.io FileUtils checksumCRC32

List of usage examples for org.apache.commons.io FileUtils checksumCRC32

Introduction

In this page you can find the example usage for org.apache.commons.io FileUtils checksumCRC32.

Prototype

public static long checksumCRC32(File file) throws IOException 

Source Link

Document

Computes the checksum of a file using the CRC32 checksum routine.

Usage

From source file:com.ebiznext.flume.source.TestMultiLineExecSource.java

@Test
public void testProcess() throws InterruptedException, LifecycleException, EventDeliveryException, IOException {
    Channel channel = new MemoryChannel();
    Context context = new Context();

    URL resource = Thread.currentThread().getContextClassLoader().getResource("server.log");
    assertNotNull(resource);//from   w w  w .  j  ava2s.co m

    context.put("command", format("cat %s", resource.getFile()));
    //      context.put("regex", ".*(\\s*.*(Exception|Error): .+)|.*(\\s+at .+)|.*(\\s*Caused by:.+)|.*(\\s+... (\\d+) more)");
    context.put("keep-alive", "1");
    context.put("capacity", "100000");
    context.put("transactionCapacity", "100000");
    Configurables.configure(source, context);
    Configurables.configure(channel, context);

    ChannelSelector rcs = new ReplicatingChannelSelector();
    rcs.setChannels(Lists.newArrayList(channel));

    source.setChannelProcessor(new ChannelProcessor(rcs));

    source.start();
    Transaction transaction = channel.getTransaction();

    transaction.begin();
    Event event;

    File actualFile = new File("/tmp/flume-execsource." + Thread.currentThread().getId());
    FileOutputStream outputStream = new FileOutputStream(actualFile);

    while ((event = channel.take()) != null) {
        byte[] bytes = event.getBody();
        outputStream.write(bytes);
        outputStream.write('\n');
    }

    outputStream.close();
    transaction.commit();
    transaction.close();

    source.stop();

    File expectedFile = new File(resource.getFile());

    assertEquals(FileUtils.checksumCRC32(expectedFile), FileUtils.checksumCRC32(actualFile));

    FileUtils.forceDelete(actualFile);
}

From source file:com.haulmont.cuba.core.sys.logging.LogArchiver.java

private static ArchiveEntry newArchive(File file) throws IOException {
    ZipArchiveEntry zipEntry = new ZipArchiveEntry(file.getName());
    zipEntry.setSize(file.length());//from  w w w.ja v a2  s. c o m
    zipEntry.setCompressedSize(zipEntry.getSize());
    zipEntry.setCrc(FileUtils.checksumCRC32(file));
    return zipEntry;
}

From source file:de.extra_standard.namespace.webservice.ExtraServiceImpl.java

@Override
@WebMethod(action = "http://www.extra-standard.de/namespace/webservice/execute")
@WebResult(name = "Transport", targetNamespace = "http://www.extra-standard.de/namespace/response/1", partName = "response")
public ResponseTransport execute(
        @WebParam(name = "Transport", targetNamespace = "http://www.extra-standard.de/namespace/request/1", partName = "request") final de.drv.dsrv.extrastandard.namespace.request.RequestTransport request)
        throws ExtraFault {
    try {//  w  ww  .  java  2  s  .  c om
        logger.info("receive Extra ResponseTransport");
        final Base64CharSequenceType base64CharSequence = request.getTransportBody().getData()
                .getBase64CharSequence();
        final DataHandler dataHandler = base64CharSequence.getValue();
        final InputStream inputStream = dataHandler.getInputStream();
        final SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        final String dateSuffix = sdf.format(new Date(System.currentTimeMillis()));
        final String dataHandlerName = dataHandler.getName();
        logger.info("Receiving File : " + dataHandlerName);
        final File receivedFile = new File(outputDirectory, dataHandlerName + "_" + dateSuffix);
        final FileOutputStream fileOutputStream = new FileOutputStream(receivedFile);
        IOUtils.copyLarge(inputStream, fileOutputStream);
        logger.info("Input file is stored under " + receivedFile.getAbsolutePath());
        logger.info("ChecksumCRC32 " + FileUtils.checksumCRC32(receivedFile));
        logger.info("Filesize: " + FileUtils.sizeOf(receivedFile));
    } catch (final IOException e) {
        logger.error("IOException in Server:", e);
    }
    // TODO TestTransport erzeugen!!
    final ResponseTransport responseTransport = new ResponseTransport();
    final ResponseTransportBody responseTransportBody = new ResponseTransportBody();
    final DataType dataType = new DataType();
    final Base64CharSequenceType base64CharSequenceType = new Base64CharSequenceType();
    final DataSource ds = new FileDataSource(testDataFile);
    final DataHandler dataHandler = new DataHandler(ds);
    base64CharSequenceType.setValue(dataHandler);
    dataType.setBase64CharSequence(base64CharSequenceType);
    responseTransportBody.setData(dataType);
    responseTransport.setTransportBody(responseTransportBody);
    return responseTransport;
}

From source file:com.chingo247.structureapi.plan.schematic.SchematicManager.java

private void filter(final List<File> schematics) {
    Set<Long> checksums = new HashSet<>();
    Iterator<File> it = schematics.iterator();
    while (it.hasNext()) {
        File file = it.next();/* w  w  w  .j a  v a  2s . c om*/
        try {
            long checksum = FileUtils.checksumCRC32(file);
            QSchematicData qsd = QSchematicData.schematicData;
            if (exists(checksum) || checksums.contains(checksum)) {
                it.remove();
            } else {
                checksums.add(checksum);
            }

        } catch (IOException ex) {
            Logger.getLogger(SchematicManager.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

From source file:com.igormaznitsa.jcp.usecases.AbstractUseCaseTest.java

private void assertFolder(final File folder1, final File folder2) throws Exception {
    assertTrue("Folder 1 must be folder", folder1.isDirectory());
    assertTrue("Folder 2 must be folder", folder2.isDirectory());

    final File[] folder1files = folder1.listFiles();
    File[] folde2files = folder2.listFiles();
    assertEquals("Must have the same number of files and folders", folder1files.length, folde2files.length);

    for (final File f : folder1files) {
        final File f2 = new File(folder2, f.getName());
        if (!f2.exists()) {
            fail("Doesn't exist :" + f2.getAbsolutePath());
        }//from ww  w.  ja  v a 2 s.  c  om
        if (f.isFile() && !f2.isFile()) {
            fail("Must be file : " + f2.getAbsolutePath());
        } else if (f.isDirectory()) {
            if (!f2.isDirectory())
                fail("Must be file : " + f2.getAbsolutePath());
            else
                assertFolder(f, f2);
        } else {
            final boolean equalsLength = f.length() == f2.length();
            if (!equalsLength) {
                final String fileOne = FileUtils.readFileToString(f, "UTF-8");
                final String fileTwo = FileUtils.readFileToString(f2, "UTF-8");

                System.err.println("FILE ONE=====================");
                System.err.println(fileOne);
                System.err.println("=============================");

                System.err.println("FILE TWO=====================");
                System.err.println(fileTwo);
                System.err.println("=============================");

                assertEquals("File content must be same", fileOne, fileTwo);
            }
            assertEquals("Checksum must be equal (" + f.getName() + ')', FileUtils.checksumCRC32(f),
                    FileUtils.checksumCRC32(f2));
        }
    }
}

From source file:com.cws.esolutions.agent.processors.impl.FileManagerProcessorImpl.java

public FileManagerResponse retrieveFile(final FileManagerRequest request) throws FileManagerException {
    final String methodName = IFileManagerProcessor.CNAME
            + "#retrieveFile(final ApplicationManagerRequest request) throws FileManagerException";

    if (DEBUG) {/* w w w .  j a  v  a2  s.  c o m*/
        DEBUGGER.debug(methodName);
        DEBUGGER.debug("FileManagerRequest: {}", request);
    }

    FileManagerResponse response = new FileManagerResponse();

    try {
        if (!(FileUtils.getFile(request.getRequestFile()).canRead())) {
            throw new FileManagerException("Unable to read the requested file.");
        }

        if (FileUtils.getFile(request.getRequestFile()).isDirectory()) {
            // list
            File[] fileList = FileUtils.getFile(request.getRequestFile()).listFiles();

            if ((fileList != null) && (fileList.length != 0)) {
                List<String> fileData = new ArrayList<String>();

                for (File file : fileList) {
                    if (DEBUG) {
                        DEBUGGER.debug("File: {}", file);
                    }

                    fileData.add(file.getName());
                }

                response.setDirListing(fileData);
                response.setFilePath(request.getRequestFile());
                response.setRequestStatus(AgentStatus.SUCCESS);
            } else {
                response.setRequestStatus(AgentStatus.FAILURE);
            }

            if (DEBUG) {
                DEBUGGER.debug("FileManagerResponse: {}", response);
            }
        } else {
            // file
            File retrievableFile = FileUtils.getFile(request.getRequestFile());

            if (DEBUG) {
                DEBUGGER.debug("File: {}", retrievableFile);
            }

            if ((retrievableFile.exists()) && (retrievableFile.canRead())) {
                byte[] fileBytes = FileUtils.readFileToByteArray(retrievableFile);

                if (DEBUG) {
                    DEBUGGER.debug("File data: {}", fileBytes);
                }

                response.setChecksum(FileUtils.checksumCRC32(retrievableFile));
                response.setFileData(fileBytes);
                response.setFileName(retrievableFile.getName());
                response.setFilePath(retrievableFile.getPath());
                response.setRequestStatus(AgentStatus.SUCCESS);

                if (DEBUG) {
                    DEBUGGER.debug("FileManagerResponse: {}", response);
                }
            } else {
                response.setRequestStatus(AgentStatus.FAILURE);
            }
        }
    } catch (IOException iox) {
        ERROR_RECORDER.error(iox.getMessage(), iox);

        throw new FileManagerException(iox.getMessage(), iox);
    }

    return response;
}

From source file:jmassivesort.algs.chunks.OneOffChunkReader_LF_ASCII_Test.java

private void checkMergedChunks(int fromChunksNum, int toChunksNum, File src, String outFileName)
        throws IOException {
    for (int i = fromChunksNum; i <= toChunksNum; i++) {
        File out = createTmpFile(src.getParent(), outFileName + "_" + i);

        try (BufferedOutputStream outWr = new BufferedOutputStream(new FileOutputStream(out))) {
            readChunksWriteToOutput(i, src, outWr);

            outWr.close();/*from  w w w  .j a va2  s.  c  o m*/
            assertEquals("failed on numChunks=" + i, FileUtils.checksumCRC32(src),
                    FileUtils.checksumCRC32(out));
            FileUtils.forceDelete(out);
        }
    }
}

From source file:algorithm.QRCodeWatermarkingTest.java

@Test
public void onCarrierTest() {
    try {/*  w w w. ja v a2 s  . co  m*/
        File carrier = TestDataProvider.PNG_FILE;
        File payload = TestDataProvider.TXT_FILE;
        QRCodeWatermarking algorithm = new QRCodeWatermarking();
        // Test if it works, if the position is not (0,0):
        algorithm.yPositionField.setText("2");
        algorithm.xPositionField.setText("2");
        // Test encapsulation:
        List<File> payloadList = new ArrayList<File>();
        payloadList.add(payload);
        // on carrier encapsulation:
        algorithm.setCarrierEncapsulation(true);
        File outputFile = algorithm.encapsulate(carrier, payloadList);
        assertNotNull(outputFile);
        // Test restore - on carrier encapsulation:
        List<RestoredFile> restoredFiles = algorithm.restore(outputFile);
        assertEquals(restoredFiles.size(), 2);
        RestoredFile restoredPayload = null;
        RestoredFile restoredCarrier = null;
        if (restoredFiles.get(0).wasPayload) {
            restoredPayload = restoredFiles.get(0);
            restoredCarrier = restoredFiles.get(1);
        } else {
            restoredPayload = restoredFiles.get(1);
            restoredCarrier = restoredFiles.get(0);
        }
        assertNotNull(restoredPayload);
        assertNotNull(restoredCarrier);
        assertEquals(FileUtils.checksumCRC32(payload), FileUtils.checksumCRC32(restoredPayload));
        // carrier is equal to qr code image:
        assertEquals(FileUtils.checksumCRC32(restoredCarrier), FileUtils.checksumCRC32(outputFile));
        // check restoration metadata:
        assertEquals(payload.getName(), restoredPayload.getName());
        assertEquals(carrier.getName(), restoredCarrier.getName());
        assertEquals(algorithm, restoredPayload.algorithm);
        assertEquals(algorithm, restoredCarrier.algorithm);
        assertTrue(restoredPayload.checksumValid);
        assertTrue(restoredPayload.wasPayload);
        assertFalse(restoredPayload.wasCarrier);
        assertTrue(restoredCarrier.wasCarrier);
        assertFalse(restoredCarrier.wasPayload);
        assertFalse(restoredPayload.relatedFiles.contains(restoredPayload));
        assertTrue(restoredPayload.relatedFiles.contains(restoredCarrier));
        assertTrue(restoredCarrier.relatedFiles.contains(restoredPayload));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:jmassivesort.algs.chunks.SequentialChunkReader_LF_ASCII_Test.java

private void readChunkByChunk(int minChunkSz, int maxChunkSz, int inc, File src, String outFileName)
        throws IOException {
    for (int i = minChunkSz; i <= maxChunkSz; i += inc) {
        File out = createTmpFile(src.getParent(), outFileName + "_" + i);

        try (BufferedOutputStream outWr = new BufferedOutputStream(new FileOutputStream(out))) {
            readAllChunksAndWriteToOutput(i, src, outWr);

            outWr.close();//from  w  w  w. ja va 2 s . c  o  m
            assertEquals("failed on chunkSize=" + i, FileUtils.checksumCRC32(src),
                    FileUtils.checksumCRC32(out));
            FileUtils.forceDelete(out);
        }
    }
}

From source file:it.geosolutions.geostore.services.rest.auditing.AuditingConfiguration.java

private long checksum(File file) {
    try {//from  w  w w  . j  av a 2 s. c  om
        return FileUtils.checksumCRC32(file);
    } catch (Exception exception) {
        throw new AuditingException(exception, "Error computing checksum of file '%s'.", file.getPath());
    }
}