Revision 41977
Added by Sandro La Bruzzo about 8 years ago
RegistryServiceVocabularyDAO.java | ||
---|---|---|
7 | 7 |
import java.util.List; |
8 | 8 |
import java.util.Map; |
9 | 9 |
|
10 |
import com.google.common.collect.Lists; |
|
11 |
import com.google.common.collect.Maps; |
|
12 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Relation; |
|
13 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Synonym; |
|
14 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Term; |
|
15 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Vocabulary; |
|
16 |
import eu.dnetlib.miscutils.datetime.DateUtils; |
|
17 |
import eu.dnetlib.rmi.enabling.*; |
|
10 | 18 |
import org.antlr.stringtemplate.StringTemplate; |
11 | 19 |
import org.apache.commons.io.IOUtils; |
12 | 20 |
import org.apache.commons.lang3.StringEscapeUtils; |
... | ... | |
15 | 23 |
import org.dom4j.Element; |
16 | 24 |
import org.dom4j.io.SAXReader; |
17 | 25 |
|
18 |
import com.google.common.base.Function; |
|
19 |
import com.google.common.collect.Lists; |
|
20 |
import com.google.common.collect.Maps; |
|
21 |
|
|
22 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Relation; |
|
23 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Synonym; |
|
24 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Term; |
|
25 |
import eu.dnetlib.functionality.modular.ui.vocabularies.model.Vocabulary; |
|
26 |
import eu.dnetlib.miscutils.datetime.DateUtils; |
|
27 |
import eu.dnetlib.rmi.enabling.ISLookUpDocumentNotFoundException; |
|
28 |
import eu.dnetlib.rmi.enabling.ISLookUpException; |
|
29 |
import eu.dnetlib.rmi.enabling.ISLookUpService; |
|
30 |
import eu.dnetlib.rmi.enabling.ISRegistryDocumentNotFoundException; |
|
31 |
import eu.dnetlib.rmi.enabling.ISRegistryException; |
|
32 |
import eu.dnetlib.rmi.enabling.ISRegistryService; |
|
33 |
|
|
34 | 26 |
public class RegistryServiceVocabularyDAO extends VocabularyDAO { |
35 | 27 |
|
36 | 28 |
@Override |
... | ... | |
41 | 33 |
+ "return concat ($x//RESOURCE_IDENTIFIER/@value,' §§§ ',$x//VOCABULARY_NAME,' §§§ ',$x//VOCABULARY_DESCRIPTION,' §§§ ',$x//VOCABULARY_NAME/@code)"; |
42 | 34 |
|
43 | 35 |
final List<Vocabulary> vocabularies = Lists.transform(this.serviceLocator.getService(ISLookUpService.class).quickSearchProfile(query), |
44 |
new Function<String, Vocabulary>() { |
|
45 |
|
|
46 |
@Override |
|
47 |
public Vocabulary apply(final String s) { |
|
48 |
final String[] tokens = s.split("§§§"); |
|
49 |
return new Vocabulary(tokens[0].trim(), tokens[1].trim(), tokens[2].trim(), tokens[3].trim()); |
|
50 |
} |
|
36 |
s -> { |
|
37 |
final String[] tokens = s.split("§§§"); |
|
38 |
return new Vocabulary(tokens[0].trim(), tokens[1].trim(), tokens[2].trim(), tokens[3].trim()); |
|
51 | 39 |
}); |
52 | 40 |
return vocabularies; |
53 | 41 |
} catch (final ISLookUpException e) { |
... | ... | |
116 | 104 |
try { |
117 | 105 |
// prepare terms for XML |
118 | 106 |
for (final Term t : terms) { |
119 |
t.setCode(StringEscapeUtils.escapeXml(t.getCode())); |
|
120 |
t.setEncoding(StringEscapeUtils.escapeXml(t.getEncoding())); |
|
121 |
t.setEnglishName(StringEscapeUtils.escapeXml(t.getEnglishName())); |
|
122 |
t.setNativeName(StringEscapeUtils.escapeXml(t.getNativeName())); |
|
107 |
t.setCode(StringEscapeUtils.escapeXml11(t.getCode()));
|
|
108 |
t.setEncoding(StringEscapeUtils.escapeXml11(t.getEncoding()));
|
|
109 |
t.setEnglishName(StringEscapeUtils.escapeXml11(t.getEnglishName()));
|
|
110 |
t.setNativeName(StringEscapeUtils.escapeXml11(t.getNativeName()));
|
|
123 | 111 |
for (final Synonym s : t.getSynonyms()) { |
124 |
s.setEncoding(StringEscapeUtils.escapeXml(s.getEncoding())); |
|
125 |
s.setTerm(StringEscapeUtils.escapeXml(s.getTerm())); |
|
112 |
s.setEncoding(StringEscapeUtils.escapeXml11(s.getEncoding()));
|
|
113 |
s.setTerm(StringEscapeUtils.escapeXml11(s.getTerm()));
|
|
126 | 114 |
} |
127 | 115 |
for (final Relation r : t.getRelations()) { |
128 |
r.setType(StringEscapeUtils.escapeXml(r.getType())); |
|
129 |
r.setCode(StringEscapeUtils.escapeXml(r.getCode())); |
|
116 |
r.setType(StringEscapeUtils.escapeXml11(r.getType()));
|
|
117 |
r.setCode(StringEscapeUtils.escapeXml11(r.getCode()));
|
|
130 | 118 |
} |
131 | 119 |
} |
132 | 120 |
|
... | ... | |
146 | 134 |
public void commitVocabularyInfo(final Vocabulary voc, final String vocabularyId) throws VocabularyException { |
147 | 135 |
try { |
148 | 136 |
String xml = "<VOCABULARY_DESCRIPTION>{desc}</VOCABULARY_DESCRIPTION>"; |
149 |
xml = xml.replace("{desc}", StringEscapeUtils.escapeXml(voc.getDescription())); |
|
137 |
xml = xml.replace("{desc}", StringEscapeUtils.escapeXml11(voc.getDescription()));
|
|
150 | 138 |
this.serviceLocator.getService(ISRegistryService.class).updateProfileNode(vocabularyId, "//VOCABULARY_DESCRIPTION", xml); |
151 | 139 |
} catch (final ISRegistryException e) { |
152 | 140 |
throw new VocabularyException(e); |
Also available in: Unified diff
Added dnet-data-provision