From b24d2db4ed4471710bf5066cc78dc79ba7016ef4 Mon Sep 17 00:00:00 2001 From: Ian Young Date: Wed, 4 Apr 2012 07:34:53 +0000 Subject: [PATCH] Rebase on metadata aggregator 0.7.0. --- build.xml | 3 +- build/check_aggregate.xsl | 10 +- mdx/at_aconet/beans.xml | 34 ++-- mdx/at_aconet/verbs.xml | 28 +-- mdx/au_aaf/beans.xml | 40 +++-- mdx/au_aaf/verbs.xml | 28 +-- mdx/br_cafe/beans.xml | 25 +-- mdx/br_cafe/verbs.xml | 28 +-- mdx/ca_caf/beans.xml | 34 ++-- mdx/ca_caf/verbs.xml | 28 +-- mdx/ch_switchaai/beans.xml | 34 ++-- mdx/ch_switchaai/verbs.xml | 28 +-- mdx/common-beans.xml | 299 ++++++++++++++++++++------------ mdx/cz_eduid/beans.xml | 34 ++-- mdx/cz_eduid/verbs.xml | 28 +-- mdx/de_dfnaai/beans.xml | 34 ++-- mdx/de_dfnaai/verbs.xml | 28 +-- mdx/dk_wayf/beans.xml | 25 +-- mdx/dk_wayf/verbs.xml | 28 +-- mdx/es_sir/beans.xml | 34 ++-- mdx/es_sir/verbs.xml | 28 +-- mdx/eu_clarin/beans.xml | 25 +-- mdx/eu_clarin/verbs.xml | 28 +-- mdx/fi_haka/beans.xml | 34 ++-- mdx/fi_haka/verbs.xml | 28 +-- mdx/fr_renater/beans.xml | 42 ++--- mdx/fr_renater/verbs.xml | 28 +-- mdx/gr_grnet/beans.xml | 34 ++-- mdx/gr_grnet/verbs.xml | 28 +-- mdx/hu_eduid/beans.xml | 46 ++--- mdx/hu_eduid/verbs.xml | 28 +-- mdx/ie_edugate/beans.xml | 58 +++---- mdx/ie_edugate/verbs.xml | 33 ++-- mdx/int_edugain/beans.xml | 37 ++-- mdx/int_edugain/verbs.xml | 23 ++- mdx/int_testshib/beans.xml | 25 +-- mdx/int_testshib/verbs.xml | 28 +-- mdx/it_idem/beans.xml | 34 ++-- mdx/it_idem/verbs.xml | 28 +-- mdx/jp_gakunin/beans.xml | 34 ++-- mdx/jp_gakunin/verbs.xml | 28 +-- mdx/lv_laife/beans.xml | 25 +-- mdx/lv_laife/verbs.xml | 28 +-- mdx/nl_surfnet/beans.xml | 42 ++--- mdx/nl_surfnet/verbs.xml | 28 +-- mdx/no_feide/beans.xml | 26 +-- mdx/no_feide/verbs.xml | 28 +-- mdx/nz_tuakiri/beans.xml | 34 ++-- mdx/nz_tuakiri/verbs.xml | 28 +-- mdx/se_swamid/beans.xml | 34 ++-- mdx/se_swamid/verbs.xml | 28 +-- mdx/si_arnes/beans.xml | 34 ++-- mdx/si_arnes/verbs.xml | 28 +-- mdx/test/beans.xml | 23 ++- mdx/test/verbs.xml | 28 +-- mdx/uk/beans.xml | 145 +++++++--------- mdx/uk/collect.xml | 13 +- mdx/uk/generate.xml | 150 +++++++--------- mdx/uk/strip_admin.xsl | 48 ----- mdx/uk/verbs.xml | 42 ++--- mdx/uk_eduserv/beans.xml | 31 ++-- mdx/uk_eduserv/verbs.xml | 28 +-- mdx/us_incommon/beans.xml | 31 ++-- mdx/us_incommon/verbs.xml | 28 +-- mdx/validation-beans.xml | 261 +++++++++++++--------------- tools/ukf-mda/logback.xml | 16 -- tools/ukf-mda/ukf-mda-0.6.5.jar | Bin 27392 -> 0 bytes tools/ukf-mda/ukf-mda-0.7.0.jar | Bin 0 -> 22691 bytes 68 files changed, 1373 insertions(+), 1341 deletions(-) delete mode 100644 mdx/uk/strip_admin.xsl delete mode 100644 tools/ukf-mda/logback.xml delete mode 100644 tools/ukf-mda/ukf-mda-0.6.5.jar create mode 100644 tools/ukf-mda/ukf-mda-0.7.0.jar diff --git a/build.xml b/build.xml index 54f6609e..bf44cc5f 100644 --- a/build.xml +++ b/build.xml @@ -414,8 +414,9 @@ - + + diff --git a/build/check_aggregate.xsl b/build/check_aggregate.xsl index 19262e65..23c058b7 100644 --- a/build/check_aggregate.xsl +++ b/build/check_aggregate.xsl @@ -24,16 +24,8 @@ - + diff --git a/mdx/at_aconet/beans.xml b/mdx/at_aconet/beans.xml index 187c0ed0..485d63bc 100644 --- a/mdx/at_aconet/beans.xml +++ b/mdx/at_aconet/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/at_aconet/verbs.xml b/mdx/at_aconet/verbs.xml index 1b7d7019..cad99a7e 100644 --- a/mdx/at_aconet/verbs.xml +++ b/mdx/at_aconet/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/au_aaf/beans.xml b/mdx/au_aaf/beans.xml index e7ac661c..e01ad2dc 100644 --- a/mdx/au_aaf/beans.xml +++ b/mdx/au_aaf/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -21,10 +25,9 @@ - + @@ -33,20 +36,19 @@ - - + - - + diff --git a/mdx/au_aaf/verbs.xml b/mdx/au_aaf/verbs.xml index fc4b753d..7bfa7bf2 100644 --- a/mdx/au_aaf/verbs.xml +++ b/mdx/au_aaf/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/br_cafe/beans.xml b/mdx/br_cafe/beans.xml index 3e607298..deaed12f 100644 --- a/mdx/br_cafe/beans.xml +++ b/mdx/br_cafe/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,9 +27,8 @@ - - + diff --git a/mdx/br_cafe/verbs.xml b/mdx/br_cafe/verbs.xml index b9c99269..7a87f74d 100644 --- a/mdx/br_cafe/verbs.xml +++ b/mdx/br_cafe/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/ca_caf/beans.xml b/mdx/ca_caf/beans.xml index 59a184c2..ab283c16 100644 --- a/mdx/ca_caf/beans.xml +++ b/mdx/ca_caf/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/ca_caf/verbs.xml b/mdx/ca_caf/verbs.xml index 0f459f9a..cd9021e1 100644 --- a/mdx/ca_caf/verbs.xml +++ b/mdx/ca_caf/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/ch_switchaai/beans.xml b/mdx/ch_switchaai/beans.xml index 562ee118..b4b5bc29 100644 --- a/mdx/ch_switchaai/beans.xml +++ b/mdx/ch_switchaai/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/ch_switchaai/verbs.xml b/mdx/ch_switchaai/verbs.xml index 3e377869..f2fa15ce 100644 --- a/mdx/ch_switchaai/verbs.xml +++ b/mdx/ch_switchaai/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/common-beans.xml b/mdx/common-beans.xml index 06393465..e872eb01 100644 --- a/mdx/common-beans.xml +++ b/mdx/common-beans.xml @@ -3,6 +3,7 @@ Common bean definitions. --> + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - + @@ -73,57 +167,50 @@ - - - - + - + - + - + - + - - + - + @@ -167,9 +253,9 @@ A pipeline stage that logs any errors and warnings present, but takes no action on them. --> - - + @@ -184,9 +270,9 @@ This pipeline stage removes any items marked with an error status. --> - - + @@ -200,9 +286,9 @@ This pipeline stage causes CLI termination if any item is marked with an error status. --> - - + @@ -217,9 +303,8 @@ Announce any errors or warnings encountered, then remove any items that had errors. Items with warnings are retained. --> - - + @@ -234,9 +319,8 @@ A pipeline stage that checks for any errors, and then announces and filters any encountered. --> - - + @@ -261,10 +345,9 @@ Any registrationAuthority already present on an entity in this channel must match the known registration authority value. --> - + - + @@ -290,11 +373,10 @@ A pre-configured parser pool for use by source stages. --> - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -372,9 +454,9 @@ A pipeline stage that checks against all the common schemas, as above. --> - - + @@ -385,11 +467,10 @@ presented, for example by removing redundant attributes or elements which only have meaning when added by the UK federation registrar. --> - - + - + @@ -398,38 +479,34 @@ - - - + - - - + - - - - - + - - - + - - + @@ -477,10 +553,9 @@ - - - + - - + @@ -505,7 +579,8 @@ An item selection strategy that selects all items. --> - + - - + + - - - + - + @@ -33,8 +37,7 @@ - + @@ -45,18 +48,17 @@ - - + - - + diff --git a/mdx/cz_eduid/verbs.xml b/mdx/cz_eduid/verbs.xml index 379411e4..6c4f3e69 100644 --- a/mdx/cz_eduid/verbs.xml +++ b/mdx/cz_eduid/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/de_dfnaai/beans.xml b/mdx/de_dfnaai/beans.xml index 73a5141c..f12c54ba 100644 --- a/mdx/de_dfnaai/beans.xml +++ b/mdx/de_dfnaai/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/de_dfnaai/verbs.xml b/mdx/de_dfnaai/verbs.xml index f957cd65..792494a8 100644 --- a/mdx/de_dfnaai/verbs.xml +++ b/mdx/de_dfnaai/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/dk_wayf/beans.xml b/mdx/dk_wayf/beans.xml index 3f8466aa..316eb336 100644 --- a/mdx/dk_wayf/beans.xml +++ b/mdx/dk_wayf/beans.xml @@ -2,19 +2,23 @@ - - + + - - - + - + @@ -24,9 +28,8 @@ - - + diff --git a/mdx/dk_wayf/verbs.xml b/mdx/dk_wayf/verbs.xml index 715c9937..44879995 100644 --- a/mdx/dk_wayf/verbs.xml +++ b/mdx/dk_wayf/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -44,9 +47,8 @@ Fetch the separate IdP and SP aggregates, disassemble them into individual entities and then build up a single aggregate from all combined. --> - - + diff --git a/mdx/es_sir/beans.xml b/mdx/es_sir/beans.xml index a627c347..1361de65 100644 --- a/mdx/es_sir/beans.xml +++ b/mdx/es_sir/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/es_sir/verbs.xml b/mdx/es_sir/verbs.xml index 50b7109d..52757fb9 100644 --- a/mdx/es_sir/verbs.xml +++ b/mdx/es_sir/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/eu_clarin/beans.xml b/mdx/eu_clarin/beans.xml index 4325b8e0..ad1ecdd6 100644 --- a/mdx/eu_clarin/beans.xml +++ b/mdx/eu_clarin/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,9 +27,8 @@ - - + diff --git a/mdx/eu_clarin/verbs.xml b/mdx/eu_clarin/verbs.xml index 7328889b..aab4e118 100644 --- a/mdx/eu_clarin/verbs.xml +++ b/mdx/eu_clarin/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/fi_haka/beans.xml b/mdx/fi_haka/beans.xml index 00cf5976..b3107b5c 100644 --- a/mdx/fi_haka/beans.xml +++ b/mdx/fi_haka/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/fi_haka/verbs.xml b/mdx/fi_haka/verbs.xml index 6c723ade..10fb507a 100644 --- a/mdx/fi_haka/verbs.xml +++ b/mdx/fi_haka/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/fr_renater/beans.xml b/mdx/fr_renater/beans.xml index 4a55c8d7..98ba93f1 100644 --- a/mdx/fr_renater/beans.xml +++ b/mdx/fr_renater/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,12 +27,10 @@ - - - + - + @@ -38,8 +40,7 @@ - + @@ -50,18 +51,17 @@ - - + - - + diff --git a/mdx/fr_renater/verbs.xml b/mdx/fr_renater/verbs.xml index eb86d923..70b24369 100644 --- a/mdx/fr_renater/verbs.xml +++ b/mdx/fr_renater/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/gr_grnet/beans.xml b/mdx/gr_grnet/beans.xml index 8cf94baf..637b46c6 100644 --- a/mdx/gr_grnet/beans.xml +++ b/mdx/gr_grnet/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/gr_grnet/verbs.xml b/mdx/gr_grnet/verbs.xml index b10de8ee..27e31a62 100644 --- a/mdx/gr_grnet/verbs.xml +++ b/mdx/gr_grnet/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/hu_eduid/beans.xml b/mdx/hu_eduid/beans.xml index a1bbee5d..16403f30 100644 --- a/mdx/hu_eduid/beans.xml +++ b/mdx/hu_eduid/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,20 +38,18 @@ - - + - - - - + - - + @@ -77,9 +78,8 @@ - - + diff --git a/mdx/hu_eduid/verbs.xml b/mdx/hu_eduid/verbs.xml index 078c95ec..20006a6b 100644 --- a/mdx/hu_eduid/verbs.xml +++ b/mdx/hu_eduid/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/ie_edugate/beans.xml b/mdx/ie_edugate/beans.xml index dc402b16..234a34ee 100644 --- a/mdx/ie_edugate/beans.xml +++ b/mdx/ie_edugate/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,12 +27,10 @@ - - - + - + @@ -49,9 +51,9 @@ - - + @@ -62,9 +64,9 @@ yet expired. Sets a bound of 14 days on the validity interval; 9 days is the expected value. --> - - + @@ -90,8 +92,8 @@ Any registrationAuthority already present on an entity in this channel must match the known registration authority value. --> - - + @@ -105,8 +107,8 @@ Provide a default registrationAuthority appropriate to this channel. --> - - + @@ -117,9 +119,8 @@ - - + @@ -144,9 +145,8 @@ - - + diff --git a/mdx/ie_edugate/verbs.xml b/mdx/ie_edugate/verbs.xml index 37c3fb8f..8710ade2 100644 --- a/mdx/ie_edugate/verbs.xml +++ b/mdx/ie_edugate/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + @@ -50,9 +52,8 @@ - - + diff --git a/mdx/int_edugain/beans.xml b/mdx/int_edugain/beans.xml index f15cb913..e891aec4 100644 --- a/mdx/int_edugain/beans.xml +++ b/mdx/int_edugain/beans.xml @@ -3,6 +3,8 @@ Common beans for this channel. --> - - + - + @@ -32,12 +32,10 @@ - - - + - + @@ -47,8 +45,7 @@ - + @@ -59,18 +56,17 @@ - - + - - + @@ -104,9 +100,8 @@ - - + diff --git a/mdx/int_edugain/verbs.xml b/mdx/int_edugain/verbs.xml index ef3cc5b8..e555130c 100644 --- a/mdx/int_edugain/verbs.xml +++ b/mdx/int_edugain/verbs.xml @@ -3,6 +3,8 @@ Verb definitions for this channel. --> - - - + @@ -30,9 +30,8 @@ - - + @@ -42,9 +41,8 @@ - - + @@ -53,9 +51,8 @@ - - + diff --git a/mdx/int_testshib/beans.xml b/mdx/int_testshib/beans.xml index e0031c31..0374395a 100644 --- a/mdx/int_testshib/beans.xml +++ b/mdx/int_testshib/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,9 +27,8 @@ - - + diff --git a/mdx/int_testshib/verbs.xml b/mdx/int_testshib/verbs.xml index 59d399aa..6ae23964 100644 --- a/mdx/int_testshib/verbs.xml +++ b/mdx/int_testshib/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/it_idem/beans.xml b/mdx/it_idem/beans.xml index e57d2d13..9f64385f 100644 --- a/mdx/it_idem/beans.xml +++ b/mdx/it_idem/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/it_idem/verbs.xml b/mdx/it_idem/verbs.xml index c5657611..068657a8 100644 --- a/mdx/it_idem/verbs.xml +++ b/mdx/it_idem/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/jp_gakunin/beans.xml b/mdx/jp_gakunin/beans.xml index e055dda2..a3daf24c 100644 --- a/mdx/jp_gakunin/beans.xml +++ b/mdx/jp_gakunin/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/jp_gakunin/verbs.xml b/mdx/jp_gakunin/verbs.xml index e46e2d19..f1132b7c 100644 --- a/mdx/jp_gakunin/verbs.xml +++ b/mdx/jp_gakunin/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/lv_laife/beans.xml b/mdx/lv_laife/beans.xml index 4b4deb1d..87f083a3 100644 --- a/mdx/lv_laife/beans.xml +++ b/mdx/lv_laife/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,9 +27,8 @@ - - + diff --git a/mdx/lv_laife/verbs.xml b/mdx/lv_laife/verbs.xml index 59aafd9d..ad7c4c44 100644 --- a/mdx/lv_laife/verbs.xml +++ b/mdx/lv_laife/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/nl_surfnet/beans.xml b/mdx/nl_surfnet/beans.xml index cd2ba98b..ad9af249 100644 --- a/mdx/nl_surfnet/beans.xml +++ b/mdx/nl_surfnet/beans.xml @@ -2,14 +2,19 @@ - - + + - + @@ -20,21 +25,19 @@ - - + - - - + - + @@ -44,12 +47,10 @@ - - - + - + @@ -59,9 +60,8 @@ - - + diff --git a/mdx/nl_surfnet/verbs.xml b/mdx/nl_surfnet/verbs.xml index 5946ae61..8c6ac634 100644 --- a/mdx/nl_surfnet/verbs.xml +++ b/mdx/nl_surfnet/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -44,9 +47,8 @@ Fetch the separate IdP and SP aggregates, disassemble them into individual entities and then build up a single aggregate from all combined. --> - - + diff --git a/mdx/no_feide/beans.xml b/mdx/no_feide/beans.xml index a61e4516..3e06fd99 100644 --- a/mdx/no_feide/beans.xml +++ b/mdx/no_feide/beans.xml @@ -2,19 +2,22 @@ - - - + + - - - + - + @@ -24,9 +27,8 @@ - - + diff --git a/mdx/no_feide/verbs.xml b/mdx/no_feide/verbs.xml index 0a74e2c4..8321edbe 100644 --- a/mdx/no_feide/verbs.xml +++ b/mdx/no_feide/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -44,9 +47,8 @@ Fetch the separate IdP and SP aggregates, disassemble them into individual entities and then build up a single aggregate from all combined. --> - - + diff --git a/mdx/nz_tuakiri/beans.xml b/mdx/nz_tuakiri/beans.xml index a0a6c27b..0bd9309f 100644 --- a/mdx/nz_tuakiri/beans.xml +++ b/mdx/nz_tuakiri/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/nz_tuakiri/verbs.xml b/mdx/nz_tuakiri/verbs.xml index a355555e..9fd27675 100644 --- a/mdx/nz_tuakiri/verbs.xml +++ b/mdx/nz_tuakiri/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/se_swamid/beans.xml b/mdx/se_swamid/beans.xml index 20b61474..74300e0b 100644 --- a/mdx/se_swamid/beans.xml +++ b/mdx/se_swamid/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/se_swamid/verbs.xml b/mdx/se_swamid/verbs.xml index 5fa47fe0..bdc6b2dc 100644 --- a/mdx/se_swamid/verbs.xml +++ b/mdx/se_swamid/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/si_arnes/beans.xml b/mdx/si_arnes/beans.xml index 34d5d31f..d4674991 100644 --- a/mdx/si_arnes/beans.xml +++ b/mdx/si_arnes/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -23,8 +27,7 @@ - + @@ -35,18 +38,17 @@ - - + - - + diff --git a/mdx/si_arnes/verbs.xml b/mdx/si_arnes/verbs.xml index 2c6330ae..5de6e070 100644 --- a/mdx/si_arnes/verbs.xml +++ b/mdx/si_arnes/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/test/beans.xml b/mdx/test/beans.xml index 24b526d4..87f9b3d8 100644 --- a/mdx/test/beans.xml +++ b/mdx/test/beans.xml @@ -2,15 +2,21 @@ - - + + - - + @@ -22,9 +28,8 @@ - - + diff --git a/mdx/test/verbs.xml b/mdx/test/verbs.xml index a3c52ffb..783755de 100644 --- a/mdx/test/verbs.xml +++ b/mdx/test/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/uk/beans.xml b/mdx/uk/beans.xml index cd1e6276..6042bf67 100644 --- a/mdx/uk/beans.xml +++ b/mdx/uk/beans.xml @@ -3,6 +3,7 @@ Common beans for this channel. --> - - + @@ -49,11 +50,10 @@ This transform can be run on individual EntityDescriptors or on an aggregate EntitiesDescriptor. --> - - + - + @@ -70,7 +70,7 @@ A Resource referencing the members.xml document. --> - + @@ -80,7 +80,7 @@ This bean contains the contents of the members.xml file as a DOM Document. --> - + @@ -91,7 +91,7 @@ This bean implements an API for access to the contents of the members.xml document. --> - + @@ -105,10 +105,10 @@ Adds "mailto:" to md:EmailAddress elements which don't already have it. --> - + - + @@ -120,11 +120,10 @@ Checks specific to the UK registrar function. --> - - + - + @@ -144,9 +143,8 @@ export flows, for which we desire the closest possible correspondence to the registered metadata. --> - - + @@ -163,11 +161,10 @@ This bean contains the contents of the master.xml file as a DOM Document. --> - + - + @@ -179,11 +176,10 @@ This stage adds the UK federation trust roots to an EntitiesDescriptor. --> - - + - + @@ -200,11 +196,10 @@ This stage performs any standard cleanup required for UK federation fragment files. --> - - + - + @@ -216,14 +211,15 @@ Remove any md:ContactPerson elements with contactType of "administrative". --> - - - - - - + + + + administrative + + @@ -232,11 +228,10 @@ This stage performs any fixup actions required before publication to UK federation members. --> - - + - + @@ -246,10 +241,9 @@ - - - + - - - + @@ -272,9 +266,9 @@ Name attribute is not set. UK ordering is applied. --> - - + @@ -284,9 +278,8 @@ - - + @@ -310,11 +303,10 @@ Strip those UK federation extensions which we never publish. --> - - + - + @@ -336,11 +328,10 @@ used in an XML document. This one is UK-specific, as it makes specific choices in order to limit the number of prefixes used. --> - - + - + @@ -369,8 +360,8 @@ Any registrationAuthority already present on an entity in this channel must match the known registration authority value. --> - - + @@ -384,8 +375,8 @@ Provide a default registrationAuthority appropriate to this channel. --> - - + @@ -407,9 +398,9 @@ Serialise the (assumed HTML) DomDocumentItem into the UK federation statistics output file in the production XML directory. --> - - + @@ -423,11 +414,10 @@ Input is an aggregate of all registered entities, output is the HTML statistics. --> - - + - + @@ -446,9 +436,8 @@ resulting HTML output is written into the appropriate file in the production XML directory. --> - - + diff --git a/mdx/uk/collect.xml b/mdx/uk/collect.xml index 6e4ae6c0..bafb443e 100644 --- a/mdx/uk/collect.xml +++ b/mdx/uk/collect.xml @@ -3,6 +3,8 @@ Verb to collect UK-registered entities. --> - - - + @@ -30,9 +30,8 @@ - - + diff --git a/mdx/uk/generate.xml b/mdx/uk/generate.xml index abd9f713..a9a74d01 100644 --- a/mdx/uk/generate.xml +++ b/mdx/uk/generate.xml @@ -3,6 +3,8 @@ Verb to generate all UK aggregates. --> - + @@ -61,8 +62,7 @@ Selection strategy which is true for entities owned by UK federation members. --> - + @@ -71,24 +71,22 @@ Assemble a nested EntitiesDescriptor structure with the UK federation entities inside an inner element. --> - - + - - + - - + @@ -116,20 +114,17 @@ *************************************************** --> - - + - + - - - + @@ -137,9 +132,8 @@ - - + @@ -165,16 +159,13 @@ *************************************** --> - + - - - + @@ -182,9 +173,8 @@ - - + @@ -209,11 +199,10 @@ *********************************************** --> - - + - + @@ -224,10 +213,8 @@ - - - + @@ -235,9 +222,8 @@ - - + @@ -263,11 +249,10 @@ *************************************** --> - - + - + @@ -278,10 +263,8 @@ - - - + @@ -297,21 +280,19 @@ ******************************************* --> - - + - + - - + - + @@ -322,16 +303,13 @@ - + - - - + @@ -339,9 +317,8 @@ - - + @@ -369,9 +346,8 @@ ************************************* --> - - + - - + - + - + @@ -432,20 +408,20 @@ - - + - + - + - + @@ -457,9 +433,9 @@ - - + diff --git a/mdx/uk/strip_admin.xsl b/mdx/uk/strip_admin.xsl deleted file mode 100644 index afc295bb..00000000 --- a/mdx/uk/strip_admin.xsl +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mdx/uk/verbs.xml b/mdx/uk/verbs.xml index 908532d6..a6ad3bc7 100644 --- a/mdx/uk/verbs.xml +++ b/mdx/uk/verbs.xml @@ -33,9 +33,8 @@ Stand-alone statistics generation. --> - - + @@ -52,26 +51,22 @@ Generates a page of links to discovery services, for each SP that has mdui:uiinfo metadata. --> - - + - - + - + - - - + @@ -90,8 +85,8 @@ ********************************* --> - + @@ -122,8 +117,8 @@ *********************************** --> - + @@ -160,10 +155,8 @@ Fetches the contents of the file used to hold metadata just imported by the federation's import transform. --> - - - + @@ -177,9 +170,8 @@ Perform custom validation on metadata just imported by the federation's import transform. --> - - + diff --git a/mdx/uk_eduserv/beans.xml b/mdx/uk_eduserv/beans.xml index 9ed6c934..8bbd013b 100644 --- a/mdx/uk_eduserv/beans.xml +++ b/mdx/uk_eduserv/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -34,18 +38,17 @@ - - + - - + diff --git a/mdx/uk_eduserv/verbs.xml b/mdx/uk_eduserv/verbs.xml index 0620ee40..b3f4d277 100644 --- a/mdx/uk_eduserv/verbs.xml +++ b/mdx/uk_eduserv/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -15,10 +21,8 @@ --> - - - + @@ -26,9 +30,8 @@ - - + @@ -38,9 +41,8 @@ - - + diff --git a/mdx/us_incommon/beans.xml b/mdx/us_incommon/beans.xml index 75d815cd..da6aa7cf 100644 --- a/mdx/us_incommon/beans.xml +++ b/mdx/us_incommon/beans.xml @@ -2,18 +2,22 @@ - - + + - - - + - + @@ -34,18 +38,17 @@ - - + - - + diff --git a/mdx/us_incommon/verbs.xml b/mdx/us_incommon/verbs.xml index 6beb217f..5ec670e3 100644 --- a/mdx/us_incommon/verbs.xml +++ b/mdx/us_incommon/verbs.xml @@ -2,9 +2,15 @@ - - + + @@ -18,10 +24,8 @@ - - - + @@ -29,9 +33,8 @@ - - + @@ -41,9 +44,8 @@ - - + diff --git a/mdx/validation-beans.xml b/mdx/validation-beans.xml index d0255f3b..d7e0632d 100644 --- a/mdx/validation-beans.xml +++ b/mdx/validation-beans.xml @@ -3,6 +3,7 @@ Common validation bean definitions. --> - - - - - - - + - + @@ -61,9 +46,10 @@ - + - + @@ -72,9 +58,10 @@ - + - + @@ -83,9 +70,10 @@ - + - + @@ -94,9 +82,10 @@ - + - + @@ -105,9 +94,10 @@ - + - + @@ -116,9 +106,10 @@ - + - + @@ -127,9 +118,10 @@ - + - + @@ -138,9 +130,10 @@ - + - + @@ -149,9 +142,10 @@ - + - + @@ -162,7 +156,8 @@ Combines all check_future_N stages. --> - + @@ -192,11 +187,10 @@ - - + - + @@ -205,11 +199,10 @@ - - + - + @@ -218,9 +211,10 @@ - + - + @@ -229,11 +223,10 @@ - - + - + @@ -242,11 +235,10 @@ - - + - + @@ -255,11 +247,10 @@ - - + - + @@ -268,11 +259,10 @@ - - + - + @@ -281,11 +271,10 @@ - - + - + @@ -294,11 +283,10 @@ - - + - + @@ -317,11 +305,10 @@ Miscellaneous MDRPI tests, in XSLT. --> - - + - + @@ -332,9 +319,8 @@ Composite check for the MDRPI specification. --> - - + @@ -350,10 +336,9 @@ Any registrationAuthority already present on an entity in this channel must match the known registration authority value. --> - + - + @@ -372,22 +357,20 @@ Checks for the mdui:IPHint element. --> - - - - + - - + - + @@ -398,9 +381,8 @@ Composite check for the MDUI specification. --> - - + @@ -420,11 +402,10 @@ - - + - + @@ -433,11 +414,10 @@ - - + - + @@ -446,11 +426,10 @@ - - + - + @@ -461,11 +440,10 @@ Check for regular expressions in Shibboleth Scope elements. Applied very selectively. --> - - + - + @@ -474,11 +452,10 @@ - - + - + @@ -487,11 +464,10 @@ - - + - + @@ -500,9 +476,10 @@ - + - + @@ -511,11 +488,10 @@ - - + - + @@ -524,11 +500,10 @@ - - + - + @@ -537,11 +512,10 @@ - - + - + @@ -553,9 +527,9 @@ Check that an aggregate has a validUntil instant specified, and that it has not yet expired. Does not put an upper bound on validUntil intervals. --> - - + @@ -570,11 +544,10 @@ - - + - + @@ -583,9 +556,8 @@ - - + @@ -610,9 +582,8 @@ - - + diff --git a/tools/ukf-mda/logback.xml b/tools/ukf-mda/logback.xml deleted file mode 100644 index a4eb864d..00000000 --- a/tools/ukf-mda/logback.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - UTF-8 - %level - %msg%n - - - - - - - - diff --git a/tools/ukf-mda/ukf-mda-0.6.5.jar b/tools/ukf-mda/ukf-mda-0.6.5.jar deleted file mode 100644 index 2f36df247d54d56434b244a68e70f2720dd288c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27392 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 diff --git a/tools/ukf-mda/ukf-mda-0.7.0.jar b/tools/ukf-mda/ukf-mda-0.7.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..79c9e55d349494580fdc05bf0ca8254b66d0c806 GIT binary patch literal 22691 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 R0EkjvT9jCKYYXbH{{b*(>E!?b literal 0 HcmV?d00001