From 834373354fe1f0d2055174e417487d14533e271f Mon Sep 17 00:00:00 2001 From: adriancole Date: Fri, 17 May 2013 13:35:16 -0700 Subject: [PATCH] Revert "[JCLOUDS-43] add scoped transaction support to ultradns-ws" This reverts commit f88609d1dd05b88ca5124b60359613210503f506. --- .../ultradns/ws/ScopedTransaction.java | 133 ------------------ .../ultradns/ws/UltraDNSWSApiMetadata.java | 7 +- .../ws/features/DirectionalGroupApi.java | 6 +- .../ws/features/DirectionalPoolApi.java | 6 +- .../ws/features/ResourceRecordApi.java | 6 +- .../ws/features/RoundRobinPoolApi.java | 6 +- .../jclouds/ultradns/ws/features/TaskApi.java | 6 +- .../ws/features/TrafficControllerPoolApi.java | 6 +- .../ultradns/ws/features/TransactionApi.java | 24 +--- .../jclouds/ultradns/ws/features/ZoneApi.java | 6 +- .../ws/ScopedTransactionExpectTest.java | 54 ------- .../ws/ScopedTransactionLiveTest.java | 82 ----------- .../src/test/resources/create_zone_tx.xml | 1 - 13 files changed, 9 insertions(+), 334 deletions(-) delete mode 100644 providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/ScopedTransaction.java delete mode 100644 providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionExpectTest.java delete mode 100644 providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionLiveTest.java delete mode 100644 providers/ultradns-ws/src/test/resources/create_zone_tx.xml diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/ScopedTransaction.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/ScopedTransaction.java deleted file mode 100644 index b9d920531b..0000000000 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/ScopedTransaction.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.ultradns.ws; - -import static com.google.common.base.Preconditions.checkState; -import static java.lang.String.format; - -import javax.inject.Inject; - -import org.jclouds.http.HttpException; -import org.jclouds.http.HttpRequest; -import org.jclouds.http.HttpRequestFilter; -import org.jclouds.rest.annotations.Transform; - -import com.google.common.base.Function; -import com.google.inject.AbstractModule; - -/** - * Adds support for implicit transactions. - * - * @author Adrian Cole - */ -public class ScopedTransaction { - - /** - * Sets a scoped transaction. Add to rest calls that start a transaction. - * Make sure that these note a possible IllegalStateException when a - * transaction is already in progress. - * - *

- * - * ex. - * - *

-    * ...
-    * @Transform(ScopedTransaction.Set.class)
-    * String start() throws IllegalStateException;
-    * 
- * - * @see Transform - */ - public static class Set implements Function { - private final ScopedTransaction scope; - - @Inject - private Set(ScopedTransaction scope) { - this.scope = scope; - } - - @Override - public String apply(String in) { - checkState(scope.transactionId.get() == null, "A transaction is already in progress"); - scope.transactionId.set(in); - return in; - } - } - - /** - * Removes a scoped transaction, if present. Add to rest calls that commit or - * rollback a transaction. - * - *

- * - * ex. - * - *

-    * ...
-    * @Transform(ScopedTransaction.Invalidate.class)
-    * void rollback(String txId);
-    * 
- * - * @see Transform - */ - public static class Remove implements Function { - private final ScopedTransaction scope; - - @Inject - private Remove(ScopedTransaction scope) { - this.scope = scope; - } - - @Override - public Void apply(Void in) { - scope.transactionId.remove(); - return in; - } - } - - public static class Filter implements HttpRequestFilter { - private final ScopedTransaction scope; - - @Inject - private Filter(ScopedTransaction scope) { - this.scope = scope; - } - - @Override - public HttpRequest filter(HttpRequest request) throws HttpException { - String transactionId = scope.transactionId.get(); - if (transactionId == null) - return request; - String body = request.getPayload().getRawContent().toString(); - body = body.replace("", format("%s", transactionId)); - return request.toBuilder().payload(body).build(); - } - } - - /** - * In order to support implicit transactions, this module must be installed. - */ - public static class Module extends AbstractModule { - public void configure() { - ScopedTransaction scope = new ScopedTransaction(); - bind(ScopedTransaction.class).toInstance(scope); - } - } - - private final ThreadLocal transactionId = new ThreadLocal(); -} diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/UltraDNSWSApiMetadata.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/UltraDNSWSApiMetadata.java index b6f0fb0032..ec3502006a 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/UltraDNSWSApiMetadata.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/UltraDNSWSApiMetadata.java @@ -23,9 +23,6 @@ import org.jclouds.apis.ApiMetadata; import org.jclouds.rest.internal.BaseHttpApiMetadata; import org.jclouds.ultradns.ws.config.UltraDNSWSHttpApiModule; -import com.google.common.collect.ImmutableSet; -import com.google.inject.Module; - /** * Implementation of {@link ApiMetadata} for Neustar's UltraDNSWS api. * @@ -62,9 +59,7 @@ public class UltraDNSWSApiMetadata extends BaseHttpApiMetadata { .documentation(URI.create("https://portal.ultradns.com/static/docs/NUS_API_XML_SOAP.pdf")) .defaultEndpoint("https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01") .defaultProperties(UltraDNSWSApiMetadata.defaultProperties()) - .defaultModules(ImmutableSet.> builder() - .add(UltraDNSWSHttpApiModule.class) - .add(ScopedTransaction.Module.class).build()); + .defaultModule(UltraDNSWSHttpApiModule.class); } @Override diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalGroupApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalGroupApi.java index e79b47967c..0134da34bd 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalGroupApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalGroupApi.java @@ -30,7 +30,6 @@ import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.binders.DirectionalGroupCoordinatesToXML; import org.jclouds.ultradns.ws.domain.AccountLevelGroup; import org.jclouds.ultradns.ws.domain.DirectionalGroup; @@ -50,10 +49,7 @@ import com.google.common.collect.FluentIterable; * @see * @author Adrian Cole */ -@RequestFilters({ - ScopedTransaction.Filter.class, - SOAPWrapWithPasswordAuth.class -}) +@RequestFilters(SOAPWrapWithPasswordAuth.class) @VirtualHost public interface DirectionalGroupApi { diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalPoolApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalPoolApi.java index 569f629c07..0659d2270b 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalPoolApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/DirectionalPoolApi.java @@ -31,7 +31,6 @@ import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.UltraDNSWSApi; import org.jclouds.ultradns.ws.UltraDNSWSExceptions.DirectionalGroupOverlapException; import org.jclouds.ultradns.ws.UltraDNSWSExceptions.ResourceAlreadyExistsException; @@ -54,10 +53,7 @@ import com.google.common.collect.FluentIterable; * @see * @author Adrian Cole */ -@RequestFilters({ - ScopedTransaction.Filter.class, - SOAPWrapWithPasswordAuth.class -}) +@RequestFilters(SOAPWrapWithPasswordAuth.class) @VirtualHost public interface DirectionalPoolApi { diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ResourceRecordApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ResourceRecordApi.java index c2465c0cbe..2c1b96f2c1 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ResourceRecordApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ResourceRecordApi.java @@ -28,7 +28,6 @@ import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.UltraDNSWSExceptions.ResourceAlreadyExistsException; import org.jclouds.ultradns.ws.binders.ZoneAndResourceRecordToXML; import org.jclouds.ultradns.ws.domain.ResourceRecord; @@ -44,10 +43,7 @@ import com.google.common.collect.FluentIterable; * @see * @author Adrian Cole */ -@RequestFilters({ - ScopedTransaction.Filter.class, - SOAPWrapWithPasswordAuth.class -}) +@RequestFilters(SOAPWrapWithPasswordAuth.class) @VirtualHost public interface ResourceRecordApi { diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApi.java index 60bf2c75a1..1bf8e85683 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApi.java @@ -28,7 +28,6 @@ import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.UltraDNSWSExceptions.ResourceAlreadyExistsException; import org.jclouds.ultradns.ws.domain.ResourceRecord; import org.jclouds.ultradns.ws.domain.ResourceRecordDetail; @@ -46,10 +45,7 @@ import com.google.common.collect.FluentIterable; * @see * @author Adrian Cole */ -@RequestFilters({ - ScopedTransaction.Filter.class, - SOAPWrapWithPasswordAuth.class -}) +@RequestFilters(SOAPWrapWithPasswordAuth.class) @VirtualHost public interface RoundRobinPoolApi { diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TaskApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TaskApi.java index 26728fc956..fc8db43678 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TaskApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TaskApi.java @@ -28,7 +28,6 @@ import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.domain.Task; import org.jclouds.ultradns.ws.filters.SOAPWrapWithPasswordAuth; import org.jclouds.ultradns.ws.xml.ElementTextHandler; @@ -42,10 +41,7 @@ import com.google.common.collect.FluentIterable; * @see * @author Adrian Cole */ -@RequestFilters({ - ScopedTransaction.Filter.class, - SOAPWrapWithPasswordAuth.class -}) +@RequestFilters(SOAPWrapWithPasswordAuth.class) @VirtualHost public interface TaskApi { /** diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TrafficControllerPoolApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TrafficControllerPoolApi.java index 6022a70152..abf9955ab2 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TrafficControllerPoolApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TrafficControllerPoolApi.java @@ -31,7 +31,6 @@ import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.UltraDNSWSExceptions.ResourceAlreadyExistsException; import org.jclouds.ultradns.ws.binders.UpdatePoolRecordToXML; import org.jclouds.ultradns.ws.domain.PoolRecordSpec; @@ -53,10 +52,7 @@ import com.google.common.collect.FluentIterable; * @see * @author Adrian Cole */ -@RequestFilters({ - ScopedTransaction.Filter.class, - SOAPWrapWithPasswordAuth.class -}) +@RequestFilters(SOAPWrapWithPasswordAuth.class) @VirtualHost public interface TrafficControllerPoolApi { diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TransactionApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TransactionApi.java index b6e2afe4a0..a3a800e308 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TransactionApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/TransactionApi.java @@ -25,30 +25,13 @@ import org.jclouds.rest.annotations.Fallback; import org.jclouds.rest.annotations.Payload; import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.rest.annotations.Transform; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.UltraDNSWSExceptions.TooManyTransactionsException; import org.jclouds.ultradns.ws.filters.SOAPWrapWithPasswordAuth; import org.jclouds.ultradns.ws.xml.ElementTextHandler; /** - * Adds transaction support when performing multiple write commands. - * - *

- * ex. - * - *

- * String txId = ultraDNSApi.getTransactionApi().start();
- * try {
- *    // perform operations
- *    ultraDNSApi.getTransactionApi().commit(txId);
- * } catch (Throwable t) {
- *    ultraDNSApi.getTransactionApi().rollback(txId);
- *    throw propagate(t);
- * }
- * 
* * @see
* @see @@ -65,15 +48,12 @@ public interface TransactionApi { * @return id of the transaction created * @throws TooManyTransactionsException * if the maximum concurrent exception limit was hit. - * @throws IllegalStateException - * if another transaction is in progress. */ @Named("startTransaction") @POST @XMLResponseParser(ElementTextHandler.TransactionID.class) @Payload("") - @Transform(ScopedTransaction.Set.class) - String start() throws TooManyTransactionsException, IllegalStateException; + String start() throws TooManyTransactionsException; /** * This request commits all of a transaction’s requests and writes them to @@ -87,7 +67,6 @@ public interface TransactionApi { @Named("commitTransaction") @POST @Payload("{transactionID}") - @Transform(ScopedTransaction.Remove.class) void commit(@PayloadParam("transactionID") String transactionID) throws ResourceNotFoundException; /** @@ -101,6 +80,5 @@ public interface TransactionApi { @POST @Payload("{transactionID}") @Fallback(VoidOnNotFoundOr404.class) - @Transform(ScopedTransaction.Remove.class) void rollback(@PayloadParam("transactionID") String transactionID); } diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ZoneApi.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ZoneApi.java index 419cc82eb5..db2490fe23 100644 --- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ZoneApi.java +++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/features/ZoneApi.java @@ -29,7 +29,6 @@ import org.jclouds.rest.annotations.PayloadParam; import org.jclouds.rest.annotations.RequestFilters; import org.jclouds.rest.annotations.VirtualHost; import org.jclouds.rest.annotations.XMLResponseParser; -import org.jclouds.ultradns.ws.ScopedTransaction; import org.jclouds.ultradns.ws.UltraDNSWSExceptions.ResourceAlreadyExistsException; import org.jclouds.ultradns.ws.domain.Zone; import org.jclouds.ultradns.ws.domain.Zone.Type; @@ -45,10 +44,7 @@ import com.google.common.collect.FluentIterable; * @see * @author Adrian Cole */ -@RequestFilters({ - ScopedTransaction.Filter.class, - SOAPWrapWithPasswordAuth.class -}) +@RequestFilters(SOAPWrapWithPasswordAuth.class) @VirtualHost public interface ZoneApi { diff --git a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionExpectTest.java b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionExpectTest.java deleted file mode 100644 index d7d4c05798..0000000000 --- a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionExpectTest.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.ultradns.ws; -import static com.google.common.net.HttpHeaders.HOST; -import static javax.ws.rs.HttpMethod.POST; -import static javax.ws.rs.core.Response.Status.OK; - -import org.jclouds.http.HttpRequest; -import org.jclouds.http.HttpResponse; -import org.jclouds.ultradns.ws.UltraDNSWSApi; -import org.jclouds.ultradns.ws.internal.BaseUltraDNSWSApiExpectTest; -import org.testng.annotations.Test; -/** - * @author Adrian Cole - */ -@Test(groups = "unit", testName = "ScopedTransactionExpectTest") -public class ScopedTransactionExpectTest extends BaseUltraDNSWSApiExpectTest { - HttpRequest start = HttpRequest.builder().method(POST) - .endpoint("https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01") - .addHeader(HOST, "ultra-api.ultradns.com:8443") - .payload(payloadFromResourceWithContentType("/start_tx.xml", "application/xml")).build(); - - HttpResponse startResponse = HttpResponse.builder().statusCode(OK.getStatusCode()) - .payload(payloadFromResourceWithContentType("/tx_started.xml", "application/xml")).build(); - - HttpRequest createWithTx = HttpRequest.builder().method(POST) - .endpoint("https://ultra-api.ultradns.com:8443/UltraDNS_WS/v01") - .addHeader(HOST, "ultra-api.ultradns.com:8443") - .payload(payloadFromResourceWithContentType("/create_zone_tx.xml", "application/xml")).build(); - - HttpResponse createResponse = HttpResponse.builder().statusCode(OK.getStatusCode()) - .payload(payloadFromResourceWithContentType("/zone_created.xml", "application/xml")).build(); - - public void testAddTransactionIdWhenTransactionStarted() { - UltraDNSWSApi success = requestsSendResponses(start, startResponse, createWithTx, createResponse); - - success.getTransactionApi().start(); - success.getZoneApi().createInAccount("jclouds.org.", "AAAAAAAAAAAAAAAA"); - } -} diff --git a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionLiveTest.java b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionLiveTest.java deleted file mode 100644 index 638eda667d..0000000000 --- a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/ScopedTransactionLiveTest.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.ultradns.ws; - -import static java.util.logging.Logger.getAnonymousLogger; -import static org.jclouds.ultradns.ws.domain.ResourceRecord.rrBuilder; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; -import static org.testng.Assert.assertNull; - -import org.jclouds.ultradns.ws.domain.ResourceRecord; -import org.jclouds.ultradns.ws.domain.ZoneProperties; -import org.jclouds.ultradns.ws.internal.BaseUltraDNSWSApiLiveTest; -import org.testng.annotations.Test; - -/** - * @author Adrian Cole - */ -@Test(groups = "live", testName = "ScopedTransactionLiveTest") -public class ScopedTransactionLiveTest extends BaseUltraDNSWSApiLiveTest { - - ResourceRecord mx = rrBuilder().name("mail." + zoneName) - .type(15) - .ttl(1800) - .infoValue(10) - .infoValue("maileast.jclouds.org.").build(); - - @Test - public void testMultiStepTransactionOnCommit() { - String txId = api.getTransactionApi().start(); - assertNotNull(txId); - getAnonymousLogger().info("starting transaction: " + txId); - try { - api.getZoneApi().createInAccount(zoneName, account.getId()); - api.getResourceRecordApiForZone(zoneName).create(mx); - - // can't read uncommitted stuff - assertNull(api.getZoneApi().get(zoneName)); - - // commit the tx - api.getTransactionApi().commit(txId); - - // now we can read it - ZoneProperties newZone = api.getZoneApi().get(zoneName); - assertEquals(newZone.getName(), zoneName); - assertEquals(newZone.getResourceRecordCount(), 6); - } finally { - // in case an assertion problem or otherwise occurred in the test. - api.getTransactionApi().rollback(txId); - api.getZoneApi().delete(zoneName); - } - } - - @Test - public void testScopedTransactionOnRollback() { - String txId = api.getTransactionApi().start(); - assertNotNull(txId); - getAnonymousLogger().info("starting transaction: " + txId); - try { - api.getZoneApi().createInAccount(zoneName, account.getId()); - api.getTransactionApi().rollback(txId); - assertNull(api.getZoneApi().get(zoneName)); - } finally { - // in case an assertion problem or otherwise occurred in the test. - api.getZoneApi().delete(zoneName); - } - } -} diff --git a/providers/ultradns-ws/src/test/resources/create_zone_tx.xml b/providers/ultradns-ws/src/test/resources/create_zone_tx.xml deleted file mode 100644 index ba40474206..0000000000 --- a/providers/ultradns-ws/src/test/resources/create_zone_tx.xml +++ /dev/null @@ -1 +0,0 @@ -identitycredentialjclouds-37562AAAAAAAAAAAAAAAAjclouds.org.false \ No newline at end of file