Skip to content

Commit

Permalink
Preparing release 3.15.1
Browse files Browse the repository at this point in the history
  • Loading branch information
jradcliff committed Jun 29, 2018
1 parent 6394ee7 commit 71c799a
Show file tree
Hide file tree
Showing 72 changed files with 1,258 additions and 341 deletions.
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
3.15.1 - 06/29/2018
-------------------
AdWords:
- Updated definition of v201806 `TemplateAd.adUnionId` to match the type
definition in the `AdGroupAdService` WSDL. This avoids issues with
unmarshalling responses from `AdGroupAdService` that contain template
ads. Fixes https://github.com/googleads/googleads-java-lib/issues/145.
- Added an overload of `downloadBatchJobMutateResponse` in
[`BatchJobHelperInterface`](https://github.com/googleads/googleads-java-lib/blob/master/modules/ads_lib/src/main/java/com/google/api/ads/adwords/lib/utils/BatchJobHelperInterface.java)
to support retrieving batch job results in chunks. The new method takes
`startIndex` and `numberResults` parameters, similar to paging options
for `get` requests. This new feature is only available in the Axis
implementations of the interface.

DFP:
- No changes.

Common:
- No changes.

3.15.0 - 06/07/2018
-----------------
AdWords:
Expand Down
6 changes: 3 additions & 3 deletions examples/adwords_axis/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

<groupId>com.google.api-ads.examples</groupId>
<artifactId>adwords-axis-examples</artifactId>
<version>3.15.0</version>
<version>3.15.1</version>

<packaging>jar</packaging>

Expand Down Expand Up @@ -110,12 +110,12 @@
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>ads-lib</artifactId>
<version>3.15.0</version>
<version>3.15.1</version>
</dependency>
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>adwords-axis</artifactId>
<version>3.15.0</version>
<version>3.15.1</version>
</dependency>

<!-- Third party dependencies -->
Expand Down
6 changes: 3 additions & 3 deletions examples/dfp_axis/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

<groupId>com.google.api-ads.examples</groupId>
<artifactId>dfp-axis-examples</artifactId>
<version>3.15.0</version>
<version>3.15.1</version>

<packaging>jar</packaging>
<name>DFP Examples using Axis</name>
Expand Down Expand Up @@ -86,12 +86,12 @@
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>ads-lib</artifactId>
<version>3.15.0</version>
<version>3.15.1</version>
</dependency>
<dependency>
<groupId>com.google.api-ads</groupId>
<artifactId>dfp-axis</artifactId>
<version>3.15.0</version>
<version>3.15.1</version>
</dependency>

<!-- Third party dependencies -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ api.adwords.version.v201806.hasgroups=true
api.adwords.version.v201806.groups=billing,ch,cm,mcm,o,rm
api.adwords.version.v201806.billing.services=BudgetOrderService
api.adwords.version.v201806.ch.services=CustomerSyncService
api.adwords.version.v201806.cm.services=AdGroupAdService,AdGroupBidModifierService,AdGroupCriterionService,AdGroupService,AdParamService,BudgetService,CampaignCriterionService,CampaignService,ConversionTrackerService,DataService,MediaService,ReportDefinitionService,ConstantDataService,LocationCriterionService,AdGroupFeedService,CampaignFeedService,FeedItemService,FeedMappingService,FeedService,BiddingStrategyService,OfflineConversionFeedService,CustomerNegativeCriterionService,CustomerFeedService,LabelService,CampaignSharedSetService,SharedCriterionService,SharedSetService,CampaignExtensionSettingService,AdGroupExtensionSettingService,CustomerExtensionSettingService,AdCustomizerFeedService,BatchJobService,BatchJobOpsService,DraftService,DraftAsyncErrorService,TrialService,TrialAsyncErrorService,OfflineCallConversionFeedService,CampaignBidModifierService,CampaignGroupService,CampaignGroupPerformanceTargetService,FeedItemTargetService,AdService,AssetService,OfflineConversionAdjustmentFeedService
api.adwords.version.v201806.cm.services=AdService,AdGroupBidModifierService,AdGroupCriterionService,AdGroupService,AdParamService,BudgetService,CampaignCriterionService,CampaignService,ConversionTrackerService,DataService,MediaService,ReportDefinitionService,ConstantDataService,LocationCriterionService,AdGroupFeedService,CampaignFeedService,FeedItemService,FeedMappingService,FeedService,BiddingStrategyService,OfflineConversionFeedService,CustomerNegativeCriterionService,CustomerFeedService,LabelService,CampaignSharedSetService,SharedCriterionService,SharedSetService,CampaignExtensionSettingService,AdGroupExtensionSettingService,CustomerExtensionSettingService,AdCustomizerFeedService,BatchJobService,BatchJobOpsService,DraftService,DraftAsyncErrorService,TrialService,TrialAsyncErrorService,OfflineCallConversionFeedService,CampaignBidModifierService,CampaignGroupService,CampaignGroupPerformanceTargetService,FeedItemTargetService,AdGroupAdService,AssetService,OfflineConversionAdjustmentFeedService
api.adwords.version.v201806.o.services=TargetingIdeaService,TrafficEstimatorService
api.adwords.version.v201806.mcm.services=AccountLabelService,CustomerService,ManagedCustomerService
api.adwords.version.v201806.rm.services=OfflineDataUploadService,AdwordsUserListService,CustomAffinityService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,26 @@

/**
* Utility for uploading operations and downloading results for a {@code BatchJob}.
*
* @param <OperationT> the operation type for the API version and SOAP toolkit.
* @param <OperandT> the operand type for the API version and SOAP toolkit.
* @param <ErrorT> the {@code ApiError} type for the API version and SOAP toolkit.
* @param <ResultT> the mutate result type for the API version and SOAP toolkit.
* @param <ResponseT> the mutate response type for the API version and SOAP toolkit.
*/
public interface BatchJobHelperInterface<OperationT,
OperandT, ErrorT,
public interface BatchJobHelperInterface<
OperationT,
OperandT,
ErrorT,
ResultT extends BatchJobMutateResultInterface<OperandT, ErrorT>,
ResponseT extends BatchJobMutateResponseInterface<OperandT, ErrorT, ResultT>> {
/**
* Uploads the specified operations to the batch job. After this method returns successfully, the
* job will transition to the {@code ACTIVE} state.
*
* <p>
* Use this method if you want to upload all operations in a single request. To upload operations
* across multiple requests, use
* {@link #uploadIncrementalBatchJobOperations(Iterable, boolean, BatchJobUploadStatus)} instead.
* <p>Use this method if you want to upload all operations in a single request. To upload
* operations across multiple requests, use {@link #uploadIncrementalBatchJobOperations(Iterable,
* boolean, BatchJobUploadStatus)} instead.
*
* @param operations the operations to upload to the batch job
* @param uploadUrl the {@code BatchJob#getUploadUrl()}
Expand All @@ -50,24 +52,25 @@ BatchJobUploadResponse uploadBatchJobOperations(Iterable<OperationT> operations,
/**
* Uploads the specified operations to the batch job. Use this method if you want to upload
* operations incrementally. To upload all operations in a single request, use {@link
* #uploadBatchJobOperations(Iterable, String)}
* instead.
* #uploadBatchJobOperations(Iterable, String)} instead.
*
* <p>If {@code isLastRequest}, then after this method returns successfully, the job will
* transition to the {@code ACTIVE} state.
*
* @param operations the operations to upload to the batch job
* @param isLastRequest if this is the last set of operations to upload for the job
* @param batchJobUploadStatus the current upload status. If this is the first upload,
* set the {@link BatchJobUploadStatus#getResumableUploadUri()} to the {@code
* BatchJob#getUploadUrl()}.
* @param batchJobUploadStatus the current upload status. If this is the first upload, set the
* {@link BatchJobUploadStatus#getResumableUploadUri()} to the {@code
* BatchJob#getUploadUrl()}.
* @return the response from the upload if the request succeeded
* @throws BatchJobException if the request failed
*/
@UsesAdsUtilities({AdsUtility.BATCH_JOB_HELPER})
BatchJobUploadResponse uploadIncrementalBatchJobOperations(
Iterable<? extends OperationT> operations, boolean isLastRequest,
BatchJobUploadStatus batchJobUploadStatus) throws BatchJobException;
Iterable<? extends OperationT> operations,
boolean isLastRequest,
BatchJobUploadStatus batchJobUploadStatus)
throws BatchJobException;

/**
* Downloads and returns the results from the attempted operations for a completed batch job.
Expand All @@ -76,4 +79,21 @@ BatchJobUploadResponse uploadIncrementalBatchJobOperations(
*/
@UsesAdsUtilities({AdsUtility.BATCH_JOB_HELPER})
ResponseT downloadBatchJobMutateResponse(String downloadUrl) throws BatchJobException;

/**
* Downloads and returns a chunk of results from the attempted operations for a completed batch
* job.
*
* <p>NOTE: This is only available on Axis implementations of this interface. The JAX-WS
* implementations will throw an UnsupportedOperationException.
*
* @param downloadUrl the {@code BatchJob.getDownloadUrl()}
* @param startIndex zero-based index of the first result to return
* @param numberResults maximum number of results to return
* @throws BatchJobException if unable to download the results.
* @throws UnsupportedOperationException if this method is not supported by the implementation.
*/
@UsesAdsUtilities(AdsUtility.BATCH_JOB_HELPER)
ResponseT downloadBatchJobMutateResponse(String downloadUrl, int startIndex, int numberResults)
throws BatchJobException;
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
lib.name=Common-Java
lib.version=3.15.0
lib.version=3.15.1
# Options are:
# internal: not deployed
# maven: deployed by maven
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
product.framework.name=AdWords-AppEngine
product.framework.version=3.15.0
product.framework.version=3.15.1
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,10 @@ public BatchJobMutateResponse downloadBatchJobMutateResponse(String downloadUrl)
throws BatchJobException {
return impl.downloadBatchJobMutateResponse(downloadUrl);
}

@Override
public BatchJobMutateResponse downloadBatchJobMutateResponse(
String downloadUrl, int startIndex, int numberResults) throws BatchJobException {
return impl.downloadBatchJobMutateResponse(downloadUrl, startIndex, numberResults);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ public BatchJobMutateResponse downloadBatchJobMutateResponse(String downloadUrl)
return response;
}

@Override
public BatchJobMutateResponse downloadBatchJobMutateResponse(
String downloadUrl, int startIndex, int numberResults) throws BatchJobException {
throw new UnsupportedOperationException("This method is not supported yet.");
}

@Override
public BatchJobUploadResponse uploadIncrementalBatchJobOperations(
Iterable<? extends Operation> operations,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,10 @@ public BatchJobMutateResponse downloadBatchJobMutateResponse(String downloadUrl)
throws BatchJobException {
return impl.downloadBatchJobMutateResponse(downloadUrl);
}

@Override
public BatchJobMutateResponse downloadBatchJobMutateResponse(
String downloadUrl, int startIndex, int numberResults) throws BatchJobException {
return impl.downloadBatchJobMutateResponse(downloadUrl, startIndex, numberResults);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ public BatchJobMutateResponse downloadBatchJobMutateResponse(String downloadUrl)
return response;
}

@Override
public BatchJobMutateResponse downloadBatchJobMutateResponse(
String downloadUrl, int startIndex, int numberResults) throws BatchJobException {
throw new UnsupportedOperationException("This method is not supported yet.");
}

@Override
public BatchJobUploadResponse uploadIncrementalBatchJobOperations(
Iterable<? extends Operation> operations,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,10 @@ public BatchJobMutateResponse downloadBatchJobMutateResponse(String downloadUrl)
throws BatchJobException {
return impl.downloadBatchJobMutateResponse(downloadUrl);
}

@Override
public BatchJobMutateResponse downloadBatchJobMutateResponse(
String downloadUrl, int startIndex, int numberResults) throws BatchJobException {
return impl.downloadBatchJobMutateResponse(downloadUrl, startIndex, numberResults);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ public BatchJobMutateResponse downloadBatchJobMutateResponse(String downloadUrl)
return response;
}

@Override
public BatchJobMutateResponse downloadBatchJobMutateResponse(
String downloadUrl, int startIndex, int numberResults) throws BatchJobException {
throw new UnsupportedOperationException("This method is not supported yet.");
}

@Override
public BatchJobUploadResponse uploadIncrementalBatchJobOperations(
Iterable<? extends Operation> operations,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import com.google.api.ads.adwords.jaxws.v201802.billing.BudgetOrderServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.ch.CustomerSyncServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.cm.CampaignServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.mcm.ManagedCustomerServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.o.TargetingIdeaServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.rm.AdwordsUserListServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.billing.BudgetOrderServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.ch.CustomerSyncServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.cm.CampaignServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.mcm.ManagedCustomerServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.o.TargetingIdeaServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.rm.AdwordsUserListServiceInterface;
import com.google.api.ads.adwords.lib.client.AdWordsServiceDescriptor;
import com.google.api.ads.adwords.lib.client.AdWordsSession;
import com.google.api.ads.adwords.lib.conf.AdWordsApiConfiguration;
Expand Down Expand Up @@ -102,7 +102,7 @@ public AdWordsJaxWsHeaderHandlerTest(Class<? extends Remote> interfaceClass,
@Parameters(name = "interface={0}, namespace={1}")
public static Collection<Object[]> data() {
Collection<Object[]> parameters = new ArrayList<Object[]>();
// Test at least one standard interface for every subpackage of v201802
// Test at least one standard interface for every subpackage of v201806
parameters.add(
new Object[] {BudgetOrderServiceInterface.class, "billing"});
parameters.add(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@

import com.google.api.ads.adwords.jaxws.factory.AdWordsServices;
import com.google.api.ads.adwords.jaxws.testing.SoapRequestXmlProvider;
import com.google.api.ads.adwords.jaxws.v201802.cm.Budget;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetBudgetDeliveryMethod;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetOperation;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.cm.Money;
import com.google.api.ads.adwords.jaxws.v201802.cm.Operator;
import com.google.api.ads.adwords.jaxws.v201806.cm.Budget;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetBudgetDeliveryMethod;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetOperation;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.cm.Money;
import com.google.api.ads.adwords.jaxws.v201806.cm.Operator;
import com.google.api.ads.adwords.lib.client.AdWordsSession;
import com.google.api.ads.adwords.lib.soap.testing.SoapResponseXmlProvider;
import com.google.api.ads.common.lib.testing.MockHttpIntegrationTest;
Expand All @@ -46,7 +46,7 @@
@RunWith(JUnit4.class)
public class AdWordsJaxWsSoapCompressionIntegrationTest extends MockHttpIntegrationTest {

private static final String API_VERSION = "v201802";
private static final String API_VERSION = "v201806";

@BeforeClass
public static void setupClass() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@

import com.google.api.ads.adwords.jaxws.factory.AdWordsServices;
import com.google.api.ads.adwords.jaxws.testing.SoapRequestXmlProvider;
import com.google.api.ads.adwords.jaxws.v201802.cm.Budget;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetBudgetDeliveryMethod;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetOperation;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.cm.Money;
import com.google.api.ads.adwords.jaxws.v201802.cm.Operator;
import com.google.api.ads.adwords.jaxws.v201806.cm.Budget;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetBudgetDeliveryMethod;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetOperation;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.cm.Money;
import com.google.api.ads.adwords.jaxws.v201806.cm.Operator;
import com.google.api.ads.adwords.lib.client.AdWordsSession;
import com.google.api.ads.adwords.lib.soap.testing.SoapResponseXmlProvider;
import com.google.api.ads.common.lib.testing.MockHttpIntegrationTest;
Expand All @@ -46,7 +46,7 @@
@RunWith(JUnit4.class)
public class AdWordsJaxWsSoapIntegrationTest extends MockHttpIntegrationTest {

private static final String API_VERSION = "v201802";
private static final String API_VERSION = "v201806";

@Rule
public final ExpectedException thrown = ExpectedException.none();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
package com.google.api.ads.adwords.jaxws;

import com.google.api.ads.adwords.jaxws.factory.AdWordsServices;
import com.google.api.ads.adwords.jaxws.v201802.cm.Budget;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetBudgetDeliveryMethod;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetOperation;
import com.google.api.ads.adwords.jaxws.v201802.cm.BudgetServiceInterface;
import com.google.api.ads.adwords.jaxws.v201802.cm.Money;
import com.google.api.ads.adwords.jaxws.v201802.cm.Operator;
import com.google.api.ads.adwords.jaxws.v201806.cm.Budget;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetBudgetDeliveryMethod;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetOperation;
import com.google.api.ads.adwords.jaxws.v201806.cm.BudgetServiceInterface;
import com.google.api.ads.adwords.jaxws.v201806.cm.Money;
import com.google.api.ads.adwords.jaxws.v201806.cm.Operator;
import com.google.api.ads.adwords.lib.client.AdWordsSession;
import com.google.api.ads.adwords.lib.soap.testing.SoapResponseXmlProvider;
import com.google.api.ads.common.lib.testing.MockHttpIntegrationTest;
Expand All @@ -42,7 +42,7 @@
@RunWith(JUnit4.class)
public class AdWordsJaxWsSoapTimeoutIntegrationTest extends MockHttpIntegrationTest {

private static final String API_VERSION = "v201802";
private static final String API_VERSION = "v201806";

@Rule
public final ExpectedException thrown = ExpectedException.none();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
public class UserAgentCombinerTest {

private static final String USER_AGENT =
"userAgent (AwApi-Java, AdWords-AppEngine/3.15.0, Common-Java/3.15.0,"
"userAgent (AwApi-Java, AdWords-AppEngine/3.15.1, Common-Java/3.15.1,"
+ " JAX-WS/Unknown, Java/" + System.getProperty("java.version") + ", maven)";

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<RequestHeader xmlns="https://adwords.google.com/api/adwords/cm/#API_VERSION#">
<clientCustomerId xmlns="https://adwords.google.com/api/adwords/cm/#API_VERSION#">TEST_CLIENT_CUSTOMER_ID</clientCustomerId>
<developerToken xmlns="https://adwords.google.com/api/adwords/cm/#API_VERSION#">TEST_DEVELOPER_TOKEN</developerToken>
<userAgent xmlns="https://adwords.google.com/api/adwords/cm/#API_VERSION#">TEST_APP (AwApi-Java, AdWords-AppEngine/3.15.0, Common-Java/3.15.0, JAX-WS/Unknown, Java/#JAVA_VERSION#, maven)</userAgent>
<userAgent xmlns="https://adwords.google.com/api/adwords/cm/#API_VERSION#">TEST_APP (AwApi-Java, AdWords-AppEngine/3.15.1, Common-Java/3.15.1, JAX-WS/Unknown, Java/#JAVA_VERSION#, maven)</userAgent>
</RequestHeader>
</S:Header>
<S:Body>
Expand Down
Loading

0 comments on commit 71c799a

Please sign in to comment.