Example usage for org.springframework.core.io FileSystemResource FileSystemResource

List of usage examples for org.springframework.core.io FileSystemResource FileSystemResource

Introduction

In this page you can find the example usage for org.springframework.core.io FileSystemResource FileSystemResource.

Prototype

public FileSystemResource(Path filePath) 

Source Link

Document

Create a new FileSystemResource from a Path handle, performing all file system interactions via NIO.2 instead of File .

Usage

From source file:com.glaf.core.todo.service.SysTodoServiceImpl.java

@Transactional
public void reloadConfig() throws Exception {
    Map<Long, Todo> todoMap = new LinkedHashMap<Long, Todo>();
    List<Todo> rows = this.getTodoList();
    if (rows != null && rows.size() > 0) {
        Iterator<Todo> iterator = rows.iterator();
        while (iterator.hasNext()) {
            Todo todo = iterator.next();
            todoMap.put(todo.getId(), todo);
        }//from ww w.  ja v  a 2s .c om
    }
    TodoXmlReader reader = new TodoXmlReader();
    String configPath = SystemProperties.getConfigRootPath() + TodoUtils.TODO_CONFIG;
    File file = new File(configPath);
    if (file.isDirectory()) {
        String[] filelist = file.list();
        if (filelist != null) {
            for (int i = 0, len = filelist.length; i < len; i++) {
                String filename = filelist[i];
                if (filename.toLowerCase().endsWith(".xml")) {
                    Resource resource = new FileSystemResource(configPath + filename);

                    List<Todo> todos = reader.read(resource.getInputStream());
                    Iterator<Todo> iterator = todos.iterator();
                    while (iterator.hasNext()) {
                        Todo todo = iterator.next();
                        Todo model = todoMap.get(todo.getId());
                        if (model != null) {
                            if (model.getConfigFlag() != 1) {
                                this.deleteById(model.getId());
                                if (todo.getId() == null) {
                                    todo.setId(idGenerator.nextId());
                                }
                                this.save(todo);
                            }
                        } else {

                            this.save(todo);
                        }
                    }
                }
            }
        }
    }
}

From source file:com.laxser.blitz.scanning.BlitzScanner.java

/**
 * ????(WEB-INF/classestarget/classes?)//from w w  w  .j  ava  2  s  .c om
 * 
 * @param resourceLoader
 * @return
 * @throws IOException
 * @throws URISyntaxException
 */
public List<ResourceRef> getClassesFolderResources() throws IOException {
    if (classesFolderResources == null) {
        if (logger.isInfoEnabled()) {
            logger.info("[classesFolder] start to found available classes folders ...");
        }
        List<ResourceRef> classesFolderResources = new ArrayList<ResourceRef>();
        Enumeration<URL> founds = resourcePatternResolver.getClassLoader().getResources("");
        while (founds.hasMoreElements()) {
            URL urlObject = founds.nextElement();
            if (!"file".equals(urlObject.getProtocol())) {
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] Ignored classes folder because " + "not a file protocol url: "
                            + urlObject);
                }
                continue;
            }
            String path = urlObject.getPath();
            Assert.isTrue(path.endsWith("/"));
            if (!path.endsWith("/classes/") && !path.endsWith("/bin/")) {
                if (logger.isInfoEnabled()) {
                    logger.info("[classesFolder] Ignored classes folder because "
                            + "not ends with '/classes/' or '/bin/': " + urlObject);
                }
                continue;
            }
            File file;
            try {
                file = new File(urlObject.toURI());
            } catch (URISyntaxException e) {
                throw new IOException(e);
            }
            if (file.isFile()) {
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] Ignored because not a directory: " + urlObject);
                }
                continue;
            }
            Resource resource = new FileSystemResource(file);
            ResourceRef resourceRef = ResourceRef.toResourceRef(resource);
            if (classesFolderResources.contains(resourceRef)) {
                // ???
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] remove replicated classes folder: " + resourceRef);
                }
            } else {
                classesFolderResources.add(resourceRef);
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] add classes folder: " + resourceRef);
                }
            }
        }
        // ?????
        Collections.sort(classesFolderResources);
        List<ResourceRef> toRemove = new LinkedList<ResourceRef>();
        for (int i = 0; i < classesFolderResources.size(); i++) {
            ResourceRef ref = classesFolderResources.get(i);
            String refURI = ref.getResource().getURI().toString();
            for (int j = i + 1; j < classesFolderResources.size(); j++) {
                ResourceRef refj = classesFolderResources.get(j);
                String refjURI = refj.getResource().getURI().toString();
                if (refURI.startsWith(refjURI)) {
                    toRemove.add(refj);
                    if (logger.isInfoEnabled()) {
                        logger.info("[classesFolder] remove wrapper classes folder: " //
                                + refj);
                    }
                } else if (refjURI.startsWith(refURI) && refURI.length() != refjURI.length()) {
                    toRemove.add(ref);
                    if (logger.isInfoEnabled()) {
                        logger.info("[classesFolder] remove wrapper classes folder: " //
                                + ref);
                    }
                }
            }
        }
        classesFolderResources.removeAll(toRemove);
        //
        this.classesFolderResources = new ArrayList<ResourceRef>(classesFolderResources);
        if (logger.isInfoEnabled()) {
            logger.info("[classesFolder] found " + classesFolderResources.size() + " classes folders: "
                    + classesFolderResources);
        }
    } else {
        if (logger.isInfoEnabled()) {
            logger.info("[classesFolder] found cached " + classesFolderResources.size() + " classes folders: "
                    + classesFolderResources);
        }
    }
    return Collections.unmodifiableList(classesFolderResources);
}

