You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/03/19 15:07:30 UTC

[12/19] incubator-brooklyn git commit: Rename filter to follow naming convention

Rename filter to follow naming convention


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

Branch: refs/heads/master
Commit: 86cf35f1062ff8e71c843572b8a05b7035dd6586
Parents: cc95fa7
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Authored: Thu Mar 5 15:11:07 2015 +0200
Committer: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Committed: Thu Mar 19 16:01:29 2015 +0200

----------------------------------------------------------------------
 .../brooklyn/launcher/BrooklynWebServer.java    |   4 +-
 .../rest/filter/HaHotCheckResourceFilter.java   | 114 +++++++++++++++++++
 .../rest/filter/HaStateCheckResourceFilter.java | 114 -------------------
 .../brooklyn/rest/BrooklynRestApiLauncher.java  |   2 +-
 4 files changed, 117 insertions(+), 117 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/86cf35f1/usage/launcher/src/main/java/brooklyn/launcher/BrooklynWebServer.java
----------------------------------------------------------------------
diff --git a/usage/launcher/src/main/java/brooklyn/launcher/BrooklynWebServer.java b/usage/launcher/src/main/java/brooklyn/launcher/BrooklynWebServer.java
index aaac004..56df07a 100644
--- a/usage/launcher/src/main/java/brooklyn/launcher/BrooklynWebServer.java
+++ b/usage/launcher/src/main/java/brooklyn/launcher/BrooklynWebServer.java
@@ -60,7 +60,7 @@ import brooklyn.rest.BrooklynRestApi;
 import brooklyn.rest.BrooklynWebConfig;
 import brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
 import brooklyn.rest.filter.HaMasterCheckFilter;
-import brooklyn.rest.filter.HaStateCheckResourceFilter;
+import brooklyn.rest.filter.HaHotCheckResourceFilter;
 import brooklyn.rest.filter.LoggingFilter;
 import brooklyn.rest.filter.NoCacheFilter;
 import brooklyn.rest.filter.RequestTaggingFilter;
