private void doAddHost(HttpServletRequest req, HttpServletResponse resp) throws IOException { String rgName = req.getParameter("rgName"); int ringNum = Integer.parseInt(req.getParameter("ringNum")); String hostname = req.getParameter("hostname").trim(); int portNum = Integer.parseInt(req.getParameter("port")); String flagsStr = req.getParameter("hostFlags"); coordinator.getRingGroup(rgName).getRing(ringNum).addHost( new PartitionServerAddress(hostname, portNum), Hosts.splitHostFlags(flagsStr)); resp.sendRedirect("/ring.jsp?g=" + rgName + "&n=" + ringNum); }
@Override protected void action(HttpServletRequest req, HttpServletResponse resp) throws IOException { String domainName = req.getParameter("name"); int numParts = Integer.parseInt(req.getParameter("numParts")); String storageEngineFactoryName = req.getParameter("storageEngineFactorySelect"); if (storageEngineFactoryName.equals("__other__")) { storageEngineFactoryName = req.getParameter("storageEngineFactoryName"); } String storageEngineOptions = req.getParameter("storageEngineOptions"); final String requiredHostFlags = req.getParameter("requiredHostFlags"); String partitionerName = req.getParameter("partitionerSelect"); if (partitionerName.equals("__other__")) { partitionerName = req.getParameter("partitionerOther"); } DomainController.this.coordinator.addDomain(domainName, numParts, storageEngineFactoryName, storageEngineOptions, partitionerName, Hosts.splitHostFlags(requiredHostFlags)); redirect("/domains.jsp", resp); } });
@Override public List<String> getRequiredHostFlags() { String requiredHostFlagsStr = metadata.get().get_required_host_flags(); if (requiredHostFlagsStr == null) { return Collections.emptyList(); } else { return Hosts.splitHostFlags(requiredHostFlagsStr); } }
private void doUpdateDomain(HttpServletRequest req, HttpServletResponse resp) throws IOException { final String domainName = req.getParameter("name"); final String partitionerClassName = req.getParameter("partitionerClassName"); final String requiredHostFlags = req.getParameter("requiredHostFlags"); final String storageEngineFactoryClassName = req.getParameter("storageEngineFactoryClassName"); final String storageEngineOptions = req.getParameter("storageEngineOptions"); final Domain domain = coordinator.getDomain(domainName); if (domain == null) { throw new IOException("Could not get Domain '" + domainName + "' from Configurator."); } else { coordinator.updateDomain(domainName, domain.getNumParts(), storageEngineFactoryClassName, storageEngineOptions, partitionerClassName, Hosts.splitHostFlags(requiredHostFlags)); } resp.sendRedirect("/domains.jsp"); } }
@Override public List<String> getFlags() throws IOException { String flags = metadata.get().get_flags(); return flags == null ? null : Hosts.splitHostFlags(flags); }
private void doUpdate(HttpServletRequest req, HttpServletResponse resp) throws IOException { RingGroup rg = coordinator.getRingGroup(req.getParameter("g")); Ring r = rg.getRing(Integer.parseInt(req.getParameter("n"))); Host h = r.getHostByAddress(PartitionServerAddress.parse(URLEnc.decode(req.getParameter("h")))); h.setFlags(Hosts.splitHostFlags(req.getParameter("hostFlags"))); PartitionServerAddress address = PartitionServerAddress.parse(req.getParameter("hostAddress")); if (!h.getAddress().equals(address)) { h.setAddress(address); // Redirect to Ring (host address has changed) resp.sendRedirect("/ring.jsp?g=" + rg.getName() + "&n=" + r.getRingNumber()); } else { redirectBack(resp, rg, r, h); } }