use of com.google.api.ads.admanager.axis.v202111.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));
}
use of com.google.api.ads.admanager.axis.v202111.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");
numberValue4 = new NumberValue();
numberValue4.setValue("");
numberValue5 = new NumberValue();
numberValue5.setValue(null);
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.setTargetedAdUnits(new AdUnitTargeting[] { adUnitTargeting });
targeting1 = new Targeting();
targeting1.setInventoryTargeting(inventoryTargeting);
targetingValue1 = new TargetingValue();
targetingValue1.setValue(targeting1);
numberSetValue = new SetValue();
numberSetValue.setValues(new Value[] { numberValue1, numberValue3 });
textSetValue = new SetValue();
textSetValue.setValues(new Value[] { textValue1, textValue2 });
dateSetValue = new SetValue();
dateSetValue.setValues(new Value[] { dateValue1 });
dateTimeSetValue = new SetValue();
dateTimeSetValue.setValues(new Value[] { dateTimeValue1 });
mixedSetValue = new SetValue();
mixedSetValue.setValues(new Value[] { textValue1, dateTimeValue1 });
commaTextSetValue = new SetValue();
commaTextSetValue.setValues(new Value[] { textValue1, textValue4 });
}
use of com.google.api.ads.admanager.axis.v202111.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>() {
@Override
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) {
Collections.addAll(combinedRows, second.getRows());
}
ResultSet combinedResultSet = new ResultSet();
combinedResultSet.setColumnTypes(first.getColumnTypes());
combinedResultSet.setRows(combinedRows.toArray(new Row[] {}));
return combinedResultSet;
}
use of com.google.api.ads.admanager.axis.v202111.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>() {
@Override
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) {
Collections.addAll(combinedRows, second.getRows());
}
ResultSet combinedResultSet = new ResultSet();
combinedResultSet.setColumnTypes(first.getColumnTypes());
combinedResultSet.setRows(combinedRows.toArray(new Row[] {}));
return combinedResultSet;
}
Aggregations