You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2015/11/04 16:47:48 UTC
[3/9] incubator-brooklyn git commit: Updates in response to review
comments on the pull request.
Updates in response to review comments on the pull request.
Renamed assertAttributeNever to assertAttributeContinuallyNotEqualTo (https://github.com/apache/incubator-brooklyn/pull/994#discussion_r43643555).
Updates as noted to deserializingClassRenames.properties (https://github.com/apache/incubator-brooklyn/pull/994#discussion-diff-43643649)
Fix package name in comment in EntityTestUtils (https://github.com/apache/incubator-brooklyn/pull/994#discussion-diff-43643773)
Removed a TODO in EntityTestUtils (https://github.com/apache/incubator-brooklyn/pull/994#discussion-diff-43643799)
Renamed HttpUtils to HttpAsserts; moved methods that weren't assertions to HttpTool, which involved bringing it out of core and into the utils module (https://github.com/apache/incubator-brooklyn/pull/994#discussion_r43644119)
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/03dbd281
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/03dbd281
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/03dbd281
Branch: refs/heads/master
Commit: 03dbd2816ba1a3ce9849014638aa429b40b1f476
Parents: c316e21
Author: Geoff Macartney <ge...@cloudsoftcorp.com>
Authored: Mon Nov 2 18:59:01 2015 +0000
Committer: Geoff Macartney <ge...@cloudsoftcorp.com>
Committed: Mon Nov 2 18:59:01 2015 +0000
----------------------------------------------------------------------
.../brooklyn/core/entity/EntityAsserts.java | 40 +-
.../org/apache/brooklyn/feed/http/HttpFeed.java | 6 +-
.../brooklyn/feed/http/HttpPollConfig.java | 4 +-
.../brooklyn/feed/http/HttpPollValue.java | 2 +-
.../apache/brooklyn/feed/http/HttpPolls.java | 4 +-
.../brooklyn/feed/http/HttpValueFunctions.java | 2 +-
.../brooklyn/util/core/ResourceUtils.java | 5 +-
.../brooklyn/util/core/http/HttpTool.java | 386 --------------
.../util/core/http/HttpToolResponse.java | 184 -------
.../deserializingClassRenames.properties | 6 +-
.../brooklyn/core/entity/EntityAssertsTest.java | 2 +-
.../apache/brooklyn/feed/http/HttpFeedTest.java | 5 +-
.../feed/http/HttpValueFunctionsTest.java | 3 +-
.../util/core/http/HttpToolIntegrationTest.java | 4 +-
.../persist/jclouds/BlobStoreExpiryTest.java | 4 +-
.../brooklynnode/BrooklynEntityMirrorImpl.java | 2 +-
.../entity/brooklynnode/BrooklynNodeImpl.java | 2 +-
.../entity/brooklynnode/EntityHttpClient.java | 4 +-
.../brooklynnode/EntityHttpClientImpl.java | 4 +-
.../brooklynnode/RemoteEffectorBuilder.java | 2 +-
.../SetHighAvailabilityModeEffectorBody.java | 2 +-
...SetHighAvailabilityPriorityEffectorBody.java | 2 +-
.../BrooklynNodeIntegrationTest.java | 8 +-
.../brooklynnode/CallbackEntityHttpClient.java | 5 +-
.../nosql/couchbase/CouchbaseClusterImpl.java | 5 +-
.../nosql/couchbase/CouchbaseNodeImpl.java | 4 +-
.../nosql/couchbase/CouchbaseNodeSshDriver.java | 4 +-
.../elasticsearch/ElasticSearchNodeImpl.java | 2 +-
.../ElasticSearchClusterIntegrationTest.java | 4 +-
.../ElasticSearchNodeIntegrationTest.java | 4 +-
.../geoscaling/GeoscalingDnsServiceImpl.java | 2 +-
.../dns/geoscaling/GeoscalingWebClient.java | 2 +-
.../entity/proxy/nginx/NginxControllerImpl.java | 4 +-
.../dns/geoscaling/GeoscalingWebClientTest.java | 3 +-
.../webapp/WebAppConcurrentDeployTest.java | 5 +-
.../brooklynnode/BrooklynNodeRestTest.java | 8 +-
.../launcher/BrooklynWebServerTest.java | 5 +-
.../brooklyn/qa/longevity/MonitorUtils.java | 4 +-
.../BrooklynPropertiesSecurityFilterTest.java | 4 +-
.../brooklyn/rest/HaMasterCheckFilterTest.java | 4 +-
.../SensorResourceIntegrationTest.java | 4 +-
.../ServerResourceIntegrationTest.java | 6 +-
.../json/BrooklynJacksonSerializerTest.java | 2 +-
.../apache/brooklyn/test/EntityTestUtils.java | 3 +-
.../org/apache/brooklyn/test/HttpTestUtils.java | 2 +-
utils/common/pom.xml | 4 +
.../apache/brooklyn/util/http/HttpAsserts.java | 282 ++++++++++
.../org/apache/brooklyn/util/http/HttpTool.java | 525 +++++++++++++++++++
.../brooklyn/util/http/HttpToolResponse.java | 183 +++++++
.../apache/brooklyn/util/http/HttpUtils.java | 387 --------------
50 files changed, 1104 insertions(+), 1046 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/core/entity/EntityAsserts.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/entity/EntityAsserts.java b/core/src/main/java/org/apache/brooklyn/core/entity/EntityAsserts.java
index 046ac52..4641447 100644
--- a/core/src/main/java/org/apache/brooklyn/core/entity/EntityAsserts.java
+++ b/core/src/main/java/org/apache/brooklyn/core/entity/EntityAsserts.java
@@ -33,10 +33,12 @@ import org.apache.brooklyn.api.sensor.SensorEvent;
import org.apache.brooklyn.api.sensor.SensorEventListener;
import org.apache.brooklyn.config.ConfigKey;
import org.apache.brooklyn.test.Asserts;
+import org.apache.brooklyn.util.time.Duration;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
@@ -163,8 +165,21 @@ public class EntityAsserts {
}
+ /**
+ * Assert that the given attribute of an entity does not take any of the disallowed values during a given period.
+ *
+ * This method relies on {@link Asserts#succeedsContinually(Runnable)}, therefore it loops comparing the value
+ * of the attribute to the disallowed values, rather than setting up a subscription. It may therefore miss a
+ * situation where the attribute temporarily takes a disallowed value. This method is therefore suited for use
+ * where the attribute will take on a value permanently, which may or may not be disallowed.
+ *
+ * @param entity The entity owning the attribute to check.
+ * @param attribute The attribute on the entity.
+ * @param disallowed The disallowed values for the entity.
+ * @param <T> Type of the sensor.
+ */
@Beta @SafeVarargs
- public static <T> void assertAttributeNever(final Entity entity, final AttributeSensor<T> attribute, T... disallowed) {
+ public static <T> void assertAttributeContinuallyNotEqualTo(final Entity entity, final AttributeSensor<T> attribute, T... disallowed) {
final Set<T> reject = Sets.newHashSet(disallowed);
Asserts.succeedsContinually(new Runnable() {
@Override
@@ -176,8 +191,29 @@ public class EntityAsserts {
});
}
+
+
+ /**
+ * Assert that the given attribute of an entity does not take any of the disallowed values during a given period.
+ *
+ * This method relies on {@link Asserts#succeedsContinually(Runnable)}, therefore it loops comparing the value
+ * of the attribute to the disallowed values, rather than setting up a subscription. It may therefore miss a
+ * situation where the attribute temporarily takes a disallowed value. This method is therefore suited for use
+ * where the attribute will take on a value permanently, which may or may not be disallowed.
+ *
+ * @param flags Flags controlling the loop, with keys: <ul>
+ * <li>timeout: a {@link Duration} specification String for the duration for which to test the
+ * assertion. Default 1 second.</li>
+ * <li>period: a {@link Duration} specification String for the interval at which to perform polls
+ * on the attribute value. Default 10ms.</li>
+ * </ul>
+ * @param entity The entity owning the attribute to check.
+ * @param attribute The attribute on the entity.
+ * @param disallowed The disallowed values for the entity.
+ * @param <T> Type of the sensor.
+ */
@Beta @SafeVarargs
- public static <T> void assertAttributeNever(final Map<?,?> flags, final Entity entity, final AttributeSensor<T> attribute, T... disallowed) {
+ public static <T> void assertAttributeContinuallyNotEqualTo(final Map<?, ?> flags, final Entity entity, final AttributeSensor<T> attribute, T... disallowed) {
final Set<T> reject = Sets.newHashSet(disallowed);
Asserts.succeedsContinually(flags, new Runnable() {
@Override
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
index e8cfc9f..d3556be 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/http/HttpFeed.java
@@ -36,9 +36,9 @@ import org.apache.brooklyn.core.feed.AbstractFeed;
import org.apache.brooklyn.core.feed.AttributePollHandler;
import org.apache.brooklyn.core.feed.DelegatingPollHandler;
import org.apache.brooklyn.core.feed.Poller;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
-import org.apache.brooklyn.util.core.http.HttpTool.HttpClientBuilder;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool.HttpClientBuilder;
import org.apache.brooklyn.util.time.Duration;
import org.apache.http.auth.Credentials;
import org.apache.http.auth.UsernamePasswordCredentials;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollConfig.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollConfig.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollConfig.java
index e019293..a6a37bb 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollConfig.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollConfig.java
@@ -27,8 +27,8 @@ import org.apache.brooklyn.api.sensor.AttributeSensor;
import org.apache.brooklyn.core.feed.PollConfig;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.time.Duration;
import com.google.common.base.Predicate;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java
index 5414cc4..de3a4b5 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPollValue.java
@@ -21,7 +21,7 @@ package org.apache.brooklyn.feed.http;
import java.util.List;
import java.util.Map;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
/** @deprecated since 0.7.0, use {@link HttpToolResponse}.
* the old {@link HttpPollValue} concrete class has been renamed {@link HttpToolResponse}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java
index 10c3b3e..ecc33ed 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/http/HttpPolls.java
@@ -20,8 +20,8 @@ package org.apache.brooklyn.feed.http;
import java.net.URI;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.http.impl.client.DefaultHttpClient;
import com.google.common.collect.ImmutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/feed/http/HttpValueFunctions.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/feed/http/HttpValueFunctions.java b/core/src/main/java/org/apache/brooklyn/feed/http/HttpValueFunctions.java
index 0fec133..5e3f99f 100644
--- a/core/src/main/java/org/apache/brooklyn/feed/http/HttpValueFunctions.java
+++ b/core/src/main/java/org/apache/brooklyn/feed/http/HttpValueFunctions.java
@@ -20,7 +20,7 @@ package org.apache.brooklyn.feed.http;
import java.util.List;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.guava.Functionals;
import com.google.common.base.Function;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java b/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
index a53b8e4..35bdb68 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
@@ -26,7 +26,6 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
-import java.net.JarURLConnection;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
@@ -55,8 +54,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.brooklyn.location.ssh.SshMachineLocation;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpTool.HttpClientBuilder;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpTool.HttpClientBuilder;
import org.apache.brooklyn.util.core.text.DataUriSchemeParser;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.javalang.Threads;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/util/core/http/HttpTool.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/http/HttpTool.java b/core/src/main/java/org/apache/brooklyn/util/core/http/HttpTool.java
deleted file mode 100644
index 1b8b10f..0000000
--- a/core/src/main/java/org/apache/brooklyn/util/core/http/HttpTool.java
+++ /dev/null
@@ -1,386 +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.apache.brooklyn.util.core.http;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-
-import java.net.URI;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.brooklyn.util.crypto.SslTrustUtils;
-import org.apache.brooklyn.util.exceptions.Exceptions;
-import org.apache.brooklyn.util.net.URLParamEncoder;
-import org.apache.brooklyn.util.text.Strings;
-import org.apache.brooklyn.util.time.Duration;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.http.ConnectionReuseStrategy;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.apache.http.NameValuePair;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.Credentials;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpHead;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.conn.scheme.Scheme;
-import org.apache.http.conn.scheme.SchemeSocketFactory;
-import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
-import org.apache.http.conn.ssl.TrustStrategy;
-import org.apache.http.conn.ssl.X509HostnameVerifier;
-import org.apache.http.entity.ByteArrayEntity;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.impl.client.LaxRedirectStrategy;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.params.HttpConnectionParams;
-import org.apache.http.params.HttpParams;
-import org.apache.http.util.EntityUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.base.Optional;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Multimap;
-
-public class HttpTool {
-
- private static final Logger LOG = LoggerFactory.getLogger(HttpTool.class);
-
- /** Apache HTTP commons utility for trusting all.
- * <p>
- * For generic java HTTP usage, see {@link SslTrustUtils#trustAll(java.net.URLConnection)}
- * and static constants in the same class. */
- public static class TrustAllStrategy implements TrustStrategy {
- @Override
- public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- return true;
- }
- }
-
- public static HttpClientBuilder httpClientBuilder() {
- return new HttpClientBuilder();
- }
-
- public static class HttpClientBuilder {
- private ClientConnectionManager clientConnectionManager;
- private HttpParams httpParams;
- private URI uri;
- private Integer port;
- private Credentials credentials;
- private boolean laxRedirect;
- private Boolean https;
- private SchemeSocketFactory socketFactory;
- private ConnectionReuseStrategy reuseStrategy;
- private boolean trustAll;
- private boolean trustSelfSigned;
-
- public HttpClientBuilder clientConnectionManager(ClientConnectionManager val) {
- this.clientConnectionManager = checkNotNull(val, "clientConnectionManager");
- return this;
- }
- public HttpClientBuilder httpParams(HttpParams val) {
- checkState(httpParams == null, "Must not call httpParams multiple times, or after other methods like connectionTimeout");
- this.httpParams = checkNotNull(val, "httpParams");
- return this;
- }
- public HttpClientBuilder connectionTimeout(Duration val) {
- if (httpParams == null) httpParams = new BasicHttpParams();
- long millis = checkNotNull(val, "connectionTimeout").toMilliseconds();
- if (millis > Integer.MAX_VALUE) throw new IllegalStateException("HttpClient only accepts upto max-int millis for connectionTimeout, but given "+val);
- HttpConnectionParams.setConnectionTimeout(httpParams, (int) millis);
- return this;
- }
- public HttpClientBuilder socketTimeout(Duration val) {
- if (httpParams == null) httpParams = new BasicHttpParams();
- long millis = checkNotNull(val, "socketTimeout").toMilliseconds();
- if (millis > Integer.MAX_VALUE) throw new IllegalStateException("HttpClient only accepts upto max-int millis for socketTimeout, but given "+val);
- HttpConnectionParams.setSoTimeout(httpParams, (int) millis);
- return this;
- }
- public HttpClientBuilder reuseStrategy(ConnectionReuseStrategy val) {
- this.reuseStrategy = checkNotNull(val, "reuseStrategy");
- return this;
- }
- public HttpClientBuilder uri(String val) {
- return uri(URI.create(checkNotNull(val, "uri")));
- }
- public HttpClientBuilder uri(URI val) {
- this.uri = checkNotNull(val, "uri");
- if (https == null) https = ("https".equalsIgnoreCase(uri.getScheme()));
- return this;
- }
- public HttpClientBuilder port(int val) {
- this.port = val;
- return this;
- }
- public HttpClientBuilder credentials(Credentials val) {
- this.credentials = checkNotNull(val, "credentials");
- return this;
- }
- public void credential(Optional<Credentials> val) {
- if (val.isPresent()) credentials = val.get();
- }
- /** similar to curl --post301 -L` */
- public HttpClientBuilder laxRedirect(boolean val) {
- this.laxRedirect = val;
- return this;
- }
- public HttpClientBuilder https(boolean val) {
- this.https = val;
- return this;
- }
- public HttpClientBuilder socketFactory(SchemeSocketFactory val) {
- this.socketFactory = checkNotNull(val, "socketFactory");
- return this;
- }
- public HttpClientBuilder trustAll() {
- this.trustAll = true;
- return this;
- }
- public HttpClientBuilder trustSelfSigned() {
- this.trustSelfSigned = true;
- return this;
- }
- public HttpClient build() {
- final DefaultHttpClient httpClient = new DefaultHttpClient(clientConnectionManager);
- httpClient.setParams(httpParams);
-
- // support redirects for POST (similar to `curl --post301 -L`)
- // http://stackoverflow.com/questions/3658721/httpclient-4-error-302-how-to-redirect
- if (laxRedirect) {
- httpClient.setRedirectStrategy(new LaxRedirectStrategy());
- }
- if (reuseStrategy != null) {
- httpClient.setReuseStrategy(reuseStrategy);
- }
- if (https == Boolean.TRUE || (uri!=null && uri.toString().startsWith("https:"))) {
- try {
- if (port == null) {
- port = (uri != null && uri.getPort() >= 0) ? uri.getPort() : 443;
- }
- if (socketFactory == null) {
- if (trustAll) {
- TrustStrategy trustStrategy = new TrustAllStrategy();
- X509HostnameVerifier hostnameVerifier = SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
- socketFactory = new SSLSocketFactory(trustStrategy, hostnameVerifier);
- } else if (trustSelfSigned) {
- TrustStrategy trustStrategy = new TrustSelfSignedStrategy();
- X509HostnameVerifier hostnameVerifier = SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
- socketFactory = new SSLSocketFactory(trustStrategy, hostnameVerifier);
- } else {
- // Using default https scheme: based on default java truststore, which is pretty strict!
- }
- }
- if (socketFactory != null) {
- Scheme sch = new Scheme("https", port, socketFactory);
- httpClient.getConnectionManager().getSchemeRegistry().register(sch);
- }
- } catch (Exception e) {
- LOG.warn("Error setting trust for uri {}", uri);
- throw Exceptions.propagate(e);
- }
- }
-
- // Set credentials
- if (uri != null && credentials != null) {
- String hostname = uri.getHost();
- int port = uri.getPort();
- httpClient.getCredentialsProvider().setCredentials(new AuthScope(hostname, port), credentials);
- }
- if (uri==null && credentials!=null) {
- LOG.warn("credentials have no effect in builder unless URI for host is specified");
- }
-
- return httpClient;
- }
- }
-
- protected static abstract class HttpRequestBuilder<B extends HttpRequestBuilder<B, R>, R extends HttpRequest> {
- protected R req;
-
- protected HttpRequestBuilder(R req) {
- this.req = req;
- }
- @SuppressWarnings("unchecked")
- protected B self() {
- return (B) this;
- }
- public B headers(Map<String,String> headers) {
- if (headers!=null) {
- for (Map.Entry<String,String> entry : headers.entrySet()) {
- req.addHeader(entry.getKey(), entry.getValue());
- }
- }
- return self();
- }
- public B headers(Multimap<String,String> headers) {
- if (headers!=null) {
- for (Map.Entry<String,String> entry : headers.entries()) {
- req.addHeader(entry.getKey(), entry.getValue());
- }
- }
- return self();
- }
- public R build() {
- return req;
- }
- }
-
- protected static abstract class HttpEntityEnclosingRequestBaseBuilder<B extends HttpEntityEnclosingRequestBaseBuilder<B,R>, R extends HttpEntityEnclosingRequestBase> extends HttpRequestBuilder<B, R> {
- protected HttpEntityEnclosingRequestBaseBuilder(R req) {
- super(req);
- }
- public B body(byte[] body) {
- if (body != null) {
- HttpEntity httpEntity = new ByteArrayEntity(body);
- req.setEntity(httpEntity);
- }
- return self();
- }
- }
-
- public static class HttpGetBuilder extends HttpRequestBuilder<HttpGetBuilder, HttpGet> {
- public HttpGetBuilder(URI uri) {
- super(new HttpGet(uri));
- }
- }
-
- public static class HttpHeadBuilder extends HttpRequestBuilder<HttpHeadBuilder, HttpHead> {
- public HttpHeadBuilder(URI uri) {
- super(new HttpHead(uri));
- }
- }
-
- public static class HttpDeleteBuilder extends HttpRequestBuilder<HttpDeleteBuilder, HttpDelete> {
- public HttpDeleteBuilder(URI uri) {
- super(new HttpDelete(uri));
- }
- }
-
- public static class HttpPostBuilder extends HttpEntityEnclosingRequestBaseBuilder<HttpPostBuilder, HttpPost> {
- HttpPostBuilder(URI uri) {
- super(new HttpPost(uri));
- }
- }
-
- public static class HttpFormPostBuilder extends HttpRequestBuilder<HttpFormPostBuilder, HttpPost> {
- HttpFormPostBuilder(URI uri) {
- super(new HttpPost(uri));
- }
-
- public HttpFormPostBuilder params(Map<String, String> params) {
- if (params != null) {
- Collection<NameValuePair> httpParams = new ArrayList<NameValuePair>(params.size());
- for (Entry<String, String> param : params.entrySet()) {
- httpParams.add(new BasicNameValuePair(param.getKey(), param.getValue()));
- }
- req.setEntity(new UrlEncodedFormEntity(httpParams));
- }
- return self();
- }
- }
-
- public static class HttpPutBuilder extends HttpEntityEnclosingRequestBaseBuilder<HttpPutBuilder, HttpPut> {
- public HttpPutBuilder(URI uri) {
- super(new HttpPut(uri));
- }
- }
-
- public static HttpToolResponse httpGet(HttpClient httpClient, URI uri, Map<String,String> headers) {
- HttpGet req = new HttpGetBuilder(uri).headers(headers).build();
- return execAndConsume(httpClient, req);
- }
-
- public static HttpToolResponse httpPost(HttpClient httpClient, URI uri, Map<String,String> headers, byte[] body) {
- HttpPost req = new HttpPostBuilder(uri).headers(headers).body(body).build();
- return execAndConsume(httpClient, req);
- }
-
- public static HttpToolResponse httpPut(HttpClient httpClient, URI uri, Map<String, String> headers, byte[] body) {
- HttpPut req = new HttpPutBuilder(uri).headers(headers).body(body).build();
- return execAndConsume(httpClient, req);
- }
-
- public static HttpToolResponse httpPost(HttpClient httpClient, URI uri, Map<String,String> headers, Map<String, String> params) {
- HttpPost req = new HttpFormPostBuilder(uri).headers(headers).params(params).build();
- return execAndConsume(httpClient, req);
- }
-
- public static HttpToolResponse httpDelete(HttpClient httpClient, URI uri, Map<String,String> headers) {
- HttpDelete req = new HttpDeleteBuilder(uri).headers(headers).build();
- return execAndConsume(httpClient, req);
- }
-
- public static HttpToolResponse httpHead(HttpClient httpClient, URI uri, Map<String,String> headers) {
- HttpHead req = new HttpHeadBuilder(uri).headers(headers).build();
- return execAndConsume(httpClient, req);
- }
-
- public static HttpToolResponse execAndConsume(HttpClient httpClient, HttpUriRequest req) {
- long startTime = System.currentTimeMillis();
- try {
- HttpResponse httpResponse = httpClient.execute(req);
-
- try {
- return new HttpToolResponse(httpResponse, startTime);
- } finally {
- EntityUtils.consume(httpResponse.getEntity());
- }
- } catch (Exception e) {
- throw Exceptions.propagate(e);
- }
- }
-
- public static boolean isStatusCodeHealthy(int code) { return (code>=200 && code<=299); }
-
- public static String toBasicAuthorizationValue(UsernamePasswordCredentials credentials) {
- return "Basic "+Base64.encodeBase64String( (credentials.getUserName()+":"+credentials.getPassword()).getBytes() );
- }
-
- public static String encodeUrlParams(Map<?,?> data) {
- if (data==null) return "";
- Iterable<String> args = Iterables.transform(data.entrySet(),
- new Function<Map.Entry<?,?>,String>() {
- @Override public String apply(Map.Entry<?,?> entry) {
- Object k = entry.getKey();
- Object v = entry.getValue();
- return URLParamEncoder.encode(Strings.toString(k)) + (v != null ? "=" + URLParamEncoder.encode(Strings.toString(v)) : "");
- }
- });
- return Joiner.on("&").join(args);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/java/org/apache/brooklyn/util/core/http/HttpToolResponse.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/http/HttpToolResponse.java b/core/src/main/java/org/apache/brooklyn/util/core/http/HttpToolResponse.java
deleted file mode 100644
index ad768f7..0000000
--- a/core/src/main/java/org/apache/brooklyn/util/core/http/HttpToolResponse.java
+++ /dev/null
@@ -1,184 +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.apache.brooklyn.util.core.http;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.brooklyn.feed.http.HttpPollValue;
-import org.apache.brooklyn.util.guava.Maybe;
-import org.apache.brooklyn.util.stream.Streams;
-import org.apache.brooklyn.util.time.Duration;
-import org.apache.brooklyn.util.time.Time;
-import org.apache.http.Header;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Objects;
-import com.google.common.base.Throwables;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-import com.google.common.io.ByteStreams;
-
-public class HttpToolResponse implements HttpPollValue {
-
- private static final Logger log = LoggerFactory.getLogger(HttpToolResponse.class);
-
- private final Object mutex = new Object();
- private final HttpResponse response;
- private final long startTime;
- private final long durationMillisOfFirstResponse;
- private final long durationMillisOfFullContent;
- private int responseCode;
- private String reasonPhrase;
- private Map<String,List<String>> headerLists;
- private byte[] content;
-
-
- public HttpToolResponse(HttpResponse response, long startTime) {
- this.response = response;
- this.startTime = startTime;
-
- try {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- HttpEntity entity = response.getEntity();
- if (entity != null) {
- entity.getContentLength();
- durationMillisOfFirstResponse = Duration.sinceUtc(startTime).toMilliseconds();
-
- ByteStreams.copy(entity.getContent(), out);
- content = out.toByteArray();
-
- entity.getContentLength();
- } else {
- durationMillisOfFirstResponse = Duration.sinceUtc(startTime).toMilliseconds();
- content = new byte[0];
- }
- durationMillisOfFullContent = Duration.sinceUtc(startTime).toMilliseconds();
- if (log.isTraceEnabled())
- log.trace("HttpPollValue latency "+Time.makeTimeStringRounded(durationMillisOfFirstResponse)+" / "+Time.makeTimeStringRounded(durationMillisOfFullContent)+", content size "+content.length);
- } catch (IOException e) {
- throw Throwables.propagate(e);
- }
- }
-
- public HttpToolResponse(int responseCode, Map<String,? extends List<String>> headers, byte[] content,
- long startTime, long durationMillisOfFirstResponse, long durationMillisOfFullContent) {
- this.response = null;
- this.responseCode = responseCode;
- this.headerLists = ImmutableMap.copyOf(headers);
- this.content = content;
- this.startTime = startTime;
- this.durationMillisOfFirstResponse = durationMillisOfFirstResponse;
- this.durationMillisOfFullContent = durationMillisOfFullContent;
- }
-
- public int getResponseCode() {
- synchronized (mutex) {
- if (responseCode == 0) {
- responseCode = response.getStatusLine().getStatusCode();
- }
- }
- return responseCode;
- }
-
- public String getReasonPhrase() {
- synchronized (mutex) {
- if (reasonPhrase == null) {
- reasonPhrase = response.getStatusLine().getReasonPhrase();
- }
- }
- return reasonPhrase;
- }
-
- /** returns the timestamp (millis since 1970) when this request was started */
- public long getStartTime() {
- return startTime;
- }
-
- /** returns latency, in milliseconds, if value was initialized with a start time */
- public long getLatencyFullContent() {
- return durationMillisOfFullContent;
- }
-
- /** returns latency, in milliseconds, before response started coming in */
- public long getLatencyFirstResponse() {
- return durationMillisOfFirstResponse;
- }
-
- public Map<String, List<String>> getHeaderLists() {
- synchronized (mutex) {
- if (headerLists == null) {
- Map<String, List<String>> headerListsMutable = Maps.newLinkedHashMap();
- for (Header header : response.getAllHeaders()) {
- List<String> vals = headerListsMutable.get(header.getName());
- if (vals == null) {
- vals = new ArrayList<String>();
- headerListsMutable.put(header.getName(), vals);
- }
- vals.add(header.getValue());
- }
- headerLists = Collections.unmodifiableMap(headerListsMutable);
- }
- }
- return headerLists;
- }
-
- public byte[] getContent() {
- synchronized (mutex) {
- if (content == null) {
- InputStream in = null;
- try {
- in = response.getEntity().getContent();
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- ByteStreams.copy(in, out);
- content = out.toByteArray();
- } catch (IOException e) {
- throw Throwables.propagate(e);
- } finally {
- Streams.closeQuietly(in);
- }
- }
- }
- return content;
- }
-
- public String getContentAsString() {
- return new String(getContent());
- }
-
- public Maybe<HttpResponse> getResponse() {
- return Maybe.fromNullable(response);
- }
-
- @Override
- public String toString() {
- return Objects.toStringHelper(getClass())
- .add("responseCode", responseCode)
- .toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
----------------------------------------------------------------------
diff --git a/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties b/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
index 006b95a..2503425 100644
--- a/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
+++ b/core/src/main/resources/org/apache/brooklyn/core/mgmt/persist/deserializingClassRenames.properties
@@ -609,8 +609,8 @@ brooklyn.util.flags.FlagUtils
brooklyn.util.flags.MethodCoercions : org.apache.brooklyn.util.core.flags.MethodCoercions
brooklyn.util.flags.SetFromFlag : org.apache.brooklyn.util.core.flags.SetFromFlag
brooklyn.util.flags.TypeCoercions : org.apache.brooklyn.util.core.flags.TypeCoercions
-brooklyn.util.http.HttpTool : org.apache.brooklyn.util.core.http.HttpTool
-brooklyn.util.http.HttpToolResponse : org.apache.brooklyn.util.core.http.HttpToolResponse
+brooklyn.util.http.HttpTool : org.apache.brooklyn.util.http.HttpTool
+brooklyn.util.http.HttpToolResponse : org.apache.brooklyn.util.http.HttpToolResponse
brooklyn.util.internal.ConfigKeySelfExtracting : org.apache.brooklyn.util.core.internal.ConfigKeySelfExtracting
brooklyn.util.internal.ssh.BackoffLimitedRetryHandler : org.apache.brooklyn.util.core.internal.ssh.BackoffLimitedRetryHandler
brooklyn.util.internal.ssh.ShellAbstractTool : org.apache.brooklyn.util.core.internal.ssh.ShellAbstractTool
@@ -1417,3 +1417,5 @@ brooklyn.util.internal.Repeater
brooklyn.entity.nosql.redis.RedisClusterImpl : org.apache.brooklyn.entity.nosql.redis.RedisClusterImpl
brooklyn.test.TrustingSslSocketFactory : org.apache.brooklyn.util.http.TrustingSslSocketFactory
brooklyn.util.crypto.TrustingSslSocketFactory : org.apache.brooklyn.util.crypto.TrustingSslSocketFactory
+
+org.apache.brooklyn.test.TrustingSslSocketFactory : org.apache.brooklyn.util.http.TrustingSslSocketFactory
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/test/java/org/apache/brooklyn/core/entity/EntityAssertsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/entity/EntityAssertsTest.java b/core/src/test/java/org/apache/brooklyn/core/entity/EntityAssertsTest.java
index 563b0ea..8a9d480 100644
--- a/core/src/test/java/org/apache/brooklyn/core/entity/EntityAssertsTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/entity/EntityAssertsTest.java
@@ -211,7 +211,7 @@ public class EntityAssertsTest extends BrooklynAppUnitTestSupport {
@Test
public void shouldAssertAttributeNever() {
entity.sensors().set(TestEntity.NAME, "ever");
- EntityAsserts.assertAttributeNever(ImmutableMap.of("timeout", "5s"), entity, TestEntity.NAME, "after");
+ EntityAsserts.assertAttributeContinuallyNotEqualTo(ImmutableMap.of("timeout", "5s"), entity, TestEntity.NAME, "after");
}
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java b/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java
index 3ba426e..63c3c5b 100644
--- a/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java
+++ b/core/src/test/java/org/apache/brooklyn/feed/http/HttpFeedTest.java
@@ -38,14 +38,11 @@ import org.apache.brooklyn.core.feed.PollConfig;
import org.apache.brooklyn.core.sensor.Sensors;
import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.feed.http.HttpFeed;
-import org.apache.brooklyn.feed.http.HttpPollConfig;
-import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.brooklyn.test.Asserts;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.core.http.BetterMockWebServer;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.guava.Functionals;
import org.apache.brooklyn.util.net.Networking;
import org.apache.brooklyn.util.time.Duration;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/test/java/org/apache/brooklyn/feed/http/HttpValueFunctionsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/feed/http/HttpValueFunctionsTest.java b/core/src/test/java/org/apache/brooklyn/feed/http/HttpValueFunctionsTest.java
index 23ffae3..84c7993 100644
--- a/core/src/test/java/org/apache/brooklyn/feed/http/HttpValueFunctionsTest.java
+++ b/core/src/test/java/org/apache/brooklyn/feed/http/HttpValueFunctionsTest.java
@@ -25,8 +25,7 @@ import static org.testng.Assert.assertTrue;
import java.util.NoSuchElementException;
-import org.apache.brooklyn.feed.http.HttpValueFunctions;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/core/src/test/java/org/apache/brooklyn/util/core/http/HttpToolIntegrationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/util/core/http/HttpToolIntegrationTest.java b/core/src/test/java/org/apache/brooklyn/util/core/http/HttpToolIntegrationTest.java
index 2c12357..8a5f4f3 100644
--- a/core/src/test/java/org/apache/brooklyn/util/core/http/HttpToolIntegrationTest.java
+++ b/core/src/test/java/org/apache/brooklyn/util/core/http/HttpToolIntegrationTest.java
@@ -28,8 +28,8 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.apache.brooklyn.core.location.PortRanges;
import org.apache.brooklyn.core.test.HttpService;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import com.google.common.collect.ImmutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/locations/jclouds/src/test/java/org/apache/brooklyn/core/mgmt/persist/jclouds/BlobStoreExpiryTest.java
----------------------------------------------------------------------
diff --git a/locations/jclouds/src/test/java/org/apache/brooklyn/core/mgmt/persist/jclouds/BlobStoreExpiryTest.java b/locations/jclouds/src/test/java/org/apache/brooklyn/core/mgmt/persist/jclouds/BlobStoreExpiryTest.java
index fd425fc..db09c84 100644
--- a/locations/jclouds/src/test/java/org/apache/brooklyn/core/mgmt/persist/jclouds/BlobStoreExpiryTest.java
+++ b/locations/jclouds/src/test/java/org/apache/brooklyn/core/mgmt/persist/jclouds/BlobStoreExpiryTest.java
@@ -34,8 +34,8 @@ import org.apache.brooklyn.core.location.LocationConfigKeys;
import org.apache.brooklyn.core.location.cloud.CloudLocationConfig;
import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.text.Identifiers;
import org.apache.brooklyn.util.time.Duration;
import org.apache.brooklyn.util.time.Time;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java
index 747aeab..8b28607 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorImpl.java
@@ -38,7 +38,7 @@ import org.apache.brooklyn.feed.http.HttpPollConfig;
import org.apache.brooklyn.util.collections.Jsonya;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.core.task.DynamicTasks;
import org.apache.brooklyn.util.core.task.Tasks;
import org.apache.brooklyn.util.net.Urls;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
index e85b335..e9a116f 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
import org.apache.brooklyn.util.collections.Jsonya;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.core.task.DynamicTasks;
import org.apache.brooklyn.util.core.task.TaskTags;
import org.apache.brooklyn.util.core.task.Tasks;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClient.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClient.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClient.java
index dd2db70..200141b 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClient.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClient.java
@@ -20,8 +20,8 @@ package org.apache.brooklyn.entity.brooklynnode;
import java.util.Map;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClientImpl.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClientImpl.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClientImpl.java
index 8d8a396..ab08924 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClientImpl.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/EntityHttpClientImpl.java
@@ -28,8 +28,8 @@ import org.apache.brooklyn.api.sensor.AttributeSensor;
import org.apache.brooklyn.config.ConfigKey;
import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.core.task.Tasks;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.net.Urls;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/RemoteEffectorBuilder.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/RemoteEffectorBuilder.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/RemoteEffectorBuilder.java
index cf68641..23d5f6c 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/RemoteEffectorBuilder.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/RemoteEffectorBuilder.java
@@ -26,7 +26,7 @@ import org.apache.brooklyn.api.effector.Effector;
import org.apache.brooklyn.core.effector.Effectors;
import org.apache.brooklyn.core.effector.Effectors.EffectorBuilder;
import org.apache.brooklyn.entity.brooklynnode.BrooklynEntityMirrorImpl.RemoteEffector;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import com.google.common.base.Function;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityModeEffectorBody.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityModeEffectorBody.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityModeEffectorBody.java
index 17baf37..36bee5a 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityModeEffectorBody.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityModeEffectorBody.java
@@ -29,7 +29,7 @@ import org.apache.brooklyn.entity.brooklynnode.BrooklynNode.SetHighAvailabilityM
import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.brooklyn.feed.http.JsonFunctions;
import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.guava.Functionals;
import org.apache.brooklyn.util.javalang.Enums;
import org.apache.http.HttpStatus;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityPriorityEffectorBody.java
----------------------------------------------------------------------
diff --git a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityPriorityEffectorBody.java b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityPriorityEffectorBody.java
index 3560d49..690f1a9 100644
--- a/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityPriorityEffectorBody.java
+++ b/software/base/src/main/java/org/apache/brooklyn/entity/brooklynnode/effector/SetHighAvailabilityPriorityEffectorBody.java
@@ -25,7 +25,7 @@ import org.apache.brooklyn.entity.brooklynnode.BrooklynNode;
import org.apache.brooklyn.entity.brooklynnode.EntityHttpClient;
import org.apache.brooklyn.entity.brooklynnode.BrooklynNode.SetHighAvailabilityPriorityEffector;
import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.http.HttpStatus;
import com.google.common.base.Preconditions;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java b/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
index 92ec962..16c1e9c 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeIntegrationTest.java
@@ -43,10 +43,6 @@ import org.apache.brooklyn.core.location.Locations;
import org.apache.brooklyn.core.location.PortRanges;
import org.apache.brooklyn.core.objs.proxy.EntityProxyImpl;
import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
-import org.apache.brooklyn.entity.brooklynnode.BrooklynEntityMirror;
-import org.apache.brooklyn.entity.brooklynnode.BrooklynNode;
-import org.apache.brooklyn.entity.brooklynnode.BrooklynNodeImpl;
-import org.apache.brooklyn.entity.brooklynnode.BrooklynNodeSshDriver;
import org.apache.brooklyn.entity.brooklynnode.BrooklynNode.DeployBlueprintEffector;
import org.apache.brooklyn.entity.brooklynnode.BrooklynNode.ExistingFileBehaviour;
import org.apache.brooklyn.entity.brooklynnode.BrooklynNode.StopNodeAndKillAppsEffector;
@@ -59,8 +55,8 @@ import org.apache.brooklyn.test.EntityTestUtils;
import org.apache.brooklyn.test.HttpTestUtils;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.guava.Functionals;
import org.apache.brooklyn.util.javalang.JavaClassNames;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/CallbackEntityHttpClient.java
----------------------------------------------------------------------
diff --git a/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/CallbackEntityHttpClient.java b/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/CallbackEntityHttpClient.java
index c933b9d..c6a7120 100644
--- a/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/CallbackEntityHttpClient.java
+++ b/software/base/src/test/java/org/apache/brooklyn/entity/brooklynnode/CallbackEntityHttpClient.java
@@ -23,9 +23,8 @@ import java.util.List;
import java.util.Map;
import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.entity.brooklynnode.EntityHttpClient;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
-import org.apache.brooklyn.util.core.http.HttpTool.HttpClientBuilder;
+import org.apache.brooklyn.util.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool.HttpClientBuilder;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
index 6e39f7d..4396ed1 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java
@@ -50,6 +50,7 @@ import org.apache.brooklyn.feed.http.HttpFeed;
import org.apache.brooklyn.feed.http.HttpPollConfig;
import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.brooklyn.feed.http.JsonFunctions;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.brooklyn.util.collections.CollectionFunctionals;
@@ -562,8 +563,8 @@ public class CouchbaseClusterImpl extends DynamicClusterImpl implements Couchbas
.onFailureOrException(new Function<Object, Boolean>() {
@Override
public Boolean apply(Object input) {
- if (input instanceof org.apache.brooklyn.util.core.http.HttpToolResponse) {
- if (((org.apache.brooklyn.util.core.http.HttpToolResponse) input).getResponseCode() == 404) {
+ if (input instanceof HttpToolResponse) {
+ if (((HttpToolResponse) input).getResponseCode() == 404) {
return true;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeImpl.java
index d227a4a..049253f 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeImpl.java
@@ -45,8 +45,8 @@ import org.slf4j.LoggerFactory;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.collections.MutableSet;
import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.core.task.Tasks;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.guava.Functionals;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeSshDriver.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeSshDriver.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeSshDriver.java
index fe2c788..915f06a 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeSshDriver.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeSshDriver.java
@@ -46,8 +46,8 @@ import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.brooklyn.location.ssh.SshMachineLocation;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.core.task.DynamicTasks;
import org.apache.brooklyn.util.core.task.TaskBuilder;
import org.apache.brooklyn.util.core.task.TaskTags;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java
index 413b82c..c707ee6 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeImpl.java
@@ -27,7 +27,7 @@ import org.apache.brooklyn.feed.http.HttpFeed;
import org.apache.brooklyn.feed.http.HttpPollConfig;
import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.brooklyn.feed.http.JsonFunctions;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.guava.Functionals;
import org.apache.brooklyn.util.guava.Maybe;
import org.apache.brooklyn.util.guava.MaybeFunctions;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchClusterIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchClusterIntegrationTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchClusterIntegrationTest.java
index 211c754..eacc57f 100644
--- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchClusterIntegrationTest.java
+++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchClusterIntegrationTest.java
@@ -34,8 +34,8 @@ import org.apache.brooklyn.entity.group.DynamicCluster;
import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.brooklyn.test.Asserts;
import org.apache.brooklyn.test.EntityTestUtils;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.http.client.methods.HttpGet;
import org.bouncycastle.util.Strings;
import org.slf4j.Logger;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java
index a908886..e6412f8 100644
--- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java
+++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/elasticsearch/ElasticSearchNodeIntegrationTest.java
@@ -32,8 +32,8 @@ import org.apache.brooklyn.core.entity.trait.Startable;
import org.apache.brooklyn.core.test.entity.TestApplication;
import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.brooklyn.test.EntityTestUtils;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.http.client.methods.HttpGet;
import org.bouncycastle.util.Strings;
import org.testng.annotations.AfterMethod;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingDnsServiceImpl.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingDnsServiceImpl.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingDnsServiceImpl.java
index 3e88805..4273dac 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingDnsServiceImpl.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingDnsServiceImpl.java
@@ -34,7 +34,7 @@ import org.apache.brooklyn.entity.dns.geoscaling.GeoscalingWebClient.SmartSubdom
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.brooklyn.util.collections.MutableSet;
-import org.apache.brooklyn.util.core.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpTool;
import org.apache.brooklyn.util.text.Identifiers;
import org.apache.brooklyn.util.text.Strings;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClient.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClient.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClient.java
index ac0b934..f882e57 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClient.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClient.java
@@ -28,7 +28,7 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.brooklyn.util.core.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpTool;
import org.apache.brooklyn.util.text.Strings;
import org.apache.commons.io.FilenameUtils;
import org.apache.http.HttpEntity;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
index 2326228..94b9732 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java
@@ -46,8 +46,8 @@ import org.apache.brooklyn.feed.http.HttpPollConfig;
import org.apache.brooklyn.feed.http.HttpValueFunctions;
import org.apache.brooklyn.util.core.ResourceUtils;
import org.apache.brooklyn.util.core.file.ArchiveUtils;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.guava.Functionals;
import org.apache.brooklyn.util.stream.Streams;
import org.apache.brooklyn.util.text.Strings;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClientTest.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClientTest.java b/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClientTest.java
index e8b452e..8dc566b 100644
--- a/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClientTest.java
+++ b/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingWebClientTest.java
@@ -26,10 +26,9 @@ import static org.apache.brooklyn.entity.dns.geoscaling.GeoscalingWebClient.PROV
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
-import org.apache.brooklyn.entity.dns.geoscaling.GeoscalingWebClient;
import org.apache.brooklyn.entity.dns.geoscaling.GeoscalingWebClient.Domain;
import org.apache.brooklyn.entity.dns.geoscaling.GeoscalingWebClient.SmartSubdomain;
-import org.apache.brooklyn.util.core.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpTool;
import org.apache.brooklyn.util.text.Strings;
import org.apache.http.client.HttpClient;
import org.testng.annotations.AfterMethod;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppConcurrentDeployTest.java
----------------------------------------------------------------------
diff --git a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppConcurrentDeployTest.java b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppConcurrentDeployTest.java
index fae555b..17b3954 100644
--- a/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppConcurrentDeployTest.java
+++ b/software/webapp/src/test/java/org/apache/brooklyn/entity/webapp/WebAppConcurrentDeployTest.java
@@ -35,7 +35,6 @@ import org.apache.brooklyn.api.mgmt.Task;
import org.apache.brooklyn.core.entity.Attributes;
import org.apache.brooklyn.core.entity.BrooklynConfigKeys;
import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
-import org.apache.brooklyn.entity.webapp.JavaWebAppSoftwareProcess;
import org.apache.brooklyn.entity.webapp.jboss.JBoss7Server;
import org.apache.brooklyn.entity.webapp.tomcat.TomcatServer;
import org.apache.brooklyn.test.Asserts;
@@ -43,8 +42,8 @@ import org.apache.brooklyn.test.EntityTestUtils;
import org.apache.brooklyn.test.support.TestResourceUnavailableException;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeRestTest.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeRestTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeRestTest.java
index 37b45c3..14970e9 100644
--- a/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeRestTest.java
+++ b/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynNodeRestTest.java
@@ -27,8 +27,8 @@ import org.apache.brooklyn.util.collections.Jsonya;
import org.apache.brooklyn.util.collections.MutableMap;
import org.apache.brooklyn.util.collections.MutableSet;
import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.net.Urls;
import org.apache.brooklyn.util.repeat.Repeater;
import org.apache.brooklyn.util.time.Duration;
@@ -48,10 +48,6 @@ import org.apache.brooklyn.core.entity.EntityInternal;
import org.apache.brooklyn.core.entity.factory.ApplicationBuilder;
import org.apache.brooklyn.core.test.entity.TestApplication;
import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.entity.brooklynnode.BrooklynEntityMirror;
-import org.apache.brooklyn.entity.brooklynnode.BrooklynNode;
-import org.apache.brooklyn.entity.brooklynnode.BrooklynNodeTest;
-import org.apache.brooklyn.entity.brooklynnode.SameBrooklynNodeImpl;
import org.apache.brooklyn.launcher.SimpleYamlLauncherForTests;
import org.apache.brooklyn.launcher.camp.SimpleYamlLauncher;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynWebServerTest.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynWebServerTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynWebServerTest.java
index a7ce92a..a241a9b 100644
--- a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynWebServerTest.java
+++ b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/BrooklynWebServerTest.java
@@ -22,7 +22,6 @@ import org.apache.brooklyn.core.entity.Entities;
import org.apache.brooklyn.core.internal.BrooklynProperties;
import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
-import org.apache.brooklyn.launcher.BrooklynWebServer;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
@@ -51,8 +50,8 @@ import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import org.apache.brooklyn.rest.BrooklynWebConfig;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.exceptions.Exceptions;
import com.google.common.collect.ImmutableMap;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/qa/src/main/java/org/apache/brooklyn/qa/longevity/MonitorUtils.java
----------------------------------------------------------------------
diff --git a/usage/qa/src/main/java/org/apache/brooklyn/qa/longevity/MonitorUtils.java b/usage/qa/src/main/java/org/apache/brooklyn/qa/longevity/MonitorUtils.java
index 9ca771b..c9ce875 100644
--- a/usage/qa/src/main/java/org/apache/brooklyn/qa/longevity/MonitorUtils.java
+++ b/usage/qa/src/main/java/org/apache/brooklyn/qa/longevity/MonitorUtils.java
@@ -35,8 +35,8 @@ import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.stream.StreamGobbler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
index 26d8aae..312d240 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
@@ -37,8 +37,8 @@ import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;
import org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.time.Time;
import com.fasterxml.jackson.databind.ObjectMapper;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
index 2e84c49..424c0c1 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
@@ -42,8 +42,8 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
import org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider;
import org.apache.brooklyn.test.Asserts;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.os.Os;
import org.apache.brooklyn.util.time.Duration;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
index 3cc1920..f90b677 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
@@ -32,8 +32,8 @@ import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
import org.apache.brooklyn.rest.testing.mocks.RestMockSimpleEntity;
import org.apache.brooklyn.test.HttpTestUtils;
import org.apache.brooklyn.util.collections.MutableList;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.brooklyn.util.net.Urls;
import org.apache.http.client.HttpClient;
import org.eclipse.jetty.server.Server;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
index d771236..ce3fd37 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.brooklyn.rest.resources;
-import static org.apache.brooklyn.util.core.http.HttpTool.httpClientBuilder;
+import static org.apache.brooklyn.util.http.HttpTool.httpClientBuilder;
import static org.testng.Assert.assertEquals;
import java.net.URI;
@@ -33,8 +33,8 @@ import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
import org.apache.brooklyn.rest.security.provider.TestSecurityProvider;
import org.apache.brooklyn.test.HttpTestUtils;
-import org.apache.brooklyn.util.core.http.HttpTool;
-import org.apache.brooklyn.util.core.http.HttpToolResponse;
+import org.apache.brooklyn.util.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpToolResponse;
import org.apache.http.HttpStatus;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.HttpClient;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonSerializerTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonSerializerTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonSerializerTest.java
index d4bee91..6280cb0 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonSerializerTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonSerializerTest.java
@@ -47,7 +47,7 @@ import org.apache.brooklyn.core.test.entity.TestEntity;
import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.http.HttpTool;
+import org.apache.brooklyn.util.http.HttpTool;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.stream.Streams;
import org.apache.brooklyn.util.text.Strings;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/test-support/src/main/java/org/apache/brooklyn/test/EntityTestUtils.java
----------------------------------------------------------------------
diff --git a/usage/test-support/src/main/java/org/apache/brooklyn/test/EntityTestUtils.java b/usage/test-support/src/main/java/org/apache/brooklyn/test/EntityTestUtils.java
index 6a72324..5b1e22b 100644
--- a/usage/test-support/src/main/java/org/apache/brooklyn/test/EntityTestUtils.java
+++ b/usage/test-support/src/main/java/org/apache/brooklyn/test/EntityTestUtils.java
@@ -48,12 +48,11 @@ import com.google.common.collect.Sets;
/**
* A utility class containing tests on Entities.
*
- * @deprecated Prefer core assertions org.apache.brooklyn.entity.EntityAsserts.
+ * @deprecated Prefer core assertions class org.apache.brooklyn.core.entity.EntityAsserts.
*/
@Deprecated
public class EntityTestUtils {
- // TODO would be nice to have this... perhaps moving this class, or perhaps this whole project, to core/src/test ?
// public static LocalManagementContext newManagementContext() { return new LocalManagementContextForTests(); }
// TODO Delete methods from TestUtils, to just have them here (or switch so TestUtils delegates here,
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/usage/test-support/src/main/java/org/apache/brooklyn/test/HttpTestUtils.java
----------------------------------------------------------------------
diff --git a/usage/test-support/src/main/java/org/apache/brooklyn/test/HttpTestUtils.java b/usage/test-support/src/main/java/org/apache/brooklyn/test/HttpTestUtils.java
index c0089bd..b5a1536 100644
--- a/usage/test-support/src/main/java/org/apache/brooklyn/test/HttpTestUtils.java
+++ b/usage/test-support/src/main/java/org/apache/brooklyn/test/HttpTestUtils.java
@@ -61,7 +61,7 @@ import com.google.common.util.concurrent.ListeningExecutorService;
*
* @author aled
*
- * @deprecated Prefer org.apache.brooklyn.util.http.HttpUtils which has no TestNG dependencies.
+ * @deprecated Prefer org.apache.brooklyn.util.http.HttpAsserts which has no TestNG dependencies.
*/
@Deprecated
public class HttpTestUtils {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/03dbd281/utils/common/pom.xml
----------------------------------------------------------------------
diff --git a/utils/common/pom.xml b/utils/common/pom.xml
index c973003..8bc0ae9 100644
--- a/utils/common/pom.xml
+++ b/utils/common/pom.xml
@@ -58,6 +58,10 @@
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>