Project

General

Profile

« Previous | Next » 

Revision 22e0d6ae

Added by Andreas Müller over 4 years ago

ref #8509 use EnumSet instead of BitSet for source definition

View differences:

cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiExportBase.java
9 9
package eu.etaxonomy.cdm.io.pesi.out;
10 10

  
11 11
import java.util.ArrayList;
12
import java.util.BitSet;
12
import java.util.EnumSet;
13 13
import java.util.HashSet;
14 14
import java.util.Iterator;
15 15
import java.util.List;
......
564 564
        return result;
565 565
    }
566 566

  
567
    protected enum PesiSource{
568
        EM,
569
        FE,
570
        ERMS,
571
        IF;
572

  
573
        private PesiSource(){
574

  
575
        }
576
    }
567 577

  
568 578
    /**
569 579
     * Returns the source (E+M, Fauna Europaea, Index Fungorum, ERMS) of a given
570
     * Identifiable Entity as a BitSet
571
     * @param identEntity
572
     * @return
580
     * Identifiable Entity as an {@link EnumSet enum set}
573 581
     */
574
    protected static BitSet getSources(IdentifiableEntity<?> identEntity){
575
        BitSet bitSet = new BitSet();
576
        Set<IdentifiableSource> sources = getPesiSources(identEntity);
582
    protected static EnumSet<PesiSource> getSources(IdentifiableEntity<?> entity){
583
        EnumSet<PesiSource> result = EnumSet.noneOf(PesiSource.class);
584

  
585
        Set<IdentifiableSource> sources = getPesiSources(entity);
577 586
        for (IdentifiableSource source : sources) {
578 587
            Reference ref = source.getCitation();
579 588
            UUID refUuid = ref.getUuid();
580 589
            if (refUuid.equals(BerlinModelTransformer.uuidSourceRefEuroMed)){
581
                bitSet.set(PesiTransformer.SOURCE_EM);
590
                result.add(PesiSource.EM);
582 591
            }else if (refUuid.equals(PesiTransformer.uuidSourceRefFaunaEuropaea)){
583
                bitSet.set(PesiTransformer.SOURCE_FE);
592
                result.add(PesiSource.FE);
584 593
            }else if (refUuid.equals(PesiTransformer.uuidSourceRefErms)){
585
                bitSet.set(PesiTransformer.SOURCE_ERMS);
594
                result.add(PesiSource.ERMS);
586 595
            }else if (refUuid.equals(PesiTransformer.uuidSourceRefIndexFungorum)){
587
                bitSet.set(PesiTransformer.SOURCE_IF);
596
                result.add(PesiSource.IF);
588 597
            }else{
589 598
                if (logger.isDebugEnabled()){logger.debug("Not a PESI source");};
590 599
            }
591 600
        }
592
        return bitSet;
601
        return result;
593 602
    }
594 603

  
595 604
    /**

Also available in: Unified diff