Search in sources :

Example 81 with JsonField

use of io.atlasmap.json.v2.JsonField in project atlasmap by atlasmap.

the class JsonJsonFieldActionsTest method createField.

protected Field createField(String path) {
    JsonField f = new JsonField();
    f.setPath(path);
    f.setFieldType(FieldType.STRING);
    return f;
}
Also used : JsonField(io.atlasmap.json.v2.JsonField)

Example 82 with JsonField

use of io.atlasmap.json.v2.JsonField in project atlasmap by atlasmap.

the class JsonTestHelper method addInputStringField.

static JsonField addInputStringField(AtlasSession session, String path) {
    if (session.getMapping().getMappings().getMapping().isEmpty()) {
        session.getMapping().getMappings().getMapping().add(new Mapping());
    }
    JsonField f = createJsonStringField(path);
    ((Mapping) session.getMapping().getMappings().getMapping().get(0)).getInputField().add(f);
    return f;
}
Also used : JsonField(io.atlasmap.json.v2.JsonField) Mapping(io.atlasmap.v2.Mapping)

Example 83 with JsonField

use of io.atlasmap.json.v2.JsonField in project atlasmap by atlasmap.

the class JsonTestHelper method createJsonStringField.

static JsonField createJsonStringField(String path) {
    JsonField field = new JsonField();
    field.setPath(path);
    Pattern p = Pattern.compile(".*/(\\w+)<?>?");
    Matcher m = p.matcher(path);
    if (m.matches()) {
        field.setName(m.group(1));
    }
    field.setFieldType(FieldType.STRING);
    return field;
}
Also used : JsonField(io.atlasmap.json.v2.JsonField) Pattern(java.util.regex.Pattern) Matcher(java.util.regex.Matcher)

Example 84 with JsonField

use of io.atlasmap.json.v2.JsonField in project atlasmap by atlasmap.

the class JsonTestHelper method addOutputStringField.

static JsonField addOutputStringField(AtlasSession session, String path) {
    if (session.getMapping().getMappings().getMapping().isEmpty()) {
        session.getMapping().getMappings().getMapping().add(new Mapping());
    }
    JsonField f = createJsonStringField(path);
    ((Mapping) session.getMapping().getMappings().getMapping().get(0)).getOutputField().add(f);
    return f;
}
Also used : JsonField(io.atlasmap.json.v2.JsonField) Mapping(io.atlasmap.v2.Mapping)

Example 85 with JsonField

use of io.atlasmap.json.v2.JsonField in project atlasmap by atlasmap.

the class DefaultAtlasContextCollectionExpansionTest method shouldNotExponentialyGrowExpandedCollectionMappings.

@Test
public void shouldNotExponentialyGrowExpandedCollectionMappings() throws Exception {
    final AtlasMapping mapping = new AtlasMapping();
    final DefaultAtlasContext context = new DefaultAtlasContext(DefaultAtlasContextFactory.getInstance(), mapping) {

        protected void init() {
        // hijack initialization
        }
    };
    context.setSourceModules(Collections.singletonMap("source", new JsonModule()));
    final DefaultAtlasSession session = (DefaultAtlasSession) context.createSession();
    session.setSourceDocument("source", "{ \"array\": [ { \"property\": 1 }, { \"property\": 2 }, { \"property\": 3 } ] }");
    final Collection baseMapping = new Collection();
    baseMapping.setMappingType(MappingType.COLLECTION);
    final Mappings mappings = new Mappings();
    final Mapping singleMapping = new Mapping();
    singleMapping.setMappingType(MappingType.MAP);
    final JsonField nestedArrayField = new JsonField();
    nestedArrayField.setDocId("source");
    nestedArrayField.setPath("/array<>/property");
    singleMapping.getInputField().add(nestedArrayField);
    mappings.getMapping().add(singleMapping);
    baseMapping.setMappings(mappings);
    Method m = DefaultAtlasContext.class.getDeclaredMethod("unwrapCollectionMappings", new Class[] { DefaultAtlasSession.class, BaseMapping.class });
    m.setAccessible(true);
    assertEquals(1, List.class.cast(m.invoke(context, new Object[] { session, baseMapping })).size());
    assertEquals(1, List.class.cast(m.invoke(context, new Object[] { session, baseMapping })).size());
    assertEquals(1, List.class.cast(m.invoke(context, new Object[] { session, baseMapping })).size());
}
Also used : JsonField(io.atlasmap.json.v2.JsonField) AtlasMapping(io.atlasmap.v2.AtlasMapping) DefaultAtlasContext(io.atlasmap.core.DefaultAtlasContext) Mappings(io.atlasmap.v2.Mappings) Collection(io.atlasmap.v2.Collection) Mapping(io.atlasmap.v2.Mapping) AtlasMapping(io.atlasmap.v2.AtlasMapping) BaseMapping(io.atlasmap.v2.BaseMapping) Method(java.lang.reflect.Method) JsonModule(io.atlasmap.json.module.JsonModule) DefaultAtlasSession(io.atlasmap.core.DefaultAtlasSession) Test(org.junit.jupiter.api.Test)

Aggregations

JsonField (io.atlasmap.json.v2.JsonField)119 JsonDocument (io.atlasmap.json.v2.JsonDocument)62 Test (org.junit.jupiter.api.Test)57 JsonComplexType (io.atlasmap.json.v2.JsonComplexType)34 Test (org.junit.Test)27 Field (io.atlasmap.v2.Field)18 AtlasInternalSession (io.atlasmap.spi.AtlasInternalSession)15 Head (io.atlasmap.spi.AtlasInternalSession.Head)13 Mapping (io.atlasmap.v2.Mapping)13 AtlasMapping (io.atlasmap.v2.AtlasMapping)11 FieldGroup (io.atlasmap.v2.FieldGroup)9 JsonEnumField (io.atlasmap.json.v2.JsonEnumField)8 JsonNode (com.fasterxml.jackson.databind.JsonNode)7 ArrayList (java.util.ArrayList)5 AtlasPath (io.atlasmap.core.AtlasPath)4 Validation (io.atlasmap.v2.Validation)4 BaseMapping (io.atlasmap.v2.BaseMapping)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 AtlasException (io.atlasmap.api.AtlasException)2 SegmentContext (io.atlasmap.core.AtlasPath.SegmentContext)2