summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-04-18 22:13:50 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-04-18 22:13:50 +0530
commitc8e38e8f0ceb3f33dcdaecf60f2641ded084bc5a (patch)
treed20d18b4f2e8999bfb8c896a7fd774235ec28cc2 /src
parent19e929353c06cbe2ec068c9626b4040b158c1f51 (diff)
parentf16c686b6e8bda61b2325b3668323517d725c9a4 (diff)
Merge branch 'audit'
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml4
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java31
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java31
3 files changed, 66 insertions, 0 deletions
diff --git a/src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml b/src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml
index 34337a5d..6d7d1406 100644
--- a/src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml
+++ b/src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml
@@ -37,6 +37,10 @@
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.gluster.storage.management.server.resources</param-value>
</init-param>
+ <init-param>
+ <param-name>com.sun.jersey.spi.container.ResourceFilters</param-name>
+ <param-value>com.gluster.storage.management.server.filters.GlusterResourceFilterFactory</param-value>
+ </init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java
new file mode 100644
index 00000000..b23d9c4f
--- /dev/null
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package com.gluster.storage.management.server.filters;
+
+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;
+
+/**
+ * Resource filter for maintaining audit trail of resource access
+ */
+public class AuditFilter implements ResourceFilter, ContainerRequestFilter {
+
+ @Override
+ public ContainerRequestFilter getRequestFilter() {
+ return this;
+ }
+
+ @Override
+ public ContainerResponseFilter getResponseFilter() {
+ return null;
+ }
+
+ @Override
+ public ContainerRequest filter(ContainerRequest req) {
+ System.out.println("Resource access [" + req.getMethod() + "][" + req.getPath() + "]");
+ return req;
+ }
+}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java
new file mode 100644
index 00000000..899ba16e
--- /dev/null
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java
@@ -0,0 +1,31 @@
+/**
+ *
+ */
+package com.gluster.storage.management.server.filters;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.sun.jersey.api.model.AbstractMethod;
+import com.sun.jersey.spi.container.ResourceFilter;
+import com.sun.jersey.spi.container.ResourceFilterFactory;
+
+/**
+ * Gluster resource filter factory. As of now, this creates only one filter - the audit filter {@code AuditFilter}
+ */
+public class GlusterResourceFilterFactory implements ResourceFilterFactory {
+
+ public GlusterResourceFilterFactory() {
+ }
+
+ /* (non-Javadoc)
+ * @see com.sun.jersey.spi.container.ResourceFilterFactory#create(com.sun.jersey.api.model.AbstractMethod)
+ */
+ @Override
+ public List<ResourceFilter> create(AbstractMethod arg0) {
+ List<ResourceFilter> filters = new ArrayList<ResourceFilter>();
+ filters.add(new AuditFilter());
+
+ return filters;
+ }
+}