Index: trunk/ehcache/management-ehcache-impl/management-ehcache-common/src/main/java/net/sf/ehcache/management/resource/services/validator/AbstractEhcacheRequestValidator.java =================================================================== diff -u -N --- trunk/ehcache/management-ehcache-impl/management-ehcache-common/src/main/java/net/sf/ehcache/management/resource/services/validator/AbstractEhcacheRequestValidator.java (revision 9070) +++ trunk/ehcache/management-ehcache-impl/management-ehcache-common/src/main/java/net/sf/ehcache/management/resource/services/validator/AbstractEhcacheRequestValidator.java (revision 0) @@ -1,93 +0,0 @@ -/* - * All content copyright (c) 2003-2012 Terracotta, Inc., except as may otherwise be noted in a separate copyright - * notice. All rights reserved. - */ - -package net.sf.ehcache.management.resource.services.validator; - -import org.terracotta.management.resource.exceptions.ResourceRuntimeException; -import org.terracotta.management.resource.services.Utils; -import org.terracotta.management.resource.services.validator.RequestValidator; - -import javax.ws.rs.core.PathSegment; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -/** - * An abstract implementation of ehcache resource service {@link RequestValidator}. - *

- * {@inheritDoc} - * - * @author brandony - */ -public abstract class AbstractEhcacheRequestValidator implements RequestValidator { - - /** - * {@inheritDoc} - */ - @Override - public abstract void validateSafe(UriInfo info); - - /** - * {@inheritDoc} - */ - @Override - public void validate(UriInfo info) { - validateCacheRequestSegment(info.getPathSegments()); - } - - protected void validateCacheRequestSegment(List pathSegments) { - if (pathSegments.size() >= 3) { - String cacheNames = pathSegments.get(2).getMatrixParameters().getFirst("names"); - Set cNames = Utils.trimToNull(cacheNames) == null ? null : new HashSet( - Arrays.asList(cacheNames.split(","))); - if (cNames == null) { - throw new ResourceRuntimeException("No cache specified. Unsafe requests must specify a single cache name.", - Response.Status.BAD_REQUEST.getStatusCode()); - } - - if (cNames.size() != 1) { - throw new ResourceRuntimeException("Multiple caches specified. Unsafe requests must specify a single cache name.", - Response.Status.BAD_REQUEST.getStatusCode()); - } - } - - validateCacheManagerRequestSegment(pathSegments); - } - - protected void validateCacheManagerRequestSegment(List pathSegments) { - if (pathSegments.size() >= 2) { - String cacheManagerNames = getCacheManagerPathSegmentAccordingToVersion(pathSegments).getMatrixParameters().getFirst("names"); - Set cmNames = Utils.trimToNull(cacheManagerNames) == null ? null : new HashSet( - Arrays.asList(cacheManagerNames.split(","))); - if (cmNames == null) { - throw new ResourceRuntimeException("No cache manager specified. Unsafe requests must specify a single cache manager name.", - Response.Status.BAD_REQUEST.getStatusCode()); - } - - if (cmNames.size() != 1) { - throw new ResourceRuntimeException("Multiple cache managers specified. Unsafe requests must specify a single cache manager name.", - Response.Status.BAD_REQUEST.getStatusCode()); - } - } - - validateAgentSegment(pathSegments); - } - - protected PathSegment getCacheManagerPathSegmentAccordingToVersion(List pathSegments) { - PathSegment cacheManagerPathSegment = null; - if ("v2".equals(pathSegments.get(0).getPath())) { - cacheManagerPathSegment = pathSegments.get(2); - } else { - // v1 - cacheManagerPathSegment = pathSegments.get(1); - } - return cacheManagerPathSegment; - } - - protected abstract void validateAgentSegment(List pathSegments); -} Index: trunk/ehcache/management-ehcache-impl/management-ehcache-common/pom.xml =================================================================== diff -u -N -r9070 -r9071 --- trunk/ehcache/management-ehcache-impl/management-ehcache-common/pom.xml (.../pom.xml) (revision 9070) +++ trunk/ehcache/management-ehcache-impl/management-ehcache-common/pom.xml (.../pom.xml) (revision 9071) @@ -29,12 +29,6 @@ junit test - - org.mockito - mockito-all - 1.9.0 - test - commons-io commons-io Index: trunk/ehcache/management-ehcache-impl/management-ehcache-common/src/test/java/net/sf/ehcache/management/resource/services/validator/AbstractEhcacheRequestValidatorTest.java =================================================================== diff -u -N --- trunk/ehcache/management-ehcache-impl/management-ehcache-common/src/test/java/net/sf/ehcache/management/resource/services/validator/AbstractEhcacheRequestValidatorTest.java (revision 9070) +++ trunk/ehcache/management-ehcache-impl/management-ehcache-common/src/test/java/net/sf/ehcache/management/resource/services/validator/AbstractEhcacheRequestValidatorTest.java (revision 0) @@ -1,78 +0,0 @@ -/* - * All content copyright (c) 2003-2012 Terracotta, Inc., except as may otherwise be noted in a separate copyright - * notice. All rights reserved. - */ - -package net.sf.ehcache.management.resource.services.validator; - -import java.util.ArrayList; -import java.util.List; - -import javax.ws.rs.core.PathSegment; -import javax.ws.rs.core.UriInfo; - -import org.junit.*; -import static org.mockito.Mockito.*; - -/** - * - * @author Anthony Dahanne - * - */ -public class AbstractEhcacheRequestValidatorTest { - - - @Test - public void validateCacheManagerRequestSegmentTest_v1() { - AbstractEhcacheRequestValidator abstractEhcacheRequestValidator = new AbstractEhcacheRequestValidatorExtension(); - - List pathSegments = new ArrayList(); - PathSegment pathSegmentAgents = org.mockito.Mockito.mock(PathSegment.class); - when(pathSegmentAgents.getPath()).thenReturn("agents"); - PathSegment pathSegmentCacheManagers = org.mockito.Mockito.mock(PathSegment.class); - when(pathSegmentCacheManagers.getPath()).thenReturn("cacheManagers"); - - pathSegments.add(pathSegmentAgents); - pathSegments.add(pathSegmentCacheManagers); - - Assert.assertEquals(pathSegmentCacheManagers, - abstractEhcacheRequestValidator.getCacheManagerPathSegmentAccordingToVersion(pathSegments)); - - } - - @Test - public void validateCacheManagerRequestSegmentTest_v2() { - AbstractEhcacheRequestValidator abstractEhcacheRequestValidator = new AbstractEhcacheRequestValidatorExtension(); - - List pathSegments = new ArrayList(); - PathSegment pathSegmentVersion = org.mockito.Mockito.mock(PathSegment.class); - when(pathSegmentVersion.getPath()).thenReturn("v2"); - PathSegment pathSegmentAgents = org.mockito.Mockito.mock(PathSegment.class); - when(pathSegmentAgents.getPath()).thenReturn("agents"); - PathSegment pathSegmentCacheManagers = org.mockito.Mockito.mock(PathSegment.class); - when(pathSegmentCacheManagers.getPath()).thenReturn("cacheManagers"); - - pathSegments.add(pathSegmentVersion); - pathSegments.add(pathSegmentAgents); - pathSegments.add(pathSegmentCacheManagers); - - Assert.assertEquals(pathSegmentCacheManagers, - abstractEhcacheRequestValidator.getCacheManagerPathSegmentAccordingToVersion(pathSegments)); - - } - - private final class AbstractEhcacheRequestValidatorExtension extends AbstractEhcacheRequestValidator { - @Override - public void validateSafe(UriInfo info) { - // TODO Auto-generated method stub - - } - - @Override - protected void validateAgentSegment(List pathSegments) { - // TODO Auto-generated method stub - - } - } - -}