From b76b6e6212784d622ca79bd258fa3e529b353346 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 28 Sep 2018 14:19:50 +0200 Subject: add first code for eID4U --- .../gv/egiz/eid4u/api/attributes/Definitions.java | 71 ++++++++++++++++++++++ .../egiz/eid4u/api/attributes/natural/IdType.java | 49 +++++++++++++++ .../eid4u/api/attributes/natural/MaritalState.java | 52 ++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/Definitions.java create mode 100644 id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java create mode 100644 id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java (limited to 'id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api') diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/Definitions.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/Definitions.java new file mode 100644 index 000000000..b7c79d76e --- /dev/null +++ b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/Definitions.java @@ -0,0 +1,71 @@ +package at.gv.egiz.eid4u.api.attributes; + +public class Definitions { + + /*Prefix and Schema definitions for eIDU specific eIDAS extensions */ + public static final String SCHEMA_ROOT = "/schema/eid4u/"; + + public static final String SAML2_eID4U_CORE_EXTENSIONS_PREFIX = "eid4u"; + public static final String SAML2_eID4U_CORE_EXTENSIONS = "http://eidas.europa.eu/attributes/sectorspecific/eid4u"; + public static final String SAML2_eID4U_CORE_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "eID4U_attributes_generic.xsd"; + + public static final String SAML2_eID4U_PERSON_EXTENSIONS_PREFIX = "eid4uP"; + public static final String SAML2_eID4U_PERSON_EXTENSIONS = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson"; + public static final String SAML2_eID4U_PERSON_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "eID4U_attributes_person.xsd"; + + public static final String SAML2_eID4U_STUDIES_EXTENSIONS_PREFIX = "eid4uS"; + public static final String SAML2_eID4U_STUDIES_EXTENSIONS = "http://eidas.europa.eu/attributes/sectorspecific/eID4U/studies"; + public static final String SAML2_eID4U_STUDIES_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "eID4U_attributes_studies.xsd"; + + public static final String SAML2_eID4U_EXT_EUROPASS3_PREFIX = "europass3"; + public static final String SAML2_eID4U_EXT_EUROPASS3_EXTENSIONS = "http://europass.cedefop.europa.eu/Europass"; + public static final String SAML2_eID4U_EXT_EUROPASS3_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "external/EuropassSchema.xsd"; + + + //attribute types + public static final String IDTYPE_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/id/Type"; + public static final String IDTYPE_FRIENDLYNAME = "IdType"; + + public static final String IDNUMBER_NAME = "http://eidas:europa:eu/attributes/sectorspecific/eid4u/naturalperson/id/Number"; + public static final String IDNUMBER_FRIENDLYNAME = "IdNumber"; + + public static final String IDISSUER_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/id/Issuer"; + public static final String IDISSUER_FRIENDLYNAME = "IdIssuer"; + + public static final String IDEXPIREDATE_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/id/ExpiryDate"; + public static final String IDEXPIREDATE_FRIENDLYNAME = "IdExpiryDate"; + + public static final String EHICID_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/EhicId"; + public static final String EHICID_FRIENDLYNAME = "EhicId"; + + public static final String NATIONALITY_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/Nationality"; + public static final String NATIONALITY_FRIENDLYNAME = "Nationality"; + + public static final String MARITALSTATE_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/MaritalState"; + public static final String MARITALSTATE_FRIENDLYNAME = "MaritalState"; + + public static final String COUNTRYOFBIRTH_NAME = "http://eidas:europa:eu/attributes/sectorspecific/eid4u/naturalperson/CountryOfBirth"; + public static final String COUNTRYOFBIRTH_FRIENDLYNAME = "CountryOfBirth"; + + public static final String EMAIL_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/Email"; + public static final String EMAIL_FRIENDLYNAME = "Email"; + + public static final String PHONE_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/Phone"; + public static final String PHONE_FRIENDLYNAME = "Phone"; + + public static final String TEMPORARYADDRESS_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/TemporaryAddress"; + public static final String TEMPORARYADDRESS_FRIENDLYNAME = "TemporaryAddress"; + + public static final String CURRENTPHOTO_NAME = "http://eidas.europa.eu/attributes/sectorspecific/eid4u/naturalperson/CurrentPhoto"; + public static final String CURRENTPHOTO_FRIENDLYNAME = "CurrentPhoto"; + + public static final String TAXIDENTIFICATIONNUMBER_NAME = "http://eidas.europa.eu/attributes/sectorspecific/naturalperson/TaxIdentificationNumber"; + public static final String TAXIDENTIFICATIONNUMBER_FRIENDLYNAME = "TaxIdentificationNumber"; + + public static final String HOMEINSTITUTIONNAMER_NAME = "http://eidas:europa:eu/attributes/sectorspecific/eid4u/studies/homeinsitution/Name"; + public static final String HOMEINSTITUTIONNAMER_FRIENDLYNAME = "HomeInstitutionNamer"; + +// public static final String _NAME = ""; +// public static final String _FRIENDLYNAME = ""; + +} diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java new file mode 100644 index 000000000..0937826a3 --- /dev/null +++ b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java @@ -0,0 +1,49 @@ +package at.gv.egiz.eid4u.api.attributes.natural; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import eu.eidas.auth.commons.lang.Canonicalizers; +import eu.eidas.auth.commons.lang.EnumMapper; +import eu.eidas.auth.commons.lang.KeyAccessor; + +public enum IdType { + PASSPORT("Passport"), + NATIONALIDCARD("National Identity Card"); + + private static final EnumMapper MAPPER = + new EnumMapper(new KeyAccessor() { + + @Nonnull + @Override + public String getKey(@Nonnull IdType gender) { + return gender.getValue(); + } + }, Canonicalizers.trimLowerCase(), values()); + + @Nullable + public static IdType fromString(@Nonnull String val) { + return MAPPER.fromKey(val); + } + + public static EnumMapper mapper() { + return MAPPER; + } + + @Nonnull + private final transient String value; + + IdType(@Nonnull String value) { + this.value = value; + } + + @Nonnull + public String getValue() { + return value; + } + + @Override + public String toString() { + return value; + } +} diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java new file mode 100644 index 000000000..af27965b2 --- /dev/null +++ b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java @@ -0,0 +1,52 @@ +package at.gv.egiz.eid4u.api.attributes.natural; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import eu.eidas.auth.commons.lang.Canonicalizers; +import eu.eidas.auth.commons.lang.EnumMapper; +import eu.eidas.auth.commons.lang.KeyAccessor; + +public enum MaritalState { + SINGLE("Single"), + MARRIED("Married"), + DIVORCED("Divorced"), + WIDOWED("Widowed"), + CIVILUNION("Civil Union"); + + private static final EnumMapper MAPPER = + new EnumMapper(new KeyAccessor() { + + @Nonnull + @Override + public String getKey(@Nonnull MaritalState mstate) { + return mstate.getValue(); + } + }, Canonicalizers.trimLowerCase(), values()); + + @Nullable + public static MaritalState fromString(@Nonnull String val) { + return MAPPER.fromKey(val); + } + + public static EnumMapper mapper() { + return MAPPER; + } + + @Nonnull + private final transient String value; + + MaritalState(@Nonnull String value) { + this.value = value; + } + + @Nonnull + public String getValue() { + return value; + } + + @Override + public String toString() { + return value; + } +} -- cgit v1.2.3