From f3a0fff47e2703154b081c4b0c135f1a3c236fcd Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Tue, 9 Jun 2020 13:05:05 +0200 Subject: [PATCH] Renamed AxiomIdentifierResolver to AxiomNameResolver Signed-off-by: Tony Tkacik --- .../api/stream/AxiomBuilderStreamTarget.java | 12 ++++----- .../axiom/api/stream/AxiomItemStream.java | 6 ++--- .../axiom/api/stream/AxiomItemTarget.java | 26 +++++++++---------- .../lang/antlr/AxiomAntlrStatementSource.java | 8 +++--- .../axiom/lang/antlr/AxiomAntlrVisitor.java | 8 +++--- .../axiom/lang/antlr/AxiomAntlrVisitor2.java | 6 ++--- .../lang/antlr/AxiomModelStatementSource.java | 4 +-- .../evolveum/axiom/lang/impl/ItemContext.java | 6 ++--- .../axiom/lang/impl/ModelReactorContext.java | 4 +-- .../axiom/lang/impl/SourceContext.java | 8 +++--- .../axiom/lang/impl/ValueContext.java | 6 ++--- ...erResolver.java => AxiomNameResolver.java} | 16 ++++++------ .../axiom/lang/test/TestTypeDerivation.java | 4 +-- 13 files changed, 57 insertions(+), 57 deletions(-) rename infra/axiom/src/main/java/com/evolveum/axiom/lang/spi/{AxiomIdentifierResolver.java => AxiomNameResolver.java} (76%) diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomBuilderStreamTarget.java b/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomBuilderStreamTarget.java index 63452bc8013..a89f3e425c7 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomBuilderStreamTarget.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomBuilderStreamTarget.java @@ -12,7 +12,7 @@ import com.evolveum.axiom.api.AxiomName; import com.evolveum.axiom.api.schema.AxiomItemDefinition; import com.evolveum.axiom.concepts.SourceLocation; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.lang.spi.AxiomSyntaxException; import com.google.common.base.Preconditions; import com.google.common.base.Strings; @@ -88,9 +88,9 @@ public void endItem(SourceLocation loc) { private interface Builder { AxiomName name(); - AxiomIdentifierResolver itemResolver(); + AxiomNameResolver itemResolver(); - AxiomIdentifierResolver valueResolver(); + AxiomNameResolver valueResolver(); } public interface ItemBuilder extends Builder { @@ -106,7 +106,7 @@ public interface ValueBuilder extends Builder { ItemBuilder startInfra(AxiomName identifier, SourceLocation loc); void endValue(SourceLocation loc); - default AxiomIdentifierResolver axiomAsConditionalDefault() { + default AxiomNameResolver axiomAsConditionalDefault() { return (prefix, name) -> { if(Strings.isNullOrEmpty(prefix)) { AxiomName axiomNs = AxiomName.axiom(name); @@ -120,12 +120,12 @@ default AxiomIdentifierResolver axiomAsConditionalDefault() { } @Override - public AxiomIdentifierResolver itemResolver() { + public AxiomNameResolver itemResolver() { return current().itemResolver(); } @Override - public AxiomIdentifierResolver valueResolver() { + public AxiomNameResolver valueResolver() { return current().valueResolver(); } diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemStream.java b/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemStream.java index 37c6ee7122b..2da9fcb9ed0 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemStream.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemStream.java @@ -2,7 +2,7 @@ import com.evolveum.axiom.api.AxiomName; import com.evolveum.axiom.concepts.SourceLocation; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; public interface AxiomItemStream { @@ -20,8 +20,8 @@ interface Target { interface TargetWithResolver extends Target { - AxiomIdentifierResolver itemResolver(); - AxiomIdentifierResolver valueResolver(); + AxiomNameResolver itemResolver(); + AxiomNameResolver valueResolver(); } diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemTarget.java b/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemTarget.java index 5c98eff5d59..1dabfbf66a9 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemTarget.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/api/stream/AxiomItemTarget.java @@ -13,22 +13,22 @@ import com.evolveum.axiom.api.schema.AxiomTypeDefinition; import com.evolveum.axiom.concepts.SourceLocation; import com.evolveum.axiom.lang.api.AxiomBuiltIn; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.lang.spi.AxiomSemanticException; import com.google.common.base.Preconditions; public class AxiomItemTarget extends AxiomBuilderStreamTarget implements Supplier>, AxiomItemStream.TargetWithResolver { private final AxiomSchemaContext context; - private final AxiomIdentifierResolver resolver; + private final AxiomNameResolver resolver; private AxiomTypeDefinition infraType = AxiomBuiltIn.Type.AXIOM_VALUE; private Item result; public AxiomItemTarget(AxiomSchemaContext context) { - this(context, AxiomIdentifierResolver.nullResolver()); + this(context, AxiomNameResolver.nullResolver()); } - public AxiomItemTarget(AxiomSchemaContext context, AxiomIdentifierResolver rootResolver) { + public AxiomItemTarget(AxiomSchemaContext context, AxiomNameResolver rootResolver) { offer(new Root()); this.context = context; this.resolver = Preconditions.checkNotNull(rootResolver, "rootResolver"); @@ -47,12 +47,12 @@ public AxiomName name() { } @Override - public AxiomIdentifierResolver itemResolver() { + public AxiomNameResolver itemResolver() { return axiomAsConditionalDefault().or(resolver); } @Override - public AxiomIdentifierResolver valueResolver() { + public AxiomNameResolver valueResolver() { return resolver; } @@ -99,12 +99,12 @@ public AxiomName name() { } @Override - public AxiomIdentifierResolver itemResolver() { + public AxiomNameResolver itemResolver() { return resolver; } @Override - public AxiomIdentifierResolver valueResolver() { + public AxiomNameResolver valueResolver() { return resolver; } @@ -146,12 +146,12 @@ public AxiomName name() { } @Override - public AxiomIdentifierResolver itemResolver() { + public AxiomNameResolver itemResolver() { return resolver; } @Override - public AxiomIdentifierResolver valueResolver() { + public AxiomNameResolver valueResolver() { return resolver; } @@ -232,12 +232,12 @@ public AxiomName name() { } @Override - public AxiomIdentifierResolver itemResolver() { - return AxiomIdentifierResolver.defaultNamespaceFromType(builder.type()); + public AxiomNameResolver itemResolver() { + return AxiomNameResolver.defaultNamespaceFromType(builder.type()); } @Override - public AxiomIdentifierResolver valueResolver() { + public AxiomNameResolver valueResolver() { return resolver; } diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrStatementSource.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrStatementSource.java index 441616e905e..8109f24cc51 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrStatementSource.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrStatementSource.java @@ -19,7 +19,7 @@ import com.evolveum.axiom.api.stream.AxiomItemStream; import com.evolveum.axiom.api.stream.AxiomItemStream.TargetWithResolver; import com.evolveum.axiom.lang.antlr.AxiomParser.ItemContext; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.lang.spi.AxiomSyntaxException; public class AxiomAntlrStatementSource { @@ -66,16 +66,16 @@ public final void stream(AxiomItemStream.TargetWithResolver target) { } public void stream(AxiomItemStream.TargetWithResolver target, Optional> emitOnly) { - stream(target, emitOnly, AxiomIdentifierResolver.nullResolver()); + stream(target, emitOnly, AxiomNameResolver.nullResolver()); } public final void stream(TargetWithResolver target, Optional> emitOnly, - AxiomIdentifierResolver resolver) { + AxiomNameResolver resolver) { AxiomAntlrVisitor2 visitor = new AxiomAntlrVisitor2<>(sourceName, target, emitOnly.orElse(null), resolver); visitor.visit(root); } - public final void stream(AxiomIdentifierResolver statements, AxiomIdentifierResolver arguments, AxiomItemStream.Target listener, + public final void stream(AxiomNameResolver statements, AxiomNameResolver arguments, AxiomItemStream.Target listener, Optional> emitOnly) { AxiomAntlrVisitor visitor = new AxiomAntlrVisitor<>(sourceName, statements, arguments, listener, emitOnly.orElse(null)); visitor.visit(root); diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor.java index fe39ebcde80..e3c34c2e10a 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor.java @@ -11,16 +11,16 @@ import com.evolveum.axiom.api.AxiomName; import com.evolveum.axiom.api.stream.AxiomItemStream; import com.evolveum.axiom.api.stream.AxiomItemStream.Target; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; @Deprecated public class AxiomAntlrVisitor extends AbstractAxiomAntlrVisitor { - private final AxiomIdentifierResolver statements; - private final AxiomIdentifierResolver arguments; + private final AxiomNameResolver statements; + private final AxiomNameResolver arguments; private final AxiomItemStream.Target delegate; - public AxiomAntlrVisitor(String name, AxiomIdentifierResolver statements, AxiomIdentifierResolver arguments, AxiomItemStream.Target delegate, + public AxiomAntlrVisitor(String name, AxiomNameResolver statements, AxiomNameResolver arguments, AxiomItemStream.Target delegate, Set limit) { super(name, limit); this.statements = statements; diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor2.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor2.java index 9cb928e7d56..5d47b45e9f1 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor2.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomAntlrVisitor2.java @@ -11,15 +11,15 @@ import com.evolveum.axiom.api.AxiomName; import com.evolveum.axiom.api.stream.AxiomItemStream; import com.evolveum.axiom.api.stream.AxiomItemStream.Target; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; public class AxiomAntlrVisitor2 extends AbstractAxiomAntlrVisitor { private final AxiomItemStream.TargetWithResolver delegate; - private final AxiomIdentifierResolver sourceLocal; + private final AxiomNameResolver sourceLocal; public AxiomAntlrVisitor2(String name, AxiomItemStream.TargetWithResolver delegate, - Set limit, AxiomIdentifierResolver resolver) { + Set limit, AxiomNameResolver resolver) { super(name, limit); this.delegate = delegate; this.sourceLocal = resolver; diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomModelStatementSource.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomModelStatementSource.java index 201277f1aab..c36ee6d6fc2 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomModelStatementSource.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomModelStatementSource.java @@ -21,10 +21,10 @@ import com.evolveum.axiom.api.AxiomName; import com.evolveum.axiom.api.stream.AxiomItemStream.TargetWithResolver; import com.evolveum.axiom.lang.antlr.AxiomParser.ItemContext; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.lang.spi.AxiomSyntaxException; -public class AxiomModelStatementSource extends AxiomAntlrStatementSource implements AxiomIdentifierResolver { +public class AxiomModelStatementSource extends AxiomAntlrStatementSource implements AxiomNameResolver { private static final String IMPORT = "import"; private static final String NAMESPACE = "namespace"; diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ItemContext.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ItemContext.java index 2b9493be2dc..a10e43f8913 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ItemContext.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ItemContext.java @@ -13,7 +13,7 @@ import com.evolveum.axiom.api.schema.AxiomTypeDefinition; import com.evolveum.axiom.concepts.SourceLocation; import com.evolveum.axiom.api.stream.AxiomBuilderStreamTarget.ItemBuilder; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.reactor.Dependency; import com.google.common.base.Preconditions; import com.google.common.collect.Collections2; @@ -103,12 +103,12 @@ public V onlyValue() { } @Override - public AxiomIdentifierResolver itemResolver() { + public AxiomNameResolver itemResolver() { return rootImpl().itemResolver(); } @Override - public AxiomIdentifierResolver valueResolver() { + public AxiomNameResolver valueResolver() { return rootImpl().valueResolver(); } diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ModelReactorContext.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ModelReactorContext.java index 656c0aa629d..59c5b15e7d7 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ModelReactorContext.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ModelReactorContext.java @@ -26,7 +26,7 @@ import com.evolveum.axiom.lang.api.AxiomBuiltIn; import com.evolveum.axiom.lang.api.IdentifierSpaceKey; import com.evolveum.axiom.lang.spi.AxiomIdentifierDefinitionImpl; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.lang.spi.AxiomItemDefinitionImpl; import com.evolveum.axiom.lang.spi.AxiomSemanticException; import com.evolveum.axiom.lang.spi.AxiomTypeDefinitionImpl; @@ -38,7 +38,7 @@ public class ModelReactorContext extends RuleReactorContext, ValueActionImpl, RuleContextImpl> - implements AxiomIdentifierResolver { + implements AxiomNameResolver { private static final AxiomName ROOT = AxiomName.from("root", "root"); diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/SourceContext.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/SourceContext.java index 62e26a2629a..91db53aee1e 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/SourceContext.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/SourceContext.java @@ -12,7 +12,7 @@ import com.evolveum.axiom.concepts.SourceLocation; import com.evolveum.axiom.lang.antlr.AxiomModelStatementSource; import com.evolveum.axiom.lang.api.IdentifierSpaceKey; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.api.stream.AxiomBuilderStreamTarget.ValueBuilder; import com.evolveum.axiom.reactor.Dependency; import com.google.common.base.Preconditions; @@ -97,7 +97,7 @@ public void exportIdentifierSpace(IdentifierSpaceKey namespaceId) { } @Override - public AxiomIdentifierResolver itemResolver() { + public AxiomNameResolver itemResolver() { return axiomAsConditionalDefault().or((prefix, localName) -> { String namespace = imports.get(prefix); return AxiomName.from(namespace, localName); @@ -105,8 +105,8 @@ public AxiomIdentifierResolver itemResolver() { } @Override - public AxiomIdentifierResolver valueResolver() { - return AxiomIdentifierResolver.BUILTIN_TYPES.or((prefix, localName) -> { + public AxiomNameResolver valueResolver() { + return AxiomNameResolver.BUILTIN_TYPES.or((prefix, localName) -> { String namespace = imports.get(prefix); return AxiomName.from(namespace, localName); }); diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ValueContext.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ValueContext.java index 4ad072c7ee9..38434baf16a 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ValueContext.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/impl/ValueContext.java @@ -24,7 +24,7 @@ import com.evolveum.axiom.api.schema.AxiomTypeDefinition; import com.evolveum.axiom.api.schema.AxiomIdentifierDefinition.Scope; import com.evolveum.axiom.concepts.SourceLocation; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.lang.spi.AxiomSemanticException; public class ValueContext extends AbstractContext> implements AxiomValueContext, ValueBuilder, Dependency> { @@ -376,7 +376,7 @@ public AxiomSemanticException error(String message, Object... arguments) { } @Override - public AxiomIdentifierResolver itemResolver() { + public AxiomNameResolver itemResolver() { return (prefix, localName) -> { if(Strings.isNullOrEmpty(prefix)) { AxiomName localNs = AxiomName.local(localName); @@ -402,7 +402,7 @@ public AxiomValue lazyValue() { } @Override - public AxiomIdentifierResolver valueResolver() { + public AxiomNameResolver valueResolver() { return rootImpl().valueResolver(); } diff --git a/infra/axiom/src/main/java/com/evolveum/axiom/lang/spi/AxiomIdentifierResolver.java b/infra/axiom/src/main/java/com/evolveum/axiom/lang/spi/AxiomNameResolver.java similarity index 76% rename from infra/axiom/src/main/java/com/evolveum/axiom/lang/spi/AxiomIdentifierResolver.java rename to infra/axiom/src/main/java/com/evolveum/axiom/lang/spi/AxiomNameResolver.java index f308f827067..43405befbc7 100644 --- a/infra/axiom/src/main/java/com/evolveum/axiom/lang/spi/AxiomIdentifierResolver.java +++ b/infra/axiom/src/main/java/com/evolveum/axiom/lang/spi/AxiomNameResolver.java @@ -20,30 +20,30 @@ import org.jetbrains.annotations.Nullable; -public interface AxiomIdentifierResolver { +public interface AxiomNameResolver { - final AxiomIdentifierResolver AXIOM_DEFAULT_NAMESPACE = defaultNamespace(AxiomName.AXIOM_NAMESPACE); + final AxiomNameResolver AXIOM_DEFAULT_NAMESPACE = defaultNamespace(AxiomName.AXIOM_NAMESPACE); final Set BUILTINS = ImmutableSet.of("string","boolean","uri", "int", "binary", "dateTime"); - final AxiomIdentifierResolver BUILTIN_TYPES = (prefix, localName) -> { + final AxiomNameResolver BUILTIN_TYPES = (prefix, localName) -> { if((prefix == null || prefix.isEmpty()) && BUILTINS.contains(localName)) { return AxiomName.axiom(localName); } return null; }; - final AxiomIdentifierResolver NULL_RESOLVER = (p, n) -> null; + final AxiomNameResolver NULL_RESOLVER = (p, n) -> null; AxiomName resolveIdentifier(@Nullable String prefix, @NotNull String localName); - static AxiomIdentifierResolver defaultNamespace(String namespace) { + static AxiomNameResolver defaultNamespace(String namespace) { return (prefix, localName) -> Strings.isNullOrEmpty(prefix) ? AxiomName.from(namespace, localName) : null; } - static AxiomIdentifierResolver nullResolver() { + static AxiomNameResolver nullResolver() { return NULL_RESOLVER; } - default AxiomIdentifierResolver or(AxiomIdentifierResolver next) { + default AxiomNameResolver or(AxiomNameResolver next) { return (prefix, localName) -> { AxiomName maybe = this.resolveIdentifier(prefix, localName); if (maybe != null) { @@ -53,7 +53,7 @@ default AxiomIdentifierResolver or(AxiomIdentifierResolver next) { }; } - static AxiomIdentifierResolver defaultNamespaceFromType(AxiomTypeDefinition type) { + static AxiomNameResolver defaultNamespaceFromType(AxiomTypeDefinition type) { return (prefix, localName) -> { if(Strings.isNullOrEmpty(prefix)) { AxiomName localNs = AxiomName.local(localName); diff --git a/infra/axiom/src/test/java/com/evolveum/axiom/lang/test/TestTypeDerivation.java b/infra/axiom/src/test/java/com/evolveum/axiom/lang/test/TestTypeDerivation.java index 13a61a45f02..3f6661196c5 100644 --- a/infra/axiom/src/test/java/com/evolveum/axiom/lang/test/TestTypeDerivation.java +++ b/infra/axiom/src/test/java/com/evolveum/axiom/lang/test/TestTypeDerivation.java @@ -27,7 +27,7 @@ import com.evolveum.axiom.api.stream.AxiomItemTarget; import com.evolveum.axiom.lang.antlr.AxiomAntlrStatementSource; import com.evolveum.axiom.lang.impl.ModelReactorContext; -import com.evolveum.axiom.lang.spi.AxiomIdentifierResolver; +import com.evolveum.axiom.lang.spi.AxiomNameResolver; import com.evolveum.axiom.lang.spi.AxiomSyntaxException; public class TestTypeDerivation extends AbstractReactorTest { @@ -65,7 +65,7 @@ public void axiomTestInheritance() throws IOException, AxiomSyntaxException { public void axiomData() throws AxiomSyntaxException, FileNotFoundException, IOException { AxiomSchemaContext context = loadModel(); AxiomAntlrStatementSource stream = dataSource(JOHN_DOE_FILE); - AxiomItemTarget target = new AxiomItemTarget(context, AxiomIdentifierResolver.defaultNamespace(DERIVED_PERSON.namespace())); + AxiomItemTarget target = new AxiomItemTarget(context, AxiomNameResolver.defaultNamespace(DERIVED_PERSON.namespace())); stream.stream(target); AxiomItem root = target.get(); assertEquals(root.name(), DERIVED_PERSON.localName("person"));