Default interface of each component in ATG Dynamo Administration displays properties and methods. Oracle ATG provides a way to override this default behavior by each component.One such example is /atg/dynamo/DeploymentAgent where a snapshot ID can be forced.
How-to-Code: Override the method createAdminServlet and create either a subclass or nested class as show below.
/**
* This is the class to add new Magic Numbers for handling Product Support Issues with file uploads
*
* @see atg.nucleus.GenericService#createAdminServlet()
*/
@Override
protected Servlet createAdminServlet() {
return new AdminServlet(this, getNucleus());
}
/**
* this class will implement methods needed to set new magic numbers
*
* @author sgatupa
*/
class AdminServlet extends ServiceAdminServlet {
private static final long serialVersionUID = 1L;
public AdminServlet(final Object pService, final Nucleus pNucleus) {
super(pService, pNucleus);
}
@Override
protected void printAdmin(final HttpServletRequest httpservletrequest,
final HttpServletResponse httpservletresponse,
final ServletOutputStream output) throws ServletException, IOException {
printCustomform(httpservletrequest,httpservletresponse,output);
processFormData(httpservletrequest,httpservletresponse,output);
}
protected void printCustomform(final HttpServletRequest httpservletrequest,
final HttpServletResponse httpservletresponse,
final ServletOutputStream output) throws ServletException,
IOException {
output.println("<H1>Form to set New Magic numbers</H1>");
output.println("<ol>");
output.println("<li>Enter the data</li>");
output.println("<li>Then click on Add Magic Numbers</li>");
output.println("</ol>");
output.println(HTML_LINE_SEPARATOR);
output.print("<form action=\"");
output.print(formatServiceName(httpservletrequest.getPathInfo(), httpservletrequest));
output.println("\" method=POST>");
output.println("<input type=text size=70 name=field1>");
output.println("<input type=submit name=submit value=\"Add Magic Numbers\">");
output.println("</form>");
}
protected void processFormData(final HttpServletRequest httpservletrequest,
final HttpServletResponse httpservletresponse,
final ServletOutputStream output) throws IOException {
String paramValue= httpservletrequest.getParameter("field1");
this.propertyOne = paramValue;
output.println("<b>Operation Success. Please verify the property <i>magicNumberToFileTypeMap</i> if new magic numbers are added: </b>: "
+ newMgNumbers);
output.println(HTML_LINE_SEPARATOR);
}
}
How-to-Use: Navigate to the component http://host:port/dyn/admin/nucleus//shamg/Component1.