- Create subdir for submodule in the project dir
- Add necessary files to submodule dir
- In the submodule dir type the commands:
git init
git add .
git commit -m "Initial commit"
- Back to project dir
@Configuration | |
public class RestConfig extends RepositoryRestConfigurerAdapter { | |
@Override | |
public void configureConversionService(ConfigurableConversionService conversionService) { | |
conversionService.addConverter(new LocalDateGenericConverter()); | |
super.configureConversionService(conversionService); | |
} | |
private class LocalDateGenericConverter implements GenericConverter { | |
@Override |
@Configuration | |
public class RestConfig extends RepositoryRestConfigurerAdapter { | |
@Override | |
public void configureConversionService(ConfigurableConversionService conversionService) { | |
conversionService.addConverter(String.class, LocalDate.class, LocalDate::parse); | |
super.configureConversionService(conversionService); | |
} | |
} |
public class DateIdConverter implements BackendIdConverter { | |
@Override | |
public Serializable fromRequestId(String id, Class<?> aClass) { | |
if(supports(aClass)) { | |
return id == null ? LocalDate.now() : LocalDate.parse(id); | |
} else { | |
return id; | |
} | |
} |
// From here htps://github.com/olivergierke/repositories-deepdive/issues/1 | |
public interface SofDeleteRepo extends JpaRepository<Entity, Long> { | |
@Override | |
@Query("select e from #{#entityName} e where e.deleteFlag=false") | |
public List findAll(); | |
//Check entity in cycle bin. | |
@Query("select e from #{#entityName} e where e.deleteFlag=true") | |
public List recycleBin(); |
amazon-ecr-credential-helper
go get -u github.com/awslabs/amazon-ecr-credential-helper/ecr-login/cli/docker-credential-ecr-login
mv ~/go/bin/docker-credential-ecr-login ~/bin/
credHelpers
section to ~/.docker/config.json
file for our Amazon ECR docker repo ID:@Order(HIGHEST_PRECEDENCE) | |
@ExceptionHandler(DataIntegrityViolationException.class) | |
ResponseEntity<?> handleException(DataIntegrityViolationException ex, ServletWebRequest request) { | |
String message = NestedExceptionUtils.getMostSpecificCause(ex).getMessage(); | |
String messageCode = message.replaceFirst(".*\"(.*)\"\\s(.|\\s)*", "$1"); // replace "bla-bla\"code\"\nbla-bla" to "code" | |
var errorMessage = ApiErrorMessage.badRequest(messageProvider.getLocalizedMessage(messageCode)); | |
return super.handleExceptionInternal(ex, errorMessage, null, errorMessage.getHttpStatus(), request); | |
} |
@Autowired private ObjectMapper objectMapper; | |
@Autowired private MockMvc mockMvc; | |
@Test | |
public void create_when_all_is_correct_then_201_Created() throws Exception { | |
ResultActions result = mockMvc.perform(post(USERS) | |
.contentType(APPLICATION_JSON_UTF8) | |
.content(toJson(new UserRequest("user"))) | |
.accept(APPLICATION_JSON) |
package io.github.cepr0.demo; | |
import org.junit.Before; | |
import org.junit.Test; | |
import org.springframework.http.HttpHeaders; | |
import javax.servlet.http.HttpServletRequest; | |
import java.util.*; | |
import java.util.function.Function; | |
import java.util.stream.Collectors; |
<!-- | |
EAK Docker Compose environment | |
============================== | |
https://github.com/yidinghan/eak | |
Dockerfile example | |
================== | |
FROM openjdk:11-jre-slim | |
VOLUME /tmp | |
WORKDIR /service |