diff --git a/jcore-pipeline-builder-base/pom.xml b/jcore-pipeline-builder-base/pom.xml index 63561bf..c215b6e 100644 --- a/jcore-pipeline-builder-base/pom.xml +++ b/jcore-pipeline-builder-base/pom.xml @@ -8,7 +8,7 @@ de.julielab jcore-pipeline-modules - 0.4.1-SNAPSHOT + 0.4.1 @@ -109,7 +109,7 @@ de.julielab julielab-maven-aether-utilities - 1.1.1-SNAPSHOT + 1.1.1 com.google.guava diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/PipelineParameterChecker.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/PipelineParameterChecker.java index f90a594..5d30651 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/PipelineParameterChecker.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/PipelineParameterChecker.java @@ -28,7 +28,7 @@ public class PipelineParameterChecker { private PipelineParameterChecker() { } - public static void main(String args[]) throws PipelineIOException, IOException { + public static void main(String[] args) throws PipelineIOException, IOException { if (args.length != 1) { System.out.println("Usage: " + PipelineParameterChecker.class.getSimpleName() + " "); System.exit(1); @@ -89,8 +89,7 @@ public static List findMissingResources(ResourceC getConfigurationParameters(); // Map the values to their names so for each parameter declaration we can quickly check the value Map settings = Stream.of(configurableDataResourceSpecifier.getMetaData().getConfigurationParameterSettings().getParameterSettings()).flatMap(Stream::of).collect(Collectors.toMap(NameValuePair::getName, Function.identity())); - for (int i = 0; i < declarations.length; i++) { - ConfigurationParameter declaration = declarations[i]; + for (ConfigurationParameter declaration : declarations) { String name = declaration.getName(); Object value = Optional.ofNullable(settings.get(name)).orElseGet(NameValuePair_impl::new).getValue(); if (declaration.isMandatory() && (value == null || StringUtils.isBlank(value.toString()))) @@ -158,7 +157,7 @@ else if (pipeline.getAaeDesc() != null) { Stream aeStream = pipeline.getAeDelegates() != null ? pipeline.getAeDelegates().stream() : Stream.empty(); Stream ccStream = pipeline.getCcDelegates() != null ? pipeline.getCcDelegates().stream() : Stream.empty(); Stream aes = Stream.concat(Stream.concat(cmStream, aeStream), ccStream).filter(d -> d.getDescriptor() instanceof AnalysisEngineDescription); - Map> resourcesByName = aes.map(Description::getDescriptorAsAnalysisEngineDescription).filter(ae -> ae.getResourceManagerConfiguration() != null).filter(ae -> ae.getResourceManagerConfiguration().getExternalResources() != null).flatMap(ae -> Stream.of(ae.getResourceManagerConfiguration().getExternalResources())).collect(Collectors.groupingBy(er -> er.getName())); + Map> resourcesByName = aes.map(Description::getDescriptorAsAnalysisEngineDescription).filter(ae -> ae.getResourceManagerConfiguration() != null).filter(ae -> ae.getResourceManagerConfiguration().getExternalResources() != null).flatMap(ae -> Stream.of(ae.getResourceManagerConfiguration().getExternalResources())).collect(Collectors.groupingBy(ExternalResourceDescription::getName)); resourcesByName.entrySet().stream().filter(e -> e.getValue().size() > 1).forEach(e -> list.add(new MissingComponentConfiguration(Missing.DUPLICATE_EXTERNAL_RESOURCE_NAME, null, e.getKey()) )); return list; } diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/connectors/GitHubConnector.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/connectors/GitHubConnector.java index 475d92f..944c08b 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/connectors/GitHubConnector.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/connectors/GitHubConnector.java @@ -11,7 +11,6 @@ import de.julielab.jcore.pipeline.builder.base.main.GitHubRepository; import de.julielab.jcore.pipeline.builder.base.main.MetaDescription; import de.julielab.xml.JulieXMLTools; -import java_cup.version; import org.apache.http.client.utils.URIBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,7 +26,7 @@ public class GitHubConnector { private static Map componentMap = null; - private static Logger log = LoggerFactory.getLogger(GitHubConnector.class); + private static final Logger log = LoggerFactory.getLogger(GitHubConnector.class); /** * Builds a URL of the form "https://raw.githubusercontent.com/JULIELab/{@code module}/{@code version}/{@code name}/component.meta @@ -148,7 +147,7 @@ private static URLConnection connectWithHeader(URL url) throws IOException, Gith connection.addRequestProperty("User-Agent", "JCoRe Pipeline Builder"); try { Integer rateLimit = Integer.parseInt(connection.getHeaderField("X-RateLimit-Limit")); - Integer rateLimitRemaining = Integer.parseInt(connection.getHeaderField("X-RateLimit-Remaining")); + int rateLimitRemaining = Integer.parseInt(connection.getHeaderField("X-RateLimit-Remaining")); log.debug("GitHub API requests rate limit: {} of {} remaining", rateLimitRemaining, rateLimit); if (rateLimitRemaining == 0) throw new GithubInformationException("Cannot request JCoRe component meta data from GitHub due to " + @@ -243,9 +242,7 @@ public static InputStream getGitHubContentStream(GitHubRepository repository) th URL meta = getRepoContentsURL(repository); try { return connectWithHeader(meta).getInputStream(); - } catch (IOException e) { - e.printStackTrace(); - } catch (NullPointerException e) { + } catch (IOException | NullPointerException e) { e.printStackTrace(); } return null; diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/CPE.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/CPE.java index 26fee13..1541959 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/CPE.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/CPE.java @@ -5,7 +5,7 @@ import org.apache.uima.resource.metadata.impl.Import_impl; public class CPE { - private CpeDescription cpe; + private final CpeDescription cpe; public CPE() { cpe = new CpeDescriptionImpl(); diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationService.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationService.java index 0321fe6..628b9be 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationService.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationService.java @@ -26,11 +26,11 @@ import java.util.stream.Collectors; public class ComponentMetaInformationService implements IComponentMetaInformationService, Serializable { - private static Logger logger = LoggerFactory.getLogger(ComponentMetaInformationService.class); + private static final Logger logger = LoggerFactory.getLogger(ComponentMetaInformationService.class); private static ComponentMetaInformationService instance; - private String mvnLocal; - private Map metaInformation = new HashMap<>(); - private Set mavenDependencies = new HashSet<>(); + private final String mvnLocal; + private final Map metaInformation = new HashMap<>(); + private final Set mavenDependencies = new HashSet<>(); private ComponentMetaInformationService() { this.mvnLocal = Paths.get(System.getProperty("user.home"), Maven.LOCAL_REPO).toString(); @@ -57,13 +57,13 @@ public void loadMetaInformationFromDisk(ComponentRepository repository) throws G String eMessage = null; InputStream infile = null; File metaFile = Repositories.getMetaFile(repository); - logger.trace("Loading component meta description file {} for module {}:{}", metaFile, repository); + logger.trace("Loading component meta description file {} for module {}:{}", metaFile, repository.getName(), repository.getVersion()); System.out.println(metaFile.getAbsolutePath()); try { infile = FileUtilities.getInputStreamFromFile(metaFile); ObjectMapper objectMapper = new ObjectMapper(); List asList = objectMapper.readValue( - infile, new TypeReference>() { + infile, new TypeReference<>() { }); // asList.stream().map(MetaDescription::getName).forEach(md -> {System.out.println(repository.getName() + ": " +md);}); asList.forEach(md -> this.metaInformation.put(md.getName(), md)); @@ -113,8 +113,8 @@ public void loadComponentMetaInformation(Boolean loadNew, ComponentRepository re public void loadComponentMetaInformation(Boolean loadNew) throws GithubInformationException { metaInformation.clear(); final List gitHubRepositories = getRepositories(); - for (Integer i = 0; i < gitHubRepositories.size(); i++) { - loadComponentMetaInformation(loadNew, gitHubRepositories.get(i)); + for (ComponentRepository gitHubRepository : gitHubRepositories) { + loadComponentMetaInformation(loadNew, gitHubRepository); } } diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentRepository.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentRepository.java index 2311693..7eecada 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentRepository.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/ComponentRepository.java @@ -7,7 +7,6 @@ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "type") @JsonSubTypes({ @JsonSubTypes.Type(value = GitHubRepository.class, name = "GitHubRepository"), diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Description.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Description.java index 28a134f..da6b853 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Description.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Description.java @@ -37,7 +37,7 @@ public class Description implements Serializable, Cloneable { * incompatible with older version. */ private static final long serialVersionUID = 2019_01_21_001L; - private static Logger logger = LoggerFactory.getLogger(Description.class); + private static final Logger logger = LoggerFactory.getLogger(Description.class); /** * The URI of the original UIMA descriptor within a JAR. */ @@ -62,7 +62,7 @@ public class Description implements Serializable, Cloneable { * The descriptor category as read from the actual descriptor. */ private String descriptorType; - private Map> capabilities = new HashMap>() {{ + private final Map> capabilities = new HashMap<>() {{ put(Descriptor.CAPABILITIES_IN, new ArrayList<>()); put(Descriptor.CAPABILITIES_OUT, new ArrayList<>()); }}; diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/JCoReUIMAPipeline.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/JCoReUIMAPipeline.java index 0789bcd..4ca53db 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/JCoReUIMAPipeline.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/JCoReUIMAPipeline.java @@ -8,7 +8,6 @@ import de.julielab.java.utilities.FileUtilities; import de.julielab.java.utilities.classpath.JarLoader; import de.julielab.jcore.pipeline.builder.base.PipelineParameterChecker; -import de.julielab.jcore.pipeline.builder.base.configurations.PipelineBuilderConstants; import de.julielab.jcore.pipeline.builder.base.exceptions.PipelineIOException; import de.julielab.utilities.aether.AetherUtilities; import de.julielab.utilities.aether.MavenArtifact; @@ -27,7 +26,6 @@ import org.apache.uima.fit.factory.AnalysisEngineFactory; import org.apache.uima.resource.ResourceCreationSpecifier; import org.apache.uima.resource.ResourceInitializationException; -import org.apache.uima.resource.ResourceManager; import org.apache.uima.resource.ResourceSpecifier; import org.apache.uima.resource.metadata.Import; import org.apache.uima.resource.metadata.MetaDataObject; @@ -68,7 +66,7 @@ public class JCoReUIMAPipeline { private static final String SERIALIZED_AE_DESCS_FILE = "aeDescriptions.json"; private static final String SERIALIZED_CC_DESCS_FILE = "ccDescriptions.json"; private final static Logger log = LoggerFactory.getLogger(JCoReUIMAPipeline.class); - private static Function, Stream> tsImportsExtractor = descs -> descs.stream().flatMap(desc -> { + private static final Function, Stream> tsImportsExtractor = descs -> descs.stream().flatMap(desc -> { final AnalysisEngineMetaData analysisEngineMetaData = desc.getDescriptorAsAnalysisEngineDescription().getAnalysisEngineMetaData(); if (analysisEngineMetaData == null) return null; @@ -86,7 +84,6 @@ public class JCoReUIMAPipeline { private List aeDelegates; private List cmDelegates; private List ccDelegates; - private CollectionReaderDescription crDesc; /** * All multipliers, analysis engines and, if possible, consumers are wrapped into an AAE. */ @@ -101,7 +98,7 @@ public class JCoReUIMAPipeline { * We keep track components removed from the pipeline. If the respective changes are stored to disc, * the respective descriptor files ought to be removed. */ - private Set filesToDeleteOnSave = new HashSet<>(); + private final Set filesToDeleteOnSave = new HashSet<>(); /** *

@@ -159,7 +156,7 @@ public Description getCrDescription() { public void setCrDescription(Description crDescription) { avoidNamingCollisions(crDescription); this.crDescription = crDescription; - this.crDesc = crDescription.getDescriptorAsCollectionReaderDescription(); + CollectionReaderDescription crDesc = crDescription.getDescriptorAsCollectionReaderDescription(); } /** @@ -176,7 +173,7 @@ public List getCcDelegates() { } public void addCcDesc(Description ccDesc) { - if (ccDelegates.stream().map(Description::getDescriptor).filter(CasConsumerDescription.class::isInstance).findAny().isPresent()) + if (ccDelegates.stream().map(Description::getDescriptor).anyMatch(CasConsumerDescription.class::isInstance)) throw new IllegalArgumentException("There is already a consumer represented by a " + " " + CasConsumerDescription.class.getCanonicalName() + ". " + "Those are deprecated and only one can be used in each pipeline."); @@ -213,7 +210,7 @@ public void store(File directory, boolean populateLibDir) throws PipelineIOExcep Stream.of(descDir.listFiles()).forEach(File::delete); } storeAllDescriptors(descDirAll); - if (aeDelegates.stream().filter(Description::isActive).count() > 0) { + if (aeDelegates.stream().anyMatch(Description::isActive)) { Stream descStream = aeDelegates.stream(). // filter(desc -> !desc.getMetaDescription().isPear()). filter(Description::isActive). @@ -274,7 +271,7 @@ public void store(File directory, boolean populateLibDir) throws PipelineIOExcep "AggregateConsumer.xml"); if (ccFile.exists()) ccFile.delete(); - if (ccDelegates != null && ccDelegates.stream().filter(Description::isActive).count() != 0) { + if (ccDelegates != null && ccDelegates.stream().anyMatch(Description::isActive)) { final List activeCCs = ccDelegates.stream().filter(Description::isActive).collect(Collectors.toList()); for (Description ccDesc : activeCCs) { storeCCDescriptor(ccDesc, descDir); @@ -299,7 +296,7 @@ public void store(File directory, boolean populateLibDir) throws PipelineIOExcep final File cpeAAEFile = new File(descDir.getAbsolutePath() + File.separator + CPE_AAE_DESC_NAME); final File cpeFile = new File(descDir.getAbsolutePath() + File.separator + "CPE.xml"); - if (ccDelegates == null || ccDelegates.stream().map(Description::getDescriptor).filter(CasConsumer.class::isInstance).count() == 0) { + if (ccDelegates == null || ccDelegates.stream().map(Description::getDescriptor).noneMatch(CasConsumer.class::isInstance)) { final CPE cpe = new CPE(); if (crDescription != null) { @@ -309,7 +306,7 @@ public void store(File directory, boolean populateLibDir) throws PipelineIOExcep boolean multipleDeploymentAllowed = true; cpeAAE.getDelegateAnalysisEngineSpecifiersWithImports().clear(); - if (cmDelegates.stream().filter(Description::isActive).count() > 0) { + if (cmDelegates.stream().anyMatch(Description::isActive)) { Import_impl cmImport = new Import_impl(); cmImport.setLocation(cmFile.getName()); cmImport.setSourceUrl(cmFile.toURI().toURL()); @@ -330,7 +327,7 @@ public void store(File directory, boolean populateLibDir) throws PipelineIOExcep multipleDeploymentAllowed &= aaeMultipleDeploymentAllowed; } - if (ccDelegates != null && ccDelegates.stream().filter(Description::isActive).count() > 0) { + if (ccDelegates != null && ccDelegates.stream().anyMatch(Description::isActive)) { Import_impl ccImport = new Import_impl(); ccImport.setLocation(ccFile.getName()); ccImport.setSourceUrl(ccFile.toURI().toURL()); @@ -348,7 +345,7 @@ public void store(File directory, boolean populateLibDir) throws PipelineIOExcep log.warn("The sole AggregateAnalysisEngine created for the CPE cannot allow multiple deployment because one of its delegate does not. This will render multithreading ineffective."); cpeAAE.getAnalysisEngineMetaData().getOperationalProperties().setMultipleDeploymentAllowed(multipleDeploymentAllowed); Stream descriptorsForFlow = Stream.of(this.aaeCmDesc, aaeDesc); - if (ccDelegates != null && ccDelegates.stream().filter(Description::isActive).count() > 0) + if (ccDelegates != null && ccDelegates.stream().anyMatch(Description::isActive)) descriptorsForFlow = Stream.concat(descriptorsForFlow, Stream.of(ccDesc)); String[] flow = descriptorsForFlow.filter(Objects::nonNull).map(ResourceCreationSpecifier::getMetaData).map(ResourceMetaData::getName).toArray(String[]::new); ((FixedFlow) cpeAAE.getAnalysisEngineMetaData().getFlowConstraints()).setFixedFlow(flow); @@ -495,8 +492,7 @@ private AnalysisEngineDescription createAAE(File descDir, String name, List flowNames = new ArrayList<>(); boolean multipleDeploymentAllowed = true; - for (int i = 0; i < allDelegates.size(); ++i) { - Description description = allDelegates.get(i); + for (Description description : allDelegates) { final boolean currentComponentAllowsMultipleDeployment = description.getDescriptorAsAnalysisEngineDescription().getAnalysisEngineMetaData().getOperationalProperties().isMultipleDeploymentAllowed(); if (!currentComponentAllowsMultipleDeployment) { log.warn("The component {} does not allow multiple deployment. Thus, multiple deployment won't be allowed for the whole AAE with name {}.", description.getName(), name); @@ -525,7 +521,7 @@ private AnalysisEngineDescription createAAE(File descDir, String name, List } } - log.debug("For the {} aggregate, the following delegate descriptors were set: {}", type, Stream.of(flow.getFixedFlow()).collect(joining(", "))); + log.debug("For the {} aggregate, the following delegate descriptors were set: {}", type, String.join(", ", flow.getFixedFlow())); } else { if (descriptions.size() > 1) log.error("The {} is not an aggregate but there are {} descriptions with the following names: {}", type, descriptions.size(), descriptions.stream().map(Description::getName).collect(joining(", "))); @@ -995,17 +990,15 @@ public void addDelegateAe(Description aeDesc) { File pearDescriptorFile = new File(aeDesc.getLocation()); imp.setLocation(pearDescriptorFile.toURI().toString()); delegatesWithImports.put(aeDesc.getName(), imp); - List flowNames = Arrays.asList(aeDesc.getName()); + List flowNames = Collections.singletonList(aeDesc.getName()); aaePear.getAnalysisEngineMetaData().setFlowConstraints(new FixedFlow_impl()); - ((FixedFlow) aaePear.getAnalysisEngineMetaData().getFlowConstraints()).setFixedFlow(flowNames.toArray(new String[flowNames.size()])); + ((FixedFlow) aaePear.getAnalysisEngineMetaData().getFlowConstraints()).setFixedFlow(flowNames.toArray(new String[0])); try { aaePear.getDelegateAnalysisEngineSpecifiers(); aeDesc = aeDesc.clone(); aeDesc.setDescriptor(aaePear); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } catch (InvalidXMLException e) { + } catch (CloneNotSupportedException | InvalidXMLException e) { e.printStackTrace(); } } @@ -1072,9 +1065,7 @@ private void avoidArtifactVersionConflicts(Description description) { && a.getGroupId().equalsIgnoreCase(artifact.getGroupId()) && ((a.getClassifier() == null && artifact.getClassifier() == null) || a.getClassifier().equalsIgnoreCase(artifact.getClassifier())) && a.getPackaging().equalsIgnoreCase(artifact.getPackaging())).findAny(); - if (anyExistingArtifactForComponent.isPresent()) { - description.getMetaDescription().getMavenArtifact().setVersion(anyExistingArtifactForComponent.get().getVersion()); - } + anyExistingArtifactForComponent.ifPresent(mavenArtifact -> description.getMetaDescription().getMavenArtifact().setVersion(mavenArtifact.getVersion())); } } diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/MetaDescription.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/MetaDescription.java index 9fa16a2..8cf23ba 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/MetaDescription.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/MetaDescription.java @@ -30,9 +30,9 @@ public class MetaDescription implements IMetaDescription, Serializable { * incompatible with older version. */ private static final long serialVersionUID = 2018_06_21_001L; - private static Logger logger = LoggerFactory.getLogger(MetaDescription.class); + private static final Logger logger = LoggerFactory.getLogger(MetaDescription.class); private String description; - private Map descriptionMap = new HashMap<>(); + private final Map descriptionMap = new HashMap<>(); private String group; private ComponentRepository module; private String base; @@ -46,7 +46,7 @@ public class MetaDescription implements IMetaDescription, Serializable { private List categories; private Integer chosenDescriptor; @JsonProperty("descriptors") - private List descriptorList = new ArrayList<>(); + private final List descriptorList = new ArrayList<>(); private Boolean isPear = false; /** diff --git a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Repositories.java b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Repositories.java index 62de385..683bca4 100644 --- a/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Repositories.java +++ b/jcore-pipeline-builder-base/src/main/java/de/julielab/jcore/pipeline/builder/base/main/Repositories.java @@ -91,7 +91,7 @@ public static Stream getRepositories(Predicate descRoots = new HashMap(){{ + private final static Map descRoots = new HashMap<>() {{ put("collectionReaderDescription", "processingResourceMetaData"); put("analysisEngineDescription", "analysisEngineMetaData"); put("casConsumerDescription", "processingResourceMetaData"); diff --git a/jcore-pipeline-builder-base/src/test/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationServiceTest.java b/jcore-pipeline-builder-base/src/test/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationServiceTest.java index de49a39..fa8efaa 100644 --- a/jcore-pipeline-builder-base/src/test/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationServiceTest.java +++ b/jcore-pipeline-builder-base/src/test/java/de/julielab/jcore/pipeline/builder/base/main/ComponentMetaInformationServiceTest.java @@ -20,14 +20,14 @@ @Ignore public class ComponentMetaInformationServiceTest { private final static Logger log = LoggerFactory.getLogger(ComponentMetaInformationServiceTest.class); - private ComponentMetaInformationService metaInf = ComponentMetaInformationService.getInstance(); + private final ComponentMetaInformationService metaInf = ComponentMetaInformationService.getInstance(); @Test public void saveMetaInformationToDisk() throws GithubInformationException, IOException { final List repositories = Repositories.getRepositories().collect(Collectors.toList()); - for (Integer i = 0; i < repositories.size(); i++) { - Repositories.saveMetaInformationToDisk(repositories.get(i)); + for (ComponentRepository repository : repositories) { + Repositories.saveMetaInformationToDisk(repository); } } diff --git a/jcore-pipeline-builder-cli/pom.xml b/jcore-pipeline-builder-cli/pom.xml index b46dcc6..1e3d7b6 100644 --- a/jcore-pipeline-builder-cli/pom.xml +++ b/jcore-pipeline-builder-cli/pom.xml @@ -8,7 +8,7 @@ de.julielab jcore-pipeline-modules - 0.4.1-SNAPSHOT + 0.4.1 diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/main/PipelineBuilderCLI.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/main/PipelineBuilderCLI.java index f7d317c..36cf006 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/main/PipelineBuilderCLI.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/main/PipelineBuilderCLI.java @@ -40,7 +40,7 @@ public class PipelineBuilderCLI { */ public static boolean dependenciesHaveChanged = false; - public static void main(String args[]) { + public static void main(String[] args) { System.setProperty(PrerequisiteChecker.PREREQUISITE_CHECKS_ENABLED, "true"); TextIO textIO = null; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ArtifactVersionMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ArtifactVersionMenuItem.java index 9ae4e8b..288ec01 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ArtifactVersionMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ArtifactVersionMenuItem.java @@ -7,14 +7,13 @@ import de.julielab.utilities.aether.MavenArtifact; import de.julielab.utilities.aether.MavenException; import org.beryx.textio.TextIO; -import org.eclipse.aether.artifact.Artifact; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; public class ArtifactVersionMenuItem implements IMenuItem { - private Description description; + private final Description description; public ArtifactVersionMenuItem(Description description) { this.description = description; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/BackMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/BackMenuItem.java index 5dcdc93..135d8e5 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/BackMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/BackMenuItem.java @@ -1,7 +1,7 @@ package de.julielab.jcore.pipeline.builder.cli.menu; public class BackMenuItem implements IMenuItem { - private static BackMenuItem item = new BackMenuItem(); + private static final BackMenuItem item = new BackMenuItem(); private BackMenuItem() { } diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ComponentSelectionMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ComponentSelectionMenuItem.java index 8da964b..beea496 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ComponentSelectionMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ComponentSelectionMenuItem.java @@ -4,7 +4,7 @@ public class ComponentSelectionMenuItem implements IMenuItem { - private Description description; + private final Description description; public ComponentSelectionMenuItem(Description description) { this.description = description; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/EditMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/EditMenuItem.java index f640934..e69a852 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/EditMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/EditMenuItem.java @@ -11,12 +11,10 @@ public MetaDescription getDescription() { return description; } - private MetaDescription description; - private PipelineBuilderConstants.JcoreMeta.Category category; + private final MetaDescription description; public EditMenuItem(MetaDescription description, PipelineBuilderConstants.JcoreMeta.Category category) { this.description = description; - this.category = category; } diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ExternalResourceEditingMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ExternalResourceEditingMenuItem.java index 092de1a..eed914d 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ExternalResourceEditingMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ExternalResourceEditingMenuItem.java @@ -3,7 +3,7 @@ import org.apache.uima.resource.ExternalResourceDependency; public class ExternalResourceEditingMenuItem implements IMenuItem { - private ExternalResourceDependency dependency; + private final ExternalResourceDependency dependency; public ExternalResourceEditingMenuItem(ExternalResourceDependency dependency) { this.dependency = dependency; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/MultiValuedParameterEditingMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/MultiValuedParameterEditingMenuItem.java index 0b181b2..d79743a 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/MultiValuedParameterEditingMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/MultiValuedParameterEditingMenuItem.java @@ -18,8 +18,8 @@ public class MultiValuedParameterEditingMenuItem implements IMenuDialog { - private Description description; - private ConfigurationParameter parameter; + private final Description description; + private final ConfigurationParameter parameter; public MultiValuedParameterEditingMenuItem(Description description, ConfigurationParameter parameter) { this.description = description; @@ -87,7 +87,7 @@ private void printCurrentValues(Object[] array, TextIO textIO) { sb.append(ls); for (int i = 0; i < array.length; ++i) { Object o = array[i]; - sb.append((i + 1) + ": "); + sb.append(i + 1).append(": "); sb.append(o.toString()); sb.append(ls); } diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ParameterEditingMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ParameterEditingMenuItem.java index ca45d72..ae4aa5f 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ParameterEditingMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/ParameterEditingMenuItem.java @@ -21,8 +21,8 @@ public class ParameterEditingMenuItem implements IMenuDialog { - private ResourceSpecifier descriptor; - private ConfigurationParameter parameter; + private final ResourceSpecifier descriptor; + private final ConfigurationParameter parameter; public ParameterEditingMenuItem(ResourceSpecifier descriptor, ConfigurationParameter parameter) { this.descriptor = descriptor; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PayloadMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PayloadMenuItem.java index 19ec325..8fbcad4 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PayloadMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PayloadMenuItem.java @@ -3,8 +3,8 @@ import java.util.function.Function; public class PayloadMenuItem implements IMenuItem { - private T payload; - private Function nameFunc; + private final T payload; + private final Function nameFunc; public PayloadMenuItem(T payload, Function nameFunc) { this.payload = payload; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PipelineEditingService.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PipelineEditingService.java index eb730cb..d3b7f2e 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PipelineEditingService.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/PipelineEditingService.java @@ -6,7 +6,7 @@ public class PipelineEditingService { private static PipelineEditingService service; - public static final PipelineEditingService getInstance() { + public static PipelineEditingService getInstance() { if (service == null) service = new PipelineEditingService(); return service; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/StorePomMenuItem.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/StorePomMenuItem.java index 4c614f2..dddedff 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/StorePomMenuItem.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/StorePomMenuItem.java @@ -1,6 +1,5 @@ package de.julielab.jcore.pipeline.builder.cli.menu; -import de.julielab.java.utilities.FileUtilities; import de.julielab.jcore.pipeline.builder.base.main.JCoReUIMAPipeline; import de.julielab.jcore.pipeline.builder.cli.main.PipelineBuilderCLI; import de.julielab.utilities.aether.MavenArtifact; @@ -16,7 +15,6 @@ import java.nio.file.Path; import java.util.Objects; import java.util.stream.Stream; -import java.util.stream.StreamSupport; public class StorePomMenuItem implements IMenuItem { private final static Logger log = LoggerFactory.getLogger(StorePomMenuItem.class); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ActivationDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ActivationDialog.java index 71fed32..ce0a85d 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ActivationDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ActivationDialog.java @@ -58,7 +58,7 @@ public String getName() { return "Manage Component Activation Status"; } - private class ActivateAllMenuItem implements IMenuItem { + private static class ActivateAllMenuItem implements IMenuItem { @Override public String getName() { return "Activate all"; @@ -70,7 +70,7 @@ public String toString() { } } - private class DeactivateAllMenuItem implements IMenuItem { + private static class DeactivateAllMenuItem implements IMenuItem { @Override public String getName() { return "Deactivate all"; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/AddComponentDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/AddComponentDialog.java index ac067ce..74f999b 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/AddComponentDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/AddComponentDialog.java @@ -18,14 +18,13 @@ public class AddComponentDialog implements ILoopablePipelineManipulationDialog { private final static Logger log = LoggerFactory.getLogger(AddComponentDialog.class); - private final List aeDescriptions; private final Category category; - private MenuItemList menuItemList; + private final MenuItemList menuItemList; public AddComponentDialog(Map> categoryMap, Category category) { - this.aeDescriptions = categoryMap.getOrDefault(category, Collections.emptyList()); + List aeDescriptions = categoryMap.getOrDefault(category, Collections.emptyList()); this.category = category; - menuItemList = new MenuItemList(); + menuItemList = new MenuItemList<>(); for (MetaDescription aeDesc : aeDescriptions) menuItemList.add(new EditMenuItem(aeDesc, category)); Collections.sort(menuItemList); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/DescriptorConfigurationDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/DescriptorConfigurationDialog.java index 3494b08..2903d30 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/DescriptorConfigurationDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/DescriptorConfigurationDialog.java @@ -25,7 +25,7 @@ public class DescriptorConfigurationDialog implements ILoopablePipelineManipulationDialog { private final static Logger log = LoggerFactory.getLogger(DescriptorConfigurationDialog.class); private MenuItemList itemList; - private Description description; + private final Description description; public DescriptorConfigurationDialog(Description description) { this.description = description; @@ -123,9 +123,7 @@ public IMenuItem executeMenuItem(JCoReUIMAPipeline pipeline, TextIO textIO, Dequ getResourceManagerConfiguration().getExternalResources()). filter(res -> res.getName().equals(resourceName)). findFirst(); - if (resource.isPresent()) { - new ExternalResourceConfigurationDialog(description, resource.get()).enterInputLoop(textIO, path); - } + resource.ifPresent(externalResourceDescription -> new ExternalResourceConfigurationDialog(description, externalResourceDescription).enterInputLoop(textIO, path)); } } catch (MenuItemExecutionException e) { log.error("External resource configuration failed: ", e); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceConfigurationDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceConfigurationDialog.java index 2fc4d1a..e2659d0 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceConfigurationDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceConfigurationDialog.java @@ -10,8 +10,6 @@ import org.apache.uima.resource.FileResourceSpecifier; import org.apache.uima.resource.metadata.ExternalResourceBinding; import org.beryx.textio.TextIO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.Deque; @@ -20,8 +18,8 @@ import java.util.stream.Stream; public class ExternalResourceConfigurationDialog implements ILoopableDialog { - private Description description; - private ExternalResourceDescription resourceDescription; + private final Description description; + private final ExternalResourceDescription resourceDescription; public ExternalResourceConfigurationDialog(Description description, ExternalResourceDescription resourceDescription) { this.description = description; @@ -120,8 +118,7 @@ private void renameExternalResource(TextIO textIO) { resourceDescription.setName(name); Optional any = Stream.of(description.getDescriptorAsAnalysisEngineDescription().getResourceManagerConfiguration().getExternalResourceBindings()).filter(binding -> binding.getResourceName().equals(oldname)).findAny(); // There might not (yet) be a binding - if (any.isPresent()) - any.get().setResourceName(name); + any.ifPresent(externalResourceBinding -> externalResourceBinding.setResourceName(name)); } @Override diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceDefinitionDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceDefinitionDialog.java index 48366c4..eeb731f 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceDefinitionDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ExternalResourceDefinitionDialog.java @@ -22,8 +22,8 @@ public class ExternalResourceDefinitionDialog implements IMenuDialog { private final static Logger log = LoggerFactory.getLogger(ExternalResourceDefinitionDialog.class); - private JCoReUIMAPipeline pipeline; - private Description description; + private final JCoReUIMAPipeline pipeline; + private final Description description; public ExternalResourceDefinitionDialog(JCoReUIMAPipeline pipeline, Description description) { this.pipeline = pipeline; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ILoopableDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ILoopableDialog.java index 9be324f..48db833 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ILoopableDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ILoopableDialog.java @@ -3,7 +3,6 @@ import de.julielab.jcore.pipeline.builder.cli.menu.BackMenuItem; import de.julielab.jcore.pipeline.builder.cli.menu.IMenuItem; import de.julielab.jcore.pipeline.builder.cli.menu.QuitMenuItem; -import de.julielab.jcore.pipeline.builder.cli.util.MenuItemExecutionException; import org.beryx.textio.TextIO; import java.util.Deque; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/IMenuDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/IMenuDialog.java index 653fed1..cdfbe77 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/IMenuDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/IMenuDialog.java @@ -13,7 +13,7 @@ public interface IMenuDialog extends IMenuItem { default void printPosition(TextIO textIO, Deque path) { String LS = System.getProperty("line.separator"); - String pathString = path.stream().collect(Collectors.joining("/")); + String pathString = String.join("/", path); textIO.getTextTerminal().executeWithPropertiesPrefix(TerminalPrefixes.PATH, t -> t.print("You are here: " + pathString)); // For the SwingTextTerminal: It does not reset its properties after the above line textIO.getTextTerminal().executeWithPropertiesPrefix(TerminalPrefixes.DEFAULT ,t -> t.print(LS)); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ParentPomSettingDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ParentPomSettingDialog.java index 5dbd8a6..d72492f 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ParentPomSettingDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ParentPomSettingDialog.java @@ -12,8 +12,6 @@ public class ParentPomSettingDialog implements IMenuDialog { - private Object sourceChoice; - public void execute(JCoReUIMAPipeline pipeline, TextIO textIO, Deque path) { clearTerminal(textIO); path.add(getName()); @@ -25,7 +23,7 @@ public void execute(JCoReUIMAPipeline pipeline, TextIO textIO, Deque pat String currentPom = pipeline.getParentPom() != null ? pipeline.getParentPom().getGroupId() + ":" + pipeline.getParentPom().getArtifactId() + ":" + pipeline.getParentPom().getVersion() + "(file: " + pipeline.getParentPom().getFile().getAbsolutePath() + ")" : ""; textIO.getTextTerminal().print("Current parent POM: " + currentPom + linesep); List pomSourceOptions = Arrays.asList("Specify parent through maven coordinates", "Specify parent POM file",BackMenuItem.get()); - sourceChoice = textIO.newGenericInputReader(null) + Object sourceChoice = textIO.newGenericInputReader(null) .withNumberedPossibleValues(pomSourceOptions).withDefaultValue(BackMenuItem.get()) .read("Choose an option:"); if (pomSourceOptions.indexOf(sourceChoice) == 0) { diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderComponentsDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderComponentsDialog.java index 372f19b..4e135ab 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderComponentsDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderComponentsDialog.java @@ -14,9 +14,9 @@ import java.util.function.Function; public abstract class ReorderComponentsDialog extends AbstractComponentSelectionDialog { - private PipelineBuilderConstants.JcoreMeta.Category componentCategory; - private String dialogName; - private Function> delegateSupplier; + private final PipelineBuilderConstants.JcoreMeta.Category componentCategory; + private final String dialogName; + private final Function> delegateSupplier; public ReorderComponentsDialog(PipelineBuilderConstants.JcoreMeta.Category componentCategory, String dialogName, Function> delegateSupplier) { this.componentCategory = componentCategory; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderMultipliersDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderMultipliersDialog.java index a6c7689..ff50ae7 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderMultipliersDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/ReorderMultipliersDialog.java @@ -1,12 +1,8 @@ package de.julielab.jcore.pipeline.builder.cli.menu.dialog; import de.julielab.jcore.pipeline.builder.base.configurations.PipelineBuilderConstants; -import de.julielab.jcore.pipeline.builder.base.main.Description; import de.julielab.jcore.pipeline.builder.base.main.JCoReUIMAPipeline; -import java.util.List; -import java.util.function.Supplier; - public class ReorderMultipliersDialog extends ReorderComponentsDialog { public ReorderMultipliersDialog() { super(PipelineBuilderConstants.JcoreMeta.Category.multiplier, "Reorder Multipliers", JCoReUIMAPipeline::getCmDelegates); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryAddDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryAddDialog.java index 1050246..375f147 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryAddDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryAddDialog.java @@ -5,7 +5,6 @@ import de.julielab.jcore.pipeline.builder.base.main.Repositories; import de.julielab.jcore.pipeline.builder.cli.menu.BackMenuItem; import de.julielab.jcore.pipeline.builder.cli.menu.IMenuItem; -import de.julielab.jcore.pipeline.builder.cli.menu.MenuItemList; import de.julielab.jcore.pipeline.builder.cli.menu.NoopMenuItem; import org.beryx.textio.TextIO; import org.slf4j.Logger; @@ -28,8 +27,7 @@ public IMenuItem executeMenuItem(TextIO textIO, Deque path) { final TreeSet currentlyUsed = Repositories.getRepositories().collect(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ComponentRepository::getName)))); final TreeSet defaultRepositories = Repositories.JCORE_REPOSITORIES.stream().collect(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ComponentRepository::getName)))); final Sets.SetView unusedDefaultRepositories = Sets.difference(defaultRepositories, currentlyUsed); - List items = new ArrayList<>(); - items.addAll(unusedDefaultRepositories); + List items = new ArrayList<>(unusedDefaultRepositories); items.add(new RepositoryCreateDialog()); items.add(BackMenuItem.get()); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryManagementDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryManagementDialog.java index a40d3b8..8df1fb5 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryManagementDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositoryManagementDialog.java @@ -14,7 +14,7 @@ public class RepositoryManagementDialog implements ILoopableDialog { - private MenuItemList itemList; + private final MenuItemList itemList; public RepositoryManagementDialog() { itemList = new MenuItemList<>(); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectVersionDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectVersionDialog.java index befd2cf..1c372a4 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectVersionDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectVersionDialog.java @@ -2,25 +2,19 @@ import de.julielab.jcore.pipeline.builder.base.connectors.GitHubConnector; import de.julielab.jcore.pipeline.builder.base.connectors.RepositoryBranchInformation; -import de.julielab.jcore.pipeline.builder.base.exceptions.GithubInformationException; import de.julielab.jcore.pipeline.builder.base.main.ComponentRepository; import de.julielab.jcore.pipeline.builder.base.main.GitHubRepository; -import de.julielab.jcore.pipeline.builder.base.main.Repositories; -import java_cup.version; -import org.beryx.textio.GenericInputReader; -import org.beryx.textio.InputReader; import org.beryx.textio.TextIO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; import java.util.Deque; import java.util.List; import java.util.stream.Collectors; public class RepositorySelectVersionDialog implements IMenuDialog { private final static Logger log = LoggerFactory.getLogger(RepositorySelectVersionDialog.class); - private ComponentRepository repository; + private final ComponentRepository repository; public RepositorySelectVersionDialog(ComponentRepository repository) { this.repository = repository; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectionDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectionDialog.java index 37eb5d5..d9b2962 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectionDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/RepositorySelectionDialog.java @@ -29,7 +29,7 @@ public String getName() { public IMenuItem selectRepository(TextIO textIO, Deque path) { path.add("Select a repository"); printPosition(textIO, path); - final List repositories = Repositories.getRepositories().map(r -> new PayloadMenuItem<>(r, x -> x.getName())).collect(Collectors.toList()); + final List repositories = Repositories.getRepositories().map(r -> new PayloadMenuItem<>(r, ComponentRepository::getName)).collect(Collectors.toList()); repositories.add(BackMenuItem.get()); IMenuItem choice = textIO.newGenericInputReader(null) .withNumberedPossibleValues(repositories).withDefaultValue(BackMenuItem.get()) diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SingleDescriptionSelectionDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SingleDescriptionSelectionDialog.java index e0633e7..617661e 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SingleDescriptionSelectionDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SingleDescriptionSelectionDialog.java @@ -13,7 +13,7 @@ public class SingleDescriptionSelectionDialog implements IMenuDialog { private final MenuItemList menuItems; - private MetaDescription metaDescription; + private final MetaDescription metaDescription; public SingleDescriptionSelectionDialog(MetaDescription metaDescription, Predicate descriptionFilter) throws DescriptorLoadingException { this.metaDescription = metaDescription; diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SpecifyStatusVerbosityDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SpecifyStatusVerbosityDialog.java index 1fbec50..60afeec 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SpecifyStatusVerbosityDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/SpecifyStatusVerbosityDialog.java @@ -7,11 +7,10 @@ public class SpecifyStatusVerbosityDialog implements IMenuDialog { public void chooseVerbosity(TextIO textIO) { - final StatusPrinter.Verbosity newVerbosity = textIO.newGenericInputReader(null) + PipelineBuilderCLI.statusVerbosity = textIO.newGenericInputReader(null) .withNumberedPossibleValues(StatusPrinter.Verbosity.values()) .withDefaultValue(PipelineBuilderCLI.statusVerbosity) .read("Specify the pipeline overview verbosity level:"); - PipelineBuilderCLI.statusVerbosity = newVerbosity; } @Override diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/UpdateAllArtifactsDialog.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/UpdateAllArtifactsDialog.java index f6f7fac..1a5970f 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/UpdateAllArtifactsDialog.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/menu/dialog/UpdateAllArtifactsDialog.java @@ -20,13 +20,13 @@ public void execute(JCoReUIMAPipeline pipeline, TextIO textIO) { if (pipeline.getCrDescription() != null) itemList.add(pipeline.getCrDescription()); if (pipeline.getCmDelegates() != null && !pipeline.getCmDelegates().isEmpty()) { - pipeline.getCmDelegates().stream().forEach(itemList::add); + itemList.addAll(pipeline.getCmDelegates()); } if (pipeline.getAeDelegates() != null && !pipeline.getAeDelegates().isEmpty()) { - pipeline.getAeDelegates().stream().forEach(itemList::add); + itemList.addAll(pipeline.getAeDelegates()); } if (pipeline.getCcDelegates() != null && !pipeline.getCcDelegates().isEmpty()) - pipeline.getCcDelegates().stream().forEach(itemList::add); + itemList.addAll(pipeline.getCcDelegates()); if (itemList.isEmpty()) textIO.getTextTerminal().executeWithPropertiesPrefix(TerminalPrefixes.WARN, t -> t.print("No components selected yet.")); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/ArtifactLoader.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/ArtifactLoader.java index f17e174..c3b0eac 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/ArtifactLoader.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/ArtifactLoader.java @@ -7,7 +7,7 @@ import java.util.Set; public class ArtifactLoader { - private static Set loadedArtifacts = new HashSet<>(); + private static final Set loadedArtifacts = new HashSet<>(); public synchronized static void loadArtifact(File file) { File absolute = file.getAbsoluteFile(); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/StatusPrinter.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/StatusPrinter.java index 0fdbf11..04fb7f5 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/StatusPrinter.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/StatusPrinter.java @@ -102,7 +102,7 @@ private static List getPipelineStatusRecords(JCoReUIMAPipeline pipeli Stream aeStream = pipeline.getAeDelegates() != null ? pipeline.getAeDelegates().stream() : Stream.empty(); Stream ccStream = pipeline.getCcDelegates() != null ? pipeline.getCcDelegates().stream() : Stream.empty(); Stream aes = Stream.concat(Stream.concat(cmStream, aeStream), ccStream).filter(d -> d.getDescriptor() instanceof AnalysisEngineDescription); - Map> resourcesByName = aes.map(Description::getDescriptorAsAnalysisEngineDescription).filter(ae -> ae.getResourceManagerConfiguration() != null).filter(ae -> ae.getResourceManagerConfiguration() != null).flatMap(ae -> Stream.of(ae.getResourceManagerConfiguration().getExternalResources())).collect(Collectors.groupingBy(er -> er.getName())); + Map> resourcesByName = aes.map(Description::getDescriptorAsAnalysisEngineDescription).filter(ae -> ae.getResourceManagerConfiguration() != null).filter(ae -> ae.getResourceManagerConfiguration() != null).flatMap(ae -> Stream.of(ae.getResourceManagerConfiguration().getExternalResources())).collect(Collectors.groupingBy(ExternalResourceDescription::getName)); resourcesByName.entrySet().stream().filter(e -> e.getValue().size() > 1).forEach(e -> records.add(createPrintLine("Configuration error: There are multiple external resources with the name " + e.getKey() + ".\n Go to the configuration dialog and adapt the names.", ERROR))); // Check if there is a component name repeated @@ -121,8 +121,8 @@ public enum Verbosity {MINIMAL, BRIEF, VERBOSE} private static class ParameterAdder implements Consumer { - private List records; - private Verbosity verbosity; + private final List records; + private final Verbosity verbosity; public ParameterAdder(List records, Verbosity verbosity) { this.records = records; @@ -190,8 +190,8 @@ private String getArtifactString(Description description) { private static class ExternalResourcesAdder implements Consumer { - private List records; - private Verbosity verbosity; + private final List records; + private final Verbosity verbosity; public ExternalResourcesAdder(List records, Verbosity verbosity) { this.records = records; @@ -247,8 +247,7 @@ else if (resourceSpecifier instanceof ConfigurableDataResourceSpecifier) getMetaData().getConfigurationParameterDeclarations(). getConfigurationParameters(); Map settings = Stream.of(configurableDataResourceSpecifier.getMetaData().getConfigurationParameterSettings().getParameterSettings()).flatMap(Stream::of).collect(Collectors.toMap(NameValuePair::getName, Function.identity())); - for (int i = 0; i < declarations.length; i++) { - ConfigurationParameter declaration = declarations[i]; + for (ConfigurationParameter declaration : declarations) { String name = declaration.getName(); Object value = Optional.ofNullable(settings.get(name)).orElseGet(NameValuePair_impl::new).getValue(); String reportLevel = color.apply(DEFAULT); diff --git a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/TextIOUtils.java b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/TextIOUtils.java index eab0c6b..57b1b60 100644 --- a/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/TextIOUtils.java +++ b/jcore-pipeline-builder-cli/src/main/java/de/julielab/jcore/pipeline/builder/cli/util/TextIOUtils.java @@ -18,8 +18,8 @@ public class TextIOUtils { */ public static class EmptyStringParser implements Function> { public static final Object EMPTY_VALUE = new Object(); - private Function converter; - private String typeName; + private final Function converter; + private final String typeName; public EmptyStringParser(Function converter, String typeName) { this.converter = converter; diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-assembly/pom.xml b/jcore-pipeline-runner/jcore-pipeline-runner-assembly/pom.xml index c140664..1f47701 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-assembly/pom.xml +++ b/jcore-pipeline-runner/jcore-pipeline-runner-assembly/pom.xml @@ -3,7 +3,7 @@ jcore-pipeline-runner de.julielab - 0.4.1-SNAPSHOT + 0.4.1 4.0.0 diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-base/pom.xml b/jcore-pipeline-runner/jcore-pipeline-runner-base/pom.xml index 8050c34..67cdbf6 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-base/pom.xml +++ b/jcore-pipeline-runner/jcore-pipeline-runner-base/pom.xml @@ -4,7 +4,7 @@ jcore-pipeline-runner de.julielab - 0.4.1-SNAPSHOT + 0.4.1 4.0.0 diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/CPEBootstrapRunner.java b/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/CPEBootstrapRunner.java index d343e1d..b2b9639 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/CPEBootstrapRunner.java +++ b/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/CPEBootstrapRunner.java @@ -17,8 +17,6 @@ import org.apache.uima.collection.metadata.CpeDescription; import org.apache.uima.collection.metadata.CpeDescriptorException; import org.apache.uima.fit.cpe.CpeBuilder; -import org.apache.uima.util.CasPool; -import org.eclipse.jetty.util.BlockingArrayQueue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xml.sax.SAXException; @@ -72,18 +70,16 @@ public void runPipeline(JCoReUIMAPipeline pipeline, HierarchicalConfiguration exceptions = new ArrayList(); + private final List exceptions = new ArrayList<>(); private boolean isProcessing = true; public void entityProcessComplete(CAS arg0, EntityProcessStatus arg1) { if (arg1.isException()) { - for (Exception e : arg1.getExceptions()) { - exceptions.add(e); - } + exceptions.addAll(arg1.getExceptions()); } } diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/application/PipelineRunnerCLI.java b/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/application/PipelineRunnerCLI.java index 6f7e02b..ea227ef 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/application/PipelineRunnerCLI.java +++ b/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/application/PipelineRunnerCLI.java @@ -23,7 +23,7 @@ public class PipelineRunnerCLI implements ConfigurationTemplateGenerator { private final static Logger log = LoggerFactory.getLogger(PipelineRunnerCLI.class); - public static void main(String args[]) { + public static void main(String[] args) { if (args.length != 1) { log.error("Usage: {} ", PipelineRunnerCLI.class.getSimpleName()); @@ -52,7 +52,7 @@ private void run(File configurationFile) { log.error("Configuration file {} could not be read: {}", configurationFile, e.getMessage()); } catch (PipelineIOException e) { e.printStackTrace(); - log.error("One of the pipelines given in the configuration file {} could not be loaded: ", + log.error("One of the pipelines given in the configuration file {} could not be loaded: {}", configurationFile, e.getMessage()); } } else { diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/services/PipelineRunnerService.java b/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/services/PipelineRunnerService.java index 3b15a15..6cc9e32 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/services/PipelineRunnerService.java +++ b/jcore-pipeline-runner/jcore-pipeline-runner-base/src/main/java/de/julielab/jcore/pipeline/runner/services/PipelineRunnerService.java @@ -21,7 +21,7 @@ public class PipelineRunnerService implements ParameterExposing{ private static PipelineRunnerService service; - private ServiceLoader loader; + private final ServiceLoader loader; public static PipelineRunnerService getInstance() { if (service == null) diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-cpe/pom.xml b/jcore-pipeline-runner/jcore-pipeline-runner-cpe/pom.xml index 09896a4..e622177 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-cpe/pom.xml +++ b/jcore-pipeline-runner/jcore-pipeline-runner-cpe/pom.xml @@ -4,7 +4,7 @@ jcore-pipeline-runner de.julielab - 0.4.1-SNAPSHOT + 0.4.1 4.0.0 diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/CPERunner.java b/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/CPERunner.java index 38c1b5d..35448c4 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/CPERunner.java +++ b/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/CPERunner.java @@ -42,7 +42,7 @@ public class CPERunner { */ protected String descriptorPath; protected CpeDescription cpeDescription; - protected Options options; + protected final Options options; protected CollectionProcessingEngine cpe; protected StatusCallbackListener statusCallbackListener; protected Integer processingUnitThreadCount; diff --git a/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/StatusCallbackListener.java b/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/StatusCallbackListener.java index 7fa6e6b..5c6995f 100644 --- a/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/StatusCallbackListener.java +++ b/jcore-pipeline-runner/jcore-pipeline-runner-cpe/src/main/java/de/julielab/jcore/pipeline/runner/cpe/StatusCallbackListener.java @@ -6,7 +6,6 @@ import org.apache.uima.cas.CAS; import org.apache.uima.cas.CASException; import org.apache.uima.cas.FSIterator; -import org.apache.uima.cas.text.AnnotationIndex; import org.apache.uima.collection.CollectionProcessingEngine; import org.apache.uima.collection.EntityProcessStatus; import org.apache.uima.fit.util.JCasUtil; @@ -26,32 +25,29 @@ public class StatusCallbackListener implements org.apache.uima.collection.Status private final static Logger LOGGER = LoggerFactory.getLogger(StatusCallbackListener.class); int entityCount = 0; - private CollectionProcessingEngine cpe; + private final CollectionProcessingEngine cpe; /** * list holding primary keys of documents that have been successfully * processed */ - private ArrayList processed = new ArrayList(); + private final ArrayList processed = new ArrayList<>(); /** * list holding primary keys of documents during the processing of which an * exception occured */ - private ArrayList exceptions = new ArrayList(); + private final ArrayList exceptions = new ArrayList<>(); /** * matches primary keys of unsuccessfully processed documents and exceptions * that occured during the processing */ - private HashMap logException = new HashMap(); + private final HashMap logException = new HashMap<>(); /** * Start time of the processing */ private long mInitCompleteTime; - private long mBatchTime; - private Integer batchSize; public StatusCallbackListener(CollectionProcessingEngine cpe, Integer batchSize) { this.cpe = cpe; - this.batchSize = batchSize; } /** @@ -62,7 +58,7 @@ public StatusCallbackListener(CollectionProcessingEngine cpe, Integer batchSize) public void initializationComplete() { LOGGER.info("CPE Initialization complete"); mInitCompleteTime = System.currentTimeMillis(); - mBatchTime = System.currentTimeMillis(); + long mBatchTime = System.currentTimeMillis(); } /** @@ -160,18 +156,16 @@ public synchronized void entityProcessComplete(CAS aCas, EntityProcessStatus aSt String filename = "pipeline-error-" + docId + ".err"; LOGGER.error("Components failed: {}", aStatus.getFailedComponentNames()); LOGGER.error("Error message: {}", aStatus.getStatusMessage()); - LOGGER.debug("Exception occurred while processing document with ID {}. Writing error message to {}", docId, aStatus.getExceptions(), filename); + LOGGER.debug("Exception occurred while processing document with ID {}: {} Writing error message to {}", docId, aStatus.getExceptions(), filename); final String log = createLog(aStatus); try (BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename), StandardCharsets.UTF_8))) { bw.write(log); bw.newLine(); } } - } catch (CASException e) { - e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); - } catch (IOException e) { + } catch (CASException | IOException e) { e.printStackTrace(); } @@ -186,19 +180,19 @@ public synchronized void entityProcessComplete(CAS aCas, EntityProcessStatus aSt public String createLog(EntityProcessStatus status) { StringBuilder builder = new StringBuilder(); - builder.append("Error happened on: " + new Date()); + builder.append("Error happened on: ").append(new Date()); builder.append("-------------- Failed Components -------------- \n"); @SuppressWarnings("rawtypes") List componentNames = status.getFailedComponentNames(); for (int i = 0; i < componentNames.size(); i++) { - builder.append((i + 1) + ". " + componentNames.get(i) + "\n"); + builder.append(i + 1).append(". ").append(componentNames.get(i)).append("\n"); } builder.append("-------------- Stack Traces -------------- \n"); @SuppressWarnings("rawtypes") List exceptions = status.getExceptions(); - for (int i = 0; i < exceptions.size(); i++) { - Throwable throwable = (Throwable) exceptions.get(i); + for (Object exception : exceptions) { + Throwable throwable = (Throwable) exception; StringWriter writer = new StringWriter(); throwable.printStackTrace(new PrintWriter(writer)); builder.append(writer.toString()); diff --git a/jcore-pipeline-runner/pom.xml b/jcore-pipeline-runner/pom.xml index 60feb86..4ce8914 100644 --- a/jcore-pipeline-runner/pom.xml +++ b/jcore-pipeline-runner/pom.xml @@ -3,7 +3,7 @@ jcore-pipeline-modules de.julielab - 0.4.1-SNAPSHOT + 0.4.1 4.0.0 diff --git a/pom.xml b/pom.xml index 03dea83..f19eddd 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ jcore-pipeline-modules pom - 0.4.1-SNAPSHOT + 0.4.1 de.julielab jcore-base