Дипломная работа: Автоматизированные системы управления технологическими процессами (на примере ООО "Заря")

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
82
}
}
/**
* Метод проверки "Имеет ли пользователь разрешение на добавление документа"
* @paramuser Пользователь
* @return Результат проверки
*/
public Boolean testInsetAccess(User user) {
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
Collection<DocumentRule> rules = getDocumentRuleCollection();
for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null &&rule.getIdUser().getId().equals(user.getId())
&&rule.getAccessInsert())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) &&rule.getAccessInsert())) {
returntrue;
}
}
returnfalse;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на добавление документа"
(возвращает исключение)
* @paramuser Пользователь
* @throwsException Результат проверки
*/
public void controlInsertAccess(User user) throws Exception {
if (testInsetAccess(user) == false) {
throw new
Exception(ResourceBundle.getBundle("/resources/Bundle").getString("AccessDenied"));
}
}
/**
83
* Метод проверки "Имеет ли пользователь разрешение на обновление документа"
* @paramuser Пользователь
* @return Результат проверки
*/
public Boolean testUpdateAccess(User user) {
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
Collection<DocumentRule> rules = getDocumentRuleCollection();
for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null &&rule.getIdUser().getId().equals(user.getId())
&&rule.getAccessUpdate())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) &&rule.getAccessUpdate()))
{
returntrue;
}
}
returnfalse;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на обновление документа"
(возвращает исключение)
* @paramuser Пользователь
* @throwsException Результат проверки
*/
public void controlUpdateAccess(User user) throws Exception {
if (testUpdateAccess(user) == false) {
throw new
Exception(ResourceBundle.getBundle("/resources/Bundle").getString("AccessDenied"));
}
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
84
* and open the template in the editor.
*/
package entities;
importjava.io.Serializable;
importjavax.persistence.Basic;
importjavax.persistence.Column;
importjavax.persistence.Entity;
importjavax.persistence.GeneratedValue;
importjavax.persistence.GenerationType;
importjavax.persistence.Id;
importjavax.persistence.JoinColumn;
importjavax.persistence.ManyToOne;
importjavax.persistence.NamedQueries;
importjavax.persistence.NamedQuery;
importjavax.persistence.Table;
importjavax.xml.bind.annotation.XmlRootElement;
/**
* Класс (модель) для таблицы "Правило доступа документа"
*/
@Entity
@Table(name = "document_rule")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "DocumentRule.findAll", query = "SELECT d FROM DocumentRule
d")
, @NamedQuery(name = "DocumentRule.findById", query = "SELECT d FROM
DocumentRule d WHERE d.id = :id")
, @NamedQuery(name = "DocumentRule.findByDocumentId", query = "SELECT d FROM
DocumentRule d WHERE d.idDocument.id = :idDocument")
, @NamedQuery(name = "DocumentRule.findByAccessView", query = "SELECT d FROM
DocumentRule d WHERE d.accessView = :accessView")
, @NamedQuery(name = "DocumentRule.findByAccessInsert", query = "SELECT d FROM
DocumentRule d WHERE d.accessInsert = :accessInsert")
, @NamedQuery(name = "DocumentRule.findByAccessUpdate", query = "SELECT d FROM
DocumentRule d WHERE d.accessUpdate = :accessUpdate")
, @NamedQuery(name = "DocumentRule.findByAccessDelete", query = "SELECT d FROM
DocumentRule d WHERE d.accessDelete = :accessDelete")})
public class DocumentRule implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Column(name = "access_view")
private Boolean accessView;
85
@Column(name = "access_insert")
private Boolean accessInsert;
@Column(name = "access_update")
private Boolean accessUpdate;
@Column(name = "access_delete")
private Boolean accessDelete;
@JoinColumn(name = "id_user_type", referencedColumnName = "id")
@ManyToOne
privateUserTypeidUserType;
@JoinColumn(name = "id_document", referencedColumnName = "id")
@ManyToOne
private Document idDocument;
@JoinColumn(name = "id_user", referencedColumnName = "id")
@ManyToOne
private User idUser;
/**
* Конструкторкласса
*/
publicDocumentRule() {
}
/**
* Конструктор класса
* @paramid Идентификатор правила
*/
publicDocumentRule(Integer id) {
this.id = id;
}
/**
* Возвращает значение поля "Идентификатор правила"
* @return Идентификаторправила
*/
public Integer getId() {
return id;
}
/**
* Задает значение поля "Идентификатор правила"
* @param id Идентификаторправила
*/
public void setId(Integer id) {
this.id = id;
}
/**
* Возвращает значение поля "Разрешение на просмотр"
* @return Разрешениенапросмотр
86
*/
public Boolean getAccessView() {
returnaccessView;
}
/**
* Задает значение поля "Разрешение на просмотр"
* @paramaccessView Разрешение на просмотр
*/
public void setAccessView(Boolean accessView) {
this.accessView = accessView;
}
/**
* Возвращает значение поля "Разрешение на добавление"
* @return Разрешениенадобавление
*/
public Boolean getAccessInsert() {
returnaccessInsert;
}
/**
* Задает значение поля "Разрешение на добавление"
* @paramaccessInsert Разрешение на добавление
*/
public void setAccessInsert(Boolean accessInsert) {
this.accessInsert = accessInsert;
}
/**
* Возвращает значение поля "Разрешение на обновление"
* @return Разрешениенаобновление
*/
public Boolean getAccessUpdate() {
returnaccessUpdate;
}
/**
* Задает значение поля "Разрешение на обновление"
* @paramaccessUpdate Разрешение на обновление
*/
public void setAccessUpdate(Boolean accessUpdate) {
this.accessUpdate = accessUpdate;
}
/**
* Возвращает значение поля "Разрешение на удаление"
* @return Разрешениенаудаление
*/
Источник: https://baza.diplomsite.ru/previewfile/2532