Search in sources :

Example 6 with Value

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

the class CreateActivityGroups method main.

public static void main(String[] args) {
    AdManagerSession session;
    try {
        // Generate a refreshable OAuth2 credential.
        Credential oAuth2Credential = new OfflineCredentials.Builder().forApi(Api.AD_MANAGER).fromFile().build().generateCredential();
        // Construct a AdManagerSession.
        session = new AdManagerSession.Builder().fromFile().withOAuth2Credential(oAuth2Credential).build();
    } catch (ConfigurationLoadException cle) {
        System.err.printf("Failed to load configuration from the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, cle);
        return;
    } catch (ValidationException ve) {
        System.err.printf("Invalid configuration in the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, ve);
        return;
    } catch (OAuthException oe) {
        System.err.printf("Failed to create OAuth credentials. Check OAuth settings in the %s file. " + "Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, oe);
        return;
    }
    AdManagerServices adManagerServices = new AdManagerServices();
    CreateActivityGroupsParams params = new CreateActivityGroupsParams();
    if (!params.parseArguments(args)) {
        // Either pass the required parameters for this example on the command line, or insert them
        // into the code here. See the parameter class definition above for descriptions.
        params.advertiserCompanyId = Long.parseLong("INSERT_ADVERTISER_COMPANY_ID_HERE");
    }
    try {
        runExample(adManagerServices, session, params.advertiserCompanyId);
    } catch (ApiException apiException) {
        // ApiException is the base class for most exceptions thrown by an API request. Instances
        // of this exception have a message and a collection of ApiErrors that indicate the
        // type and underlying cause of the exception. Every exception object in the admanager.axis
        // packages will return a meaningful value from toString
        // 
        // ApiException extends RemoteException, so this catch block must appear before the
        // catch block for RemoteException.
        System.err.println("Request failed due to ApiException. Underlying ApiErrors:");
        if (apiException.getErrors() != null) {
            int i = 0;
            for (ApiError apiError : apiException.getErrors()) {
                System.err.printf("  Error %d: %s%n", i++, apiError);
            }
        }
    } catch (RemoteException re) {
        System.err.printf("Request failed unexpectedly due to RemoteException: %s%n", re);
    }
}
Also used : Credential(com.google.api.client.auth.oauth2.Credential) ValidationException(com.google.api.ads.common.lib.exception.ValidationException) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) ApiError(com.google.api.ads.admanager.axis.v202202.ApiError) RemoteException(java.rmi.RemoteException) AdManagerSession(com.google.api.ads.admanager.lib.client.AdManagerSession) AdManagerServices(com.google.api.ads.admanager.axis.factory.AdManagerServices) ApiException(com.google.api.ads.admanager.axis.v202202.ApiException)

Example 7 with Value

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

the class CreateActivities method main.

public static void main(String[] args) {
    AdManagerSession session;
    try {
        // Generate a refreshable OAuth2 credential.
        Credential oAuth2Credential = new OfflineCredentials.Builder().forApi(Api.AD_MANAGER).fromFile().build().generateCredential();
        // Construct a AdManagerSession.
        session = new AdManagerSession.Builder().fromFile().withOAuth2Credential(oAuth2Credential).build();
    } catch (ConfigurationLoadException cle) {
        System.err.printf("Failed to load configuration from the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, cle);
        return;
    } catch (ValidationException ve) {
        System.err.printf("Invalid configuration in the %s file. Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, ve);
        return;
    } catch (OAuthException oe) {
        System.err.printf("Failed to create OAuth credentials. Check OAuth settings in the %s file. " + "Exception: %s%n", DEFAULT_CONFIGURATION_FILENAME, oe);
        return;
    }
    AdManagerServices adManagerServices = new AdManagerServices();
    CreateActivitiesParams params = new CreateActivitiesParams();
    if (!params.parseArguments(args)) {
        // Either pass the required parameters for this example on the command line, or insert them
        // into the code here. See the parameter class definition above for descriptions.
        params.activityGroupId = Long.valueOf("INSERT_ACTIVITY_GROUP_ID_HERE");
    }
    try {
        runExample(adManagerServices, session, params.activityGroupId);
    } catch (ApiException apiException) {
        // ApiException is the base class for most exceptions thrown by an API request. Instances
        // of this exception have a message and a collection of ApiErrors that indicate the
        // type and underlying cause of the exception. Every exception object in the admanager.axis
        // packages will return a meaningful value from toString
        // 
        // ApiException extends RemoteException, so this catch block must appear before the
        // catch block for RemoteException.
        System.err.println("Request failed due to ApiException. Underlying ApiErrors:");
        if (apiException.getErrors() != null) {
            int i = 0;
            for (ApiError apiError : apiException.getErrors()) {
                System.err.printf("  Error %d: %s%n", i++, apiError);
            }
        }
    } catch (RemoteException re) {
        System.err.printf("Request failed unexpectedly due to RemoteException: %s%n", re);
    }
}
Also used : Credential(com.google.api.client.auth.oauth2.Credential) ValidationException(com.google.api.ads.common.lib.exception.ValidationException) ConfigurationLoadException(com.google.api.ads.common.lib.conf.ConfigurationLoadException) OAuthException(com.google.api.ads.common.lib.exception.OAuthException) ApiError(com.google.api.ads.admanager.axis.v202202.ApiError) RemoteException(java.rmi.RemoteException) AdManagerSession(com.google.api.ads.admanager.lib.client.AdManagerSession) AdManagerServices(com.google.api.ads.admanager.axis.factory.AdManagerServices) ApiException(com.google.api.ads.admanager.axis.v202202.ApiException)

Example 8 with Value

use of com.google.api.ads.admanager.axis.v202202.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).isValue();
    } else if (value instanceof NumberValue) {
        if (((NumberValue) value).getValue() == null) {
            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) {
        List<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.jaxws.v202105.DateTimeValue) NumberValue(com.google.api.ads.admanager.jaxws.v202105.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202105.TextValue) DateValue(com.google.api.ads.admanager.jaxws.v202105.DateValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202105.BooleanValue) NumberValue(com.google.api.ads.admanager.jaxws.v202105.NumberValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202105.BooleanValue) Value(com.google.api.ads.admanager.jaxws.v202105.Value) SetValue(com.google.api.ads.admanager.jaxws.v202105.SetValue) DateTimeValue(com.google.api.ads.admanager.jaxws.v202105.DateTimeValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202105.TargetingValue) DateValue(com.google.api.ads.admanager.jaxws.v202105.DateValue) TextValue(com.google.api.ads.admanager.jaxws.v202105.TextValue) ParseException(java.text.ParseException) TargetingValue(com.google.api.ads.admanager.jaxws.v202105.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202105.SetValue)

Example 9 with Value

use of com.google.api.ads.admanager.axis.v202202.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}, 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.v202105.ResultSet) LinkedHashSet(java.util.LinkedHashSet) DateTimeValue(com.google.api.ads.admanager.jaxws.v202105.DateTimeValue) Targeting(com.google.api.ads.admanager.jaxws.v202105.Targeting) DateTime(com.google.api.ads.admanager.jaxws.v202105.DateTime) Date(com.google.api.ads.admanager.jaxws.v202105.Date) NumberValue(com.google.api.ads.admanager.jaxws.v202105.NumberValue) TextValue(com.google.api.ads.admanager.jaxws.v202105.TextValue) DateValue(com.google.api.ads.admanager.jaxws.v202105.DateValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202105.BooleanValue) NumberValue(com.google.api.ads.admanager.jaxws.v202105.NumberValue) BooleanValue(com.google.api.ads.admanager.jaxws.v202105.BooleanValue) Value(com.google.api.ads.admanager.jaxws.v202105.Value) SetValue(com.google.api.ads.admanager.jaxws.v202105.SetValue) DateTimeValue(com.google.api.ads.admanager.jaxws.v202105.DateTimeValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202105.TargetingValue) DateValue(com.google.api.ads.admanager.jaxws.v202105.DateValue) TextValue(com.google.api.ads.admanager.jaxws.v202105.TextValue) TargetingValue(com.google.api.ads.admanager.jaxws.v202105.TargetingValue) SetValue(com.google.api.ads.admanager.jaxws.v202105.SetValue)

Example 10 with Value

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

Aggregations

AdManagerServices (com.google.api.ads.admanager.axis.factory.AdManagerServices)163 ApiError (com.google.api.ads.admanager.axis.v202202.ApiError)163 ApiException (com.google.api.ads.admanager.axis.v202202.ApiException)163 AdManagerSession (com.google.api.ads.admanager.lib.client.AdManagerSession)163 ConfigurationLoadException (com.google.api.ads.common.lib.conf.ConfigurationLoadException)163 OAuthException (com.google.api.ads.common.lib.exception.OAuthException)163 ValidationException (com.google.api.ads.common.lib.exception.ValidationException)163 Credential (com.google.api.client.auth.oauth2.Credential)163 RemoteException (java.rmi.RemoteException)163 StatementBuilder (com.google.api.ads.admanager.axis.utils.v202202.StatementBuilder)125 LinkedHashSet (java.util.LinkedHashSet)56 Test (org.junit.Test)45 IOException (java.io.IOException)19 NumberValue (com.google.api.ads.admanager.axis.v202202.NumberValue)6 BooleanValue (com.google.api.ads.admanager.jaxws.v202202.BooleanValue)6 DateTimeValue (com.google.api.ads.admanager.jaxws.v202202.DateTimeValue)6 DateValue (com.google.api.ads.admanager.jaxws.v202202.DateValue)6 NumberValue (com.google.api.ads.admanager.jaxws.v202202.NumberValue)6 SetValue (com.google.api.ads.admanager.jaxws.v202202.SetValue)6 TargetingValue (com.google.api.ads.admanager.jaxws.v202202.TargetingValue)6