Browse Source

Move static method in superclass

pull/349/head
Decebal Suiu 5 years ago
parent
commit
41f5ade508
  1. 22
      pf4j/src/main/java/org/pf4j/processor/ExtensionStorage.java
  2. 21
      pf4j/src/main/java/org/pf4j/processor/LegacyExtensionStorage.java
  3. 21
      pf4j/src/main/java/org/pf4j/processor/ServiceProviderExtensionStorage.java

22
pf4j/src/main/java/org/pf4j/processor/ExtensionStorage.java

@ -17,8 +17,12 @@ package org.pf4j.processor;
import javax.annotation.processing.Filer;
import javax.lang.model.element.Element;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
/**
* It's a storage (database) that persists {@link org.pf4j.Extension}s.
@ -29,6 +33,9 @@ import java.util.Set;
*/
public abstract class ExtensionStorage {
private static final Pattern COMMENT = Pattern.compile("#.*");
private static final Pattern WHITESPACE = Pattern.compile("\\s+");
protected final ExtensionAnnotationProcessor processor;
public ExtensionStorage(ExtensionAnnotationProcessor processor) {
@ -74,4 +81,19 @@ public abstract class ExtensionStorage {
processor.info(element, message, args);
}
public static void read(Reader reader, Set<String> entries) throws IOException {
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
line = COMMENT.matcher(line).replaceFirst("");
line = WHITESPACE.matcher(line).replaceAll("");
if (line.length() > 0) {
entries.add(line);
}
}
bufferedReader.close();
}
}

21
pf4j/src/main/java/org/pf4j/processor/LegacyExtensionStorage.java

@ -18,17 +18,14 @@ package org.pf4j.processor;
import javax.annotation.processing.FilerException;
import javax.tools.FileObject;
import javax.tools.StandardLocation;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;
import java.nio.file.NoSuchFileException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
/**
* Stores {@link org.pf4j.Extension}s in {@code META-INF/extensions.idx}.
@ -39,28 +36,10 @@ public class LegacyExtensionStorage extends ExtensionStorage {
public static final String EXTENSIONS_RESOURCE = "META-INF/extensions.idx";
private static final Pattern COMMENT = Pattern.compile("#.*");
private static final Pattern WHITESPACE = Pattern.compile("\\s+");
public LegacyExtensionStorage(ExtensionAnnotationProcessor processor) {
super(processor);
}
public static void read(Reader reader, Set<String> entries) throws IOException {
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
line = COMMENT.matcher(line).replaceFirst("");
line = WHITESPACE.matcher(line).replaceAll("");
if (line.length() > 0) {
entries.add(line);
}
}
bufferedReader.close();
}
@Override
public Map<String, Set<String>> read() {
Map<String, Set<String>> extensions = new HashMap<>();

21
pf4j/src/main/java/org/pf4j/processor/ServiceProviderExtensionStorage.java

@ -18,17 +18,14 @@ package org.pf4j.processor;
import javax.annotation.processing.FilerException;
import javax.tools.FileObject;
import javax.tools.StandardLocation;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;
import java.nio.file.NoSuchFileException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
/**
* Stores {@link org.pf4j.Extension}s in {@code META-INF/services}.
@ -39,28 +36,10 @@ public class ServiceProviderExtensionStorage extends ExtensionStorage {
public static final String EXTENSIONS_RESOURCE = "META-INF/services";
private static final Pattern COMMENT = Pattern.compile("#.*");
private static final Pattern WHITESPACE = Pattern.compile("\\s+");
public ServiceProviderExtensionStorage(ExtensionAnnotationProcessor processor) {
super(processor);
}
public static void read(Reader reader, Set<String> entries) throws IOException {
BufferedReader bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
line = COMMENT.matcher(line).replaceFirst("");
line = WHITESPACE.matcher(line).replaceAll("");
if (line.length() > 0) {
entries.add(line);
}
}
bufferedReader.close();
}
@Override
public Map<String, Set<String>> read() {
Map<String, Set<String>> extensions = new HashMap<>();

Loading…
Cancel
Save