Search in sources :

Example 61 with SetValue

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

the class Pql method createValue.

/**
 * Creates a {@link Value} from the value i.e. a {@link TextValue} for a value of type {@code
 * String}, {@link BooleanValue} for type {@code Boolean}, {@link NumberValue} for type {@code
 * Double}, {@code Long}, or {@code Integer}, and {@link DateTimeValue} for type {@link DateTime}.
 * If the value is a {@code Value}, the value is returned. If the value is {@code null}, an empty
 * {@link TextValue} is returned.
 *
 * @param value the value to convert
 * @return the constructed value of the appropriate type
 * @throws IllegalArgumentException if value cannot be converted
 */
public static Value createValue(Object value) {
    if (value instanceof Value) {
        return (Value) value;
    } else if (value == null) {
        return new TextValue();
    } else {
        if (value instanceof Boolean) {
            BooleanValue booleanValue = new BooleanValue();
            booleanValue.setValue((Boolean) value);
            return booleanValue;
        } else if (value instanceof Double || value instanceof Long || value instanceof Integer) {
            NumberValue numberValue = new NumberValue();
            numberValue.setValue(value.toString());
            return numberValue;
        } else if (value instanceof String) {
            TextValue textValue = new TextValue();
            textValue.setValue((String) value);
            return textValue;
        } else if (value instanceof DateTime) {
            DateTimeValue dateTimeValue = new DateTimeValue();
            dateTimeValue.setValue((DateTime) value);
            return dateTimeValue;
        } else if (value instanceof Date) {
            DateValue dateValue = new DateValue();
            dateValue.setValue((Date) value);
            return dateValue;
        } else if (value instanceof Targeting) {
            TargetingValue targetingValue = new TargetingValue();
            targetingValue.setValue((Targeting) value);
            return targetingValue;
        } else if (value instanceof Set<?>) {
            SetValue setValue = new SetValue();
            Set<Value> values = new LinkedHashSet<Value>();
            for (Object entry : (Set<?>) value) {
                validateSetValueEntryForSet(createValue(entry), values);
                values.add(createValue(entry));
            }
            setValue.getValues().addAll(values);
            return setValue;
        } else {
            throw new IllegalArgumentException("Unsupported Value type [" + value.getClass() + "]");
        }
    }
}
Also used : Set(java.util.Set) ResultSet(com.google.api.ads.admanager.jaxws.v202202.ResultSet) LinkedHashSet(java.util.LinkedHashSet) DateTimeValue(com.google.api.ads.admanager.jaxws.v202202.DateTimeValue) Targeting(com.google.api.ads.admanager.jaxws.v202202.Targeting) DateTime(com.google.api.ads.admanager.jaxws.v202202.DateTime) Date(com.google.api.ads.admanager.jaxws.v202202.Date) 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) SetValue(com.google.api.ads.admanager.jaxws.v202202.SetValue) DateValue(com.google.api.ads.admanager.jaxws.v202202.DateValue) TextValue(com.google.api.ads.admanager.jaxws.v202202.TextValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202202.BooleanValue) DateTimeValue(com.google.api.ads.admanager.jaxws.v202202.DateTimeValue) NumberValue(com.google.api.ads.admanager.jaxws.v202202.NumberValue) Value(com.google.api.ads.admanager.jaxws.v202202.Value) TargetingValue(com.google.api.ads.admanager.jaxws.v202202.TargetingValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202202.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202202.SetValue)

Example 62 with SetValue

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

the class PqlTest method testCreateValue_commaTextSet.

@Test
public void testCreateValue_commaTextSet() {
    Set<String> textSet = new LinkedHashSet<String>();
    textSet.add("value1");
    textSet.add("comma \",\" separated");
    Value value1 = ((SetValue) Pql.createValue(textSet)).getValues(0);
    Value value2 = ((SetValue) Pql.createValue(textSet)).getValues(1);
    assertEquals("value1", ((TextValue) value1).getValue());
    assertEquals("comma \",\" separated", ((TextValue) value2).getValue());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) BooleanValue(com.google.api.ads.admanager.axis.v202202.BooleanValue) NumberValue(com.google.api.ads.admanager.axis.v202202.NumberValue) TargetingValue(com.google.api.ads.admanager.axis.v202202.TargetingValue) Value(com.google.api.ads.admanager.axis.v202202.Value) DateValue(com.google.api.ads.admanager.axis.v202202.DateValue) SetValue(com.google.api.ads.admanager.axis.v202202.SetValue) DateTimeValue(com.google.api.ads.admanager.axis.v202202.DateTimeValue) TextValue(com.google.api.ads.admanager.axis.v202202.TextValue) SetValue(com.google.api.ads.admanager.axis.v202202.SetValue) Test(org.junit.Test)

Example 63 with SetValue

use of com.google.api.ads.admanager.axis.v202202.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(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.axis.v202202.DateTimeValue) BooleanValue(com.google.api.ads.admanager.axis.v202202.BooleanValue) NumberValue(com.google.api.ads.admanager.axis.v202202.NumberValue) TargetingValue(com.google.api.ads.admanager.axis.v202202.TargetingValue) Value(com.google.api.ads.admanager.axis.v202202.Value) DateValue(com.google.api.ads.admanager.axis.v202202.DateValue) SetValue(com.google.api.ads.admanager.axis.v202202.SetValue) DateTimeValue(com.google.api.ads.admanager.axis.v202202.DateTimeValue) TextValue(com.google.api.ads.admanager.axis.v202202.TextValue) SetValue(com.google.api.ads.admanager.axis.v202202.SetValue) DateTime(com.google.api.ads.admanager.axis.v202202.DateTime) Test(org.junit.Test)

Example 64 with SetValue

use of com.google.api.ads.admanager.axis.v202202.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(0);
    assertEquals("2012-12-02", DateTimes.toString(((DateValue) value1).getValue()));
}
Also used : LinkedHashSet(java.util.LinkedHashSet) DateValue(com.google.api.ads.admanager.axis.v202202.DateValue) BooleanValue(com.google.api.ads.admanager.axis.v202202.BooleanValue) NumberValue(com.google.api.ads.admanager.axis.v202202.NumberValue) TargetingValue(com.google.api.ads.admanager.axis.v202202.TargetingValue) Value(com.google.api.ads.admanager.axis.v202202.Value) DateValue(com.google.api.ads.admanager.axis.v202202.DateValue) SetValue(com.google.api.ads.admanager.axis.v202202.SetValue) DateTimeValue(com.google.api.ads.admanager.axis.v202202.DateTimeValue) TextValue(com.google.api.ads.admanager.axis.v202202.TextValue) SetValue(com.google.api.ads.admanager.axis.v202202.SetValue) Date(com.google.api.ads.admanager.axis.v202202.Date) Test(org.junit.Test)

Aggregations

LinkedHashSet (java.util.LinkedHashSet)56 Test (org.junit.Test)40 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 BooleanValue (com.google.api.ads.admanager.jaxws.v202202.BooleanValue)6