priyakpandey [
http://community.jboss.org/people/priyakpandey] created the discussion
"Re: JBPM 5.1 Final Release with jboss-5.1.0.GA embedded server - Users/Roles/Groups
Management"
To view the discussion, visit:
http://community.jboss.org/message/612229#612229
--------------------------------------------------------------
Thank you for your quick response !
If you look at DemoTaskService.java main method, it has following code before starting
MinaTaskServer.
// Add users
Map vars = new HashMap();
Reader reader = new InputStreamReader( BaseTest.class.getResourceAsStream(
"LoadUsers.mvel" ) );
Map<String, User> users = ( Map<String, User> ) eval( reader, vars
);
for ( User user : users.values() ) {
taskSession.addUser( user );
}
reader = new InputStreamReader( BaseTest.class.getResourceAsStream(
"LoadGroups.mvel" ) );
Map<String, Group> groups = ( Map<String, Group> ) eval( reader, vars
);
for ( Group group : groups.values() ) {
taskSession.addGroup( group );
}
What does it do with all users/groups loaded?
If you look at org.jbpm.integration.console.TaskManagement, after initializing TaskClient
it has following,
try {
ClassLoader loader =
Thread.currentThread().getContextClassLoader();
URL url = null;
String propertyName = "roles.properties";
if (loader instanceof URLClassLoader) {
URLClassLoader ucl = (URLClassLoader) loader;
url = ucl.findResource(propertyName);
}
if (url == null) {
url = loader.getResource(propertyName);
}
if (url == null) {
System.out.println("No properties file:
" + propertyName + " found");
} else {
Properties bundle = new Properties();
InputStream is = url.openStream();
if (is != null) {
bundle.load(is);
is.close();
} else {
throw new IOException("Properties
file " + propertyName + " not available");
}
Enumeration<?> propertyNames =
bundle.propertyNames();
while (propertyNames.hasMoreElements()) {
String key = (String)
propertyNames.nextElement();
String value = bundle.getProperty(key);
groupListMap.put(key,
Arrays.asList(value.split(",")));
System.out.print("Loaded user
" + key + ":");
for (String role: groupListMap.get(key))
{
System.out.print(" "
+ role);
}
System.out.println();
}
}
} catch (Throwable t) {
t.printStackTrace();
}
which loads all the roles of all the users? It can be changed to load on demand for the
particular user?
I am using Oracle but the user/group/roles gets loaded in the session all the time on
startup.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/612229#612229]
Start a new discussion in jBPM at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]