Changeset 1758
- Timestamp:
- 02/21/12 12:04:08 (12 years ago)
- Location:
- vlo/trunk/vlo_webapp/src
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/FacetConstants.java
r1546 r1758 19 19 public static final String FIELD_PROJECT_NAME = "projectName"; 20 20 public static final String FIELD_COMPLETE_METADATA = "completeMD"; 21 public static final String FIELD_NATIONAL_PROJECT = "nationalProject"; 21 22 22 23 //The _ facets are not meant to be shown to users. -
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/importer/MetadataImporter.java
r1546 r1758 25 25 import eu.clarin.cmdi.vlo.Configuration; 26 26 import eu.clarin.cmdi.vlo.FacetConstants; 27 import java.io.BufferedReader; 28 import java.io.FileReader; 29 30 @SuppressWarnings("serial") 27 28 29 @SuppressWarnings({"serial"}) 31 30 public class MetadataImporter { 32 31 … … 42 41 POST_PROCESSORS.put(FacetConstants.FIELD_RESOURCE_TYPE, new ResourceTypePostProcessor()); 43 42 POST_PROCESSORS.put(FacetConstants.FIELD_LANGUAGE_LINK, new LanguageLinkPostProcessor()); 43 POST_PROCESSORS.put(FacetConstants.FIELD_NATIONAL_PROJECT, new NationalProjectPostProcessor()); 44 44 } 45 45 … … 58 58 } 59 59 60 /** 61 * Retrieve all files with VALID_CMDI_EXTENSIONS from all DataRoot entries and starts processing for every single file 62 * @throws MalformedURLException 63 */ 60 64 void startImport() throws MalformedURLException { 61 65 initSolrServer(); … … 63 67 long start = System.currentTimeMillis(); 64 68 try { 69 // Delete the whole Solr db 65 70 if (config.isDeleteAllFirst()) { 66 71 LOG.info("Deleting original data..."); 67 solrServer.deleteByQuery("*:*"); //Delete the whole solr db.72 solrServer.deleteByQuery("*:*"); 68 73 LOG.info("Deleting original data done."); 69 74 } … … 108 113 } 109 114 115 /** 116 * Check a List of DataRoots for existence of RootFile (typically parent directory of metadata files) 117 * @return 118 */ 110 119 private List<DataRoot> checkDataRoots() { 111 120 List<DataRoot> dataRoots = config.getDataRoots(); … … 120 129 121 130 /** 122 * 131 * Get the rootFile or all files with VALID_CMDI_EXTENSIONS if rootFile is a directory 123 132 * @param rootFile 124 * @return The rootFile if it is a file or when it is a directory the files in thatdirectory133 * @return List with the rootFile or all contained files if rootFile is a directory 125 134 */ 126 135 private List<File> getFilesFromDataRoot(File rootFile) { … … 129 138 result.add(rootFile); 130 139 } else { 131 CollectionlistFiles = FileUtils.listFiles(rootFile, VALID_CMDI_EXTENSIONS, true);140 Collection<File> listFiles = FileUtils.listFiles(rootFile, VALID_CMDI_EXTENSIONS, true); 132 141 result.addAll(listFiles); 133 142 } … … 135 144 } 136 145 146 /** 147 * Initialize SolrServer as specified in configuration file 148 * @throws MalformedURLException 149 */ 137 150 protected void initSolrServer() throws MalformedURLException { 138 151 String solrUrl = Configuration.getInstance().getSolrUrl(); … … 147 160 } 148 161 162 /** 163 * Process single CMDI file with CMDIDataProcessor 164 * @param file CMDI input file 165 * @param dataOrigin 166 * @param processor 167 * @throws SolrServerException 168 * @throws IOException 169 */ 149 170 private void processCmdi(File file, DataRoot dataOrigin, CMDIDataProcessor processor) throws SolrServerException, IOException { 150 171 nrOfFilesAnalyzed++; … … 177 198 } 178 199 200 /** 201 * Check id for validness 202 * @param id 203 * @return true if id is acceptable, false otherwise 204 */ 179 205 private boolean idOk(String id) { 180 206 return id != null && !id.isEmpty(); 181 207 } 182 208 209 /** 210 * Adds some additional information from DataRoot to solrDocument, add solrDocument to document list, submits list to SolrServer every 1000 files 211 * @param solrDocument 212 * @param cmdiData 213 * @param file 214 * @param dataOrigin 215 * @throws SolrServerException 216 * @throws IOException 217 */ 183 218 private void updateDocument(SolrInputDocument solrDocument, CMDIData cmdiData, File file, DataRoot dataOrigin) throws SolrServerException, 184 219 IOException { … … 197 232 198 233 solrDocument.addField(FacetConstants.FIELD_COMPLETE_METADATA, completeMDUrl); // TODO: add the contents of the metadata file here 199 234 200 235 addResourceData(solrDocument, cmdiData); 201 236 docs.add(solrDocument); … … 211 246 */ 212 247 private void addResourceData(SolrInputDocument solrDocument, CMDIData cmdiData) { 213 List<Object> fieldValues = solrDocument.containsKey(FacetConstants.FIELD_RESOURCE_TYPE) ? new ArrayList (solrDocument248 List<Object> fieldValues = solrDocument.containsKey(FacetConstants.FIELD_RESOURCE_TYPE) ? new ArrayList<Object>(solrDocument 214 249 .getFieldValues(FacetConstants.FIELD_RESOURCE_TYPE)) : null; 215 250 solrDocument.removeField(FacetConstants.FIELD_RESOURCE_TYPE); //Remove old values they might be overwritten. … … 236 271 } 237 272 273 /** 274 * Send current list of SolrImputDocuments to SolrServer and clears list afterwards 275 * @throws SolrServerException 276 * @throws IOException 277 */ 238 278 protected void sendDocs() throws SolrServerException, IOException { 239 279 LOG.info("Sending " + docs.size() + " docs to solr server. Total number of docs updated till now: " + nrOFDocumentsUpdated); -
vlo/trunk/vlo_webapp/src/main/resources/facetConcepts.xml
r1546 r1758 67 67 <pattern>/c:CMD/c:Components/c:OLAC-DcmiTerms/c:type[@dcterms-type="DCMIType"]/text()</pattern> 68 68 </facetConcept> 69 <facetConcept name="nationalProject"> 70 <pattern>/c:CMD/c:Header/c:MdCollectionDisplayName/text()</pattern> 71 </facetConcept> 69 72 </facetConcepts> -
vlo/trunk/vlo_webapp/src/test/java/eu/clarin/cmdi/vlo/importer/FacetMappingFactoryTest.java
r1580 r1758 22 22 .getFacetMapping("http://catalog.clarin.eu/ds/ComponentRegistry/rest/registry/profiles/clarin.eu:cr1:p_1271859438204/xsd");//IMDI Session profile xsd 23 23 List<FacetConfiguration> facets = facetMapping.getFacets(); 24 assertEquals(1 4, facets.size());24 assertEquals(15, facets.size()); 25 25 int index = 0; 26 26 FacetConfiguration mapping = facets.get(index++); … … 85 85 assertEquals(FacetConstants.FIELD_RESOURCE_TYPE, mapping.getName()); 86 86 assertEquals(1, mapping.getPatterns().size()); 87 mapping = facets.get(index++); 88 assertEquals("/c:CMD/c:Header/c:MdCollectionDisplayName/text()", mapping.getPatterns().get(0)); 89 assertEquals(1, mapping.getPatterns().size()); 87 90 assertEquals("check to see we tested them all", facets.size(), index); 88 91 } … … 93 96 .getFacetMapping("http://catalog.clarin.eu/ds/ComponentRegistry/rest/registry/profiles/clarin.eu:cr1:p_1288172614026/xsd"); 94 97 List<FacetConfiguration> facets = facetMapping.getFacets(); 95 assertEquals(1 1, facets.size());98 assertEquals(12, facets.size()); 96 99 int index = 0; 97 100 FacetConfiguration mapping = facets.get(index++); … … 140 143 assertEquals(FacetConstants.FIELD_RESOURCE_TYPE, mapping.getName()); 141 144 assertEquals(2, mapping.getPatterns().size()); 145 mapping = facets.get(index++); 146 assertEquals("/c:CMD/c:Header/c:MdCollectionDisplayName/text()", mapping.getPatterns().get(0)); 147 assertEquals(1, mapping.getPatterns().size()); 142 148 assertEquals("check to see we tested them all", facets.size(), index); 143 149 } … … 148 154 .getFacetMapping("http://catalog.clarin.eu/ds/ComponentRegistry/rest/registry/profiles/clarin.eu:cr1:p_1289827960126/xsd"); 149 155 List<FacetConfiguration> facets = facetMapping.getFacets(); 150 assertEquals(1 2, facets.size());156 assertEquals(13, facets.size()); 151 157 int index = 0; 152 158 FacetConfiguration mapping = facets.get(index++); … … 202 208 assertEquals(2, mapping.getPatterns().size()); 203 209 assertEquals("/c:CMD/c:Components/c:LrtInventoryResource/c:LrtCommon/c:ResourceType/text()", mapping.getPatterns().get(0)); 210 mapping = facets.get(index++); 211 assertEquals("/c:CMD/c:Header/c:MdCollectionDisplayName/text()", mapping.getPatterns().get(0)); 212 assertEquals(1, mapping.getPatterns().size()); 204 213 assertEquals("check to see we tested them all", facets.size(), index); 205 214 }
Note: See TracChangeset
for help on using the changeset viewer.