Package lv.odylab.evedb.servlet

Source Code of lv.odylab.evedb.servlet.PlanetSchematicsForTypeNameServlet

package lv.odylab.evedb.servlet;

import lv.odylab.evedb.domain.PlanetSchematic;
import lv.odylab.evedb.domain.PlanetSchematicDao;
import lv.odylab.evedb.rpc.dto.PlanetSchematicDto;
import lv.odylab.evedb.rpc.dto.XmlRowsetDto;
import lv.odylab.evedb.service.DtoMapper;

import javax.servlet.ServletException;
import javax.xml.bind.JAXBException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;

public class PlanetSchematicsForTypeNameServlet extends XmlJsonServlet {
    private PlanetSchematicDao planetSchematicDao;
    private DtoMapper mapper;

    @Override
    public void init() throws ServletException {
        planetSchematicDao = getComponent(PlanetSchematicDao.class);
        mapper = getComponent(DtoMapper.class);
    }

    @Override
    protected Object provideResponse(String typeName) {
        List<PlanetSchematic> planetSchematics = planetSchematicDao.getForTypeName(typeName);
        List<PlanetSchematicDto> result = new ArrayList<PlanetSchematicDto>();
        for (PlanetSchematic planetSchematic : planetSchematics) {
            result.add(mapper.map(planetSchematic));
        }
        return result;
    }

    @Override
    protected void writeXml(Object object, Writer writer) throws JAXBException {
        getMarshaller().marshal(new XmlRowsetDto((List) object), writer);
    }
}
TOP

Related Classes of lv.odylab.evedb.servlet.PlanetSchematicsForTypeNameServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.