brooklyn-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hadr...@apache.org
Subject [18/28] incubator-brooklyn git commit: brooklyn-rest-server: add org.apache package prefix
Date Sun, 09 Aug 2015 02:55:25 GMT
brooklyn-rest-server: add org.apache package prefix


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/a9e5ca55
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/a9e5ca55
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/a9e5ca55

Branch: refs/heads/master
Commit: a9e5ca55faeee67aba23d340b9c8d183f3574125
Parents: cc4ffb9
Author: Ciprian Ciubotariu <cheepeero@gmx.net>
Authored: Fri Aug 7 14:42:08 2015 +0300
Committer: Ciprian Ciubotariu <cheepeero@gmx.net>
Committed: Fri Aug 7 15:56:42 2015 +0300

----------------------------------------------------------------------
 brooklyn-install.sh                             |   2 +-
 docs/guide/ops/brooklyn_properties.md           |  10 +-
 docs/guide/start/brooklyn.properties            |   2 +-
 .../main/java/org/apache/brooklyn/cli/Main.java |   4 +-
 .../brooklyn/cli/lister/ItemDescriptors.java    |   6 +-
 .../jsgui/BrooklynJavascriptGuiLauncher.java    |   2 +-
 .../BrooklynJavascriptGuiLauncherTest.java      |   2 +-
 .../brooklyn/launcher/BrooklynLauncher.java     |   8 +-
 .../brooklyn/launcher/BrooklynWebServer.java    |  22 +-
 .../launcher/config/BrooklynGlobalConfig.java   |   2 +-
 .../BrooklynEntityMirrorIntegrationTest.java    |   2 +-
 .../launcher/BrooklynWebServerTest.java         |   2 +-
 .../brooklyn/launcher/WebAppRunnerTest.java     |   4 +-
 usage/rest-api/src/main/webapp/WEB-INF/web.xml  |  10 +-
 .../ApplicationResourceIntegrationTest.java     |   4 +-
 .../rest/client/BrooklynApiRestClientTest.java  |   6 +-
 .../rest-client/src/test/webapp/WEB-INF/web.xml |  38 +-
 .../java/brooklyn/rest/BrooklynRestApi.java     |  89 ---
 .../java/brooklyn/rest/BrooklynWebConfig.java   | 155 -----
 .../BrooklynPropertiesSecurityFilter.java       | 176 ------
 .../rest/filter/HaHotCheckResourceFilter.java   | 151 -----
 .../rest/filter/HaHotStateRequired.java         |  36 --
 .../rest/filter/HaMasterCheckFilter.java        | 140 -----
 .../brooklyn/rest/filter/LoggingFilter.java     | 160 -----
 .../brooklyn/rest/filter/NoCacheFilter.java     |  40 --
 .../rest/filter/RequestTaggingFilter.java       |  62 --
 .../resources/AbstractBrooklynRestResource.java | 153 -----
 .../brooklyn/rest/resources/AccessResource.java |  46 --
 .../rest/resources/ActivityResource.java        |  67 ---
 .../brooklyn/rest/resources/ApidocResource.java |  29 -
 .../rest/resources/ApplicationResource.java     | 463 --------------
 .../rest/resources/CatalogResource.java         | 481 ---------------
 .../rest/resources/EffectorResource.java        | 115 ----
 .../rest/resources/EntityConfigResource.java    | 153 -----
 .../brooklyn/rest/resources/EntityResource.java | 225 -------
 .../rest/resources/LocationResource.java        | 185 ------
 .../rest/resources/PolicyConfigResource.java    | 109 ----
 .../brooklyn/rest/resources/PolicyResource.java | 133 -----
 .../brooklyn/rest/resources/ScriptResource.java |  99 ---
 .../brooklyn/rest/resources/SensorResource.java | 150 -----
 .../brooklyn/rest/resources/ServerResource.java | 496 ---------------
 .../brooklyn/rest/resources/UsageResource.java  | 257 --------
 .../rest/resources/VersionResource.java         |  32 -
 .../brooklyn/rest/security/PasswordHasher.java  |  32 -
 .../provider/AbstractSecurityProvider.java      |  56 --
 .../provider/AnyoneSecurityProvider.java        |  40 --
 .../provider/BlackholeSecurityProvider.java     |  40 --
 ...nUserWithRandomPasswordSecurityProvider.java |  68 ---
 .../provider/DelegatingSecurityProvider.java    | 156 -----
 .../provider/ExplicitUsersSecurityProvider.java | 103 ----
 .../security/provider/LdapSecurityProvider.java | 131 ----
 .../security/provider/SecurityProvider.java     |  35 --
 .../rest/transform/AccessTransformer.java       |  39 --
 .../rest/transform/ApplicationTransformer.java  | 116 ----
 .../transform/BrooklynFeatureTransformer.java   |  45 --
 .../rest/transform/CatalogTransformer.java      | 163 -----
 .../rest/transform/EffectorTransformer.java     |  86 ---
 .../rest/transform/EntityTransformer.java       | 155 -----
 .../transform/HighAvailabilityTransformer.java  |  50 --
 .../rest/transform/LocationTransformer.java     | 194 ------
 .../rest/transform/PolicyTransformer.java       |  84 ---
 .../rest/transform/SensorTransformer.java       |  85 ---
 .../rest/transform/TaskTransformer.java         | 147 -----
 .../rest/util/BrooklynRestResourceUtils.java    | 564 -----------------
 .../rest/util/DefaultExceptionMapper.java       | 102 ----
 .../brooklyn/rest/util/EntityLocationUtils.java |  85 ---
 .../brooklyn/rest/util/FormMapProvider.java     |  81 ---
 .../rest/util/ManagementContextProvider.java    |  33 -
 .../brooklyn/rest/util/ShutdownHandler.java     |  23 -
 .../rest/util/ShutdownHandlerProvider.java      |  30 -
 .../brooklyn/rest/util/URLParamEncoder.java     |  27 -
 .../brooklyn/rest/util/WebResourceUtils.java    | 162 -----
 .../rest/util/json/BidiSerialization.java       | 175 ------
 .../util/json/BrooklynJacksonJsonProvider.java  | 172 ------
 .../json/ConfigurableSerializerProvider.java    |  94 ---
 .../ErrorAndToStringUnknownTypeSerializer.java  | 125 ----
 .../rest/util/json/MultimapSerializer.java      |  62 --
 ...StrictPreferringFieldsVisibilityChecker.java | 107 ----
 .../apache/brooklyn/rest/BrooklynRestApi.java   |  89 +++
 .../apache/brooklyn/rest/BrooklynWebConfig.java | 155 +++++
 .../BrooklynPropertiesSecurityFilter.java       | 176 ++++++
 .../rest/filter/HaHotCheckResourceFilter.java   | 151 +++++
 .../rest/filter/HaHotStateRequired.java         |  36 ++
 .../rest/filter/HaMasterCheckFilter.java        | 140 +++++
 .../brooklyn/rest/filter/LoggingFilter.java     | 160 +++++
 .../brooklyn/rest/filter/NoCacheFilter.java     |  40 ++
 .../rest/filter/RequestTaggingFilter.java       |  62 ++
 .../resources/AbstractBrooklynRestResource.java | 153 +++++
 .../brooklyn/rest/resources/AccessResource.java |  46 ++
 .../rest/resources/ActivityResource.java        |  67 +++
 .../brooklyn/rest/resources/ApidocResource.java |  29 +
 .../rest/resources/ApplicationResource.java     | 463 ++++++++++++++
 .../rest/resources/CatalogResource.java         | 481 +++++++++++++++
 .../rest/resources/EffectorResource.java        | 115 ++++
 .../rest/resources/EntityConfigResource.java    | 153 +++++
 .../brooklyn/rest/resources/EntityResource.java | 225 +++++++
 .../rest/resources/LocationResource.java        | 185 ++++++
 .../rest/resources/PolicyConfigResource.java    | 109 ++++
 .../brooklyn/rest/resources/PolicyResource.java | 133 +++++
 .../brooklyn/rest/resources/ScriptResource.java |  99 +++
 .../brooklyn/rest/resources/SensorResource.java | 150 +++++
 .../brooklyn/rest/resources/ServerResource.java | 496 +++++++++++++++
 .../brooklyn/rest/resources/UsageResource.java  | 257 ++++++++
 .../rest/resources/VersionResource.java         |  32 +
 .../brooklyn/rest/security/PasswordHasher.java  |  32 +
 .../provider/AbstractSecurityProvider.java      |  56 ++
 .../provider/AnyoneSecurityProvider.java        |  40 ++
 .../provider/BlackholeSecurityProvider.java     |  40 ++
 ...nUserWithRandomPasswordSecurityProvider.java |  68 +++
 .../provider/DelegatingSecurityProvider.java    | 156 +++++
 .../provider/ExplicitUsersSecurityProvider.java | 103 ++++
 .../security/provider/LdapSecurityProvider.java | 131 ++++
 .../security/provider/SecurityProvider.java     |  35 ++
 .../rest/transform/AccessTransformer.java       |  39 ++
 .../rest/transform/ApplicationTransformer.java  | 116 ++++
 .../transform/BrooklynFeatureTransformer.java   |  45 ++
 .../rest/transform/CatalogTransformer.java      | 163 +++++
 .../rest/transform/EffectorTransformer.java     |  86 +++
 .../rest/transform/EntityTransformer.java       | 155 +++++
 .../transform/HighAvailabilityTransformer.java  |  50 ++
 .../rest/transform/LocationTransformer.java     | 194 ++++++
 .../rest/transform/PolicyTransformer.java       |  84 +++
 .../rest/transform/SensorTransformer.java       |  85 +++
 .../rest/transform/TaskTransformer.java         | 147 +++++
 .../rest/util/BrooklynRestResourceUtils.java    | 564 +++++++++++++++++
 .../rest/util/DefaultExceptionMapper.java       | 102 ++++
 .../brooklyn/rest/util/EntityLocationUtils.java |  85 +++
 .../brooklyn/rest/util/FormMapProvider.java     |  81 +++
 .../rest/util/ManagementContextProvider.java    |  33 +
 .../brooklyn/rest/util/ShutdownHandler.java     |  23 +
 .../rest/util/ShutdownHandlerProvider.java      |  30 +
 .../brooklyn/rest/util/URLParamEncoder.java     |  27 +
 .../brooklyn/rest/util/WebResourceUtils.java    | 162 +++++
 .../rest/util/json/BidiSerialization.java       | 175 ++++++
 .../util/json/BrooklynJacksonJsonProvider.java  | 172 ++++++
 .../json/ConfigurableSerializerProvider.java    |  94 +++
 .../ErrorAndToStringUnknownTypeSerializer.java  | 125 ++++
 .../rest/util/json/MultimapSerializer.java      |  62 ++
 ...StrictPreferringFieldsVisibilityChecker.java | 107 ++++
 .../rest-server/src/main/webapp/WEB-INF/web.xml |  38 +-
 .../config/render/TestRendererHints.java        |   2 +
 .../brooklynnode/DeployBlueprintTest.java       |  90 ---
 .../BrooklynPropertiesSecurityFilterTest.java   | 111 ----
 .../brooklyn/rest/BrooklynRestApiLauncher.java  | 433 --------------
 .../rest/BrooklynRestApiLauncherTest.java       |  76 ---
 .../BrooklynRestApiLauncherTestFixture.java     | 110 ----
 .../test/java/brooklyn/rest/HaHotCheckTest.java | 130 ----
 .../brooklyn/rest/HaMasterCheckFilterTest.java  | 219 -------
 .../brooklyn/rest/domain/ApplicationTest.java   |  94 ---
 .../rest/domain/LocationSummaryTest.java        |  55 --
 .../brooklyn/rest/domain/SensorSummaryTest.java | 102 ----
 .../rest/resources/AccessResourceTest.java      |  68 ---
 .../rest/resources/ApiDocResourceTest.java      | 138 -----
 .../ApplicationResourceIntegrationTest.java     | 134 -----
 .../rest/resources/ApplicationResourceTest.java | 598 -------------------
 .../rest/resources/CatalogResetTest.java        | 113 ----
 .../rest/resources/CatalogResourceTest.java     | 432 --------------
 .../rest/resources/DelegatingPrintStream.java   | 183 ------
 .../rest/resources/DescendantsTest.java         | 134 -----
 .../resources/EntityConfigResourceTest.java     | 173 ------
 .../rest/resources/EntityResourceTest.java      | 190 ------
 .../rest/resources/ErrorResponseTest.java       |  98 ---
 .../rest/resources/LocationResourceTest.java    | 189 ------
 .../rest/resources/PolicyResourceTest.java      | 145 -----
 .../rest/resources/ScriptResourceTest.java      |  53 --
 .../SensorResourceIntegrationTest.java          |  83 ---
 .../rest/resources/SensorResourceTest.java      | 272 ---------
 .../ServerResourceIntegrationTest.java          | 126 ----
 .../rest/resources/ServerResourceTest.java      | 176 ------
 .../rest/resources/ServerShutdownTest.java      | 187 ------
 .../rest/resources/UsageResourceTest.java       | 447 --------------
 .../rest/resources/VersionResourceTest.java     |  50 --
 .../rest/security/PasswordHasherTest.java       |  37 --
 .../security/provider/TestSecurityProvider.java |  46 --
 .../rest/testing/BrooklynRestApiTest.java       | 185 ------
 .../rest/testing/BrooklynRestResourceTest.java  | 155 -----
 .../rest/testing/mocks/CapitalizePolicy.java    |  32 -
 .../rest/testing/mocks/EverythingGroup.java     |  27 -
 .../rest/testing/mocks/EverythingGroupImpl.java |  32 -
 .../rest/testing/mocks/NameMatcherGroup.java    |  30 -
 .../testing/mocks/NameMatcherGroupImpl.java     |  33 -
 .../rest/testing/mocks/RestMockApp.java         |  24 -
 .../rest/testing/mocks/RestMockAppBuilder.java  |  39 --
 .../testing/mocks/RestMockSimpleEntity.java     | 104 ----
 .../testing/mocks/RestMockSimplePolicy.java     |  65 --
 .../util/BrooklynRestResourceUtilsTest.java     | 215 -------
 .../rest/util/EntityLocationUtilsTest.java      |  73 ---
 .../rest/util/HaHotStateCheckClassResource.java |  38 --
 .../rest/util/HaHotStateCheckResource.java      |  44 --
 .../util/NullHttpServletRequestProvider.java    |  46 --
 .../rest/util/NullServletConfigProvider.java    |  46 --
 .../brooklyn/rest/util/TestShutdownHandler.java |  39 --
 .../json/BrooklynJacksonSerializerTest.java     | 399 -------------
 .../brooklynnode/DeployBlueprintTest.java       |  91 +++
 .../BrooklynPropertiesSecurityFilterTest.java   | 111 ++++
 .../brooklyn/rest/BrooklynRestApiLauncher.java  | 433 ++++++++++++++
 .../rest/BrooklynRestApiLauncherTest.java       |  76 +++
 .../BrooklynRestApiLauncherTestFixture.java     | 110 ++++
 .../apache/brooklyn/rest/HaHotCheckTest.java    | 130 ++++
 .../brooklyn/rest/HaMasterCheckFilterTest.java  | 219 +++++++
 .../brooklyn/rest/domain/ApplicationTest.java   |  98 +++
 .../rest/domain/LocationSummaryTest.java        |  57 ++
 .../brooklyn/rest/domain/SensorSummaryTest.java | 103 ++++
 .../rest/resources/AccessResourceTest.java      |  68 +++
 .../rest/resources/ApiDocResourceTest.java      | 138 +++++
 .../ApplicationResourceIntegrationTest.java     | 134 +++++
 .../rest/resources/ApplicationResourceTest.java | 598 +++++++++++++++++++
 .../rest/resources/CatalogResetTest.java        | 113 ++++
 .../rest/resources/CatalogResourceTest.java     | 432 ++++++++++++++
 .../rest/resources/DelegatingPrintStream.java   | 183 ++++++
 .../rest/resources/DescendantsTest.java         | 134 +++++
 .../resources/EntityConfigResourceTest.java     | 173 ++++++
 .../rest/resources/EntityResourceTest.java      | 190 ++++++
 .../rest/resources/ErrorResponseTest.java       |  98 +++
 .../rest/resources/LocationResourceTest.java    | 189 ++++++
 .../rest/resources/PolicyResourceTest.java      | 145 +++++
 .../rest/resources/ScriptResourceTest.java      |  53 ++
 .../SensorResourceIntegrationTest.java          |  83 +++
 .../rest/resources/SensorResourceTest.java      | 272 +++++++++
 .../ServerResourceIntegrationTest.java          | 126 ++++
 .../rest/resources/ServerResourceTest.java      | 176 ++++++
 .../rest/resources/ServerShutdownTest.java      | 187 ++++++
 .../rest/resources/UsageResourceTest.java       | 447 ++++++++++++++
 .../rest/resources/VersionResourceTest.java     |  50 ++
 .../rest/security/PasswordHasherTest.java       |  37 ++
 .../security/provider/TestSecurityProvider.java |  46 ++
 .../rest/testing/BrooklynRestApiTest.java       | 185 ++++++
 .../rest/testing/BrooklynRestResourceTest.java  | 155 +++++
 .../rest/testing/mocks/CapitalizePolicy.java    |  32 +
 .../rest/testing/mocks/EverythingGroup.java     |  27 +
 .../rest/testing/mocks/EverythingGroupImpl.java |  32 +
 .../rest/testing/mocks/NameMatcherGroup.java    |  30 +
 .../testing/mocks/NameMatcherGroupImpl.java     |  33 +
 .../rest/testing/mocks/RestMockApp.java         |  24 +
 .../rest/testing/mocks/RestMockAppBuilder.java  |  39 ++
 .../testing/mocks/RestMockSimpleEntity.java     | 104 ++++
 .../testing/mocks/RestMockSimplePolicy.java     |  65 ++
 .../util/BrooklynRestResourceUtilsTest.java     | 215 +++++++
 .../rest/util/EntityLocationUtilsTest.java      |  73 +++
 .../rest/util/HaHotStateCheckClassResource.java |  38 ++
 .../rest/util/HaHotStateCheckResource.java      |  44 ++
 .../util/NullHttpServletRequestProvider.java    |  46 ++
 .../rest/util/NullServletConfigProvider.java    |  46 ++
 .../brooklyn/rest/util/TestShutdownHandler.java |  39 ++
 .../json/BrooklynJacksonSerializerTest.java     | 399 +++++++++++++
 245 files changed, 15079 insertions(+), 15069 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/brooklyn-install.sh