From source file:com.gzj.tulip.load.RoseScanner.java

/**
 * ????(WEB-INF/classestarget/classes?)//  ww  w  .  j a v  a2 s . com
 * 
 * @param resourceLoader
 * @return
 * @throws IOException
 * @throws URISyntaxException
 */
public List<ResourceRef> getClassesFolderResources() throws IOException {
    if (classesFolderResources == null) {
        if (logger.isInfoEnabled()) {
            logger.info("[classesFolder] start to found available classes folders ...");
        }
        List<ResourceRef> classesFolderResources = new ArrayList<ResourceRef>();
        Enumeration<URL> founds = resourcePatternResolver.getClassLoader().getResources("");
        while (founds.hasMoreElements()) {
            URL urlObject = founds.nextElement();
            if (!"file".equals(urlObject.getProtocol())) {
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] Ignored classes folder because " + "not a file protocol url: "
                            + urlObject);
                }
                continue;
            }
            String path = urlObject.getPath();
            Assert.isTrue(path.endsWith("/"));
            //                if (!path.endsWith("/classes/") && !path.endsWith("/bin/")) {
            //                    if (logger.isInfoEnabled()) {
            //                        logger.info("[classesFolder] Ignored classes folder because "
            //                                + "not ends with '/classes/' or '/bin/': " + urlObject);
            //                    }
            //                    continue;
            //                }
            File file;
            try {
                file = new File(urlObject.toURI());
            } catch (URISyntaxException e) {
                throw new IOException(e);
            }
            if (file.isFile()) {
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] Ignored because not a directory: " + urlObject);
                }
                continue;
            }
            Resource resource = new FileSystemResource(file);
            ResourceRef resourceRef = ResourceRef.toResourceRef(resource);
            if (classesFolderResources.contains(resourceRef)) {
                // ???
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] remove replicated classes folder: " + resourceRef);
                }
            } else {
                classesFolderResources.add(resourceRef);
                if (logger.isDebugEnabled()) {
                    logger.debug("[classesFolder] add classes folder: " + resourceRef);
                }
            }
        }
        // ?????
        Collections.sort(classesFolderResources);
        List<ResourceRef> toRemove = new LinkedList<ResourceRef>();
        for (int i = 0; i < classesFolderResources.size(); i++) {
            ResourceRef ref = classesFolderResources.get(i);
            String refURI = ref.getResource().getURI().toString();
            for (int j = i + 1; j < classesFolderResources.size(); j++) {
                ResourceRef refj = classesFolderResources.get(j);
                String refjURI = refj.getResource().getURI().toString();
                if (refURI.startsWith(refjURI)) {
                    toRemove.add(refj);
                    if (logger.isInfoEnabled()) {
                        logger.info("[classesFolder] remove wrapper classes folder: " //
                                + refj);
                    }
                } else if (refjURI.startsWith(refURI) && refURI.length() != refjURI.length()) {
                    toRemove.add(ref);
                    if (logger.isInfoEnabled()) {
                        logger.info("[classesFolder] remove wrapper classes folder: " //
                                + ref);
                    }
                }
            }
        }
        classesFolderResources.removeAll(toRemove);
        //
        this.classesFolderResources = new ArrayList<ResourceRef>(classesFolderResources);
        if (logger.isInfoEnabled()) {
            logger.info("[classesFolder] found " + classesFolderResources.size() + " classes folders: "
                    + classesFolderResources);
        }
    } else {
        if (logger.isInfoEnabled()) {
            logger.info("[classesFolder] found cached " + classesFolderResources.size() + " classes folders: "
                    + classesFolderResources);
        }
    }
    return Collections.unmodifiableList(classesFolderResources);
}

From source file:com.adaptc.mws.plugins.testing.transformations.TestForTransformation.java

private Resource resolvePathToResource(String pathPattern) {
    File file = new File(pathPattern);
    if (file.exists() && !file.isDirectory())
        return new FileSystemResource(file);
    return null;/*from  www . j a  va2s  . c o  m*/
}

From source file:org.eclipse.swordfish.core.test.util.spring.LocalFileSystemMavenRepository.java

/**
 * Return the resource of the indicated bundle in the local Maven repository
 * /*from w  w w .  j  a va  2  s  .  co m*/
 * @param groupId - the groupId of the organization supplying the bundle
 * @param artifact - the artifact id of the bundle
 * @param version - the version of the bundle
 * @return
 */
