Commit e9e6f053 authored by Noel Alonso's avatar Noel Alonso
Browse files

Crea base común para controladores geo y de datos

parent a4d1c69e
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
package es.redmic.commandslib.controller;

import java.lang.reflect.ParameterizedType;
import java.util.HashMap;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import es.redmic.brokerlib.avro.common.CommonDTO;
import es.redmic.commandslib.service.JsonSchemaService;

public abstract class CommandBaseController<TDTO extends CommonDTO> {

	protected static Logger logger = LogManager.getLogger();

	protected Class<TDTO> typeOfTDTO;

	@Autowired
	JsonSchemaService jsonSchemaService;

	@SuppressWarnings("unchecked")
	public CommandBaseController() {

		this.typeOfTDTO = (Class<TDTO>) (((ParameterizedType) getClass().getGenericSuperclass())
				.getActualTypeArguments()[0]);
	}

	@GetMapping(value = "${controller.mapping.EDIT_SCHEMA}")
	@ResponseBody
	public HashMap<String, Object> getJsonSchema() {

		return jsonSchemaService.getJsonSchema(typeOfTDTO.getName());
	}
}
+2 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import es.redmic.exception.databinding.DTONotValidException;
import es.redmic.models.es.common.dto.BodyItemDTO;
import es.redmic.models.es.common.dto.SuperDTO;

public abstract class CommandController<TDTO extends CommonDTO> {
public abstract class CommandController<TDTO extends CommonDTO> extends CommandBaseController<TDTO> {

	protected static Logger logger = LogManager.getLogger();

@@ -77,6 +77,7 @@ public abstract class CommandController<TDTO extends CommonDTO> {
		return new SuperDTO(true);
	}

	@Override
	@GetMapping(value = "${controller.mapping.EDIT_SCHEMA}")
	@ResponseBody
	public HashMap<String, Object> getJsonSchema() {