From ee8b1b79b1c616249baa9a86adf4ebb3c1c76de9 Mon Sep 17 00:00:00 2001 From: Justin Robbins Date: Wed, 18 Feb 2015 20:22:28 -0700 Subject: [PATCH] #150 select on tags is working --- .../flashcards/conversion/DtoConverter.java | 2 +- .../repository/TagRepository.java | 7 +- .../cassandra/repository/UserRepository.java | 15 +++ .../impl/DefaultTagDtoConverter.java | 25 ++-- .../impl/DefaultUserDtoConverter.java | 57 +++++++++ .../repository/domain/TagCassandraDto.java} | 5 +- .../repository/domain/UserCassandraDto.java | 110 ++++++++++++++++++ .../facade/DefaultFlashcardFacade.java | 93 +++++++++++++++ .../facade/DefaultTagRepositoryFacade.java | 36 +++--- .../facade/DefaultUserRepositoryFacade.java | 88 ++++++++++++++ .../conversion/impl/AbstractDtoConverter.java | 18 --- ...pplicationContext-repository-cassandra.xml | 13 +-- .../resources/dozer-mappings.xml | 0 .../AbstractCassandraIntegrationTest.java | 2 +- .../repository/TagRepositoryIT.java | 16 +-- .../repository/UserRepositoryIT.java | 54 +++++++++ .../domain/TagCassandraBuilder.java | 22 ++++ .../domain/UserCassandraBuilder.java | 22 ++++ .../facade/impl/DefaultTagFacadeIT.java | 4 +- .../domain/TagCassandraBuilder.java | 22 ---- .../test/resources/cql/UserRepositoryIT.cql | 3 + .../FlashCards_Repository_Commons/pom.xml | 14 +++ .../repository/FlashCardsAppRepository.java | 0 .../conversion/impl/AbstractDtoConverter.java | 0 .../repository/facade/RepositoryFacade.java | 0 .../impl/DefaultFlashcardDtoConverter.java | 2 +- .../impl/DefaultTagDtoConverter.java | 2 +- .../impl/DefaultUserDtoConverter.java | 2 +- .../AbstractCrudRepositoryFacadeImpl.java | 4 +- .../DefaultFlashcardRepositoryFacade.java | 2 +- .../DefaultFlashcardDtoConverterUT.java | 2 +- .../conversion/DefaultTagDtoConverterUT.java | 2 +- .../conversion/DefaultUserDtoConverterUT.java | 2 +- .../facade/impl/DefaultFlashcardFacadeUT.java | 2 +- .../util/dozer/DateTimeConverterUT.java | 66 ----------- FlashCards_Service/pom.xml | 5 + .../security/CustomUserDetailsService.java | 13 +-- FlashCards_WebServices/pom.xml | 29 ----- .../applicationContext-springSecurity.xml | 7 +- pom.xml | 2 + 40 files changed, 558 insertions(+), 212 deletions(-) rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/{ => cassandra}/repository/TagRepository.java (55%) create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/UserRepository.java rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/{ => cassandra}/repository/conversion/impl/DefaultTagDtoConverter.java (54%) create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/conversion/impl/DefaultUserDtoConverter.java rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/{repository/domain/TagCassandra.java => cassandra/repository/domain/TagCassandraDto.java} (76%) create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraDto.java create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultFlashcardFacade.java rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/{ => cassandra}/repository/facade/DefaultTagRepositoryFacade.java (60%) create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultUserRepositoryFacade.java delete mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/{test => main}/resources/dozer-mappings.xml (100%) rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/{ => cassandra}/repository/AbstractCassandraIntegrationTest.java (96%) rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/{ => cassandra}/repository/TagRepositoryIT.java (63%) create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/UserRepositoryIT.java create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/TagCassandraBuilder.java create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraBuilder.java rename FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/{ => cassandra}/repository/facade/impl/DefaultTagFacadeIT.java (84%) delete mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/domain/TagCassandraBuilder.java create mode 100644 FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/resources/cql/UserRepositoryIT.cql rename FlashCards_Repository/{FlashCards_Repository_Jpa_Commons => FlashCards_Repository_Commons}/src/main/java/org/robbins/flashcards/repository/FlashCardsAppRepository.java (100%) rename FlashCards_Repository/{FlashCards_Repository_Jpa_Commons => FlashCards_Repository_Commons}/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java (100%) rename FlashCards_Repository/{FlashCards_Repository_Jpa_Commons => FlashCards_Repository_Commons}/src/main/java/org/robbins/flashcards/repository/facade/RepositoryFacade.java (100%) delete mode 100644 FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/util/dozer/DateTimeConverterUT.java diff --git a/FlashCards_API/src/main/java/org/robbins/flashcards/conversion/DtoConverter.java b/FlashCards_API/src/main/java/org/robbins/flashcards/conversion/DtoConverter.java index d1014d0f9..fb08116f1 100644 --- a/FlashCards_API/src/main/java/org/robbins/flashcards/conversion/DtoConverter.java +++ b/FlashCards_API/src/main/java/org/robbins/flashcards/conversion/DtoConverter.java @@ -13,5 +13,5 @@ public interface DtoConverter { E getEntity(D dto); List getDtos(List entities) throws RepositoryException; List getDtos(List entities, Set fields) throws RepositoryException; - List getEtnties(List entities); + List getEntities(List entities); } diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/TagRepository.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/TagRepository.java similarity index 55% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/TagRepository.java rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/TagRepository.java index 8209b1090..180ac9b04 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/TagRepository.java +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/TagRepository.java @@ -1,13 +1,12 @@ -package org.robbins.flashcards.repository; +package org.robbins.flashcards.cassandra.repository; -import org.robbins.flashcards.repository.domain.TagCassandra; -import org.springframework.data.cassandra.repository.CassandraRepository; +import org.robbins.flashcards.cassandra.repository.domain.TagCassandraDto; import org.springframework.data.cassandra.repository.TypedIdCassandraRepository; import org.springframework.stereotype.Repository; import java.util.UUID; @Repository("tagRepository") -public interface TagRepository extends TypedIdCassandraRepository { +public interface TagRepository extends TypedIdCassandraRepository { } diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/UserRepository.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/UserRepository.java new file mode 100644 index 000000000..7f32f4d5b --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/UserRepository.java @@ -0,0 +1,15 @@ +package org.robbins.flashcards.cassandra.repository; + +import org.robbins.flashcards.cassandra.repository.domain.UserCassandraDto; +import org.springframework.data.cassandra.repository.Query; +import org.springframework.data.cassandra.repository.TypedIdCassandraRepository; +import org.springframework.stereotype.Repository; + +import java.util.UUID; + +@Repository("userRepository") +public interface UserRepository extends TypedIdCassandraRepository { + + @Query("SELECT * FROM user WHERE openid = ?0") + public UserCassandraDto findUserByOpenid(final String openid); +} diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultTagDtoConverter.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/conversion/impl/DefaultTagDtoConverter.java similarity index 54% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultTagDtoConverter.java rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/conversion/impl/DefaultTagDtoConverter.java index 640770def..fd5755d9a 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultTagDtoConverter.java +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/conversion/impl/DefaultTagDtoConverter.java @@ -1,10 +1,11 @@ -package org.robbins.flashcards.repository.conversion.impl; +package org.robbins.flashcards.cassandra.repository.conversion.impl; import org.apache.commons.lang3.NotImplementedException; +import org.robbins.flashcards.cassandra.repository.domain.TagCassandraDto; import org.robbins.flashcards.conversion.DtoConverter; import org.robbins.flashcards.dto.TagDto; import org.robbins.flashcards.exceptions.RepositoryException; -import org.robbins.flashcards.repository.domain.TagCassandra; +import org.robbins.flashcards.repository.conversion.impl.AbstractDtoConverter; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -12,42 +13,42 @@ import java.util.Set; @Component("tagDtoConverter") -public class DefaultTagDtoConverter extends AbstractDtoConverter implements DtoConverter { +public class DefaultTagDtoConverter extends AbstractDtoConverter implements DtoConverter { @Override - public TagDto getDto(final TagCassandra entity) throws RepositoryException { + public TagDto getDto(final TagCassandraDto entity) throws RepositoryException { return getMapper().map(entity, TagDto.class); } @Override - public TagDto getDto(final TagCassandra entity, final Set fields) + public TagDto getDto(final TagCassandraDto entity, final Set fields) throws RepositoryException { throw new NotImplementedException("method not yet implemented in Cassandra repository"); } @Override - public TagCassandra getEntity(final TagDto dto) { - return getMapper().map(dto, TagCassandra.class); + public TagCassandraDto getEntity(final TagDto dto) { + return getMapper().map(dto, TagCassandraDto.class); } @Override - public List getDtos(List entities) throws RepositoryException { + public List getDtos(List entities) throws RepositoryException { List dtos = new ArrayList<>(); - for (TagCassandra entity : entities) { + for (TagCassandraDto entity : entities) { dtos.add(getDto(entity)); } return dtos; } @Override - public List getDtos(final List entities, final Set fields) + public List getDtos(final List entities, final Set fields) throws RepositoryException {throw new NotImplementedException("method not yet implemented in Cassandra repository"); } @Override - public List getEtnties(final List dtos) { - List entities = new ArrayList<>(); + public List getEntities(final List dtos) { + List entities = new ArrayList<>(); for (TagDto dto : dtos) { entities.add(getEntity(dto)); } diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/conversion/impl/DefaultUserDtoConverter.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/conversion/impl/DefaultUserDtoConverter.java new file mode 100644 index 000000000..057fdb7de --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/conversion/impl/DefaultUserDtoConverter.java @@ -0,0 +1,57 @@ +package org.robbins.flashcards.cassandra.repository.conversion.impl; + +import org.apache.commons.lang3.NotImplementedException; +import org.robbins.flashcards.cassandra.repository.domain.UserCassandraDto; +import org.robbins.flashcards.conversion.DtoConverter; +import org.robbins.flashcards.dto.UserDto; +import org.robbins.flashcards.exceptions.RepositoryException; +import org.robbins.flashcards.repository.conversion.impl.AbstractDtoConverter; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +@Component("userDtoConverter") +public class DefaultUserDtoConverter extends AbstractDtoConverter implements DtoConverter { + + @Override + public UserDto getDto(final UserCassandraDto entity) throws RepositoryException { + return getMapper().map(entity, UserDto.class); + } + + @Override + public UserDto getDto(final UserCassandraDto entity, final Set fields) + throws RepositoryException + { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public UserCassandraDto getEntity(final UserDto dto) { + return getMapper().map(dto, UserCassandraDto.class); + } + + @Override + public List getDtos(List entities) throws RepositoryException { + List dtos = new ArrayList<>(); + for (UserCassandraDto entity : entities) { + dtos.add(getDto(entity)); + } + return dtos; + } + + @Override + public List getDtos(final List entities, final Set fields) + throws RepositoryException {throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List getEntities(final List dtos) { + List entities = new ArrayList<>(); + for (UserDto dto : dtos) { + entities.add(getEntity(dto)); + } + return entities; + } +} diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/domain/TagCassandra.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/domain/TagCassandraDto.java similarity index 76% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/domain/TagCassandra.java rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/domain/TagCassandraDto.java index 97cd2fe7e..a076fcdf2 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/domain/TagCassandra.java +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/domain/TagCassandraDto.java @@ -1,12 +1,13 @@ -package org.robbins.flashcards.repository.domain; +package org.robbins.flashcards.cassandra.repository.domain; import org.springframework.data.cassandra.mapping.PrimaryKey; import org.springframework.data.cassandra.mapping.Table; +import java.io.Serializable; import java.util.UUID; @Table(value = "tag") -public class TagCassandra { +public class TagCassandraDto implements Serializable { @PrimaryKey private UUID id; diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraDto.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraDto.java new file mode 100644 index 000000000..e97d714da --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraDto.java @@ -0,0 +1,110 @@ + +package org.robbins.flashcards.cassandra.repository.domain; + +import org.springframework.data.cassandra.mapping.PrimaryKey; +import org.springframework.data.cassandra.mapping.Table; + +import java.io.Serializable; +import java.util.Date; +import java.util.UUID; + +@Table(value = "user") +public class UserCassandraDto implements Serializable { + + @PrimaryKey + private UUID id; + + private String openid; + private String firstName; + private String lastName; + private String fullName; + private String email; + private String nickname; + private String country; + private String language; + private Date lastLoginDate; + + public UserCassandraDto() { + } + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public String getOpenid() { + return this.openid; + } + + public void setOpenid(final String openid) { + this.openid = openid; + } + + public String getFirstName() { + return this.firstName; + } + + public void setFirstName(final String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return this.lastName; + } + + public void setLastName(final String lastName) { + this.lastName = lastName; + } + + public String getFullName() { + return this.fullName; + } + + public void setFullName(final String fullName) { + this.fullName = fullName; + } + + public String getEmail() { + return this.email; + } + + public void setEmail(final String email) { + this.email = email; + } + + public String getNickname() { + return this.nickname; + } + + public void setNickname(final String nickname) { + this.nickname = nickname; + } + + public String getCountry() { + return this.country; + } + + public void setCountry(final String country) { + this.country = country; + } + + public String getLanguage() { + return this.language; + } + + public void setLanguage(final String language) { + this.language = language; + } + + public Date getLastLoginDate() { + return null == lastLoginDate ? null : new Date(); + } + + public void setLastLoginDate(final Date lastLoginDate) { + this.lastLoginDate = null == lastLoginDate ? null : lastLoginDate; + } + +} diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultFlashcardFacade.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultFlashcardFacade.java new file mode 100644 index 000000000..27ffbebd0 --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultFlashcardFacade.java @@ -0,0 +1,93 @@ + +package org.robbins.flashcards.cassandra.repository.facade; + +import org.apache.commons.lang3.NotImplementedException; +import org.robbins.flashcards.dto.FlashCardDto; +import org.robbins.flashcards.dto.TagDto; +import org.robbins.flashcards.exceptions.FlashcardsException; +import org.robbins.flashcards.facade.FlashcardFacade; +import org.springframework.data.domain.PageRequest; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Set; + +@Component("flashcardRepositoryFacade") +public class DefaultFlashcardFacade implements + FlashcardFacade { + + @Override + public List findByTagsIn(final Set tags) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List findByTagsIn(final Set tags, final PageRequest page) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List findByQuestionLike(final String question) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List findByQuestionLike(final String question, final PageRequest page) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public FlashCardDto findByQuestion(final String question) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List findFlashcardsForTag(final String tagId, final Set fields) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List list() throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List list(final Integer page, final Integer size, final String sort, final String direction) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List list(final Integer page, final Integer size, final String sort, final String direction, final Set fields) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public Long count() { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public FlashCardDto findOne(final String s) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public FlashCardDto findOne(final String s, final Set fields) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public FlashCardDto save(final FlashCardDto entity) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public void delete(String s) { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List findByCreatedBy(final String userId, final Set fields) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } +} diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/facade/DefaultTagRepositoryFacade.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultTagRepositoryFacade.java similarity index 60% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/facade/DefaultTagRepositoryFacade.java rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultTagRepositoryFacade.java index 007918b1c..15792f93f 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/facade/DefaultTagRepositoryFacade.java +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultTagRepositoryFacade.java @@ -1,24 +1,22 @@ -package org.robbins.flashcards.repository.facade; +package org.robbins.flashcards.cassandra.repository.facade; import com.google.common.collect.Lists; import org.apache.commons.lang3.NotImplementedException; +import org.robbins.flashcards.cassandra.repository.TagRepository; +import org.robbins.flashcards.cassandra.repository.domain.TagCassandraDto; import org.robbins.flashcards.conversion.DtoConverter; import org.robbins.flashcards.dto.TagDto; import org.robbins.flashcards.exceptions.FlashcardsException; import org.robbins.flashcards.exceptions.RepositoryException; import org.robbins.flashcards.facade.TagFacade; -import org.robbins.flashcards.repository.TagRepository; -import org.robbins.flashcards.repository.domain.TagCassandra; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import javax.inject.Inject; import java.util.List; import java.util.Set; -@Transactional @Component("tagRepositoryFacade") public class DefaultTagRepositoryFacade implements TagFacade { @@ -28,9 +26,9 @@ public class DefaultTagRepositoryFacade implements @Inject @Qualifier("tagDtoConverter") - private DtoConverter converter; + private DtoConverter converter; - public DtoConverter getConverter() + public DtoConverter getConverter() { return converter; } @@ -45,24 +43,24 @@ public TagDto findByName(final String name) throws RepositoryException { } @Override - public List findTagsForFlashcard(final Long flashcardId, final Set fields) throws RepositoryException { + public List findTagsForFlashcard(final String flashcardId, final Set fields) throws RepositoryException { throw new NotImplementedException("method not yet implemented in Cassandra repository"); } @Override public List list() throws FlashcardsException { - List tags = Lists.newArrayList(getRepository().findAll()); - return getConverter().getDtos(tags); + return list(null, null, null, null); } @Override - public List list(Integer page, Integer size, String sort, String direction) throws FlashcardsException { - throw new NotImplementedException("method not yet implemented in Cassandra repository"); + public List list(final Integer page, final Integer size, final String sort, final String direction) throws FlashcardsException { + return list(null, null, null, null, null); } @Override - public List list(Integer page, Integer size, String sort, String direction, Set fields) throws FlashcardsException { - throw new NotImplementedException("method not yet implemented in Cassandra repository"); + public List list(final Integer page, final Integer size, final String sort, final String direction, final Set fields) throws FlashcardsException { + List tags = Lists.newArrayList(getRepository().findAll()); + return getConverter().getDtos(tags); } @Override @@ -71,27 +69,27 @@ public Long count() { } @Override - public TagDto findOne(Long id) throws FlashcardsException { + public TagDto findOne(final String id) throws FlashcardsException { throw new NotImplementedException("method not yet implemented in Cassandra repository"); } @Override - public TagDto findOne(Long id, Set fields) throws FlashcardsException { + public TagDto findOne(final String id, final Set fields) throws FlashcardsException { throw new NotImplementedException("method not yet implemented in Cassandra repository"); } @Override - public TagDto save(TagDto entity) throws FlashcardsException { + public TagDto save(final TagDto entity) throws FlashcardsException { throw new NotImplementedException("method not yet implemented in Cassandra repository"); } @Override - public void delete(Long id) { + public void delete(final String id) { throw new NotImplementedException("method not yet implemented in Cassandra repository"); } @Override - public List findByCreatedBy(Long userId, Set fields) throws FlashcardsException { + public List findByCreatedBy(final String userId, final Set fields) throws FlashcardsException { throw new NotImplementedException("method not yet implemented in Cassandra repository"); } } diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultUserRepositoryFacade.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultUserRepositoryFacade.java new file mode 100644 index 000000000..f8385e3af --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/cassandra/repository/facade/DefaultUserRepositoryFacade.java @@ -0,0 +1,88 @@ + +package org.robbins.flashcards.cassandra.repository.facade; + +import org.apache.commons.lang3.NotImplementedException; +import org.robbins.flashcards.cassandra.repository.UserRepository; +import org.robbins.flashcards.cassandra.repository.domain.UserCassandraDto; +import org.robbins.flashcards.conversion.DtoConverter; +import org.robbins.flashcards.dto.UserDto; +import org.robbins.flashcards.exceptions.FlashcardsException; +import org.robbins.flashcards.facade.UserFacade; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Component; + +import javax.inject.Inject; +import java.util.List; +import java.util.Set; + +@Component("userRepositoryFacade") +public class DefaultUserRepositoryFacade implements + UserFacade { + + @Inject + private UserRepository repository; + + @Inject + @Qualifier("userDtoConverter") + private DtoConverter converter; + + public DtoConverter getConverter() + { + return converter; + } + + public UserRepository getRepository() { + return repository; + } + + @Override + public UserDto findUserByOpenid(final String openid) throws FlashcardsException { + UserCassandraDto user = repository.findUserByOpenid(openid); + return getConverter().getDto(user); + } + + @Override + public List list() throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List list(final Integer page, final Integer size, final String sort, final String direction) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List list(final Integer page, final Integer size, final String sort, final String direction, final Set fields) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public Long count() { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public UserDto findOne(final String s) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public UserDto findOne(final String s, final Set fields) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public UserDto save(final UserDto entity) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public void delete(final String s) { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } + + @Override + public List findByCreatedBy(final String userId, final Set fields) throws FlashcardsException { + throw new NotImplementedException("method not yet implemented in Cassandra repository"); + } +} diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java deleted file mode 100644 index fc451899c..000000000 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.robbins.flashcards.repository.conversion.impl; - -import org.dozer.Mapper; - -import javax.inject.Inject; - -public class AbstractDtoConverter { - @Inject - private Mapper mapper; - - public Mapper getMapper() { - return mapper; - } - - public void setMapper(final Mapper mapper) { - this.mapper = mapper; - } -} diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/resources/applicationContext-repository-cassandra.xml b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/resources/applicationContext-repository-cassandra.xml index 0ea554082..b424ef8d0 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/resources/applicationContext-repository-cassandra.xml +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/resources/applicationContext-repository-cassandra.xml @@ -15,11 +15,6 @@ - - - @@ -35,7 +30,11 @@ - + - + + + diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/resources/dozer-mappings.xml b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/resources/dozer-mappings.xml similarity index 100% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/resources/dozer-mappings.xml rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/main/resources/dozer-mappings.xml diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/AbstractCassandraIntegrationTest.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/AbstractCassandraIntegrationTest.java similarity index 96% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/AbstractCassandraIntegrationTest.java rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/AbstractCassandraIntegrationTest.java index f8dc7eb0f..0e1b1e0e7 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/AbstractCassandraIntegrationTest.java +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/AbstractCassandraIntegrationTest.java @@ -1,4 +1,4 @@ -package org.robbins.flashcards.repository; +package org.robbins.flashcards.cassandra.repository; import org.cassandraunit.spring.CassandraUnitDependencyInjectionTestExecutionListener; import org.cassandraunit.spring.EmbeddedCassandra; diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/TagRepositoryIT.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/TagRepositoryIT.java similarity index 63% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/TagRepositoryIT.java rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/TagRepositoryIT.java index ab4ebc13c..9c1a640ea 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/TagRepositoryIT.java +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/TagRepositoryIT.java @@ -1,11 +1,11 @@ -package org.robbins.flashcards.repository; +package org.robbins.flashcards.cassandra.repository; import com.google.common.collect.Lists; import org.cassandraunit.spring.CassandraDataSet; import org.junit.Test; -import org.robbins.flashcards.repository.domain.TagCassandra; -import org.robbins.flashcards.repository.domain.TagCassandraBuilder; +import org.robbins.flashcards.cassandra.repository.domain.TagCassandraBuilder; +import org.robbins.flashcards.cassandra.repository.domain.TagCassandraDto; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @@ -23,24 +23,24 @@ public class TagRepositoryIT extends AbstractCassandraIntegrationTest { @Test public void testFindOne() { - TagCassandra tag = new TagCassandraBuilder() + TagCassandraDto tag = new TagCassandraBuilder() .withId(UUID.fromString("eaa488a0-b0d8-11e4-af90-12e3f512a338")).build(); - TagCassandra result = tagRepository.findOne(tag.getId()); + TagCassandraDto result = tagRepository.findOne(tag.getId()); assertThat(result.getName(), is("tag1")); } @Test public void testFindAll() { - List tags = Lists.newArrayList(tagRepository.findAll()); + List tags = Lists.newArrayList(tagRepository.findAll()); assertThat(tags.size(), greaterThan(0)); } @Test public void insertTag() { - TagCassandra tag = new TagCassandraBuilder().withId(UUID.randomUUID()).withName("new name").build(); + TagCassandraDto tag = new TagCassandraBuilder().withId(UUID.randomUUID()).withName("new name").build(); - TagCassandra result = tagRepository.save(tag); + TagCassandraDto result = tagRepository.save(tag); assertThat(result.getId(), is(tag.getId())); assertThat(result.getName(), is(tag.getName())); } diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/UserRepositoryIT.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/UserRepositoryIT.java new file mode 100644 index 000000000..9f12c7abd --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/UserRepositoryIT.java @@ -0,0 +1,54 @@ +package org.robbins.flashcards.cassandra.repository; + + +import com.google.common.collect.Lists; +import org.cassandraunit.spring.CassandraDataSet; +import org.junit.Test; +import org.robbins.flashcards.cassandra.repository.domain.UserCassandraBuilder; +import org.robbins.flashcards.cassandra.repository.domain.UserCassandraDto; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; +import java.util.UUID; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.Matchers.greaterThan; +import static org.junit.Assert.assertThat; + +@CassandraDataSet(value = {"cql/UserRepositoryIT.cql"}, keyspace = "flashcardsapp") +public class UserRepositoryIT extends AbstractCassandraIntegrationTest { + + private final UUID ID = UUID.fromString("9caa6c8e-b720-11e4-a71e-12e3f512a338"); + private final String OPEN_ID = "api_user_open_id"; + + @Autowired + UserRepository repository; + + @Test + public void testFindOne() { + UserCassandraDto result = repository.findOne(ID); + assertThat(result.getId(), is(ID)); + assertThat(result.getOpenid(), is(OPEN_ID)); + } + + @Test + public void testFindAll() { + List users = Lists.newArrayList(repository.findAll()); + assertThat(users.size(), greaterThan(0)); + } + + @Test + public void insertTag() { + UserCassandraDto user = new UserCassandraBuilder().withId(UUID.randomUUID()).withOpenId(OPEN_ID).build(); + + UserCassandraDto result = repository.save(user); + assertThat(result.getId(), is(user.getId())); + assertThat(result.getOpenid(), is(user.getOpenid())); + } + + @Test + public void testFindUserByOpenid() { + UserCassandraDto result = repository.findUserByOpenid(OPEN_ID); + assertThat(result.getOpenid(), is(OPEN_ID)); + } +} diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/TagCassandraBuilder.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/TagCassandraBuilder.java new file mode 100644 index 000000000..6977622aa --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/TagCassandraBuilder.java @@ -0,0 +1,22 @@ +package org.robbins.flashcards.cassandra.repository.domain; + +import java.util.UUID; + +public class TagCassandraBuilder { + private final TagCassandraDto tag = new TagCassandraDto(); + + public TagCassandraBuilder withId(final UUID id) { + this.tag.setId(id); + return this; + } + + public TagCassandraBuilder withName(final String name) { + this.tag.setName(name); + return this; + } + + public TagCassandraDto build() + { + return this.tag; + } +} \ No newline at end of file diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraBuilder.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraBuilder.java new file mode 100644 index 000000000..b4a07b389 --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/domain/UserCassandraBuilder.java @@ -0,0 +1,22 @@ +package org.robbins.flashcards.cassandra.repository.domain; + +import java.util.UUID; + +public class UserCassandraBuilder { + private final UserCassandraDto user = new UserCassandraDto(); + + public UserCassandraBuilder withId(final UUID id) { + this.user.setId(id); + return this; + } + + public UserCassandraBuilder withOpenId(final String openid) { + this.user.setOpenid(openid); + return this; + } + + public UserCassandraDto build() + { + return this.user; + } +} \ No newline at end of file diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/facade/impl/DefaultTagFacadeIT.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/facade/impl/DefaultTagFacadeIT.java similarity index 84% rename from FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/facade/impl/DefaultTagFacadeIT.java rename to FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/facade/impl/DefaultTagFacadeIT.java index aa5971e7f..0446768e9 100644 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/facade/impl/DefaultTagFacadeIT.java +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/cassandra/repository/facade/impl/DefaultTagFacadeIT.java @@ -1,12 +1,12 @@ -package org.robbins.flashcards.repository.facade.impl; +package org.robbins.flashcards.cassandra.repository.facade.impl; import org.cassandraunit.spring.CassandraDataSet; import org.junit.Test; +import org.robbins.flashcards.cassandra.repository.AbstractCassandraIntegrationTest; import org.robbins.flashcards.dto.TagDto; import org.robbins.flashcards.exceptions.FlashcardsException; import org.robbins.flashcards.facade.TagFacade; -import org.robbins.flashcards.repository.AbstractCassandraIntegrationTest; import javax.inject.Inject; import java.util.List; diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/domain/TagCassandraBuilder.java b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/domain/TagCassandraBuilder.java deleted file mode 100644 index 7d544929c..000000000 --- a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/java/org/robbins/flashcards/repository/domain/TagCassandraBuilder.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.robbins.flashcards.repository.domain; - -import java.util.UUID; - -public class TagCassandraBuilder { - private TagCassandra tag = new TagCassandra(); - - public TagCassandraBuilder withId(UUID id) { - this.tag.setId(id); - return this; - } - - public TagCassandraBuilder withName(String name) { - this.tag.setName(name); - return this; - } - - public TagCassandra build() - { - return this.tag; - } -} \ No newline at end of file diff --git a/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/resources/cql/UserRepositoryIT.cql b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/resources/cql/UserRepositoryIT.cql new file mode 100644 index 000000000..a66dc414c --- /dev/null +++ b/FlashCards_Repository/FlashCards_Repository_Cassandra/src/test/resources/cql/UserRepositoryIT.cql @@ -0,0 +1,3 @@ +create table user (id uuid PRIMARY KEY, country varchar, createddate timestamp, email varchar, firstname varchar, fullname varchar, language varchar, lastlogindate timestamp, lastname varchar, nickname varchar, openid varchar, updateddate timestamp, createduserid uuid, modifieduserid uuid); +create index user_open_id on user (openid); +insert into user (id, country, createddate, email, firstname, fullname, language, lastlogindate, lastname, nickname, openid, updateddate, createduserid, modifieduserid) VALUES (9caa6c8e-b720-11e4-a71e-12e3f512a338,NULL,'2012-08-18 00:00:00','','apiuser',NULL,NULL,'2012-08-18 00:00:00','apiuser',NULL,'api_user_open_id','2012-08-18 00:00:00',9caa6c8e-b720-11e4-a71e-12e3f512a338,NULL); diff --git a/FlashCards_Repository/FlashCards_Repository_Commons/pom.xml b/FlashCards_Repository/FlashCards_Repository_Commons/pom.xml index ee4578586..45cc8adfe 100644 --- a/FlashCards_Repository/FlashCards_Repository_Commons/pom.xml +++ b/FlashCards_Repository/FlashCards_Repository_Commons/pom.xml @@ -20,16 +20,30 @@ scm:git:git@github.com:justinhrobbins/FlashCards_App.git + + org.robbins.flashcards + FlashCards_API + ${project.version} + + joda-time joda-time + net.sf.dozer dozer + + + + javax.inject + javax.inject + + org.springframework.data spring-data-commons-core diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/FlashCardsAppRepository.java b/FlashCards_Repository/FlashCards_Repository_Commons/src/main/java/org/robbins/flashcards/repository/FlashCardsAppRepository.java similarity index 100% rename from FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/FlashCardsAppRepository.java rename to FlashCards_Repository/FlashCards_Repository_Commons/src/main/java/org/robbins/flashcards/repository/FlashCardsAppRepository.java diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java b/FlashCards_Repository/FlashCards_Repository_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java similarity index 100% rename from FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java rename to FlashCards_Repository/FlashCards_Repository_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/AbstractDtoConverter.java diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/RepositoryFacade.java b/FlashCards_Repository/FlashCards_Repository_Commons/src/main/java/org/robbins/flashcards/repository/facade/RepositoryFacade.java similarity index 100% rename from FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/RepositoryFacade.java rename to FlashCards_Repository/FlashCards_Repository_Commons/src/main/java/org/robbins/flashcards/repository/facade/RepositoryFacade.java diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultFlashcardDtoConverter.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultFlashcardDtoConverter.java index ec13cd5bd..b56db1e23 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultFlashcardDtoConverter.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultFlashcardDtoConverter.java @@ -50,7 +50,7 @@ public List getDtos(final List entities, } @Override - public List getEtnties(final List dtos) { + public List getEntities(final List dtos) { List entities = new ArrayList<>(); for (FlashCardDto dto : dtos) { entities.add(getEntity(dto)); diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultTagDtoConverter.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultTagDtoConverter.java index b46a12b1f..612bfcfcd 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultTagDtoConverter.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultTagDtoConverter.java @@ -49,7 +49,7 @@ public List getDtos(final List entities, final Set fields) } @Override - public List getEtnties(final List dtos) { + public List getEntities(final List dtos) { List entities = new ArrayList<>(); for (TagDto dto : dtos) { entities.add(getEntity(dto)); diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultUserDtoConverter.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultUserDtoConverter.java index 406e795d1..c33aa04f3 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultUserDtoConverter.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/conversion/impl/DefaultUserDtoConverter.java @@ -48,7 +48,7 @@ public List getDtos(final List entities, final Set fields } @Override - public List getEtnties(final List dtos) { + public List getEntities(final List dtos) { List entities = new ArrayList<>(); for (UserDto dto : dtos) { entities.add(getEntity(dto)); diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/base/AbstractCrudRepositoryFacadeImpl.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/base/AbstractCrudRepositoryFacadeImpl.java index ff2bb6285..9bd7721fa 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/base/AbstractCrudRepositoryFacadeImpl.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/base/AbstractCrudRepositoryFacadeImpl.java @@ -6,7 +6,7 @@ import org.robbins.flashcards.exceptions.FlashcardsException; import org.robbins.flashcards.exceptions.RepositoryException; import org.robbins.flashcards.facade.base.GenericCrudFacade; -import org.robbins.flashcards.repository.facade.PagingAndSortingRepositoryFacade; +import org.robbins.flashcards.repository.facade.RepositoryFacade; import org.robbins.flashcards.repository.util.FieldInitializerUtil; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; @@ -20,7 +20,7 @@ @Transactional public abstract class AbstractCrudRepositoryFacadeImpl implements GenericCrudFacade, - PagingAndSortingRepositoryFacade + RepositoryFacade { @Inject diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardRepositoryFacade.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardRepositoryFacade.java index f799267af..42f293b57 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardRepositoryFacade.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/main/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardRepositoryFacade.java @@ -106,7 +106,7 @@ public List findFlashcardsForTag(String tagId, Set fields) private Set getTags(final Set tagDtos) { List tagDtoList = Lists.newArrayList(tagDtos); - List tagList = tagConverter.getEtnties(tagDtoList); + List tagList = tagConverter.getEntities(tagDtoList); return Sets.newHashSet(tagList); } diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultFlashcardDtoConverterUT.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultFlashcardDtoConverterUT.java index d6f0fa4c6..c12bba32e 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultFlashcardDtoConverterUT.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultFlashcardDtoConverterUT.java @@ -47,7 +47,7 @@ public void getEntities() { List flashCardDtos = Arrays.asList(flashCardDto); Mockito.when(mockMapper.map(flashCardDto, FlashCard.class)).thenReturn(flashCard); - List results = converter.getEtnties(flashCardDtos); + List results = converter.getEntities(flashCardDtos); Assert.assertThat(results, CoreMatchers.is(List.class)); Mockito.verify(mockMapper).map(flashCardDto, FlashCard.class); diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultTagDtoConverterUT.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultTagDtoConverterUT.java index 5a8700b0b..17e33cdd5 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultTagDtoConverterUT.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultTagDtoConverterUT.java @@ -59,7 +59,7 @@ public void getEntities() throws ServiceException { List mockTagDtoList = Arrays.asList(tagDto); Mockito.when(mockMapper.map(tagDto, Tag.class)).thenReturn(tag); - List results = converter.getEtnties(mockTagDtoList); + List results = converter.getEntities(mockTagDtoList); Assert.assertThat(results, CoreMatchers.is(List.class)); Mockito.verify(mockMapper).map(tagDto, Tag.class); diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultUserDtoConverterUT.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultUserDtoConverterUT.java index ca590e3ff..f7fbb272f 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultUserDtoConverterUT.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/conversion/DefaultUserDtoConverterUT.java @@ -59,7 +59,7 @@ public void getEntities() throws ServiceException { List mockUserDtoList = Arrays.asList(userDto); Mockito.when(mockMapper.map(userDto, User.class)).thenReturn(user); - List results = converter.getEtnties(mockUserDtoList); + List results = converter.getEntities(mockUserDtoList); Assert.assertThat(results, CoreMatchers.is(List.class)); Mockito.verify(mockMapper).map(userDto, User.class); diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardFacadeUT.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardFacadeUT.java index 1a07effc6..6182395de 100644 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardFacadeUT.java +++ b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/facade/impl/DefaultFlashcardFacadeUT.java @@ -105,7 +105,7 @@ public void findByTagsIn() throws FlashcardsException { when(repository.findByTagsIn(any(Set.class))).thenReturn(mockFlashCardList); when(mockFlashcardConverter.getDto(mockFlashcard)).thenReturn( mockFlashcardDto); - when(mockTagConverter.getEtnties(any(List.class))).thenReturn(mockTagList); + when(mockTagConverter.getEntities(any(List.class))).thenReturn(mockTagList); List results = flashCardFacade.findByTagsIn(mockTagDtos); diff --git a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/util/dozer/DateTimeConverterUT.java b/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/util/dozer/DateTimeConverterUT.java deleted file mode 100644 index 3cc83b734..000000000 --- a/FlashCards_Repository/FlashCards_Repository_Jpa_Commons/src/test/java/org/robbins/flashcards/repository/util/dozer/DateTimeConverterUT.java +++ /dev/null @@ -1,66 +0,0 @@ - -package org.robbins.flashcards.repository.util.dozer; - -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.core.IsNull.nullValue; -import static org.junit.Assert.assertThat; - -import java.util.Calendar; -import java.util.Date; - -import org.joda.time.DateTime; -import org.junit.Before; -import org.junit.Test; -import org.junit.experimental.categories.Category; -import org.robbins.tests.BaseMockingTest; -import org.robbins.tests.UnitTest; -import org.springframework.data.mapping.model.MappingException; - -@Category(UnitTest.class) -public class DateTimeConverterUT extends BaseMockingTest { - - private DateTimeConverter dateTimeConverter; - - @Before - public void before() { - dateTimeConverter = new DateTimeConverter(); - } - - @Test - public void convert_SourceFieldValueIsNull() { - Object result = dateTimeConverter.convert(null, null, null, null); - - assertThat(result, is(nullValue())); - } - - @Test(expected = MappingException.class) - public void convert_ThrowsMappingException() { - dateTimeConverter.convert(null, new String("test"), null, null); - } - - @Test - public void convert_SourceFromDate() { - final int year = 1988; - Calendar cal = Calendar.getInstance(); - cal.set(Calendar.YEAR, year); - cal.set(Calendar.MONTH, 1); - cal.set(Calendar.DAY_OF_MONTH, 1); - - Date sourceFieldValue = cal.getTime(); - Object result = dateTimeConverter.convert(null, sourceFieldValue, DateTime.class, - Date.class); - - assertThat(result, is(DateTime.class)); - assertThat(((DateTime) result).toDate(), is(cal.getTime())); - } - - @Test - public void convert_SourceFromDateTime() { - DateTime sourceFieldValue = new DateTime(); - Object result = dateTimeConverter.convert(null, sourceFieldValue, DateTime.class, - Date.class); - - assertThat(result, is(Date.class)); - assertThat(((Date) result), is(sourceFieldValue.toDate())); - } -} diff --git a/FlashCards_Service/pom.xml b/FlashCards_Service/pom.xml index 7bd61922b..6174c07a5 100644 --- a/FlashCards_Service/pom.xml +++ b/FlashCards_Service/pom.xml @@ -47,6 +47,11 @@ FlashCards_Repository_Commons ${project.version} + + org.robbins.flashcards + FlashCards_Repository_Cassandra + ${project.version} + diff --git a/FlashCards_Service/src/main/java/org/robbins/flashcards/security/CustomUserDetailsService.java b/FlashCards_Service/src/main/java/org/robbins/flashcards/security/CustomUserDetailsService.java index 8c2385b76..d54d781c0 100644 --- a/FlashCards_Service/src/main/java/org/robbins/flashcards/security/CustomUserDetailsService.java +++ b/FlashCards_Service/src/main/java/org/robbins/flashcards/security/CustomUserDetailsService.java @@ -1,12 +1,6 @@ package org.robbins.flashcards.security; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import javax.inject.Inject; - import org.robbins.flashcards.dto.UserDto; import org.robbins.flashcards.facade.UserFacade; import org.springframework.beans.factory.annotation.Qualifier; @@ -15,14 +9,17 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; + +import javax.inject.Inject; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; /** * A custom {@link UserDetailsService} where user information is retrieved from a * repository. */ @Service -@Transactional(readOnly = true) public class CustomUserDetailsService implements UserDetailsService { @Inject diff --git a/FlashCards_WebServices/pom.xml b/FlashCards_WebServices/pom.xml index a5f8c6bd1..6a878e364 100644 --- a/FlashCards_WebServices/pom.xml +++ b/FlashCards_WebServices/pom.xml @@ -186,41 +186,12 @@ - - - jpa - - - org.robbins.flashcards - FlashCards_Repository_Jpa - ${project.version} - - - - - spring-data - - - org.robbins.flashcards - FlashCards_Repository_SpringData - ${project.version} - - - - default true - - - org.robbins.flashcards - FlashCards_Repository_SpringData - ${project.version} - - diff --git a/FlashCards_WebServices/src/main/resources/applicationContext-springSecurity.xml b/FlashCards_WebServices/src/main/resources/applicationContext-springSecurity.xml index 4fe329a5a..152903ca6 100644 --- a/FlashCards_WebServices/src/main/resources/applicationContext-springSecurity.xml +++ b/FlashCards_WebServices/src/main/resources/applicationContext-springSecurity.xml @@ -1,11 +1,12 @@ + http://www.springframework.org/schema/beans/spring-beans.xsd"> diff --git a/pom.xml b/pom.xml index 7f10edfff..1b1bd8bdb 100644 --- a/pom.xml +++ b/pom.xml @@ -214,6 +214,7 @@ true /gwt + org.robbins.flashcards swagger_ui