+++ /dev/null
-/*
- * Copyright 2005-2010 the original author or authors.
- *
- * Licensed 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 org.wamblee.security.authorization;
-
-import static org.wamblee.security.authorization.AuthorizationResult.DENIED;
-import static org.wamblee.security.authorization.AuthorizationResult.GRANTED;
-
-import org.wamblee.usermgt.User;
-
-/**
- * Test authorization rule that also counts the number of times the rule
- * matches.
- *
- * @author Erik Brakkee
- */
-public class TestAuthorizationRule extends UrlAuthorizationRule {
- /**
- * Counts the number of matches.
- */
- private int matches = 0;
-
- /**
- * Creates a new TestAuthorizationRule object.
- *
- */
- public TestAuthorizationRule(AuthorizationResult aResult, String aGroup,
- String aPath, Class<? extends Operation> aOperation) {
- super(aResult, new GroupUserCondition(aGroup),
- new StartsWithPathCondition(aPath), TestResource.class,
- new IsaOperationCondition(aOperation));
- }
-
- /**
- * Creates a new TestAuthorizationRule object.
- */
- protected TestAuthorizationRule() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.wamblee.security.authorization.UrlAuthorizationRule#getPath(java.
- * lang.Object)
- */
- @Override
- protected String getResourcePath(Object aResource) {
- return ((TestResource) aResource).getPath();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.wamblee.security.authorization.UrlAuthorizationRule#isAllowed(java
- * .lang.Object, org.wamblee.security.authorization.Operation,
- * org.wamblee.usermgt.UserAccessor)
- */
- @Override
- public AuthorizationResult isAllowed(Object aResource,
- Operation aOperation, User aUser) {
- AuthorizationResult result = super.isAllowed(aResource, aOperation,
- aUser);
-
- if (result.equals(GRANTED) || result.equals(DENIED)) {
- matches++;
- }
-
- return result;
- }
-
- public int getMatchCount() {
- return matches;
- }
-
- public void reset() {
- matches = 0;
- }
-}