Search in sources :

Example 41 with SetValue

use of com.google.api.ads.admanager.jaxws.v202205.SetValue in project googleads-java-lib by googleads.

the class Pql method getApiValue.

/**
 * Gets the underlying value of the {@code Value} object that's comparable to what would be
 * returned in any other API object (i.e. DateTimeValue will return an API DateTime, not a Joda
 * DateTime).
 *
 * @param value the value to convert
 * @return the native value of {@code Value} or {@code null} if the underlying value is null
 * @throws IllegalArgumentException if value cannot be converted
 */
public static Object getApiValue(Value value) {
    if (value instanceof BooleanValue) {
        return ((BooleanValue) value).getValue();
    } else if (value instanceof NumberValue) {
        if (Strings.isNullOrEmpty(((NumberValue) value).getValue())) {
            return null;
        } else {
            try {
                return NumberFormat.getInstance().parse(((NumberValue) value).getValue());
            } catch (ParseException e) {
                throw new IllegalStateException("Received invalid number format from API: " + ((NumberValue) value).getValue());
            }
        }
    } else if (value instanceof TextValue) {
        return ((TextValue) value).getValue();
    } else if (value instanceof DateTimeValue) {
        return ((DateTimeValue) value).getValue();
    } else if (value instanceof DateValue) {
        return ((DateValue) value).getValue();
    } else if (value instanceof TargetingValue) {
        return ((TargetingValue) value).getValue();
    } else if (value instanceof SetValue) {
        Value[] setValues = ((SetValue) value).getValues();
        Set<Object> apiValue = new LinkedHashSet<Object>();
        if (setValues != null) {
            for (Value setValue : setValues) {
                validateSetValueEntryForSet(getApiValue(setValue), apiValue);
                apiValue.add(getApiValue(setValue));
            }
        }
        return apiValue;
    } else {
        throw new IllegalArgumentException("Unsupported Value type [" + value.getClass() + "]");
    }
}
Also used : LinkedHashSet(java.util.LinkedHashSet) DateTimeValue(com.google.api.ads.admanager.axis.v202105.DateTimeValue) NumberValue(com.google.api.ads.admanager.axis.v202105.NumberValue) TextValue(com.google.api.ads.admanager.axis.v202105.TextValue) DateValue(com.google.api.ads.admanager.axis.v202105.DateValue) BooleanValue(com.google.api.ads.admanager.axis.v202105.BooleanValue) TextValue(com.google.api.ads.admanager.axis.v202105.TextValue) BooleanValue(com.google.api.ads.admanager.axis.v202105.BooleanValue) DateTimeValue(com.google.api.ads.admanager.axis.v202105.DateTimeValue) Value(com.google.api.ads.admanager.axis.v202105.Value) DateValue(com.google.api.ads.admanager.axis.v202105.DateValue) TargetingValue(com.google.api.ads.admanager.axis.v202105.TargetingValue) NumberValue(com.google.api.ads.admanager.axis.v202105.NumberValue) SetValue(com.google.api.ads.admanager.axis.v202105.SetValue) ParseException(java.text.ParseException) TargetingValue(com.google.api.ads.admanager.axis.v202105.TargetingValue) SetValue(com.google.api.ads.admanager.axis.v202105.SetValue)

Example 42 with SetValue

use of com.google.api.ads.admanager.jaxws.v202205.SetValue in project googleads-java-lib by googleads.

the class PqlTest method testCreateValue_numberSet.

@Test
public void testCreateValue_numberSet() {
    Set<Long> numberSet = new LinkedHashSet<Long>();
    numberSet.add(1L);
    Value value1 = ((SetValue) Pql.createValue(numberSet)).getValues().get(0);
    assertEquals("1", ((NumberValue) value1).getValue());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) NumberValue(com.google.api.ads.admanager.jaxws.v202108.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202108.TextValue) SetValue(com.google.api.ads.admanager.jaxws.v202108.SetValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202108.BooleanValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202108.TargetingValue) Value(com.google.api.ads.admanager.jaxws.v202108.Value) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) Test(org.junit.Test)

Example 43 with SetValue

use of com.google.api.ads.admanager.jaxws.v202205.SetValue in project googleads-java-lib by googleads.

the class PqlTest method testCreateValue_dateTimeSet.

