Commit 25aa2deb authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade mapper para recursos y tests

parent 7d0d846e
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
package es.redmic.es.maintenance.domain.administrative.mapper;

/*-
 * #%L
 * ElasticSearch
 * %%
 * Copyright (C) 2019 REDMIC Project / Server
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import es.redmic.es.common.utils.DataMapperUtils;
import es.redmic.es.maintenance.domain.administrative.service.ResourceTypeESService;
import es.redmic.models.es.administrative.dto.ActivityResourceDTO;
import es.redmic.models.es.administrative.model.ActivityResource;
import es.redmic.models.es.maintenance.administrative.dto.ResourceTypeDTO;
import es.redmic.models.es.maintenance.administrative.model.ResourceType;
import ma.glasnost.orika.CustomMapper;
import ma.glasnost.orika.MappingContext;

@Component
public class ActivityResourceESMapper extends CustomMapper<ActivityResource, ActivityResourceDTO> {

	@Autowired
	ResourceTypeESService resourceTypeESService;

	@Override
	public void mapAtoB(ActivityResource a, ActivityResourceDTO b, MappingContext context) {

		b.setResourceType(mapperFacade.map(a.getResourceType(), ResourceTypeDTO.class));
	}

	@Override
	public void mapBtoA(ActivityResourceDTO b, ActivityResource a, MappingContext context) {

		a.setResourceType(mapperFacade.map(mapperFacade.newObject(b.getResourceType(), DataMapperUtils.getBaseType(),
			DataMapperUtils.getObjectFactoryContext(resourceTypeESService)), ResourceType.class));
	}
}
+25 −4
Original line number Diff line number Diff line
@@ -25,6 +25,9 @@ import static org.mockito.Mockito.when;

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;

import org.json.JSONException;
import org.junit.Before;
import org.junit.Test;
@@ -33,11 +36,7 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;

import es.redmic.es.administrative.mapper.ActivityESMapper;
import es.redmic.es.administrative.mapper.ProjectESMapper;
import es.redmic.es.administrative.repository.ActivityBaseESRepository;
import es.redmic.es.administrative.service.ContactESService;
import es.redmic.es.administrative.service.DocumentESService;
@@ -49,6 +48,7 @@ import es.redmic.es.common.objectFactory.ModelESFactory;
import es.redmic.es.data.common.mapper.DataCollectionMapper;
import es.redmic.es.data.common.mapper.DataItemMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.ActivityDocumentESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.ActivityResourceESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.ContactOrganisationRoleESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.OrganisationRoleESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.PlatformContactRoleESMapper;
@@ -57,10 +57,12 @@ import es.redmic.es.maintenance.domain.administrative.service.ActivityRankESServ
import es.redmic.es.maintenance.domain.administrative.service.ActivityTypeESService;
import es.redmic.es.maintenance.domain.administrative.service.ContactRoleESService;
import es.redmic.es.maintenance.domain.administrative.service.OrganisationRoleESService;
import es.redmic.es.maintenance.domain.administrative.service.ResourceTypeESService;
import es.redmic.es.maintenance.domain.administrative.service.ScopeESService;
import es.redmic.es.maintenance.domain.administrative.service.ThemeInspireESService;
import es.redmic.models.es.administrative.dto.ActivityDTO;
import es.redmic.models.es.administrative.model.Activity;
import es.redmic.models.es.administrative.model.ActivityResource;
import es.redmic.models.es.administrative.model.Contact;
import es.redmic.models.es.administrative.model.Document;
import es.redmic.models.es.administrative.model.Organisation;
@@ -70,6 +72,7 @@ import es.redmic.models.es.administrative.model.Project;
import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.common.model.DomainES;
import es.redmic.models.es.maintenance.administrative.model.ActivityType;
import es.redmic.models.es.maintenance.administrative.model.ResourceType;
import es.redmic.models.es.maintenance.administrative.model.ThemeInspire;
import es.redmic.test.unit.geodata.common.MapperTestUtil;
import ma.glasnost.orika.metadata.TypeFactory;
@@ -119,6 +122,9 @@ public class ActivityMapperTest extends MapperTestUtil {
	@Mock
	ThemeInspireESService themeInspireESService;

	@Mock
	ResourceTypeESService resourceTypeESService;

	@InjectMocks
	ActivityESMapper mapper;

@@ -134,6 +140,9 @@ public class ActivityMapperTest extends MapperTestUtil {
	@InjectMocks
	ActivityDocumentESMapper activityDocumentESMapper;

	@InjectMocks
	ActivityResourceESMapper activityResourceESMapper;

	String modelOutPath = "/data/administrative/activity/model/activity2.json",
			dtoInPath = "/data/administrative/activity/dto/activity.json",
			projectModel = "/data/administrative/project/model/project.json",
@@ -154,6 +163,7 @@ public class ActivityMapperTest extends MapperTestUtil {
		factory.addMapper(platformContactRoleESMapper);
		factory.addMapper(contactOrganisationRoleESMapper);
		factory.addMapper(organisationRoleESMapper);
		factory.addMapper(activityResourceESMapper);
		factory.addMapper(new DataCollectionMapper());
		factory.addMapper(new DataItemMapper());

@@ -184,6 +194,16 @@ public class ActivityMapperTest extends MapperTestUtil {
		themeInspire.setName_en("name_en");
		themeInspire.setCode("code");

		ActivityResource resource = new ActivityResource();
		resource.setId(1L);
		resource.setUrlResource("https://ckan.redmic.es");
		ResourceType resourceType = new ResourceType();
		resourceType.setId(1L);
		resourceType.setName("CKAN");
		resourceType.setName_en("CKAN");
		resourceType.setDescription("Descarga de dataset en CKAN");
		resource.setResourceType(resourceType);

		DomainES domain = (DomainES) getBean(domainModel, DomainES.class);
		when(accessibilityESService.findById(anyString())).thenReturn(domain);
		when(scopeESService.findById(anyString())).thenReturn(domain);
@@ -191,6 +211,7 @@ public class ActivityMapperTest extends MapperTestUtil {
		when(organisationRoleESService.findById(anyString())).thenReturn(domain);
		when(rankESService.findById(anyString())).thenReturn(domain);
		when(themeInspireESService.findById(anyString())).thenReturn(themeInspire);
		when(resourceTypeESService.findById(anyString())).thenReturn(resourceType);
	}

	@Test
+4 −2
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ import es.redmic.es.data.common.mapper.DataItemMapper;
import es.redmic.es.maintenance.device.mapper.CalibrationESMapper;
import es.redmic.es.maintenance.device.mapper.DeviceESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.ActivityDocumentESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.ActivityResourceESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.ActivityTypeESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.ContactOrganisationRoleESMapper;
import es.redmic.es.maintenance.domain.administrative.mapper.OrganisationRoleESMapper;
@@ -101,6 +102,7 @@ public class DataSearchWrapperMapperTest extends DataTestUtil {
		factory.addMapper(new DataCollectionMapper());
		factory.addMapper(new DataItemMapper());
		factory.addMapper(new ActivityTypeESMapper());
		factory.addMapper(new ActivityResourceESMapper());
		factory.addMapper(new ContactOrganisationRoleESMapper());
		factory.addMapper(new OrganisationRoleESMapper());
		factory.addMapper(new PlatformContactRoleESMapper());