/**
*
*/
package de.urszeidler.shr5.webserver;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.Servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.ImageLoader;
import de.urszeidler.eclipse.shr5.util.AdapterFactoryUtil;
import de.urszeidler.shr5.scripting.Script;
/**
* A simple servlet to access the imageprivider.
*
* @author urs
*/
public class ImageServlet extends HttpServlet implements Servlet {
/**
*
*/
private static final long serialVersionUID = 3125249689120452870L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
String uriFragment = request.getParameter("uriFragment");
if(uriFragment==null){
return;
}
Script script = Activator.getDefault().getScriptService().getCurrentScript();
if(script==null)
return;
EObject eObject = script.eResource().getEObject(uriFragment);
if(eObject==null)
return;
Image image = AdapterFactoryUtil.getInstance().getLabelProvider().getImage(eObject);
if(image==null)
return;
ImageLoader imageLoader = new ImageLoader();
imageLoader.data = new ImageData[] {image.getImageData()};
OutputStream out = response.getOutputStream();
response.setContentType("image/png");
imageLoader.save(out,SWT.IMAGE_PNG);
out.close();
}
}