From 7fafa3397f213c9cc03439a4db3c2c8e98887abf Mon Sep 17 00:00:00 2001 From: "panagiotis.kanakakis" Date: Mon, 3 Dec 2018 13:58:24 +0000 Subject: [PATCH] Add new emails for registering/updating repository --- .../service/controllers/EmailUtilsImpl.java | 23 ++++++++- .../controllers/RepositoryApiImpl.java | 10 ++-- src/main/webapp/WEB-INF/log4j.properties | 4 +- src/test/java/unitest/SushiTest.java | 50 +++++++++---------- 4 files changed, 53 insertions(+), 34 deletions(-) diff --git a/src/main/java/eu/dnetlib/repo/manager/service/controllers/EmailUtilsImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/controllers/EmailUtilsImpl.java index c8fc9a4..fd8634a 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/controllers/EmailUtilsImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/controllers/EmailUtilsImpl.java @@ -190,7 +190,7 @@ public class EmailUtilsImpl implements EmailUtils { @Override public void sendUserRegistrationEmail(Repository repository, Authentication authentication) throws Exception{ - /*try { + try { String subject = "OpenAIRE content provider registration request started for " + repository.getDatasourceType() + "[" + repository.getEnglishName() + "]"; @@ -212,12 +212,31 @@ public class EmailUtilsImpl implements EmailUtils { } catch (Exception e) { LOGGER.error("Error while sending registration notification email to user: " + repository.getRegisteredBy(), e); throw e; - }*/ + } } @Override public void sendUserUpdateRepositoryEmail(Repository repository, Authentication authentication) throws Exception { + try { + String subject = "OpenAIRE content provider update request started for " + + repository.getDatasourceType() + "[" + repository.getEnglishName() + "]"; + String message = "Dear " + authentication.getName() + ",\n" + + "\n" + + "We received a request to update the \"" + repository.getDatasourceType() + "[" + repository.getEnglishName() + "]" + + "\n A new iteration process of the validation against the OpenAIRE guidelines compatibility has been started." + + "Please do not reply to this message\n" + + "This message has been generated automatically.\n" + + "If you have any questions, write to 'helpdesk@openaire.eu'. \n" + + "Regards,\n" + + "the OpenAIRE technical team\n"; + + this.sendMail(repository.getRegisteredBy(), subject, message, false, null); + + } catch (Exception e) { + LOGGER.error("Error while sending registration notification email to user: " + repository.getRegisteredBy(), e); + throw e; + } } private void sendMail(String email, String subject, String message, boolean sendToSpecial, List repoAdminMails) throws Exception { diff --git a/src/main/java/eu/dnetlib/repo/manager/service/controllers/RepositoryApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/controllers/RepositoryApiImpl.java index b200b01..0d28c12 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/controllers/RepositoryApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/controllers/RepositoryApiImpl.java @@ -121,7 +121,7 @@ public class RepositoryApiImpl implements RepositoryApi { restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter()); httpHeaders = new HttpHeaders(); - httpHeaders.set("Content-Type", "application/json"); + httpHeaders.set("Content-Type", "application/json;charset=UTF-8"); for (String vocName : vocabularyNames) { vocabularyMap.put(vocName, vocabularyLoader.getVocabulary(vocName, Locale.ENGLISH, Locale.ROOT)); @@ -385,19 +385,19 @@ public class RepositoryApiImpl implements RepositoryApi { @Override //@PreAuthorize("hasRole('ROLE_USER') and #repository.registeredBy == authentication.userInfo.email") - public Repository updateRepository(Repository repository,Authentication authentication) throws Exception { + public Repository updateRepository(@RequestBody Repository repository,Authentication authentication) throws Exception { UriComponents uriComponents = UriComponentsBuilder .fromHttpUrl(baseAddress + "/ds/update/") .build() .encode(); try { - String json_repository = Converter.repositoryObectToJson(repository); + String json_repository = Converter.repositoryObjectToJson(repository); LOGGER.debug("JSON to update -> " + json_repository); HttpEntity httpEntity = new HttpEntity(json_repository, httpHeaders); - ResponseEntity responseEntity = restTemplate.postForObject(uriComponents.toUri(), httpEntity, ResponseEntity.class); + ResponseEntity responseEntity = restTemplate.exchange(uriComponents.toUri(),HttpMethod.POST, httpEntity, ResponseEntity.class); if (responseEntity.getStatusCode().equals(HttpStatus.OK)) emailUtils.sendUserUpdateRepositoryEmail(repository, authentication); @@ -478,7 +478,7 @@ public class RepositoryApiImpl implements RepositoryApi { } HttpEntity httpEntity = new HttpEntity (json_repository,httpHeaders); - ResponseEntity responseEntity = restTemplate.postForObject(uriComponents.toUri(), httpEntity, ResponseEntity.class); + ResponseEntity responseEntity = restTemplate.exchange(uriComponents.toUri(),HttpMethod.POST, httpEntity, ResponseEntity.class); if(responseEntity.getStatusCode().equals(HttpStatus.OK)) emailUtils.sendUserRegistrationEmail(repository,authentication); diff --git a/src/main/webapp/WEB-INF/log4j.properties b/src/main/webapp/WEB-INF/log4j.properties index d68406a..9ee8580 100644 --- a/src/main/webapp/WEB-INF/log4j.properties +++ b/src/main/webapp/WEB-INF/log4j.properties @@ -12,7 +12,7 @@ log4j.logger.eu.dnetlib.repo.manager=DEBUG log4j.appender.R=org.apache.log4j.RollingFileAppender #log4j.appender.R.File=/var/log/dnet/repo-manager/repo-manager-gui.log -log4j.appender.R.File=/var/log/tomcat_dnet/8780/repository-service.log +#log4j.appender.R.File=/var/log/tomcat_dnet/8780/repository-service.log log4j.appender.R.MaxFileSize=10MB log4j.appender.R.MaxBackupIndex=10 log4j.appender.R.layout=org.apache.log4j.PatternLayout @@ -20,7 +20,7 @@ log4j.appender.R.layout.ConversionPattern= %d %p %t [%c] - %m%n log4j.appender.S=org.apache.log4j.RollingFileAppender #log4j.appender.S.File=/var/log/dnet/repo-manager/repo-manager-gui-spring.log -log4j.appender.S.File=/var/log/tomcat_dnet/8780/repository-service-spring.log +#log4j.appender.S.File=/var/log/tomcat_dnet/8780/repository-service-spring.log log4j.appender.S.MaxFileSize=10MB log4j.appender.S.MaxBackupIndex=10 log4j.appender.S.layout=org.apache.log4j.PatternLayout diff --git a/src/test/java/unitest/SushiTest.java b/src/test/java/unitest/SushiTest.java index 347e647..19d639a 100644 --- a/src/test/java/unitest/SushiTest.java +++ b/src/test/java/unitest/SushiTest.java @@ -1,25 +1,25 @@ -package unitest; - -import eu.dnetlib.repo.manager.service.controllers.SushiliteApi; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = "classpath:applicationContext.xml") -//@WebAppConfiguration -public class SushiTest { - - @Autowired - SushiliteApi sushiliteApi; - - - @Test - public void getReportResults(){ - System.out.println("test"); - } - -} +//package unitest; +// +//import eu.dnetlib.repo.manager.service.controllers.SushiliteApi; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.context.ContextConfiguration; +//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +//import org.springframework.test.context.web.WebAppConfiguration; +// +//@RunWith(SpringJUnit4ClassRunner.class) +//@ContextConfiguration(locations = "classpath:applicationContext.xml") +////@WebAppConfiguration +//public class SushiTest { +// +// @Autowired +// SushiliteApi sushiliteApi; +// +// +// @Test +// public void getReportResults(){ +// System.out.println("test"); +// } +// +//}