@Override public boolean supportsFile(final InputFile path) { return supportsDefaultFile(path) || supportsConfiguredFile(path); }
public static TagImporter create(final Optional<PathConfig> config, final InputFile file, final ImportEventListener listener) { final LineConsumer lineConsumer = createLineConsumer(config, file, listener); return new TagImporter(lineConsumer, file); }
private static LineConsumer createLineConsumer(final Optional<PathConfig> config, final InputFile file, final ImportEventListener listener) { final List<LineConsumer> importers = new ArrayList<>(); importers.add(new LongTagImportingLineConsumer(file, listener)); if (config.isPresent()) { importers.add(new ShortTagImportingLineConsumer(config.get(), file, listener)); } return new DelegatingLineConsumer(importers); }
@Override void processMatch(final Matcher matcher, final int lineNumber, final int lineMatchCount) { final String coveredItemName = matcher.group(1); final String coveredItemRevision = matcher.group(2); final SpecificationItemId coveredId = createCoveredItem(coveredItemName, coveredItemRevision); final String generatedName = generateName(coveredId, lineNumber, lineMatchCount); final SpecificationItemId tagItemId = SpecificationItemId .createId(this.pathConfig.getTagArtifactType(), generatedName); LOG.finest(() -> "File " + this.file + ":" + lineNumber + ": found '" + tagItemId + "' covering id '" + coveredId + "'"); addItem(lineNumber, coveredId, tagItemId); }
@Override public Importer createImporter(final InputFile path, final ImportEventListener listener) { if (!supportsFile(path)) { throw new ImporterException("File '" + path + "' cannot be imported because it does not match any supported file patterns: " + DEFAULT_FILE_REGEX + " and " + getPathConfigs().collect(toList())); } final Optional<PathConfig> config = findConfig(path); return TagImporter.create(config, path, listener); }
private SpecificationItemId createCoveredItem(final String name, final String revision) { final int parsedRevision = parseRevision(name, revision); final String nameWithPrefix = getCoveredItemNamePrefix() + name; return SpecificationItemId.createId(this.pathConfig.getCoveredItemArtifactType(), nameWithPrefix, parsedRevision); }
private Optional<PathConfig> findConfig(final InputFile file) { return getPathConfigs() // .filter(config -> config.matches(file)) // .findFirst(); }
private boolean supportsConfiguredFile(final InputFile path) { return findConfig(path).isPresent(); }
@Override public void readLine(final int lineNumber, final String line) { final Matcher matcher = this.pattern.matcher(line); int counter = 0; while (matcher.find()) { this.processMatch(matcher, lineNumber, counter); counter++; } }
private Stream<PathConfig> getPathConfigs() { final ImportSettings settings = getContext().getImportSettings(); return settings == null ? Stream.empty() : settings.getPathConfigs().stream(); } }
@Override void processMatch(final Matcher matcher, final int lineNumber, final int lineMatchCount) { final String coveredItemName = matcher.group(1); final String coveredItemRevision = matcher.group(2); final SpecificationItemId coveredId = createCoveredItem(coveredItemName, coveredItemRevision); final String generatedName = generateName(coveredId, lineNumber, lineMatchCount); final SpecificationItemId tagItemId = SpecificationItemId .createId(this.pathConfig.getTagArtifactType(), generatedName); LOG.finest(() -> "File " + this.file + ":" + lineNumber + ": found '" + tagItemId + "' covering id '" + coveredId + "'"); addItem(lineNumber, coveredId, tagItemId); }
@Override public Importer createImporter(final InputFile path, final ImportEventListener listener) { if (!supportsFile(path)) { throw new ImporterException("File '" + path + "' cannot be imported because it does not match any supported file patterns: " + DEFAULT_FILE_REGEX + " and " + getPathConfigs().collect(toList())); } final Optional<PathConfig> config = findConfig(path); return TagImporter.create(config, path, listener); }
private SpecificationItemId createCoveredItem(final String name, final String revision) { final int parsedRevision = parseRevision(name, revision); final String nameWithPrefix = getCoveredItemNamePrefix() + name; return SpecificationItemId.createId(this.pathConfig.getCoveredItemArtifactType(), nameWithPrefix, parsedRevision); }
private static LineConsumer createLineConsumer(final Optional<PathConfig> config, final InputFile file, final ImportEventListener listener) { final List<LineConsumer> importers = new ArrayList<>(); importers.add(new LongTagImportingLineConsumer(file, listener)); if (config.isPresent()) { importers.add(new ShortTagImportingLineConsumer(config.get(), file, listener)); } return new DelegatingLineConsumer(importers); }
@Override public boolean supportsFile(final InputFile path) { return supportsDefaultFile(path) || supportsConfiguredFile(path); }
public static TagImporter create(final Optional<PathConfig> config, final InputFile file, final ImportEventListener listener) { final LineConsumer lineConsumer = createLineConsumer(config, file, listener); return new TagImporter(lineConsumer, file); }
private Optional<PathConfig> findConfig(final InputFile file) { return getPathConfigs() // .filter(config -> config.matches(file)) // .findFirst(); }
private boolean supportsConfiguredFile(final InputFile path) { return findConfig(path).isPresent(); }
@Override public void readLine(final int lineNumber, final String line) { final Matcher matcher = this.pattern.matcher(line); int counter = 0; while (matcher.find()) { this.processMatch(matcher, lineNumber, counter); counter++; } }
private Stream<PathConfig> getPathConfigs() { final ImportSettings settings = getContext().getImportSettings(); return settings == null ? Stream.empty() : settings.getPathConfigs().stream(); } }