Search in sources :

Example 6 with ColumnType

use of com.google.api.ads.admanager.axis.v202108.ColumnType in project googleads-java-lib by googleads.

the class Pql method combineResultSets.

/**
 * Combines the first and second result sets, if and only if, the columns of both result sets
 * match.
 *
 * @throws IllegalArgumentException if the columns of the first result set don't match the second
 */
public static ResultSet combineResultSets(ResultSet first, ResultSet second) {
    Function<ColumnType, String> columnTypeToString = new Function<ColumnType, String>() {

        public String apply(ColumnType input) {
            return input.getLabelName();
        }
    };
    List<String> firstColumns = Lists.transform(Lists.newArrayList(first.getColumnTypes()), columnTypeToString);
    List<String> secondColumns = Lists.transform(Lists.newArrayList(second.getColumnTypes()), columnTypeToString);
    if (!firstColumns.equals(secondColumns)) {
        throw new IllegalArgumentException(String.format("First result set columns [%s] do not match second columns [%s]", Joiner.on(",").join(firstColumns), Joiner.on(",").join(secondColumns)));
    }
    List<Row> combinedRows = Lists.newArrayList(first.getRows());
    if (second.getRows() != null) {
        combinedRows.addAll(Lists.newArrayList(second.getRows()));
    }
    ResultSet combinedResultSet = new ResultSet();
    combinedResultSet.getColumnTypes().addAll(first.getColumnTypes());
    combinedResultSet.getRows().addAll(combinedRows);
    return combinedResultSet;
}
Also used : Function(com.google.common.base.Function) ColumnType(com.google.api.ads.admanager.jaxws.v202202.ColumnType) ResultSet(com.google.api.ads.admanager.jaxws.v202202.ResultSet) Row(com.google.api.ads.admanager.jaxws.v202202.Row)

Example 7 with ColumnType

use of com.google.api.ads.admanager.axis.v202108.ColumnType in project googleads-java-lib by googleads.

the class PqlTest method setUp.

@Before
public void setUp() throws Exception {
    column1 = new ColumnType();
    column1.setLabelName("column1");
    column2 = new ColumnType();
    column2.setLabelName("column2");
    column3 = new ColumnType();
    column3.setLabelName("column3");
    textValue1 = new TextValue();
    textValue1.setValue("value1");
    textValue2 = new TextValue();
    textValue2.setValue("value2");
    textValue3 = new TextValue();
    textValue3.setValue("value3");
    textValue4 = new TextValue();
    textValue4.setValue("comma,separated");
    booleanValue1 = new BooleanValue();
    booleanValue1.setValue(false);
    booleanValue2 = new BooleanValue();
    booleanValue2.setValue(true);
    booleanValue3 = new BooleanValue();
    booleanValue3.setValue(false);
    numberValue1 = new NumberValue();
    numberValue1.setValue("1");
    numberValue2 = new NumberValue();
    numberValue2.setValue("1.02");
    numberValue3 = new NumberValue();
    numberValue3.setValue("-1");
    dateTime1 = new DateTime();
    date1 = new Date();
    date1.setYear(2012);
    date1.setMonth(12);
    date1.setDay(2);
    dateTime1.setDate(date1);
    dateTime1.setHour(12);
    dateTime1.setMinute(45);
    dateTime1.setSecond(0);
    dateTime1.setTimeZoneId(TIME_ZONE_ID1);
    dateTimeValue1 = new DateTimeValue();
    dateTimeValue1.setValue(dateTime1);
    dateValue1 = new DateValue();
    dateValue1.setValue(date1);
    AdUnitTargeting adUnitTargeting = new AdUnitTargeting();
    adUnitTargeting.setAdUnitId("100");
    InventoryTargeting inventoryTargeting = new InventoryTargeting();
    inventoryTargeting.getTargetedAdUnits().add(adUnitTargeting);
    targeting1 = new Targeting();
    targeting1.setInventoryTargeting(inventoryTargeting);
    targetingValue1 = new TargetingValue();
    targetingValue1.setValue(targeting1);
    numberSetValue = new SetValue();
    numberSetValue.getValues().add(numberValue1);
    numberSetValue.getValues().add(numberValue3);
    textSetValue = new SetValue();
    textSetValue.getValues().add(textValue1);
    textSetValue.getValues().add(textValue2);
    dateSetValue = new SetValue();
    dateSetValue.getValues().add(dateValue1);
    dateTimeSetValue = new SetValue();
    dateTimeSetValue.getValues().add(dateTimeValue1);
    mixedSetValue = new SetValue();
    mixedSetValue.getValues().add(textValue1);
    mixedSetValue.getValues().add(dateTimeValue1);
    commaTextSetValue = new SetValue();
    commaTextSetValue.getValues().add(textValue1);
    commaTextSetValue.getValues().add(textValue4);
}
Also used : ColumnType(com.google.api.ads.admanager.jaxws.v202108.ColumnType) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202108.AdUnitTargeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202108.InventoryTargeting) Targeting(com.google.api.ads.admanager.jaxws.v202108.Targeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202108.InventoryTargeting) DateTime(com.google.api.ads.admanager.jaxws.v202108.DateTime) Date(com.google.api.ads.admanager.jaxws.v202108.Date) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202108.AdUnitTargeting) NumberValue(com.google.api.ads.admanager.jaxws.v202108.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202108.TextValue) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202108.BooleanValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202108.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202108.SetValue) Before(org.junit.Before)

