All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.buschmais.jqassistant.plugin.common.api.scanner.LocalFileSystemFileResolver Maven / Gradle / Ivy

package com.buschmais.jqassistant.plugin.common.api.scanner;

import java.util.HashMap;
import java.util.Map;

import com.buschmais.jqassistant.core.scanner.api.ScannerContext;
import com.buschmais.jqassistant.plugin.common.api.model.FileDescriptor;
import com.buschmais.xo.api.Query.Result;

/**
 * File resolver for the local file system using absolute paths.
 * 

*/ public class LocalFileSystemFileResolver extends AbstractFileResolver { public LocalFileSystemFileResolver() { super(LocalFileSystemFileResolver.class.getName()); } @Override public D require(String requiredPath, String containedPath, Class type, ScannerContext context) { return resolve(requiredPath, type, context); } @Override public D match(String containedPath, Class type, ScannerContext context) { return resolve(containedPath, type, context); } private D resolve(String requiredPath, Class type, ScannerContext context) { return getOrCreateAs(requiredPath, type, s -> { Map params = new HashMap<>(); params.put("fileName", s); Result result = context.getStore().executeQuery("MATCH (file:File) WHERE file.fileName=$fileName RETURN file", params); return result.hasResult() ? result.getSingleResult().get("file", FileDescriptor.class) : null; }, context); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy