import org.picketlink.idm.IdentityManager;
import org.picketlink.idm.PartitionManager;
import org.picketlink.idm.RelationshipManager;
import org.picketlink.idm.credential.Password;
import org.picketlink.idm.model.sample.Agent;
import org.picketlink.idm.model.sample.Role;
import org.picketlink.idm.model.sample.SampleModel;
import org.picketlink.idm.model.sample.User;
import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;
@Singleton
@Startup
public class PicketLinkDefaultUsers {
@Inject
private PartitionManager partitionManager;
private IdentityManager identityManager;
private RelationshipManager relationshipManager;
@PostConstruct
public void create() {
this.identityManager = partitionManager.createIdentityManager();
this.relationshipManager = partitionManager.createRelationshipManager();
final String DEFAULT_USER = "john";
User adminUser = SampleModel.getUser(identityManager, DEFAULT_USER);
if (adminUser == null) {
SaleAgent john = new SaleAgent();
john.setLocation("New York");
john.setStatus("PTO");
john.setLoginName("john");
this.identityManager.add(john);
this.identityManager.updateCredential(john, new Password("123"));
Role admin = new Role("admin");
this.identityManager.add(admin);
Role simple = new Role("simple");
this.identityManager.add(simple);
grantRoles(john, admin);
grantRoles(john, simple);
}
}
private void grantRoles(Agent agent, Role role) {
SampleModel.grantRole(relationshipManager, agent, role);
}
}