----------------------------------------------------------------------
diff --git a/brooklyn-install.sh b/brooklyn-install.sh
index 95e614a..f73d83c 100755
--- a/brooklyn-install.sh
+++ b/brooklyn-install.sh
@@ -252,7 +252,7 @@ brooklyn.webconsole.security.user.${USER}.salt = ${SALT}
 brooklyn.webconsole.security.user.${USER}.sha256 = ${HASH}
 EOF
     else
-        ssh ${SSH_OPTS} ${USER}@${HOST} "sed -i.bak 's/^# brooklyn.webconsole.security.provider = brooklyn.rest.security.provider.AnyoneSecurityProvider/brooklyn.webconsole.security.provider = brooklyn.rest.security.provider.AnyoneSecurityProvider/' .brooklyn/brooklyn.properties"
+        ssh ${SSH_OPTS} ${USER}@${HOST} "sed -i.bak 's/^# brooklyn.webconsole.security.provider = org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider/brooklyn.webconsole.security.provider = org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider/' .brooklyn/brooklyn.properties"
     fi
     log "...done!"
 fi

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/docs/guide/ops/brooklyn_properties.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/brooklyn_properties.md b/docs/guide/ops/brooklyn_properties.md
index 01d087e..637dba2 100644
--- a/docs/guide/ops/brooklyn_properties.md
+++ b/docs/guide/ops/brooklyn_properties.md
@@ -104,17 +104,17 @@ Other security providers available include:
 
 ### No one
 
