Search in sources :

Example 21 with DateTime

use of com.google.api.ads.admanager.axis.v202111.DateTime 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 });
}
Also used : ColumnType(com.google.api.ads.admanager.axis.v202108.ColumnType) DateTimeValue(com.google.api.ads.admanager.axis.v202108.DateTimeValue) Targeting(com.google.api.ads.admanager.axis.v202108.Targeting) AdUnitTargeting(com.google.api.ads.admanager.axis.v202108.AdUnitTargeting) InventoryTargeting(com.google.api.ads.admanager.axis.v202108.InventoryTargeting) InventoryTargeting(com.google.api.ads.admanager.axis.v202108.InventoryTargeting) DateTime(com.google.api.ads.admanager.axis.v202108.DateTime) Date(com.google.api.ads.admanager.axis.v202108.Date) AdUnitTargeting(com.google.api.ads.admanager.axis.v202108.AdUnitTargeting) NumberValue(com.google.api.ads.admanager.axis.v202108.NumberValue) TextValue(com.google.api.ads.admanager.axis.v202108.TextValue) DateValue(com.google.api.ads.admanager.axis.v202108.DateValue) BooleanValue(com.google.api.ads.admanager.axis.v202108.BooleanValue) TargetingValue(com.google.api.ads.admanager.axis.v202108.TargetingValue) SetValue(com.google.api.ads.admanager.axis.v202108.SetValue) Before(org.junit.Before)

Example 22 with DateTime

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

Example 23 with DateTime

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

the class GetRecentChanges method runExample.

/**
 * Runs the example.
 *
 * @param adManagerServices the services factory.
 * @param session the session.
 * @param filePath file path where changes will be saved.
 * @throws ApiException if the API request failed with one or more service errors.
 * @throws RemoteException if the API request failed due to other errors.
 * @throws IOException if unable to write the response to a file.
 */
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session, String filePath) throws IOException {
    PublisherQueryLanguageServiceInterface pqlService = adManagerServices.get(session, PublisherQueryLanguageServiceInterface.class);
    // Create statement to select recent changes. Change_History only supports ordering by
    // descending ChangeDateTime. Offset is not supported. To page, use the change ID of
    // the earliest change as a pagination token. A date time range is required
    // when querying this table.
    DateTime endDateTime = DateTime.now();
    DateTime startDateTime = endDateTime.minusDays(1);
    StatementBuilder statementBuilder = new StatementBuilder().select("Id, ChangeDateTime, EntityId, EntityType, Operation, UserId").from("Change_History").where("ChangeDateTime < :endDateTime AND ChangeDateTime > :startDateTime").orderBy("ChangeDateTime DESC").withBindVariableValue("startDateTime", DateTimes.toDateTime(startDateTime)).withBindVariableValue("endDateTime", DateTimes.toDateTime(endDateTime)).limit(StatementBuilder.SUGGESTED_PAGE_LIMIT);
    // Retrieve a small amount of changes at a time, paging through
    // until all changes have been retrieved.
    ResultSet combinedResultSet = null;
    ResultSet resultSet;
    int i = 0;
    do {
        resultSet = pqlService.select(statementBuilder.toStatement());
        // Combine result sets with previous ones.
        combinedResultSet = combinedResultSet == null ? resultSet : Pql.combineResultSets(combinedResultSet, resultSet);
        if (resultSet.getRows() != null && resultSet.getRows().length > 0) {
            // Get the earliest change ID in the result set.
            int numRows = resultSet.getRows().length;
            Row lastRow = resultSet.getRows(numRows - 1);
            String id = (String) Pql.getNativeValue(lastRow.getValues(0));
            System.out.printf("%d) %d changes prior to ID %s were found.%n", i++, numRows, id);
            // Use the earliest change ID in the result set to page.
            statementBuilder.where("Id < :id AND ChangeDateTime < :endDateTime AND ChangeDateTime > :startDateTime").withBindVariableValue("id", id);
        }
    } while (resultSet.getRows() != null && resultSet.getRows().length > 0);
    // Write the result set to a CSV.
    CsvFiles.writeCsv(Pql.resultSetToStringArrayList(combinedResultSet), filePath);
    System.out.printf("Recent changes saved to: %s%n", filePath);
}
Also used : PublisherQueryLanguageServiceInterface(com.google.api.ads.admanager.axis.v202111.PublisherQueryLanguageServiceInterface) StatementBuilder(com.google.api.ads.admanager.axis.utils.v202111.StatementBuilder) ResultSet(com.google.api.ads.admanager.axis.v202111.ResultSet) Row(com.google.api.ads.admanager.axis.v202111.Row) DateTime(org.joda.time.DateTime)

Example 24 with DateTime

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

the class GetMcmEarnings method runExample.

/**
 * Runs the example.
 *
 * @param adManagerServices the services factory.
 * @param session the session.
 * @throws ApiException if the API request failed with one or more service errors.
 * @throws RemoteException if the API request failed due to other errors.
 */
