PlaceMapBean.java 2.83 KB
package fi.codecrew.moya.beans;

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.imageio.ImageIO;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.pdfjet.CoreFont;
import com.pdfjet.Image;
import com.pdfjet.ImageType;
import com.pdfjet.PDF;
import com.pdfjet.Page;
import com.pdfjet.TextLine;

import fi.codecrew.moya.facade.EventMapFacade;
import fi.codecrew.moya.facade.PlaceFacade;
import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.EventMap;
import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.Place;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.util.MassPrintResult;

/**
 * Session Bean implementation class PlaceMapBean
 */
@Stateless
public class PlaceMapBean implements PlaceMapBeanLocal {

	/**
	 * Default constructor.
	 */
	public PlaceMapBean() {
		// TODO Auto-generated constructor stub
	}

	@EJB
	private PlaceFacade placeFacade;
	@EJB
	// private EventMapBean eventmapBean;
	private EventMapFacade eventMapFacade;
	@EJB
	private EventBeanLocal eventbean;
	private static final Logger logger = LoggerFactory.getLogger(PlaceMapBean.class);

	@Override
	public Long selectablePlaceCount(EventMap map) {

		return eventMapFacade.countSelectable(map);
	}

	@Override
	public EventMap findMap(Integer mapId) {
		return eventMapFacade.find(mapId);
	}

	@Override
	public Long availablePlaceCount(EventMap map) {
		return eventMapFacade.countAvailable(map);
	}

	@Override
	public EventMap getActiveMap() {
		LanEvent event = eventbean.getCurrentEvent();
		logger.info("Current event: {}, maps {}", event, event.getEventMaps());
		for (EventMap map : event.getEventMaps()) {
			logger.info("Checking active map {}, is active {}", map, map.isActive());
			if (map.isActive()) {
				return map;
			}
		}
		return null;
	}
	
	
	/*
	wanha, poistoon
	public byte[] placeCodesPdf(List<Place> places) {

		// double[] pageSize = new double[] { cardBackground.getWidth(),
		// cardBackground.getHeight() };

		ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

		PDF pdf;
		try {
			pdf = new PDF(outputStream);
		
		pdf.setTitle("placecodes");

		double pagex = 155.9;
		double pagey = 48;


			Page page = new Page(pdf, new double[] { pagex, pagey });

			// Render texts
			// Big font for nick
			com.pdfjet.Font font = new com.pdfjet.Font(pdf, CoreFont.HELVETICA);
			font.setSize(8.0);
			
			TextLine line = new TextLine(font);
			line.setText("testi");
			line.setPosition(1, 1);
			line.setColor(new double[] { 1.0, 1.0, 1.0 });
			line.drawOn(page);

		
		pdf.flush();
		outputStream.close();
		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


		return outputStream.toByteArray();
	}
	*/
}