From b7b7ad5ac0b1d179823ee5cdbf6bc8f538c677d6 Mon Sep 17 00:00:00 2001 From: Ian Young Date: Tue, 10 Sep 2013 16:58:27 +0000 Subject: [PATCH] Refactor the errorReportingFilter out of standardImportActions into standardImportTail to allow standardImportActions to be called without necessarily reporting anything. Abolish standardVerifyActions in favour of a call on the new standardImportActions followed by errorTerminatingFilter. --- mdx/at_aconet/verbs.xml | 3 ++- mdx/common-beans.xml | 45 ++++++----------------------------------- mdx/conventions.md | 2 +- mdx/se_swamid/verbs.xml | 3 ++- mdx/uk/generate.xml | 1 + 5 files changed, 12 insertions(+), 42 deletions(-) diff --git a/mdx/at_aconet/verbs.xml b/mdx/at_aconet/verbs.xml index e5acf639..877be2a3 100644 --- a/mdx/at_aconet/verbs.xml +++ b/mdx/at_aconet/verbs.xml @@ -80,7 +80,8 @@ - + + diff --git a/mdx/common-beans.xml b/mdx/common-beans.xml index fedcdc83..5989ab38 100644 --- a/mdx/common-beans.xml +++ b/mdx/common-beans.xml @@ -675,6 +675,10 @@ Standard actions performed on any metadata import channel. Assumes that the collection has been acquired, had its signature validated, and disassembled into individual entities. + + The result is a collection of entities, some of which may be labelled with + errors. No announcement of removal of those entities is performed here; + that is left to the caller. --> @@ -698,45 +702,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -759,6 +724,8 @@ p:id="standardImportTail"> + + diff --git a/mdx/conventions.md b/mdx/conventions.md index 8b34e5c6..72b8daaa 100644 --- a/mdx/conventions.md +++ b/mdx/conventions.md @@ -71,7 +71,7 @@ Aggregate names such as the above are used in the construction of bean names: * `channel_xxxAggregate` is a composite stage that fetches the channel's `xxx` aggregate. The result will normally be a single `DomDocumentItem` whose document element is an `EntitiesDescriptor`. Execution will be terminated via `errorTerminatingFilter` if, for example, the signature does not verify. * `channel_xxxEntities` is a composite stage that fetches the channel's `xxx` aggregate, checks that aggregate's global properties (signature, validity) and then disassembles it into a collection of entites each represented by a `DomDocumentItem` whose document element is an `EntityDescriptor`. Channel-specific rules such as presence of and appropriate values for `registrationAuthority` are checked but not enforced by this stage. Channel-independent checks and the enforcement of all checks (announcement, filtering or termination) are the responsibility of the caller. -**Note:** The conventions around which part of the system are responsible for performing and enforcing checks were changed around 2013-08-12. Previously, `channel_xxxEntities` beans both performed checks and enforced them. Now, `beans.xml` beans perform only channel-specific checks and never enforce. In most cases, this means the movement of `standardImportActions` and `stripMdattrNamespace` from the `...Entities` bean to all callers. `stripMdattrNamespace` has therefore been included in both `standardImportActions` and `standardVerifyActions` to make this transition simpler. +**Note:** The conventions around which part of the system are responsible for performing and enforcing checks were changed around 2013-08-12. Previously, `channel_xxxEntities` beans both performed checks and enforced them. Now, `beans.xml` beans perform only channel-specific checks and never enforce. In most cases, this means the movement of `standardImportActions` and `stripMdattrNamespace` from the `...Entities` bean to all callers. `stripMdattrNamespace` has therefore been included in `standardImportActions` to make this transition simpler. As well as the physical aggregates published by a federation, the name `exported` is used (as for example in the bean name `channel_exportedEntities`) to represent the aggregate that either is that used for import by the UK federation, or is closest in spirit to that purpose. This aggregate is usually selected as follows, in descending order of preference: diff --git a/mdx/se_swamid/verbs.xml b/mdx/se_swamid/verbs.xml index b9a94af4..e281a6fa 100644 --- a/mdx/se_swamid/verbs.xml +++ b/mdx/se_swamid/verbs.xml @@ -80,7 +80,8 @@ - + + diff --git a/mdx/uk/generate.xml b/mdx/uk/generate.xml index e7692fa6..098162b5 100644 --- a/mdx/uk/generate.xml +++ b/mdx/uk/generate.xml @@ -240,6 +240,7 @@ +