diff options
Diffstat (limited to 'src')
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; +	} +}  | 
