// Copyright 2006 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.google.enterprise.connector.servlet; import com.google.enterprise.connector.manager.Context; import com.google.enterprise.connector.manager.Manager; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.util.logging.Logger; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SetScheduleNoGSA extends HttpServlet { private static final Logger LOG = Logger.getLogger(SetScheduleNoGSA.class.getName()); /** * Returns the manager config (form) for now. * * @param req * @param res * @throws IOException */ @Override protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { res.setContentType(ServletUtil.MIMETYPE_HTML); PrintWriter out = res.getWriter(); out.print("<HTML><HEAD><TITLE>Set Schedule</TITLE></HEAD>"); out.print("<BODY><H3>Schedule:</H3>"); out.print("<HR><FORM METHOD=POST " + "ACTION=\"/connector-manager/setScheduleTest\"><TABLE>"); out.println("<tr><td>Connector Name</td> <td><INPUT TYPE=\"TEXT\" " + "NAME=\"" + ServletUtil.XMLTAG_CONNECTOR_NAME + "\"></td></tr>"); out.println("<tr><td>Load</td> <td><INPUT TYPE=\"TEXT\" " + "NAME=\"load\"></td></tr>"); out.print("<tr><td><INPUT type=\"radio\" NAME=\"forTime\" VALUE=\"all\">For all day/night</td></tr>"); out.print("<tr><td><INPUT type=\"radio\" NAME=\"forTime\" VALUE=\"some\">For some time intervals</td></tr>"); out.print("<tr><td><TEXTAREA NAME=\"" + ServletUtil.XMLTAG_TIME_INTERVALS + "\" rows=\"10\" cols=\"16\"></TEXTAREA></td></tr>"); out.println("<tr><td><INPUT TYPE=\"SUBMIT\" " + "NAME=\"action\" VALUE=\"submit\"></td></tr>"); out.println("</TABLE></FORM></BODY></HTML>"); out.close(); } /** * Returns the simple response if successfully setting the manager config. * * @param req * @param res * @throws IOException */ @Override protected void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException { String forTime = req.getParameter("forTime"); String timeIntervals = null; if (forTime.equalsIgnoreCase("some")) { timeIntervals = req.getParameter(ServletUtil.XMLTAG_TIME_INTERVALS); } else { timeIntervals = "0-24"; } StringWriter writer = new StringWriter(); writer.write("<" + ServletUtil.XMLTAG_CONNECTOR_SCHEDULES + ">\n"); writer.write(" <" + ServletUtil.XMLTAG_CONNECTOR_NAME + ">" + req.getParameter(ServletUtil.XMLTAG_CONNECTOR_NAME) + "</" + ServletUtil.XMLTAG_CONNECTOR_NAME + ">\n"); writer.write(" <" + ServletUtil.XMLTAG_LOAD + ">" + req.getParameter(ServletUtil.XMLTAG_LOAD) + "</" + ServletUtil.XMLTAG_LOAD + ">\n"); writer.write(" <" + ServletUtil.XMLTAG_TIME_INTERVALS + ">"); if (timeIntervals.indexOf("\r\n") != -1) { writer.write(timeIntervals.replaceAll("\r\n", ":")); } else { writer.write(timeIntervals.replace('\n', ':')); } writer.write("</" + ServletUtil.XMLTAG_TIME_INTERVALS + ">\n"); writer.write("</" + ServletUtil.XMLTAG_CONNECTOR_SCHEDULES + ">\n"); writer.close(); LOG.info(writer.getBuffer().toString()); res.setContentType(ServletUtil.MIMETYPE_XML); PrintWriter out = res.getWriter(); Manager manager = Context.getInstance().getManager(); ConnectorMessageCode status = SetSchedule.handleDoPost(writer.getBuffer().toString(), manager); ServletUtil.writeResponse(out, status); out.close(); } }