##### Coverage Report - org.apache.commons.configuration.web.ServletRequestConfiguration

Classes in this File | Line Coverage | Branch Coverage | Complexity

ServletRequestConfiguration

100% | 10/10

100% | 2/2

2.3333333333333335;2,333

1

     /*

2

      * Licensed to the Apache Software Foundation (ASF) under one or more

3

      * contributor license agreements.  See the NOTICE file distributed with

4

      * this work for additional information regarding copyright ownership.

5

      * The ASF licenses this file to You under the Apache License, Version 2.0

6

      * (the "License"); you may not use this file except in compliance with

7

      * the License.  You may obtain a copy of the License at

8

      *

9

      *     http://www.apache.org/licenses/LICENSE-2.0

10

      *

11

      * Unless required by applicable law or agreed to in writing, software

12

      * distributed under the License is distributed on an "AS IS" BASIS,

13

      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

14

      * See the License for the specific language governing permissions and

15

      * limitations under the License.

16

      */

17

18

     package org.apache.commons.configuration.web;

19

20

     import java.util.Iterator;

21

     import java.util.Arrays;

22

     import javax.servlet.ServletRequest;

23

24

     import org.apache.commons.collections.iterators.EnumerationIterator;

25

26

     /**

27

      * A configuration wrapper to read the parameters of a servlet request. This

28

      * configuration is read only, adding or removing a property will throw an

29

      * UnsupportedOperationException.

30

      *

31

      * @author <a href="mailto:ebourg@apache.org">Emmanuel Bourg</a>

32

      * @version $Revision: 439648 $, $Date: 2006-09-02 22:42:10 +0200 (Sa, 02 Sep 2006) $

33

      * @since 1.1

34

      */

35

     public class ServletRequestConfiguration extends BaseWebConfiguration

36

     {

37

         /** Stores the wrapped request.*/

38

         protected ServletRequest request;

39

40

         /**

41

          * Create a ServletRequestConfiguration using the request parameters.

42

          *

43

          * @param request the servlet request

44

          */

45

         public ServletRequestConfiguration(ServletRequest request)

46

8

         {

47

8

             this.request = request;

48

8

         }

49

50

         public Object getProperty(String key)

51

         {

52

7

             String[] values = request.getParameterValues(key);

53

54

7

             if (values == null || values.length == 0)

55

             {

56

2

                 return null;

57

             }

58

5

             else if (values.length == 1)

59

             {

60

3

                 return values[0];

61

             }

62

             else

63

             {

64

2

                 return Arrays.asList(values);

65

             }

66

         }

67

68

         public Iterator getKeys()

69

         {

70

3

             return new EnumerationIterator(request.getParameterNames());

71

         }

72

     }