@Test
public void testCreateValue_dateTimeSet() {
    Set<DateTime> dateTimeSet = new LinkedHashSet<DateTime>();
    dateTimeSet.add(dateTime1);
    Value value1 = ((SetValue) Pql.createValue(dateTimeSet)).getValues().get(0);
    assertEquals("2012-12-02T12:45:00+08:00", DateTimes.toStringWithTimeZone(((DateTimeValue) value1).getValue()));
}
Also used : LinkedHashSet(java.util.LinkedHashSet) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) NumberValue(com.google.api.ads.admanager.jaxws.v202108.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202108.TextValue) SetValue(com.google.api.ads.admanager.jaxws.v202108.SetValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202108.BooleanValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202108.TargetingValue) Value(com.google.api.ads.admanager.jaxws.v202108.Value) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) DateTime(com.google.api.ads.admanager.jaxws.v202108.DateTime) Test(org.junit.Test)

Example 44 with SetValue

use of com.google.api.ads.admanager.jaxws.v202205.SetValue in project googleads-java-lib by googleads.

the class PqlTest method testCreateValue_dateSet.

@Test
public void testCreateValue_dateSet() {
    Set<Date> numberSet = new LinkedHashSet<Date>();
    numberSet.add(date1);
    Value value1 = ((SetValue) Pql.createValue(numberSet)).getValues().get(0);
    assertEquals("2012-12-02", DateTimes.toString(((DateValue) value1).getValue()));
}
Also used : LinkedHashSet(java.util.LinkedHashSet) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) DateTimeValue(com.google.api.ads.admanager.jaxws.v202108.DateTimeValue) NumberValue(com.google.api.ads.admanager.jaxws.v202108.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202108.TextValue) SetValue(com.google.api.ads.admanager.jaxws.v202108.SetValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202108.BooleanValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202108.TargetingValue) Value(com.google.api.ads.admanager.jaxws.v202108.Value) DateValue(com.google.api.ads.admanager.jaxws.v202108.DateValue) Date(com.google.api.ads.admanager.jaxws.v202108.Date) Test(org.junit.Test)

Example 45 with SetValue

use of com.google.api.ads.admanager.jaxws.v202205.SetValue 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.v202111.ColumnType) DateTimeValue(com.google.api.ads.admanager.jaxws.v202111.DateTimeValue) Targeting(com.google.api.ads.admanager.jaxws.v202111.Targeting) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202111.AdUnitTargeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202111.InventoryTargeting) InventoryTargeting(com.google.api.ads.admanager.jaxws.v202111.InventoryTargeting) DateTime(com.google.api.ads.admanager.jaxws.v202111.DateTime) Date(com.google.api.ads.admanager.jaxws.v202111.Date) AdUnitTargeting(com.google.api.ads.admanager.jaxws.v202111.AdUnitTargeting) NumberValue(com.google.api.ads.admanager.jaxws.v202111.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202111.TextValue) DateValue(com.google.api.ads.admanager.jaxws.v202111.DateValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202111.BooleanValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202111.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202111.SetValue) Before(org.junit.Before)

Aggregations

LinkedHashSet (java.util.LinkedHashSet)70 Test (org.junit.Test)50 Set (java.util.Set)10 BooleanValue (com.google.api.ads.admanager.axis.v202105.BooleanValue)8 DateTimeValue (com.google.api.ads.admanager.axis.v202105.DateTimeValue)8 DateValue (com.google.api.ads.admanager.axis.v202105.DateValue)8 NumberValue (com.google.api.ads.admanager.axis.v202105.NumberValue)8 SetValue (com.google.api.ads.admanager.axis.v202105.SetValue)8 TargetingValue (com.google.api.ads.admanager.axis.v202105.TargetingValue)8 TextValue (com.google.api.ads.admanager.axis.v202105.TextValue)8 BooleanValue (com.google.api.ads.admanager.axis.v202111.BooleanValue)8 DateTimeValue (com.google.api.ads.admanager.axis.v202111.DateTimeValue)8 DateValue (com.google.api.ads.admanager.axis.v202111.DateValue)8 BooleanValue (com.google.api.ads.admanager.axis.v202108.BooleanValue)6 DateTimeValue (com.google.api.ads.admanager.axis.v202108.DateTimeValue)6 DateValue (com.google.api.ads.admanager.axis.v202108.DateValue)6 NumberValue (com.google.api.ads.admanager.axis.v202108.NumberValue)6 SetValue (com.google.api.ads.admanager.axis.v202108.SetValue)6 TargetingValue (com.google.api.ads.admanager.axis.v202108.TargetingValue)6 TextValue (com.google.api.ads.admanager.axis.v202108.TextValue)6