01: /* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited
02: *
03: * Licensed under the Apache License, Version 2.0 (the "License");
04: * you may not use this file except in compliance with the License.
05: * You may obtain a copy of the License at
06: *
07: * http://www.apache.org/licenses/LICENSE-2.0
08: *
09: * Unless required by applicable law or agreed to in writing, software
10: * distributed under the License is distributed on an "AS IS" BASIS,
11: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12: * See the License for the specific language governing permissions and
13: * limitations under the License.
14: */
15:
16: package org.acegisecurity.intercept.web;
17:
18: import org.acegisecurity.ConfigAttributeDefinition;
19: import org.acegisecurity.SecurityConfig;
20:
21: import java.util.Iterator;
22: import java.util.List;
23: import java.util.Vector;
24:
25: /**
26: * Mock for {@link FilterInvocationDefinitionSource}
27: *
28: * @author Ben Alex
29: * @version $Id: MockFilterInvocationDefinitionSource.java 1569 2006-07-06 17:03:48Z carlossg $
30: */
31: public class MockFilterInvocationDefinitionSource extends
32: AbstractFilterInvocationDefinitionSource {
33: //~ Instance fields ================================================================================================
34:
35: private List list;
36: private boolean returnAnIterator;
37:
38: //~ Constructors ===================================================================================================
39:
40: public MockFilterInvocationDefinitionSource(
41: boolean includeInvalidAttributes,
42: boolean returnAnIteratorWhenRequested) {
43: returnAnIterator = returnAnIteratorWhenRequested;
44: list = new Vector();
45:
46: ConfigAttributeDefinition def1 = new ConfigAttributeDefinition();
47: def1.addConfigAttribute(new SecurityConfig("MOCK_LOWER"));
48: list.add(def1);
49:
50: if (includeInvalidAttributes) {
51: ConfigAttributeDefinition def2 = new ConfigAttributeDefinition();
52: def2.addConfigAttribute(new SecurityConfig("MOCK_LOWER"));
53: def2.addConfigAttribute(new SecurityConfig(
54: "INVALID_ATTRIBUTE"));
55: list.add(def2);
56: }
57:
58: ConfigAttributeDefinition def3 = new ConfigAttributeDefinition();
59: def3.addConfigAttribute(new SecurityConfig("MOCK_UPPER"));
60: def3.addConfigAttribute(new SecurityConfig("RUN_AS"));
61: list.add(def3);
62:
63: if (includeInvalidAttributes) {
64: ConfigAttributeDefinition def4 = new ConfigAttributeDefinition();
65: def4
66: .addConfigAttribute(new SecurityConfig(
67: "MOCK_SOMETHING"));
68: def4.addConfigAttribute(new SecurityConfig(
69: "ANOTHER_INVALID"));
70: list.add(def4);
71: }
72: }
73:
74: private MockFilterInvocationDefinitionSource() {
75: super ();
76: }
77:
78: //~ Methods ========================================================================================================
79:
80: public Iterator getConfigAttributeDefinitions() {
81: if (returnAnIterator) {
82: return list.iterator();
83: } else {
84: return null;
85: }
86: }
87:
88: public ConfigAttributeDefinition lookupAttributes(String url) {
89: throw new UnsupportedOperationException(
90: "mock method not implemented");
91: }
92: }
|