fixed import of legacy tr rules
This commit is contained in:
parent
8933fa2273
commit
b37eb84e91
|
@ -7,7 +7,7 @@
|
|||
*.iws
|
||||
*.java-version
|
||||
*~
|
||||
/**/*.sh
|
||||
/**/ssh_tunnel_*.sh
|
||||
/**/my_application.properties
|
||||
.vscode
|
||||
.classpath
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
package eu.dnetlib.is.importer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.DocumentException;
|
||||
import org.dom4j.DocumentHelper;
|
||||
import org.dom4j.Node;
|
||||
import org.dom4j.io.SAXReader;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -44,9 +42,9 @@ public class ContextImporter {
|
|||
private static final Log log = LogFactory.getLog(ContextImporter.class);
|
||||
|
||||
public void loadFromOldProfile(final String xml) throws DocumentException, IOException {
|
||||
final SAXReader reader = new SAXReader();
|
||||
final Document doc = reader.read(new StringReader(xml));
|
||||
doc.selectNodes("//context").forEach(this::saveContext);
|
||||
DocumentHelper.parseText(xml)
|
||||
.selectNodes("//context")
|
||||
.forEach(this::saveContext);
|
||||
}
|
||||
|
||||
private void saveContext(final Node node) {
|
||||
|
|
|
@ -24,6 +24,12 @@ import eu.dnetlib.is.vocabulary.model.Vocabulary;
|
|||
@RequestMapping("/api/import")
|
||||
public class ImporterController extends AbstractDnetController {
|
||||
|
||||
// EXAMPLE:
|
||||
// find ./VocabularyDSResourceType/ -name "*.xml" -exec curl -X POST "http://localhost:8280/api/import/vocabulary" -H "accept: */*" -H
|
||||
// "Content-Type: text/plain" --data-binary @{} \;
|
||||
// find ./DedupConfigurationDSResources/ -name "*.xml" -exec curl -X POST "http://localhost:8280/api/import/resource" -H "accept: */*"
|
||||
// -H "Content-Type: text/plain" --data-binary @{} \;
|
||||
|
||||
@Autowired
|
||||
private ContextImporter contextImporter;
|
||||
|
||||
|
@ -51,6 +57,7 @@ public class ImporterController extends AbstractDnetController {
|
|||
})
|
||||
public String importResource(final HttpServletRequest request) throws Exception {
|
||||
final String xml = IOUtils.toString(request.getInputStream(), StandardCharsets.UTF_8);
|
||||
|
||||
return oldProfilesImporter.importSimpleResource(xml);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package eu.dnetlib.is.importer;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
@ -8,8 +7,8 @@ import javax.transaction.Transactional;
|
|||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.DocumentException;
|
||||
import org.dom4j.DocumentHelper;
|
||||
import org.dom4j.Node;
|
||||
import org.dom4j.io.SAXReader;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -41,10 +40,9 @@ public class OldProfilesImporter {
|
|||
|
||||
@Transactional
|
||||
public String importSimpleResource(final String xml) throws InformationServiceException {
|
||||
final SAXReader reader = new SAXReader();
|
||||
|
||||
try {
|
||||
final Document doc = reader.read(new StringReader(xml));
|
||||
final Document doc = DocumentHelper.parseText(xml);
|
||||
|
||||
final String id = StringUtils.substringBefore(doc.valueOf("//RESOURCE_IDENTIFIER/@value"), "_");
|
||||
final Date now = new Date();
|
||||
|
@ -70,8 +68,9 @@ public class OldProfilesImporter {
|
|||
resContent = XmlIndenter.indent(doc.selectSingleNode("//*[local-name() = 'stylesheet']"));
|
||||
} else {
|
||||
final String code = doc.valueOf("//SCRIPT/CODE").trim();
|
||||
|
||||
try {
|
||||
final Document xsltDoc = reader.read(new StringReader(code));
|
||||
final Document xsltDoc = DocumentHelper.parseText(code);
|
||||
res.setType("transformation_rule_xslt");
|
||||
resContent = XmlIndenter.indent(xsltDoc);
|
||||
} catch (final DocumentException e) {
|
||||
|
@ -109,8 +108,7 @@ public class OldProfilesImporter {
|
|||
|
||||
@Transactional
|
||||
public Vocabulary importVocabulary(final String xml) throws Exception {
|
||||
final SAXReader reader = new SAXReader();
|
||||
final Document doc = reader.read(new StringReader(xml));
|
||||
final Document doc = DocumentHelper.parseText(xml);
|
||||
|
||||
final Vocabulary voc = new Vocabulary();
|
||||
final String vocId = doc.valueOf("//VOCABULARY_NAME/@code");
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
find ./VocabularyDSResourceType/ -name "*.xml" -exec curl -X POST "http://localhost:8280/api/import/vocabulary" -H "accept: */*" -H "Content-Type: text/plain" --data-binary @{} \;
|
||||
|
||||
|
||||
find ./DedupConfigurationDSResources/ -name "*.xml" -exec curl -X POST "http://localhost:8280/api/import/resource" -H "accept: */*" -H "Content-Type: text/plain" --data-binary @{} \;
|
Loading…
Reference in New Issue