Changeset 5985
- Timestamp:
- 02/17/15 10:56:15 (9 years ago)
- Location:
- vlo/trunk/vlo-importer/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/CMDIParserVTDXML.java
r5979 r5985 193 193 List<FacetConfiguration> facetList = facetMapping.getFacets(); 194 194 for (FacetConfiguration config : facetList) { 195 boolean matchedPattern = false; 195 196 List<String> patterns = config.getPatterns(); 196 197 for (String pattern : patterns) { 197 booleanmatchedPattern = matchPattern(cmdiData, nav, config, pattern, config.getAllowMultipleValues());198 matchedPattern = matchPattern(cmdiData, nav, config, pattern, config.getAllowMultipleValues()); 198 199 if (matchedPattern && !config.getAllowMultipleValues()) { 199 200 break; 201 } 202 } 203 204 // using fallback patterns if extraction failed 205 if (matchedPattern == false) { 206 for (String pattern : config.getFallbackPatterns()) { 207 matchedPattern = matchPattern(cmdiData, nav, config, pattern, config.getAllowMultipleValues()); 208 if (matchedPattern && !config.getAllowMultipleValues()) { 209 break; 210 } 200 211 } 201 212 } -
vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/FacetConfiguration.java
r2768 r5985 15 15 private boolean caseInsensitive= false; 16 16 private List<String> patterns = new ArrayList<String>(); 17 private List<String> fallbackPatterns = new ArrayList<String>(); 17 18 private boolean allowMultipleValues = true; 18 19 … … 28 29 this.patterns = patterns; 29 30 } 31 32 public void setFallbackPatterns(List<String> fallbackPatterns) { 33 this.fallbackPatterns = fallbackPatterns; 34 } 30 35 31 36 public void setPattern(String pattern) { 32 37 this.patterns = Collections.singletonList(pattern); 38 } 39 40 public void setFallbackPattern(String fallbackPattern) { 41 this.fallbackPatterns = Collections.singletonList(fallbackPattern); 33 42 } 34 43 … … 38 47 public List<String> getPatterns() { 39 48 return patterns; 49 } 50 51 public List<String> getFallbackPatterns() { 52 return fallbackPatterns; 40 53 } 41 54 -
vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/FacetMappingFactory.java
r5979 r5985 148 148 } 149 149 150 //add hardcoded patterns only when there is no xpath generated from conceptlink151 if (xpaths.isEmpty()) {152 xpaths.addAll(facetConcept.getPatterns());153 }154 155 150 // pattern-based blacklisting: remove all XPath expressions that contain a blacklisted substring; 156 151 // this is basically a hack to enhance the quality of the visualised information in the VLO; … … 169 164 config.setCaseInsensitive(facetConcept.isCaseInsensitive()); 170 165 config.setAllowMultipleValues(facetConcept.isAllowMultipleValues()); 166 config.setName(facetConcept.getName()); 167 171 168 config.setPatterns(xpaths); 172 config.setName(facetConcept.getName()); 173 if (!config.getPatterns().isEmpty()) { 169 config.setFallbackPatterns(facetConcept.getPatterns()); 170 171 if (!config.getPatterns().isEmpty() || !config.getFallbackPatterns().isEmpty()) { 174 172 result.addFacet(config); 175 173 } -
vlo/trunk/vlo-importer/src/test/java/eu/clarin/cmdi/vlo/importer/FacetMappingFactoryTest.java
r5979 r5985 42 42 43 43 assertEquals(FacetConstants.FIELD_SELF_LINK, mapping.getName()); 44 assertEquals(1, mapping.getPatterns().size()); 45 assertEquals("/c:CMD/c:Header/c:MdSelfLink/text()", 46 mapping.getPatterns().get(0)); 44 assertEquals(0, mapping.getPatterns().size()); 45 assertEquals(1, mapping.getFallbackPatterns().size()); 46 assertEquals("/c:CMD/c:Header/c:MdSelfLink/text()", 47 mapping.getFallbackPatterns().get(0)); 47 48 mapping = facets.get(index++); 48 49 49 50 assertEquals(FacetConstants.FIELD_COLLECTION, mapping.getName()); 50 assertEquals(1, mapping.get Patterns().size());51 assertEquals(1, mapping.getFallbackPatterns().size()); 51 52 mapping = facets.get(index++); 52 53 … … 144 145 145 146 assertEquals(FacetConstants.FIELD_RESOURCE_CLASS, mapping.getName()); 146 assertEquals(3, mapping.get Patterns().size());147 assertEquals(3, mapping.getFallbackPatterns().size()); 147 148 mapping = facets.get(index++); 148 149 … … 152 153 153 154 assertEquals("/c:CMD/c:Header/c:MdCollectionDisplayName/text()", 154 mapping.get Patterns().get(0));155 assertEquals(1, mapping.get Patterns().size());156 mapping = facets.get(index++); 157 158 assertEquals("/c:CMD/c:Header//text()", mapping.get Patterns().get(0));159 assertEquals("/c:CMD/c:Components//text()", mapping.get Patterns().get(1));160 assertEquals(2, mapping.get Patterns().size());161 mapping = facets.get(index++); 162 163 assertEquals("/c:CMD/c:Header/c:MdProfile/text()", mapping.get Patterns().get(0));164 assertEquals(1, mapping.get Patterns().size());155 mapping.getFallbackPatterns().get(0)); 156 assertEquals(1, mapping.getFallbackPatterns().size()); 157 mapping = facets.get(index++); 158 159 assertEquals("/c:CMD/c:Header//text()", mapping.getFallbackPatterns().get(0)); 160 assertEquals("/c:CMD/c:Components//text()", mapping.getFallbackPatterns().get(1)); 161 assertEquals(2, mapping.getFallbackPatterns().size()); 162 mapping = facets.get(index++); 163 164 assertEquals("/c:CMD/c:Header/c:MdProfile/text()", mapping.getFallbackPatterns().get(0)); 165 assertEquals(1, mapping.getFallbackPatterns().size()); 165 166 mapping = facets.get(index++); 166 167 … … 168 169 assertEquals(FacetConstants.FIELD_KEYWORDS, mapping.getName()); 169 170 assertEquals("/c:CMD/c:Components/c:mods/c:classification/text()", 170 mapping.get Patterns().get(0));171 assertEquals(3, mapping.get Patterns().size());171 mapping.getFallbackPatterns().get(0)); 172 assertEquals(3, mapping.getFallbackPatterns().size()); 172 173 173 174 assertEquals("check to see we tested them all", facets.size(), index); … … 192 193 193 194 assertEquals(FacetConstants.FIELD_SELF_LINK, mapping.getName()); 194 assertEquals(1, mapping.getPatterns().size()); 195 assertEquals("/c:CMD/c:Header/c:MdSelfLink/text()", 196 mapping.getPatterns().get(0)); 195 assertEquals(0, mapping.getPatterns().size()); 196 assertEquals(1, mapping.getFallbackPatterns().size()); 197 assertEquals("/c:CMD/c:Header/c:MdSelfLink/text()", 198 mapping.getFallbackPatterns().get(0)); 197 199 mapping = facets.get(index++); 198 200 199 201 assertEquals(FacetConstants.FIELD_COLLECTION, mapping.getName()); 200 assertEquals(1, mapping.get Patterns().size());202 assertEquals(1, mapping.getFallbackPatterns().size()); 201 203 assertEquals("/c:CMD/c:Header/c:MdCollectionDisplayName/text()", 202 mapping.get Patterns().get(0));204 mapping.getFallbackPatterns().get(0)); 203 205 mapping = facets.get(index++); 204 206 205 207 assertEquals(FacetConstants.FIELD_PROJECT_NAME, mapping.getName()); 206 assertEquals(3, mapping.get Patterns().size());208 assertEquals(3, mapping.getFallbackPatterns().size()); 207 209 assertEquals("/c:CMD/c:Components/c:teiHeader/c:fileDesc/c:publicationStmt/c:publisher/c:orgName/c:orgName[@role=\"project\"]/text()", 208 mapping.get Patterns().get(0));210 mapping.getFallbackPatterns().get(0)); 209 211 mapping = facets.get(index++); 210 212 … … 222 224 223 225 assertEquals(FacetConstants.FIELD_COUNTRY, mapping.getName()); 224 assertEquals(2, mapping.getPatterns().size()); 226 assertEquals(0, mapping.getPatterns().size()); 227 assertEquals(2, mapping.getFallbackPatterns().size()); 225 228 assertEquals("/c:CMD/c:Components/c:OLAC-DcmiTerms/c:spatial[@dcterms-type=\"ISO3166\"]/text()", 226 229 mapping 227 .get Patterns().get(0));230 .getFallbackPatterns().get(0)); 228 231 assertEquals("/c:CMD/c:Components/c:OLAC-DcmiTerms/c:coverage[@dcterms-type=\"ISO3166\"]/text()", 229 232 mapping 230 .get Patterns().get(1));233 .getFallbackPatterns().get(1)); 231 234 mapping = facets.get(index++); 232 235 … … 235 238 assertEquals("/c:CMD/c:Components/c:OLAC-DcmiTerms/c:language/text()", 236 239 mapping.getPatterns().get(0)); 240 assertEquals("/c:CMD/c:Components//c:OLAC-DcmiTerms/c:language/@olac-language", mapping.getFallbackPatterns().get(0)); 237 241 mapping = facets.get(index++); 238 242 … … 250 254 251 255 assertEquals(FacetConstants.FIELD_GENRE, mapping.getName()); 252 assertEquals(4, mapping.get Patterns().size());256 assertEquals(4, mapping.getFallbackPatterns().size()); 253 257 assertEquals("/c:CMD/c:Components/c:OLAC-DcmiTerms/c:type/@olac-linguistic-type", 254 mapping.get Patterns().get(0));258 mapping.getFallbackPatterns().get(0)); 255 259 assertEquals("/c:CMD/c:Components/c:mods/c:genre/text()", 256 mapping.get Patterns().get(1));260 mapping.getFallbackPatterns().get(1)); 257 261 mapping = facets.get(index++); 258 262 … … 281 285 282 286 assertEquals(FacetConstants.FIELD_NATIONAL_PROJECT, mapping.getName()); 283 assertEquals(1, mapping.get Patterns().size());284 mapping = facets.get(index++); 285 286 287 assertEquals("/c:CMD/c:Header//text()", mapping.get Patterns().get(0));288 assertEquals("/c:CMD/c:Components//text()", mapping.get Patterns().get(1));289 assertEquals(2, mapping.get Patterns().size());290 mapping = facets.get(index++); 291 292 293 assertEquals("/c:CMD/c:Header/c:MdProfile/text()", mapping.get Patterns().get(0));294 assertEquals(1, mapping.get Patterns().size());287 assertEquals(1, mapping.getFallbackPatterns().size()); 288 mapping = facets.get(index++); 289 290 291 assertEquals("/c:CMD/c:Header//text()", mapping.getFallbackPatterns().get(0)); 292 assertEquals("/c:CMD/c:Components//text()", mapping.getFallbackPatterns().get(1)); 293 assertEquals(2, mapping.getFallbackPatterns().size()); 294 mapping = facets.get(index++); 295 296 297 assertEquals("/c:CMD/c:Header/c:MdProfile/text()", mapping.getFallbackPatterns().get(0)); 298 assertEquals(1, mapping.getFallbackPatterns().size()); 295 299 mapping = facets.get(index++); 296 300 297 301 assertEquals(FacetConstants.FIELD_KEYWORDS, mapping.getName()); 298 302 assertEquals("/c:CMD/c:Components/c:mods/c:classification/text()", 299 mapping.get Patterns().get(0));300 assertEquals(3, mapping.get Patterns().size());303 mapping.getFallbackPatterns().get(0)); 304 assertEquals(3, mapping.getFallbackPatterns().size()); 301 305 302 306 assertEquals("check to see we tested them all", facets.size(), index); … … 322 326 323 327 assertEquals(FacetConstants.FIELD_SELF_LINK, mapping.getName()); 324 assertEquals(1, mapping.getPatterns().size()); 325 assertEquals("/c:CMD/c:Header/c:MdSelfLink/text()", 326 mapping.getPatterns().get(0)); 328 assertEquals(0, mapping.getPatterns().size()); 329 assertEquals(1, mapping.getFallbackPatterns().size()); 330 assertEquals("/c:CMD/c:Header/c:MdSelfLink/text()", 331 mapping.getFallbackPatterns().get(0)); 327 332 mapping = facets.get(index++); 328 333 329 334 assertEquals(FacetConstants.FIELD_COLLECTION, mapping.getName()); 330 assertEquals(1, mapping.get Patterns().size());335 assertEquals(1, mapping.getFallbackPatterns().size()); 331 336 mapping = facets.get(index++); 332 337 333 338 assertEquals(FacetConstants.FIELD_PROJECT_NAME, mapping.getName()); 334 assertEquals(3, mapping.get Patterns().size());335 assertEquals("/c:CMD/c:Components/c:media-session-profile/c:media-session/c:Corpus", mapping.get Patterns().get(1));339 assertEquals(3, mapping.getFallbackPatterns().size()); 340 assertEquals("/c:CMD/c:Components/c:media-session-profile/c:media-session/c:Corpus", mapping.getFallbackPatterns().get(1)); 336 341 mapping = facets.get(index++); 337 342 338 343 assertEquals(FacetConstants.FIELD_NAME, mapping.getName()); 339 assertEquals(6, mapping.get Patterns().size());344 assertEquals(6, mapping.getFallbackPatterns().size()); 340 345 assertEquals("/c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:ResourceName/text()", 341 mapping.get Patterns().get(0));346 mapping.getFallbackPatterns().get(0)); 342 347 assertEquals("/c:CMD/c:Components/c:mods/c:titleInfo/title/text()", 343 mapping.get Patterns().get(1));348 mapping.getFallbackPatterns().get(1)); 344 349 mapping = facets.get(index++); 345 350 … … 388 393 389 394 assertEquals(FacetConstants.FIELD_GENRE, mapping.getName()); 390 assertEquals(4, mapping.get Patterns().size());395 assertEquals(4, mapping.getFallbackPatterns().size()); 391 396 mapping = facets.get(index++); 392 397 393 398 assertEquals(FacetConstants.FIELD_SUBJECT, mapping.getName()); 394 assertEquals(8, mapping.get Patterns().size());399 assertEquals(8, mapping.getFallbackPatterns().size()); 395 400 mapping = facets.get(index++); 396 401 397 402 assertEquals(FacetConstants.FIELD_DESCRIPTION, mapping.getName()); 398 403 assertEquals(2, mapping.getPatterns().size()); 404 assertEquals(5, mapping.getFallbackPatterns().size()); 399 405 assertEquals("/c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:Description/text()", 400 406 mapping.getPatterns().get(0)); 401 assertEquals("/c:CMD/c:Components/c:LrtInventoryResource/c:LrtIPR/c:Description/text()", 402 mapping.getPatterns().get(1)); 407 assertEquals("/c:CMD/c:Components/c:mods/c:abstract/text()", mapping.getFallbackPatterns().get(0)); 403 408 mapping = facets.get(index++); 404 409 405 410 assertEquals(FacetConstants.FIELD_RESOURCE_CLASS, mapping.getName()); 406 411 assertEquals(1, mapping.getPatterns().size()); 412 assertEquals(3, mapping.getFallbackPatterns().size()); 407 413 assertEquals("/c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:ResourceType/text()", 408 mapping.get Patterns().get(0));414 mapping.getFallbackPatterns().get(0)); 409 415 mapping = facets.get(index++); 410 416 411 417 assertEquals("/c:CMD/c:Header/c:MdCollectionDisplayName/text()", 412 mapping.get Patterns().get(0));413 assertEquals(1, mapping.get Patterns().size());414 mapping = facets.get(index++); 415 416 assertEquals("/c:CMD/c:Header//text()", mapping.get Patterns().get(0));417 assertEquals("/c:CMD/c:Components//text()", mapping.get Patterns().get(1));418 assertEquals(2, mapping.get Patterns().size());419 mapping = facets.get(index++); 420 421 assertEquals("/c:CMD/c:Header/c:MdProfile/text()", mapping.get Patterns().get(0));422 assertEquals(1, mapping.get Patterns().size());418 mapping.getFallbackPatterns().get(0)); 419 assertEquals(1, mapping.getFallbackPatterns().size()); 420 mapping = facets.get(index++); 421 422 assertEquals("/c:CMD/c:Header//text()", mapping.getFallbackPatterns().get(0)); 423 assertEquals("/c:CMD/c:Components//text()", mapping.getFallbackPatterns().get(1)); 424 assertEquals(2, mapping.getFallbackPatterns().size()); 425 mapping = facets.get(index++); 426 427 assertEquals("/c:CMD/c:Header/c:MdProfile/text()", mapping.getFallbackPatterns().get(0)); 428 assertEquals(1, mapping.getFallbackPatterns().size()); 423 429 mapping = facets.get(index++); 424 430 425 431 assertEquals(FacetConstants.FIELD_KEYWORDS, mapping.getName()); 426 432 assertEquals(1, mapping.getPatterns().size()); 433 assertEquals(3, mapping.getFallbackPatterns().size()); 427 434 assertEquals("/c:CMD/c:Components/c:LrtInventoryResource/c:tags/c:tag/text()", 428 435 mapping.getPatterns().get(0)); 436 assertEquals("/c:CMD/c:Components/c:mods/c:classification/text()", 437 mapping.getFallbackPatterns().get(0)); 429 438 assertEquals("check to see we tested them all", facets.size(), index); 430 439 }
Note: See TracChangeset
for help on using the changeset viewer.