refactoring

This commit is contained in:
Michele Artini 2023-09-19 15:48:23 +02:00
parent eb8df2fabd
commit 243e92355d
9 changed files with 78 additions and 40 deletions

View File

@ -5,24 +5,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import eu.dnetlib.common.app.AbstractDnetApp;
import eu.dnetlib.domain.dsm.Api;
import eu.dnetlib.domain.dsm.BrowseTerm;
import eu.dnetlib.domain.dsm.Datasource;
import eu.dnetlib.domain.dsm.readonly.ApiWithAdditionalInfo;
import eu.dnetlib.domain.dsm.readonly.SimpleDsWithApis;
import eu.dnetlib.domain.protocol.Protocol;
import eu.dnetlib.domain.protocol.ProtocolParam;
@SpringBootApplication
@EntityScan(basePackageClasses = {
Datasource.class,
Api.class,
BrowseTerm.class,
SimpleDsWithApis.class,
ApiWithAdditionalInfo.class,
Protocol.class,
ProtocolParam.class
})
@EntityScan("eu.dnetlib.domain")
public class DsmApplication extends AbstractDnetApp {
public static void main(final String[] args) {

View File

@ -5,14 +5,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import eu.dnetlib.common.app.AbstractDnetApp;
import eu.dnetlib.domain.context.Category;
import eu.dnetlib.domain.context.ConceptLevel0;
import eu.dnetlib.domain.context.ConceptLevel1;
import eu.dnetlib.domain.context.ConceptLevel2;
import eu.dnetlib.domain.context.Context;
import eu.dnetlib.domain.vocabulary.Vocabulary;
import eu.dnetlib.domain.vocabulary.VocabularyTerm;
@SpringBootApplication
@EntityScan(basePackageClasses = { Context.class, Category.class, ConceptLevel0.class, ConceptLevel1.class, ConceptLevel2.class })
@EntityScan(basePackageClasses = { Vocabulary.class, VocabularyTerm.class })
public class VocabulariesApplication extends AbstractDnetApp {
public static void main(final String[] args) {

View File

@ -1,19 +1,44 @@
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;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import eu.dnetlib.common.app.AbstractDnetApp;
import eu.dnetlib.domain.vocabulary.Vocabulary;
import eu.dnetlib.domain.vocabulary.VocabularyTerm;
import eu.dnetlib.common.mapping.cleaner.CleanerFactory;
import eu.dnetlib.common.mapping.xslt.DnetXsltFunction;
import eu.dnetlib.common.mapping.xslt.XsltTransformFactory;
import eu.dnetlib.wfs.clients.SimpleResourceClient;
import eu.dnetlib.wfs.clients.VocabularyClient;
@SpringBootApplication
@EntityScan(basePackageClasses = { Vocabulary.class, VocabularyTerm.class })
@EntityScan(basePackageClasses = {})
public class WfExecutorApplication extends AbstractDnetApp {
@Autowired
private SimpleResourceClient simpleResourceClient;
@Autowired(required = false)
private List<DnetXsltFunction> xsltFunctions;
@Autowired
private VocabularyClient vocabularyClient;
public static void main(final String[] args) {
SpringApplication.run(WfExecutorApplication.class, args);
}
@Bean
public XsltTransformFactory xsltTransformFactory() {
return new XsltTransformFactory(simpleResourceClient, xsltFunctions != null ? xsltFunctions : new ArrayList<>());
}
@Bean
public CleanerFactory cleanerFactory() {
return new CleanerFactory(simpleResourceClient, vocabularyClient);
}
}

View File

@ -1,14 +1,24 @@
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;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import eu.dnetlib.common.app.AbstractDnetApp;
import eu.dnetlib.common.mapping.cleaner.CleanerFactory;
import eu.dnetlib.common.mapping.xslt.DnetXsltFunction;
import eu.dnetlib.common.mapping.xslt.XsltTransformFactory;
import eu.dnetlib.domain.wfs.WfHistoryEntry;
import eu.dnetlib.domain.wfs.WorkflowConfiguration;
import eu.dnetlib.domain.wfs.WorkflowSection;
import eu.dnetlib.domain.wfs.WorkflowSubscription;
import eu.dnetlib.wfs.clients.SimpleResourceClient;
import eu.dnetlib.wfs.clients.VocabularyClient;
@SpringBootApplication
@EntityScan(basePackageClasses = {
@ -19,8 +29,26 @@ import eu.dnetlib.domain.wfs.WorkflowSubscription;
})
public class WfManagerApplication extends AbstractDnetApp {
@Autowired
private SimpleResourceClient simpleResourceClient;
@Autowired(required = false)
private List<DnetXsltFunction> xsltFunctions;
@Autowired
private VocabularyClient vocabularyClient;
public static void main(final String[] args) {
SpringApplication.run(WfManagerApplication.class, args);
}
@Bean
public XsltTransformFactory xsltTransformFactory() {
return new XsltTransformFactory(simpleResourceClient, xsltFunctions != null ? xsltFunctions : new ArrayList<>());
}
@Bean
public CleanerFactory cleanerFactory() {
return new CleanerFactory(simpleResourceClient, vocabularyClient);
}
}

View File

@ -1,4 +1,4 @@
package eu.dnetlib.common.mapping.xslt;
package eu.dnetlib.common.mapping;
public interface RecordTransformer<T, K> {

View File

@ -13,7 +13,7 @@ import org.dom4j.Namespace;
import org.dom4j.QName;
import org.dom4j.io.SAXReader;
import eu.dnetlib.common.mapping.xslt.RecordTransformer;
import eu.dnetlib.common.mapping.RecordTransformer;
public class Cleaner implements RecordTransformer<String, String> {

View File

@ -6,21 +6,21 @@ import org.apache.commons.lang3.BooleanUtils;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import eu.dnetlib.errors.CleanerException;
import eu.dnetlib.wfs.clients.SimpleResourceClient;
import eu.dnetlib.wfs.clients.VocabularyClient;
@Service
public class CleanerFactory {
@Autowired
private SimpleResourceClient simpleResourceClient;
private final SimpleResourceClient simpleResourceClient;
@Autowired
private VocabularyClient vocabularyClient;
public CleanerFactory(final SimpleResourceClient simpleResourceClient, final VocabularyClient vocabularyClient) {
this.simpleResourceClient = simpleResourceClient;
this.vocabularyClient = vocabularyClient;
}
private final VocabularyClient vocabularyClient;
public Cleaner obtainCleaningRule(final String ruleId) throws CleanerException {

View File

@ -10,9 +10,9 @@ import javax.xml.transform.stream.StreamSource;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import eu.dnetlib.common.mapping.RecordTransformer;
import eu.dnetlib.errors.TransformationException;
import eu.dnetlib.wfs.clients.SimpleResourceClient;
import net.sf.saxon.s9api.ExtensionFunction;
@ -33,11 +33,14 @@ public class XsltTransformFactory {
private static final Log log = LogFactory.getLog(XsltTransformFactory.class);
@Autowired
private SimpleResourceClient simpleResourceClient;
private final SimpleResourceClient simpleResourceClient;
@Autowired
private List<DnetXsltFunction> xsltFunctions;
private final List<DnetXsltFunction> xsltFunctions;
public XsltTransformFactory(final SimpleResourceClient simpleResourceClient, final List<DnetXsltFunction> xsltFunctions) {
this.simpleResourceClient = simpleResourceClient;
this.xsltFunctions = xsltFunctions;
}
public RecordTransformer<String, String> getTransformer(final String ruleId, final Map<String, String> initialParams) throws TransformationException {
try {

View File

@ -6,7 +6,7 @@ import java.util.Map;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import eu.dnetlib.common.mapping.xslt.RecordTransformer;
import eu.dnetlib.common.mapping.RecordTransformer;
import eu.dnetlib.common.mapping.xslt.XsltTransformFactory;
import eu.dnetlib.domain.mdstore.records.MetadataRecord;
import eu.dnetlib.domain.mdstore.records.MetadataRecordImpl;