-
-
Save samidalouche/806106 to your computer and use it in GitHub Desktop.
Scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* reverts to #name if no preferredName found | |
*/ | |
def preferredName(language: Language) :String = localizedNames.find {n: LocalizedName => n.preferred && n.language == language} | |
.map{ _.name} | |
.getOrElse(defaultName) | |
/** | |
* reverts to #name if no short name found | |
*/ | |
def shortName(language: Language) : String = localizedNames.find {n: LocalizedName => n.shortName && n.language == language} | |
.map {_.name} | |
.getOrElse(defaultName) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* @param language | |
* @return the preferred name if it exists, otherwise the default name | |
*/ | |
public String getPreferredName(final Iso639Language language) { | |
Iterable<AlternateGisFeatureName> alternateGisFeatureNames = Iterables.filter(this.alternateNamesProvider.getAlternateNames(), new Predicate<AlternateGisFeatureName>() { | |
public boolean apply(AlternateGisFeatureName input) { | |
return input.getLanguage().equals(language) && input.isPreferred(); | |
} | |
}); | |
return returnFirstAlternateNameAndFallbackOnDefaultName(alternateGisFeatureNames); | |
} | |
private String returnFirstAlternateNameAndFallbackOnDefaultName( | |
Iterable<AlternateGisFeatureName> alternateGisFeatureNames) { | |
return Iterables.size(alternateGisFeatureNames) > 0 ? Iterables.get(alternateGisFeatureNames, 0).getName() : this.getName(); | |
} | |
/** | |
* | |
* @param language | |
* @return the short name if it exists, otherwise the default name | |
*/ | |
public String getShortName(final Iso639Language language) { | |
Iterable<AlternateGisFeatureName> alternateGisFeatureNames = Iterables.filter(this.alternateNamesProvider.getAlternateNames(), new Predicate<AlternateGisFeatureName>() { | |
public boolean apply(AlternateGisFeatureName input) { | |
return input.getLanguage().equals(language) && input.isShort(); | |
} | |
}); | |
return returnFirstAlternateNameAndFallbackOnDefaultName(alternateGisFeatureNames); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment