package jetbrains.mps.ide.httpsupport.runtime.base; /*Generated by MPS */ import org.apache.log4j.Logger; import org.apache.log4j.LogManager; import org.jetbrains.annotations.Nullable; import jetbrains.mps.project.Project; import org.jetbrains.annotations.NotNull; import java.util.List; import jetbrains.mps.project.ProjectManager; import jetbrains.mps.internal.collections.runtime.ListSequence; import jetbrains.mps.internal.collections.runtime.IWhereFilter; import org.apache.log4j.Level; import org.jetbrains.mps.openapi.model.SNode; import org.jetbrains.mps.openapi.model.SNodeReference; import io.netty.handler.codec.http.QueryStringEncoder; import jetbrains.mps.ide.httpsupport.manager.plugin.MPSInternalPortManager; import org.jetbrains.mps.openapi.persistence.PersistenceFacade; public class HttpSupportUtil { private static final Logger LOG = LogManager.getLogger(HttpSupportUtil.class); @Nullable public static Project getProjectByName(@NotNull final String name) { List<Project> openedProjects = ProjectManager.getInstance().getOpenedProjects(); if (ListSequence.fromList(openedProjects).isEmpty()) { return null; } Project project = ListSequence.fromList(openedProjects).findFirst(new IWhereFilter<Project>() { public boolean accept(Project it) { return it.getName().equals(name); } }); if (project == null) { project = ListSequence.fromList(openedProjects).first(); if (LOG.isEnabledFor(Level.WARN)) { LOG.warn("Can't find project '" + name + "'. Using '" + project.getName() + "' instead."); } } return project; } public static Integer parseInt(String str) { try { return Integer.valueOf(str); } catch (NumberFormatException e) { return null; } } public static Long parseLong(String str) { try { return Long.valueOf(str); } catch (NumberFormatException e) { return null; } } public static Float parseFloat(String str) { try { return Float.valueOf(str); } catch (NumberFormatException e) { return null; } } public static Double parseDouble(String str) { try { return Double.valueOf(str); } catch (NumberFormatException e) { return null; } } public static String getURL(SNode node) { return getURL(node.getReference()); } public static String getURL(SNodeReference nodeRef) { QueryStringEncoder encoder = new QueryStringEncoder("http://127.0.0.1:" + MPSInternalPortManager.PORT + "/node"); encoder.addParam("ref", PersistenceFacade.getInstance().asString(nodeRef)); return encoder.toString(); } }