From 36ad687f812b62ec4f0baf8a651096e7898db51b Mon Sep 17 00:00:00 2001 From: "Cezar.Leahu" Date: Mon, 29 Oct 2018 16:42:38 +0200 Subject: [PATCH] ATS-178 : Fix bean initialization errors --- .../org/alfresco/transformer/Application.java | 10 ++-------- .../org/alfresco/transformer/Application.java | 12 +++-------- .../org/alfresco/transformer/Application.java | 7 ------- .../executors/JodConverterSharedInstance.java | 20 ++++++++++--------- .../executors/LibreOfficeJavaExecutor.java | 12 +++++++++-- .../org/alfresco/transformer/Application.java | 7 ------- 6 files changed, 26 insertions(+), 42 deletions(-) diff --git a/alfresco-docker-alfresco-pdf-renderer/src/main/java/org/alfresco/transformer/Application.java b/alfresco-docker-alfresco-pdf-renderer/src/main/java/org/alfresco/transformer/Application.java index 20629a64..1d416be9 100644 --- a/alfresco-docker-alfresco-pdf-renderer/src/main/java/org/alfresco/transformer/Application.java +++ b/alfresco-docker-alfresco-pdf-renderer/src/main/java/org/alfresco/transformer/Application.java @@ -11,9 +11,6 @@ */ package org.alfresco.transformer; -import io.micrometer.core.instrument.MeterRegistry; - -import org.alfresco.transformer.executors.PdfRendererCommandExecutor; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; @@ -22,6 +19,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.annotation.Bean; +import io.micrometer.core.instrument.MeterRegistry; + @SpringBootApplication @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class Application @@ -34,11 +33,6 @@ public class Application return registry -> registry.config().commonTags("containerName", containerName); } - @Bean - public PdfRendererCommandExecutor commandExecutor() { - return new PdfRendererCommandExecutor(); - } - public static void main(String[] args) { SpringApplication.run(Application.class, args); diff --git a/alfresco-docker-imagemagick/src/main/java/org/alfresco/transformer/Application.java b/alfresco-docker-imagemagick/src/main/java/org/alfresco/transformer/Application.java index aafdfeb8..8aca3520 100644 --- a/alfresco-docker-imagemagick/src/main/java/org/alfresco/transformer/Application.java +++ b/alfresco-docker-imagemagick/src/main/java/org/alfresco/transformer/Application.java @@ -11,17 +11,16 @@ */ package org.alfresco.transformer; -import io.micrometer.core.instrument.MeterRegistry; - -import org.alfresco.transformer.executors.ImageMagickCommandExecutor; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; -import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.annotation.Bean; +import io.micrometer.core.instrument.MeterRegistry; + @SpringBootApplication @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class Application @@ -34,11 +33,6 @@ public class Application return registry -> registry.config().commonTags("containerName", containerName); } - @Bean - public ImageMagickCommandExecutor commandExecutor() { - return new ImageMagickCommandExecutor(); - } - public static void main(String[] args) { SpringApplication.run(Application.class, args); diff --git a/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/Application.java b/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/Application.java index 87752c5e..bb1fd260 100644 --- a/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/Application.java +++ b/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/Application.java @@ -13,7 +13,6 @@ package org.alfresco.transformer; import io.micrometer.core.instrument.MeterRegistry; -import org.alfresco.transformer.executors.LibreOfficeJavaExecutor; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; @@ -34,12 +33,6 @@ public class Application return registry -> registry.config().commonTags("containerName", containerName); } - @Bean - public LibreOfficeJavaExecutor javaExecutor() - { - return new LibreOfficeJavaExecutor(); - } - public static void main(String[] args) { SpringApplication.run(Application.class, args); diff --git a/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java b/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java index b22ea339..4bc63ca2 100644 --- a/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java +++ b/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/JodConverterSharedInstance.java @@ -25,20 +25,23 @@ */ package org.alfresco.transformer.executors; +import static java.util.Arrays.asList; +import static java.util.Objects.requireNonNull; + import java.io.File; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.StringTokenizer; +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; + import org.alfresco.error.AlfrescoRuntimeException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration; import org.artofsolving.jodconverter.office.OfficeException; import org.artofsolving.jodconverter.office.OfficeManager; -import org.springframework.beans.factory.DisposableBean; -import org.springframework.beans.factory.InitializingBean; ///////// THIS FILE WAS A COPY OF THE CODE IN alfresco-repository ///////////// @@ -48,7 +51,7 @@ import org.springframework.beans.factory.InitializingBean; * * @author Neil McErlean */ -public class JodConverterSharedInstance implements InitializingBean, DisposableBean, JodConverter +public class JodConverterSharedInstance implements JodConverter { private static final Log logger = LogFactory.getLog(JodConverterSharedInstance.class); @@ -286,7 +289,7 @@ public class JodConverterSharedInstance implements InitializingBean, DisposableB * (non-Javadoc) * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() */ - @Override + @PostConstruct public void afterPropertiesSet() { // isAvailable defaults to false afterPropertiesSet. It only becomes true on successful completion of this method. @@ -446,10 +449,9 @@ public class JodConverterSharedInstance implements InitializingBean, DisposableB } File[] matchingFiles = searchRoot.listFiles((dir, name) -> name.startsWith("soffice")); - Arrays.stream(matchingFiles) - .forEach(results::add); + results.addAll(asList(matchingFiles)); - for (File dir : searchRoot.listFiles(File::isDirectory)) + for (File dir : requireNonNull(searchRoot.listFiles(File::isDirectory))) { findSofficePrograms(dir, results, currentRecursionDepth + 1, maxRecursionDepth); } @@ -493,7 +495,7 @@ public class JodConverterSharedInstance implements InitializingBean, DisposableB * (non-Javadoc) * @see org.springframework.beans.factory.DisposableBean#destroy() */ - @Override + @PreDestroy public void destroy() { this.isAvailable = false; diff --git a/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/LibreOfficeJavaExecutor.java b/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/LibreOfficeJavaExecutor.java index ad3f794d..794b9488 100644 --- a/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/LibreOfficeJavaExecutor.java +++ b/alfresco-docker-libreoffice/src/main/java/org/alfresco/transformer/executors/LibreOfficeJavaExecutor.java @@ -3,6 +3,8 @@ package org.alfresco.transformer.executors; import java.io.File; import java.io.IOException; +import javax.annotation.PostConstruct; + import org.alfresco.transformer.exceptions.TransformException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -24,7 +26,13 @@ public class LibreOfficeJavaExecutor implements JavaExecutor private static final int JODCONVERTER_TRANSFORMATION_ERROR_CODE = 3088; private static final String OFFICE_HOME = "/opt/libreoffice5.4"; - private JodConverter jodconverter = createJodConverter(); + private JodConverter jodconverter; + + @PostConstruct + public void init() + { + jodconverter = createJodConverter(); + } private static JodConverter createJodConverter() { @@ -36,7 +44,7 @@ public class LibreOfficeJavaExecutor implements JavaExecutor jodconverter.setMaxTasksPerProcess("200"); // jodconverter.maxTasksPerProcess jodconverter.setTaskExecutionTimeout(timeout); // jodconverter.maxTaskExecutionTimeout jodconverter.setTaskQueueTimeout("30000"); // jodconverter.taskQueueTimeout - jodconverter.setConnectTimeout("28000"); // jodconverter.connectTimeout + jodconverter.setConnectTimeout(timeout); // jodconverter.connectTimeout jodconverter.setPortNumbers("8100"); // jodconverter.portNumbers jodconverter.setTemplateProfileDir(""); // jodconverter.templateProfileDir jodconverter.setEnabled("true"); // jodconverter.enabled diff --git a/alfresco-docker-tika/src/main/java/org/alfresco/transformer/Application.java b/alfresco-docker-tika/src/main/java/org/alfresco/transformer/Application.java index 3fb6912f..af00d497 100644 --- a/alfresco-docker-tika/src/main/java/org/alfresco/transformer/Application.java +++ b/alfresco-docker-tika/src/main/java/org/alfresco/transformer/Application.java @@ -11,7 +11,6 @@ */ package org.alfresco.transformer; -import org.alfresco.transformer.executors.TikaJavaExecutor; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; @@ -35,12 +34,6 @@ public class Application return registry -> registry.config().commonTags("containerName", containerName); } - @Bean - public TikaJavaExecutor javaExecutor() throws Exception - { - return new TikaJavaExecutor(); - } - public static void main(String[] args) { SpringApplication.run(Application.class, args);