Example 8 with ColumnType

use of com.google.api.ads.admanager.axis.v202108.ColumnType in project googleads-java-lib by googleads.

the class PqlTest method testCombineResultSet.

@Test
public void testCombineResultSet() {
    Row row1 = new Row();
    row1.setValues(new Value[] { textValue1, booleanValue1, numberValue1 });
    Row row2 = new Row();
    row2.setValues(new Value[] { textValue2, booleanValue2, numberValue2 });
    Row row3 = new Row();
    row3.setValues(new Value[] { textValue3, booleanValue3, numberValue3 });
    ResultSet resultSet1 = new ResultSet();
    resultSet1.setColumnTypes(new ColumnType[] { column1, column2, column3 });
    resultSet1.setRows(new Row[] { row1, row2 });
    ResultSet resultSet2 = new ResultSet();
    resultSet2.setColumnTypes(new ColumnType[] { column1, column2, column3 });
    resultSet2.setRows(new Row[] { row3 });
    ResultSet combinedResultSet = Pql.combineResultSets(resultSet1, resultSet2);
    assertEquals(3, combinedResultSet.getRows().length);
    assertArrayEquals(new ColumnType[] { column1, column2, column3 }, combinedResultSet.getColumnTypes());
    assertArrayEquals(new Value[] { textValue1, booleanValue1, numberValue1 }, combinedResultSet.getRows()[0].getValues());
    assertArrayEquals(new Value[] { textValue2, booleanValue2, numberValue2 }, combinedResultSet.getRows()[1].getValues());
    assertArrayEquals(new Value[] { textValue3, booleanValue3, numberValue3 }, combinedResultSet.getRows()[2].getValues());
}
Also used : ResultSet(com.google.api.ads.admanager.axis.v202108.ResultSet) Row(com.google.api.ads.admanager.axis.v202108.Row) Test(org.junit.Test)

Example 9 with ColumnType

use of com.google.api.ads.admanager.axis.v202108.ColumnType in project googleads-java-lib by googleads.

the class PqlTest method testGetColumnLabels.

@Test
public void testGetColumnLabels() {
    ResultSet resultSet = new ResultSet();
    resultSet.setColumnTypes(new ColumnType[] { column1, column2, column3 });
    assertEquals(Lists.newArrayList(new String[] { "column1", "column2", "column3" }), Pql.getColumnLabels(resultSet));
}
Also used : ResultSet(com.google.api.ads.admanager.axis.v202108.ResultSet) Test(org.junit.Test)

Example 10 with ColumnType

use of com.google.api.ads.admanager.axis.v202108.ColumnType in project googleads-java-lib by googleads.

the class PqlTest method setUp.