public static void runExample(AdManagerServices adManagerServices, AdManagerSession session) throws IOException {
    // Get the PublisherQueryLanguageService.
    PublisherQueryLanguageServiceInterface pqlService = adManagerServices.get(session, PublisherQueryLanguageServiceInterface.class);
    DateTime lastMonth = DateTime.now().minusMonths(1).withDayOfMonth(1);
    // Create statement to select earnings data from the prior month.
    StatementBuilder statementBuilder = new StatementBuilder().select("Month, ChildName, ChildNetworkCode, TotalEarningsCurrencyCode," + " TotalEarningsMicros, ParentPaymentCurrencyCode, ParentPaymentMicros," + " ChildPaymentCurrencyCode, ChildPaymentMicros, DeductionsMicros").from("mcm_earnings").where("Month = :month").orderBy("ChildNetworkCode").limit(StatementBuilder.SUGGESTED_PAGE_LIMIT).withBindVariableValue("month", DateTimes.toDateTime(lastMonth).getDate());
    // Default for result sets.
    ResultSet combinedResultSet = null;
    ResultSet resultSet;
    int i = 0;
    do {
        // Get all earnings information.
        resultSet = pqlService.select(statementBuilder.toStatement());
        // Combine result sets with previous ones.
        combinedResultSet = combinedResultSet == null ? resultSet : Pql.combineResultSets(combinedResultSet, resultSet);
        System.out.printf("%d) %d rows beginning at offset %d were found.%n", i++, resultSet.getRows() == null ? 0 : resultSet.getRows().length, statementBuilder.getOffset());
        statementBuilder.increaseOffsetBy(StatementBuilder.SUGGESTED_PAGE_LIMIT);
    } while (resultSet.getRows() != null && resultSet.getRows().length > 0);
    // Change to your file location.
    String filePath = File.createTempFile("EarningsReport-", ".csv").toString();
    // Write the result set to a CSV.
    CsvFiles.writeCsv(Pql.resultSetToStringArrayList(combinedResultSet), filePath);
    System.out.printf("Earnings information saved to: %s%n", filePath);
}
Also used : PublisherQueryLanguageServiceInterface(com.google.api.ads.admanager.axis.v202111.PublisherQueryLanguageServiceInterface) StatementBuilder(com.google.api.ads.admanager.axis.utils.v202111.StatementBuilder) ResultSet(com.google.api.ads.admanager.axis.v202111.ResultSet) DateTime(org.joda.time.DateTime)

Example 25 with DateTime

use of com.google.api.ads.admanager.axis.v202111.DateTime 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 : ResultSet(com.google.api.ads.admanager.axis.v202108.ResultSet) LinkedHashSet(java.util.LinkedHashSet) Set(java.util.Set) DateTimeValue(com.google.api.ads.admanager.axis.v202108.DateTimeValue) Targeting(com.google.api.ads.admanager.axis.v202108.Targeting) DateTime(com.google.api.ads.admanager.axis.v202108.DateTime) Date(com.google.api.ads.admanager.axis.v202108.Date) NumberValue(com.google.api.ads.admanager.axis.v202108.NumberValue) TextValue(com.google.api.ads.admanager.axis.v202108.TextValue) DateValue(com.google.api.ads.admanager.axis.v202108.DateValue) BooleanValue(com.google.api.ads.admanager.axis.v202108.BooleanValue) 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) TargetingValue(com.google.api.ads.admanager.axis.v202108.TargetingValue) SetValue(com.google.api.ads.admanager.axis.v202108.SetValue)

Aggregations

LinkedHashSet (java.util.LinkedHashSet)17 Set (java.util.Set)8 Before (org.junit.Before)8 Test (org.junit.Test)8 BooleanValue (com.google.api.ads.admanager.axis.v202105.BooleanValue)3 DateTime (com.google.api.ads.admanager.axis.v202105.DateTime)3 DateTimeValue (com.google.api.ads.admanager.axis.v202105.DateTimeValue)3 DateValue (com.google.api.ads.admanager.axis.v202105.DateValue)3 NumberValue (com.google.api.ads.admanager.axis.v202105.NumberValue)3 SetValue (com.google.api.ads.admanager.axis.v202105.SetValue)3 TargetingValue (com.google.api.ads.admanager.axis.v202105.TargetingValue)3 TextValue (com.google.api.ads.admanager.axis.v202105.TextValue)3 BooleanValue (com.google.api.ads.admanager.axis.v202108.BooleanValue)3 DateTime (com.google.api.ads.admanager.axis.v202108.DateTime)3 DateTimeValue (com.google.api.ads.admanager.axis.v202108.DateTimeValue)3 BooleanValue (com.google.api.ads.admanager.axis.v202111.BooleanValue)3 DateTimeValue (com.google.api.ads.admanager.axis.v202111.DateTimeValue)3 DateValue (com.google.api.ads.admanager.axis.v202111.DateValue)3 NumberValue (com.google.api.ads.admanager.axis.v202111.NumberValue)3 SetValue (com.google.api.ads.admanager.axis.v202111.SetValue)3