diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fb4c0ed..b064dce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,16 +1,16 @@ -image: romanov73/is:ng-tracker-container +image: romanov73/is:ng-tracker-container-11 variables: GRADLE_OPTS: "-Dorg.gradle.daemon=false" before_script: - - service postgresql stop - - service postgresql start - - eval $(ssh-agent -s) - - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - - git log --pretty="%cn;%cd;%s" > src/main/resources/commits.log + - service postgresql stop + - service postgresql start + - eval $(ssh-agent -s) + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + - git log --pretty="%cn;%cd;%s" > src/main/resources/commits.log build: stage: build diff --git a/build.gradle b/build.gradle index 4a07d96..4fb0185 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ buildscript { ext { - versionSpringBoot = '1.5.10.RELEASE' + versionSpringBoot = '2.1.6.RELEASE' } repositories { @@ -105,13 +105,14 @@ dependencies { compile group: 'org.springframework.boot', name: 'spring-boot-starter-jetty' compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa' compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf' - compile group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity4' + compile group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect' + compile group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity5' compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-afterburner' compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-hibernate5' - compile group: 'postgresql', name: 'postgresql', version: '9.1-901.jdbc4' + compile group: 'org.postgresql', name: 'postgresql', version: '42.2.5' - compile group: 'org.liquibase', name: 'liquibase-core', version: '3.5.3' + compile group: 'org.liquibase', name: 'liquibase-core', version: '3.6.3' compile group: 'com.mattbertolini', name: 'liquibase-slf4j', version: '2.0.0' compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.7' @@ -129,6 +130,6 @@ dependencies { testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test' compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.3.1' testCompile group: 'org.seleniumhq.selenium', name: 'selenium-support', version: '3.3.1' - testCompile group: 'com.google.guava', name: 'guava', version: '21.0' - + //testCompile group: 'com.google.guava', name: 'guava', version: '21.0' + testCompile group: 'org.mockito', name: 'mockito-all', version: '1.10.19' } \ No newline at end of file diff --git a/deploy/gdccloud/deploy.sh b/deploy/gdccloud/deploy.sh index 50d3d5c..8c26e7c 100644 --- a/deploy/gdccloud/deploy.sh +++ b/deploy/gdccloud/deploy.sh @@ -18,6 +18,6 @@ fi ssh $USERSERVER "cd /tmp && rm -rf $ARTIFACT_NAME*.jar && echo `date` 'killed' >> log_$ARTIFACT_NAME" scp build/libs/$ARTIFACT_NAME-0.1.0-SNAPSHOT.jar $USERSERVER:/tmp/$ARTIFACT_NAME-0.1.0-SNAPSHOT.jar -ssh $USERSERVER -f "cd /tmp/ && /opt/jdk1.8.0_192/bin/java -jar $ARTIFACT_NAME-0.1.0-SNAPSHOT.jar -Xms 512m -Xmx 1024m --server.port=8443 --server.http.port=8080 --ng-tracker.base-url=http://193.110.3.124:8080 --ng-tracker.dev-mode=false --ng-tracker.driver-path=/home/user >> /home/user/logfile_$ARTIFACT_NAME" & +ssh $USERSERVER -f "cd /tmp/ && /opt/jdk11/bin/java -jar $ARTIFACT_NAME-0.1.0-SNAPSHOT.jar -Xms 512m -Xmx 1024m --server.port=8443 --server.http.port=8080 --ng-tracker.base-url=http://193.110.3.124:8080 --ng-tracker.dev-mode=false --ng-tracker.driver-path=/home/user >> /home/user/logfile_$ARTIFACT_NAME" & sleep 10 echo "is deployed" \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 568c50b..663c448 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip diff --git a/src/main/java/ru/ulstu/commit/controller/CommitController.java b/src/main/java/ru/ulstu/commit/controller/CommitController.java index 44f99cb..3d929a4 100644 --- a/src/main/java/ru/ulstu/commit/controller/CommitController.java +++ b/src/main/java/ru/ulstu/commit/controller/CommitController.java @@ -4,20 +4,17 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import ru.ulstu.configuration.Constants; -import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.commit.model.CommitListDto; import ru.ulstu.commit.service.CommitService; +import ru.ulstu.configuration.Constants; +import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.core.model.response.Response; import ru.ulstu.odin.controller.OdinController; import ru.ulstu.odin.model.OdinVoid; -import static ru.ulstu.commit.controller.CommitController.URL; - @RestController -@RequestMapping(URL) +@RequestMapping(Constants.API_1_0 + "commits") public class CommitController extends OdinController { - public static final String URL = Constants.API_1_0 + "commits"; private final CommitService commitService; public CommitController(CommitService commitService) { diff --git a/src/main/java/ru/ulstu/conference/model/Conference.java b/src/main/java/ru/ulstu/conference/model/Conference.java index 946b84a..d11901f 100644 --- a/src/main/java/ru/ulstu/conference/model/Conference.java +++ b/src/main/java/ru/ulstu/conference/model/Conference.java @@ -2,7 +2,6 @@ package ru.ulstu.conference.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import org.hibernate.validator.constraints.NotBlank; import org.springframework.format.annotation.DateTimeFormat; import ru.ulstu.core.model.BaseEntity; import ru.ulstu.core.model.EventSource; @@ -25,6 +24,7 @@ import javax.persistence.OrderBy; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import javax.validation.constraints.NotBlank; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; diff --git a/src/main/java/ru/ulstu/conference/model/ConferenceDto.java b/src/main/java/ru/ulstu/conference/model/ConferenceDto.java index 5759f4e..7246854 100644 --- a/src/main/java/ru/ulstu/conference/model/ConferenceDto.java +++ b/src/main/java/ru/ulstu/conference/model/ConferenceDto.java @@ -2,14 +2,15 @@ package ru.ulstu.conference.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import org.hibernate.validator.constraints.NotEmpty; import org.springframework.format.annotation.DateTimeFormat; +import ru.ulstu.core.model.BaseEntity; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.name.NameContainer; import ru.ulstu.paper.model.Paper; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; import java.util.ArrayList; import java.util.Date; @@ -90,8 +91,8 @@ public class ConferenceDto extends NameContainer { this.beginDate = conference.getBeginDate(); this.endDate = conference.getEndDate(); this.deadlines = conference.getDeadlines(); - this.userIds = convert(conference.getUsers(), user -> user.getId()); - this.paperIds = convert(conference.getPapers(), paper -> paper.getId()); + this.userIds = convert(conference.getUsers(), BaseEntity::getId); + this.paperIds = convert(conference.getPapers(), BaseEntity::getId); this.users = conference.getUsers(); this.papers = conference.getPapers(); } diff --git a/src/main/java/ru/ulstu/conference/model/ConferenceUser.java b/src/main/java/ru/ulstu/conference/model/ConferenceUser.java index 63eeb6d..f00b9fa 100644 --- a/src/main/java/ru/ulstu/conference/model/ConferenceUser.java +++ b/src/main/java/ru/ulstu/conference/model/ConferenceUser.java @@ -22,7 +22,7 @@ public class ConferenceUser extends BaseEntity { INTRAMURAL("Очная"), EXTRAMURAL("Заочная"); - private String participationName; + private final String participationName; Participation(String name) { this.participationName = name; @@ -38,7 +38,7 @@ public class ConferenceUser extends BaseEntity { REPORT("Доклад"), PRESENTATION("Презентация"); - private String depositName; + private final String depositName; Deposit(String name) { this.depositName = name; diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceNotificationService.java b/src/main/java/ru/ulstu/conference/service/ConferenceNotificationService.java index ddb8130..961d369 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceNotificationService.java +++ b/src/main/java/ru/ulstu/conference/service/ConferenceNotificationService.java @@ -63,7 +63,7 @@ public class ConferenceNotificationService { public void sendCreateNotification(Conference conference) { Map variables = ImmutableMap.of("conference", conference); - sendForAllUsers(variables, TEMPLATE_CREATE, String.format(TITLE_CREATE, conference.getTitle())); + sendForAllUsers(variables, String.format(TITLE_CREATE, conference.getTitle())); } public void updateDeadlineNotification(Conference conference) { @@ -76,8 +76,8 @@ public class ConferenceNotificationService { sendForAllParticipants(variables, conference, TEMPLATE_UPDATE_DATES, String.format(TITLE_UPDATE_DATES, conference.getTitle())); } - private void sendForAllUsers(Map variables, String template, String title) { - userService.findAll().forEach(user -> mailService.sendEmailFromTemplate(variables, user, template, title)); + private void sendForAllUsers(Map variables, String title) { + userService.findAll().forEach(user -> mailService.sendEmailFromTemplate(variables, user, ConferenceNotificationService.TEMPLATE_CREATE, title)); } private void sendForAllParticipants(Map variables, Conference conference, String template, String title) { diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceService.java b/src/main/java/ru/ulstu/conference/service/ConferenceService.java index a3c4812..470e712 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceService.java +++ b/src/main/java/ru/ulstu/conference/service/ConferenceService.java @@ -16,7 +16,6 @@ import ru.ulstu.deadline.service.DeadlineService; import ru.ulstu.name.BaseService; import ru.ulstu.paper.model.Paper; import ru.ulstu.paper.service.PaperService; -import ru.ulstu.ping.model.Ping; import ru.ulstu.ping.service.PingService; import ru.ulstu.timeline.service.EventService; import ru.ulstu.user.model.User; @@ -66,7 +65,7 @@ public class ConferenceService extends BaseService { } public ConferenceDto getExistConferenceById(Integer id) { - ConferenceDto conferenceDto = new ConferenceDto(conferenceRepository.findOne(id)); + ConferenceDto conferenceDto = new ConferenceDto(conferenceRepository.getOne(id)); conferenceDto.setNotSelectedPapers(getNotSelectPapers(conferenceDto.getPaperIds())); conferenceDto.setDisabledTakePart(isCurrentUserParticipant(conferenceDto.getUsers())); return conferenceDto; @@ -97,7 +96,6 @@ public class ConferenceService extends BaseService { checkUniqueName(conferenceDto, errors, conferenceDto.getId(), - "title", "Конференция с таким именем уже существует"); if (errors.hasErrors()) { return false; @@ -122,8 +120,8 @@ public class ConferenceService extends BaseService { } @Transactional - public Conference update(ConferenceDto conferenceDto) throws IOException { - Conference conference = conferenceRepository.findOne(conferenceDto.getId()); + private Conference update(ConferenceDto conferenceDto) throws IOException { + Conference conference = conferenceRepository.getOne(conferenceDto.getId()); List oldDeadlines = conference.getDeadlines().stream() .map(this::copyDeadline) .collect(Collectors.toList()); @@ -141,9 +139,9 @@ public class ConferenceService extends BaseService { @Transactional public boolean delete(Integer conferenceId) { - if (conferenceRepository.exists(conferenceId)) { - eventService.removeConferencesEvent(conferenceRepository.findOne(conferenceId)); - conferenceRepository.delete(conferenceId); + if (conferenceRepository.existsById(conferenceId)) { + eventService.removeConferencesEvent(conferenceRepository.getOne(conferenceId)); + conferenceRepository.deleteById(conferenceId); return true; } return false; @@ -249,7 +247,7 @@ public class ConferenceService extends BaseService { } private Conference findOne(Integer conferenceId) { - return conferenceRepository.findOne(conferenceId); + return conferenceRepository.getOne(conferenceId); } public void setChartData(ModelMap modelMap) { @@ -294,7 +292,7 @@ public class ConferenceService extends BaseService { return newDeadline; } - public void checkEmptyFieldsOfDeadline(ConferenceDto conferenceDto, Errors errors) { + private void checkEmptyFieldsOfDeadline(ConferenceDto conferenceDto, Errors errors) { for (Deadline deadline : conferenceDto.getDeadlines()) { if (deadline.getDate() == null || deadline.getDescription().isEmpty()) { errors.rejectValue("deadlines", "errorCode", "Все поля дедлайна должны быть заполнены"); diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceUserService.java b/src/main/java/ru/ulstu/conference/service/ConferenceUserService.java index 16842c1..01d02d6 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceUserService.java +++ b/src/main/java/ru/ulstu/conference/service/ConferenceUserService.java @@ -26,8 +26,8 @@ public class ConferenceUserService { } @Transactional - public ConferenceUser update(ConferenceUser user) { - ConferenceUser updateUser = conferenceUserRepository.findOne(user.getId()); + private ConferenceUser update(ConferenceUser user) { + ConferenceUser updateUser = conferenceUserRepository.getOne(user.getId()); updateUser.setDeposit(user.getDeposit()); updateUser.setParticipation(user.getParticipation()); conferenceUserRepository.save(updateUser); @@ -35,7 +35,7 @@ public class ConferenceUserService { } @Transactional - public ConferenceUser create(ConferenceUser user) { + private ConferenceUser create(ConferenceUser user) { ConferenceUser newUser = new ConferenceUser(); newUser.setDeposit(user.getDeposit()); newUser.setParticipation(user.getParticipation()); diff --git a/src/main/java/ru/ulstu/configuration/ApplicationProperties.java b/src/main/java/ru/ulstu/configuration/ApplicationProperties.java index a1c0ba2..878e0b4 100644 --- a/src/main/java/ru/ulstu/configuration/ApplicationProperties.java +++ b/src/main/java/ru/ulstu/configuration/ApplicationProperties.java @@ -1,10 +1,11 @@ package ru.ulstu.configuration; -import org.hibernate.validator.constraints.NotBlank; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import org.springframework.validation.annotation.Validated; +import javax.validation.constraints.NotBlank; + @Component @ConfigurationProperties(prefix = "ng-tracker") @Validated diff --git a/src/main/java/ru/ulstu/configuration/HttpListenerConfiguration.java b/src/main/java/ru/ulstu/configuration/HttpListenerConfiguration.java index bcbcab8..514319d 100644 --- a/src/main/java/ru/ulstu/configuration/HttpListenerConfiguration.java +++ b/src/main/java/ru/ulstu/configuration/HttpListenerConfiguration.java @@ -2,18 +2,18 @@ package ru.ulstu.configuration; import org.eclipse.jetty.server.ServerConnector; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer; -import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; -import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory; -import org.springframework.boot.context.embedded.jetty.JettyServerCustomizer; +import org.springframework.boot.web.embedded.jetty.JettyServerCustomizer; +import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory; +import org.springframework.boot.web.server.ConfigurableWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.annotation.Configuration; @Configuration -public class HttpListenerConfiguration implements EmbeddedServletContainerCustomizer { +public class HttpListenerConfiguration implements WebServerFactoryCustomizer { @Value("${server.http.port}") private int httpPort; - private void configureJetty(JettyEmbeddedServletContainerFactory jettyFactory) { + private void configureJetty(JettyServletWebServerFactory jettyFactory) { jettyFactory.addServerCustomizers((JettyServerCustomizer) server -> { ServerConnector serverConnector = new ServerConnector(server); serverConnector.setPort(httpPort); @@ -22,9 +22,9 @@ public class HttpListenerConfiguration implements EmbeddedServletContainerCustom } @Override - public void customize(ConfigurableEmbeddedServletContainer container) { - if (container instanceof JettyEmbeddedServletContainerFactory) { - configureJetty((JettyEmbeddedServletContainerFactory) container); + public void customize(ConfigurableWebServerFactory factory) { + if (factory instanceof JettyServletWebServerFactory) { + configureJetty((JettyServletWebServerFactory) factory); } } } diff --git a/src/main/java/ru/ulstu/configuration/MailTemplateConfiguration.java b/src/main/java/ru/ulstu/configuration/MailTemplateConfiguration.java index addf7ac..5df2377 100644 --- a/src/main/java/ru/ulstu/configuration/MailTemplateConfiguration.java +++ b/src/main/java/ru/ulstu/configuration/MailTemplateConfiguration.java @@ -3,8 +3,8 @@ package ru.ulstu.configuration; import nz.net.ultraq.thymeleaf.LayoutDialect; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.thymeleaf.extras.springsecurity4.dialect.SpringSecurityDialect; -import org.thymeleaf.spring4.SpringTemplateEngine; +import org.thymeleaf.extras.springsecurity5.dialect.SpringSecurityDialect; +import org.thymeleaf.spring5.SpringTemplateEngine; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; import org.thymeleaf.templateresolver.ITemplateResolver; @@ -17,30 +17,17 @@ public class MailTemplateConfiguration { final SpringTemplateEngine templateEngine = new SpringTemplateEngine(); templateEngine.addTemplateResolver(templateResolver); templateEngine.addTemplateResolver(emailTemplateResolver()); - templateEngine.addTemplateResolver(mvcTemplateResolver()); templateEngine.addDialect(new LayoutDialect()); templateEngine.addDialect(sec); return templateEngine; } - public ClassLoaderTemplateResolver emailTemplateResolver() { + private ClassLoaderTemplateResolver emailTemplateResolver() { ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver(); - emailTemplateResolver.setPrefix("mail_templates/"); - emailTemplateResolver.setTemplateMode("HTML5"); + emailTemplateResolver.setPrefix("/mail_templates/"); + emailTemplateResolver.setTemplateMode("HTML"); emailTemplateResolver.setSuffix(".html"); - emailTemplateResolver.setOrder(1); emailTemplateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name()); return emailTemplateResolver; } - - public ClassLoaderTemplateResolver mvcTemplateResolver() { - ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver(); - emailTemplateResolver.setPrefix("templates"); - emailTemplateResolver.setTemplateMode("HTML5"); - emailTemplateResolver.setSuffix(".html"); - emailTemplateResolver.setOrder(2); - emailTemplateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name()); - return emailTemplateResolver; - } - } diff --git a/src/main/java/ru/ulstu/configuration/MvcConfiguration.java b/src/main/java/ru/ulstu/configuration/MvcConfiguration.java index 496d493..35e9ad2 100644 --- a/src/main/java/ru/ulstu/configuration/MvcConfiguration.java +++ b/src/main/java/ru/ulstu/configuration/MvcConfiguration.java @@ -3,10 +3,10 @@ package ru.ulstu.configuration; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration -public class MvcConfiguration extends WebMvcConfigurerAdapter { +public class MvcConfiguration implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/{articlename:\\w+}"); diff --git a/src/main/java/ru/ulstu/core/controller/AdviceController.java b/src/main/java/ru/ulstu/core/controller/AdviceController.java index f89001a..27c9d5b 100644 --- a/src/main/java/ru/ulstu/core/controller/AdviceController.java +++ b/src/main/java/ru/ulstu/core/controller/AdviceController.java @@ -35,6 +35,11 @@ public class AdviceController { this.userService = userService; } + @ModelAttribute("currentUser") + public String getCurrentUser() { + return userService.getCurrentUser().getUserAbbreviate(); + } + @ModelAttribute("flashMessage") public String getFlashMessage() { return null; diff --git a/src/main/java/ru/ulstu/core/jpa/OffsetablePageRequest.java b/src/main/java/ru/ulstu/core/jpa/OffsetablePageRequest.java index 388e9a1..148a931 100644 --- a/src/main/java/ru/ulstu/core/jpa/OffsetablePageRequest.java +++ b/src/main/java/ru/ulstu/core/jpa/OffsetablePageRequest.java @@ -6,19 +6,19 @@ import org.springframework.data.domain.Sort; import java.io.Serializable; public class OffsetablePageRequest implements Pageable, Serializable { - private final int offset; + private final long offset; private final int count; private final Sort sort; - public OffsetablePageRequest(int offset, int count) { + public OffsetablePageRequest(long offset, int count) { this(offset, count, null); } - public OffsetablePageRequest(int offset, int count, Sort.Direction direction, String... properties) { + public OffsetablePageRequest(long offset, int count, Sort.Direction direction, String... properties) { this(offset, count, new Sort(direction, properties)); } - public OffsetablePageRequest(int offset, int count, Sort sort) { + public OffsetablePageRequest(long offset, int count, Sort sort) { if (offset < 0) { throw new IllegalArgumentException("Offset value must not be less than zero!"); } @@ -42,11 +42,11 @@ public class OffsetablePageRequest implements Pageable, Serializable { @Override public int getPageNumber() { - return offset / count; + return (int) (offset / count); } @Override - public int getOffset() { + public long getOffset() { return offset; } @@ -65,7 +65,7 @@ public class OffsetablePageRequest implements Pageable, Serializable { return hasPrevious() ? previous() : first(); } - public Pageable previous() { + private Pageable previous() { return getOffset() == 0 ? this : new OffsetablePageRequest(getOffset() - getPageSize(), getPageSize(), getSort()); } @@ -89,9 +89,9 @@ public class OffsetablePageRequest implements Pageable, Serializable { @Override public int hashCode() { final int prime = 31; - int result = 1; + long result = 1; result = prime * result + offset; result = prime * result + count; - return result; + return (int) result; } } diff --git a/src/main/java/ru/ulstu/core/model/BaseEntity.java b/src/main/java/ru/ulstu/core/model/BaseEntity.java index d3dfa76..a985dcc 100644 --- a/src/main/java/ru/ulstu/core/model/BaseEntity.java +++ b/src/main/java/ru/ulstu/core/model/BaseEntity.java @@ -5,10 +5,11 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.MappedSuperclass; import javax.persistence.Version; +import javax.validation.constraints.NotNull; import java.io.Serializable; @MappedSuperclass -public abstract class BaseEntity implements Serializable, Comparable { +public abstract class BaseEntity implements Serializable, Comparable { @Id @GeneratedValue(strategy = GenerationType.TABLE) private Integer id; @@ -16,14 +17,6 @@ public abstract class BaseEntity implements Serializable, Comparable { @Version private Integer version; - public BaseEntity() { - } - - public BaseEntity(Integer id, Integer version) { - this.id = id; - this.version = version; - } - public Integer getId() { return id; } @@ -75,8 +68,8 @@ public abstract class BaseEntity implements Serializable, Comparable { } @Override - public int compareTo(Object o) { - return id != null ? id.compareTo(((BaseEntity) o).getId()) : -1; + public int compareTo(@NotNull BaseEntity o) { + return id != null ? id.compareTo(o.getId()) : -1; } public void reset() { diff --git a/src/main/java/ru/ulstu/core/model/ErrorConstants.java b/src/main/java/ru/ulstu/core/model/ErrorConstants.java index 017725a..59f34fa 100644 --- a/src/main/java/ru/ulstu/core/model/ErrorConstants.java +++ b/src/main/java/ru/ulstu/core/model/ErrorConstants.java @@ -16,8 +16,8 @@ public enum ErrorConstants { FILE_UPLOAD_ERROR(110, "File upload error"), USER_SENDING_MAIL_EXCEPTION(111, "Во время отправки приглашения пользователю произошла ошибка"); - private int code; - private String message; + private final int code; + private final String message; ErrorConstants(int code, String message) { this.code = code; diff --git a/src/main/java/ru/ulstu/core/model/TreeDto.java b/src/main/java/ru/ulstu/core/model/TreeDto.java deleted file mode 100644 index 491553c..0000000 --- a/src/main/java/ru/ulstu/core/model/TreeDto.java +++ /dev/null @@ -1,34 +0,0 @@ -package ru.ulstu.core.model; - -import java.util.ArrayList; -import java.util.List; - -public class TreeDto { - private Integer id; - private String text; - private List children = new ArrayList<>(); - - public TreeDto() { - } - - public TreeDto(TreeEntity item) { - this.text = item.toString(); - this.id = item.getId(); - } - - public TreeDto(String rootName) { - this.text = rootName; - } - - public String getText() { - return text; - } - - public List getChildren() { - return children; - } - - public Integer getId() { - return id; - } -} diff --git a/src/main/java/ru/ulstu/core/model/TreeEntity.java b/src/main/java/ru/ulstu/core/model/TreeEntity.java deleted file mode 100644 index 48f1202..0000000 --- a/src/main/java/ru/ulstu/core/model/TreeEntity.java +++ /dev/null @@ -1,16 +0,0 @@ -package ru.ulstu.core.model; - -import java.util.List; - -public interface TreeEntity { - - Integer getId(); - - List getChildren(); - - void setChildren(List children); - - T getParent(); - - void setParent(T parent); -} diff --git a/src/main/java/ru/ulstu/core/model/UserActivity.java b/src/main/java/ru/ulstu/core/model/UserActivity.java index 8e4e270..f45819d 100644 --- a/src/main/java/ru/ulstu/core/model/UserActivity.java +++ b/src/main/java/ru/ulstu/core/model/UserActivity.java @@ -6,5 +6,6 @@ import java.util.Set; public interface UserActivity { String getTitle(); + Set getActivityUsers(); } diff --git a/src/main/java/ru/ulstu/core/model/response/ControllerResponse.java b/src/main/java/ru/ulstu/core/model/response/ControllerResponse.java index 72c5ebf..52ede55 100644 --- a/src/main/java/ru/ulstu/core/model/response/ControllerResponse.java +++ b/src/main/java/ru/ulstu/core/model/response/ControllerResponse.java @@ -1,8 +1,8 @@ package ru.ulstu.core.model.response; class ControllerResponse { - private D data; - private ControllerResponseError error; + private final D data; + private final ControllerResponseError error; ControllerResponse(D data) { this.data = data; diff --git a/src/main/java/ru/ulstu/core/model/response/ControllerResponseError.java b/src/main/java/ru/ulstu/core/model/response/ControllerResponseError.java index a26b088..48661b6 100644 --- a/src/main/java/ru/ulstu/core/model/response/ControllerResponseError.java +++ b/src/main/java/ru/ulstu/core/model/response/ControllerResponseError.java @@ -3,8 +3,8 @@ package ru.ulstu.core.model.response; import ru.ulstu.core.model.ErrorConstants; class ControllerResponseError { - private ErrorConstants description; - private D data; + private final ErrorConstants description; + private final D data; ControllerResponseError(ErrorConstants description, D data) { this.description = description; diff --git a/src/main/java/ru/ulstu/core/repository/JpaDetachableRepositoryImpl.java b/src/main/java/ru/ulstu/core/repository/JpaDetachableRepositoryImpl.java index 097a2a5..facc071 100644 --- a/src/main/java/ru/ulstu/core/repository/JpaDetachableRepositoryImpl.java +++ b/src/main/java/ru/ulstu/core/repository/JpaDetachableRepositoryImpl.java @@ -8,7 +8,7 @@ import java.io.Serializable; public class JpaDetachableRepositoryImpl extends SimpleJpaRepository implements JpaDetachableRepository { - private EntityManager entityManager; + private final EntityManager entityManager; public JpaDetachableRepositoryImpl(JpaEntityInformation entityInformation, EntityManager entityManager) { super(entityInformation, entityManager); diff --git a/src/main/java/ru/ulstu/core/util/NumberUtils.java b/src/main/java/ru/ulstu/core/util/NumberUtils.java deleted file mode 100644 index 5e002cd..0000000 --- a/src/main/java/ru/ulstu/core/util/NumberUtils.java +++ /dev/null @@ -1,17 +0,0 @@ -package ru.ulstu.core.util; - -public class NumberUtils { - public static Double ceil(Double number) { - if (number == null) { - return 0.0; - } - return Double.valueOf(Math.ceil(number)); - } - - public static Double round(Double number) { - if (number == null) { - return 0.0; - } - return Double.valueOf(Math.ceil(number * 100)) / 100; - } -} diff --git a/src/main/java/ru/ulstu/core/util/StreamApiUtils.java b/src/main/java/ru/ulstu/core/util/StreamApiUtils.java index ab8d66f..9a6e58d 100644 --- a/src/main/java/ru/ulstu/core/util/StreamApiUtils.java +++ b/src/main/java/ru/ulstu/core/util/StreamApiUtils.java @@ -11,12 +11,12 @@ public class StreamApiUtils { public static List convert(List entities, Function converter) { return entities == null ? Collections.emptyList() - : entities.stream().map(e -> converter.apply(e)).collect(Collectors.toList()); + : entities.stream().map(converter).collect(Collectors.toList()); } public static Set convert(Set entities, Function converter) { return entities == null ? Collections.emptySet() - : entities.stream().map(e -> converter.apply(e)).collect(Collectors.toSet()); + : entities.stream().map(converter).collect(Collectors.toSet()); } } diff --git a/src/main/java/ru/ulstu/deadline/service/DeadlineService.java b/src/main/java/ru/ulstu/deadline/service/DeadlineService.java index 9c45537..039ddbf 100644 --- a/src/main/java/ru/ulstu/deadline/service/DeadlineService.java +++ b/src/main/java/ru/ulstu/deadline/service/DeadlineService.java @@ -26,8 +26,8 @@ public class DeadlineService { } @Transactional - public Deadline update(Deadline deadline) { - Deadline updateDeadline = deadlineRepository.findOne(deadline.getId()); + private Deadline update(Deadline deadline) { + Deadline updateDeadline = deadlineRepository.getOne(deadline.getId()); updateDeadline.setDate(deadline.getDate()); updateDeadline.setDescription(deadline.getDescription()); updateDeadline.setExecutors(deadline.getExecutors()); @@ -49,7 +49,7 @@ public class DeadlineService { @Transactional public void remove(Integer deadlineId) { - deadlineRepository.delete(deadlineId); + deadlineRepository.deleteById(deadlineId); } public Date findByGrantIdAndDate(Integer id, Date date) { diff --git a/src/main/java/ru/ulstu/file/FileController.java b/src/main/java/ru/ulstu/file/FileController.java index ac08ac1..02421aa 100644 --- a/src/main/java/ru/ulstu/file/FileController.java +++ b/src/main/java/ru/ulstu/file/FileController.java @@ -21,13 +21,10 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import static java.nio.charset.StandardCharsets.UTF_8; -import static ru.ulstu.file.FileController.URL; @RestController -@RequestMapping(URL) +@RequestMapping(Constants.API_1_0 + "files") public class FileController { - public static final String URL = Constants.API_1_0 + "files"; - private final FileService fileService; public FileController(FileService fileService) { @@ -53,6 +50,6 @@ public class FileController { @PostMapping("/uploadTmpFile") public Response upload(@RequestParam("file") MultipartFile multipartFile) throws IOException { - return new Response(fileService.createFromMultipartFile(multipartFile)); + return new Response<>(fileService.createFromMultipartFile(multipartFile)); } } diff --git a/src/main/java/ru/ulstu/file/service/FileService.java b/src/main/java/ru/ulstu/file/service/FileService.java index 4bb1658..c7d7dc2 100644 --- a/src/main/java/ru/ulstu/file/service/FileService.java +++ b/src/main/java/ru/ulstu/file/service/FileService.java @@ -27,15 +27,15 @@ public class FileService { private final static int META_FILE_NAME_INDEX = 0; private final static int META_FILE_SIZE_INDEX = 1; - private String tmpDir; - private FileRepository fileRepository; + private final String tmpDir; + private final FileRepository fileRepository; public FileService(FileRepository fileRepository) { tmpDir = System.getProperty("java.io.tmpdir"); this.fileRepository = fileRepository; } - public FileData createFileFromTmp(String tmpFileName) throws IOException { + private FileData createFileFromTmp(String tmpFileName) throws IOException { FileData fileData = new FileData(); fileData.setData(getTmpFile(tmpFileName)); fileData.setSize(getTmpFileSize(tmpFileName)); @@ -43,7 +43,7 @@ public class FileService { return fileRepository.save(fileData); } - public String uploadToTmpDir(MultipartFile multipartFile) throws IOException { + private String uploadToTmpDir(MultipartFile multipartFile) throws IOException { String tmpFileName = String.valueOf(System.currentTimeMillis()) + UUID.randomUUID(); Files.write(getTmpFilePath(tmpFileName), multipartFile.getBytes()); String meta = multipartFile.getOriginalFilename() + "\n" + multipartFile.getSize(); @@ -56,7 +56,7 @@ public class FileService { .split("\n"); } - public long getTmpFileSize(String tmpFileName) throws IOException { + private long getTmpFileSize(String tmpFileName) throws IOException { return Long.valueOf(getMeta(tmpFileName)[META_FILE_SIZE_INDEX]).longValue(); } @@ -69,7 +69,7 @@ public class FileService { } public FileData getFile(Integer fileId) { - return fileRepository.findOne(fileId); + return fileRepository.getOne(fileId); } public void deleteTmpFile(String tmpFileName) throws IOException { @@ -97,13 +97,13 @@ public class FileService { } @Transactional - public FileData update(FileDataDto fileDataDto) { - FileData file = fileRepository.findOne(fileDataDto.getId()); + private FileData update(FileDataDto fileDataDto) { + FileData file = fileRepository.getOne(fileDataDto.getId()); return fileRepository.save(copyFromDto(file, fileDataDto)); } @Transactional - public FileData create(FileDataDto fileDataDto) throws IOException { + private FileData create(FileDataDto fileDataDto) throws IOException { FileData newFile = createFileFromTmp(fileDataDto.getTmpFileName()); copyFromDto(newFile, fileDataDto); return fileRepository.save(newFile); @@ -117,7 +117,7 @@ public class FileService { @Transactional public void delete(Integer fileId) { - fileRepository.delete(fileRepository.findOne(fileId)); + fileRepository.delete(fileRepository.getOne(fileId)); } public FileDataDto createFromMultipartFile(MultipartFile multipartFile) throws IOException { @@ -134,7 +134,7 @@ public class FileService { File renamed = getTmpFilePath(fileDataDto.getName()).toFile(); oldFile.renameTo(renamed); } else { - Files.write(getTmpFilePath(fileDataDto.getName()), fileRepository.findOne(fileDataDto.getId()).getData()); + Files.write(getTmpFilePath(fileDataDto.getName()), fileRepository.getOne(fileDataDto.getId()).getData()); } } } diff --git a/src/main/java/ru/ulstu/grant/model/Grant.java b/src/main/java/ru/ulstu/grant/model/Grant.java index 5b91453..0d16f77 100644 --- a/src/main/java/ru/ulstu/grant/model/Grant.java +++ b/src/main/java/ru/ulstu/grant/model/Grant.java @@ -2,7 +2,6 @@ package ru.ulstu.grant.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import org.hibernate.validator.constraints.NotBlank; import ru.ulstu.core.model.BaseEntity; import ru.ulstu.core.model.EventSource; import ru.ulstu.core.model.UserActivity; @@ -26,6 +25,7 @@ import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Collections; @@ -50,7 +50,7 @@ public class Grant extends BaseEntity implements UserActivity, EventSource { LOADED_FROM_KIAS("Загружен автоматически"), SKIPPED("Не интересует"); - private String statusName; + private final String statusName; GrantStatus(String statusName) { this.statusName = statusName; diff --git a/src/main/java/ru/ulstu/grant/model/GrantDto.java b/src/main/java/ru/ulstu/grant/model/GrantDto.java index 9e59d86..541dae8 100644 --- a/src/main/java/ru/ulstu/grant/model/GrantDto.java +++ b/src/main/java/ru/ulstu/grant/model/GrantDto.java @@ -3,7 +3,6 @@ package ru.ulstu.grant.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.StringUtils; -import org.hibernate.validator.constraints.NotEmpty; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.file.model.FileDataDto; import ru.ulstu.name.NameContainer; @@ -11,6 +10,7 @@ import ru.ulstu.paper.model.PaperDto; import ru.ulstu.project.model.ProjectDto; import ru.ulstu.user.model.UserDto; +import javax.validation.constraints.NotEmpty; import java.util.ArrayList; import java.util.Date; import java.util.List; diff --git a/src/main/java/ru/ulstu/grant/service/GrantService.java b/src/main/java/ru/ulstu/grant/service/GrantService.java index 112e119..28d3f8c 100644 --- a/src/main/java/ru/ulstu/grant/service/GrantService.java +++ b/src/main/java/ru/ulstu/grant/service/GrantService.java @@ -79,8 +79,7 @@ public class GrantService extends BaseService { } public GrantDto getExistGrantById(Integer id) { - GrantDto grantDto = new GrantDto(findById(id)); - return grantDto; + return new GrantDto(findById(id)); } public List findAll() { @@ -134,7 +133,7 @@ public class GrantService extends BaseService { } @Transactional - public Integer update(GrantDto grantDto) throws IOException { + private Integer update(GrantDto grantDto) throws IOException { Grant grant = findById(grantDto.getId()); Set oldAuthors = new HashSet<>(grant.getAuthors()); User oldLeader = grant.getLeader(); @@ -182,7 +181,7 @@ public class GrantService extends BaseService { filterEmptyDeadlines(grantDto); checkEmptyDeadlines(grantDto, errors); checkEmptyLeader(grantDto, errors); - checkUniqueName(grantDto, errors, grantDto.getId(), "title", "Грант с таким именем уже существует"); + checkUniqueName(grantDto, errors, grantDto.getId(), "Грант с таким именем уже существует"); if (errors.hasErrors()) { return false; } @@ -194,7 +193,7 @@ public class GrantService extends BaseService { return true; } - public boolean saveFromKias(GrantDto grantDto) throws IOException { + private boolean saveFromKias(GrantDto grantDto) throws IOException { grantDto.setName(grantDto.getTitle()); String title = checkUniqueName(grantDto, grantDto.getId()); //проверка уникальности имени if (title != null) { @@ -332,7 +331,7 @@ public class GrantService extends BaseService { } public Grant findById(Integer id) { - return grantRepository.findOne(id); + return grantRepository.getOne(id); } @Transactional diff --git a/src/main/java/ru/ulstu/grant/service/KiasService.java b/src/main/java/ru/ulstu/grant/service/KiasService.java index ce005b5..e8627d3 100644 --- a/src/main/java/ru/ulstu/grant/service/KiasService.java +++ b/src/main/java/ru/ulstu/grant/service/KiasService.java @@ -23,12 +23,10 @@ public class KiasService { private final static String CONTEST_TYPE = "-1"; private final UserService userService; - private final ApplicationProperties applicationProperties; public KiasService(UserService userService, ApplicationProperties applicationProperties) { this.userService = userService; - this.applicationProperties = applicationProperties; } public List getNewGrantsDto() throws ParseException, IOException { @@ -46,7 +44,7 @@ public class KiasService { return grants; } - public List getKiasGrants(HtmlPage page) throws ParseException { + private List getKiasGrants(HtmlPage page) throws ParseException { List newGrants = new ArrayList<>(); KiasPage kiasPage = new KiasPage(page); do { diff --git a/src/main/java/ru/ulstu/name/BaseService.java b/src/main/java/ru/ulstu/name/BaseService.java index fd63cbf..adcdc74 100644 --- a/src/main/java/ru/ulstu/name/BaseService.java +++ b/src/main/java/ru/ulstu/name/BaseService.java @@ -8,13 +8,13 @@ public abstract class BaseService { public BaseRepository baseRepository; - public void checkUniqueName(NameContainer nameContainer, Errors errors, Integer id, String checkField, String errorMessage) { + protected void checkUniqueName(NameContainer nameContainer, Errors errors, Integer id, String errorMessage) { if (nameContainer.getName().equals(baseRepository.findByNameAndNotId(nameContainer.getName(), id))) { - errors.rejectValue(checkField, "errorCode", errorMessage); + errors.rejectValue("title", "errorCode", errorMessage); } } - public String checkUniqueName(NameContainer nameContainer, Integer id) { + protected String checkUniqueName(NameContainer nameContainer, Integer id) { if (nameContainer.getName().equals(baseRepository.findByNameAndNotId(nameContainer.getName(), id))) { return baseRepository.findByNameAndNotId(nameContainer.getName(), id); } diff --git a/src/main/java/ru/ulstu/odin/controller/OdinController.java b/src/main/java/ru/ulstu/odin/controller/OdinController.java index 8d4fcf4..90b0a2b 100644 --- a/src/main/java/ru/ulstu/odin/controller/OdinController.java +++ b/src/main/java/ru/ulstu/odin/controller/OdinController.java @@ -9,10 +9,10 @@ import ru.ulstu.odin.service.OdinService; public abstract class OdinController { public static final String META_LIST_URL = "/meta/list"; - public static final String META_ELEMENT_URL = "/meta/element"; + private static final String META_ELEMENT_URL = "/meta/element"; - private Class listDtoClass; - private Class elementDtoClass; + private final Class listDtoClass; + private final Class elementDtoClass; @Autowired private OdinService odinService; diff --git a/src/main/java/ru/ulstu/odin/model/OdinCollectionField.java b/src/main/java/ru/ulstu/odin/model/OdinCollectionField.java index 171e78c..f8299cf 100644 --- a/src/main/java/ru/ulstu/odin/model/OdinCollectionField.java +++ b/src/main/java/ru/ulstu/odin/model/OdinCollectionField.java @@ -3,6 +3,7 @@ package ru.ulstu.odin.model; import ru.ulstu.core.error.OdinException; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -14,9 +15,9 @@ public class OdinCollectionField extends OdinField { ParameterizedType genericType = (ParameterizedType) field.getGenericType(); Type fieldElementClass = genericType.getActualTypeArguments()[0]; try { - OdinDto someInstance = (OdinDto) ((Class) (fieldElementClass)).newInstance(); + OdinDto someInstance = (OdinDto) ((Class) (fieldElementClass)).getDeclaredConstructor().newInstance(); this.path = someInstance.getControllerPath(); - } catch (IllegalAccessException | InstantiationException e) { + } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { throw new OdinException(String.format("Can't create new instance, check default constructor of %s", fieldElementClass.getTypeName())); } diff --git a/src/main/java/ru/ulstu/odin/model/OdinField.java b/src/main/java/ru/ulstu/odin/model/OdinField.java index c60c945..b0d99c9 100644 --- a/src/main/java/ru/ulstu/odin/model/OdinField.java +++ b/src/main/java/ru/ulstu/odin/model/OdinField.java @@ -1,13 +1,13 @@ package ru.ulstu.odin.model; import com.fasterxml.jackson.annotation.JsonProperty; -import org.hibernate.validator.constraints.NotBlank; -import org.hibernate.validator.constraints.NotEmpty; import ru.ulstu.core.error.OdinException; import ru.ulstu.odin.model.annotation.OdinCaption; import ru.ulstu.odin.model.annotation.OdinReadOnly; import ru.ulstu.odin.model.annotation.OdinVisible; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.lang.annotation.Annotation; import java.lang.reflect.Field; @@ -31,15 +31,16 @@ public abstract class OdinField implements Comparable { return this.name().toLowerCase(); } } - protected final OdinFieldType fieldType; - protected final String fieldName; - protected final String caption; - protected final OdinVisible.OdinVisibleType visible; - protected final boolean readOnly; - protected final boolean notEmpty; - private Field field; - public OdinField(Field field, OdinFieldType fieldType) { + private final OdinFieldType fieldType; + private final String fieldName; + private final String caption; + private final OdinVisible.OdinVisibleType visible; + private final boolean readOnly; + private final boolean notEmpty; + private final Field field; + + OdinField(Field field, OdinFieldType fieldType) { this.field = field; this.fieldName = getFieldName(field); this.caption = Optional.ofNullable(getValueFromAnnotation(OdinCaption.class, "value")) @@ -92,7 +93,7 @@ public abstract class OdinField implements Comparable { } } - protected T getValue(Class annotationClass, String valueName, Class clazz) { + T getValue(Class annotationClass, String valueName, Class clazz) { if (field.isAnnotationPresent(annotationClass)) { return cast(getValueFromAnnotation(annotationClass, valueName), clazz); } diff --git a/src/main/java/ru/ulstu/odin/model/OdinObjectField.java b/src/main/java/ru/ulstu/odin/model/OdinObjectField.java index d19e748..10d3606 100644 --- a/src/main/java/ru/ulstu/odin/model/OdinObjectField.java +++ b/src/main/java/ru/ulstu/odin/model/OdinObjectField.java @@ -3,6 +3,7 @@ package ru.ulstu.odin.model; import ru.ulstu.core.error.OdinException; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Type; public class OdinObjectField extends OdinField { @@ -12,9 +13,9 @@ public class OdinObjectField extends OdinField { super(field, OdinFieldType.OBJECT); Type fieldElementClass = field.getType(); try { - OdinDto someInstance = (OdinDto) ((Class) (fieldElementClass)).newInstance(); + OdinDto someInstance = (OdinDto) ((Class) (fieldElementClass)).getDeclaredConstructor().newInstance(); this.path = someInstance.getControllerPath(); - } catch (IllegalAccessException | InstantiationException e) { + } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { throw new OdinException(String.format("Can't create new instance, check default constructor of %s", fieldElementClass.getTypeName())); } diff --git a/src/main/java/ru/ulstu/odin/model/OdinStringField.java b/src/main/java/ru/ulstu/odin/model/OdinStringField.java index 5157d7e..498b375 100644 --- a/src/main/java/ru/ulstu/odin/model/OdinStringField.java +++ b/src/main/java/ru/ulstu/odin/model/OdinStringField.java @@ -1,9 +1,9 @@ package ru.ulstu.odin.model; -import org.hibernate.validator.constraints.Email; import ru.ulstu.odin.model.annotation.OdinString; import ru.ulstu.odin.model.annotation.OdinString.OdinStringType; +import javax.validation.constraints.Email; import javax.validation.constraints.Size; import java.lang.reflect.Field; diff --git a/src/main/java/ru/ulstu/odinexample/controller/OdinExampleController.java b/src/main/java/ru/ulstu/odinexample/controller/OdinExampleController.java deleted file mode 100644 index 0101531..0000000 --- a/src/main/java/ru/ulstu/odinexample/controller/OdinExampleController.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.ulstu.odinexample.controller; - -public class OdinExampleController { -} diff --git a/src/main/java/ru/ulstu/odinexample/model/OdinExampleDto.java b/src/main/java/ru/ulstu/odinexample/model/OdinExampleDto.java deleted file mode 100644 index 027d96f..0000000 --- a/src/main/java/ru/ulstu/odinexample/model/OdinExampleDto.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.ulstu.odinexample.model; - -public class OdinExampleDto { -} diff --git a/src/main/java/ru/ulstu/odinexample/model/OdinExampleListDto.java b/src/main/java/ru/ulstu/odinexample/model/OdinExampleListDto.java deleted file mode 100644 index 6924519..0000000 --- a/src/main/java/ru/ulstu/odinexample/model/OdinExampleListDto.java +++ /dev/null @@ -1,103 +0,0 @@ -package ru.ulstu.odinexample.model; - -import ru.ulstu.core.util.DateUtils; -import ru.ulstu.odin.model.annotation.OdinCaption; -import ru.ulstu.odin.model.annotation.OdinDate; -import ru.ulstu.odin.model.annotation.OdinNumeric; - -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.Date; - -public class OdinExampleListDto { - @OdinCaption("instant") - @OdinDate(type = OdinDate.OdinDateType.DATETIME) - private Instant instant; - @OdinCaption("date") - private Date date; - @OdinCaption("localdate") - private LocalDate localDate; - @OdinCaption("localtime") - @OdinDate(type = OdinDate.OdinDateType.TIME) - private LocalTime localTime; - @OdinCaption("localdatetime") - @OdinDate(type = OdinDate.OdinDateType.DATETIME) - private LocalDateTime localDateTime; - @OdinCaption("int") - private int intval; - @OdinCaption("int+settings") - @OdinNumeric(precision = 5, scale = 2) - private int intvalset; - @OdinCaption("float") - private float floatval; - @OdinCaption("double") - private double aDouble; - @OdinCaption("double+set") - @OdinNumeric(precision = 5, scale = 3) - private double aDoubles; - @OdinCaption("int+positive") - @OdinNumeric(positiveOnly = true, scale = 2) - private int invalpos; - - public OdinExampleListDto() { - this.instant = Instant.now(); - this.date = new Date(); - this.localDate = LocalDate.now(); - this.localTime = LocalTime.now(); - this.localDateTime = LocalDateTime.now(); - intval = -134; - intvalset = 1343423232; - floatval = 2323.44F; - aDouble = -232323.43434; - aDoubles = 0.456456456; - invalpos = -23232323; - } - - - public Date getInstant() { - return DateUtils.instantToDate(instant); - } - - public Date getDate() { - return date; - } - - public Date getLocalDate() { - return DateUtils.localDateToDate(localDate); - } - - public Date getLocalTime() { - return DateUtils.localTimeToDate(localTime); - } - - public Date getLocalDateTime() { - return DateUtils.localDateTimeToDate(localDateTime); - } - - public int getIntval() { - return intval; - } - - public int getIntvalset() { - return intvalset; - } - - public float getFloatval() { - return floatval; - } - - public double getaDouble() { - return aDouble; - } - - public double getaDoubles() { - return aDoubles; - } - - public int getInvalpos() { - return invalpos; - } - -} diff --git a/src/main/java/ru/ulstu/odinexample/service/OdinExampleService.java b/src/main/java/ru/ulstu/odinexample/service/OdinExampleService.java deleted file mode 100644 index 57cea21..0000000 --- a/src/main/java/ru/ulstu/odinexample/service/OdinExampleService.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.ulstu.odinexample.service; - -public class OdinExampleService { -} diff --git a/src/main/java/ru/ulstu/paper/controller/PaperRestController.java b/src/main/java/ru/ulstu/paper/controller/PaperRestController.java index 7c0d9c5..b6dd11d 100644 --- a/src/main/java/ru/ulstu/paper/controller/PaperRestController.java +++ b/src/main/java/ru/ulstu/paper/controller/PaperRestController.java @@ -40,7 +40,7 @@ public class PaperRestController { @GetMapping("/{paper-id}") public Response getPaper(@PathVariable("paper-id") Integer paperId) { - return new Response(paperService.findById(paperId)); + return new Response<>(paperService.findById(paperId)); } @PostMapping @@ -56,7 +56,7 @@ public class PaperRestController { @DeleteMapping("/{paper-id}") public Response delete(@PathVariable("paper-id") Integer paperId) throws IOException { paperService.delete(paperId); - return new Response<>(true); + return new Response<>(Boolean.TRUE); } @PostMapping("/filter") diff --git a/src/main/java/ru/ulstu/paper/error/PaperConferenceRelationExistException.java b/src/main/java/ru/ulstu/paper/error/PaperConferenceRelationExistException.java deleted file mode 100644 index ddb3b5e..0000000 --- a/src/main/java/ru/ulstu/paper/error/PaperConferenceRelationExistException.java +++ /dev/null @@ -1,7 +0,0 @@ -package ru.ulstu.paper.error; - -public class PaperConferenceRelationExistException extends RuntimeException { - public PaperConferenceRelationExistException(String message) { - super(message); - } -} diff --git a/src/main/java/ru/ulstu/paper/model/Paper.java b/src/main/java/ru/ulstu/paper/model/Paper.java index 32a1e5e..f7b851c 100644 --- a/src/main/java/ru/ulstu/paper/model/Paper.java +++ b/src/main/java/ru/ulstu/paper/model/Paper.java @@ -2,7 +2,6 @@ package ru.ulstu.paper.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import org.hibernate.validator.constraints.NotBlank; import ru.ulstu.conference.model.Conference; import ru.ulstu.core.model.BaseEntity; import ru.ulstu.core.model.EventSource; @@ -26,6 +25,7 @@ import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import javax.validation.constraints.NotBlank; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; @@ -48,7 +48,7 @@ public class Paper extends BaseEntity implements UserActivity, EventSource { DRAFT("Черновик"), FAILED("Провалены сроки"); - private String statusName; + private final String statusName; PaperStatus(String name) { this.statusName = name; @@ -65,7 +65,7 @@ public class Paper extends BaseEntity implements UserActivity, EventSource { SCOPUS("Scopus"), WEB_OF_SCIENCE("Web Of Science"); - private String typeName; + private final String typeName; PaperType(String name) { this.typeName = name; @@ -201,7 +201,7 @@ public class Paper extends BaseEntity implements UserActivity, EventSource { @Override public List getRecipients() { - return new ArrayList(authors); + return new ArrayList<>(authors); } @Override diff --git a/src/main/java/ru/ulstu/paper/model/PaperDto.java b/src/main/java/ru/ulstu/paper/model/PaperDto.java index 8474a34..cc44af5 100644 --- a/src/main/java/ru/ulstu/paper/model/PaperDto.java +++ b/src/main/java/ru/ulstu/paper/model/PaperDto.java @@ -3,11 +3,11 @@ package ru.ulstu.paper.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.StringUtils; -import org.hibernate.validator.constraints.NotEmpty; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.file.model.FileDataDto; import ru.ulstu.user.model.UserDto; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; import java.util.ArrayList; import java.util.Date; diff --git a/src/main/java/ru/ulstu/paper/model/ReferenceDto.java b/src/main/java/ru/ulstu/paper/model/ReferenceDto.java index 1705e08..bf7fed2 100644 --- a/src/main/java/ru/ulstu/paper/model/ReferenceDto.java +++ b/src/main/java/ru/ulstu/paper/model/ReferenceDto.java @@ -8,7 +8,7 @@ public class ReferenceDto { ARTICLE("Статья"), BOOK("Книга"); - private String typeName; + private final String typeName; ReferenceType(String name) { this.typeName = name; @@ -23,7 +23,7 @@ public class ReferenceDto { GOST("ГОСТ"), SPRINGER("Springer"); - private String standardName; + private final String standardName; FormatStandard(String name) { this.standardName = name; diff --git a/src/main/java/ru/ulstu/paper/service/LatexService.java b/src/main/java/ru/ulstu/paper/service/LatexService.java index 9892e35..ea1bcfc 100644 --- a/src/main/java/ru/ulstu/paper/service/LatexService.java +++ b/src/main/java/ru/ulstu/paper/service/LatexService.java @@ -12,11 +12,11 @@ import java.nio.file.Files; @Service public class LatexService { - private final String pdfLatexError = "Errors occurred while executing pdfLaTeX."; - private final String bibtexError = "Errors occurred while executing bibtex."; + private static final String PDF_LATEX_ERROR = "Errors occurred while executing pdfLaTeX."; + private static final String BIBTEX_ERROR = "Errors occurred while executing bibtex."; private String errorMessage; private File pdfFile; - private FileService fileService; + private final FileService fileService; public LatexService(FileService fileService) { this.fileService = fileService; @@ -56,9 +56,9 @@ public class LatexService { } private boolean generate(String filename, File dir) throws IOException, InterruptedException { - startProcess(new String[]{"pdflatex", filename, "--interaction=nonstopmode"}, dir, pdfLatexError); - startProcess(new String[]{"bibtex", filename}, dir, bibtexError); - if (startProcess(new String[]{"pdflatex", filename, "--interaction=nonstopmode"}, dir, pdfLatexError) != 0) { + startProcess(new String[]{"pdflatex", filename, "--interaction=nonstopmode"}, dir, PDF_LATEX_ERROR); + startProcess(new String[]{"bibtex", filename}, dir, BIBTEX_ERROR); + if (startProcess(new String[]{"pdflatex", filename, "--interaction=nonstopmode"}, dir, PDF_LATEX_ERROR) != 0) { return false; } return checkPdf(filename, dir); diff --git a/src/main/java/ru/ulstu/paper/service/PaperService.java b/src/main/java/ru/ulstu/paper/service/PaperService.java index 3be9aee..2fee949 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperService.java +++ b/src/main/java/ru/ulstu/paper/service/PaperService.java @@ -85,7 +85,7 @@ public class PaperService { return papers; } - public List findAllActive() { + private List findAllActive() { return findAll() .stream() .filter(paper -> paper.getStatus() != COMPLETED && paper.getStatus() != FAILED) @@ -97,7 +97,7 @@ public class PaperService { } public PaperDto findOneDto(Integer id) { - return new PaperDto(paperRepository.findOne(id)); + return new PaperDto(paperRepository.getOne(id)); } @Transactional @@ -139,7 +139,7 @@ public class PaperService { return paper; } - public List saveOrCreateReferences(List references) { + private List saveOrCreateReferences(List references) { return references .stream() .filter(reference -> !reference.getDeleted()) @@ -148,15 +148,15 @@ public class PaperService { } @Transactional - public Reference updateReference(ReferenceDto referenceDto) { - Reference updateReference = referenceRepository.findOne(referenceDto.getId()); + private Reference updateReference(ReferenceDto referenceDto) { + Reference updateReference = referenceRepository.getOne(referenceDto.getId()); copyFromDto(updateReference, referenceDto); referenceRepository.save(updateReference); return updateReference; } @Transactional - public Reference createReference(ReferenceDto referenceDto) { + private Reference createReference(ReferenceDto referenceDto) { Reference newReference = new Reference(); copyFromDto(newReference, referenceDto); newReference = referenceRepository.save(newReference); @@ -176,7 +176,7 @@ public class PaperService { @Transactional public Integer update(PaperDto paperDto) throws IOException { - Paper paper = paperRepository.findOne(paperDto.getId()); + Paper paper = paperRepository.getOne(paperDto.getId()); Paper.PaperStatus oldStatus = paper.getStatus(); Set oldAuthors = new HashSet<>(paper.getAuthors()); @@ -208,7 +208,7 @@ public class PaperService { @Transactional public void delete(Integer paperId) { - Paper paper = paperRepository.findOne(paperId); + Paper paper = paperRepository.getOne(paperId); paperRepository.delete(paper); } @@ -293,11 +293,11 @@ public class PaperService { } public PaperDto findById(Integer paperId) { - return new PaperDto(paperRepository.findOne(paperId)); + return new PaperDto(paperRepository.getOne(paperId)); } public Paper findPaperById(Integer paperId) { - return paperRepository.findOne(paperId); + return paperRepository.getOne(paperId); } public List findAllNotSelect(List paperIds) { @@ -358,7 +358,7 @@ public class PaperService { .collect(Collectors.toList())); } - public String getGostReference(ReferenceDto referenceDto) { + private String getGostReference(ReferenceDto referenceDto) { return MessageFormat.format(referenceDto.getReferenceType() == BOOK ? "{0} {1} - {2}{3}. - {4}с." : "{0} {1}{5} {2}{3}. С. {4}.", referenceDto.getAuthors(), referenceDto.getPublicationTitle(), @@ -368,7 +368,7 @@ public class PaperService { StringUtils.isEmpty(referenceDto.getJournalOrCollectionTitle()) ? "." : " // " + referenceDto.getJournalOrCollectionTitle() + "."); } - public String getSpringerReference(ReferenceDto referenceDto) { + private String getSpringerReference(ReferenceDto referenceDto) { return MessageFormat.format("{0} ({1}) {2}.{3} {4}pp {5}", referenceDto.getAuthors(), referenceDto.getPublicationYear() != null ? referenceDto.getPublicationYear().toString() : "", diff --git a/src/main/java/ru/ulstu/ping/service/PingScheduler.java b/src/main/java/ru/ulstu/ping/service/PingScheduler.java index 239abbf..ca8724d 100644 --- a/src/main/java/ru/ulstu/ping/service/PingScheduler.java +++ b/src/main/java/ru/ulstu/ping/service/PingScheduler.java @@ -52,7 +52,7 @@ public class PingScheduler { for (PingInfo pingInfo : pingInfos) { mailService.sendEmailFromTemplate(ImmutableMap.of("pings", pingInfo.getPings()), - pingInfo.getUser(), "pingsInfoWeekEmail", PING_MAIL_SUBJECT); + pingInfo.getUser(), "pingsInfoWeekEmail", PING_MAIL_SUBJECT); } } } diff --git a/src/main/java/ru/ulstu/ping/service/PingService.java b/src/main/java/ru/ulstu/ping/service/PingService.java index e1c0035..99ca26f 100644 --- a/src/main/java/ru/ulstu/ping/service/PingService.java +++ b/src/main/java/ru/ulstu/ping/service/PingService.java @@ -17,14 +17,12 @@ import java.util.List; public class PingService { private final PingRepository pingRepository; private final UserService userService; - private final PingScheduler pingScheduler; public PingService(PingRepository pingRepository, UserService userService, PingScheduler pingScheduler) { this.pingRepository = pingRepository; this.userService = userService; - this.pingScheduler = pingScheduler; } @Transactional diff --git a/src/main/java/ru/ulstu/project/model/Project.java b/src/main/java/ru/ulstu/project/model/Project.java index 6c60052..0ddb982 100644 --- a/src/main/java/ru/ulstu/project/model/Project.java +++ b/src/main/java/ru/ulstu/project/model/Project.java @@ -2,7 +2,6 @@ package ru.ulstu.project.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import org.hibernate.validator.constraints.NotBlank; import ru.ulstu.core.model.BaseEntity; import ru.ulstu.core.model.EventSource; import ru.ulstu.core.model.UserActivity; @@ -23,6 +22,7 @@ import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Collections; @@ -42,7 +42,7 @@ public class Project extends BaseEntity implements UserActivity, EventSource { CLOSED("Закрыт"), FAILED("Провалены сроки"); - private String statusName; + private final String statusName; ProjectStatus(String statusName) { this.statusName = statusName; diff --git a/src/main/java/ru/ulstu/project/model/ProjectDto.java b/src/main/java/ru/ulstu/project/model/ProjectDto.java index fb60703..d5a8345 100644 --- a/src/main/java/ru/ulstu/project/model/ProjectDto.java +++ b/src/main/java/ru/ulstu/project/model/ProjectDto.java @@ -2,7 +2,6 @@ package ru.ulstu.project.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import org.hibernate.validator.constraints.NotEmpty; import org.thymeleaf.util.StringUtils; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.file.model.FileDataDto; @@ -10,6 +9,7 @@ import ru.ulstu.grant.model.GrantDto; import ru.ulstu.user.model.User; import ru.ulstu.user.model.UserDto; +import javax.validation.constraints.NotEmpty; import java.util.ArrayList; import java.util.HashSet; import java.util.List; diff --git a/src/main/java/ru/ulstu/project/service/ProjectService.java b/src/main/java/ru/ulstu/project/service/ProjectService.java index 699e241..07b07fa 100644 --- a/src/main/java/ru/ulstu/project/service/ProjectService.java +++ b/src/main/java/ru/ulstu/project/service/ProjectService.java @@ -65,7 +65,7 @@ public class ProjectService { } public ProjectDto findOneDto(Integer id) { - return new ProjectDto(projectRepository.findOne(id)); + return new ProjectDto(projectRepository.getOne(id)); } public List getProjectStatuses() { @@ -81,8 +81,8 @@ public class ProjectService { } @Transactional - public Project update(ProjectDto projectDto) throws IOException { - Project project = projectRepository.findOne(projectDto.getId()); + private Project update(ProjectDto projectDto) throws IOException { + Project project = projectRepository.getOne(projectDto.getId()); projectRepository.save(copyFromDto(project, projectDto)); eventService.updateProjectDeadlines(project); for (FileDataDto file : projectDto.getFiles().stream() @@ -95,8 +95,8 @@ public class ProjectService { @Transactional public boolean delete(Integer projectId) throws IOException { - if (projectRepository.exists(projectId)) { - Project project = projectRepository.findOne(projectId); + if (projectRepository.existsById(projectId)) { + Project project = projectRepository.getOne(projectId); projectRepository.delete(project); return true; } @@ -108,7 +108,7 @@ public class ProjectService { project.setStatus(projectDto.getStatus() == null ? TECHNICAL_TASK : projectDto.getStatus()); project.setTitle(projectDto.getTitle()); if (projectDto.getGrant() != null && projectDto.getGrant().getId() != null) { - project.setGrant(grantRepository.findOne(projectDto.getGrant().getId())); + project.setGrant(grantRepository.getOne(projectDto.getGrant().getId())); } project.setRepository(projectDto.getRepository()); project.setDeadlines(deadlineService.saveOrCreate(projectDto.getDeadlines())); @@ -139,12 +139,11 @@ public class ProjectService { } public Project findById(Integer id) { - return projectRepository.findOne(id); + return projectRepository.getOne(id); } public List getProjectExecutors(ProjectDto projectDto) { - List users = userService.findAll(); - return users; + return userService.findAll(); } @Transactional @@ -153,12 +152,11 @@ public class ProjectService { } public List getAllGrants() { - List grants = convert(grantRepository.findAll(), GrantDto::new); - return grants; + return convert(grantRepository.findAll(), GrantDto::new); } - public List getProjectGrants(List grantIds) { - return convert(grantRepository.findAll(grantIds), GrantDto::new); + private List getProjectGrants(List grantIds) { + return convert(grantRepository.findAllById(grantIds), GrantDto::new); } public void attachGrant(ProjectDto projectDto) { diff --git a/src/main/java/ru/ulstu/strategy/api/EntityCreateStrategy.java b/src/main/java/ru/ulstu/strategy/api/EntityCreateStrategy.java index 8a14399..bf857a0 100644 --- a/src/main/java/ru/ulstu/strategy/api/EntityCreateStrategy.java +++ b/src/main/java/ru/ulstu/strategy/api/EntityCreateStrategy.java @@ -11,7 +11,7 @@ public abstract class EntityCreateStrategy { protected abstract void createEntity(User user); - protected void createDefaultEntityIfNeed(List allUsers, List entities) { + private void createDefaultEntityIfNeed(List allUsers, List entities) { allUsers.forEach(user -> { if (entities .stream() diff --git a/src/main/java/ru/ulstu/students/controller/Navigation.java b/src/main/java/ru/ulstu/students/controller/Navigation.java index 3804a8b..348f062 100644 --- a/src/main/java/ru/ulstu/students/controller/Navigation.java +++ b/src/main/java/ru/ulstu/students/controller/Navigation.java @@ -2,7 +2,7 @@ package ru.ulstu.students.controller; import org.springframework.validation.Errors; -public class Navigation { +class Navigation { public static final String REDIRECT_TO = "redirect:%s"; public static final String TASKS_PAGE = "/students/tasks"; public static final String TASK_PAGE = "/students/task"; diff --git a/src/main/java/ru/ulstu/students/model/Task.java b/src/main/java/ru/ulstu/students/model/Task.java index c3f195b..4da0aa2 100644 --- a/src/main/java/ru/ulstu/students/model/Task.java +++ b/src/main/java/ru/ulstu/students/model/Task.java @@ -2,14 +2,12 @@ package ru.ulstu.students.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import org.hibernate.validator.constraints.NotBlank; import ru.ulstu.core.model.BaseEntity; import ru.ulstu.core.model.EventSource; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.tags.model.Tag; import ru.ulstu.timeline.model.Event; import ru.ulstu.user.model.User; -import ru.ulstu.user.service.UserService; import javax.persistence.CascadeType; import javax.persistence.Column; @@ -24,7 +22,7 @@ import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Temporal; import javax.persistence.TemporalType; -import javax.persistence.Transient; +import javax.validation.constraints.NotBlank; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -39,7 +37,7 @@ public class Task extends BaseEntity implements EventSource { FAILED("Провалены сроки"), LOADED_FROM_KIAS("Загружен автоматически"); - private String statusName; + private final String statusName; TaskStatus(String name) { this.statusName = name; @@ -55,17 +53,10 @@ public class Task extends BaseEntity implements EventSource { private String description; - @Transient - private UserService userService; - public Task() { } - public Task(UserService userService) { - this.userService = userService; - } - @Enumerated(value = EnumType.STRING) private TaskStatus status = TaskStatus.IN_WORK; diff --git a/src/main/java/ru/ulstu/students/model/TaskDto.java b/src/main/java/ru/ulstu/students/model/TaskDto.java index 2df691f..24ad204 100644 --- a/src/main/java/ru/ulstu/students/model/TaskDto.java +++ b/src/main/java/ru/ulstu/students/model/TaskDto.java @@ -3,10 +3,10 @@ package ru.ulstu.students.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.StringUtils; -import org.hibernate.validator.constraints.NotEmpty; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.tags.model.Tag; +import javax.validation.constraints.NotEmpty; import java.util.ArrayList; import java.util.Date; import java.util.List; diff --git a/src/main/java/ru/ulstu/students/service/SchedulerService.java b/src/main/java/ru/ulstu/students/service/SchedulerService.java index 9d14926..b192130 100644 --- a/src/main/java/ru/ulstu/students/service/SchedulerService.java +++ b/src/main/java/ru/ulstu/students/service/SchedulerService.java @@ -38,8 +38,8 @@ public class SchedulerService { @Transactional private void delete(Integer schedulerId) { - if (schedulerRepository.exists(schedulerId)) { - schedulerRepository.delete(schedulerId); + if (schedulerRepository.existsById(schedulerId)) { + schedulerRepository.deleteById(schedulerId); } } diff --git a/src/main/java/ru/ulstu/students/service/TaskService.java b/src/main/java/ru/ulstu/students/service/TaskService.java index 548e899..c3b4f3a 100644 --- a/src/main/java/ru/ulstu/students/service/TaskService.java +++ b/src/main/java/ru/ulstu/students/service/TaskService.java @@ -65,7 +65,7 @@ public class TaskService { } public TaskDto findOneDto(Integer id) { - return new TaskDto(taskRepository.findOne(id)); + return new TaskDto(taskRepository.getOne(id)); } public List filter(TaskFilterDto filterDto) { @@ -101,8 +101,8 @@ public class TaskService { } @Transactional - public Integer update(TaskDto taskDto) throws IOException { - Task task = taskRepository.findOne(taskDto.getId()); + private Integer update(TaskDto taskDto) throws IOException { + Task task = taskRepository.getOne(taskDto.getId()); taskRepository.save(copyFromDto(task, taskDto)); eventService.updateTaskDeadlines(task); return task.getId(); @@ -110,13 +110,13 @@ public class TaskService { @Transactional public boolean delete(Integer taskId) throws IOException { - if (taskRepository.exists(taskId)) { - Task scheduleTask = taskRepository.findOne(taskId); + if (taskRepository.existsById(taskId)) { + Task scheduleTask = taskRepository.getOne(taskId); Scheduler sch = schedulerRepository.findOneByTask(scheduleTask); if (sch != null) { - schedulerRepository.delete(sch.getId()); + schedulerRepository.deleteById(sch.getId()); } - taskRepository.delete(taskId); + taskRepository.deleteById(taskId); return true; } return false; diff --git a/src/main/java/ru/ulstu/tags/model/Tag.java b/src/main/java/ru/ulstu/tags/model/Tag.java index e1c63d2..023cfb4 100644 --- a/src/main/java/ru/ulstu/tags/model/Tag.java +++ b/src/main/java/ru/ulstu/tags/model/Tag.java @@ -2,12 +2,12 @@ package ru.ulstu.tags.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import org.hibernate.validator.constraints.NotEmpty; import ru.ulstu.core.model.BaseEntity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; import java.util.Objects; diff --git a/src/main/java/ru/ulstu/tags/service/TagService.java b/src/main/java/ru/ulstu/tags/service/TagService.java index ba942f1..f85889d 100644 --- a/src/main/java/ru/ulstu/tags/service/TagService.java +++ b/src/main/java/ru/ulstu/tags/service/TagService.java @@ -33,17 +33,17 @@ public class TagService { } @Transactional - public Tag getExistById(Tag tag) { - return tagRepository.findOne(tag.getId()); + private Tag getExistById(Tag tag) { + return tagRepository.getOne(tag.getId()); } @Transactional - public Tag isExistByName(String tagName) { + private Tag isExistByName(String tagName) { return tagRepository.findByName(tagName); } @Transactional - public Tag create(Tag tag) { + private Tag create(Tag tag) { Tag newTag = new Tag(); newTag.setTagName(tag.getTagName()); newTag = tagRepository.save(newTag); @@ -55,7 +55,7 @@ public class TagService { } public Tag findById(Integer tagId) { - return tagRepository.findOne(tagId); + return tagRepository.getOne(tagId); } } diff --git a/src/main/java/ru/ulstu/timeline/controller/EventController.java b/src/main/java/ru/ulstu/timeline/controller/EventController.java index 77cb118..2a9245c 100644 --- a/src/main/java/ru/ulstu/timeline/controller/EventController.java +++ b/src/main/java/ru/ulstu/timeline/controller/EventController.java @@ -16,12 +16,9 @@ import ru.ulstu.timeline.service.EventService; import javax.validation.Valid; import java.util.List; -import static ru.ulstu.timeline.controller.EventController.URL; - @RestController -@RequestMapping(URL) +@RequestMapping(Constants.API_1_0 + "events") public class EventController { - public static final String URL = Constants.API_1_0 + "events"; private final EventService eventService; @@ -40,18 +37,18 @@ public class EventController { } @PostMapping - public Response createEvent(@RequestBody @Valid EventDto timelineDto) { - return new Response(eventService.create(timelineDto)); + public Response createEvent(@RequestBody @Valid EventDto timelineDto) { + return new Response<>(eventService.create(timelineDto)); } @PutMapping - public Response updateEvent(@RequestBody @Valid EventDto eventDto) { - return new Response(eventService.update(eventDto)); + public Response updateEvent(@RequestBody @Valid EventDto eventDto) { + return new Response<>(eventService.update(eventDto)); } @DeleteMapping("/{event-id}") - public Response delete(@PathVariable("event-id") Integer eventId) { + public Response delete(@PathVariable("event-id") Integer eventId) { eventService.delete(eventId); - return new Response(true); + return new Response<>(Boolean.TRUE); } } diff --git a/src/main/java/ru/ulstu/timeline/model/Event.java b/src/main/java/ru/ulstu/timeline/model/Event.java index a8b4571..bf69a70 100644 --- a/src/main/java/ru/ulstu/timeline/model/Event.java +++ b/src/main/java/ru/ulstu/timeline/model/Event.java @@ -1,6 +1,5 @@ package ru.ulstu.timeline.model; -import org.hibernate.validator.constraints.NotBlank; import ru.ulstu.conference.model.Conference; import ru.ulstu.core.model.BaseEntity; import ru.ulstu.grant.model.Grant; @@ -21,6 +20,7 @@ import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Date; @@ -31,7 +31,7 @@ public class Event extends BaseEntity { public enum EventStatus { POSSIBLE("Возможное"), NEW("Новое"), IN_PROGRESS("В процессе"), COMPLETED("Завершено"); - private String name; + private final String name; EventStatus(String name) { this.name = name; diff --git a/src/main/java/ru/ulstu/timeline/model/EventDto.java b/src/main/java/ru/ulstu/timeline/model/EventDto.java index 1f0076b..7c3a836 100644 --- a/src/main/java/ru/ulstu/timeline/model/EventDto.java +++ b/src/main/java/ru/ulstu/timeline/model/EventDto.java @@ -2,7 +2,6 @@ package ru.ulstu.timeline.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import org.hibernate.validator.constraints.NotBlank; import ru.ulstu.conference.model.ConferenceDto; import ru.ulstu.grant.model.GrantDto; import ru.ulstu.paper.model.PaperDto; @@ -10,6 +9,7 @@ import ru.ulstu.project.model.ProjectDto; import ru.ulstu.students.model.TaskDto; import ru.ulstu.user.model.UserDto; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; diff --git a/src/main/java/ru/ulstu/timeline/model/EventStatusDto.java b/src/main/java/ru/ulstu/timeline/model/EventStatusDto.java deleted file mode 100644 index 6bb4bbc..0000000 --- a/src/main/java/ru/ulstu/timeline/model/EventStatusDto.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.ulstu.timeline.model; - -public class EventStatusDto { - private final String id; - private final String name; - - public EventStatusDto(Event.EventStatus status) { - this.id = status.name(); - this.name = status.getName(); - } - - public String getId() { - return id; - } - - public String getName() { - return name; - } -} diff --git a/src/main/java/ru/ulstu/timeline/model/PeriodEvent.java b/src/main/java/ru/ulstu/timeline/model/PeriodEvent.java index c25528e..39eaffb 100644 --- a/src/main/java/ru/ulstu/timeline/model/PeriodEvent.java +++ b/src/main/java/ru/ulstu/timeline/model/PeriodEvent.java @@ -8,8 +8,8 @@ public enum PeriodEvent { EVERY_WEEK(Period.ofWeeks(1), "Каждую неделю"), EVERY_DAY(Period.ofDays(1), "Каждый день"); - private Period period; - private String message; + private final Period period; + private final String message; PeriodEvent(Period period, String message) { this.period = period; diff --git a/src/main/java/ru/ulstu/timeline/service/EventService.java b/src/main/java/ru/ulstu/timeline/service/EventService.java index 868d576..c7639c2 100644 --- a/src/main/java/ru/ulstu/timeline/service/EventService.java +++ b/src/main/java/ru/ulstu/timeline/service/EventService.java @@ -49,7 +49,7 @@ public class EventService { } @Transactional - public int create(EventDto eventDto) { + public Integer create(EventDto eventDto) { return eventRepository.save(copyFromDto(new Event(), eventDto)).getId(); } @@ -67,7 +67,7 @@ public class EventService { @Transactional public Integer update(EventDto eventDto) { - Event event = eventRepository.findOne(eventDto.getId()); + Event event = eventRepository.getOne(eventDto.getId()); return eventRepository.save(copyFromDto(event, eventDto)).getId(); } @@ -78,13 +78,13 @@ public class EventService { @Transactional public void delete(Integer eventId) { - Event event = eventRepository.findOne(eventId); + Event event = eventRepository.getOne(eventId); event.setParents(null); eventRepository.delete(event); } public List findByIds(List ids) { - return eventRepository.findAll(ids); + return eventRepository.findAllById(ids); } public void createBasedOn(Event event, Date executeDate) { @@ -99,7 +99,7 @@ public class EventService { event = eventRepository.save(event); //set child to parent - Event parentEvent = eventRepository.findOne(parentEventId); + Event parentEvent = eventRepository.getOne(parentEventId); parentEvent.setChild(event); eventRepository.save(parentEvent); } @@ -134,9 +134,10 @@ public class EventService { } timelineService.save(timeline); } + public void updatePaperDeadlines(Paper paper) { List foundEvents = eventRepository.findAllByPaper(paper); - eventRepository.delete(foundEvents); + eventRepository.deleteAll(foundEvents); createFromObject(paper, foundEvents, false, "статьи"); } @@ -144,7 +145,7 @@ public class EventService { return eventRepository.findByCurrentDate(); } - public List findAllFuture() { + private List findAllFuture() { return eventRepository.findAllFuture(); } @@ -153,27 +154,27 @@ public class EventService { } public void updateConferenceDeadlines(Conference conference) { - eventRepository.delete(eventRepository.findAllByConference(conference)); + eventRepository.deleteAll(eventRepository.findAllByConference(conference)); createFromObject(conference, Collections.emptyList(), false, "конференции"); } public void updateGrantDeadlines(Grant grant) { - eventRepository.delete(eventRepository.findAllByGrant(grant)); + eventRepository.deleteAll(eventRepository.findAllByGrant(grant)); createFromObject(grant, Collections.emptyList(), false, "гранта"); } public void updateProjectDeadlines(Project project) { - eventRepository.delete(eventRepository.findAllByProject(project)); + eventRepository.deleteAll(eventRepository.findAllByProject(project)); createFromObject(project, Collections.emptyList(), false, "проекта"); } public void removeConferencesEvent(Conference conference) { List eventList = eventRepository.findAllByConference(conference); - eventList.forEach(event -> eventRepository.delete(event.getId())); + eventList.forEach(event -> eventRepository.deleteById(event.getId())); } public void updateTaskDeadlines(Task task) { - eventRepository.delete(eventRepository.findAllByTask(task)); + eventRepository.deleteAll(eventRepository.findAllByTask(task)); createFromObject(task, Collections.emptyList(), true, "задачи"); } } \ No newline at end of file diff --git a/src/main/java/ru/ulstu/timeline/service/TimelineService.java b/src/main/java/ru/ulstu/timeline/service/TimelineService.java index 09f90c0..dd5c384 100644 --- a/src/main/java/ru/ulstu/timeline/service/TimelineService.java +++ b/src/main/java/ru/ulstu/timeline/service/TimelineService.java @@ -48,13 +48,13 @@ public class TimelineService { @Transactional public Integer update(TimelineDto timelineDto) { - Timeline timeline = timelineRepository.findOne(timelineDto.getId()); + Timeline timeline = timelineRepository.getOne(timelineDto.getId()); return timelineRepository.save(copyFromDto(timeline, timelineDto)).getId(); } @Transactional public void delete(Integer timelineId) { - Timeline timeline = timelineRepository.findOne(timelineId); + Timeline timeline = timelineRepository.getOne(timelineId); timelineRepository.delete(timeline); } } diff --git a/src/main/java/ru/ulstu/user/component/IpAddressResolver.java b/src/main/java/ru/ulstu/user/component/IpAddressResolver.java index 4c74923..ede78de 100644 --- a/src/main/java/ru/ulstu/user/component/IpAddressResolver.java +++ b/src/main/java/ru/ulstu/user/component/IpAddressResolver.java @@ -4,7 +4,7 @@ import org.springframework.util.StringUtils; import javax.servlet.http.HttpServletRequest; -public final class IpAddressResolver { +final class IpAddressResolver { private static final String CLIENT_IP_HEADER = "Client-IP"; private static final String FORWARDED_FOR_HEADER = "X-Forwarded-For"; diff --git a/src/main/java/ru/ulstu/user/controller/UserController.java b/src/main/java/ru/ulstu/user/controller/UserController.java index d080d54..3e653fb 100644 --- a/src/main/java/ru/ulstu/user/controller/UserController.java +++ b/src/main/java/ru/ulstu/user/controller/UserController.java @@ -41,9 +41,9 @@ import static ru.ulstu.user.controller.UserController.URL; public class UserController extends OdinController { public static final String URL = Constants.API_1_0 + "users"; public static final String ROLES_URL = "/roles"; - public static final String ROLES_META_URL = ROLES_URL + OdinController.META_LIST_URL; - public static final String SESSIONS_URL = "/sessions"; - public static final String SESSIONS_META_URL = SESSIONS_URL + OdinController.META_LIST_URL; + private static final String ROLES_META_URL = ROLES_URL + OdinController.META_LIST_URL; + private static final String SESSIONS_URL = "/sessions"; + private static final String SESSIONS_META_URL = SESSIONS_URL + OdinController.META_LIST_URL; public static final String REGISTER_URL = "/register"; public static final String ACTIVATE_URL = "/activate"; public static final String PASSWORD_RESET_REQUEST_URL = "/password-reset-request"; diff --git a/src/main/java/ru/ulstu/user/controller/UserMvcController.java b/src/main/java/ru/ulstu/user/controller/UserMvcController.java index bf84176..1207219 100644 --- a/src/main/java/ru/ulstu/user/controller/UserMvcController.java +++ b/src/main/java/ru/ulstu/user/controller/UserMvcController.java @@ -71,11 +71,4 @@ public class UserMvcController extends OdinController { "CONFERENCE", "Конференции"); } - @GetMapping("/pings") - public void getPings() { - } - - @GetMapping("/block") - public void getBlock() { - } } diff --git a/src/main/java/ru/ulstu/user/model/User.java b/src/main/java/ru/ulstu/user/model/User.java index bb76618..e4461d5 100644 --- a/src/main/java/ru/ulstu/user/model/User.java +++ b/src/main/java/ru/ulstu/user/model/User.java @@ -1,7 +1,6 @@ package ru.ulstu.user.model; import org.hibernate.annotations.BatchSize; -import org.hibernate.validator.constraints.Email; import ru.ulstu.configuration.Constants; import ru.ulstu.core.model.BaseEntity; @@ -16,6 +15,7 @@ import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import javax.validation.constraints.Email; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; @@ -100,7 +100,7 @@ public class User extends BaseEntity { CANDIDATE("Кандидат технических наук"), DOCTOR("Доктор технических наук"); - private String degreeName; + private final String degreeName; UserDegree(String degreeName) { this.degreeName = degreeName; diff --git a/src/main/java/ru/ulstu/user/model/UserDto.java b/src/main/java/ru/ulstu/user/model/UserDto.java index 39ff913..a2f33f6 100644 --- a/src/main/java/ru/ulstu/user/model/UserDto.java +++ b/src/main/java/ru/ulstu/user/model/UserDto.java @@ -1,8 +1,6 @@ package ru.ulstu.user.model; import com.fasterxml.jackson.annotation.JsonIgnore; -import org.hibernate.validator.constraints.Email; -import org.hibernate.validator.constraints.NotBlank; import org.springframework.util.StringUtils; import ru.ulstu.configuration.Constants; import ru.ulstu.odin.model.OdinDto; @@ -12,6 +10,8 @@ import ru.ulstu.odin.model.annotation.OdinString; import ru.ulstu.odin.model.annotation.OdinVisible; import ru.ulstu.user.controller.UserController; +import javax.validation.constraints.Email; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import java.util.Collection; @@ -53,7 +53,7 @@ public class UserDto implements OdinDto { private boolean activated; @OdinCaption("Роли") - private LinkedHashSet roles; + private final LinkedHashSet roles; @OdinString(type = PASSWORD) @OdinVisible(type = OdinVisible.OdinVisibleType.ON_UPDATE) @@ -189,9 +189,9 @@ public class UserDto implements OdinDto { @JsonIgnore public boolean isPasswordsValid() { if (StringUtils.isEmpty(password) || StringUtils.isEmpty(passwordConfirm)) { - return false; + return true; } - return Objects.equals(password, passwordConfirm); + return !Objects.equals(password, passwordConfirm); } @JsonIgnore diff --git a/src/main/java/ru/ulstu/user/model/UserListDto.java b/src/main/java/ru/ulstu/user/model/UserListDto.java index 2df2174..4f108dc 100644 --- a/src/main/java/ru/ulstu/user/model/UserListDto.java +++ b/src/main/java/ru/ulstu/user/model/UserListDto.java @@ -11,19 +11,19 @@ import java.util.Optional; public class UserListDto implements OdinDto { @OdinVisible(type = OdinVisible.OdinVisibleType.NONE) - private int id; + private final int id; @OdinCaption("Логин") - private String login; + private final String login; @OdinCaption("Имя") - private String firstName; + private final String firstName; @OdinCaption("Фамилия") - private String lastName; + private final String lastName; @OdinCaption("E-Mail") - private String email; + private final String email; @OdinCaption("Аккаунт активен") - private boolean activated; + private final boolean activated; @OdinCaption("Права администратора") - private boolean admin; + private final boolean admin; public UserListDto(User user) { this.id = user.getId(); diff --git a/src/main/java/ru/ulstu/user/model/UserResetPasswordDto.java b/src/main/java/ru/ulstu/user/model/UserResetPasswordDto.java index 58e7462..58e76ff 100644 --- a/src/main/java/ru/ulstu/user/model/UserResetPasswordDto.java +++ b/src/main/java/ru/ulstu/user/model/UserResetPasswordDto.java @@ -1,8 +1,8 @@ package ru.ulstu.user.model; -import org.hibernate.validator.constraints.NotEmpty; import ru.ulstu.configuration.Constants; +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; import java.util.Objects; diff --git a/src/main/java/ru/ulstu/user/model/UserSessionListDto.java b/src/main/java/ru/ulstu/user/model/UserSessionListDto.java index ebfd653..5325762 100644 --- a/src/main/java/ru/ulstu/user/model/UserSessionListDto.java +++ b/src/main/java/ru/ulstu/user/model/UserSessionListDto.java @@ -7,19 +7,19 @@ import java.util.Date; public class UserSessionListDto { @OdinCaption("Сессия") - private String sessionId; + private final String sessionId; @OdinCaption("Пользователь") - private String login; + private final String login; @OdinCaption("IP адрес") - private String ipAddress; + private final String ipAddress; @OdinCaption("Хост") - private String host; + private final String host; @OdinCaption("Вход") @OdinDate(type = OdinDate.OdinDateType.DATETIME) - private Date loginTime; + private final Date loginTime; @OdinCaption("Выход") @OdinDate(type = OdinDate.OdinDateType.DATETIME) - private Date logoutTime; + private final Date logoutTime; public UserSessionListDto(UserSession userSession) { this.sessionId = userSession.getSessionId(); diff --git a/src/main/java/ru/ulstu/user/service/MailService.java b/src/main/java/ru/ulstu/user/service/MailService.java index 3724792..369b459 100644 --- a/src/main/java/ru/ulstu/user/service/MailService.java +++ b/src/main/java/ru/ulstu/user/service/MailService.java @@ -10,7 +10,7 @@ import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.thymeleaf.context.Context; -import org.thymeleaf.spring4.SpringTemplateEngine; +import org.thymeleaf.spring5.SpringTemplateEngine; import ru.ulstu.configuration.ApplicationProperties; import ru.ulstu.configuration.Constants; import ru.ulstu.user.model.User; @@ -39,7 +39,7 @@ public class MailService { } @Async - public void sendEmail(String to, String subject, String content) throws MessagingException, MailException { + private void sendEmail(String to, String subject, String content) throws MessagingException, MailException { log.debug("Send email to '{}' with subject '{}'", to, subject); MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, false, StandardCharsets.UTF_8.name()); @@ -60,7 +60,7 @@ public class MailService { } @Async - public void sendEmailFromTemplate(User user, String templateName, String subject) { + private void sendEmailFromTemplate(User user, String templateName, String subject) { Context context = new Context(); context.setVariable(USER, user); context.setVariable(BASE_URL, applicationProperties.getBaseUrl()); @@ -99,7 +99,7 @@ public class MailService { } @Async - public void sendEmailFromTemplate(Map variables, String templateName, String subject, String email) + private void sendEmailFromTemplate(Map variables, String templateName, String subject, String email) throws MessagingException { Context context = new Context(); variables.entrySet().forEach(entry -> context.setVariable(entry.getKey(), entry.getValue())); diff --git a/src/main/java/ru/ulstu/user/service/UserMapper.java b/src/main/java/ru/ulstu/user/service/UserMapper.java index 7359bba..7a195ae 100644 --- a/src/main/java/ru/ulstu/user/service/UserMapper.java +++ b/src/main/java/ru/ulstu/user/service/UserMapper.java @@ -26,7 +26,7 @@ public class UserMapper { public Set rolesFromDto(Set strings) { return Optional.ofNullable(strings).orElse(Collections.emptySet()).stream() .filter(Objects::nonNull) - .map(role -> userRoleRepository.findOne(role.getId().toString())) + .map(role -> userRoleRepository.getOne(role.getId().toString())) .filter(Objects::nonNull) .collect(Collectors.toSet()); } @@ -38,7 +38,7 @@ public class UserMapper { return new UserDto(userEntity); } - public UserListDto userEntityToUserListDto(User userEntity) { + private UserListDto userEntityToUserListDto(User userEntity) { if (userEntity == null) { return null; } diff --git a/src/main/java/ru/ulstu/user/service/UserService.java b/src/main/java/ru/ulstu/user/service/UserService.java index bbac124..0f69c8e 100644 --- a/src/main/java/ru/ulstu/user/service/UserService.java +++ b/src/main/java/ru/ulstu/user/service/UserService.java @@ -8,6 +8,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Sort; import org.springframework.mail.MailException; import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.password.PasswordEncoder; @@ -124,7 +125,7 @@ public class UserService implements UserDetailsService { @Transactional(readOnly = true) public PageableItems getAllUsers(int offset, int count) { - final Page page = userRepository.findAll(new OffsetablePageRequest(offset, count, new Sort("id"))); + final Page page = userRepository.findAll(new OffsetablePageRequest(offset, count, Sort.by("id"))); return new PageableItems<>(page.getTotalElements(), userMapper.userEntitiesToUserListDtos(page.getContent())); } @@ -152,7 +153,7 @@ public class UserService implements UserDetailsService { if (getUserByEmail(userDto.getEmail()) != null) { throw new UserEmailExistsException(userDto.getEmail()); } - if (!userDto.isPasswordsValid()) { + if (userDto.isPasswordsValid()) { throw new UserPasswordsNotValidOrNotMatchException(""); } User user = userMapper.userDtoToUserEntity(userDto); @@ -194,7 +195,7 @@ public class UserService implements UserDetailsService { userDto.getId())) { throw new UserLoginExistsException(userDto.getLogin()); } - User user = userRepository.findOne(userDto.getId()); + User user = userRepository.getOne(userDto.getId()); if (user == null) { throw new UserNotFoundException(userDto.getId().toString()); } @@ -222,7 +223,7 @@ public class UserService implements UserDetailsService { ? Collections.singleton(new UserRole(UserRoleConstants.USER)) : roles); if (!StringUtils.isEmpty(userDto.getOldPassword())) { - if (!userDto.isPasswordsValid() || !userDto.isOldPasswordValid()) { + if (userDto.isPasswordsValid() || !userDto.isOldPasswordValid()) { throw new UserPasswordsNotValidOrNotMatchException(""); } if (!passwordEncoder.matches(userDto.getOldPassword(), user.getPassword())) { @@ -300,7 +301,7 @@ public class UserService implements UserDetailsService { } public UserDto deleteUser(Integer userId) { - final User user = userRepository.findOne(userId); + final User user = userRepository.getOne(userId); if (user == null) { throw new UserNotFoundException(userId.toString()); } @@ -332,15 +333,15 @@ public class UserService implements UserDetailsService { } public List findByIds(List ids) { - return userRepository.findAll(ids); + return userRepository.findAllById(ids); } public User findById(Integer id) { - return userRepository.findOne(id); + return userRepository.getOne(id); } public User getCurrentUser() { - String login = UserUtils.getCurrentUserLogin(); + String login = UserUtils.getCurrentUserLogin(SecurityContextHolder.getContext()); User user = userRepository.findOneByLoginIgnoreCase(login); if (user == null) { throw new UserNotFoundException(login); diff --git a/src/main/java/ru/ulstu/user/util/UserUtils.java b/src/main/java/ru/ulstu/user/util/UserUtils.java index ec58dd9..090240b 100644 --- a/src/main/java/ru/ulstu/user/util/UserUtils.java +++ b/src/main/java/ru/ulstu/user/util/UserUtils.java @@ -3,7 +3,6 @@ package ru.ulstu.user.util; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; -import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import ru.ulstu.configuration.Constants; @@ -18,12 +17,12 @@ public class UserUtils { return RandomStringUtils.randomNumeric(DEF_COUNT); } - public static String getCurrentUserLogin() { - final SecurityContext securityContext = SecurityContextHolder.getContext(); + public static String getCurrentUserLogin(SecurityContext securityContext) { if (securityContext == null) { return null; } final Authentication authentication = securityContext.getAuthentication(); + if (authentication.getPrincipal() instanceof UserDetails) { final UserDetails springSecurityUser = (UserDetails) authentication.getPrincipal(); return springSecurityUser.getUsername(); diff --git a/src/main/java/ru/ulstu/utils/timetable/TimetableService.java b/src/main/java/ru/ulstu/utils/timetable/TimetableService.java index 78a1c66..b2a7874 100644 --- a/src/main/java/ru/ulstu/utils/timetable/TimetableService.java +++ b/src/main/java/ru/ulstu/utils/timetable/TimetableService.java @@ -16,9 +16,9 @@ import java.util.List; public class TimetableService { private static final String TIMETABLE_URL = "http://timetable.athene.tech/api/1.0/timetable?filter=%s"; - private SimpleDateFormat lessonTimeFormat = new SimpleDateFormat("hh:mm"); + private final SimpleDateFormat lessonTimeFormat = new SimpleDateFormat("hh:mm"); - private long[] lessonsStarts = new long[]{ + private final long[] lessonsStarts = new long[]{ lessonTimeFormat.parse("8:00:00").getTime(), lessonTimeFormat.parse("9:40:00").getTime(), lessonTimeFormat.parse("11:30:00").getTime(), diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7b30ec0..1949a5b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,12 +2,11 @@ spring.main.banner-mode=off server.port=8443 server.http.port=8080 -spring.http.multipart.maxFileSize=20MB -spring.http.multipart.maxRequestSize=20MB +multipart.maxFileSize=20MB +multipart.maxRequestSize=20MB # Thymeleaf Settings spring.thymeleaf.cache=false # SSL Settings -security.require-ssl=true server.ssl.key-store=classpath:sample.jks server.ssl.key-store-password=secret server.ssl.key-password=password @@ -27,13 +26,12 @@ spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFact spring.datasource.url=jdbc:postgresql://localhost:5432/ng-tracker spring.datasource.username=postgres spring.datasource.password=postgres -spring.datasource.driverclassName=org.postgresql.Driver spring.jpa.hibernate.ddl-auto=validate +spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false # Liquibase Settings -liquibase.drop-first=false -liquibase.enabled=true -liquibase.change-log=classpath:db/changelog-master.xml - +spring.liquibase.change-log=classpath:db/changelog-master.xml +spring.liquibase.drop-first=false +spring.liquibase.enabled=true # Application Settings ng-tracker.base-url=http://127.0.0.1:8080 ng-tracker.undead-user-login=admin diff --git a/src/main/resources/db/changelog-master.xml b/src/main/resources/db/changelog-master.xml index afcf8c9..39d79cb 100644 --- a/src/main/resources/db/changelog-master.xml +++ b/src/main/resources/db/changelog-master.xml @@ -33,6 +33,7 @@ + diff --git a/src/main/resources/db/common/changelog-20190423_100000-schema.xml b/src/main/resources/db/common/changelog-20190423_100000-schema.xml new file mode 100644 index 0000000..602014e --- /dev/null +++ b/src/main/resources/db/common/changelog-20190423_100000-schema.xml @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mail_templates/userInviteEmail.html b/src/main/resources/mail_templates/userInviteEmail.html index 98fe85f..bb0ba38 100644 --- a/src/main/resources/mail_templates/userInviteEmail.html +++ b/src/main/resources/mail_templates/userInviteEmail.html @@ -7,9 +7,9 @@

- Аккаунт в системе NG-Tracker был создан.
- Данные для входа:
- Логин -
+ Аккаунт в системе NG-Tracker был создан.
+ Данные для входа:
+ Логин -
Пароль -

diff --git a/src/main/resources/public/css/agency.css b/src/main/resources/public/css/agency.css index 82a36d2..a846fa8 100644 --- a/src/main/resources/public/css/agency.css +++ b/src/main/resources/public/css/agency.css @@ -365,7 +365,7 @@ header.masthead .intro-text .intro-heading { } .portfolio-modal { - padding-right: 0px !important; + padding-right: 0 !important; } .portfolio-modal .modal-dialog { diff --git a/src/main/resources/public/css/base.css b/src/main/resources/public/css/base.css index 0c69e7c..59da321 100644 --- a/src/main/resources/public/css/base.css +++ b/src/main/resources/public/css/base.css @@ -1,3 +1,3 @@ .loader { - padding-left:50% + padding-left: 50% } \ No newline at end of file diff --git a/src/main/resources/public/css/conference.css b/src/main/resources/public/css/conference.css index 60a866d..3b23ba0 100644 --- a/src/main/resources/public/css/conference.css +++ b/src/main/resources/public/css/conference.css @@ -23,11 +23,12 @@ body { text-decoration: none; margin: 0; } + .conference-row .d-flex .text-decoration:nth-child(1) { margin-left: 5px; } -.conference-row .d-flex .text-decoration span.h6.float-left.m-2 { +.conference-row .d-flex .text-decoration span.h6.float-left.m-2 { max-width: 470px; white-space: nowrap; overflow: hidden; @@ -44,7 +45,6 @@ body { } - .conference-row .d-flex { margin: 0 15px; } @@ -57,7 +57,7 @@ body { .deadline-list { height: 200px; - padding: 0px; + padding: 0; overflow-y: scroll; } @@ -73,7 +73,7 @@ body { .member-list { height: 200px; - padding: 0px; + padding: 0; overflow-y: scroll; } @@ -82,6 +82,7 @@ body { height: 40px; max-height: 40px; } + .member select { appearance: none; -moz-appearance: none; @@ -134,7 +135,7 @@ body { .paper-list { height: 200px; - padding: 0px; + padding: 0; overflow-y: scroll; } @@ -159,7 +160,7 @@ body { } .paper-name span:nth-child(1) { - margin: 3px 0px 3px 10px; + margin: 3px 0 3px 10px; float: left; } @@ -234,7 +235,7 @@ body { background-color: #ff9973; } -@media (max-width: 1199px) and (min-width: 768px){ +@media (max-width: 1199px) and (min-width: 768px) { .paper-control { display: block!important; } diff --git a/src/main/resources/public/css/grant.css b/src/main/resources/public/css/grant.css index 2e6349d..d80377d 100644 --- a/src/main/resources/public/css/grant.css +++ b/src/main/resources/public/css/grant.css @@ -1,12 +1,12 @@ .div-deadline-date { - padding-right: 0px; + padding-right: 0; } -.form-deadline-date{ +.form-deadline-date { padding-right: 3px; } -.div-deadline-description{ +.div-deadline-description { padding-left: 5px; padding-right: 5px; } @@ -16,7 +16,7 @@ } .div-selected-papers { - border: 0px; + border: 0; padding-left: 12px; } @@ -30,7 +30,7 @@ color: black; } -.div-file-name{ +.div-file-name { padding-top: 6px; } diff --git a/src/main/resources/public/css/odin.css b/src/main/resources/public/css/odin.css index 2bfeb75..0c2b7c4 100644 --- a/src/main/resources/public/css/odin.css +++ b/src/main/resources/public/css/odin.css @@ -52,8 +52,7 @@ Odin Paginator */ .odin-paginator { - margin: 0; - margin-top: 5px; + margin: 5px 0 0; text-align: center; } diff --git a/src/main/resources/public/css/tasks.css b/src/main/resources/public/css/tasks.css index 936dd84..6098550 100644 --- a/src/main/resources/public/css/tasks.css +++ b/src/main/resources/public/css/tasks.css @@ -13,18 +13,18 @@ cursor: text; } -.filter .bootstrap-select{ +.filter .bootstrap-select { margin-bottom: 10px; } -.filter-option-inner-inner{ +.filter-option-inner-inner { font-size: 12px; text-transform: uppercase; font-weight: normal; line-height: 25px; } -.sorting .bootstrap-select{ +.sorting .bootstrap-select { margin-bottom: 10px; } @@ -38,53 +38,54 @@ width: auto; max-width: inherit; } -.tag-info{ - font-size: 10px; - color: white; - padding: 5px 15px; - background-color: black; - display: none; - margin-left: 5px; - border-radius: 5px; - opacity: 0.8; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + +.tag-info { + font-size: 10px; + color: white; + padding: 5px 15px; + background-color: black; + display: none; + margin-left: 5px; + border-radius: 5px; + opacity: 0.8; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; } -.fa-question-circle{ +.fa-question-circle { font-size: 15px; color: #212529; - cursor:pointer; + cursor: pointer; } -.fa-question-circle:hover .tag-info{ - display:inline-block; +.fa-question-circle:hover .tag-info { + display: inline-block; } -.task-row{ +.task-row { position: relative; } -.task-row .col:hover{ +.task-row .col:hover { background-color: #f8f9fa; } -.task-row .col > a{ +.task-row .col > a { display: block; text-decoration: none; } -.task-row .col:hover .remove-task{ +.task-row .col:hover .remove-task { visibility: visible; } -.remove-task{ +.remove-task { visibility: hidden; position: absolute; right: -20px; @@ -93,7 +94,7 @@ padding: 0 20px; } -.remove-task:hover{ +.remove-task:hover { background-color: #ebebeb; } @@ -106,10 +107,10 @@ margin-right: 4px; margin-bottom: 4px; - font-size: 75%; - font-weight: 700; - line-height: 1.5; - color: #fff; + font-size: 75%; + font-weight: 700; + line-height: 1.5; + color: #fff; } .tag-name span[data-role="remove"] { @@ -119,7 +120,7 @@ .tag-name span[data-role="remove"]:after { content: "x"; - padding: 0px 2px; + padding: 0 2px; } .tag-name input[type="text"] { diff --git a/src/main/resources/public/js/conference.js b/src/main/resources/public/js/conference.js index 8273557..37c7403 100644 --- a/src/main/resources/public/js/conference.js +++ b/src/main/resources/public/js/conference.js @@ -1,5 +1,5 @@ $(document).ready(function () { - $('input[data-confirm]').click(function(ev) { + $('input[data-confirm]').click(function (ev) { var value = $(this).attr('value'); if (!$('#dataConfirmModal').length) { $('#modalDelete').append('

\n' + ' \n' + @@ -22,7 +22,7 @@ $(document).ready(function () { } $('#dataConfirmModal').find('#myModalLabel').text($(this).attr('data-confirm')); $('#deleteConference').attr('value', value); - $('#dataConfirmModal').modal({show:true}); + $('#dataConfirmModal').modal({show: true}); return false; }); diff --git a/src/main/resources/public/js/core.js b/src/main/resources/public/js/core.js index d4eba0d..7f54023 100644 --- a/src/main/resources/public/js/core.js +++ b/src/main/resources/public/js/core.js @@ -89,11 +89,6 @@ function getFromRest(url, callBack, errorCallBack) { }); } -/* exported getFromRestWithVersion */ -function getFromRest(url, callBack, errorCallBack) { - getFromRestWithParams(url, "", callBack, errorCallBack); -} - /* exported getFromRestWithVersionAndParams */ function getFromRestWithParams(url, params, callBack, errorCallBack) { $.ajax({ @@ -230,13 +225,13 @@ function sendPing(field, url) { id = document.getElementById(field).value $.ajax({ - url:url + `?${field}=` + id, + url: url + `?${field}=` + id, contentType: "application/json; charset=utf-8", method: "POST", - success: function() { + success: function () { showFeedbackMessage("Ping был отправлен", MessageTypesEnum.SUCCESS) }, - error: function(errorData) { + error: function (errorData) { showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) } }) diff --git a/src/main/resources/public/js/projects.js b/src/main/resources/public/js/projects.js index 5867c50..114beb4 100644 --- a/src/main/resources/public/js/projects.js +++ b/src/main/resources/public/js/projects.js @@ -12,7 +12,7 @@ $(document).ready(function () { $(projectRow).find(".remove-paper").addClass("d-none"); }); - $('a[data-confirm]').click(function(ev) { + $('a[data-confirm]').click(function (ev) { var href = $(this).attr('href'); if (!$('#dataConfirmModal').length) { $('#modalDelete').append('\n' + ' \n' + @@ -35,7 +35,7 @@ $(document).ready(function () { } $('#dataConfirmModal').find('#myModalLabel').text($(this).attr('data-confirm')); $('#dataConfirmOK').attr('href', href); - $('#dataConfirmModal').modal({show:true}); + $('#dataConfirmModal').modal({show: true}); return false; }); }); diff --git a/src/main/resources/public/js/tasks.js b/src/main/resources/public/js/tasks.js index f1cf868..ebff7e2 100644 --- a/src/main/resources/public/js/tasks.js +++ b/src/main/resources/public/js/tasks.js @@ -1,45 +1,45 @@ /* 0) { + if (tagNumber > 0) { tagNumber = $("#tags .tag").last() - .children('input') - .attr("name") - .split(']')[0] - .split('[')[1]; + .children('input') + .attr("name") + .split(']')[0] + .split('[')[1]; tagNumber++; } var tagName = $.trim($(this).val()); var addTag = true; // проверка, добавлен ли этот тег - $("#tags .tag .tag-name input[type=text]").each(function() { - if(tagName === $(this).val()) { - addTag = false; - return; - } - }); + $("#tags .tag .tag-name input[type=text]").each(function () { + if (tagName === $(this).val()) { + addTag = false; + return; + } + }); // если тег не добавлен - if(addTag) { + if (addTag) { // контейнер тега var newTagRow = $("
") .attr("id", 'tags' + tagNumber) diff --git a/src/main/resources/public/js/users.js b/src/main/resources/public/js/users.js index 0f8d1c0..15380c3 100644 --- a/src/main/resources/public/js/users.js +++ b/src/main/resources/public/js/users.js @@ -14,7 +14,7 @@ function changePassword() { } $.ajax({ - url:"/api/1.0/users/changePassword", + url: "/api/1.0/users/changePassword", contentType: "application/json; charset=utf-8", data: JSON.stringify({ "oldPassword": oldPassword, @@ -22,12 +22,12 @@ function changePassword() { "confirmPassword": confirmPassword, }), method: "POST", - success: function() { + success: function () { $("#closeModalPassword").click(); - showFeedbackMessage("Пароль был обновлен", MessageTypesEnum.SUCCESS) + showFeedbackMessage("Пароль был обновлен", MessageTypesEnum.SUCCESS) }, - error: function(errorData) { + error: function (errorData) { showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) } }) @@ -41,14 +41,14 @@ function inviteUser() { } $.ajax({ - url:"/api/1.0/users/invite?email=" + email, + url: "/api/1.0/users/invite?email=" + email, contentType: "application/json; charset=utf-8", method: "POST", - success: function() { + success: function () { $("#closeModalInvite").click(); showFeedbackMessage("Пользователь был успешно приглашен", MessageTypesEnum.SUCCESS) }, - error: function(errorData) { + error: function (errorData) { showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) } }) @@ -64,10 +64,10 @@ function requestResetPassword() { $("#dvloader").show(); $.ajax({ - url:"/api/1.0/users/password-reset-request?email=" + email, + url: "/api/1.0/users/password-reset-request?email=" + email, contentType: "application/json; charset=utf-8", method: "POST", - success: function() { + success: function () { showFeedbackMessage("Проверочный код был отправлен на указанный почтовый ящик", MessageTypesEnum.SUCCESS) $("#passwordNew").show() $("#passwordConfirm").show() @@ -78,7 +78,7 @@ function requestResetPassword() { $("#dvloader").hide() }, - error: function(errorData) { + error: function (errorData) { showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) $("#dvloader").hide() } @@ -102,7 +102,7 @@ function resetPassword() { } $.ajax({ - url:"/api/1.0/users/password-reset", + url: "/api/1.0/users/password-reset", contentType: "application/json; charset=utf-8", method: "POST", data: JSON.stringify({ @@ -110,11 +110,11 @@ function resetPassword() { "passwordConfirm": passwordConfirm, "resetKey": resetKey, }), - success: function() { + success: function () { showFeedbackMessage("Пользователь был успешно приглашен", MessageTypesEnum.SUCCESS) window.location.href = "/login" }, - error: function(errorData) { + error: function (errorData) { showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) } }) @@ -123,13 +123,13 @@ function resetPassword() { function blockUser() { userId = $('#userId').val(); $.ajax({ - url:"/api/1.0/users/block?userId=" + userId, + url: "/api/1.0/users/block?userId=" + userId, contentType: "application/json; charset=utf-8", method: "POST", - success: function() { + success: function () { showFeedbackMessage("Пользователь заблокирован", MessageTypesEnum.SUCCESS) }, - error: function(errorData) { + error: function (errorData) { showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) } }) @@ -144,30 +144,30 @@ function drawChart() { userId = $('#author :selected').val() activity = $('#activity :selected').val() $.ajax({ - url:`/api/1.0/users/activities/pings?userId=${userId}&activity=${activity}`, - contentType: "application/json; charset=utf-8", - method: "GET", - success: function(response) { - if (response.data.length == 0) { - return; - } - array = [['Активности', 'Количество']] - - Object.keys(response.data).forEach(function(key) { - console.table('Key : ' + key + ', Value : ' + response.data[key]) - array.push([key, response.data[key]]) - }) - var data = google.visualization.arrayToDataTable(array); - var options = { - title: 'Активности', - is3D: true, - pieResidueSliceLabel: 'Остальное' - }; - var chart = new google.visualization.PieChart(document.getElementById('air')); - chart.draw(data, options); - }, - error: function(errorData) { - showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) + url: `/api/1.0/users/activities/pings?userId=${userId}&activity=${activity}`, + contentType: "application/json; charset=utf-8", + method: "GET", + success: function (response) { + if (response.data.length == 0) { + return; } - }) + array = [['Активности', 'Количество']] + + Object.keys(response.data).forEach(function (key) { + console.table('Key : ' + key + ', Value : ' + response.data[key]) + array.push([key, response.data[key]]) + }) + var data = google.visualization.arrayToDataTable(array); + var options = { + title: 'Активности', + is3D: true, + pieResidueSliceLabel: 'Остальное' + }; + var chart = new google.visualization.PieChart(document.getElementById('air')); + chart.draw(data, options); + }, + error: function (errorData) { + showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) + } + }) } \ No newline at end of file diff --git a/src/main/resources/public/templates/odin.html b/src/main/resources/public/templates/odin.html index 1f9f9d9..ec4e36e 100644 --- a/src/main/resources/public/templates/odin.html +++ b/src/main/resources/public/templates/odin.html @@ -126,7 +126,7 @@
- - + + + + + +
+
+
+
+ +
+
+
+
+ + + + \ No newline at end of file diff --git a/src/main/resources/templates/admin/userList.html b/src/main/resources/templates/admin/userList.html index b47f720..911601f 100644 --- a/src/main/resources/templates/admin/userList.html +++ b/src/main/resources/templates/admin/userList.html @@ -2,7 +2,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/admin/userSessions.html b/src/main/resources/templates/admin/userSessions.html index 2c3405a..12d3a61 100644 --- a/src/main/resources/templates/admin/userSessions.html +++ b/src/main/resources/templates/admin/userSessions.html @@ -2,7 +2,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/conferences/conference.html b/src/main/resources/templates/conferences/conference.html index 106f014..9a0e6b0 100644 --- a/src/main/resources/templates/conferences/conference.html +++ b/src/main/resources/templates/conferences/conference.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}" xmlns:th=""> diff --git a/src/main/resources/templates/conferences/conferences.html b/src/main/resources/templates/conferences/conferences.html index 1c2d64e..3204bf0 100644 --- a/src/main/resources/templates/conferences/conferences.html +++ b/src/main/resources/templates/conferences/conferences.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}" xmlns:th=""> diff --git a/src/main/resources/templates/conferences/dashboard.html b/src/main/resources/templates/conferences/dashboard.html index e8cfa49..5e3e97f 100644 --- a/src/main/resources/templates/conferences/dashboard.html +++ b/src/main/resources/templates/conferences/dashboard.html @@ -46,101 +46,102 @@ diff --git a/src/main/resources/templates/default.html b/src/main/resources/templates/default.html index d3c49dd..daf359a 100644 --- a/src/main/resources/templates/default.html +++ b/src/main/resources/templates/default.html @@ -70,7 +70,8 @@ Личный кабинет Выход Пригласить - Сменить пароль + Сменить + пароль @@ -120,7 +121,6 @@ /*]]>*/ - diff --git a/src/main/resources/templates/error/403.html b/src/main/resources/templates/error/403.html index d850fa9..a80b444 100644 --- a/src/main/resources/templates/error/403.html +++ b/src/main/resources/templates/error/403.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/error/404.html b/src/main/resources/templates/error/404.html index 7233d72..8f1d80b 100644 --- a/src/main/resources/templates/error/404.html +++ b/src/main/resources/templates/error/404.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/error/500.html b/src/main/resources/templates/error/500.html index d42e7b4..f89b83a 100644 --- a/src/main/resources/templates/error/500.html +++ b/src/main/resources/templates/error/500.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/grants/dashboard.html b/src/main/resources/templates/grants/dashboard.html index 821ccd4..4ce7b44 100644 --- a/src/main/resources/templates/grants/dashboard.html +++ b/src/main/resources/templates/grants/dashboard.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}" xmlns:th="http://www.w3.org/1999/xhtml"> diff --git a/src/main/resources/templates/grants/grant.html b/src/main/resources/templates/grants/grant.html index 638cbd3..ad19553 100644 --- a/src/main/resources/templates/grants/grant.html +++ b/src/main/resources/templates/grants/grant.html @@ -1,8 +1,11 @@ - + layout:decorate="~{default}" xmlns:th="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/html"> + + + +
diff --git a/src/main/resources/templates/grants/grants.html b/src/main/resources/templates/grants/grants.html index d98f6d8..bc31ccf 100644 --- a/src/main/resources/templates/grants/grants.html +++ b/src/main/resources/templates/grants/grants.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}" xmlns:th=""> diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index f821549..63dd5b4 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/load.html b/src/main/resources/templates/load.html index 70c6314..dbd991a 100644 --- a/src/main/resources/templates/load.html +++ b/src/main/resources/templates/load.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 9d87073..48e325e 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}" xmlns:th="http://www.w3.org/1999/xhtml"> diff --git a/src/main/resources/templates/papers/dashboard.html b/src/main/resources/templates/papers/dashboard.html index 5265e0b..d02f1be 100644 --- a/src/main/resources/templates/papers/dashboard.html +++ b/src/main/resources/templates/papers/dashboard.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}" xmlns:th="http://www.w3.org/1999/xhtml"> diff --git a/src/main/resources/templates/papers/fragments/paperStatusFragment.html b/src/main/resources/templates/papers/fragments/paperStatusFragment.html index 9ada9b7..2505bdf 100644 --- a/src/main/resources/templates/papers/fragments/paperStatusFragment.html +++ b/src/main/resources/templates/papers/fragments/paperStatusFragment.html @@ -4,28 +4,36 @@ - +
- +
- +
- +
- +
- +
- +
- +
+ layout:decorate="~{default}" xmlns:th="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/html"> diff --git a/src/main/resources/templates/papers/papers.html b/src/main/resources/templates/papers/papers.html index 5efd860..f4eb06b 100644 --- a/src/main/resources/templates/papers/papers.html +++ b/src/main/resources/templates/papers/papers.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}" xmlns:th=""> diff --git a/src/main/resources/templates/projects/project.html b/src/main/resources/templates/projects/project.html index 49ce843..b8999a5 100644 --- a/src/main/resources/templates/projects/project.html +++ b/src/main/resources/templates/projects/project.html @@ -185,13 +185,13 @@ id = document.getElementById("projectId").value $.ajax({ - url:"/projects/ping?projectId=" + id, + url: "/projects/ping?projectId=" + id, contentType: "application/json; charset=utf-8", method: "POST", - success: function() { + success: function () { showFeedbackMessage("Ping был отправлен", MessageTypesEnum.SUCCESS) }, - error: function(errorData) { + error: function (errorData) { showFeedbackMessage(errorData.responseJSON.error.message, MessageTypesEnum.WARNING) } }) diff --git a/src/main/resources/templates/reset.html b/src/main/resources/templates/reset.html index 232e260..c2dd78f 100644 --- a/src/main/resources/templates/reset.html +++ b/src/main/resources/templates/reset.html @@ -2,7 +2,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/resetRequest.html b/src/main/resources/templates/resetRequest.html index 9fe7a97..d340151 100644 --- a/src/main/resources/templates/resetRequest.html +++ b/src/main/resources/templates/resetRequest.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/timeline.html b/src/main/resources/templates/timeline.html index 5eda9f3..0fdaddd 100644 --- a/src/main/resources/templates/timeline.html +++ b/src/main/resources/templates/timeline.html @@ -1,7 +1,7 @@ + layout:decorate="~{default}"> diff --git a/src/main/resources/templates/users/dashboard.html b/src/main/resources/templates/users/dashboard.html index 328db93..3e3f13c 100644 --- a/src/main/resources/templates/users/dashboard.html +++ b/src/main/resources/templates/users/dashboard.html @@ -26,7 +26,7 @@ /**/ diff --git a/src/main/resources/templates/users/pings.html b/src/main/resources/templates/users/pings.html index c0ed722..1e9f6c2 100644 --- a/src/main/resources/templates/users/pings.html +++ b/src/main/resources/templates/users/pings.html @@ -8,7 +8,7 @@ diff --git a/src/main/resources/templates/users/profile.html b/src/main/resources/templates/users/profile.html index 93adfc7..f59587d 100644 --- a/src/main/resources/templates/users/profile.html +++ b/src/main/resources/templates/users/profile.html @@ -1,7 +1,7 @@ + layout:decorator="default" xmlns:th="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/html"> diff --git a/src/test/java/PaperTest.java b/src/test/java/PaperTest.java index a08a1d8..081f01f 100644 --- a/src/test/java/PaperTest.java +++ b/src/test/java/PaperTest.java @@ -68,7 +68,7 @@ public class PaperTest extends TestTemplate { getContext().goTo(applicationProperties.getBaseUrl() + getPaperPageUrl()); PaperPage paperPage = getPaperPage(); - String testTitle = "test " + (String.valueOf(System.currentTimeMillis())); + String testTitle = "test " + System.currentTimeMillis(); fillRequiredFields(paperPage, testTitle); paperPage.clickSaveBtn(); @@ -85,7 +85,7 @@ public class PaperTest extends TestTemplate { papersPage.clickFirstPaper(); PaperPage paperPage = getPaperPage(); - String testTitle = "test " + (String.valueOf(System.currentTimeMillis())); + String testTitle = "test " + System.currentTimeMillis(); paperPage.setTitle(testTitle); paperPage.clickSaveBtn(); @@ -95,7 +95,7 @@ public class PaperTest extends TestTemplate { private void createNewPaper() { getContext().goTo(applicationProperties.getBaseUrl() + getPaperPageUrl()); PaperPage paperPage = getPaperPage(); - String testTitle = "test " + (String.valueOf(System.currentTimeMillis())); + String testTitle = "test " + System.currentTimeMillis(); fillRequiredFields(paperPage, testTitle); paperPage.clickSaveBtn(); } @@ -128,7 +128,7 @@ public class PaperTest extends TestTemplate { getContext().goTo(applicationProperties.getBaseUrl() + getPaperPageUrl()); PaperPage paperPage = getPaperPage(); - String testTitle = "test " + (String.valueOf(System.currentTimeMillis())); + String testTitle = "test " + System.currentTimeMillis(); paperPage.setTitle(testTitle); paperPage.clickSaveBtn(); @@ -152,7 +152,7 @@ public class PaperTest extends TestTemplate { papersPage.clickFirstPaper(); PaperPage paperPage = getPaperPage(); - fillRequiredFields(paperPage, "test " + (String.valueOf(System.currentTimeMillis()))); + fillRequiredFields(paperPage, "test " + System.currentTimeMillis()); paperPage.clickReferenceTab(); paperPage.clickAddReferenceButton(); @@ -197,7 +197,7 @@ public class PaperTest extends TestTemplate { getContext().goTo(applicationProperties.getBaseUrl() + getPaperPageUrl()); PaperPage paperPage = getPaperPage(); - fillRequiredFields(paperPage, "test " + (String.valueOf(System.currentTimeMillis()))); + fillRequiredFields(paperPage, "test " + System.currentTimeMillis()); String testLink = "http://test.com/"; paperPage.setUrl(testLink); paperPage.clickSaveBtn(); diff --git a/src/test/java/conference/ConferencePage.java b/src/test/java/conference/ConferencePage.java index ef0d941..4717217 100644 --- a/src/test/java/conference/ConferencePage.java +++ b/src/test/java/conference/ConferencePage.java @@ -36,7 +36,7 @@ public class ConferencePage extends PageObject { driver.findElement(By.id("addDeadline")).click(); } - public List getDeadlineList() { + private List getDeadlineList() { return driver.findElements(By.className("deadline")); } diff --git a/src/test/java/context/Context.java b/src/test/java/context/Context.java index 474b1cb..a1c5d1c 100644 --- a/src/test/java/context/Context.java +++ b/src/test/java/context/Context.java @@ -9,9 +9,9 @@ import java.util.concurrent.TimeUnit; public abstract class Context { private final static String DRIVER_LOCATION = "drivers/%s"; - protected WebDriver driver; + WebDriver driver; - protected WebDriver getDriver() { + private WebDriver getDriver() { if (driver != null) { return driver; } @@ -40,8 +40,8 @@ public abstract class Context { return getDriver().getTitle(); } - public T initPage(T pageObject) { - return (T) pageObject.setDriver(getDriver()); + public PageObject initPage(T pageObject) { + return pageObject.setDriver(getDriver()); } protected abstract void createDriver(); diff --git a/src/test/java/core/TestTemplate.java b/src/test/java/core/TestTemplate.java index a72a8c9..44a61fb 100644 --- a/src/test/java/core/TestTemplate.java +++ b/src/test/java/core/TestTemplate.java @@ -9,7 +9,7 @@ import org.openqa.selenium.Dimension; public abstract class TestTemplate { private static Context context; - public static Context getContext() { + protected static Context getContext() { return context; } diff --git a/src/test/java/grant/GrantPage.java b/src/test/java/grant/GrantPage.java index 75fbf8a..363a195 100644 --- a/src/test/java/grant/GrantPage.java +++ b/src/test/java/grant/GrantPage.java @@ -81,7 +81,7 @@ public class GrantPage extends PageObject { return select.getAllSelectedOptions(); } - public List getDeadlineList() { + private List getDeadlineList() { return driver.findElements(By.id("deadlines")); } diff --git a/src/test/java/project/ProjectPage.java b/src/test/java/project/ProjectPage.java index 1bbad67..9953177 100644 --- a/src/test/java/project/ProjectPage.java +++ b/src/test/java/project/ProjectPage.java @@ -53,7 +53,7 @@ public class ProjectPage extends PageObject { getFirstStatus(); } - public void getFirstStatus() { + private void getFirstStatus() { driver.findElement(By.xpath("//*[@id=\"status\"]/option[1]")).click(); } @@ -65,7 +65,7 @@ public class ProjectPage extends PageObject { driver.findElement(By.id("repository")).sendKeys(link); } - public List getDeadlineList() { + private List getDeadlineList() { return driver.findElements(By.className("deadline")); } @@ -78,7 +78,7 @@ public class ProjectPage extends PageObject { getFirstExecutor(); } - public void getFirstExecutor() { + private void getFirstExecutor() { driver.findElement(By.xpath("//*[@id=\"status\"]/option[1]")).click(); } diff --git a/src/test/java/project/ProjectsPage.java b/src/test/java/project/ProjectsPage.java index 64c50b7..123bc50 100644 --- a/src/test/java/project/ProjectsPage.java +++ b/src/test/java/project/ProjectsPage.java @@ -12,7 +12,7 @@ public class ProjectsPage extends PageObject { return driver.findElement(By.tagName("h2")).getText(); } - public List getProjectsList() { + private List getProjectsList() { return driver.findElements(By.cssSelector("span.h6")); } diff --git a/src/test/java/ru/ulstu/conference/service/ConferenceServiceTest.java b/src/test/java/ru/ulstu/conference/service/ConferenceServiceTest.java index 686211e..56756a3 100644 --- a/src/test/java/ru/ulstu/conference/service/ConferenceServiceTest.java +++ b/src/test/java/ru/ulstu/conference/service/ConferenceServiceTest.java @@ -5,8 +5,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.domain.Sort; +import org.springframework.test.context.junit4.SpringRunner; import ru.ulstu.conference.model.Conference; import ru.ulstu.conference.model.ConferenceDto; import ru.ulstu.conference.model.ConferenceFilterDto; @@ -16,7 +16,6 @@ import ru.ulstu.deadline.model.Deadline; import ru.ulstu.deadline.service.DeadlineService; import ru.ulstu.paper.model.Paper; import ru.ulstu.paper.service.PaperService; -import ru.ulstu.ping.model.Ping; import ru.ulstu.ping.service.PingService; import ru.ulstu.timeline.service.EventService; import ru.ulstu.user.model.User; @@ -32,7 +31,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@RunWith(SpringRunner.class) public class ConferenceServiceTest { @Mock @@ -125,7 +124,7 @@ public class ConferenceServiceTest { @Test public void getExistConferenceById() { - when(conferenceRepository.findOne(ID)).thenReturn(conferenceWithId); + when(conferenceRepository.getOne(ID)).thenReturn(conferenceWithId); when(paperService.findAllNotSelect(new ArrayList<>())).thenReturn(papers); when(userService.getCurrentUser()).thenReturn(user); @@ -186,8 +185,8 @@ public class ConferenceServiceTest { @Test public void delete() { - when(conferenceRepository.exists(ID)).thenReturn(true); - when(conferenceRepository.findOne(ID)).thenReturn(conferenceWithId); + when(conferenceRepository.existsById(ID)).thenReturn(true); + when(conferenceRepository.getOne(ID)).thenReturn(conferenceWithId); assertTrue(conferenceService.delete(ID)); } diff --git a/src/test/java/ru/ulstu/grant/service/GrantServiceTest.java b/src/test/java/ru/ulstu/grant/service/GrantServiceTest.java index 99d7ef6..c8df288 100644 --- a/src/test/java/ru/ulstu/grant/service/GrantServiceTest.java +++ b/src/test/java/ru/ulstu/grant/service/GrantServiceTest.java @@ -7,7 +7,7 @@ import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.springframework.test.context.junit4.SpringRunner; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.deadline.service.DeadlineService; import ru.ulstu.grant.model.Grant; @@ -34,7 +34,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@RunWith(SpringRunner.class) public class GrantServiceTest { @Mock @@ -67,25 +67,18 @@ public class GrantServiceTest { private final static Integer MAX_DISPLAY_SIZE = 50; private List grants; - private List grantDtos; private List deadlines; - private List papers; - private PaperDto paperDto; private List paperDtos; - private Set authors; private GrantDto grantDto; private Deadline deadline; private User leader; - private User author; private Grant grantWithId; - private Paper paperWithId; @Before public void setUp() throws Exception { grants = new ArrayList<>(); - grantDtos = new ArrayList<>(); paperDtos = new ArrayList<>(); grantWithId = new Grant(); @@ -96,16 +89,16 @@ public class GrantServiceTest { leader = Mockito.mock(User.class); - papers = new ArrayList<>(); - paperWithId = new Paper(); + List papers = new ArrayList<>(); + Paper paperWithId = new Paper(); paperWithId.setId(ID); paperWithId.setTitle(TITLE); papers.add(paperWithId); - paperDto = new PaperDto(paperWithId); + PaperDto paperDto = new PaperDto(paperWithId); paperDtos.add(paperDto); - authors = new HashSet<>(); - author = leader; + Set authors = new HashSet<>(); + User author = leader; authors.add(author); grantWithId.setId(ID); @@ -118,12 +111,11 @@ public class GrantServiceTest { grants.add(grantWithId); grantDto = new GrantDto(grantWithId); - grantDtos.add(grantDto); } @Test public void getExistGrantById() { - when(grantRepository.findOne(ID)).thenReturn(grantWithId); + when(grantRepository.getOne(ID)).thenReturn(grantWithId); GrantDto newGrantDto = new GrantDto(grantWithId); GrantDto result = grantService.getExistGrantById(ID); @@ -179,7 +171,7 @@ public class GrantServiceTest { @Test public void delete() throws IOException { - when(grantRepository.findOne(ID)).thenReturn(grantWithId); + when(grantRepository.getOne(ID)).thenReturn(grantWithId); assertTrue(grantService.delete(grantWithId.getId())); } @@ -195,7 +187,7 @@ public class GrantServiceTest { @Test public void findById() { - when(grantRepository.findOne(ID)).thenReturn(grantWithId); + when(grantRepository.getOne(ID)).thenReturn(grantWithId); Grant findGrant = grantService.findById(ID); assertEquals(grantWithId.getId(), findGrant.getId()); @@ -203,7 +195,7 @@ public class GrantServiceTest { @Test public void attachPaper() { - when(grantRepository.findOne(ID)).thenReturn(grantWithId); + when(grantRepository.getOne(ID)).thenReturn(grantWithId); when(paperService.findAllSelect(Collections.singletonList(ID))).thenReturn(paperDtos); GrantDto newGrantDto = new GrantDto(grantWithId); @@ -219,7 +211,7 @@ public class GrantServiceTest { @Test public void filterEmptyDeadlines() { - when(grantRepository.findOne(ID)).thenReturn(grantWithId); + when(grantRepository.getOne(ID)).thenReturn(grantWithId); GrantDto newGrantDto = new GrantDto(grantWithId); newGrantDto.setDeadlines(newGrantDto.getDeadlines().stream() diff --git a/src/test/java/ru/ulstu/project/service/ProjectServiceTest.java b/src/test/java/ru/ulstu/project/service/ProjectServiceTest.java index 25a201b..f46971c 100644 --- a/src/test/java/ru/ulstu/project/service/ProjectServiceTest.java +++ b/src/test/java/ru/ulstu/project/service/ProjectServiceTest.java @@ -5,7 +5,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.springframework.test.context.junit4.SpringRunner; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.deadline.service.DeadlineService; import ru.ulstu.file.model.FileData; @@ -29,7 +29,7 @@ import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@RunWith(SpringRunner.class) public class ProjectServiceTest { @Mock @@ -67,8 +67,6 @@ public class ProjectServiceTest { private FileData file; private List files; private User user; - private GrantDto grant; - private List grants; @Before public void setUp() throws Exception { @@ -86,8 +84,8 @@ public class ProjectServiceTest { user = new User(); user.setFirstName(NAME); - grants = new ArrayList<>(); - grant = new GrantDto(); + List grants = new ArrayList<>(); + GrantDto grant = new GrantDto(); grant.setId(ID); grants.add(grant); } @@ -118,8 +116,8 @@ public class ProjectServiceTest { @Test public void delete() throws IOException { - when(projectRepository.exists(ID)).thenReturn(true); - when(projectRepository.findOne(ID)).thenReturn(project); + when(projectRepository.existsById(ID)).thenReturn(true); + when(projectRepository.getOne(ID)).thenReturn(project); assertTrue(projectService.delete(ID)); } @@ -134,7 +132,7 @@ public class ProjectServiceTest { @Test public void findById() { - when(projectRepository.findOne(ID)).thenReturn(project); + when(projectRepository.getOne(ID)).thenReturn(project); assertEquals(project, projectService.findById(ID)); } diff --git a/src/test/java/ru/ulstu/students/service/TaskServiceTest.java b/src/test/java/ru/ulstu/students/service/TaskServiceTest.java index d3db954..97b9990 100644 --- a/src/test/java/ru/ulstu/students/service/TaskServiceTest.java +++ b/src/test/java/ru/ulstu/students/service/TaskServiceTest.java @@ -5,8 +5,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.domain.Sort; +import org.springframework.test.context.junit4.SpringRunner; import ru.ulstu.core.util.DateUtils; import ru.ulstu.deadline.model.Deadline; import ru.ulstu.deadline.service.DeadlineService; @@ -32,7 +32,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; -@RunWith(MockitoJUnitRunner.class) +@RunWith(SpringRunner.class) public class TaskServiceTest { @Mock @@ -113,7 +113,6 @@ public class TaskServiceTest { @Test public void findAll() { - when(taskRepository.findAll(SORT)).thenReturn(tasks); assertEquals(Collections.singletonList(task), taskService.findAll()); } @@ -153,8 +152,8 @@ public class TaskServiceTest { @Test public void delete() throws IOException { - when(taskRepository.exists(ID)).thenReturn(true); - when(taskRepository.findOne(ID)).thenReturn(task); + when(taskRepository.existsById(ID)).thenReturn(true); + when(taskRepository.getOne(ID)).thenReturn(task); when(schedulerRepository.findOneByTask(task)).thenReturn(null); assertTrue(taskService.delete(ID)); diff --git a/src/test/java/students/TaskPage.java b/src/test/java/students/TaskPage.java index c0105b2..e6a1e0d 100644 --- a/src/test/java/students/TaskPage.java +++ b/src/test/java/students/TaskPage.java @@ -46,7 +46,7 @@ public class TaskPage extends PageObject { driver.findElement(By.cssSelector("#addDeadline")).click(); } - public List getDeadlines() { + private List getDeadlines() { return driver.findElements(By.cssSelector(".form-group:nth-of-type(5) .row")); } diff --git a/src/test/java/students/TasksPage.java b/src/test/java/students/TasksPage.java index 5c5d42c..9769cca 100644 --- a/src/test/java/students/TasksPage.java +++ b/src/test/java/students/TasksPage.java @@ -17,7 +17,7 @@ public class TasksPage extends PageObject { return driver.findElements(By.cssSelector("span.h6")); } - public List getTaskRows() { + private List getTaskRows() { return driver.findElements(By.className("task-row")); }