Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • DM/dm-docs
  • hammonds/dm-docs
  • hparraga/dm-docs
3 results
Show changes
Showing
with 1619 additions and 0 deletions
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.controllers;
import gov.anl.aps.dm.portal.model.beans.UserInfoDbFacade;
import gov.anl.aps.dm.portal.model.entities.UserInfo;
import gov.anl.aps.dm.common.utilities.CryptUtility;
import gov.anl.aps.dm.common.utilities.LdapUtility;
import gov.anl.aps.dm.portal.model.entities.Experiment;
import gov.anl.aps.dm.portal.model.entities.ExperimentStation;
import gov.anl.aps.dm.portal.utilities.AuthorizationUtility;
import gov.anl.aps.dm.portal.utilities.SessionUtility;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import org.apache.log4j.Logger;
/**
* Login controller.
*/
@Named("loginController")
@SessionScoped
public class LoginController implements Serializable {
@EJB
private UserInfoDbFacade userInfoFacade;
private String username = null;
private String password = null;
private boolean loggedIn = false;
private UserInfo user = null;
private boolean isAdmin;
private static final Logger logger = Logger.getLogger(LoginController.class.getName());
/**
* Constructor.
*/
public LoginController() {
}
/**
* Get password.
*
* @return login password
*/
public String getPassword() {
return password;
}
/**
* Set password.
*
* @param password login password
*/
public void setPassword(String password) {
this.password = password;
}
/**
* Get username.
*
* @return login username
*/
public String getUsername() {
return username;
}
/**
* Set username.
*
* @param username login username
*/
public void setUsername(String username) {
this.username = username;
}
/**
* Check if user is logged in.
*
* @return true if admin is logged in, false otherwise
*/
public boolean isLoggedIn() {
return loggedIn;
}
/**
* Login action.
*
* @return url to service home page if login is successful, or null in case
* of errors
*/
public String login() {
loggedIn = false;
if (username == null || password == null || username.isEmpty() || password.isEmpty()) {
SessionUtility.addWarningMessage(null, "Incomplete Input. Please enter both username and password.");
return (username = password = null);
}
user = userInfoFacade.findByUsername(username);
if (user == null) {
SessionUtility.addErrorMessage(null, "Username " + username + " is not registered. Contact administrator.");
return (username = password = null);
}
boolean validCredentials = false;
if (user.getPassword() != null && CryptUtility.verifyPasswordWithPbkdf2(password, user.getPassword())) {
logger.debug("User " + username + " is authorized by DM DB");
validCredentials = true;
} else if (LdapUtility.validateCredentials(username, password)) {
logger.debug("User " + username + " is authorized by DM LDAP");
validCredentials = true;
} else {
logger.debug("User " + username + " is not authorized.");
}
if (validCredentials) {
SessionUtility.setUser(user);
loggedIn = true;
SessionUtility.addInfoMessage("Successful Login", "User " + username + " is logged in.");
isAdmin = AuthorizationUtility.isAdministrator(user);
return getLandingPage();
} else {
SessionUtility.addErrorMessage(null, "Invalid Credentials. Username/password combination could not be verified.");
SessionUtility.addErrorMessage(null, "If you are having difficulty logging in, please see our <a href=\"/dm/views/loginHelp.xhtml\">login help</a> page.");
return (username = password = null);
}
}
public String getLandingPage() {
String landingPage = SessionUtility.getCurrentViewId() + "?faces-redirect=true";
if (landingPage.contains("login")) {
landingPage = "/views/home?faces-redirect=true";
}
logger.debug("Landing page: " + landingPage);
return landingPage;
}
public String displayUsername() {
if (isLoggedIn()) {
return username;
} else {
return "Not Logged In";
}
}
public String displayRole() {
if (isAdmin()) {
return "Administrator";
} else {
return "User";
}
}
/**
* Logout action.
*
* @return url to logout page
*/
public String logout() {
SessionUtility.clearSession();
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
context.invalidateSession();
loggedIn = false;
user = null;
return "/views/login?faces-redirect=true";
}
public boolean isAdmin() {
return isAdmin;
}
public boolean isAdministrator() {
return AuthorizationUtility.isAdministrator(user);
}
public boolean isStationManager(ExperimentStation experimentStation) {
return AuthorizationUtility.isStationManager(user, experimentStation);
}
public boolean isExperimentPi(Experiment experiment) {
return AuthorizationUtility.isExperimentPi(user, experiment);
}
public boolean isExperimentUser(Experiment experiment) {
return AuthorizationUtility.isExperimentUser(user, experiment);
}
public boolean canManageStation(ExperimentStation experimentStation) {
return AuthorizationUtility.canManageStation(user, experimentStation);
}
public boolean canManageExperiment(Experiment experiment) {
return AuthorizationUtility.canManageExperiment(user, experiment);
}
public boolean canCreateExperiment() {
return AuthorizationUtility.canCreateExperiment(user);
}
}
package gov.anl.aps.dm.portal.controllers;
import gov.anl.aps.dm.portal.model.beans.SystemRoleTypeDbFacade;
import gov.anl.aps.dm.portal.model.entities.SystemRoleType;
import javax.ejb.EJB;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import org.apache.log4j.Logger;
@Named("systemRoleTypeController")
@SessionScoped
public class SystemRoleTypeController extends DmEntityController<SystemRoleType, SystemRoleTypeDbFacade> {
private static final Logger logger = Logger.getLogger(SystemRoleTypeController.class.getName());
@EJB
private SystemRoleTypeDbFacade systemRoleTypeDbFacade;
public SystemRoleTypeController() {
}
@Override
protected SystemRoleTypeDbFacade getFacade() {
return systemRoleTypeDbFacade;
}
@Override
protected SystemRoleType createEntityInstance() {
return new SystemRoleType();
}
@Override
public String getEntityTypeName() {
return "systemRoleType";
}
@Override
public String getCurrentEntityInstanceName() {
if (getCurrent() != null) {
return getCurrent().getName();
}
return "";
}
@Override
public SystemRoleType findById(Integer id) {
return systemRoleTypeDbFacade.findById(id);
}
@FacesConverter(forClass = SystemRoleType.class)
public static class SystemRoleTypeControllerConverter implements Converter {
@Override
public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
SystemRoleTypeController controller = (SystemRoleTypeController) facesContext.getApplication().getELResolver().
getValue(facesContext.getELContext(), null, "systemRoleTypeController");
return controller.getEntity(getKey(value));
}
java.lang.Integer getKey(String value) {
java.lang.Integer key;
key = Integer.valueOf(value);
return key;
}
String getStringKey(java.lang.Integer value) {
StringBuilder sb = new StringBuilder();
sb.append(value);
return sb.toString();
}
@Override
public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
if (object == null) {
return null;
}
if (object instanceof SystemRoleType) {
SystemRoleType o = (SystemRoleType) object;
return getStringKey(o.getId());
} else {
throw new IllegalArgumentException("Object " + object + " is of type " + object.getClass().getName() + "; expected type: " + SystemRoleType.class.getName());
}
}
}
}
package gov.anl.aps.dm.portal.controllers;
import gov.anl.aps.dm.api.ExperimentDsApi;
import gov.anl.aps.dm.common.exceptions.InvalidRequest;
import gov.anl.aps.dm.common.exceptions.DmException;
import gov.anl.aps.dm.common.exceptions.ObjectAlreadyExists;
import gov.anl.aps.dm.portal.model.entities.UserInfo;
import gov.anl.aps.dm.portal.model.beans.UserInfoDbFacade;
import gov.anl.aps.dm.common.utilities.CryptUtility;
import gov.anl.aps.dm.portal.model.beans.UserExperimentRoleDbFacade;
import gov.anl.aps.dm.portal.model.beans.ExperimentRoleTypeDbFacade;
import gov.anl.aps.dm.portal.model.entities.Experiment;
import gov.anl.aps.dm.portal.model.entities.ExperimentRoleType;
import gov.anl.aps.dm.portal.model.entities.UserExperimentRole;
import gov.anl.aps.dm.portal.model.entities.UserExperimentRolePK;
import gov.anl.aps.dm.portal.utilities.DmApiFactory;
import gov.anl.aps.dm.portal.utilities.SessionUtility;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.inject.Named;
import org.apache.log4j.Logger;
@Named("userInfoController")
@SessionScoped
public class UserInfoController extends DmEntityController<UserInfo, UserInfoDbFacade> {
private static final Logger logger = Logger.getLogger(UserInfoController.class.getName());
@EJB
private UserInfoDbFacade userInfoDbFacade;
@EJB
private UserExperimentRoleDbFacade userExperimentRoleDbFacade;
@EJB
private ExperimentRoleTypeDbFacade experimentRoleTypeDbFacade;
private String passwordEntry = null;
private UserExperimentRole currentUserExperimentRole = null;
private String filterByBadge = null;
private String filterByUsername = null;
private String filterByLastName = null;
private String filterByFirstName = null;
private String filterByEmail = null;
private String filterByGlobusUsername = null;
private String filterByDescription = null;
private String selectFilterByBadge = null;
private String selectFilterByUsername = null;
private String selectFilterByLastName = null;
private String selectFilterByFirstName = null;
private String selectFilterByEmail = null;
private String selectFilterByGlobusUsername = null;
private String selectFilterByDescription = null;
public UserInfoController() {
}
@Override
protected UserInfoDbFacade getFacade() {
return userInfoDbFacade;
}
@Override
protected UserInfo createEntityInstance() {
return new UserInfo();
}
@Override
public String getEntityTypeName() {
return "user";
}
@Override
public String getCurrentEntityInstanceName() {
if (getCurrent() != null) {
return getCurrent().getUsername();
}
return "";
}
@Override
public UserInfo findById(Integer id) {
return userInfoDbFacade.findById(id);
}
@Override
public List<UserInfo> getAvailableItems() {
return super.getAvailableItems();
}
@Override
public String prepareEdit(UserInfo user) {
passwordEntry = null;
return super.prepareEdit(user);
}
@Override
public void prepareEntityInsert(UserInfo user) throws DmException {
checkMandatoryParameters(user);
UserInfo existingUser = userInfoDbFacade.findByUsername(user.getUsername());
if (existingUser != null) {
throw new ObjectAlreadyExists("User " + user.getUsername() + " already exists.");
}
if (passwordEntry != null && !passwordEntry.isEmpty()) {
logger.debug("Will crypt provided password for user " + user.getUsername());
String cryptedPassword = CryptUtility.cryptPasswordWithPbkdf2(passwordEntry);
user.setPassword(cryptedPassword);
}
passwordEntry = null;
user.setIsLocalUser(true);
logger.debug("Inserting new user " + user.getUsername());
}
private void checkMandatoryParameters(UserInfo user) throws InvalidRequest {
if ((user.getUsername() == null) || (user.getUsername().length() == 0)) {
throw new InvalidRequest("Missing username.");
}
if ((user.getLastName() == null) || (user.getLastName().length() == 0)) {
throw new InvalidRequest("Missing user last name.");
}
if ((user.getFirstName() == null) || (user.getFirstName().length() == 0)) {
throw new InvalidRequest("Missing user first name.");
}
}
@Override
public void prepareEntityUpdate(UserInfo user) throws DmException {
checkMandatoryParameters(user);
if (passwordEntry != null && !passwordEntry.isEmpty()) {
logger.debug("Will crypt provided password for user " + user.getUsername());
String cryptedPassword = CryptUtility.cryptPasswordWithPbkdf2(passwordEntry);
user.setPassword(cryptedPassword);
}
passwordEntry = null;
}
@Override
protected String getObjectAlreadyExistMessage(UserInfo user) {
if (user == null) {
return null;
}
return "User " + user.getUsername() + " already exists.";
}
public String prepareSessionUserEdit(String viewPath) {
UserInfo sessionUser = (UserInfo) SessionUtility.getUser();
if (sessionUser == null) {
return null;
}
prepareEdit(sessionUser);
return viewPath + "?faces-redirect=true";
}
public String getPasswordEntry() {
return passwordEntry;
}
public void setPasswordEntry(String passwordEntry) {
this.passwordEntry = passwordEntry;
}
public UserExperimentRole getCurrentUserExperimentRole() {
if (currentUserExperimentRole == null) {
currentUserExperimentRole = new UserExperimentRole();
}
return currentUserExperimentRole;
}
public void setCurrentUserExperimentRole(UserExperimentRole currentUserExperimentRole) {
this.currentUserExperimentRole = currentUserExperimentRole;
}
public void prepareAddUserExperimentRole(UserInfo user) {
UserExperimentRole userExperimentRole = getCurrentUserExperimentRole();
userExperimentRole.setUserInfo(user);
}
private void addUserExperimentRole() {
UserInfo user = currentUserExperimentRole.getUserInfo();
Experiment experiment = currentUserExperimentRole.getExperiment();
ExperimentRoleType roleType = currentUserExperimentRole.getExperimentRoleType();
UserExperimentRolePK userExperimentRolePK = new UserExperimentRolePK();
userExperimentRolePK.setExperimentId(experiment.getId());
userExperimentRolePK.setUserId(user.getId());
userExperimentRolePK.setRoleTypeId(roleType.getId());
currentUserExperimentRole.setUserExperimentRolePK(userExperimentRolePK);
UserExperimentRole existingRole = userExperimentRoleDbFacade.findByUserAndExperiment(user.getId(),
experiment.getId());
if (existingRole != null) {
SessionUtility.addErrorMessage("Error", "Could not add user experiment role: User "
+ user.getUsername()
+ " is already associated with experiment "
+ existingRole.getExperiment().getName() + " as "
+ existingRole.getExperimentRoleType().getName() + ".");
return;
}
List<UserExperimentRole> userExperimentRoleList = user.getUserExperimentRoleList();
userExperimentRoleList.add(0, currentUserExperimentRole);
update();
notifyUpdateExperiment(experiment);
currentUserExperimentRole = null;
}
public void addUserExperimentRolePi() {
currentUserExperimentRole.setExperimentRoleType(experimentRoleTypeDbFacade.findPiRoleType());
addUserExperimentRole();
}
public void addUserExperimentRoleUser() {
currentUserExperimentRole.setExperimentRoleType(experimentRoleTypeDbFacade.findUserRoleType());
addUserExperimentRole();
}
public void deleteUserExperimentRole(UserExperimentRole userExperimentRole) {
UserInfo user = getCurrent();
userExperimentRoleDbFacade.remove(userExperimentRole);
List<UserExperimentRole> userExperimentRoleList = user.getUserExperimentRoleList();
userExperimentRoleList.remove(userExperimentRole);
updateOnRemoval();
notifyUpdateExperiment(userExperimentRole.getExperiment());
}
public void notifyUpdateExperiment(Experiment experiment) {
// Notify DS Web Service
try {
ExperimentDsApi api = DmApiFactory.getExperimentDsApi();
api.updateExperiment(experiment.getName());
} catch (DmException ex) {
logger.error("Could not notify Data Storage Service: " + ex);
SessionUtility.addErrorMessage("Error", "Unable to notify Data Storage Service: " + ex.getErrorMessage());
}
}
@Override
public void clearListFilters() {
filterByBadge = null;
filterByUsername = null;
filterByLastName = null;
filterByFirstName = null;
filterByEmail = null;
filterByGlobusUsername = null;
filterByDescription = null;
}
@Override
public void clearSelectFilters() {
selectFilterByBadge = null;
selectFilterByUsername = null;
selectFilterByLastName = null;
selectFilterByFirstName = null;
selectFilterByEmail = null;
selectFilterByGlobusUsername = null;
selectFilterByDescription = null;
}
public String getFilterByBadge() {
return filterByBadge;
}
public void setFilterByBadge(String filterByBadge) {
this.filterByBadge = filterByBadge;
}
public String getFilterByUsername() {
return filterByUsername;
}
public void setFilterByUsername(String filterByUsername) {
this.filterByUsername = filterByUsername;
}
public String getFilterByLastName() {
return filterByLastName;
}
public void setFilterByLastName(String filterByLastName) {
this.filterByLastName = filterByLastName;
}
public String getFilterByFirstName() {
return filterByFirstName;
}
public void setFilterByFirstName(String filterByFirstName) {
this.filterByFirstName = filterByFirstName;
}
public String getFilterByEmail() {
return filterByEmail;
}
public void setFilterByEmail(String filterByEmail) {
this.filterByEmail = filterByEmail;
}
public String getFilterByGlobusUsername() {
return filterByGlobusUsername;
}
public void setFilterByGlobusUsername(String filterByGlobusUsername) {
this.filterByGlobusUsername = filterByGlobusUsername;
}
public String getFilterByDescription() {
return filterByDescription;
}
public void setFilterByDescription(String filterByDescription) {
this.filterByDescription = filterByDescription;
}
public String getSelectFilterByBadge() {
return selectFilterByBadge;
}
public void setSelectFilterByBadge(String selectFilterByBadge) {
this.selectFilterByBadge = selectFilterByBadge;
}
public String getSelectFilterByUsername() {
return selectFilterByUsername;
}
public void setSelectFilterByUsername(String selectFilterByUsername) {
this.selectFilterByUsername = selectFilterByUsername;
}
public String getSelectFilterByLastName() {
return selectFilterByLastName;
}
public void setSelectFilterByLastName(String selectFilterByLastName) {
this.selectFilterByLastName = selectFilterByLastName;
}
public String getSelectFilterByFirstName() {
return selectFilterByFirstName;
}
public void setSelectFilterByFirstName(String selectFilterByFirstName) {
this.selectFilterByFirstName = selectFilterByFirstName;
}
public String getSelectFilterByEmail() {
return selectFilterByEmail;
}
public void setSelectFilterByEmail(String selectFilterByEmail) {
this.selectFilterByEmail = selectFilterByEmail;
}
public String getSelectFilterByGlobusUsername() {
return selectFilterByGlobusUsername;
}
public void setSelectFilterByGlobusUsername(String selectFilterByGlobusUsername) {
this.selectFilterByGlobusUsername = selectFilterByGlobusUsername;
}
public String getSelectFilterByDescription() {
return selectFilterByDescription;
}
public void setSelectFilterByDescription(String selectFilterByDescription) {
this.selectFilterByDescription = selectFilterByDescription;
}
@FacesConverter(forClass = UserInfo.class)
public static class UserInfoControllerConverter implements Converter {
@Override
public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
UserInfoController controller = (UserInfoController) facesContext.getApplication().getELResolver().
getValue(facesContext.getELContext(), null, "userInfoController");
return controller.getEntity(getKey(value));
}
java.lang.Integer getKey(String value) {
java.lang.Integer key;
key = Integer.valueOf(value);
return key;
}
String getStringKey(java.lang.Integer value) {
StringBuilder sb = new StringBuilder();
sb.append(value);
return sb.toString();
}
@Override
public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
if (object == null) {
return null;
}
if (object instanceof UserInfo) {
UserInfo o = (UserInfo) object;
return getStringKey(o.getId());
} else {
throw new IllegalArgumentException("Object " + object + " is of type " + object.getClass().getName() + "; expected type: " + UserInfo.class.getName());
}
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.AllowedPolicyValue;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class AllowedPolicyValueDbFacade extends DmEntityDbFacade<AllowedPolicyValue>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public AllowedPolicyValueDbFacade() {
super(AllowedPolicyValue.class);
}
public AllowedPolicyValue findByName(String name) {
try {
return (AllowedPolicyValue) em.createNamedQuery("AllowedPolicyValue.findByPolicyValue")
.setParameter("policyValue", name)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public AllowedPolicyValue findById(int id) {
try {
return (AllowedPolicyValue) em.createNamedQuery("AllowedPolicyValue.findById")
.setParameter("id", id)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public List<AllowedPolicyValue> findByPolicyPropertyId(int id) {
try {
return (List<AllowedPolicyValue>) em.createNamedQuery("AllowedPolicyValue.findByPolicyPropertyId")
.setParameter("policyPropertyId", id)
.getResultList();
} catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.AllowedSettingValue;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class AllowedSettingValueDbFacade extends DmEntityDbFacade<AllowedSettingValue>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public AllowedSettingValueDbFacade() {
super(AllowedSettingValue.class);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.DataFolder;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class DataFolderDbFacade extends DmEntityDbFacade<DataFolder>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public DataFolderDbFacade() {
super(DataFolder.class);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import java.util.List;
import javax.persistence.EntityManager;
/**
*
* @author sveseli
*/
public abstract class DmEntityDbFacade<T>
{
private Class<T> entityClass;
public DmEntityDbFacade(Class<T> entityClass) {
this.entityClass = entityClass;
}
protected abstract EntityManager getEntityManager();
public void create(T entity) {
getEntityManager().persist(entity);
}
public void edit(T entity) {
getEntityManager().merge(entity);
}
public void remove(T entity) {
getEntityManager().remove(getEntityManager().merge(entity));
}
public T find(Object id) {
return getEntityManager().find(entityClass, id);
}
public List<T> findAll() {
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
return getEntityManager().createQuery(cq).getResultList();
}
public List<T> findRange(int[] range) {
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
javax.persistence.Query q = getEntityManager().createQuery(cq);
q.setMaxResults(range[1] - range[0] + 1);
q.setFirstResult(range[0]);
return q.getResultList();
}
public int count() {
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
javax.persistence.criteria.Root<T> rt = cq.from(entityClass);
cq.select(getEntityManager().getCriteriaBuilder().count(rt));
javax.persistence.Query q = getEntityManager().createQuery(cq);
return ((Long) q.getSingleResult()).intValue();
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.Endpoint;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class EndpointDbFacade extends DmEntityDbFacade<Endpoint> {
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public EndpointDbFacade() {
super(Endpoint.class);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.Experiment;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class ExperimentDbFacade extends DmEntityDbFacade<Experiment> {
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ExperimentDbFacade() {
super(Experiment.class);
}
public Experiment findByName(String name) {
try {
return (Experiment) em.createNamedQuery("Experiment.findByName")
.setParameter("name", name)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public Experiment findById(Integer id) {
try {
return (Experiment) em.createNamedQuery("Experiment.findById")
.setParameter("id", id)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public boolean checkIfNameExists(String name) {
return findByName(name) != null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.ExperimentPolicy;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class ExperimentPolicyDbFacade extends DmEntityDbFacade<ExperimentPolicy>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ExperimentPolicyDbFacade() {
super(ExperimentPolicy.class);
}
public ExperimentPolicy findById(int id) {
try {
return (ExperimentPolicy) em.createNamedQuery("ExperimentPolicy.findById")
.setParameter("id", id)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public List<ExperimentPolicy> findByExperimentId(int id) {
try {
return (List<ExperimentPolicy>) em.createNamedQuery("ExperimentPolicy.findByExperimentId")
.setParameter("experimentId", id)
.getResultList();
}
catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.ExperimentPolicyPropertyValue;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author bfrosik
*/
@Stateless
public class ExperimentPolicyPropertyValueDbFacade extends DmEntityDbFacade<ExperimentPolicyPropertyValue>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ExperimentPolicyPropertyValueDbFacade() {
super(ExperimentPolicyPropertyValue.class);
}
public ExperimentPolicyPropertyValue findById(int id) {
try {
return (ExperimentPolicyPropertyValue) em.createNamedQuery("ExperimentPolicyPropertyValue.findById")
.setParameter("id", id)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public List<ExperimentPolicyPropertyValue> findByExperimentPolicyId(int id) {
try {
return (List<ExperimentPolicyPropertyValue>) em.createNamedQuery("ExperimentPolicyPropertyValue.findByExperimentPolicyId")
.setParameter("experimentPolicyId", id)
.getResultList();
}
catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.ExperimentRoleType;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class ExperimentRoleTypeDbFacade extends DmEntityDbFacade<ExperimentRoleType> {
public static final String PI_ROLE = "PI";
public static final String USER_ROLE = "User";
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ExperimentRoleTypeDbFacade() {
super(ExperimentRoleType.class);
}
public ExperimentRoleType findByName(String name) {
try {
return (ExperimentRoleType) em.createNamedQuery("ExperimentRoleType.findByName")
.setParameter("name", name)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public ExperimentRoleType findById(Integer id) {
try {
return (ExperimentRoleType) em.createNamedQuery("ExperimentRoleType.findById")
.setParameter("id", id)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public ExperimentRoleType findPiRoleType() {
try {
return (ExperimentRoleType) em.createNamedQuery("ExperimentRoleType.findByName")
.setParameter("name", PI_ROLE)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public ExperimentRoleType findUserRoleType() {
try {
return (ExperimentRoleType) em.createNamedQuery("ExperimentRoleType.findByName")
.setParameter("name", USER_ROLE)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.ExperimentStation;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class ExperimentStationDbFacade extends DmEntityDbFacade<ExperimentStation> {
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ExperimentStationDbFacade() {
super(ExperimentStation.class);
}
public ExperimentStation findByName(String name) {
try {
return (ExperimentStation) em.createNamedQuery("ExperimentStation.findByName")
.setParameter("name", name)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public ExperimentStation findById(Integer id) {
try {
return (ExperimentStation) em.createNamedQuery("ExperimentStation.findById")
.setParameter("id", id)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.ExperimentType;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class ExperimentTypeDbFacade extends DmEntityDbFacade<ExperimentType>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ExperimentTypeDbFacade() {
super(ExperimentType.class);
}
public ExperimentType findByName(String name) {
try {
return (ExperimentType) em.createNamedQuery("ExperimentType.findByName")
.setParameter("name", name)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public ExperimentType findById(Integer id) {
try {
return (ExperimentType) em.createNamedQuery("ExperimentType.findById")
.setParameter("id", id)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.PolicyProperty;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author bfrosik
*/
@Stateless
public class PolicyPropertyDbFacade extends DmEntityDbFacade<PolicyProperty>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
// @Override
// public void remove(PolicyProperty entity) {
// Object o = em.merge(entity);
// em.remove(o);
// }
public PolicyPropertyDbFacade() {
super(PolicyProperty.class);
}
public PolicyProperty findByName(String name) {
try {
return (PolicyProperty) em.createNamedQuery("PolicyProperty.findByName")
.setParameter("name", name)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public PolicyProperty findById(int id) {
try {
return (PolicyProperty) em.createNamedQuery("PolicyProperty.findById")
.setParameter("id", id)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public List<PolicyProperty> findByPolicyTypeId(int id) {
try {
return (List<PolicyProperty>) em.createNamedQuery("PolicyProperty.findByPolicyTypeId")
.setParameter("policyTypeId", id)
.getResultList();
}
catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.PolicyType;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class PolicyTypeDbFacade extends DmEntityDbFacade<PolicyType>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public PolicyTypeDbFacade() {
super(PolicyType.class);
}
public PolicyType findByName(String name) {
try {
return (PolicyType) em.createNamedQuery("PolicyType.findByName")
.setParameter("name", name)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public PolicyType findById(int id) {
try {
return (PolicyType) em.createNamedQuery("PolicyType.findById")
.setParameter("id", id)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.SettingType;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class SettingTypeDbFacade extends DmEntityDbFacade<SettingType>
{
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public SettingTypeDbFacade() {
super(SettingType.class);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.Storage;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class StorageDbFacade extends DmEntityDbFacade<Storage> {
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public StorageDbFacade() {
super(Storage.class);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.SystemRoleType;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class SystemRoleTypeDbFacade extends DmEntityDbFacade<SystemRoleType> {
public static final String ADMINISTRATOR_ROLE = "Administrator";
public static final String MANAGER_ROLE = "Manager";
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public SystemRoleTypeDbFacade() {
super(SystemRoleType.class);
}
public SystemRoleType findById(Integer id) {
try {
return (SystemRoleType) em.createNamedQuery("SystemRoleType.findById")
.setParameter("id", id)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public SystemRoleType findAdministratorRoleType() {
try {
return (SystemRoleType) em.createNamedQuery("SystemRoleType.findByName")
.setParameter("name", ADMINISTRATOR_ROLE)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
public SystemRoleType findManagerRoleType() {
try {
return (SystemRoleType) em.createNamedQuery("SystemRoleType.findByName")
.setParameter("name", MANAGER_ROLE)
.getSingleResult();
}
catch (NoResultException ex) {
}
return null;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package gov.anl.aps.dm.portal.model.beans;
import gov.anl.aps.dm.portal.model.entities.UserExperimentRole;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
/**
*
* @author sveseli
*/
@Stateless
public class UserExperimentRoleDbFacade extends DmEntityDbFacade<UserExperimentRole> {
@PersistenceContext(unitName = "DmWebPortalPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public UserExperimentRoleDbFacade() {
super(UserExperimentRole.class);
}
public UserExperimentRole findByUserAndExperiment(int userId, int experimentId) {
try {
return (UserExperimentRole) em.createNamedQuery("UserExperimentRole.findByUserAndExperiment")
.setParameter("userId", userId)
.setParameter("experimentId", experimentId)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
public UserExperimentRole findByUserAndExperimentAndRoleType(int userId, int experimentId, int roleTypeId) {
try {
return (UserExperimentRole) em.createNamedQuery("UserExperimentRole.findByUserAndExperimentAndRoleType")
.setParameter("userId", userId)
.setParameter("experimentId", experimentId)
.setParameter("roleTypeId", roleTypeId)
.getSingleResult();
} catch (NoResultException ex) {
}
return null;
}
}