package org.objectstyle.wolips.womodeler; import java.util.Map; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.jdt.core.JavaCore; import org.eclipse.swt.widgets.Display; import org.objectstyle.wolips.componenteditor.actions.OpenComponentAction; import org.objectstyle.wolips.womodeler.server.IRequestHandler; import org.objectstyle.wolips.womodeler.server.Request; import org.objectstyle.wolips.womodeler.server.Webserver; public class OpenComponentRequestHandler implements IRequestHandler { public void init(Webserver server) throws Exception { // DO NOTHING } public void handle(Request request) throws Exception { Map<String, String> params = request.getQueryParameters(); String appName = params.get("app"); final IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(appName); if (project != null) { final String componentName = params.get("component"); if (componentName != null) { Display.getDefault().asyncExec(new Runnable() { public void run() { OpenComponentAction.openComponentWithTypeNamed(JavaCore.create(project), componentName); } }); } } request.getWriter().println("ok"); } }