-`brooklyn.webconsole.security.provider=brooklyn.rest.security.provider.BlackholeSecurityProvider`
+`brooklyn.webconsole.security.provider=org.apache.brooklyn.rest.security.provider.BlackholeSecurityProvider`
 will block all logins (e.g. if not using the web console)
 
 ### No security
 
-`brooklyn.webconsole.security.provider=brooklyn.rest.security.provider.AnyoneSecurityProvider`
+`brooklyn.webconsole.security.provider=org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider`
 will allow logins with no credentials (e.g. in secure dev/test environments) 
 
 ### LDAP
 
-`brooklyn.webconsole.security.provider=brooklyn.rest.security.provider.LdapSecurityProvider`
+`brooklyn.webconsole.security.provider=org.apache.brooklyn.rest.security.provider.LdapSecurityProvider`
 will cause Brooklyn to call to an LDAP server to authenticate users;
 The other things you need to set in `brooklyn.properties` are:
 
@@ -125,13 +125,13 @@ The other things you need to set in `brooklyn.properties` are:
 **brooklyn.properties example configuration:**
 
 ```
-brooklyn.webconsole.security.provider=brooklyn.rest.security.provider.LdapSecurityProvider
+brooklyn.webconsole.security.provider=org.apache.brooklyn.rest.security.provider.LdapSecurityProvider
 brooklyn.webconsole.security.ldap.url=ldap://localhost:10389/????X-BIND-USER=uid=admin%2cou=system,X-BIND-PASSWORD=secret,X-COUNT-LIMIT=1000
 brooklyn.webconsole.security.ldap.realm=example.com
 ```
 
 After you setup the brooklyn connection to your LDAP server, you can authenticate in brooklyn using your cn (e.g. John Smith) and your password.
-`brooklyn.rest.security.provider.LdapSecurityProvider` searches in the LDAP tree in LDAP://cn=John Smith,ou=Users,dc=example,dc=com
+`org.apache.brooklyn.rest.security.provider.LdapSecurityProvider` searches in the LDAP tree in LDAP://cn=John Smith,ou=Users,dc=example,dc=com
 
 If you want to customize the ldap path or something else which is particular to your LDAP setup you can extend `LdapSecurityProvider` class or implement from scratch the `SecurityProvider` interface.
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/docs/guide/start/brooklyn.properties
----------------------------------------------------------------------
diff --git a/docs/guide/start/brooklyn.properties b/docs/guide/start/brooklyn.properties
index 08bb4a3..2d6682f 100644
--- a/docs/guide/start/brooklyn.properties
+++ b/docs/guide/start/brooklyn.properties
@@ -101,7 +101,7 @@ brooklyn.location.jclouds.aws-ec2.credential = <access-key-hex-digits>
 
 ## Additional security: Allow all - if you know what you are doing! 
 ## (Or you can also plug in e.g. LDAP security etc here)
-# brooklyn.webconsole.security.provider = brooklyn.rest.security.provider.AnyoneSecurityProvider
+# brooklyn.webconsole.security.provider = org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider
 
 ## Optionally disallow deployment to localhost (or any other location)
 # brooklyn.location.localhost.enabled=false

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java
----------------------------------------------------------------------
diff --git a/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java b/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java
index 71a6d4e..04e31ab 100644
--- a/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java
+++ b/usage/cli/src/main/java/org/apache/brooklyn/cli/Main.java
@@ -90,8 +90,8 @@ import brooklyn.management.ManagementContext;
 import brooklyn.management.Task;
 import brooklyn.management.ha.HighAvailabilityMode;
 import brooklyn.management.ha.OsgiManager;
-import brooklyn.rest.security.PasswordHasher;
-import brooklyn.rest.util.ShutdownHandler;
+import org.apache.brooklyn.rest.security.PasswordHasher;
+import org.apache.brooklyn.rest.util.ShutdownHandler;
 import brooklyn.util.ResourceUtils;
 import brooklyn.util.exceptions.Exceptions;
 import brooklyn.util.exceptions.FatalConfigurationRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ItemDescriptors.java
----------------------------------------------------------------------
diff --git a/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ItemDescriptors.java b/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ItemDescriptors.java
index 3912dd9..af33289 100644
--- a/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ItemDescriptors.java
+++ b/usage/cli/src/main/java/org/apache/brooklyn/cli/lister/ItemDescriptors.java
@@ -42,9 +42,9 @@ import brooklyn.rest.domain.EffectorSummary;
 import brooklyn.rest.domain.EntityConfigSummary;
 import brooklyn.rest.domain.SensorSummary;
 import brooklyn.rest.domain.SummaryComparators;
