Search in sources :

Example 66 with Value

use of com.spotify.ffwd.v1.Value 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(0);
    assertEquals("1", ((NumberValue) value1).getValue());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) BooleanValue(com.google.api.ads.admanager.axis.v202205.BooleanValue) NumberValue(com.google.api.ads.admanager.axis.v202205.NumberValue) DateTimeValue(com.google.api.ads.admanager.axis.v202205.DateTimeValue) TargetingValue(com.google.api.ads.admanager.axis.v202205.TargetingValue) DateValue(com.google.api.ads.admanager.axis.v202205.DateValue) SetValue(com.google.api.ads.admanager.axis.v202205.SetValue) TextValue(com.google.api.ads.admanager.axis.v202205.TextValue) Value(com.google.api.ads.admanager.axis.v202205.Value) SetValue(com.google.api.ads.admanager.axis.v202205.SetValue) Test(org.junit.Test)

Example 67 with Value

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

Example 68 with Value

use of com.spotify.ffwd.v1.Value 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}, {@link DateTimeValue} for type {@link DateTime}, and
 * {@link DateValue} for type {@link Date}. 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.setValues(values.toArray(new Value[] {}));
            return setValue;
        } else {
            throw new IllegalArgumentException("Unsupported Value type [" + value.getClass() + "]");
        }
    }
}
Also used : LinkedHashSet(java.util.LinkedHashSet) ResultSet(com.google.api.ads.admanager.axis.v202111.ResultSet) Set(java.util.Set) DateTimeValue(com.google.api.ads.admanager.axis.v202111.DateTimeValue) Targeting(com.google.api.ads.admanager.axis.v202111.Targeting) DateTime(com.google.api.ads.admanager.axis.v202111.DateTime) Date(com.google.api.ads.admanager.axis.v202111.Date) NumberValue(com.google.api.ads.admanager.axis.v202111.NumberValue) TextValue(com.google.api.ads.admanager.axis.v202111.TextValue) DateValue(com.google.api.ads.admanager.axis.v202111.DateValue) BooleanValue(com.google.api.ads.admanager.axis.v202111.BooleanValue) DateTimeValue(com.google.api.ads.admanager.axis.v202111.DateTimeValue) TextValue(com.google.api.ads.admanager.axis.v202111.TextValue) Value(com.google.api.ads.admanager.axis.v202111.Value) NumberValue(com.google.api.ads.admanager.axis.v202111.NumberValue) TargetingValue(com.google.api.ads.admanager.axis.v202111.TargetingValue) BooleanValue(com.google.api.ads.admanager.axis.v202111.BooleanValue) DateValue(com.google.api.ads.admanager.axis.v202111.DateValue) SetValue(com.google.api.ads.admanager.axis.v202111.SetValue) TargetingValue(com.google.api.ads.admanager.axis.v202111.TargetingValue) SetValue(com.google.api.ads.admanager.axis.v202111.SetValue)

Example 69 with Value

use of com.spotify.ffwd.v1.Value 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.v202111.DateTimeValue) NumberValue(com.google.api.ads.admanager.axis.v202111.NumberValue) TextValue(com.google.api.ads.admanager.axis.v202111.TextValue) DateValue(com.google.api.ads.admanager.axis.v202111.DateValue) BooleanValue(com.google.api.ads.admanager.axis.v202111.BooleanValue) DateTimeValue(com.google.api.ads.admanager.axis.v202111.DateTimeValue) TextValue(com.google.api.ads.admanager.axis.v202111.TextValue) Value(com.google.api.ads.admanager.axis.v202111.Value) NumberValue(com.google.api.ads.admanager.axis.v202111.NumberValue) TargetingValue(com.google.api.ads.admanager.axis.v202111.TargetingValue) BooleanValue(com.google.api.ads.admanager.axis.v202111.BooleanValue) DateValue(com.google.api.ads.admanager.axis.v202111.DateValue) SetValue(com.google.api.ads.admanager.axis.v202111.SetValue) ParseException(java.text.ParseException) TargetingValue(com.google.api.ads.admanager.axis.v202111.TargetingValue) SetValue(com.google.api.ads.admanager.axis.v202111.SetValue)

Example 70 with Value

use of com.spotify.ffwd.v1.Value 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(0);
    assertEquals("1", ((NumberValue) value1).getValue());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) DateValue(com.google.api.ads.admanager.axis.v202108.DateValue) TargetingValue(com.google.api.ads.admanager.axis.v202108.TargetingValue) DateTimeValue(com.google.api.ads.admanager.axis.v202108.DateTimeValue) BooleanValue(com.google.api.ads.admanager.axis.v202108.BooleanValue) TextValue(com.google.api.ads.admanager.axis.v202108.TextValue) Value(com.google.api.ads.admanager.axis.v202108.Value) SetValue(com.google.api.ads.admanager.axis.v202108.SetValue) NumberValue(com.google.api.ads.admanager.axis.v202108.NumberValue) SetValue(com.google.api.ads.admanager.axis.v202108.SetValue) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)126 Value (com.google.firestore.v1.Value)108 ArrayValue (com.google.firestore.v1.ArrayValue)73 LinkedHashSet (java.util.LinkedHashSet)71 ObjectValue (com.google.firebase.firestore.model.ObjectValue)53 NullValue (com.google.protobuf.NullValue)50 MapValue (com.google.firestore.v1.MapValue)47 ArrayList (java.util.ArrayList)30 HashMap (java.util.HashMap)24 Value (com.google.datastore.v1.Value)20 Map (java.util.Map)19 TableFieldSchema (com.google.api.services.bigquery.model.TableFieldSchema)17 List (java.util.List)17 Record (org.apache.avro.generic.GenericData.Record)16 SchemaAndRecord (org.apache.beam.sdk.io.gcp.bigquery.SchemaAndRecord)16 CoreMatchers.notNullValue (org.hamcrest.CoreMatchers.notNullValue)16 Set (java.util.Set)14 TestUtil.wrapObject (com.google.firebase.firestore.testutil.TestUtil.wrapObject)13 Nullable (androidx.annotation.Nullable)10 Value (com.google.privacy.dlp.v2.Value)9