Commit 466075a2 authored by Noel Alonso's avatar Noel Alonso
Browse files

Elimina orika y referencias a este

En su defecto, para realizar el mapping se llamará a un método que
encapsulará la implementación del mismo
parent 302fb0ef
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@
		<redmic.broker-lib.version>0.10.0-feature-atlasMicroservice</redmic.broker-lib.version>
		
		<!-- OTHERS -->
		<ma.glasnost.orika.core.version>1.5.2</ma.glasnost.orika.core.version>
	</properties>

	<dependencies>
@@ -43,13 +42,6 @@
			<artifactId>broker-lib</artifactId>
			<version>${redmic.broker-lib.version}</version>
		</dependency>
		
		<dependency>
			<groupId>ma.glasnost.orika</groupId>
			<artifactId>orika-core</artifactId>
			<version>${ma.glasnost.orika.core.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>
	<repositories>
		<repository>
+0 −11
Original line number Diff line number Diff line
@@ -46,8 +46,6 @@ import es.redmic.models.es.common.view.JsonViewsForQueryDTO;
import es.redmic.models.es.common.view.JsonViewsForQueryDTO.ViewClassInterface;
import es.redmic.models.es.utils.JacksonFieldUtils;
import es.redmic.restlib.common.service.UserUtilsServiceItfc;
import es.redmic.viewlib.config.MapperScanBeanItfc;
import ma.glasnost.orika.MappingContext;

public abstract class RBaseService<TModel extends BaseES<?>, TDTO extends CommonDTO, TQueryDTO extends SimpleQueryDTO> {

@@ -62,9 +60,6 @@ public abstract class RBaseService<TModel extends BaseES<?>, TDTO extends Common
	@Autowired
	protected ObjectMapper objectMapper;

	@Autowired
	protected MapperScanBeanItfc mapper;

	@Autowired
	UserUtilsServiceItfc userService;

@@ -134,12 +129,6 @@ public abstract class RBaseService<TModel extends BaseES<?>, TDTO extends Common
		queryDTO.checkFieldsExcludedOnQuery();
	}

	protected MappingContext getMappingContext() {

		globalProperties.put("targetTypeDto", typeOfTDTO);
		return new MappingContext(globalProperties);
	}

	protected abstract String[] getDefaultSearchFields();

	protected abstract String[] getDefaultHighlightFields();
+0 −152
Original line number Diff line number Diff line
package es.redmic.viewlib.config;

/*-
 * #%L
 * view-lib
 * %%
 * 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 java.util.Map;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

import ma.glasnost.orika.Converter;
import ma.glasnost.orika.CustomMapper;
import ma.glasnost.orika.Filter;
import ma.glasnost.orika.Mapper;
import ma.glasnost.orika.MapperFacade;
import ma.glasnost.orika.MapperFactory;
import ma.glasnost.orika.impl.ConfigurableMapper;
import ma.glasnost.orika.impl.DefaultMapperFactory;

/**
 * A bean mapper designed for Spring suitable for dependency injection.
 * 
 * Provides an implementation of {@link MapperFacade} which can be injected. In
 * addition it is "Spring aware" in that it can autodiscover any implementations
 * of {@link Mapper} or {@link Converter} that are managed beans within it's
 * parent {@link ApplicationContext}.
 * 
 * @author Ken Blair
 */

public abstract class MapperScanBeanBase extends ConfigurableMapper implements ApplicationContextAware {

	public MapperScanBeanBase() {
		super(false);
	}

	protected MapperFactory factory;

	private ApplicationContext applicationContext;

	/**
	 * {@inheritDoc}
	 */
	@Override
	public void configureFactoryBuilder(final DefaultMapperFactory.Builder factoryBuilder) {
		// customize the factoryBuilder as needed
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public void configure(final MapperFactory factory) {

		this.factory = factory;
		addAllSpringBeans();
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {
		this.applicationContext = applicationContext;
		this.init();
	}

	/**
	 * Adds all managed beans of type {@link Mapper} or {@link Converter} to the
	 * parent {@link MapperFactory}.
	 * 
	 * @param applicationContext
	 *            The application context to look for managed beans in.
	 */

	public void addAllSpringBeans() {
		@SuppressWarnings("rawtypes")
		final Map<String, Converter> converters = applicationContext.getBeansOfType(Converter.class);
		for (@SuppressWarnings("rawtypes")
		final Converter converter : converters.values()) {
			addConverter(converter);
		}

		@SuppressWarnings("rawtypes")
		final Map<String, CustomMapper> mappers = applicationContext.getBeansOfType(CustomMapper.class);
		for (@SuppressWarnings("rawtypes")
		final CustomMapper mapper : mappers.values()) {
			addMapper(mapper);
		}

		@SuppressWarnings("rawtypes")
		final Map<String, Filter> filters = applicationContext.getBeansOfType(Filter.class);
		for (@SuppressWarnings("rawtypes")
		final Filter filter : filters.values()) {
			addFilter(filter);
		}

		addObjectFactory();
		addDefaultActions();
	}

	/**
	 * Add a {@link Converter}.
	 * 
	 * @param converter
	 *            The converter.
	 */
	public void addConverter(final Converter<?, ?> converter) {
		factory.getConverterFactory().registerConverter(converter);
	}

	/**
	 * Add a {@link Mapper}.
	 * 
	 * @param mapper
	 *            The mapper.
	 */
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public void addMapper(final CustomMapper<?, ?> mapper) {
		factory.classMap(mapper.getAType(), mapper.getBType()).byDefault().customize((CustomMapper) mapper).register();
	}

	public void addFilter(final Filter<?, ?> filter) {
		factory.registerFilter(filter);
	}

	protected abstract void addObjectFactory();

	protected abstract void addDefaultActions();

	public MapperFacade getMapperFacade() {
		return factory.getMapperFacade();
	}
}
+0 −48
Original line number Diff line number Diff line
package es.redmic.viewlib.config;

/*-
 * #%L
 * view-lib
 * %%
 * 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.context.ApplicationContext;
import org.springframework.stereotype.Component;

import ma.glasnost.orika.Converter;
import ma.glasnost.orika.CustomMapper;
import ma.glasnost.orika.MapperFacade;
import ma.glasnost.orika.MapperFactory;
import ma.glasnost.orika.impl.DefaultMapperFactory;

@Component
public interface MapperScanBeanItfc {
	
	public void configureFactoryBuilder(final DefaultMapperFactory.Builder factoryBuilder);

	public void configure(final MapperFactory factory);

	public void setApplicationContext(final ApplicationContext applicationContext);

	public void addAllSpringBeans();

	public void addConverter(final Converter<?, ?> converter);

	public void addMapper(final CustomMapper<?, ?> mapper);
	
	public MapperFacade getMapperFacade();
}
+11 −14
Original line number Diff line number Diff line
@@ -24,19 +24,17 @@ import java.util.List;
import java.util.Map;
import java.util.Set;

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

import es.redmic.brokerlib.avro.common.CommonDTO;
import es.redmic.exception.common.ExceptionType;
import es.redmic.exception.common.InternalException;
import es.redmic.models.es.common.dto.AggregationsDTO;
import es.redmic.models.es.common.dto.JSONCollectionDTO;
import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.common.query.dto.MgetDTO;
import es.redmic.models.es.common.query.dto.SimpleQueryDTO;
import es.redmic.models.es.data.common.model.DataHitWrapper;
import es.redmic.models.es.data.common.model.DataHitsWrapper;
import es.redmic.models.es.data.common.model.DataSearchWrapper;
import es.redmic.viewlib.common.service.RBaseService;
import es.redmic.viewlib.config.MapperScanBeanItfc;
import es.redmic.viewlib.data.dto.MetaDTO;
import es.redmic.viewlib.data.repository.IDataRepository;

@@ -45,9 +43,6 @@ public abstract class RDataService<TModel extends BaseES<?>, TDTO extends Common

	IDataRepository<TModel, TQueryDTO> repository;

	@Autowired
	protected MapperScanBeanItfc mapper;

	public RDataService(IDataRepository<TModel, TQueryDTO> repository) {
		this.repository = repository;
	}
@@ -55,7 +50,7 @@ public abstract class RDataService<TModel extends BaseES<?>, TDTO extends Common
	@Override
	public MetaDTO<?> findById(String id) {

		return mapper.getMapperFacade().map(repository.findById(id), MetaDTO.class, getMappingContext());
		return viewResultToDTO(repository.findById(id));
	}

	@Override
@@ -79,17 +74,13 @@ public abstract class RDataService<TModel extends BaseES<?>, TDTO extends Common

		processQuery(query, fixedQuery, fieldsExcludedOnQuery);

		DataSearchWrapper<?> result = repository.find(query);

		JSONCollectionDTO collection = mapper.getMapperFacade().map(result.getHits(), JSONCollectionDTO.class);
		collection.set_aggs(mapper.getMapperFacade().map(result.getAggregations(), AggregationsDTO.class));
		return collection;
		return viewResultToDTO(repository.find(query));
	}

	@Override
	public JSONCollectionDTO mget(MgetDTO dto) {

		return mapper.getMapperFacade().map(repository.mget(dto), JSONCollectionDTO.class);
		return viewResultToDTO(repository.mget(dto));
	}

	@Override
@@ -115,6 +106,12 @@ public abstract class RDataService<TModel extends BaseES<?>, TDTO extends Common
		return repository.suggest(queryDTO);
	}

	protected abstract MetaDTO<?> viewResultToDTO(DataHitWrapper<?> viewResult);

	protected abstract JSONCollectionDTO viewResultToDTO(DataSearchWrapper<?> viewResult);

	protected abstract JSONCollectionDTO viewResultToDTO(DataHitsWrapper<?> viewResult);

	@Override
	protected String[] getDefaultSearchFields() {
		return new String[] { "name", "name.suggest" };
Loading