Changeset 6699


Ignore:
Timestamp:
10/26/15 14:07:23 (9 years ago)
Author:
teckart@informatik.uni-leipzig.de
Message:

Added new hierarchy graph check that removes edges between vertices that were not imported because of missing (or wrong) ResourceProxys? (fixes #790)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vlo/trunk/vlo-importer/src/main/java/eu/clarin/cmdi/vlo/importer/MetadataImporter.java

    r6666 r6699  
    4848 * and so on.
    4949 */
    50 @SuppressWarnings({"serial"})
    5150public class MetadataImporter {
    5251
     
    229228     * list of existing data roots will be filtered with the list from user
    230229     *
    231      * @return
     230     * @param dataRoots complete list of DataRoots
     231     * @return list of DataRoots without DataRoots excluded by the user
    232232     */
    233233    protected List<DataRoot> filterDataRootsWithCLArgs(List<DataRoot> dataRoots){
     
    366366                        // are usually not very interesting (think imdi corpus files) and will not be included.
    367367                        updateDocument(solrDocument, cmdiData, file, dataOrigin);
     368                        if(ResourceStructureGraph.getVertex(cmdiData.getId()) != null)
     369                            ResourceStructureGraph.getVertex(cmdiData.getId()).setWasImported(true);
    368370                    } else {
    369371                        nrOfIgnoredFiles++;
     
    549551                }
    550552               
     553                // remove vertices that were not imported
     554                Iterator<String> incomingVertexIter = incomingVertexNames.iterator();
     555                while(incomingVertexIter.hasNext()) {
     556                    String vertexId = incomingVertexIter.next();
     557                    if(ResourceStructureGraph.getVertex(vertexId) == null || !ResourceStructureGraph.getVertex(vertexId).getWasImported())
     558                        incomingVertexIter.remove();
     559                }
     560                Iterator<String> outgoingVertexIter = outgoingVertexNames.iterator();
     561                while(outgoingVertexIter.hasNext()) {
     562                    String vertexId = outgoingVertexIter.next();
     563                    if(ResourceStructureGraph.getVertex(vertexId) == null || !ResourceStructureGraph.getVertex(vertexId).getWasImported())
     564                        outgoingVertexIter.remove();
     565                }
     566               
    551567                if(!incomingVertexNames.isEmpty()) {
    552568                    doc.setField(FacetConstants.FIELD_HAS_PART, incomingVertexNames);
Note: See TracChangeset for help on using the changeset viewer.