Skip to content

Commit

Permalink
Axiom: Renamed ComplexValue to StructuredValue in Axiom sources
Browse files Browse the repository at this point in the history
Signed-off-by: Tony Tkacik <tony.tkacik@evolveum.com>
  • Loading branch information
tonydamage committed Jun 22, 2020
1 parent 9786482 commit f43e156
Show file tree
Hide file tree
Showing 16 changed files with 41 additions and 41 deletions.
Expand Up @@ -13,7 +13,7 @@
import com.evolveum.axiom.api.schema.AxiomItemDefinition;
import com.evolveum.axiom.api.schema.AxiomTypeDefinition;

public interface AxiomComplexValue extends AxiomValue<Collection<AxiomItem<?>>> {
public interface AxiomStructuredValue extends AxiomValue<Collection<AxiomItem<?>>> {


@Override
Expand Down
Expand Up @@ -23,17 +23,17 @@ public interface AxiomValue<V> extends AxiomInfraValue {
V value();


default Optional<? extends AxiomComplexValue> metadata() {
default Optional<? extends AxiomStructuredValue> metadata() {
return infraItem(METADATA).flatMap(v -> v.onlyValue().asComplex());
}

default Optional<? extends AxiomItem<?>> metadata(AxiomName name) {
return metadata().flatMap(m -> m.item(name));
}

default Optional<AxiomComplexValue> asComplex() {
if(this instanceof AxiomComplexValue) {
return Optional.of((AxiomComplexValue) this);
default Optional<AxiomStructuredValue> asComplex() {
if(this instanceof AxiomStructuredValue) {
return Optional.of((AxiomStructuredValue) this);
}
return Optional.empty();
}
Expand Down
Expand Up @@ -15,9 +15,9 @@ public interface AxiomValueFactory<V> {
AxiomValueFactory<Object> DEFAULT_FACTORY = new AxiomValueFactory<Object>() {

@Override
public AxiomComplexValue createComplex(AxiomTypeDefinition def, Map<AxiomName, AxiomItem<?>> items,
public AxiomStructuredValue createComplex(AxiomTypeDefinition def, Map<AxiomName, AxiomItem<?>> items,
Map<AxiomName, AxiomItem<?>> infraItems) {
return new ComplexValueImpl(def, items, infraItems);
return new StructuredValueImpl(def, items, infraItems);
}

@Override
Expand All @@ -29,7 +29,7 @@ public AxiomValue<Object> createSimple(AxiomTypeDefinition def, Object value,

AxiomValue<V> createSimple(AxiomTypeDefinition def, V value, Map<AxiomName, AxiomItem<?>> infraItems);

AxiomComplexValue createComplex(AxiomTypeDefinition def, Map<AxiomName, AxiomItem<?>> items ,Map<AxiomName, AxiomItem<?>> infraItems);
AxiomStructuredValue createComplex(AxiomTypeDefinition def, Map<AxiomName, AxiomItem<?>> items ,Map<AxiomName, AxiomItem<?>> infraItems);

@SuppressWarnings("unchecked")
static <V> AxiomValueFactory<V> defaultFactory() {
Expand Down
Expand Up @@ -60,8 +60,8 @@ public static AxiomValueIdentifier of(AxiomName key, Object value) {
}

public static AxiomValueIdentifier from(AxiomIdentifierDefinition key, AxiomValue<?> value) {
Preconditions.checkArgument(value instanceof AxiomComplexValue, "Value must be complex.");
AxiomComplexValue complex = value.asComplex().get();
Preconditions.checkArgument(value instanceof AxiomStructuredValue, "Value must be complex.");
AxiomStructuredValue complex = value.asComplex().get();

// FIXME: Should be offset map?
ImmutableMap.Builder<AxiomName, Object> components = ImmutableMap.builder();
Expand Down
Expand Up @@ -15,7 +15,7 @@
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableMap;

public class ComplexValueImpl implements AxiomComplexValue {
public class StructuredValueImpl implements AxiomStructuredValue {

private final AxiomTypeDefinition type;
private final Map<AxiomName, AxiomItem<?>> items;
Expand All @@ -27,7 +27,7 @@ protected <X> X require(Optional<X> value) {
return value.get();
}

public ComplexValueImpl(AxiomTypeDefinition type, Map<AxiomName, AxiomItem<?>> items, Map<AxiomName,AxiomItem<?>> infraItems) {
public StructuredValueImpl(AxiomTypeDefinition type, Map<AxiomName, AxiomItem<?>> items, Map<AxiomName,AxiomItem<?>> infraItems) {
super();
this.type = type;
this.items = ImmutableMap.copyOf(items);
Expand All @@ -41,7 +41,7 @@ public Optional<AxiomTypeDefinition> type() {

@Override
public Optional<AxiomItem<?>> item(AxiomItemDefinition def) {
return AxiomComplexValue.super.item(def);
return AxiomStructuredValue.super.item(def);
}

@Override
Expand Down
Expand Up @@ -9,12 +9,12 @@
import java.util.Collection;
import java.util.Set;

import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomValue;
import com.google.common.collect.ImmutableSet;

public interface AxiomIdentifierDefinition extends AxiomComplexValue {
public interface AxiomIdentifierDefinition extends AxiomStructuredValue {

Collection<AxiomName> components();

Expand Down
Expand Up @@ -8,13 +8,13 @@

import java.util.Optional;

import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomValueIdentifier;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableMap;

public interface AxiomItemDefinition extends AxiomNamedDefinition, AxiomComplexValue {
public interface AxiomItemDefinition extends AxiomNamedDefinition, AxiomStructuredValue {

AxiomName ROOT_SPACE = AxiomName.axiom("AxiomRootDefinition");
AxiomName SPACE = AxiomName.axiom("AxiomItemDefinition");
Expand Down
Expand Up @@ -11,13 +11,13 @@
import java.util.Optional;
import java.util.stream.Collectors;

import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.meta.Inheritance;
import com.evolveum.axiom.api.AxiomValueIdentifier;
import com.google.common.collect.ImmutableMap;

public interface AxiomTypeDefinition extends AxiomNamedDefinition, AxiomComplexValue {
public interface AxiomTypeDefinition extends AxiomNamedDefinition, AxiomStructuredValue {

public final AxiomName IDENTIFIER_MEMBER = AxiomName.axiom("name");
public final AxiomName SPACE = AxiomName.axiom("AxiomTypeDefinition");
Expand Down
Expand Up @@ -12,7 +12,7 @@
import java.util.Optional;
import java.util.Set;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.AxiomValue;
import com.evolveum.axiom.api.schema.AxiomIdentifierDefinition;
Expand Down Expand Up @@ -137,7 +137,7 @@ public void apply(Lookup<AxiomName> context, ActionBuilder<AxiomName> action) th

@Override
public void apply(Lookup<AxiomName> context, ActionBuilder<AxiomName> action) throws AxiomSemanticException {
Dependency<AxiomComplexValue> typeDef =
Dependency<AxiomStructuredValue> typeDef =
action.require(
context.onlyItemValue(Item.REF_TARGET, AxiomTypeDefinition.class)
.map(v -> v.asComplex().get()));
Expand All @@ -151,7 +151,7 @@ public void apply(Lookup<AxiomName> context, ActionBuilder<AxiomName> action) th

@Override
public void apply(Lookup<AxiomName> context, ActionBuilder<AxiomName> action) throws AxiomSemanticException {
Dependency<AxiomComplexValue> typeDef =
Dependency<AxiomStructuredValue> typeDef =
action.require(
context.onlyItemValue(Item.REF_TARGET, AxiomTypeDefinition.class)
.map(v -> v.asComplex().get()));
Expand Down Expand Up @@ -294,7 +294,7 @@ private static AxiomValueIdentifier namespaceId(String uri) {
return AxiomValueIdentifier.of(Item.NAMESPACE.name(), uri);
}

public static void addFromType(AxiomComplexValue source, AxiomValueContext<?> target) {
public static void addFromType(AxiomStructuredValue source, AxiomValueContext<?> target) {
Optional<AxiomItem<?>> identifiers = source.item(Item.IDENTIFIER_DEFINITION);
if(identifiers.isPresent()) {
target.mergeItem(identifiers.get());
Expand Down
Expand Up @@ -10,7 +10,7 @@
import java.util.Optional;
import java.util.function.Supplier;

import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomValue;
Expand All @@ -37,7 +37,7 @@ public V value() {
}

@Override
public Optional<AxiomComplexValue> asComplex() {
public Optional<AxiomStructuredValue> asComplex() {
return delegate().asComplex();
}

Expand Down
Expand Up @@ -3,13 +3,13 @@
import java.util.Map;

import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.ComplexValueImpl;
import com.evolveum.axiom.api.StructuredValueImpl;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.schema.AxiomNamedDefinition;
import com.evolveum.axiom.api.schema.AxiomTypeDefinition;
import com.evolveum.axiom.lang.api.AxiomBuiltIn.Item;

public class AbstractBaseDefinition extends ComplexValueImpl implements AxiomNamedDefinition {
public class AbstractBaseDefinition extends StructuredValueImpl implements AxiomNamedDefinition {

private final AxiomName name;
private final String documentation;
Expand Down
Expand Up @@ -3,18 +3,18 @@
import java.util.Collection;
import java.util.Map;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.AxiomValue;
import com.evolveum.axiom.api.ComplexValueImpl;
import com.evolveum.axiom.api.StructuredValueImpl;
import com.evolveum.axiom.api.schema.AxiomIdentifierDefinition;
import com.evolveum.axiom.api.schema.AxiomTypeDefinition;
import com.evolveum.axiom.lang.api.AxiomBuiltIn.Item;
import com.google.common.collect.ImmutableList;

public class AxiomIdentifierDefinitionImpl extends ComplexValueImpl implements AxiomIdentifierDefinition {
public class AxiomIdentifierDefinitionImpl extends StructuredValueImpl implements AxiomIdentifierDefinition {

public static final AxiomComplexValue.Factory FACTORY = AxiomIdentifierDefinitionImpl::new;
public static final AxiomStructuredValue.Factory FACTORY = AxiomIdentifierDefinitionImpl::new;
private final Collection<AxiomName> components;

public AxiomIdentifierDefinitionImpl(AxiomTypeDefinition axiomItemDefinition, Map<AxiomName, AxiomItem<?>> items, Map<AxiomName, AxiomItem<?>> infraItems) {
Expand Down
Expand Up @@ -4,7 +4,7 @@
import java.util.Optional;

import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.AxiomValue;
import com.evolveum.axiom.api.schema.AxiomIdentifierDefinition;
Expand All @@ -14,7 +14,7 @@

public class AxiomItemDefinitionImpl extends AbstractBaseDefinition implements AxiomItemDefinition {

public static final AxiomComplexValue.Factory FACTORY = AxiomItemDefinitionImpl::new;
public static final AxiomStructuredValue.Factory FACTORY = AxiomItemDefinitionImpl::new;
private final AxiomValue<AxiomTypeDefinition> valueType;
private final Optional<AxiomItem<String>> minOccurs;
private Optional<AxiomIdentifierDefinition> identifierDef;
Expand Down
Expand Up @@ -5,7 +5,7 @@
import java.util.Map;
import java.util.Optional;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.AxiomValue;
import com.evolveum.axiom.api.meta.Inheritance;
Expand All @@ -20,7 +20,7 @@

public class AxiomTypeDefinitionImpl extends AbstractBaseDefinition implements AxiomTypeDefinition {

public static final AxiomComplexValue.Factory FACTORY = AxiomTypeDefinitionImpl::new;
public static final AxiomStructuredValue.Factory FACTORY = AxiomTypeDefinitionImpl::new;
private final Map<AxiomName, AxiomItemDefinition> itemDefinitions;
private final Optional<AxiomTypeDefinition> superType;
private final Optional<AxiomItemDefinition> argument;
Expand All @@ -43,7 +43,7 @@ public AxiomTypeDefinitionImpl(AxiomTypeDefinition def, Map<AxiomName, AxiomItem
AxiomIdentifierDefinitionImpl::from);
}

public static AxiomTypeDefinition from(AxiomComplexValue value) {
public static AxiomTypeDefinition from(AxiomStructuredValue value) {
if(value instanceof AxiomTypeDefinition) {
return (AxiomTypeDefinition) value;
}
Expand Down
Expand Up @@ -7,7 +7,7 @@

import org.testng.annotations.Test;

import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomValue;
Expand Down Expand Up @@ -101,7 +101,7 @@ void testInfraSerialized() throws AxiomSemanticException, AxiomSyntaxException,


private void assertModel(AxiomItem<?> result, Object name) {
AxiomComplexValue model = result.onlyValue().asComplex().get();
AxiomStructuredValue model = result.onlyValue().asComplex().get();
assertEquals(model.item(Item.NAME).get().onlyValue().value(), name);
}
}
Expand Up @@ -17,7 +17,7 @@
import org.testng.annotations.Test;

import com.evolveum.axiom.api.AxiomName;
import com.evolveum.axiom.api.AxiomComplexValue;
import com.evolveum.axiom.api.AxiomStructuredValue;
import com.evolveum.axiom.api.AxiomItem;
import com.evolveum.axiom.api.meta.Inheritance;
import com.evolveum.axiom.api.schema.AxiomItemDefinition;
Expand Down Expand Up @@ -69,7 +69,7 @@ public void axiomData() throws AxiomSyntaxException, FileNotFoundException, IOEx
stream.stream(target);
AxiomItem<?> root = target.get();
assertEquals(root.name(), DERIVED_PERSON.localName("person"));
AxiomComplexValue person = root.onlyValue().asComplex().get();
AxiomStructuredValue person = root.onlyValue().asComplex().get();
assertEquals(person.item(NAME).get().onlyValue().value(), "John Doe");
assertEquals(person.item(FIRST_NAME).get().onlyValue().value(), "John");
}
Expand All @@ -82,7 +82,7 @@ public void axiomDataSubstitution() throws AxiomSyntaxException, FileNotFoundExc
stream.stream(target);
AxiomItem<?> root = target.get();
assertEquals(root.name(), DERIVED_PERSON.localName("person"));
AxiomComplexValue person = root.onlyValue().asComplex().get();
AxiomStructuredValue person = root.onlyValue().asComplex().get();
assertEquals(person.item(NAME).get().onlyValue().value(), "John Doe");
assertEquals(person.item(FIRST_NAME).get().onlyValue().value(), "John");
}
Expand Down

0 comments on commit f43e156

Please sign in to comment.