in extensions/torque/src/java/org/apache/turbine/services/security/torque/RolePeerManager.java [94:184]
public static void init(Configuration conf)
throws InitializationException
{
String rolePeerClassName = conf.getString(ROLE_PEER_CLASS_KEY,
ROLE_PEER_CLASS_DEFAULT);
String roleObjectName = null;
try
{
rolePeerClass = Class.forName(rolePeerClassName);
tableName =
(String) rolePeerClass.getField("TABLE_NAME").get(null);
//
// We have either an user configured Object class or we use the
// default as supplied by the Peer class
//
// Default from Peer, can be overridden
roleObject = getPersistenceClass();
roleObjectName = conf.getString(ROLE_CLASS_KEY,
roleObject.getName());
// Maybe the user set a new value...
roleObject = Class.forName(roleObjectName);
/* If any of the following Field queries fails, the role
* subsystem is unusable. So check this right here at init time,
* which saves us much time and hassle if it fails...
*/
nameColumn = (String) rolePeerClass.getField(
conf.getString(ROLE_NAME_COLUMN_KEY,
ROLE_NAME_COLUMN_DEFAULT)
).get(null);
idColumn = (String) rolePeerClass.getField(
conf.getString(ROLE_ID_COLUMN_KEY,
ROLE_ID_COLUMN_DEFAULT)
).get(null);
namePropDesc = new PropertyDescriptor(
conf.getString(ROLE_NAME_PROPERTY_KEY,
ROLE_NAME_PROPERTY_DEFAULT),
roleObject);
idPropDesc = new PropertyDescriptor(
conf.getString(ROLE_ID_PROPERTY_KEY,
ROLE_ID_PROPERTY_DEFAULT),
roleObject);
}
catch (Exception e)
{
if (rolePeerClassName == null || rolePeerClass == null)
{
throw new InitializationException(
"Could not find RolePeer class ("
+ rolePeerClassName + ")", e);
}
if (tableName == null)
{
throw new InitializationException(
"Failed to get the table name from the Peer object", e);
}
if (roleObject == null || roleObjectName == null)
{
throw new InitializationException(
"Failed to get the object type from the Peer object", e);
}
if (nameColumn == null || namePropDesc == null)
{
throw new InitializationException(
"RolePeer " + rolePeerClassName
+ " has no name column information!", e);
}
if (idColumn == null || idPropDesc == null)
{
throw new InitializationException(
"RolePeer " + rolePeerClassName
+ " has no id column information!", e);
}
}
}