fixed a NPE

This commit is contained in:
Michele Artini 2024-02-07 14:03:46 +01:00
parent 5228545723
commit a2d144fb07
4 changed files with 20 additions and 11 deletions

View File

@ -1,5 +1,8 @@
package eu.dnetlib.wfs;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
@ -32,7 +35,7 @@ import eu.dnetlib.domain.wfs.subscriptions.WfSubscription;
public class WfExecutorApplication extends AbstractDnetApp {
@Autowired(required = false)
private DnetXsltFunction[] xsltFunctions;
private final List<DnetXsltFunction> xsltFunctions = new ArrayList<>();
@Value("${mdstores.data.datasource.url}")
private String databaseUrl;
@ -60,12 +63,12 @@ public class WfExecutorApplication extends AbstractDnetApp {
@Bean
public MDStoreSqlBackend mdStoreSqlBackend() {
return new MDStoreSqlBackend(databaseUrl, databaseUsername, databasePassword);
return new MDStoreSqlBackend(this.databaseUrl, this.databaseUsername, this.databasePassword);
}
@Bean
public XsltTransformFactory xsltTransformFactory(final DnetServiceClientFactory clientFactory) {
return new XsltTransformFactory(clientFactory, xsltFunctions);
return new XsltTransformFactory(clientFactory, this.xsltFunctions);
}
@Bean
@ -75,7 +78,7 @@ public class WfExecutorApplication extends AbstractDnetApp {
@Bean
public SolrService solrService() {
return new SolrService(zooServer, solrUrls);
return new SolrService(this.zooServer, this.solrUrls);
}
}

View File

@ -1,5 +1,8 @@
package eu.dnetlib.wfs;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@ -27,7 +30,7 @@ import eu.dnetlib.domain.wfs.subscriptions.WfSubscription;
public class WfManagerApplication extends AbstractDnetApp {
@Autowired(required = false)
private DnetXsltFunction[] xsltFunctions;
private final List<DnetXsltFunction> xsltFunctions = new ArrayList<>();
public static void main(final String[] args) {
SpringApplication.run(WfManagerApplication.class, args);
@ -40,7 +43,7 @@ public class WfManagerApplication extends AbstractDnetApp {
@Bean
public XsltTransformFactory xsltTransformFactory(final DnetServiceClientFactory clientFactory) {
return new XsltTransformFactory(clientFactory, xsltFunctions);
return new XsltTransformFactory(clientFactory, this.xsltFunctions);
}
@Bean

View File

@ -1,5 +1,6 @@
package eu.dnetlib.common.mapping.xslt;
import java.util.List;
import java.util.Map;
import eu.dnetlib.common.clients.DnetServiceClientFactory;
@ -13,9 +14,9 @@ public class XsltTransformFactory {
private final DnetServiceClientFactory clientFactory;
private final DnetXsltFunction[] xsltFunctions;
private final List<DnetXsltFunction> xsltFunctions;
public XsltTransformFactory(final DnetServiceClientFactory clientFactory, final DnetXsltFunction... xsltFunctions) {
public XsltTransformFactory(final DnetServiceClientFactory clientFactory, final List<DnetXsltFunction> xsltFunctions) {
this.clientFactory = clientFactory;
this.xsltFunctions = xsltFunctions;
}

View File

@ -2,7 +2,9 @@ package eu.dnetlib.common.mapping.xslt;
import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.transform.stream.StreamSource;
@ -28,10 +30,10 @@ public class XsltUtils {
private static final Log log = LogFactory.getLog(XsltUtils.class);
public static String applyXslt(final String xml, final String xslt) throws Exception {
return applyXslt(xml, xslt, new HashMap<>());
return applyXslt(xml, xslt, new HashMap<>(), new ArrayList<>());
}
public static String applyXslt(final String xml, final String xslt, final Map<String, Object> params, final DnetXsltFunction... xsltFunctions)
public static String applyXslt(final String xml, final String xslt, final Map<String, Object> params, final List<DnetXsltFunction> xsltFunctions)
throws Exception {
final RecordTransformer<String, String> transformer = newTransformer(xslt, params, xsltFunctions);
return transformer.transform(xml);
@ -39,7 +41,7 @@ public class XsltUtils {
public static RecordTransformer<String, String> newTransformer(final String xsltText,
final Map<String, Object> params,
final DnetXsltFunction... xsltFunctions) throws Exception {
final List<DnetXsltFunction> xsltFunctions) throws Exception {
final Processor processor = new Processor(false);
for (final DnetXsltFunction f : xsltFunctions) {