Search in sources :

Example 26 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class DefaultAtlasFieldActionsServiceTest method testProcessActionsActionsField.

@Test
public void testProcessActionsActionsField() throws AtlasException {
    Actions actions = null;
    SimpleField field = new SimpleField();
    field.setFieldType(FieldType.COMPLEX);
    fieldActionsService.processActions(actions, field);
    field.setValue(null);
    field.setFieldType(FieldType.INTEGER);
    fieldActionsService.processActions(actions, field);
    field.setValue(new Integer(0));
    field.setFieldType(FieldType.INTEGER);
    fieldActionsService.processActions(actions, field);
    @SuppressWarnings("serial")
    class MockActions extends Actions {

        @Override
        public List<Action> getActions() {
            return null;
        }
    }
    fieldActionsService.processActions(new MockActions(), field);
    actions = new Actions();
    fieldActionsService.processActions(actions, field);
    actions.getActions().add(new Trim());
    field.setValue("testString");
    field.setFieldType(FieldType.STRING);
    fieldActionsService.processActions(actions, field);
    field.setValue(new Integer(8));
    field.setFieldType(FieldType.NUMBER);
    fieldActionsService.processActions(actions, field);
}
Also used : Action(io.atlasmap.v2.Action) Actions(io.atlasmap.v2.Actions) Trim(io.atlasmap.v2.Trim) SimpleField(io.atlasmap.v2.SimpleField) Test(org.junit.Test)

Example 27 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class DefaultAtlasFieldActionsServiceTest method testProcessActionWithActionActionDetailObjectAtlasException.

@Test(expected = AtlasException.class)
public void testProcessActionWithActionActionDetailObjectAtlasException() throws AtlasException {
    Action action = new AbsoluteValue();
    Object sourceObject = new Integer("1");
    ActionDetail actionDetail = new ActionDetail();
    actionDetail.setClassName("io.atlasmap.actions.NumberFieldActions");
    actionDetail.setSourceType(FieldType.INTEGER);
    actionDetail.setMethod("absoluteValue");
    fieldActionsService.processAction(action, actionDetail, sourceObject);
}
Also used : Action(io.atlasmap.v2.Action) AbsoluteValue(io.atlasmap.v2.AbsoluteValue) ActionDetail(io.atlasmap.v2.ActionDetail) Test(org.junit.Test)

Example 28 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class NumberFieldActions method convertVolumeUnit.

@AtlasFieldActionInfo(name = "ConvertVolumeUnit", sourceType = FieldType.NUMBER, targetType = FieldType.NUMBER, sourceCollectionType = CollectionType.NONE, targetCollectionType = CollectionType.NONE)
public static Number convertVolumeUnit(Action action, Number input) {
    if (input == null) {
        return 0;
    }
    if (action == null || !(action instanceof ConvertVolumeUnit) || ((ConvertVolumeUnit) action).getFromUnit() == null || ((ConvertVolumeUnit) action).getToUnit() == null) {
        throw new IllegalArgumentException("ConvertVolumeUnit must be specfied  with fromUnit and toUnit");
    }
    VolumeUnitType fromUnit = ((ConvertVolumeUnit) action).getFromUnit();
    VolumeUnitType toUnit = ((ConvertVolumeUnit) action).getToUnit();
    double rate = volumeConvertionTable.get(fromUnit).get(toUnit);
    return doMultiply(input, rate);
}
Also used : ConvertVolumeUnit(io.atlasmap.v2.ConvertVolumeUnit) VolumeUnitType(io.atlasmap.v2.VolumeUnitType) AtlasFieldActionInfo(io.atlasmap.spi.AtlasFieldActionInfo)

Example 29 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class NumberFieldActions method convertMassUnit.

@AtlasFieldActionInfo(name = "ConvertMassUnit", sourceType = FieldType.NUMBER, targetType = FieldType.NUMBER, sourceCollectionType = CollectionType.NONE, targetCollectionType = CollectionType.NONE)
public static Number convertMassUnit(Action action, Number input) {
    if (input == null) {
        return 0;
    }
    if (action == null || !(action instanceof ConvertMassUnit) || ((ConvertMassUnit) action).getFromUnit() == null || ((ConvertMassUnit) action).getToUnit() == null) {
        throw new IllegalArgumentException("ConvertMassUnit must be specfied  with fromUnit and toUnit");
    }
    MassUnitType fromUnit = ((ConvertMassUnit) action).getFromUnit();
    MassUnitType toUnit = ((ConvertMassUnit) action).getToUnit();
    double rate = massConvertionTable.get(fromUnit).get(toUnit);
    return doMultiply(input, rate);
}
Also used : ConvertMassUnit(io.atlasmap.v2.ConvertMassUnit) MassUnitType(io.atlasmap.v2.MassUnitType) AtlasFieldActionInfo(io.atlasmap.spi.AtlasFieldActionInfo)

Example 30 with Action

use of io.atlasmap.v2.Action in project atlasmap by atlasmap.

the class NumberFieldActions method convertDistanceUnit.

@AtlasFieldActionInfo(name = "ConvertDistanceUnit", sourceType = FieldType.NUMBER, targetType = FieldType.NUMBER, sourceCollectionType = CollectionType.NONE, targetCollectionType = CollectionType.NONE)
public static Number convertDistanceUnit(Action action, Number input) {
    if (input == null) {
        return 0;
    }
    if (action == null || !(action instanceof ConvertDistanceUnit) || ((ConvertDistanceUnit) action).getFromUnit() == null || ((ConvertDistanceUnit) action).getToUnit() == null) {
        throw new IllegalArgumentException("ConvertDistanceUnit must be specfied  with fromUnit and toUnit");
    }
    DistanceUnitType fromUnit = ((ConvertDistanceUnit) action).getFromUnit();
    DistanceUnitType toUnit = ((ConvertDistanceUnit) action).getToUnit();
    double rate = distanceConvertionTable.get(fromUnit).get(toUnit);
    return doMultiply(input, rate);
}
Also used : DistanceUnitType(io.atlasmap.v2.DistanceUnitType) ConvertDistanceUnit(io.atlasmap.v2.ConvertDistanceUnit) AtlasFieldActionInfo(io.atlasmap.spi.AtlasFieldActionInfo)

Aggregations

Test (org.junit.Test)28 AtlasFieldActionInfo (io.atlasmap.spi.AtlasFieldActionInfo)13 Action (io.atlasmap.v2.Action)6 ActionDetail (io.atlasmap.v2.ActionDetail)6 SubString (io.atlasmap.v2.SubString)6 ConvertMassUnit (io.atlasmap.v2.ConvertMassUnit)5 Action (com.opensymphony.xwork2.Action)3 AtlasFieldAction (io.atlasmap.api.AtlasFieldAction)3 AtlasMapping (io.atlasmap.v2.AtlasMapping)3 HashMap (java.util.HashMap)3 LinkedHashMap (java.util.LinkedHashMap)3 AbsoluteValue (io.atlasmap.v2.AbsoluteValue)2 Actions (io.atlasmap.v2.Actions)2 Append (io.atlasmap.v2.Append)2 Concatenate (io.atlasmap.v2.Concatenate)2 ConvertAreaUnit (io.atlasmap.v2.ConvertAreaUnit)2 ConvertDistanceUnit (io.atlasmap.v2.ConvertDistanceUnit)2 ConvertVolumeUnit (io.atlasmap.v2.ConvertVolumeUnit)2 DataSource (io.atlasmap.v2.DataSource)2 LastIndexOf (io.atlasmap.v2.LastIndexOf)2