-import brooklyn.rest.transform.EffectorTransformer;
-import brooklyn.rest.transform.EntityTransformer;
-import brooklyn.rest.transform.SensorTransformer;
+import org.apache.brooklyn.rest.transform.EffectorTransformer;
+import org.apache.brooklyn.rest.transform.EntityTransformer;
+import org.apache.brooklyn.rest.transform.SensorTransformer;
 import brooklyn.util.exceptions.RuntimeInterruptedException;
 
 import com.google.common.base.Strings;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncher.java
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncher.java b/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncher.java
index 72897d9..c32c832 100644
--- a/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncher.java
+++ b/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncher.java
@@ -25,7 +25,7 @@ import org.eclipse.jetty.webapp.WebAppContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import brooklyn.rest.BrooklynRestApiLauncher;
+import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
 import brooklyn.util.net.Networking;
 
 /** launches Javascript GUI programmatically. and used for tests.

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncherTest.java
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncherTest.java b/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncherTest.java
index cd538cc..aeab8fa 100644
--- a/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncherTest.java
+++ b/usage/jsgui/src/test/java/org/apache/brooklyn/rest/jsgui/BrooklynJavascriptGuiLauncherTest.java
@@ -26,7 +26,7 @@ import org.testng.annotations.Test;
 import brooklyn.config.BrooklynServiceAttributes;
 import brooklyn.entity.basic.Entities;
 import brooklyn.management.ManagementContext;
-import brooklyn.rest.BrooklynRestApiLauncherTestFixture;
+import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
 import brooklyn.test.Asserts;
 import brooklyn.test.HttpTestUtils;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
index ac17aa1..af09b76 100644
--- a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
+++ b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynLauncher.java
@@ -88,10 +88,10 @@ import brooklyn.management.ha.ManagementPlaneSyncRecordPersisterToObjectStore;
 import brooklyn.management.internal.LocalManagementContext;
 import brooklyn.management.internal.ManagementContextInternal;
 import brooklyn.mementos.BrooklynMementoRawData;
-import brooklyn.rest.BrooklynWebConfig;
-import brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
-import brooklyn.rest.security.provider.BrooklynUserWithRandomPasswordSecurityProvider;
-import brooklyn.rest.util.ShutdownHandler;
+import org.apache.brooklyn.rest.BrooklynWebConfig;
+import org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
+import org.apache.brooklyn.rest.security.provider.BrooklynUserWithRandomPasswordSecurityProvider;
+import org.apache.brooklyn.rest.util.ShutdownHandler;
 import brooklyn.util.exceptions.Exceptions;
 import brooklyn.util.exceptions.FatalConfigurationRuntimeException;
 import brooklyn.util.exceptions.FatalRuntimeException;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynWebServer.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynWebServer.java b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynWebServer.java
index 1f2bc5d..86750c3 100644
--- a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynWebServer.java
+++ b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/BrooklynWebServer.java
@@ -70,17 +70,17 @@ import brooklyn.location.basic.LocalhostMachineProvisioningLocation;
 import brooklyn.location.basic.PortRanges;
 import brooklyn.management.ManagementContext;
 import brooklyn.management.internal.ManagementContextInternal;
-import brooklyn.rest.BrooklynRestApi;
-import brooklyn.rest.BrooklynWebConfig;
-import brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
-import brooklyn.rest.filter.HaHotCheckResourceFilter;
-import brooklyn.rest.filter.HaMasterCheckFilter;
-import brooklyn.rest.filter.LoggingFilter;
-import brooklyn.rest.filter.NoCacheFilter;
-import brooklyn.rest.filter.RequestTaggingFilter;
-import brooklyn.rest.util.ManagementContextProvider;
-import brooklyn.rest.util.ShutdownHandler;
-import brooklyn.rest.util.ShutdownHandlerProvider;
+import org.apache.brooklyn.rest.BrooklynRestApi;
+import org.apache.brooklyn.rest.BrooklynWebConfig;
+import org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
+import org.apache.brooklyn.rest.filter.HaHotCheckResourceFilter;
+import org.apache.brooklyn.rest.filter.HaMasterCheckFilter;
+import org.apache.brooklyn.rest.filter.LoggingFilter;
+import org.apache.brooklyn.rest.filter.NoCacheFilter;
+import org.apache.brooklyn.rest.filter.RequestTaggingFilter;
+import org.apache.brooklyn.rest.util.ManagementContextProvider;
+import org.apache.brooklyn.rest.util.ShutdownHandler;
+import org.apache.brooklyn.rest.util.ShutdownHandlerProvider;
 import brooklyn.util.BrooklynNetworkUtils;
 import brooklyn.util.ResourceUtils;
 import brooklyn.util.collections.MutableMap;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/launcher/src/main/java/org/apache/brooklyn/launcher/config/BrooklynGlobalConfig.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/config/BrooklynGlobalConfig.java b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/config/BrooklynGlobalConfig.java
index 9ae0504..2e1b54d 100644
--- a/usage/launcher/src/main/java/org/apache/brooklyn/launcher/config/BrooklynGlobalConfig.java
+++ b/usage/launcher/src/main/java/org/apache/brooklyn/launcher/config/BrooklynGlobalConfig.java
@@ -23,7 +23,7 @@ import brooklyn.config.ConfigKey;
 import brooklyn.entity.basic.BrooklynConfigKeys;
 import brooklyn.location.cloud.CloudLocationConfig;
 import brooklyn.management.internal.BrooklynGarbageCollector;
-import brooklyn.rest.BrooklynWebConfig;
+import org.apache.brooklyn.rest.BrooklynWebConfig;
 import brooklyn.util.internal.BrooklynSystemProperties;
 import brooklyn.util.internal.StringSystemProperty;
 import brooklyn.util.time.Duration;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorIntegrationTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorIntegrationTest.java
index f42c574..b0ba2e7 100644
--- a/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorIntegrationTest.java
+++ b/usage/launcher/src/test/java/org/apache/brooklyn/entity/brooklynnode/BrooklynEntityMirrorIntegrationTest.java
@@ -37,7 +37,7 @@ import brooklyn.entity.proxying.EntitySpec;
 import org.apache.brooklyn.launcher.BrooklynWebServer;
 import brooklyn.management.ManagementContext;
 import brooklyn.management.ha.HighAvailabilityMode;
-import brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
+import org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
 import brooklyn.test.Asserts;
 import brooklyn.test.EntityTestUtils;
 import brooklyn.test.HttpTestUtils;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/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 9510754..be6398f 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
@@ -48,7 +48,7 @@ import org.testng.annotations.Test;
 import brooklyn.config.BrooklynProperties;
 import brooklyn.entity.basic.Entities;
 import brooklyn.management.internal.LocalManagementContext;
-import brooklyn.rest.BrooklynWebConfig;
+import org.apache.brooklyn.rest.BrooklynWebConfig;
 import brooklyn.test.entity.LocalManagementContextForTests;
 import brooklyn.util.collections.MutableMap;
 import brooklyn.util.exceptions.Exceptions;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/launcher/src/test/java/org/apache/brooklyn/launcher/WebAppRunnerTest.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/WebAppRunnerTest.java b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/WebAppRunnerTest.java
index 3aa6334..b0539d1 100644
--- a/usage/launcher/src/test/java/org/apache/brooklyn/launcher/WebAppRunnerTest.java
+++ b/usage/launcher/src/test/java/org/apache/brooklyn/launcher/WebAppRunnerTest.java
@@ -75,7 +75,7 @@ public class WebAppRunnerTest {
 
         BrooklynProperties brooklynProperties = BrooklynProperties.Factory.newEmpty();
         brooklynProperties.putAll(bigProps);
-        brooklynProperties.put("brooklyn.webconsole.security.provider","brooklyn.rest.security.provider.AnyoneSecurityProvider");
+        brooklynProperties.put("brooklyn.webconsole.security.provider","org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider");
         brooklynProperties.put("brooklyn.webconsole.security.https.required","false");
         return new BrooklynWebServer(bigProps, newManagementContext(brooklynProperties));
     }
@@ -149,7 +149,7 @@ public class WebAppRunnerTest {
 
         BrooklynLauncher launcher = BrooklynLauncher.newInstance()
                 .brooklynProperties(BrooklynProperties.Factory.newEmpty())
-                .brooklynProperties("brooklyn.webconsole.security.provider","brooklyn.rest.security.provider.AnyoneSecurityProvider")
+                .brooklynProperties("brooklyn.webconsole.security.provider","org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider")
                 .webapp("/hello", "hello-world.war")
                 .start();
         BrooklynServerDetails details = launcher.getServerDetails();

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-api/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/webapp/WEB-INF/web.xml b/usage/rest-api/src/main/webapp/WEB-INF/web.xml
index 0b34da6..27b89f8 100644
--- a/usage/rest-api/src/main/webapp/WEB-INF/web.xml
+++ b/usage/rest-api/src/main/webapp/WEB-INF/web.xml
@@ -26,7 +26,7 @@
 
     <filter>
         <filter-name>Brooklyn Request Tagging Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.RequestTaggingFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.RequestTaggingFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn Request Tagging Filter</filter-name>
@@ -35,7 +35,7 @@
 
     <filter>
         <filter-name>Brooklyn Properties Authentication Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.BrooklynPropertiesSecurityFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn Properties Authentication Filter</filter-name>
@@ -44,7 +44,7 @@
 
     <filter>
         <filter-name>Brooklyn Logging Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.LoggingFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.LoggingFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn Logging Filter</filter-name>
@@ -53,7 +53,7 @@
 
     <filter>
         <filter-name>Brooklyn HA Master Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.HaMasterCheckFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.HaMasterCheckFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn HA Master Filter</filter-name>
@@ -75,7 +75,7 @@
         <!-- load our REST API jersey resources -->
         <init-param>
             <param-name>com.sun.jersey.config.property.packages</param-name>
-            <param-value>brooklyn.rest.resources;brooklyn.rest.apidoc</param-value>
+            <param-value>org.apache.brooklyn.rest.resources;brooklyn.rest.apidoc</param-value>
         </init-param>
 
         <!-- install Jackson and turn on pojo/json serialization (could add org.codehaus.jackson.jaxrs 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/ApplicationResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/ApplicationResourceIntegrationTest.java b/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/ApplicationResourceIntegrationTest.java
index 2c0d8fb..3bfa8c2 100644
--- a/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/ApplicationResourceIntegrationTest.java
+++ b/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/ApplicationResourceIntegrationTest.java
@@ -40,8 +40,8 @@ import brooklyn.entity.basic.StartableApplication;
 import brooklyn.location.basic.BasicLocationRegistry;
 import brooklyn.management.ManagementContext;
 import brooklyn.management.internal.LocalManagementContext;
-import brooklyn.rest.BrooklynRestApiLauncher;
-import brooklyn.rest.BrooklynRestApiLauncherTest;
+import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
+import org.apache.brooklyn.rest.BrooklynRestApiLauncherTest;
 import brooklyn.rest.domain.ApplicationSpec;
 import brooklyn.rest.domain.ApplicationSummary;
 import brooklyn.rest.domain.EntitySpec;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/BrooklynApiRestClientTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/BrooklynApiRestClientTest.java b/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/BrooklynApiRestClientTest.java
index c36a456..5b5bab2 100644
--- a/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/BrooklynApiRestClientTest.java
+++ b/usage/rest-client/src/test/java/org/apache/brooklyn/rest/client/BrooklynApiRestClientTest.java
@@ -37,11 +37,11 @@ import brooklyn.entity.basic.StartableApplication;
 import brooklyn.location.basic.BasicLocationRegistry;
 import brooklyn.management.ManagementContext;
 import brooklyn.management.internal.LocalManagementContext;
-import brooklyn.rest.BrooklynRestApiLauncher;
-import brooklyn.rest.BrooklynRestApiLauncherTest;
+import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
+import org.apache.brooklyn.rest.BrooklynRestApiLauncherTest;
 import brooklyn.rest.domain.ApplicationSummary;
 import brooklyn.rest.domain.CatalogLocationSummary;
-import brooklyn.rest.security.provider.TestSecurityProvider;
+import org.apache.brooklyn.rest.security.provider.TestSecurityProvider;
 import brooklyn.test.HttpTestUtils;
 import brooklyn.test.entity.TestEntity;
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-client/src/test/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/usage/rest-client/src/test/webapp/WEB-INF/web.xml b/usage/rest-client/src/test/webapp/WEB-INF/web.xml
index 2496eef..83d76c0 100644
--- a/usage/rest-client/src/test/webapp/WEB-INF/web.xml
+++ b/usage/rest-client/src/test/webapp/WEB-INF/web.xml
@@ -26,7 +26,7 @@
 
     <filter>
         <filter-name>Brooklyn Request Tagging Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.RequestTaggingFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.RequestTaggingFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn Request Tagging Filter</filter-name>
@@ -35,7 +35,7 @@
 
     <filter>
         <filter-name>Brooklyn Properties Authentication Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.BrooklynPropertiesSecurityFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn Properties Authentication Filter</filter-name>
@@ -44,7 +44,7 @@
 
     <filter>
         <filter-name>Brooklyn Logging Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.LoggingFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.LoggingFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn Logging Filter</filter-name>
@@ -53,7 +53,7 @@
 
     <filter>
         <filter-name>Brooklyn HA Master Filter</filter-name>
-        <filter-class>brooklyn.rest.filter.HaMasterCheckFilter</filter-class>
+        <filter-class>org.apache.brooklyn.rest.filter.HaMasterCheckFilter</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>Brooklyn HA Master Filter</filter-name>
@@ -82,22 +82,22 @@
         <init-param>
             <param-name>com.sun.jersey.config.property.classnames</param-name>
             <param-value>
-                brooklyn.rest.apidoc.ApidocHelpMessageBodyWriter;
-                brooklyn.rest.util.FormMapProvider;
+                org.apache.brooklyn.rest.apidoc.ApidocHelpMessageBodyWriter;
+                org.apache.brooklyn.rest.util.FormMapProvider;
                 org.codehaus.jackson.jaxrs.JacksonJsonProvider;
-                brooklyn.rest.resources.ActivityResource;
-                brooklyn.rest.resources.ApidocResource;
-                brooklyn.rest.resources.ApplicationResource;
-                brooklyn.rest.resources.CatalogResource;
-                brooklyn.rest.resources.EffectorResource;
-                brooklyn.rest.resources.EntityConfigResource;
-                brooklyn.rest.resources.EntityResource;
-                brooklyn.rest.resources.LocationResource;
-                brooklyn.rest.resources.PolicyConfigResource;
-                brooklyn.rest.resources.PolicyResource;
-                brooklyn.rest.resources.ScriptResource;
-                brooklyn.rest.resources.SensorResource;
-                brooklyn.rest.resources.VersionResource;
+                org.apache.brooklyn.rest.resources.ActivityResource;
+                org.apache.brooklyn.rest.resources.ApidocResource;
+                org.apache.brooklyn.rest.resources.ApplicationResource;
+                org.apache.brooklyn.rest.resources.CatalogResource;
+                org.apache.brooklyn.rest.resources.EffectorResource;
+                org.apache.brooklyn.rest.resources.EntityConfigResource;
+                org.apache.brooklyn.rest.resources.EntityResource;
+                org.apache.brooklyn.rest.resources.LocationResource;
+                org.apache.brooklyn.rest.resources.PolicyConfigResource;
+                org.apache.brooklyn.rest.resources.PolicyResource;
+                org.apache.brooklyn.rest.resources.ScriptResource;
+                org.apache.brooklyn.rest.resources.SensorResource;
+                org.apache.brooklyn.rest.resources.VersionResource;
             </param-value>
         </init-param>
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/BrooklynRestApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/BrooklynRestApi.java b/usage/rest-server/src/main/java/brooklyn/rest/BrooklynRestApi.java
deleted file mode 100644
index 3e0c852..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/BrooklynRestApi.java
+++ /dev/null
@@ -1,89 +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 brooklyn.rest;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import brooklyn.rest.apidoc.ApidocHelpMessageBodyWriter;
-import brooklyn.rest.resources.AbstractBrooklynRestResource;
-import brooklyn.rest.resources.AccessResource;
-import brooklyn.rest.resources.ActivityResource;
-import brooklyn.rest.resources.ApidocResource;
-import brooklyn.rest.resources.ApplicationResource;
-import brooklyn.rest.resources.CatalogResource;
-import brooklyn.rest.resources.EffectorResource;
-import brooklyn.rest.resources.EntityConfigResource;
-import brooklyn.rest.resources.EntityResource;
-import brooklyn.rest.resources.LocationResource;
-import brooklyn.rest.resources.PolicyConfigResource;
-import brooklyn.rest.resources.PolicyResource;
-import brooklyn.rest.resources.ScriptResource;
-import brooklyn.rest.resources.SensorResource;
-import brooklyn.rest.resources.ServerResource;
-import brooklyn.rest.resources.UsageResource;
-import brooklyn.rest.resources.VersionResource;
-import brooklyn.rest.util.DefaultExceptionMapper;
-import brooklyn.rest.util.FormMapProvider;
-import brooklyn.rest.util.json.BrooklynJacksonJsonProvider;
-
-import com.google.common.collect.Iterables;
-
-@SuppressWarnings("deprecation")
-public class BrooklynRestApi {
-
-    public static Iterable<AbstractBrooklynRestResource> getBrooklynRestResources() {
-        List<AbstractBrooklynRestResource> resources = new ArrayList<AbstractBrooklynRestResource>();
-        resources.add(new LocationResource());
-        resources.add(new CatalogResource());
-        resources.add(new ApplicationResource());
-        resources.add(new EntityResource());
-        resources.add(new EntityConfigResource());
-        resources.add(new SensorResource());
-        resources.add(new EffectorResource());
-        resources.add(new PolicyResource());
-        resources.add(new PolicyConfigResource());
-        resources.add(new ActivityResource());
-        resources.add(new AccessResource());
-        resources.add(new ScriptResource());
-        resources.add(new ServerResource());
-        resources.add(new UsageResource());
-        resources.add(new VersionResource());
-        return resources;
-    }
-
-    public static Iterable<Object> getApidocResources() {
-        List<Object> resources = new ArrayList<Object>();
-        resources.add(new ApidocHelpMessageBodyWriter());
-        resources.add(new ApidocResource());
-        return resources;
-    }
-
-    public static Iterable<Object> getMiscResources() {
-        List<Object> resources = new ArrayList<Object>();
-        resources.add(new DefaultExceptionMapper());
-        resources.add(new BrooklynJacksonJsonProvider());
-        resources.add(new FormMapProvider());
-        return resources;
-    }
-
-    public static Iterable<Object> getAllResources() {
-        return Iterables.concat(getBrooklynRestResources(), getApidocResources(), getMiscResources());
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/BrooklynWebConfig.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/BrooklynWebConfig.java b/usage/rest-server/src/main/java/brooklyn/rest/BrooklynWebConfig.java
deleted file mode 100644
index 294fd18..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/BrooklynWebConfig.java
+++ /dev/null
@@ -1,155 +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 brooklyn.rest;
-
-import brooklyn.config.ConfigKey;
-import brooklyn.config.ConfigMap;
-import brooklyn.config.ConfigPredicates;
-import brooklyn.entity.basic.ConfigKeys;
-import brooklyn.location.PortRange;
-import brooklyn.rest.security.provider.DelegatingSecurityProvider;
-import brooklyn.rest.security.provider.ExplicitUsersSecurityProvider;
-
-public class BrooklynWebConfig {
-
-    public final static String BASE_NAME = "brooklyn.webconsole";
-    public final static String BASE_NAME_SECURITY = BASE_NAME+".security";
-
-    /**
-     * The security provider to be loaded by {@link DelegatingSecurityProvider}.
-     * e.g. <code>brooklyn.webconsole.security.provider=brooklyn.rest.security.provider.AnyoneSecurityProvider</code>
-     * will allow anyone to log in.
-     */
-    public final static ConfigKey<String> SECURITY_PROVIDER_CLASSNAME = ConfigKeys.newStringConfigKey(
-            BASE_NAME_SECURITY+".provider", "class name of a Brooklyn SecurityProvider",
-            ExplicitUsersSecurityProvider.class.getCanonicalName());
-    
-    /**
-     * Explicitly set the users/passwords, e.g. in brooklyn.properties:
-     * brooklyn.webconsole.security.users=admin,bob
-     * brooklyn.webconsole.security.user.admin.password=password
-     * brooklyn.webconsole.security.user.bob.password=bobspass
-     */
-    public final static ConfigKey<String> USERS = ConfigKeys.newStringConfigKey(BASE_NAME_SECURITY+".users");
-
-    public final static ConfigKey<String> PASSWORD_FOR_USER(String user) {
-        return ConfigKeys.newStringConfigKey(BASE_NAME_SECURITY + ".user." + user + ".password");
-    }
-    
-    public final static ConfigKey<String> SALT_FOR_USER(String user) {
-        return ConfigKeys.newStringConfigKey(BASE_NAME_SECURITY + ".user." + user + ".salt");
-    }
-    
-    public final static ConfigKey<String> SHA256_FOR_USER(String user) {
-        return ConfigKeys.newStringConfigKey(BASE_NAME_SECURITY + ".user." + user + ".sha256");
-    }
-    
-    public final static ConfigKey<String> LDAP_URL = ConfigKeys.newStringConfigKey(
-            BASE_NAME_SECURITY+".ldap.url");
-
-    public final static ConfigKey<String> LDAP_REALM = ConfigKeys.newStringConfigKey(
-            BASE_NAME_SECURITY+".ldap.realm");
-
-    public final static ConfigKey<String> LDAP_OU = ConfigKeys.newStringConfigKey(
-            BASE_NAME_SECURITY+"ldap.ou");
-
-    public final static ConfigKey<Boolean> HTTPS_REQUIRED = ConfigKeys.newBooleanConfigKey(
-            BASE_NAME+".security.https.required",
-            "Whether HTTPS is required; false here can be overridden by CLI option", false); 
-
-    public final static ConfigKey<PortRange> WEB_CONSOLE_PORT = ConfigKeys.newConfigKey(PortRange.class,
-        BASE_NAME+".port",
-        "Port/range for the web console to listen on; can be overridden by CLI option");
-
-    public final static ConfigKey<String> KEYSTORE_URL = ConfigKeys.newStringConfigKey(
-            BASE_NAME+".security.keystore.url",
-            "Keystore from which to take the certificate to present when running HTTPS; "
-            + "note that normally the password is also required, and an alias for the certificate if the keystore has more than one");
-
-    public final static ConfigKey<String> KEYSTORE_PASSWORD = ConfigKeys.newStringConfigKey(
-            BASE_NAME+".security.keystore.password",
-            "Password for the "+KEYSTORE_URL);
-
-    public final static ConfigKey<String> KEYSTORE_CERTIFICATE_ALIAS = ConfigKeys.newStringConfigKey(
-            BASE_NAME+".security.keystore.certificate.alias",
-            "Alias in "+KEYSTORE_URL+" for the certificate to use; defaults to the first if not supplied");
-
-    public final static ConfigKey<String> TRANSPORT_PROTOCOLS = ConfigKeys.newStringConfigKey(
-            BASE_NAME+".security.transport.protocols",
-            "SSL/TLS protocol versions to use for web console connections",
-            "TLSv1, TLSv1.1, TLSv1.2");
-
-    // https://wiki.mozilla.org/Security/Server_Side_TLS (v3.4)
-    // http://stackoverflow.com/questions/19846020/how-to-map-a-openssls-cipher-list-to-java-jsse
-    // list created on 05.05.2015, Intermediate config from first link
-    public final static ConfigKey<String> TRANSPORT_CIPHERS = ConfigKeys.newStringConfigKey(
-            BASE_NAME+".security.transport.ciphers",
-            "SSL/TLS cipher suites to use for web console connections",
-            "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256," +
-            "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384," +
-            "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256," +
-            "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384," +
-            "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256," +
-            "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA," +
-            "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384," +
-            "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA," +
-            "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA," +
-            "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256," +
-            "TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA," +
-            "TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384," +
-            "TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256," +
-            "TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA," +
-            "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA," +
-            "TLS_SRP_SHA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256," +
-            "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA," +
-            "TLS_SRP_SHA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA," +
-            "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA," +
-            "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA," +
-            "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,TLS_RSA_WITH_CAMELLIA_128_CBC_SHA," +
-            "TLS_RSA_WITH_3DES_EDE_CBC_SHA," +
-            // Same as above but with SSL_ prefix, IBM Java compatibility (cipher is independent of protocol)
-            // https://www-01.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.security.component.70.doc/security-component/jsse2Docs/ciphersuites.html
-            "SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256,SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256," +
-            "SSL_ECDHE_RSA_WITH_AES_256_GCM_SHA384,SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384," +
-            "SSL_DHE_RSA_WITH_AES_128_GCM_SHA256,SSL_DHE_DSS_WITH_AES_128_GCM_SHA256," +
-            "SSL_DHE_DSS_WITH_AES_256_GCM_SHA384,SSL_DHE_RSA_WITH_AES_256_GCM_SHA384," +
-            "SSL_ECDHE_RSA_WITH_AES_128_CBC_SHA256,SSL_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256," +
-            "SSL_ECDHE_RSA_WITH_AES_128_CBC_SHA,SSL_ECDHE_ECDSA_WITH_AES_128_CBC_SHA," +
-            "SSL_ECDHE_RSA_WITH_AES_256_CBC_SHA384,SSL_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384," +
-            "SSL_ECDHE_RSA_WITH_AES_256_CBC_SHA,SSL_ECDHE_ECDSA_WITH_AES_256_CBC_SHA," +
-            "SSL_DHE_RSA_WITH_AES_128_CBC_SHA256,SSL_DHE_RSA_WITH_AES_128_CBC_SHA," +
-            "SSL_DHE_DSS_WITH_AES_128_CBC_SHA256,SSL_DHE_RSA_WITH_AES_256_CBC_SHA256," +
-            "SSL_DHE_DSS_WITH_AES_256_CBC_SHA,SSL_DHE_RSA_WITH_AES_256_CBC_SHA," +
-            "SSL_RSA_WITH_AES_128_GCM_SHA256,SSL_RSA_WITH_AES_256_GCM_SHA384," +
-            "SSL_RSA_WITH_AES_128_CBC_SHA256,SSL_RSA_WITH_AES_256_CBC_SHA256," +
-            "SSL_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_AES_256_CBC_SHA," +
-            "SSL_SRP_SHA_DSS_WITH_AES_256_CBC_SHA,SSL_SRP_SHA_RSA_WITH_AES_256_CBC_SHA," +
-            "SSL_SRP_SHA_WITH_AES_256_CBC_SHA,SSL_DHE_DSS_WITH_AES_256_CBC_SHA256," +
-            "SSL_SRP_SHA_DSS_WITH_AES_128_CBC_SHA,SSL_SRP_SHA_RSA_WITH_AES_128_CBC_SHA," +
-            "SSL_SRP_SHA_WITH_AES_128_CBC_SHA,SSL_DHE_DSS_WITH_AES_128_CBC_SHA," +
-            "SSL_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,SSL_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA," +
-            "SSL_RSA_WITH_CAMELLIA_256_CBC_SHA,SSL_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA," +
-            "SSL_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,SSL_RSA_WITH_CAMELLIA_128_CBC_SHA," +
-            "SSL_RSA_WITH_3DES_EDE_CBC_SHA");
-
-    public final static boolean hasNoSecurityOptions(ConfigMap config) {
-        return config.submap(ConfigPredicates.startingWith(BASE_NAME_SECURITY)).isEmpty();
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java b/usage/rest-server/src/main/java/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java
deleted file mode 100644
index 7202a6a..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/filter/BrooklynPropertiesSecurityFilter.java
+++ /dev/null
@@ -1,176 +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 brooklyn.rest.filter;
-
-import java.io.IOException;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import brooklyn.config.BrooklynServiceAttributes;
-import brooklyn.management.ManagementContext;
-import brooklyn.management.entitlement.Entitlements;
-import brooklyn.management.entitlement.WebEntitlementContext;
-import brooklyn.rest.security.provider.DelegatingSecurityProvider;
-import brooklyn.util.text.Strings;
-
-import com.sun.jersey.core.util.Base64;
-
-/**
- * Provides basic HTTP authentication.
- */
-public class BrooklynPropertiesSecurityFilter implements Filter {
-
-    /**
-     * The session attribute set for authenticated users; for reference
-     * (but should not be relied up to confirm authentication, as
-     * the providers may impose additional criteria such as timeouts,
-     * or a null user (no login) may be permitted)
-     */
-    public static final String AUTHENTICATED_USER_SESSION_ATTRIBUTE = "brooklyn.user";
-
-    /**
-     * The session attribute set to indicate the remote address of the HTTP request.
-     * Corresponds to {@link javax.servlet.http.HttpServletRequest#getRemoteAddr()}.
-     */
-    public static final String REMOTE_ADDRESS_SESSION_ATTRIBUTE = "request.remoteAddress";
-
-    private static final Logger log = LoggerFactory.getLogger(BrooklynPropertiesSecurityFilter.class);
-
-    protected DelegatingSecurityProvider provider;
-
-    private static ThreadLocal<String> originalRequest = new ThreadLocal<String>();
-
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletRequest httpRequest = (HttpServletRequest) request;
-        HttpServletResponse httpResponse = (HttpServletResponse) response;
-        String uri = httpRequest.getRequestURI();
-
-        if (provider == null) {
-            log.warn("No security provider available: disallowing web access to brooklyn");
-            httpResponse.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
-            return;
-        }
-
-        if (originalRequest.get() != null) {
-            // clear the entitlement context before setting to avoid warnings
-            Entitlements.clearEntitlementContext();
-        } else {
-            originalRequest.set(uri);
-        }
-
-        boolean authenticated = provider.isAuthenticated(httpRequest.getSession());
-        if ("/logout".equals(uri) || "/v1/logout".equals(uri)) {
-            httpResponse.setHeader("WWW-Authenticate", "Basic realm=\"brooklyn\"");
-            if (authenticated && httpRequest.getSession().getAttributeNames().hasMoreElements()) {
-                logout(httpRequest);
-                httpResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED);
-            } else {
-                RequestDispatcher dispatcher = httpRequest.getRequestDispatcher("/");
-                log.debug("Not authenticated, forwarding request for {} to {}", uri, dispatcher);
-                dispatcher.forward(httpRequest, httpResponse);
-            }
-            return;
-        }
-
-        if (!(httpRequest.getSession().getAttributeNames().hasMoreElements() && provider.isAuthenticated(httpRequest.getSession())) ||
-                "/logout".equals(originalRequest.get())) {
-            authenticated = authenticate(httpRequest);
-        }
-
-        if (!authenticated) {
-            httpResponse.setHeader("WWW-Authenticate", "Basic realm=\"brooklyn\"");
-            httpResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED);
-            return;
-        }
-
-        // Note that the attribute AUTHENTICATED_USER_SESSION_ATTRIBUTE is only set in the call to authenticate(httpRequest),
-        // so must not try to get the user until that is done.
-        String uid = RequestTaggingFilter.getTag();
-        String user = Strings.toString(httpRequest.getSession().getAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE));
-        try {
-            WebEntitlementContext entitlementContext = new WebEntitlementContext(user, httpRequest.getRemoteAddr(), uri, uid);
-            Entitlements.setEntitlementContext(entitlementContext);
-
-            chain.doFilter(request, response);
-        } catch (Throwable e) {
-            if (!response.isCommitted()) {
-                httpResponse.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            }
-        } finally {
-            originalRequest.remove();
-            Entitlements.clearEntitlementContext();
-        }
-    }
-
-    protected boolean authenticate(HttpServletRequest request) {
-        HttpSession session = request.getSession();
-        if (provider.isAuthenticated(session)) {
-            return true;
-        }
-        session.setAttribute(REMOTE_ADDRESS_SESSION_ATTRIBUTE, request.getRemoteAddr());
-        String user = null, pass = null;
-        String authorization = request.getHeader("Authorization");
-        if (authorization != null) {
-            String userpass = Base64.base64Decode(authorization.substring(6));
-            user = userpass.substring(0, userpass.indexOf(":"));
-            pass = userpass.substring(userpass.indexOf(":") + 1);
-        }
-        if (provider.authenticate(session, user, pass)) {
-            if (user != null) {
-                session.setAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE, user);
-            }
-            return true;
-        }
-
-        return false;
-    }
-
-    @Override
-    public void init(FilterConfig config) throws ServletException {
-        ManagementContext mgmt = (ManagementContext) config.getServletContext().getAttribute(BrooklynServiceAttributes.BROOKLYN_MANAGEMENT_CONTEXT);
-        provider = new DelegatingSecurityProvider(mgmt);
-    }
-
-    @Override
-    public void destroy() {
-    }
-
-    protected void logout(HttpServletRequest request) {
-        log.info("REST logging {} out of session {}",
-                request.getSession().getAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE), request.getSession().getId());
-        provider.logout(request.getSession());
-        request.getSession().removeAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE);
-        request.getSession().removeAttribute(REMOTE_ADDRESS_SESSION_ATTRIBUTE);
-        request.getSession().invalidate();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotCheckResourceFilter.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotCheckResourceFilter.java b/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotCheckResourceFilter.java
deleted file mode 100644
index bae561a..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotCheckResourceFilter.java
+++ /dev/null
@@ -1,151 +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 brooklyn.rest.filter;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import brooklyn.management.ManagementContext;
-import brooklyn.management.ha.ManagementNodeState;
-import brooklyn.rest.domain.ApiError;
-import brooklyn.util.text.Strings;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.ImmutableSet;
-import com.sun.jersey.api.model.AbstractMethod;
-import com.sun.jersey.spi.container.ContainerRequest;
-import com.sun.jersey.spi.container.ContainerRequestFilter;
-import com.sun.jersey.spi.container.ContainerResponseFilter;
-import com.sun.jersey.spi.container.ResourceFilter;
-import com.sun.jersey.spi.container.ResourceFilterFactory;
-
-/** 
- * Checks that if the method or resource class corresponding to a request
- * has a {@link HaHotStateRequired} annotation,
- * that the server is in that state (and up). 
- * Requests with {@link #SKIP_CHECK_HEADER} set as a header skip this check.
- * <p>
- * This follows a different pattern to {@link HaMasterCheckFilter} 
- * as this needs to know the method being invoked. 
- */
-public class HaHotCheckResourceFilter implements ResourceFilterFactory {
-    
-    private static final Logger log = LoggerFactory.getLogger(HaHotCheckResourceFilter.class);
-    
-    private static final Set<ManagementNodeState> HOT_STATES = ImmutableSet.of(
-            ManagementNodeState.MASTER, ManagementNodeState.HOT_STANDBY, ManagementNodeState.HOT_BACKUP);
-
-    @Context
-    private ManagementContext mgmt;
-
-    public HaHotCheckResourceFilter() {}
-    
-    @VisibleForTesting
-    public HaHotCheckResourceFilter(ManagementContext mgmt) {
-        this.mgmt = mgmt;
-    }
-    
-    private static class MethodFilter implements ResourceFilter, ContainerRequestFilter {
-
-        private AbstractMethod am;
-        private ManagementContext mgmt;
-
-        public MethodFilter(AbstractMethod am, ManagementContext mgmt) {
-            this.am = am;
-            this.mgmt = mgmt;
-        }
-
-        @Override
-        public ContainerRequestFilter getRequestFilter() {
-            return this;
-        }
-
-        @Override
-        public ContainerResponseFilter getResponseFilter() {
-            return null;
-        }
-
-        private String lookForProblem(ContainerRequest request) {
-            if (isSkipCheckHeaderSet(request)) 
-                return null;
-            
-            if (!isHaHotStateRequired(request))
-                return null;
-            
-            String problem = HaMasterCheckFilter.lookForProblemIfServerNotRunning(mgmt);
-            if (Strings.isNonBlank(problem)) 
-                return problem;
-            
-            if (!isHaHotStatus())
-                return "server not in required HA hot state";
-            if (isStateNotYetValid())
-                return "server not yet completed loading data for required HA hot state";
-            
-            return null;
-        }
-        
-        @Override
-        public ContainerRequest filter(ContainerRequest request) {
-            String problem = lookForProblem(request);
-            if (Strings.isNonBlank(problem)) {
-                log.warn("Disallowing web request as "+problem+": "+request+"/"+am+" (caller should set '"+HaMasterCheckFilter.SKIP_CHECK_HEADER+"' to force)");
-                throw new WebApplicationException(ApiError.builder()
-                    .message("This request is only permitted against an active hot Brooklyn server")
-                    .errorCode(Response.Status.FORBIDDEN).build().asJsonResponse());
-            }
-            return request;
-        }
-
-        // Maybe there should be a separate state to indicate that we have switched state
-        // but still haven't finished rebinding. (Previously there was a time delay and an
-        // isRebinding check, but introducing RebindManager#isAwaitingInitialRebind() seems cleaner.)
-        private boolean isStateNotYetValid() {
-            return mgmt.getRebindManager().isAwaitingInitialRebind();
-        }
-
-        private boolean isHaHotStateRequired(ContainerRequest request) {
-            return (am.getAnnotation(HaHotStateRequired.class) != null ||
-                    am.getResource().getAnnotation(HaHotStateRequired.class) != null);
-        }
-
-        private boolean isSkipCheckHeaderSet(ContainerRequest request) {
-            return "true".equalsIgnoreCase(request.getHeaderValue(HaMasterCheckFilter.SKIP_CHECK_HEADER));
-        }
-
-        private boolean isHaHotStatus() {
-            ManagementNodeState state = mgmt.getHighAvailabilityManager().getNodeState();
-            return HOT_STATES.contains(state);
-        }
-
-    }
-
-    @Override
-    public List<ResourceFilter> create(AbstractMethod am) {
-        return Collections.<ResourceFilter>singletonList(new MethodFilter(am, mgmt));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotStateRequired.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotStateRequired.java b/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotStateRequired.java
deleted file mode 100644
index 09eea5f..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotStateRequired.java
+++ /dev/null
@@ -1,36 +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 brooklyn.rest.filter;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * When a REST method (or its containing class) is marked with this annotation
- * requests to it will fail with a 403 response if the instance is not in MASTER
- * mode (or has recently switched or is still rebinding). Guards the method so
- * that when it returns the caller can be certain of the response. For example
- * if the response is 404, then the resource doesn't exist as opposed to
- * not being loaded from persistence store yet.
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD, ElementType.TYPE})
-public @interface HaHotStateRequired {}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/filter/HaMasterCheckFilter.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaMasterCheckFilter.java b/usage/rest-server/src/main/java/brooklyn/rest/filter/HaMasterCheckFilter.java
deleted file mode 100644
index 74e7cf1..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaMasterCheckFilter.java
+++ /dev/null
@@ -1,140 +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 brooklyn.rest.filter;
-
-import java.io.IOException;
-import java.util.Set;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.Response;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import brooklyn.config.BrooklynServiceAttributes;
-import brooklyn.management.ManagementContext;
-import brooklyn.management.ha.ManagementNodeState;
-import brooklyn.rest.domain.ApiError;
-import brooklyn.rest.util.WebResourceUtils;
-import brooklyn.util.text.Strings;
-
-import com.google.common.collect.Sets;
-
-/**
- * Checks that for requests that want HA master state, the server is up and in that state.
- * <p>
- * Post POSTs and PUTs are assumed to need master state, with the exception of shutdown.
- * Requests with {@link #SKIP_CHECK_HEADER} set as a header skip this check.
- */
-public class HaMasterCheckFilter implements Filter {
-
-    private static final Logger log = LoggerFactory.getLogger(HaMasterCheckFilter.class);
-    
-    public static final String SKIP_CHECK_HEADER = "Brooklyn-Allow-Non-Master-Access";
-    private static final Set<String> SAFE_STANDBY_METHODS = Sets.newHashSet("GET", "HEAD");
-
-    protected ServletContext servletContext;
-    protected ManagementContext mgmt;
-
-    @Override
-    public void init(FilterConfig config) throws ServletException {
-        servletContext = config.getServletContext();
-        mgmt = (ManagementContext) servletContext.getAttribute(BrooklynServiceAttributes.BROOKLYN_MANAGEMENT_CONTEXT);
-    }
-
-    static String lookForProblemIfServerNotRunning(ManagementContext mgmt) {
-        if (mgmt==null) return "no management context available";
-        if (!mgmt.isRunning()) return "server no longer running";
-        if (!mgmt.isStartupComplete()) return "server not in required startup-completed state";
-        return null;
-    }
-    
-    private String lookForProblem(ServletRequest request) {
-        if (isSkipCheckHeaderSet(request)) 
-            return null;
-        
-        if (!isMasterRequiredForRequest(request))
-            return null;
-        
-        String problem = lookForProblemIfServerNotRunning(mgmt);
-        if (Strings.isNonBlank(problem)) 
-            return problem;
-        
-        if (!isMaster()) 
-            return "server not in required HA master state";
-        
-        return null;
-    }
-    
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        String problem = lookForProblem(request);
-        if (problem!=null) {
-            log.warn("Disallowing web request as "+problem+": "+request.getParameterMap()+" (caller should set '"+SKIP_CHECK_HEADER+"' to force)");
-            WebResourceUtils.applyJsonResponse(servletContext, ApiError.builder()
-                .message("This request is only permitted against an active master Brooklyn server")
-                .errorCode(Response.Status.FORBIDDEN).build().asJsonResponse(), (HttpServletResponse)response);
-        } else {
-            chain.doFilter(request, response);
-        }
-    }
-
-    @Override
-    public void destroy() {
-    }
-
-    private boolean isMaster() {
-        return ManagementNodeState.MASTER.equals(mgmt.getHighAvailabilityManager().getNodeState());
-    }
-
-    private boolean isMasterRequiredForRequest(ServletRequest request) {
-        if (request instanceof HttpServletRequest) {
-            HttpServletRequest httpRequest = (HttpServletRequest) request;
-            
-            String method = httpRequest.getMethod().toUpperCase();
-            // gets usually okay
-            if (SAFE_STANDBY_METHODS.contains(method)) return false;
-            
-            // explicitly allow calls to shutdown
-            // (if stopAllApps is specified, the method itself will fail; but we do not want to consume parameters here, that breaks things!)
-            // TODO combine with HaHotCheckResourceFilter and use an annotation HaAnyStateAllowed or similar
-            if ("/v1/server/shutdown".equals(httpRequest.getRequestURI())) return false;
-            
-            // master required for everything else
-            return true;
-        }
-        // previously non-HttpServletRequests were allowed but I don't think they should be
-        return true;
-    }
-
-    private boolean isSkipCheckHeaderSet(ServletRequest httpRequest) {
-        if (httpRequest instanceof HttpServletRequest)
-            return "true".equalsIgnoreCase(((HttpServletRequest)httpRequest).getHeader(SKIP_CHECK_HEADER));
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/filter/LoggingFilter.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/filter/LoggingFilter.java b/usage/rest-server/src/main/java/brooklyn/rest/filter/LoggingFilter.java
deleted file mode 100644
index d841fdb..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/filter/LoggingFilter.java
+++ /dev/null
@@ -1,160 +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 brooklyn.rest.filter;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Joiner;
-import com.google.common.base.Stopwatch;
-import com.google.common.collect.Sets;
-
-import brooklyn.config.BrooklynLogging;
-import brooklyn.util.exceptions.Exceptions;
-import brooklyn.util.time.Duration;
-
-/**
- * Handles logging of request information.
- */
-public class LoggingFilter implements Filter {
-
-    private static final Logger LOG = LoggerFactory.getLogger(BrooklynLogging.REST);
-
-    /** Methods logged at trace. */
-    private static final Set<String> UNINTERESTING_METHODS = Sets.newHashSet("GET", "HEAD");
-
-    /** Headers whose values will not be logged. */
-    private static final Set<String> CENSORED_HEADERS = Sets.newHashSet("Authorization");
-
-    /** Log all requests that take this time or longer to complete. */
-    private static final Duration REQUEST_DURATION_LOG_POINT = Duration.FIVE_SECONDS;
-
-    public void init(FilterConfig config) throws ServletException {
-    }
-
-    @Override
-    public void destroy() {
-    }
-
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletRequest httpRequest = (HttpServletRequest) request;
-        HttpServletResponse httpResponse = (HttpServletResponse) response;
-
-        String rid = RequestTaggingFilter.getTag();
-        boolean isInteresting = !UNINTERESTING_METHODS.contains(httpRequest.getMethod().toUpperCase());
-        boolean shouldLog = (isInteresting && LOG.isDebugEnabled()) || LOG.isTraceEnabled();
-        boolean requestErrored = false;
-        if (shouldLog) {
-            String message = "Request {} starting: {} {} from {}";
-            Object[] args = new Object[]{rid, httpRequest.getMethod(), httpRequest.getRequestURI(), httpRequest.getRemoteAddr()};
-            if (isInteresting) {
-                LOG.debug(message, args);
-            } else {
-                LOG.trace(message, args);
-            }
-        }
-
-        Stopwatch timer = Stopwatch.createStarted();
-        try {
-            chain.doFilter(request, response);
-        } catch (Throwable e) {
-            requestErrored = true;
-            isInteresting = true;
-            LOG.warn("Request " + rid + " ("+httpRequest.getMethod()+" "+httpRequest.getRequestURI()+" from "+httpRequest.getRemoteAddr()+") failed: " + e, e);
-            // Propagate for handling by other filter
-            throw Exceptions.propagate(e);
-        } finally {
-            timer.stop();
-            // This logging must not happen before chain.doFilter, or FormMapProvider will not work as expected.
-            // Getting the parameter map consumes the request body and only resource methods using @FormParam
-            // will work as expected.
-            isInteresting |= (timer.elapsed(TimeUnit.SECONDS) - REQUEST_DURATION_LOG_POINT.toSeconds()) > 0;
-            if (shouldLog) {
-                boolean includeHeaders = requestErrored || httpResponse.getStatus() / 100 == 5 || LOG.isTraceEnabled();
-                String message = getRequestCompletedMessage(includeHeaders, Duration.of(timer), rid, httpRequest, httpResponse);
-                if (requestErrored || isInteresting) {
-                    LOG.debug(message);
-                } else {
-                    LOG.trace(message);
-                }
-            }
-        }
-    }
-
-    private String getRequestCompletedMessage(boolean includeHeaders, Duration elapsed,
-            String id, HttpServletRequest httpRequest, HttpServletResponse httpResponse) {
-        StringBuilder message = new StringBuilder("Request ")
-                .append(id)
-                .append(" completed in ")
-                .append(elapsed)
-                .append(": response ")
-                .append(httpResponse.getStatus())
-                .append(" for ")
-                .append(httpRequest.getMethod())
-                .append(" ")
-                .append(httpRequest.getRequestURI())
-                .append(" from ")
-                .append(httpRequest.getRemoteAddr());
-
-        if (!httpRequest.getParameterMap().isEmpty()) {
-            message.append(", parameters: ")
-                    .append(Joiner.on(", ").withKeyValueSeparator("=").join(httpRequest.getParameterMap()));
-        }
-        if (httpRequest.getContentLength() > 0) {
-            int len = httpRequest.getContentLength();
-            message.append(" contentType=").append(httpRequest.getContentType())
-                    .append(" (length=").append(len).append(")");
-        }
-        if (includeHeaders) {
-            Enumeration<String> headerNames = httpRequest.getHeaderNames();
-            if (headerNames.hasMoreElements()) {
-                message.append(", headers: ");
-                while (headerNames.hasMoreElements()) {
-                    String headerName = headerNames.nextElement();
-                    message.append(headerName).append(": ");
-                    if (CENSORED_HEADERS.contains(headerName)) {
-                        message.append("******");
-                    } else {
-                        message.append(httpRequest.getHeader(headerName));
-                    }
-                    if (headerNames.hasMoreElements()) {
-                        message.append(", ");
-                    }
-                }
-            }
-        }
-
-        return message.toString();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/a9e5ca55/usage/rest-server/src/main/java/brooklyn/rest/filter/NoCacheFilter.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/filter/NoCacheFilter.java b/usage/rest-server/src/main/java/brooklyn/rest/filter/NoCacheFilter.java
deleted file mode 100644
index d948241..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/filter/NoCacheFilter.java
+++ /dev/null
@@ -1,40 +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 brooklyn.rest.filter;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-
-import com.sun.jersey.spi.container.ContainerRequest;
-import com.sun.jersey.spi.container.ContainerResponse;
-import com.sun.jersey.spi.container.ContainerResponseFilter;
-
-public class NoCacheFilter implements ContainerResponseFilter {
-
-    @Override
-    public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
-        //https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ
-        MultivaluedMap<String, Object> headers = response.getHttpHeaders();
-        headers.putSingle(HttpHeaders.CACHE_CONTROL, "no-cache, no-store");
-        headers.putSingle("Pragma", "no-cache");
-        headers.putSingle(HttpHeaders.EXPIRES, "0");
-        return response;
-    }
-
-}



Mime
View raw message