From edf7a80c5b2d6b14f825d3dbf162c88fa44b0e6b Mon Sep 17 00:00:00 2001 From: remmeier Date: Sat, 5 Nov 2016 13:40:40 +0100 Subject: [PATCH] sonar cleanup - unused imports - fixed a invalid package name (for non-public one) --- .../io/katharsis/client/KatharsisClient.java | 4 +- .../controller/collection/CollectionGet.java | 2 +- .../controller/resource/FieldResourceGet.java | 2 +- .../resource/FieldResourcePost.java | 4 +- .../resource/RelationshipsResourceDelete.java | 2 +- .../resource/RelationshipsResourceGet.java | 2 +- .../resource/RelationshipsResourcePatch.java | 2 +- .../resource/RelationshipsResourcePost.java | 2 +- .../resource/RelationshipsResourceUpsert.java | 4 +- .../controller/resource/ResourceGet.java | 2 +- .../controller/resource/ResourcePatch.java | 2 +- .../controller/resource/ResourcePost.java | 2 +- .../controller/resource/ResourceUpsert.java | 546 +++++++++--------- .../resource/include/IncludeLookupSetter.java | 2 +- .../resource/registry/RegistryEntry.java | 4 +- .../RelationshipRepositoryAdapter.java | 4 +- .../adapter}/RepositoryRequestSpecImpl.java | 3 +- .../adapter}/ResourceRepositoryAdapter.java | 4 +- .../adapter/ResponseRepositoryAdapter.java} | 6 +- .../internal/boot/KatharsisBootTest.java | 2 +- .../repository/QuerySpecRepositoryTest.java | 4 +- .../filter/RepositoryFilterTest.java | 4 +- .../include/IncludeLookupSetterTest.java | 4 +- .../resource/registry/RegistryEntryTest.java | 2 +- .../registry/ResourceRegistryBuilderTest.java | 5 +- .../PagedLinksInformationQuerySpecTest.java | 2 +- 26 files changed, 311 insertions(+), 311 deletions(-) rename katharsis-core/src/main/java/io/katharsis/resource/registry/{responseRepository => repository/adapter}/RelationshipRepositoryAdapter.java (99%) rename katharsis-core/src/main/java/io/katharsis/resource/registry/{responseRepository => repository/adapter}/RepositoryRequestSpecImpl.java (98%) rename katharsis-core/src/main/java/io/katharsis/resource/registry/{responseRepository => repository/adapter}/ResourceRepositoryAdapter.java (98%) rename katharsis-core/src/main/java/io/katharsis/resource/registry/{responseRepository/ResponseRepository.java => repository/adapter/ResponseRepositoryAdapter.java} (98%) diff --git a/katharsis-client/src/main/java/io/katharsis/client/KatharsisClient.java b/katharsis-client/src/main/java/io/katharsis/client/KatharsisClient.java index e3907095..abd416df 100644 --- a/katharsis-client/src/main/java/io/katharsis/client/KatharsisClient.java +++ b/katharsis-client/src/main/java/io/katharsis/client/KatharsisClient.java @@ -37,8 +37,8 @@ import io.katharsis.resource.registry.repository.DirectResponseResourceEntry; import io.katharsis.resource.registry.repository.ResourceEntry; import io.katharsis.resource.registry.repository.ResponseRelationshipEntry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.BaseResponseContext; import io.katharsis.utils.JsonApiUrlBuilder; import okhttp3.OkHttpClient; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/collection/CollectionGet.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/collection/CollectionGet.java index 1051acf0..9322fbe3 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/collection/CollectionGet.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/collection/CollectionGet.java @@ -13,7 +13,7 @@ import io.katharsis.resource.include.IncludeLookupSetter; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.BaseResponseContext; import io.katharsis.response.CollectionResponseContext; import io.katharsis.response.JsonApiResponse; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourceGet.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourceGet.java index 008febf3..a92045a2 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourceGet.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourceGet.java @@ -13,7 +13,7 @@ import io.katharsis.resource.include.IncludeLookupSetter; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; import io.katharsis.response.BaseResponseContext; import io.katharsis.response.CollectionResponseContext; import io.katharsis.response.JsonApiResponse; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourcePost.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourcePost.java index dd792736..585299a5 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourcePost.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/FieldResourcePost.java @@ -17,8 +17,8 @@ import io.katharsis.resource.field.ResourceField; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.HttpStatus; import io.katharsis.response.JsonApiResponse; import io.katharsis.response.ResourceResponseContext; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceDelete.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceDelete.java index 06ea3ce5..13adbb6e 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceDelete.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceDelete.java @@ -5,7 +5,7 @@ import io.katharsis.queryspec.internal.QueryAdapter; import io.katharsis.request.dto.DataBody; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; import io.katharsis.utils.parser.TypeParser; import java.io.Serializable; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceGet.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceGet.java index 223ed0ae..5d52563d 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceGet.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceGet.java @@ -12,7 +12,7 @@ import io.katharsis.resource.include.IncludeLookupSetter; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; import io.katharsis.response.*; import io.katharsis.utils.Generics; import io.katharsis.utils.parser.TypeParser; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePatch.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePatch.java index 87ccabe0..415bfe69 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePatch.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePatch.java @@ -8,7 +8,7 @@ import io.katharsis.queryspec.internal.QueryAdapter; import io.katharsis.request.dto.DataBody; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; import io.katharsis.utils.parser.TypeParser; public class RelationshipsResourcePatch extends RelationshipsResourceUpsert { diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePost.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePost.java index b9990e9f..cb31e68c 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePost.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourcePost.java @@ -8,7 +8,7 @@ import io.katharsis.queryspec.internal.QueryAdapter; import io.katharsis.request.dto.DataBody; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; import io.katharsis.utils.parser.TypeParser; public class RelationshipsResourcePost extends RelationshipsResourceUpsert { diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceUpsert.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceUpsert.java index 978df742..17af682c 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceUpsert.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/RelationshipsResourceUpsert.java @@ -16,8 +16,8 @@ import io.katharsis.resource.field.ResourceField; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.BaseResponseContext; import io.katharsis.response.HttpStatus; import io.katharsis.response.JsonApiResponse; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceGet.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceGet.java index 9cb0180b..678e1c00 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceGet.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceGet.java @@ -13,7 +13,7 @@ import io.katharsis.resource.include.IncludeLookupSetter; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.BaseResponseContext; import io.katharsis.response.JsonApiResponse; import io.katharsis.response.ResourceResponseContext; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePatch.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePatch.java index 0540ae92..1a69032f 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePatch.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePatch.java @@ -21,7 +21,7 @@ import io.katharsis.resource.exception.ResourceNotFoundException; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.BaseResponseContext; import io.katharsis.response.JsonApiResponse; import io.katharsis.response.ResourceResponseContext; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePost.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePost.java index 30636e0a..0980de2b 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePost.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourcePost.java @@ -14,7 +14,7 @@ import io.katharsis.resource.exception.ResourceNotFoundException; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.HttpStatus; import io.katharsis.response.JsonApiResponse; import io.katharsis.response.ResourceResponseContext; diff --git a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceUpsert.java b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceUpsert.java index 02d755c9..52b145c6 100644 --- a/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceUpsert.java +++ b/katharsis-core/src/main/java/io/katharsis/dispatcher/controller/resource/ResourceUpsert.java @@ -1,273 +1,273 @@ -package io.katharsis.dispatcher.controller.resource; - -import java.io.Serializable; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -import com.fasterxml.jackson.databind.ObjectMapper; - -import io.katharsis.dispatcher.controller.BaseController; -import io.katharsis.queryspec.internal.QueryAdapter; -import io.katharsis.repository.RepositoryMethodParameterProvider; -import io.katharsis.request.dto.DataBody; -import io.katharsis.request.dto.LinkageData; -import io.katharsis.resource.exception.ResourceException; -import io.katharsis.resource.exception.ResourceNotFoundException; -import io.katharsis.resource.field.ResourceAttributesBridge; -import io.katharsis.resource.field.ResourceField; -import io.katharsis.resource.information.ResourceInformation; -import io.katharsis.resource.information.ResourceInstanceBuilder; -import io.katharsis.resource.registry.RegistryEntry; -import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.utils.Generics; -import io.katharsis.utils.PropertyUtils; -import io.katharsis.utils.parser.TypeParser; - -public abstract class ResourceUpsert extends BaseController { - final ResourceRegistry resourceRegistry; - final TypeParser typeParser; - protected final ObjectMapper objectMapper; - - public ResourceUpsert(ResourceRegistry resourceRegistry, TypeParser typeParser, ObjectMapper objectMapper) { - this.resourceRegistry = resourceRegistry; - this.typeParser = typeParser; - this.objectMapper = objectMapper; - } - - protected Object newResource(ResourceInformation resourceInformation, DataBody dataBody) { - ResourceInstanceBuilder builder = resourceInformation.getInstanceBuilder(); - return builder.buildResource(dataBody); - } - - protected void setId(DataBody dataBody, Object instance, ResourceInformation resourceInformation) { - if (dataBody.getId() != null) { - String id = dataBody.getId(); - - Serializable castedId = resourceInformation.parseIdString(id); - PropertyUtils.setProperty(instance, resourceInformation.getIdField() - .getUnderlyingName(), castedId); - } - } - - protected void setAttributes(DataBody dataBody, Object instance, ResourceInformation resourceInformation) { - if (dataBody.getAttributes() != null) { - ResourceAttributesBridge resourceAttributesBridge = resourceInformation.getAttributeFields(); - resourceAttributesBridge.setProperties(objectMapper, instance, dataBody.getAttributes()); - } - } - - protected void saveRelations(QueryAdapter queryAdapter, Object savedResource, RegistryEntry registryEntry, DataBody dataBody, - RepositoryMethodParameterProvider parameterProvider) { - if (dataBody.getRelationships() != null) { - Map additionalProperties = dataBody.getRelationships() - .getAdditionalProperties(); - for (Map.Entry property : additionalProperties.entrySet()) { - if (Iterable.class.isAssignableFrom(property.getValue() - .getClass())) { - //noinspection unchecked - saveRelationsField(queryAdapter, savedResource, registryEntry, (Map.Entry) property, registryEntry - .getResourceInformation(), parameterProvider); - } else { - //noinspection unchecked - saveRelationField(queryAdapter, savedResource, registryEntry, (Map.Entry) property, registryEntry - .getResourceInformation(), parameterProvider); - } - - } - } - } - - private void saveRelationsField(QueryAdapter queryAdapter, Object savedResource, RegistryEntry registryEntry, - Map.Entry> property, - ResourceInformation resourceInformation, - RepositoryMethodParameterProvider parameterProvider) { - if (!allTypesTheSame(property.getValue())) { - throw new ResourceException("Not all types are the same for linkage: " + property.getKey()); - } - - String type = getLinkageType(property.getValue()); - RegistryEntry relationRegistryEntry = getRelationRegistryEntry(type); - @SuppressWarnings("unchecked") - Class relationshipIdClass = (Class) relationRegistryEntry - .getResourceInformation() - .getIdField() - .getType(); - List castedRelationIds = new LinkedList<>(); - - for (LinkageData linkageData : property.getValue()) { - Serializable castedRelationshipId = typeParser.parse(linkageData.getId(), relationshipIdClass); - castedRelationIds.add(castedRelationshipId); - } - - Class relationshipClass = relationRegistryEntry.getResourceInformation() - .getResourceClass(); - RelationshipRepositoryAdapter relationshipRepository = registryEntry - .getRelationshipRepositoryForClass(relationshipClass, parameterProvider); - ResourceField relationshipField = resourceInformation.findRelationshipFieldByName(property.getKey()); - //noinspection unchecked - relationshipRepository.setRelations(savedResource, castedRelationIds, - relationshipField.getUnderlyingName(), queryAdapter); - } - - private static boolean allTypesTheSame(Iterable linkages) { - String type = linkages.iterator() - .hasNext() ? linkages.iterator() - .next() - .getType() : null; - for (LinkageData linkageData : linkages) { - if (!Objects.equals(type, linkageData.getType())) { - return false; - } - } - return true; - } - - protected String getLinkageType(Iterable linkages) { - return linkages.iterator() - .hasNext() ? linkages.iterator() - .next() - .getType() : null; - } - - private void saveRelationField(QueryAdapter queryAdapter, Object savedResource, RegistryEntry registryEntry, - Map.Entry property, ResourceInformation resourceInformation, - RepositoryMethodParameterProvider parameterProvider) { - RegistryEntry relationRegistryEntry = getRelationRegistryEntry(property.getValue() - .getType()); - - @SuppressWarnings("unchecked") - Class relationshipIdClass = (Class) relationRegistryEntry - .getResourceInformation() - .getIdField() - .getType(); - Serializable castedRelationshipId = typeParser.parse(property.getValue() - .getId(), relationshipIdClass); - - Class relationshipClass = relationRegistryEntry.getResourceInformation() - .getResourceClass(); - RelationshipRepositoryAdapter relationshipRepository = registryEntry - .getRelationshipRepositoryForClass(relationshipClass, parameterProvider); - ResourceField relationshipField = resourceInformation.findRelationshipFieldByName(property.getKey()); - //noinspection unchecked - relationshipRepository.setRelation(savedResource, castedRelationshipId, relationshipField.getUnderlyingName(), - queryAdapter); - } - - private RegistryEntry getRelationRegistryEntry(String type) { - RegistryEntry relationRegistryEntry = resourceRegistry.getEntry(type); - if (relationRegistryEntry == null) { - throw new ResourceNotFoundException(type); - } - return relationRegistryEntry; - } - - Object buildNewResource(RegistryEntry registryEntry, DataBody dataBody, String resourceName) { - if (dataBody == null) { - throw new ResourceException("No data field in the body."); - } - if (!resourceName.equals(dataBody.getType())) { - throw new ResourceException(String.format("Inconsistent type definition between path and body: body type: " + - "%s, request type: %s", - dataBody.getType(), - resourceName)); - } - try { - return registryEntry.getResourceInformation() - .getResourceClass() - .newInstance(); - } catch (InstantiationException | IllegalAccessException e) { - throw new ResourceException( - String.format("couldn't create a new instance of %s", registryEntry.getResourceInformation() - .getResourceClass())); - } - } - - protected void setRelations(Object newResource, RegistryEntry registryEntry, DataBody dataBody, QueryAdapter - queryAdapter, - RepositoryMethodParameterProvider parameterProvider) { - if (dataBody.getRelationships() != null) { - Map additionalProperties = dataBody.getRelationships() - .getAdditionalProperties(); - for (Map.Entry property : additionalProperties.entrySet()) { - if (property.getValue() != null && Iterable.class.isAssignableFrom(property.getValue() - .getClass())) { - //noinspection unchecked - setRelationsField(newResource, - registryEntry, - (Map.Entry) property, - queryAdapter, - parameterProvider); - } else { - //noinspection unchecked - setRelationField(newResource, registryEntry, (Map.Entry) property, queryAdapter, parameterProvider); - } - - } - } - } - - private void setRelationsField(Object newResource, RegistryEntry registryEntry, - Map.Entry> property, QueryAdapter queryAdapter, - RepositoryMethodParameterProvider parameterProvider) { - String propertyName = property.getKey(); - ResourceField relationshipField = registryEntry.getResourceInformation() - .findRelationshipFieldByName(propertyName); - Class relationshipFieldClass = Generics.getResourceClass(relationshipField.getGenericType(), - relationshipField.getType()); - RegistryEntry entry = null; - Class idFieldType = null; - List relationships = new LinkedList<>(); - boolean first = true; - for (LinkageData linkageData : property.getValue()) { - if (first) { - entry = resourceRegistry.getEntry(linkageData.getType(), relationshipFieldClass); - idFieldType = entry.getResourceInformation() - .getIdField() - .getType(); - first = false; - } - Serializable castedRelationshipId = typeParser.parse(linkageData.getId(), idFieldType); - - Object relationObject = fetchRelatedObject(entry, castedRelationshipId, parameterProvider, queryAdapter); - - relationships.add(relationObject); - } - PropertyUtils.setProperty(newResource, relationshipField.getUnderlyingName(), relationships); - } - - protected void setRelationField(Object newResource, RegistryEntry registryEntry, - Map.Entry property, QueryAdapter queryAdapter, - RepositoryMethodParameterProvider parameterProvider) { - - ResourceField relationshipFieldByName = registryEntry.getResourceInformation() - .findRelationshipFieldByName(property.getKey()); - - if (relationshipFieldByName == null) { - throw new ResourceException(String.format("Invalid relationship name: %s", property.getKey())); - } - - Object relationObject; - if (property.getValue() != null) { - RegistryEntry entry = resourceRegistry.getEntry(property.getValue().getType(), - relationshipFieldByName.getType()); - Class idFieldType = entry.getResourceInformation() - .getIdField() - .getType(); - Serializable castedRelationshipId = typeParser.parse(property.getValue().getId(), idFieldType); - - relationObject = fetchRelatedObject(entry, castedRelationshipId, parameterProvider, queryAdapter); - } else { - relationObject = null; - } - - PropertyUtils.setProperty(newResource, relationshipFieldByName.getUnderlyingName(), relationObject); - } - - protected Object fetchRelatedObject(RegistryEntry entry, Serializable relationId, RepositoryMethodParameterProvider parameterProvider, - QueryAdapter queryAdapter) { - return entry.getResourceRepository(parameterProvider).findOne(relationId, queryAdapter).getEntity(); - } -} +package io.katharsis.dispatcher.controller.resource; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import io.katharsis.dispatcher.controller.BaseController; +import io.katharsis.queryspec.internal.QueryAdapter; +import io.katharsis.repository.RepositoryMethodParameterProvider; +import io.katharsis.request.dto.DataBody; +import io.katharsis.request.dto.LinkageData; +import io.katharsis.resource.exception.ResourceException; +import io.katharsis.resource.exception.ResourceNotFoundException; +import io.katharsis.resource.field.ResourceAttributesBridge; +import io.katharsis.resource.field.ResourceField; +import io.katharsis.resource.information.ResourceInformation; +import io.katharsis.resource.information.ResourceInstanceBuilder; +import io.katharsis.resource.registry.RegistryEntry; +import io.katharsis.resource.registry.ResourceRegistry; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.utils.Generics; +import io.katharsis.utils.PropertyUtils; +import io.katharsis.utils.parser.TypeParser; + +public abstract class ResourceUpsert extends BaseController { + final ResourceRegistry resourceRegistry; + final TypeParser typeParser; + protected final ObjectMapper objectMapper; + + public ResourceUpsert(ResourceRegistry resourceRegistry, TypeParser typeParser, ObjectMapper objectMapper) { + this.resourceRegistry = resourceRegistry; + this.typeParser = typeParser; + this.objectMapper = objectMapper; + } + + protected Object newResource(ResourceInformation resourceInformation, DataBody dataBody) { + ResourceInstanceBuilder builder = resourceInformation.getInstanceBuilder(); + return builder.buildResource(dataBody); + } + + protected void setId(DataBody dataBody, Object instance, ResourceInformation resourceInformation) { + if (dataBody.getId() != null) { + String id = dataBody.getId(); + + Serializable castedId = resourceInformation.parseIdString(id); + PropertyUtils.setProperty(instance, resourceInformation.getIdField() + .getUnderlyingName(), castedId); + } + } + + protected void setAttributes(DataBody dataBody, Object instance, ResourceInformation resourceInformation) { + if (dataBody.getAttributes() != null) { + ResourceAttributesBridge resourceAttributesBridge = resourceInformation.getAttributeFields(); + resourceAttributesBridge.setProperties(objectMapper, instance, dataBody.getAttributes()); + } + } + + protected void saveRelations(QueryAdapter queryAdapter, Object savedResource, RegistryEntry registryEntry, DataBody dataBody, + RepositoryMethodParameterProvider parameterProvider) { + if (dataBody.getRelationships() != null) { + Map additionalProperties = dataBody.getRelationships() + .getAdditionalProperties(); + for (Map.Entry property : additionalProperties.entrySet()) { + if (Iterable.class.isAssignableFrom(property.getValue() + .getClass())) { + //noinspection unchecked + saveRelationsField(queryAdapter, savedResource, registryEntry, (Map.Entry) property, registryEntry + .getResourceInformation(), parameterProvider); + } else { + //noinspection unchecked + saveRelationField(queryAdapter, savedResource, registryEntry, (Map.Entry) property, registryEntry + .getResourceInformation(), parameterProvider); + } + + } + } + } + + private void saveRelationsField(QueryAdapter queryAdapter, Object savedResource, RegistryEntry registryEntry, + Map.Entry> property, + ResourceInformation resourceInformation, + RepositoryMethodParameterProvider parameterProvider) { + if (!allTypesTheSame(property.getValue())) { + throw new ResourceException("Not all types are the same for linkage: " + property.getKey()); + } + + String type = getLinkageType(property.getValue()); + RegistryEntry relationRegistryEntry = getRelationRegistryEntry(type); + @SuppressWarnings("unchecked") + Class relationshipIdClass = (Class) relationRegistryEntry + .getResourceInformation() + .getIdField() + .getType(); + List castedRelationIds = new LinkedList<>(); + + for (LinkageData linkageData : property.getValue()) { + Serializable castedRelationshipId = typeParser.parse(linkageData.getId(), relationshipIdClass); + castedRelationIds.add(castedRelationshipId); + } + + Class relationshipClass = relationRegistryEntry.getResourceInformation() + .getResourceClass(); + RelationshipRepositoryAdapter relationshipRepository = registryEntry + .getRelationshipRepositoryForClass(relationshipClass, parameterProvider); + ResourceField relationshipField = resourceInformation.findRelationshipFieldByName(property.getKey()); + //noinspection unchecked + relationshipRepository.setRelations(savedResource, castedRelationIds, + relationshipField.getUnderlyingName(), queryAdapter); + } + + private static boolean allTypesTheSame(Iterable linkages) { + String type = linkages.iterator() + .hasNext() ? linkages.iterator() + .next() + .getType() : null; + for (LinkageData linkageData : linkages) { + if (!Objects.equals(type, linkageData.getType())) { + return false; + } + } + return true; + } + + protected String getLinkageType(Iterable linkages) { + return linkages.iterator() + .hasNext() ? linkages.iterator() + .next() + .getType() : null; + } + + private void saveRelationField(QueryAdapter queryAdapter, Object savedResource, RegistryEntry registryEntry, + Map.Entry property, ResourceInformation resourceInformation, + RepositoryMethodParameterProvider parameterProvider) { + RegistryEntry relationRegistryEntry = getRelationRegistryEntry(property.getValue() + .getType()); + + @SuppressWarnings("unchecked") + Class relationshipIdClass = (Class) relationRegistryEntry + .getResourceInformation() + .getIdField() + .getType(); + Serializable castedRelationshipId = typeParser.parse(property.getValue() + .getId(), relationshipIdClass); + + Class relationshipClass = relationRegistryEntry.getResourceInformation() + .getResourceClass(); + RelationshipRepositoryAdapter relationshipRepository = registryEntry + .getRelationshipRepositoryForClass(relationshipClass, parameterProvider); + ResourceField relationshipField = resourceInformation.findRelationshipFieldByName(property.getKey()); + //noinspection unchecked + relationshipRepository.setRelation(savedResource, castedRelationshipId, relationshipField.getUnderlyingName(), + queryAdapter); + } + + private RegistryEntry getRelationRegistryEntry(String type) { + RegistryEntry relationRegistryEntry = resourceRegistry.getEntry(type); + if (relationRegistryEntry == null) { + throw new ResourceNotFoundException(type); + } + return relationRegistryEntry; + } + + Object buildNewResource(RegistryEntry registryEntry, DataBody dataBody, String resourceName) { + if (dataBody == null) { + throw new ResourceException("No data field in the body."); + } + if (!resourceName.equals(dataBody.getType())) { + throw new ResourceException(String.format("Inconsistent type definition between path and body: body type: " + + "%s, request type: %s", + dataBody.getType(), + resourceName)); + } + try { + return registryEntry.getResourceInformation() + .getResourceClass() + .newInstance(); + } catch (InstantiationException | IllegalAccessException e) { + throw new ResourceException( + String.format("couldn't create a new instance of %s", registryEntry.getResourceInformation() + .getResourceClass())); + } + } + + protected void setRelations(Object newResource, RegistryEntry registryEntry, DataBody dataBody, QueryAdapter + queryAdapter, + RepositoryMethodParameterProvider parameterProvider) { + if (dataBody.getRelationships() != null) { + Map additionalProperties = dataBody.getRelationships() + .getAdditionalProperties(); + for (Map.Entry property : additionalProperties.entrySet()) { + if (property.getValue() != null && Iterable.class.isAssignableFrom(property.getValue() + .getClass())) { + //noinspection unchecked + setRelationsField(newResource, + registryEntry, + (Map.Entry) property, + queryAdapter, + parameterProvider); + } else { + //noinspection unchecked + setRelationField(newResource, registryEntry, (Map.Entry) property, queryAdapter, parameterProvider); + } + + } + } + } + + private void setRelationsField(Object newResource, RegistryEntry registryEntry, + Map.Entry> property, QueryAdapter queryAdapter, + RepositoryMethodParameterProvider parameterProvider) { + String propertyName = property.getKey(); + ResourceField relationshipField = registryEntry.getResourceInformation() + .findRelationshipFieldByName(propertyName); + Class relationshipFieldClass = Generics.getResourceClass(relationshipField.getGenericType(), + relationshipField.getType()); + RegistryEntry entry = null; + Class idFieldType = null; + List relationships = new LinkedList<>(); + boolean first = true; + for (LinkageData linkageData : property.getValue()) { + if (first) { + entry = resourceRegistry.getEntry(linkageData.getType(), relationshipFieldClass); + idFieldType = entry.getResourceInformation() + .getIdField() + .getType(); + first = false; + } + Serializable castedRelationshipId = typeParser.parse(linkageData.getId(), idFieldType); + + Object relationObject = fetchRelatedObject(entry, castedRelationshipId, parameterProvider, queryAdapter); + + relationships.add(relationObject); + } + PropertyUtils.setProperty(newResource, relationshipField.getUnderlyingName(), relationships); + } + + protected void setRelationField(Object newResource, RegistryEntry registryEntry, + Map.Entry property, QueryAdapter queryAdapter, + RepositoryMethodParameterProvider parameterProvider) { + + ResourceField relationshipFieldByName = registryEntry.getResourceInformation() + .findRelationshipFieldByName(property.getKey()); + + if (relationshipFieldByName == null) { + throw new ResourceException(String.format("Invalid relationship name: %s", property.getKey())); + } + + Object relationObject; + if (property.getValue() != null) { + RegistryEntry entry = resourceRegistry.getEntry(property.getValue().getType(), + relationshipFieldByName.getType()); + Class idFieldType = entry.getResourceInformation() + .getIdField() + .getType(); + Serializable castedRelationshipId = typeParser.parse(property.getValue().getId(), idFieldType); + + relationObject = fetchRelatedObject(entry, castedRelationshipId, parameterProvider, queryAdapter); + } else { + relationObject = null; + } + + PropertyUtils.setProperty(newResource, relationshipFieldByName.getUnderlyingName(), relationObject); + } + + protected Object fetchRelatedObject(RegistryEntry entry, Serializable relationId, RepositoryMethodParameterProvider parameterProvider, + QueryAdapter queryAdapter) { + return entry.getResourceRepository(parameterProvider).findOne(relationId, queryAdapter).getEntity(); + } +} diff --git a/katharsis-core/src/main/java/io/katharsis/resource/include/IncludeLookupSetter.java b/katharsis-core/src/main/java/io/katharsis/resource/include/IncludeLookupSetter.java index a2e8efd5..010a0783 100644 --- a/katharsis-core/src/main/java/io/katharsis/resource/include/IncludeLookupSetter.java +++ b/katharsis-core/src/main/java/io/katharsis/resource/include/IncludeLookupSetter.java @@ -23,7 +23,7 @@ import io.katharsis.resource.information.ResourceInformation; import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; import io.katharsis.response.JsonApiResponse; import io.katharsis.utils.PropertyUtils; diff --git a/katharsis-core/src/main/java/io/katharsis/resource/registry/RegistryEntry.java b/katharsis-core/src/main/java/io/katharsis/resource/registry/RegistryEntry.java index 27c0d5ac..b4892727 100644 --- a/katharsis-core/src/main/java/io/katharsis/resource/registry/RegistryEntry.java +++ b/katharsis-core/src/main/java/io/katharsis/resource/registry/RegistryEntry.java @@ -15,8 +15,8 @@ import io.katharsis.resource.registry.repository.DirectResponseResourceEntry; import io.katharsis.resource.registry.repository.ResourceEntry; import io.katharsis.resource.registry.repository.ResponseRelationshipEntry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; /** * Holds information about a resource of type T and its repositories. diff --git a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/RelationshipRepositoryAdapter.java b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/RelationshipRepositoryAdapter.java similarity index 99% rename from katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/RelationshipRepositoryAdapter.java rename to katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/RelationshipRepositoryAdapter.java index 72427ae7..53dd766c 100644 --- a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/RelationshipRepositoryAdapter.java +++ b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/RelationshipRepositoryAdapter.java @@ -1,4 +1,4 @@ -package io.katharsis.resource.registry.responseRepository; +package io.katharsis.resource.registry.repository.adapter; import java.io.Serializable; import java.util.Arrays; @@ -25,7 +25,7 @@ */ @SuppressWarnings("unchecked") public class RelationshipRepositoryAdapter - extends ResponseRepository { + extends ResponseRepositoryAdapter { private final Object relationshipRepository; private final boolean isAnnotated; diff --git a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/RepositoryRequestSpecImpl.java b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/RepositoryRequestSpecImpl.java similarity index 98% rename from katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/RepositoryRequestSpecImpl.java rename to katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/RepositoryRequestSpecImpl.java index e780c4bc..239e7cce 100644 --- a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/RepositoryRequestSpecImpl.java +++ b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/RepositoryRequestSpecImpl.java @@ -1,4 +1,4 @@ -package io.katharsis.resource.registry.responseRepository; +package io.katharsis.resource.registry.repository.adapter; import java.io.Serializable; import java.util.Arrays; @@ -13,7 +13,6 @@ import io.katharsis.queryspec.internal.QueryAdapter; import io.katharsis.queryspec.internal.QueryParamsAdapter; import io.katharsis.queryspec.internal.QuerySpecAdapter; -import io.katharsis.repository.filter.RepositoryFilterContext; import io.katharsis.request.repository.RepositoryRequestSpec; import io.katharsis.resource.information.ResourceInformation; import io.katharsis.resource.registry.RegistryEntry; diff --git a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/ResourceRepositoryAdapter.java b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/ResourceRepositoryAdapter.java similarity index 98% rename from katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/ResourceRepositoryAdapter.java rename to katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/ResourceRepositoryAdapter.java index dfda9cd2..45249e45 100644 --- a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/ResourceRepositoryAdapter.java +++ b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/ResourceRepositoryAdapter.java @@ -1,4 +1,4 @@ -package io.katharsis.resource.registry.responseRepository; +package io.katharsis.resource.registry.repository.adapter; import java.io.Serializable; @@ -17,7 +17,7 @@ * A repository adapter for resource repository. */ @SuppressWarnings("unchecked") -public class ResourceRepositoryAdapter extends ResponseRepository { +public class ResourceRepositoryAdapter extends ResponseRepositoryAdapter { private final Object resourceRepository; diff --git a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/ResponseRepository.java b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/ResponseRepositoryAdapter.java similarity index 98% rename from katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/ResponseRepository.java rename to katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/ResponseRepositoryAdapter.java index 589d4be0..77301e31 100644 --- a/katharsis-core/src/main/java/io/katharsis/resource/registry/responseRepository/ResponseRepository.java +++ b/katharsis-core/src/main/java/io/katharsis/resource/registry/repository/adapter/ResponseRepositoryAdapter.java @@ -1,4 +1,4 @@ -package io.katharsis.resource.registry.responseRepository; +package io.katharsis.resource.registry.repository.adapter; import java.util.Collections; import java.util.Iterator; @@ -43,13 +43,13 @@ * The methods need to know if a repository is interface- or annotation-based since repository methods have different * signatures. */ -public abstract class ResponseRepository { +public abstract class ResponseRepositoryAdapter { protected ResourceInformation resourceInformation; protected ModuleRegistry moduleRegistry; - public ResponseRepository(ResourceInformation resourceInformation, ModuleRegistry moduleRegistry) { + public ResponseRepositoryAdapter(ResourceInformation resourceInformation, ModuleRegistry moduleRegistry) { this.moduleRegistry = moduleRegistry; this.resourceInformation = resourceInformation; } diff --git a/katharsis-core/src/test/java/io/katharsis/internal/boot/KatharsisBootTest.java b/katharsis-core/src/test/java/io/katharsis/internal/boot/KatharsisBootTest.java index 496b0a4e..fd43e278 100644 --- a/katharsis-core/src/test/java/io/katharsis/internal/boot/KatharsisBootTest.java +++ b/katharsis-core/src/test/java/io/katharsis/internal/boot/KatharsisBootTest.java @@ -16,7 +16,7 @@ import io.katharsis.resource.registry.RegistryEntry; import io.katharsis.resource.registry.ResourceRegistry; import io.katharsis.resource.registry.ServiceUrlProvider; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.JsonApiResponse; public class KatharsisBootTest { diff --git a/katharsis-core/src/test/java/io/katharsis/queryspec/repository/QuerySpecRepositoryTest.java b/katharsis-core/src/test/java/io/katharsis/queryspec/repository/QuerySpecRepositoryTest.java index 21990475..7c11fbdd 100644 --- a/katharsis-core/src/test/java/io/katharsis/queryspec/repository/QuerySpecRepositoryTest.java +++ b/katharsis-core/src/test/java/io/katharsis/queryspec/repository/QuerySpecRepositoryTest.java @@ -18,8 +18,8 @@ import io.katharsis.resource.mock.models.Project; import io.katharsis.resource.mock.models.Task; import io.katharsis.resource.registry.RegistryEntry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; import io.katharsis.response.JsonApiResponse; public class QuerySpecRepositoryTest extends AbstractQuerySpecTest { diff --git a/katharsis-core/src/test/java/io/katharsis/repository/filter/RepositoryFilterTest.java b/katharsis-core/src/test/java/io/katharsis/repository/filter/RepositoryFilterTest.java index 5aec5ddd..cf9aaf83 100644 --- a/katharsis-core/src/test/java/io/katharsis/repository/filter/RepositoryFilterTest.java +++ b/katharsis-core/src/test/java/io/katharsis/repository/filter/RepositoryFilterTest.java @@ -36,8 +36,8 @@ import io.katharsis.resource.registry.ResourceRegistryBuilder; import io.katharsis.resource.registry.ResourceRegistryBuilderTest; import io.katharsis.resource.registry.ResourceRegistryTest; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; public class RepositoryFilterTest { diff --git a/katharsis-core/src/test/java/io/katharsis/resource/include/IncludeLookupSetterTest.java b/katharsis-core/src/test/java/io/katharsis/resource/include/IncludeLookupSetterTest.java index b5c26bd8..f6aee365 100644 --- a/katharsis-core/src/test/java/io/katharsis/resource/include/IncludeLookupSetterTest.java +++ b/katharsis-core/src/test/java/io/katharsis/resource/include/IncludeLookupSetterTest.java @@ -22,8 +22,8 @@ import io.katharsis.resource.mock.models.Task; import io.katharsis.resource.mock.repository.MockRepositoryUtil; import io.katharsis.resource.registry.ResourceRegistry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; @RunWith(MockitoJUnitRunner.class) public class IncludeLookupSetterTest { diff --git a/katharsis-core/src/test/java/io/katharsis/resource/registry/RegistryEntryTest.java b/katharsis-core/src/test/java/io/katharsis/resource/registry/RegistryEntryTest.java index ca145583..3a93460f 100644 --- a/katharsis-core/src/test/java/io/katharsis/resource/registry/RegistryEntryTest.java +++ b/katharsis-core/src/test/java/io/katharsis/resource/registry/RegistryEntryTest.java @@ -24,7 +24,7 @@ import io.katharsis.resource.mock.repository.TaskToProjectRepository; import io.katharsis.resource.registry.repository.AnnotatedResourceEntry; import io.katharsis.resource.registry.repository.DirectResponseRelationshipEntry; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; import nl.jqno.equalsverifier.EqualsVerifier; import nl.jqno.equalsverifier.Warning; diff --git a/katharsis-core/src/test/java/io/katharsis/resource/registry/ResourceRegistryBuilderTest.java b/katharsis-core/src/test/java/io/katharsis/resource/registry/ResourceRegistryBuilderTest.java index 413e2209..d7736cb7 100644 --- a/katharsis-core/src/test/java/io/katharsis/resource/registry/ResourceRegistryBuilderTest.java +++ b/katharsis-core/src/test/java/io/katharsis/resource/registry/ResourceRegistryBuilderTest.java @@ -12,8 +12,9 @@ import io.katharsis.resource.mock.models.Task; import io.katharsis.resource.mock.models.Thing; import io.katharsis.resource.mock.repository.TaskToProjectRepository; -import io.katharsis.resource.registry.responseRepository.RelationshipRepositoryAdapter; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.RelationshipRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; + import org.junit.Assert; import org.junit.Before; import org.junit.Rule; diff --git a/katharsis-core/src/test/java/io/katharsis/response/paging/PagedLinksInformationQuerySpecTest.java b/katharsis-core/src/test/java/io/katharsis/response/paging/PagedLinksInformationQuerySpecTest.java index 1192a5c8..9da07d81 100644 --- a/katharsis-core/src/test/java/io/katharsis/response/paging/PagedLinksInformationQuerySpecTest.java +++ b/katharsis-core/src/test/java/io/katharsis/response/paging/PagedLinksInformationQuerySpecTest.java @@ -11,7 +11,7 @@ import io.katharsis.queryspec.internal.QuerySpecAdapter; import io.katharsis.resource.mock.models.Task; import io.katharsis.resource.registry.RegistryEntry; -import io.katharsis.resource.registry.responseRepository.ResourceRepositoryAdapter; +import io.katharsis.resource.registry.repository.adapter.ResourceRepositoryAdapter; public class PagedLinksInformationQuerySpecTest extends AbstractQuerySpecTest {