package com.k_int.ciim.ui.system;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MultivaluedMap;

import com.k_int.ciim.core.management.ManagementServiceImpl;
import com.k_int.ciim.ref.MuseumDataTypeEnum;

@Path("/system/republish")
@Produces("text/html")
public class PublicationManager 
{
	private ManagementServiceImpl mgmt_service = null;
	
	//app context setter
	public void setMgmtService(ManagementServiceImpl mgmtService) 
	{
		mgmt_service = mgmtService;
	}
	
	public PublicationManager(){;}
		
	@POST
	@Consumes("application/x-www-form-urlencoded")
	public void republish(MultivaluedMap<String, String> form_params)
	{
		if(form_params.getFirst("republish") != null)
		{
			if(form_params.getFirst("republish").equalsIgnoreCase("all"))
			{
				mgmt_service.republishAll(false);
			}
			else if(form_params.getFirst("republish").equalsIgnoreCase("type"))
			{
				MuseumDataTypeEnum type = MuseumDataTypeEnum.valueOf(form_params.getFirst("type").toUpperCase());
				
				mgmt_service.republishType(type, false);
			}
			else if(form_params.getFirst("republish").equalsIgnoreCase("individual"))
			{
				mgmt_service.republishData(form_params.getFirst("identifier"), false);
			}
		}
	}
}
