KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jetspeed > om > security > JetspeedGroupFactory


1 /*
2  * Copyright 2000-2001,2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.jetspeed.om.security;
18
19 import org.apache.turbine.services.TurbineServices;
20 import org.apache.turbine.services.resources.ResourceService;
21
22 import org.apache.jetspeed.services.security.GroupException;
23 import org.apache.jetspeed.services.security.JetspeedSecurityService;
24
25 /**
26  * Factory class for creating Jetspeed Groups.
27  * The group class is configured in the JR.p
28  *
29  * @author <a HREF="mailto:taylor@apache.org">David Sean Taylor</a>
30  * @version $Id: JetspeedGroupFactory.java,v 1.4 2004/02/23 03:14:12 jford Exp $
31  */

32 public class JetspeedGroupFactory
33 {
34     private static final String JavaDoc CONFIG_GROUP_CLASSNAME = "group.class";
35
36     private static String JavaDoc groupClassName = null;
37     private static Class JavaDoc groupClass = null;
38     
39     /**
40      * Factory method to create JetspeedGroup instances.
41      *
42      *
43      * @throws UnknownEntityException when the group instance cant be created.
44      * @return Group a new created group.
45      */

46     public static Group getInstance()
47         throws GroupException
48     {
49         return getInstance(true);
50     }
51
52     public static Group getInstance(boolean isNew)
53         throws GroupException
54     {
55         Group group = null;
56
57         if (null == groupClassName)
58         {
59             try
60             {
61                 ResourceService serviceConf = ((TurbineServices)TurbineServices.getInstance())
62                                                          .getResources(JetspeedSecurityService.SERVICE_NAME);
63                 groupClassName = serviceConf.getString(CONFIG_GROUP_CLASSNAME);
64                 groupClass = Class.forName(groupClassName);
65             }
66             catch(Exception JavaDoc e)
67             {
68                 throw new GroupException(
69                     "GroupFactory: Failed to create a Class object for Group implementation: " + e.toString());
70             }
71         }
72
73         try
74         {
75             group = (Group)groupClass.newInstance();
76             if (group instanceof BaseJetspeedGroup)
77             {
78                 ((BaseJetspeedGroup)group).setNew(isNew);
79             }
80         }
81         catch(Exception JavaDoc e)
82         {
83             throw new GroupException("Failed instantiate an Group implementation object: " + e.toString());
84         }
85
86         return group;
87     }
88     
89
90 }
91
92
93
94
Popular Tags