]> source.dussan.org Git - archiva.git/blob
7fef4423af869997aaba7338bbf9c8dfe9d8571e
[archiva.git] /
1 package org.apache.maven.archiva.web.tags;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *  http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.codehaus.plexus.PlexusConstants;
23 import org.codehaus.plexus.PlexusContainer;
24 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
25
26 import javax.servlet.ServletContext;
27 import javax.servlet.jsp.PageContext;
28
29 /**
30  * PlexusTagUtil 
31  *
32  * @version $Id$
33  */
34 public class PlexusTagUtil
35 {
36     public static Object lookup( PageContext pageContext, Class clazz )
37         throws ComponentLookupException
38     {
39         return getContainer( pageContext ).lookup( clazz );
40     }
41
42     public static Object lookup( PageContext pageContext, String role )
43         throws ComponentLookupException
44     {
45         return getContainer( pageContext ).lookup( role );
46     }
47
48     public static Object lookup( PageContext pageContext, Class clazz, String hint )
49         throws ComponentLookupException
50     {
51         return getContainer( pageContext ).lookup( clazz, hint );
52     }
53
54     public static Object lookup( PageContext pageContext, String role, String hint )
55         throws ComponentLookupException
56     {
57         return getContainer( pageContext ).lookup( role, hint );
58     }
59
60     public static PlexusContainer getContainer( PageContext pageContext )
61         throws ComponentLookupException
62     {
63         ServletContext servletContext = pageContext.getServletContext();
64
65         PlexusContainer xworkContainer = (PlexusContainer) servletContext.getAttribute( "webwork.plexus.container" );
66
67         if ( xworkContainer != null )
68         {
69             servletContext.setAttribute( PlexusConstants.PLEXUS_KEY, xworkContainer );
70
71             return xworkContainer;
72         }
73
74         PlexusContainer container = (PlexusContainer) servletContext.getAttribute( PlexusConstants.PLEXUS_KEY );
75         if ( container == null )
76         {
77             throw new ComponentLookupException( "PlexusContainer is null." );
78         }
79         return container;
80     }
81 }