protected Resource localMavenBundle(String groupId, String artifact, String version, String type) {
    StringBuffer location = new StringBuffer(groupId.replace('.', SLASH_CHAR));
    location.append(SLASH_CHAR);
    location.append(artifact);
    location.append(SLASH_CHAR);
    location.append(version);
    location.append(SLASH_CHAR);
    location.append(artifact);
    location.append('-');
    location.append(version);
    location.append(".");
    location.append(type);

    return new FileSystemResource(new File(repositoryHome, location.toString()));
}

From source file:fr.acxio.tools.agia.tasks.FileCopyTaskletTest.java

@Test
public void testExecuteDeleteAndEmptyOrigin() throws Exception {
    FileCopyTasklet aTasklet = new FileCopyTasklet();
    aTasklet.setOrigin(new FileSystemResource("src/test/resources/testFiles/input.csv"));
    aTasklet.setDestination(new FileSystemResource("target/input-copyA.csv"));
    aTasklet.execute(null, null);//from  w  ww . java2s  . c  o  m

    assertTrue(aTasklet.getDestination().getFile().exists());
    assertTrue(aTasklet.getDestination().getFile().length() > 0);

    aTasklet.setDeleteOrigin(true);
    aTasklet.setEmptyOrigin(true); // Empty has higher priority
    aTasklet.setOrigin(new FileSystemResource("target/input-copyA.csv"));
    aTasklet.setDestination(new FileSystemResource("target/input-copyB.csv"));
    aTasklet.execute(null, null);

    assertTrue(aTasklet.getDestination().getFile().exists());
    assertTrue(aTasklet.getOrigin().getFile().exists());
    assertEquals(0, aTasklet.getOrigin().getFile().length());
}

From source file:de.langmi.spring.batch.examples.readers.file.archive.ArchiveMultiResourceItemReaderTest.java

/**
 * Test with multiple tar files, together they contain 6 text files with 20 
 * lines each./* w w  w  .  j a va2  s  . com*/
 *
 * @throws Exception 
 */
@Test
public void testMultipleTarFiles() throws Exception {
    LOG.debug("testMultipleTarFiles");
    ArchiveMultiResourceItemReader<String> mReader = new ArchiveMultiResourceItemReader<String>();
    // setup multResourceReader
    mReader.setArchives(new Resource[] {
            new FileSystemResource("src/test/resources/input/file/archive/input_nested_dir.tar"),
            new FileSystemResource("src/test/resources/input/file/archive/input.tar") });

    // call general setup last
    generalMultiResourceReaderSetup(mReader);

    // open with mock context
    mReader.open(MetaDataInstanceFactory.createStepExecution().getExecutionContext());

    // read
    try {
        String item = null;
        int count = 0;
        do {
            item = mReader.read();
            if (item != null) {
                count++;
            }
        } while (item != null);
        assertEquals(120, count);
    } catch (Exception e) {
        throw e;
    } finally {
        mReader.close();
    }
}

From source file:com.artivisi.belajar.restful.ui.controller.ApplicationConfigControllerTestIT.java

@SuppressWarnings("unchecked")
@Test//ww w .j  av  a2s  .  c o m
public void testUploadPakaiRestTemplate() {
    RestTemplate rest = new RestTemplate();

    String jsessionid = rest.execute(login, HttpMethod.POST, new RequestCallback() {
        @Override
        public void doWithRequest(ClientHttpRequest request) throws IOException {
            request.getBody().write(("j_username=" + username + "&j_password=" + password).getBytes());
        }
    }, new ResponseExtractor<String>() {
        @Override
        public String extractData(ClientHttpResponse response) throws IOException {
            List<String> cookies = response.getHeaders().get("Cookie");

            // assuming only one cookie with jsessionid as the only value
            if (cookies == null) {
                cookies = response.getHeaders().get("Set-Cookie");
            }

            String cookie = cookies.get(cookies.size() - 1);

            int start = cookie.indexOf('=');
            int end = cookie.indexOf(';');

            return cookie.substring(start + 1, end);
        }
    });

    MultiValueMap<String, Object> form = new LinkedMultiValueMap<String, Object>();
    form.add("foto", new FileSystemResource("src/test/resources/foto-endy.jpg"));
    form.add("Filename", "cv-endy.pdf");
    form.add("cv", new FileSystemResource("src/test/resources/resume-endy-en.pdf"));
    form.add("keterangan", "File Endy");
    Map<String, String> result = rest.postForObject(target + "/abc123/files;jsessionid=" + jsessionid, form,
            Map.class);

    assertEquals("success", result.get("cv"));
    assertEquals("success", result.get("foto"));
    assertEquals("success", result.get("keterangan"));
}

From source file:com.consol.citrus.admin.service.ProjectService.java

/**
 * Reads default Citrus project property file for active project.
 * @return properties loaded or empty properties if nothing is found
 *///from ww  w.jav a 2s.  c om
public Properties getProjectProperties() {
    File projectProperties = fileBrowserService.findFileInPath(new File(project.getProjectHome()),
            "citrus.properties", true);

    try {
        if (projectProperties != null) {
            return PropertiesLoaderUtils.loadProperties(new FileSystemResource(projectProperties));
        }
    } catch (IOException e) {
        log.warn("Unable to read default Citrus project properties from file resource", e);
    }

    return new Properties();
}