@Before
public void setUp() throws Exception {
    column1 = new ColumnType();
    column1.setLabelName("column1");
    column2 = new ColumnType();
    column2.setLabelName("column2");
    column3 = new ColumnType();
    column3.setLabelName("column3");
    textValue1 = new TextValue();
    textValue1.setValue("value1");
    textValue2 = new TextValue();
    textValue2.setValue("value2");
    textValue3 = new TextValue();
    textValue3.setValue("value3");
    textValue4 = new TextValue();
    textValue4.setValue("comma,separated");
    booleanValue1 = new BooleanValue();
    booleanValue1.setValue(false);
    booleanValue2 = new BooleanValue();
    booleanValue2.setValue(true);
    booleanValue3 = new BooleanValue();
    booleanValue3.setValue(false);
    numberValue1 = new NumberValue();
    numberValue1.setValue("1");
    numberValue2 = new NumberValue();
    numberValue2.setValue("1.02");
    numberValue3 = new NumberValue();
    numberValue3.setValue("-1");
    dateTime1 = new DateTime();
    date1 = new Date();
    date1.setYear(2012);
    date1.setMonth(12);
    date1.setDay(2);
    dateTime1.setDate(date1);
    dateTime1.setHour(12);
    dateTime1.setMinute(45);
    dateTime1.setSecond(0);
    dateTime1.setTimeZoneId(TIME_ZONE_ID1);
    dateTimeValue1 = new DateTimeValue();
    dateTimeValue1.setValue(dateTime1);
    dateValue1 = new DateValue();
    dateValue1.setValue(date1);
    AdUnitTargeting adUnitTargeting = new AdUnitTargeting();
    adUnitTargeting.setAdUnitId("100");
    InventoryTargeting inventoryTargeting = new InventoryTargeting();
    inventoryTargeting.getTargetedAdUnits().add(adUnitTargeting);
    targeting1 = new Targeting();
    targeting1.setInventoryTargeting(inventoryTargeting);
    targetingValue1 = new TargetingValue();
    targetingValue1.setValue(targeting1);
    numberSetValue = new SetValue();
    numberSetValue.getValues().add(numberValue1);
    numberSetValue.getValues().add(numberValue3);
    textSetValue = new SetValue();
    textSetValue.getValues().add(textValue1);
    textSetValue.getValues().add(textValue2);
    dateSetValue = new SetValue();
    dateSetValue.getValues().add(dateValue1);
    dateTimeSetValue = new SetValue();
    dateTimeSetValue.getValues().add(dateTimeValue1);
    mixedSetValue = new SetValue();
    mixedSetValue.getValues().add(textValue1);
    mixedSetValue.getValues().add(dateTimeValue1);
    commaTextSetValue = new SetValue();
    commaTextSetValue.getValues().add(textValue1);
    commaTextSetValue.getValues().add(textValue4);
}
Also used : ColumnType(com.google.api.ads.admanager.jaxws.v202202.ColumnType) DateTimeValue(com.google.api.ads.admanager.jaxws.v202202.DateTimeValue) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202202.AdUnitTargeting) Targeting(com.google.api.ads.admanager.jaxws.v202202.Targeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202202.InventoryTargeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202202.InventoryTargeting) DateTime(com.google.api.ads.admanager.jaxws.v202202.DateTime) Date(com.google.api.ads.admanager.jaxws.v202202.Date) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202202.AdUnitTargeting) NumberValue(com.google.api.ads.admanager.jaxws.v202202.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202202.TextValue) DateValue(com.google.api.ads.admanager.jaxws.v202202.DateValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202202.BooleanValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202202.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202202.SetValue) Before(org.junit.Before)

Aggregations

Function (com.google.common.base.Function)8 Before (org.junit.Before)8 ResultSet (com.google.api.ads.admanager.axis.v202108.ResultSet)4 Row (com.google.api.ads.admanager.axis.v202108.Row)3 ColumnType (com.google.api.ads.admanager.axis.v202105.ColumnType)2 ColumnType (com.google.api.ads.admanager.axis.v202108.ColumnType)2 ColumnType (com.google.api.ads.admanager.axis.v202111.ColumnType)2 ColumnType (com.google.api.ads.admanager.axis.v202202.ColumnType)2 ColumnType (com.google.api.ads.admanager.jaxws.v202105.ColumnType)2 ColumnType (com.google.api.ads.admanager.jaxws.v202108.ColumnType)2 ColumnType (com.google.api.ads.admanager.jaxws.v202202.ColumnType)2 Test (org.junit.Test)2 AdUnitTargeting (com.google.api.ads.admanager.axis.v202105.AdUnitTargeting)1 BooleanValue (com.google.api.ads.admanager.axis.v202105.BooleanValue)1 Date (com.google.api.ads.admanager.axis.v202105.Date)1 DateTime (com.google.api.ads.admanager.axis.v202105.DateTime)1 DateTimeValue (com.google.api.ads.admanager.axis.v202105.DateTimeValue)1 DateValue (com.google.api.ads.admanager.axis.v202105.DateValue)1 InventoryTargeting (com.google.api.ads.admanager.axis.v202105.InventoryTargeting)1 NumberValue (com.google.api.ads.admanager.axis.v202105.NumberValue)1