// Path: identity-service/src/main/java/eu/nimble/core/infrastructure/identity/config/NimbleConfigurationProperties.java
// @Component
// @Configuration
// @EnableConfigurationProperties
// @ConfigurationProperties(prefix = "nimble")
// public class NimbleConfigurationProperties {
// 
//     private LanguageID defaultLanguageID = LanguageID.ENGLISH;
// 
//     public LanguageID getDefaultLanguageID() {
//         return defaultLanguageID;
//     }
// 
//     public void setDefaultLanguageID(String defaultLanguageID) {
//         this.defaultLanguageID = LanguageID.valueOf(defaultLanguageID);
//     }
// 
//     public enum LanguageID {
//         @JsonProperty("en")
//         ENGLISH("en"),
//         @JsonProperty("es")
//         SPANISH("es"),
//         @JsonProperty("de")
//         GERMAN("de"),
//         @JsonProperty("tr")
//         TURKISH("tr"),
//         @JsonProperty("sv")
//         SWEDISH("sv"),
//         @JsonProperty("it")
//         ITALIAN("it");
// 
//         private final String id;
// 
//         LanguageID(final String id) {
//             this.id = id;
//         }
// 
//         @Override
//         public String toString() {
//             return id;
//         }
// 
//         public static LanguageID fromString(String identifier) {
//             return Arrays.stream(LanguageID.values()).filter(l -> l.id.equals(identifier)).findFirst().orElse(null);
//         }
//     }
// }


import com.google.common.collect.Sets;
import eu.nimble.core.infrastructure.identity.config.NimbleConfigurationProperties;
import eu.nimble.service.model.ubl.commonaggregatecomponents.PartyNameType;
import eu.nimble.service.model.ubl.commonaggregatecomponents.PartyType;
import eu.nimble.service.model.ubl.commonaggregatecomponents.QualityIndicatorType;
import eu.nimble.service.model.ubl.commonbasiccomponents.TextType;
import eu.nimble.service.model.ubl.extension.QualityIndicatorParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;

package eu.nimble.core.infrastructure.identity.utils;



/**
 * Created by Johannes Innerbichler on 27/06/17.
 */
@Component
public class UblUtils {


// Path: identity-service/src/main/java/eu/nimble/core/infrastructure/identity/config/NimbleConfigurationProperties.java
// @Component
// @Configuration
// @EnableConfigurationProperties
// @ConfigurationProperties(prefix = "nimble")
// public class NimbleConfigurationProperties {
// 
//     private LanguageID defaultLanguageID = LanguageID.ENGLISH;
// 
//     public LanguageID getDefaultLanguageID() {
//         return defaultLanguageID;
//     }
// 
//     public void setDefaultLanguageID(String defaultLanguageID) {
//         this.defaultLanguageID = LanguageID.valueOf(defaultLanguageID);
//     }
// 
//     public enum LanguageID {
//         @JsonProperty("en")
//         ENGLISH("en"),
//         @JsonProperty("es")
//         SPANISH("es"),
//         @JsonProperty("de")
//         GERMAN("de"),
//         @JsonProperty("tr")
//         TURKISH("tr"),
//         @JsonProperty("sv")
//         SWEDISH("sv"),
//         @JsonProperty("it")
//         ITALIAN("it");
// 
//         private final String id;
// 
//         LanguageID(final String id) {
//             this.id = id;
//         }
// 
//         @Override
//         public String toString() {
//             return id;
//         }
// 
//         public static LanguageID fromString(String identifier) {
//             return Arrays.stream(LanguageID.values()).filter(l -> l.id.equals(identifier)).findFirst().orElse(null);
//         }
//     }
// }


// Path: identity-service/src/main/java/eu/nimble/core/infrastructure/identity/utils/UblUtils.java
import com.google.common.collect.Sets;
import eu.nimble.core.infrastructure.identity.config.NimbleConfigurationProperties;
import eu.nimble.service.model.ubl.commonaggregatecomponents.PartyNameType;
import eu.nimble.service.model.ubl.commonaggregatecomponents.PartyType;
import eu.nimble.service.model.ubl.commonaggregatecomponents.QualityIndicatorType;
import eu.nimble.service.model.ubl.commonbasiccomponents.TextType;
import eu.nimble.service.model.ubl.extension.QualityIndicatorParameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;

package eu.nimble.core.infrastructure.identity.utils;



/**
 * Created by Johannes Innerbichler on 27/06/17.
 */
@Component
public class UblUtils {


    @Autowired NimbleConfigurationProperties nimbleConfiguration;