@@ -324,7 +324,7 @@ public class BrooklynWebServer {
         config.getProperties().put(ResourceConfig.PROPERTY_CONTAINER_REQUEST_FILTERS, GZIPContentEncodingFilter.class.getName());
         config.getProperties().put(ResourceConfig.PROPERTY_CONTAINER_RESPONSE_FILTERS, ImmutableList.of(GZIPContentEncodingFilter.class, NoCacheFilter.class));
         // Checks if appropriate request given HA status
-        config.getProperties().put(ResourceConfig.PROPERTY_RESOURCE_FILTER_FACTORIES, HaStateCheckResourceFilter.class.getName());
+        config.getProperties().put(ResourceConfig.PROPERTY_RESOURCE_FILTER_FACTORIES, HaHotCheckResourceFilter.class.getName());
         // configure to match empty path, or any thing which looks like a file path with /assets/ and extension html, css, js, or png
         // and treat that as static content
         config.getProperties().put(ServletContainer.PROPERTY_WEB_PAGE_CONTENT_REGEX, "(/?|[^?]*/assets/[^?]+\\.[A-Za-z0-9_]+)");

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/86cf35f1/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
new file mode 100644
index 0000000..55f5467
--- /dev/null
+++ b/usage/rest-server/src/main/java/brooklyn/rest/filter/HaHotCheckResourceFilter.java
@@ -0,0 +1,114 @@
+/*
+ * 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.MediaType;
+import javax.ws.rs.core.Response;
+
+import brooklyn.entity.rebind.RebindManagerImpl.RebindTracker;
+import brooklyn.management.ManagementContext;
+import brooklyn.management.ha.ManagementNodeState;
+import brooklyn.util.time.Duration;
+
+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;
+
+public class HaHotCheckResourceFilter implements ResourceFilterFactory {
+    private static final Set<ManagementNodeState> HOT_STATES = ImmutableSet.of(
+            ManagementNodeState.MASTER, ManagementNodeState.HOT_STANDBY, ManagementNodeState.HOT_BACKUP);
+    private static final long STATE_CHANGE_SETTLE_OFFSET = Duration.seconds(10).toMilliseconds();
+
+    @Context
+    private ManagementContext 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;
+        }
+
+        @Override
+        public ContainerRequest filter(ContainerRequest request) {
+            if (!isStateLoaded() && isUnsafe(request)) {
+                Response response = Response.status(Response.Status.FORBIDDEN)
+                        .type(MediaType.APPLICATION_JSON)
+                        .entity("{\"error\":403,\"message\":\"Requests should be made to the master Brooklyn server\"}")
+                        .build();
+                throw new WebApplicationException(response);
+            }
+            return request;
+        }
+
+        private boolean isStateLoaded() {
+            return isHaHotStatus() && !RebindTracker.isRebinding() && !recentlySwitchedState();
+        }
+
+        // Ideally there will be a separate state to indicate that we switched state
+        // but still haven't finished rebinding. There's a gap between changing the state
+        // and starting rebind so add a time offset just to be sure.
+        private boolean recentlySwitchedState() {
+            long lastStateChange = mgmt.getHighAvailabilityManager().getLastStateChange();
+            return System.currentTimeMillis() - lastStateChange < STATE_CHANGE_SETTLE_OFFSET;
+        }
+
+        private boolean isUnsafe(ContainerRequest request) {
+            boolean isOverriden = "true".equalsIgnoreCase(request.getHeaderValue(HaMasterCheckFilter.SKIP_CHECK_HEADER));
+            return !isOverriden &&
+                    (am.getAnnotation(HaHotStateRequired.class) != null ||
+                    am.getResource().getAnnotation(HaHotStateRequired.class) != null);
+        }
+
+        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/86cf35f1/usage/rest-server/src/main/java/brooklyn/rest/filter/HaStateCheckResourceFilter.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaStateCheckResourceFilter.java b/usage/rest-server/src/main/java/brooklyn/rest/filter/HaStateCheckResourceFilter.java
deleted file mode 100644
index 86a5b9b..0000000
--- a/usage/rest-server/src/main/java/brooklyn/rest/filter/HaStateCheckResourceFilter.java
+++ /dev/null
@@ -1,114 +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.MediaType;
-import javax.ws.rs.core.Response;
-
-import brooklyn.entity.rebind.RebindManagerImpl.RebindTracker;
-import brooklyn.management.ManagementContext;
-import brooklyn.management.ha.ManagementNodeState;
-import brooklyn.util.time.Duration;
-
-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;
-
-public class HaStateCheckResourceFilter implements ResourceFilterFactory {
-    private static final Set<ManagementNodeState> HOT_STATES = ImmutableSet.of(
-            ManagementNodeState.MASTER, ManagementNodeState.HOT_STANDBY, ManagementNodeState.HOT_BACKUP);
-    private static final long STATE_CHANGE_SETTLE_OFFSET = Duration.seconds(10).toMilliseconds();
-
-    @Context
-    private ManagementContext 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;
-        }
-
-        @Override
-        public ContainerRequest filter(ContainerRequest request) {
-            if (!isStateLoaded() && isUnsafe(request)) {
-                Response response = Response.status(Response.Status.FORBIDDEN)
-                        .type(MediaType.APPLICATION_JSON)
-                        .entity("{\"error\":403,\"message\":\"Requests should be made to the master Brooklyn server\"}")
-                        .build();
-                throw new WebApplicationException(response);
-            }
-            return request;
-        }
-
-        private boolean isStateLoaded() {
-            return isHaHotStatus() && !RebindTracker.isRebinding() && !recentlySwitchedState();
-        }
-
-        // Ideally there will be a separate state to indicate that we switched state
-        // but still haven't finished rebinding. There's a gap between changing the state
-        // and starting rebind so add a time offset just to be sure.
-        private boolean recentlySwitchedState() {
-            long lastStateChange = mgmt.getHighAvailabilityManager().getLastStateChange();
-            return System.currentTimeMillis() - lastStateChange < STATE_CHANGE_SETTLE_OFFSET;
-        }
-
-        private boolean isUnsafe(ContainerRequest request) {
-            boolean isOverriden = "true".equalsIgnoreCase(request.getHeaderValue(HaMasterCheckFilter.SKIP_CHECK_HEADER));
-            return !isOverriden &&
-                    (am.getAnnotation(HaHotStateRequired.class) != null ||
-                    am.getResource().getAnnotation(HaHotStateRequired.class) != null);
-        }
-
-        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/86cf35f1/usage/rest-server/src/test/java/brooklyn/rest/BrooklynRestApiLauncher.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/brooklyn/rest/BrooklynRestApiLauncher.java b/usage/rest-server/src/test/java/brooklyn/rest/BrooklynRestApiLauncher.java
index db54b40..5baf2d2 100644
--- a/usage/rest-server/src/test/java/brooklyn/rest/BrooklynRestApiLauncher.java
+++ b/usage/rest-server/src/test/java/brooklyn/rest/BrooklynRestApiLauncher.java
@@ -331,7 +331,7 @@ public class BrooklynRestApiLauncher {
         // disable caching for dynamic content
         config.getProperties().put(ResourceConfig.PROPERTY_CONTAINER_RESPONSE_FILTERS, NoCacheFilter.class.getName());
         // Checks if appropriate request given HA status
-        config.getProperties().put(ResourceConfig.PROPERTY_RESOURCE_FILTER_FACTORIES, brooklyn.rest.filter.HaStateCheckResourceFilter.class.getName());
+        config.getProperties().put(ResourceConfig.PROPERTY_RESOURCE_FILTER_FACTORIES, brooklyn.rest.filter.HaHotCheckResourceFilter.class.getName());
         // configure to match empty path, or any thing which looks like a file path with /assets/ and extension html, css, js, or png
         // and treat that as static content
         config.getProperties().put(ServletContainer.PROPERTY_WEB_PAGE_CONTENT_REGEX, "(/?|[^?]*/assets/[^?]+\\.[A-Za-z0-9_]+)");