Revision 22e0d6ae
Added by Andreas Müller over 4 years ago
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
ref #8509 use EnumSet instead of BitSet for source definition