Changeset 1007 for vlo/trunk/vlo_webapp/src/test/java/eu/clarin/cmdi/vlo/importer/CMDIDataProcessorTest.java
- Timestamp:
- 12/22/10 13:27:06 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo_webapp/src/test/java/eu/clarin/cmdi/vlo/importer/CMDIDataProcessorTest.java
r996 r1007 6 6 7 7 import java.io.File; 8 import java.io.IOException;9 8 import java.util.ArrayList; 10 9 import java.util.Collection; … … 12 11 import java.util.List; 13 12 14 import org.apache.commons.io.FileUtils;15 13 import org.apache.solr.common.SolrInputDocument; 16 import org.junit.AfterClass;17 import org.junit.BeforeClass;18 14 import org.junit.Test; 19 import org.springframework.beans.factory.BeanFactory; 20 import org.springframework.context.support.ClassPathXmlApplicationContext; 21 22 public class CMDIDataProcessorTest { 23 24 private static File testDir; 15 16 public class CMDIDataProcessorTest extends ImporterTestcase { 25 17 26 18 private CMDIDataProcessor getDataParser(FacetMapping map) { … … 77 69 CMDIData data = processor.process(cmdiFile); 78 70 assertEquals("test-hdl:1839/00-0000-0000-0000-0001-D", data.getId()); 79 List< String> resources = data.getResources();71 List<Resource> resources = data.getMetadataResources(); 80 72 assertEquals(3, resources.size()); 73 Resource res = resources.get(0); 74 assertEquals("../acqui_data/Corpusstructure/acqui.imdi.cmdi", res.getResourceName()); 75 assertEquals(null, res.getMimeType()); 76 assertEquals(0, data.getDataResources().size()); 81 77 SolrInputDocument doc = data.getSolrDocument(); 82 78 assertNull(doc); … … 97 93 content += " <ResourceProxyList>\n"; 98 94 content += " <ResourceProxy id=\"d314e408\">\n"; 99 content += " <ResourceType >Resource</ResourceType>\n";95 content += " <ResourceType mimetype=\"video/x-mpeg1\" >Resource</ResourceType>\n"; 100 96 content += " <ResourceRef>../Media/elan-example1.mpg</ResourceRef>\n"; 101 97 content += " </ResourceProxy>\n"; 102 98 content += " <ResourceProxy id=\"d314e471\">\n"; 103 content += " <ResourceType >Resource</ResourceType>\n";104 content += " <ResourceRef>../Media/elan-example1.mp 4</ResourceRef>\n";99 content += " <ResourceType mimetype=\"audio/mpeg\" >Resource</ResourceType>\n"; 100 content += " <ResourceRef>../Media/elan-example1.mp3</ResourceRef>\n"; 105 101 content += " </ResourceProxy>\n"; 106 102 content += " </ResourceProxyList>\n"; … … 373 369 CMDIData data = processor.process(cmdiFile); 374 370 assertEquals("test-hdl:1839/00-0000-0000-0009-294C-9", data.getId()); 375 List< String> resources = data.getResources();371 List<Resource> resources = data.getMetadataResources(); 376 372 assertEquals(0, resources.size()); 373 List<Resource> dataResources = data.getDataResources(); 374 assertEquals(2, dataResources.size()); 375 Resource res = dataResources.get(0); 376 assertEquals("../Media/elan-example1.mpg", res.getResourceName()); 377 assertEquals("video/x-mpeg1", res.getMimeType()); 378 res = dataResources.get(1); 379 assertEquals("../Media/elan-example1.mp3", res.getResourceName()); 380 assertEquals("audio/mpeg", res.getMimeType()); 377 381 SolrInputDocument doc = data.getSolrDocument(); 378 382 assertNotNull(doc); … … 463 467 CMDIData data = processor.process(cmdiFile); 464 468 assertEquals("test-hdl:1839/00-0000-0000-0009-294C-9", data.getId()); 465 List< String> resources = data.getResources();469 List<Resource> resources = data.getMetadataResources(); 466 470 assertEquals(0, resources.size()); 467 471 SolrInputDocument doc = data.getSolrDocument(); … … 518 522 content += " <language olac-language=\"x-sil-CHN\"/>\n"; 519 523 content += " <language>Chinese</language>\n"; 520 content += " <subject >Kuna</subject>\n";524 content += " <subject olac-linguistic-field=\"testSubject\">Kuna</subject>\n"; 521 525 content += " <type olac-linguistic-type=\"Transcription\"/>\n"; 522 526 content += " </OLAC-DcmiTerms>\n"; … … 528 532 CMDIData data = processor.process(cmdiFile); 529 533 assertEquals("oai:ailla.utexas.edu:1", data.getId()); 530 List< String> resources = data.getResources();534 List<Resource> resources = data.getMetadataResources(); 531 535 assertEquals(0, resources.size()); 536 List<Resource> dataResources = data.getDataResources(); 537 assertEquals(0, dataResources.size()); 532 538 SolrInputDocument doc = data.getSolrDocument(); 533 539 assertNotNull(doc); 534 assertEquals( 3, doc.getFieldNames().size());540 assertEquals(4, doc.getFieldNames().size()); 535 541 assertEquals(null, doc.getFieldValue("name")); 536 542 assertEquals(null, doc.getFieldValue("continent")); … … 540 546 assertEquals(null, doc.getFieldValue("organisation")); 541 547 assertEquals("transcription", doc.getFieldValue("genre")); 542 // assertEquals("Kuna", doc.getFieldValue("subject"));548 assertEquals("testsubject", doc.getFieldValue("subject")); 543 549 Collection<Object> fieldValues = doc.getFieldValues("description"); 544 550 assertEquals(3, fieldValues.size()); … … 555 561 + "Kuna in origin. All are woven together and a moral is provided. Pedro Arias performed " 556 562 + "this story before a gathered audience in the morning..\n ", descriptions.get(2).toString()); 563 } 564 565 @Test 566 public void testOlacMultiFacets() throws Exception { 567 String content = ""; 568 content += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 569 content += "<CMD>\n"; 570 content += " <Components>\n"; 571 content += " <OLAC-DcmiTerms>\n"; 572 content += " <subject olac-linguistic-field=\"testSubject\">Kuna</subject>\n"; 573 content += " <subject dcterms-type=\"LCSH\">testSubjectFallback</subject>\n"; 574 content += " <spatial dcterms-type=\"ISO3166\">testCountry1</spatial>\n"; 575 content += " <coverage dcterms-type=\"ISO3166\">testCountry2</coverage>\n"; 576 content += " <language olac-language=\"language1\">test1</language>\n"; 577 content += " <subject olac-language=\"language2\">test2</subject>\n"; 578 content += " </OLAC-DcmiTerms>\n"; 579 content += " </Components>\n"; 580 content += "</CMD>\n"; 581 582 File cmdiFile = createCmdiFile("testOlac", content); 583 CMDIDataProcessor processor = getDataParser(getOlacFacetMap()); 584 CMDIData data = processor.process(cmdiFile); 585 SolrInputDocument doc = data.getSolrDocument(); 586 assertEquals(1, doc.getFieldValues("subject").size()); 587 assertEquals("testsubject", doc.getFieldValue("subject")); 588 assertEquals(1, doc.getFieldValues("country").size()); 589 assertEquals("testCountry1", doc.getFieldValue("country")); 590 assertEquals(1, doc.getFieldValues("language").size()); 591 assertEquals("language1", doc.getFieldValue("language")); 592 593 content = ""; 594 content += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 595 content += "<CMD>\n"; 596 content += " <Components>\n"; 597 content += " <OLAC-DcmiTerms>\n"; 598 content += " <subject dcterms-type=\"LCSH\">testSubjectFallback</subject>\n"; 599 content += " <coverage dcterms-type=\"ISO3166\">testCountry2</coverage>\n"; 600 content += " <subject olac-language=\"language2\">test2</subject>\n"; 601 content += " </OLAC-DcmiTerms>\n"; 602 content += " </Components>\n"; 603 content += "</CMD>\n"; 604 605 cmdiFile = createCmdiFile("testOlac", content); 606 processor = getDataParser(getOlacFacetMap()); 607 data = processor.process(cmdiFile); 608 doc = data.getSolrDocument(); 609 assertEquals(1, doc.getFieldValues("subject").size()); 610 assertEquals("testsubjectfallback", doc.getFieldValue("subject")); 611 assertEquals(1, doc.getFieldValues("country").size()); 612 assertEquals("testCountry2", doc.getFieldValue("country")); 613 assertEquals(1, doc.getFieldValues("language").size()); 614 assertEquals("language2", doc.getFieldValue("language")); 615 616 content = ""; 617 content += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 618 content += "<CMD>\n"; 619 content += " <Components>\n"; 620 content += " <OLAC-DcmiTerms>\n"; 621 content += " <subject dcterms-type=\"LCSH\">testSubjectFallback</subject>\n"; 622 content += " <subject olac-linguistic-field=\"testSubject\">Kuna</subject>\n"; 623 content += " <coverage dcterms-type=\"ISO3166\">testCountry2</coverage>\n"; 624 content += " <spatial dcterms-type=\"ISO3166\">testCountry1</spatial>\n"; 625 content += " <subject olac-language=\"language2\">test2</subject>\n"; 626 content += " <language olac-language=\"language1\">test1</language>\n"; 627 content += " </OLAC-DcmiTerms>\n"; 628 content += " </Components>\n"; 629 content += "</CMD>\n"; 630 631 cmdiFile = createCmdiFile("testOlac", content); 632 processor = getDataParser(getOlacFacetMap()); 633 data = processor.process(cmdiFile); 634 doc = data.getSolrDocument(); 635 assertEquals(1, doc.getFieldValues("subject").size()); 636 assertEquals("testsubject", doc.getFieldValue("subject")); 637 assertEquals(1, doc.getFieldValues("country").size()); 638 assertEquals("testCountry1", doc.getFieldValue("country")); 639 assertEquals(1, doc.getFieldValues("language").size()); 640 assertEquals("language1", doc.getFieldValue("language")); 557 641 } 558 642 … … 593 677 CMDIData data = processor.process(cmdiFile); 594 678 assertEquals("collection_ATILF_Resources.cmdi", data.getId()); 595 List< String> resources = data.getResources();679 List<Resource> resources = data.getMetadataResources(); 596 680 assertEquals(9, resources.size()); 681 Resource res = resources.get(0); 682 assertEquals("ATILF_Resources/0/oai_atilf_inalf_fr_0001.xml.cmdi", res.getResourceName()); 683 assertEquals(null, res.getMimeType()); 684 assertEquals(0, data.getDataResources().size()); 597 685 SolrInputDocument doc = data.getSolrDocument(); 598 686 assertNull(doc); 599 687 List<Resource> dataResources = data.getDataResources(); 688 assertEquals(0, dataResources.size()); 600 689 } 601 690 … … 641 730 CMDIData data = processor.process(cmdiFile); 642 731 assertEquals("clarin.eu:lrt:433", data.getId()); 643 List< String> resources = data.getResources();732 List<Resource> resources = data.getMetadataResources(); 644 733 assertEquals(0, resources.size()); 734 List<Resource> dataResources = data.getDataResources(); 735 assertEquals(0, dataResources.size()); 645 736 SolrInputDocument doc = data.getSolrDocument(); 646 737 assertNotNull(doc); … … 657 748 } 658 749 659 private FacetMapping getOlacFacetMap() {660 BeanFactory factory = new ClassPathXmlApplicationContext(new String[] { "importerConfig.xml" });661 FacetMapping facetMapping = (FacetMapping) factory.getBean("olacMapping");662 return facetMapping;663 }664 665 private FacetMapping getIMDIFacetMap() {666 BeanFactory factory = new ClassPathXmlApplicationContext(new String[] { "importerConfig.xml" });667 FacetMapping facetMapping = (FacetMapping) factory.getBean("imdiMapping");668 return facetMapping;669 }670 671 private FacetMapping getLrtFacetMap() {672 BeanFactory factory = new ClassPathXmlApplicationContext(new String[] { "importerConfig.xml" });673 FacetMapping facetMapping = (FacetMapping) factory.getBean("lrtMapping");674 return facetMapping;675 }676 677 private File createCmdiFile(String name, String content) throws IOException {678 File file = File.createTempFile(name, "cmdi", testDir);679 FileUtils.writeStringToFile(file, content, "UTF-8");680 return file;681 }682 683 @AfterClass684 public static void cleanup() {685 FileUtils.deleteQuietly(testDir);686 }687 688 @BeforeClass689 public static void setup() {690 final String baseTempPath = System.getProperty("java.io.tmpdir");691 testDir = new File(baseTempPath + File.separator + "testRegistry_" + System.currentTimeMillis());692 testDir.mkdir();693 testDir.deleteOnExit();694 }695 696 750 }
Note: See TracChangeset
for help on using the changeset viewer.