Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions src/main/java/project/dao/entity/EntityDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,11 @@
@Repository
public class EntityDao extends BaseVersionableModelDao<Entity> implements FindAbility<Entity>, EntityValidatorDao {

private RowMapper<Entity> mapper = (rs, rowNum) -> new Entity(rs.getString("id"), rs.getString("name"), rs.getString("description"), rs.getInt("version"), rs.getString("commentary"));

private RowMapper<Entity> mapper = (rs, rowNum) -> {
Entity entity = new Entity(rs.getString("id"), rs.getString("name"), rs.getString("description"), rs.getInt("version"), rs.getString("commentary"));
entity.setDeactivated(rs.getBoolean("deactivated"));
return entity;
};

public EntityDao(DataSource ds) {
super(ds);
Expand Down Expand Up @@ -51,6 +54,11 @@ public void update(Entity entity) {
createHistory(entity);
}

public void updateDeactivated(Entity entity) {
jdbc.update(lookup("entity/UpdateDeactivatedEntity"), prepareParams(entity));
createHistory(entity);
}


public void remove(Entity entity) {
int rowsAffected = jdbc.update(lookup("entity/DeleteEntity"), prepareParams(entity));
Expand Down
14 changes: 12 additions & 2 deletions src/main/java/project/dao/message/MessageDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,12 @@
@Repository
public class MessageDao extends BaseVersionableModelDao<Message> implements FindAbility<Message>, MessageValidatorDao, MessageExportDao {

private RowMapper<Message> mapper = (rs, rowNum) -> new Message(rs.getString("id"), rs.getString("text"), rs.getInt("version"), rs.getString("commentary"));
private RowMapper<Message> mapper = (rs, rowNum) -> {
Message message = new Message(rs.getString("id"), rs.getString("text"), rs.getInt("version"), rs.getString("commentary"));
message.setDeactivated(rs.getBoolean("deactivated"));
return message;
};

private RowMapper<MessageExportRow> exportMapper = (rs, rowNum) -> new MessageExportRow(rs.getString("code"), rs.getString("text"));

public MessageDao(DataSource ds) {
Expand All @@ -50,6 +55,12 @@ public void update(Message message) {
createHistory(message);
}


public void updateDeactivated(Message message) {
jdbc.update(lookup("message/UpdateDeactivatedMessage"), prepareParams(message));
createHistory(message);
}

@Override
public void remove(Message message) {
int affectedRows = jdbc.update(lookup("message/DeleteMessage"), prepareParams(message));
Expand Down Expand Up @@ -113,5 +124,4 @@ public List<MessageExportRow> exportMessages() {
public String getCurrentCommentary(String messageId) {
return jdbc.queryForObject(lookup("message/GetCurrentCommentary"), singletonMap("messageId", messageId), String.class);
}

}
10 changes: 9 additions & 1 deletion src/main/java/project/dao/operation/OperationDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@
@Repository
public class OperationDao extends BaseVersionableModelDao<Operation> implements FindAbility<Operation>, OperationValidatorDao {

private RowMapper<Operation> mapper = (rs, rowNum) -> new Operation(rs.getString("id"), rs.getString("name"), rs.getString("description"), rs.getInt("version"), rs.getString("commentary"));
private RowMapper<Operation> mapper = (rs, rowNum) -> {
Operation operation = new Operation(rs.getString("id"), rs.getString("name"), rs.getString("description"), rs.getInt("version"), rs.getString("commentary"));
operation.setDeactivated(rs.getBoolean("deactivated"));
return operation;
};

public OperationDao(DataSource ds) {
super(ds);
Expand All @@ -49,6 +53,10 @@ public void update(Operation operation) {
createHistory(operation);
}

public void updateDeactivated(Operation operation) {
jdbc.update(lookup("operation/UpdateDeactivatedOperation"), prepareParams(operation));
createHistory(operation);
}

public void remove(Operation operation) {
int rowsAffected = jdbc.update(lookup("operation/DeleteOperation"), prepareParams(operation));
Expand Down
13 changes: 11 additions & 2 deletions src/main/java/project/dao/tag/TagDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,12 @@
public class TagDao extends BaseVersionableModelDao<Tag> implements FindAbility<Tag> {

public static final RowMapper<Tag> TAG_MAPPER =
(rs, rowNum) -> new Tag(rs.getString("id"), rs.getString("name"), rs.getInt("version"),
rs.getString("commentary"), rs.getString("description"));
(rs, rowNum) -> {
Tag tag = new Tag(rs.getString("id"), rs.getString("name"), rs.getInt("version"),
rs.getString("commentary"), rs.getString("description"));
tag.setDeactivated(rs.getBoolean("deactivated"));
return tag;
};

private final static String TAG_ID_COLUMN = "tag_id";

Expand Down Expand Up @@ -80,6 +84,11 @@ public void update(Tag tag) {
createHistory(tag);
}

public void updateDeactivated(Tag tag) {
jdbc.update(lookup("tag/UpdateDeactivatedTag"), prepareParams(tag));
createHistory(tag);
}

@Override
public void remove(Tag tag) {
int affectedRows = jdbc.update(lookup("tag/DeleteTag"), prepareParams(tag));
Expand Down
40 changes: 20 additions & 20 deletions src/main/java/project/dao/validation/ValidationDao.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,11 @@
package project.dao.validation;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

import javax.sql.DataSource;

import org.springframework.jdbc.core.ResultSetExtractor;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.SqlParameterSource;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.stereotype.Repository;

import project.dao.BaseVersionableModelDao;
import project.dao.ConcurrentModificationException;
import project.dao.FindAbility;
Expand All @@ -30,11 +17,11 @@
import project.model.operation.Operation;
import project.model.query.SearchParams;
import project.model.tag.Tag;
import project.model.validation.Severity;
import project.model.validation.Validation;
import project.model.validation.ValidationDto;
import project.model.validation.ValidationEntity;
import project.model.validation.ValidationExportRow;
import project.model.validation.*;

import javax.sql.DataSource;
import java.util.*;
import java.util.stream.Collectors;

import static java.util.Collections.singletonList;
import static java.util.Collections.singletonMap;
Expand All @@ -48,7 +35,9 @@ public class ValidationDao extends BaseVersionableModelDao<Validation> implement
private RowMapper<Validation> mapper = (rs, rowNum) -> {
Message message = new Message(rs.getString("m_id"), rs.getString("m_text"), rs.getInt("m_version"), rs.getString("m_commentary"));
Severity severity = Severity.resolveById(rs.getInt("severityId"));
return new Validation(rs.getString("id"), severity, message, rs.getString("description"), rs.getInt("version"), rs.getString("commentary"));
Validation validation = new Validation(rs.getString("id"), severity, message, rs.getString("description"), rs.getInt("version"), rs.getString("commentary"));
validation.setDeactivated(rs.getBoolean("deactivated"));
return validation;
};

private ResultSetExtractor<Map<String, Validation>> validationsByIdExtractor = rs -> {
Expand Down Expand Up @@ -93,6 +82,7 @@ public class ValidationDao extends BaseVersionableModelDao<Validation> implement
dto.entityNames = rs.getString("entityNames");
dto.operationNames = rs.getString("operationNames");
dto.tagNames = rs.getString("tagNames");
dto.deactivated = rs.getBoolean("deactivated");

return dto;
};
Expand Down Expand Up @@ -148,7 +138,7 @@ public ValidationDao(DataSource ds) {
public Validation load(String validationId) {
return requiredSingleResult(load(singletonList(validationId)));
}

public List<Validation> load(List<String> validationIds) {
Map<String, Validation> validations =
jdbc.query(lookup("validation/LoadValidation"), singletonMap("ids", validationIds), validationsByIdExtractor);
Expand Down Expand Up @@ -202,6 +192,15 @@ public void update(List<Validation> validations) {
}
}

public void updateDeactivated(Validation validation) {
jdbc.update(lookup("validation/UpdateDeactivatedValidation"), prepareParams(validation));

createEntityOperations(singletonList(validation));
createTags(singletonList(validation));

createHistory(validation);
}

private void createEntityOperations(List<Validation> validations) {
List<SqlParameterSource> params = new ArrayList<>();

Expand Down Expand Up @@ -290,6 +289,7 @@ protected Map<String, Object> prepareParams(Validation validation) {
Map<String, Object> params = super.prepareParams(validation);
params.put("severityId", validation.getSeverity().getId());
params.put("messageId", validation.getMessage().getId());
params.put("messageText", validation.getMessage().getText());
params.put("description", validation.getDescription());
return params;
}
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/project/model/BaseVersionableModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ public class BaseVersionableModel extends AbstractModel implements Versionable,
/** Комментарий. */
protected String commentary;

/** Флаг для проверки удаленных сущностей. */
protected Boolean deactivated;

public BaseVersionableModel() {
}

Expand All @@ -36,6 +39,14 @@ public void setCommentary(String commentary) {
this.commentary = commentary;
}

public Boolean isDeactivated() {
return deactivated;
}

public void setDeactivated(Boolean deactivated) {
this.deactivated = deactivated;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/project/model/validation/ValidationDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ public class ValidationDto {
public String operationNames;
public String entityNames;
public String tagNames;
public Boolean deactivated;
}
6 changes: 5 additions & 1 deletion src/main/java/project/service/EntityServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ public void create(Entity entity) {

@Override
public void update(Entity entity) {
dao.update(entity);
if(entity.isDeactivated()) {
dao.updateDeactivated(entity);
} else {
dao.update(entity);
}
}

@Override
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/project/service/MessageServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ public void create(Message message) {

@Override
public void update(Message message) {
dao.update(message);
if(message.isDeactivated()) {
dao.updateDeactivated(message);
} else {
dao.update(message);
}
}

@Override
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/project/service/OperationServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ public void create(Operation operation) {

@Override
public void update(Operation operation) {
dao.update(operation);
if(operation.isDeactivated()) {
dao.updateDeactivated(operation);
} else {
dao.update(operation);
}
}

@Override
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/project/service/TagServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,12 @@ public void create(Tag model) {

@Override
public void update(Tag model) {
tagDao.update(model);
if(model.isDeactivated()) {
tagDao.updateDeactivated(model);
model.setDeactivated(false);
} else {
tagDao.update(model);
}
}

@Override
Expand Down
11 changes: 8 additions & 3 deletions src/main/java/project/service/ValidationServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import project.dao.tag.TagDao;
import project.dao.validation.ValidationDao;
import project.model.Change;
Expand Down Expand Up @@ -32,7 +31,9 @@ public ValidationServiceImpl(ValidationDao dao, TagDao tagDao) {

@Override
public Validation load(String validationId) {
return dao.load(validationId);
Validation load = dao.load(validationId);
// Validation loadHist = dao.load(loadVersion);
return load;
}

@Override
Expand All @@ -42,7 +43,11 @@ public void create(Validation validation) {

@Override
public void update(Validation validation) {
dao.update(validation);
if(validation.isDeactivated()) {
dao.updateDeactivated(validation);
} else {
dao.update(validation);
}
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/messages_ru.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
012=Сообщение об ошибке не задано.
013=Указан несуществующий код сообщения об ошибке.
014=Описание обязательно для заполнения.
015={0}. Комментарий должен отличаться от комментария предудыщей версии.
015={0}. Комментарий должен отличаться от комментария предыдущей версии.

016={0} - не указано.
017=Пароль не совпадает с повторно введенным паролем.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ Ext.define('app.controllers.ModelGridController', {
gridStore: this.getView().store
});
window.show();
if (row.get('deactivated') === true) {
window.setReadOnly();
}
window.setLoading(true);

var requestConfig = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,9 @@ Ext.define('app.controllers.ModelWindowController', {
setModelToForm: function (form, model) {
// Версию модели обновлять не будем, чтобы была возможность сохранить старую версию в качестве актуальной.
var version = form.down('numberfield[name=version]').getValue();
var deactivated = form.down('checkbox[name=deactivated]').getValue();
model.set('version', version);
model.set('deactivated', deactivated);
form.loadRecord(model);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ Ext.define('app.controllers.ValidationWindowController', {
grid.getStore().remove(row);
},

/** Добавление текста сообщения по его id. */
onCodeOfMessageChange: function(){
var messageId = this.getView().down('custom-combo[name=messageId]').getValue();
this.getView().down('custom-combo[name=messageText]').setValue(messageId);
},

/** Удаление строки с сущностью и операциями по нажатию на крестик той же строки. */
onDeleteGridRow: function (view, rowIndex) {
view.getStore().removeAt(rowIndex);
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/public/app/models/BaseVersionableModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ Ext.define('app.models.BaseVersionableModel', {
fields: [
{name: 'id'},
{name: 'commentary'},
{name: 'version'}
{name: 'version'},
{name: 'deactivated'}
]

});
1 change: 1 addition & 0 deletions src/main/resources/public/app/models/Validation.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Ext.define('app.models.Validation', {

fields: [
{name: 'messageId', mapping: 'message.id'},
{name: 'messageText', mapping: 'message.text'},
{name: 'description'},
{name: 'validationEntities'},
{name: 'tags'},
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/public/app/models/ValidationDto.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ Ext.define('app.models.ValidationDto', {
{name: 'entityNames'},
{name: 'operationNames'},
{name: 'tagNames'},
{name: 'severityId'}
{name: 'severityId'},
{name: 'deactivated'}
]

});
Loading