Skip to content
Snippets Groups Projects
Commit 8f571707 authored by Terry D. Norbraten's avatar Terry D. Norbraten
Browse files

[Terry N.] restore McGregor's XML RPC servlet demo

parent 162a370a
No related branches found
No related tags found
No related merge requests found
//
// SavageSearch.java
//
//
// Created by Don McGregor on 11/16/06.
// Copyright 2006 __MyCompanyName__. All rights reserved.
//
public class SavageSearch
{
/**
* Search a database for a term.
*
* @param database The database to be searched for the term
* @param term The string to search for in the database
* @return a String[] with results from search
*/
public String[] search(String database, String term)
{
String result[] = new String[2];
result[0] = "https://savage.nps.edu/Savage/AircraftFixedWing/AV8B-Harrier-UnitedStates/AV8bHarrier.x3d";
result[1] = "https://savage.nps.edu/Savage/AircraftFixedWing/AV8B-Harrier-UnitedStates/TranslatedAv8bHarrier.x3d";
return result;
}
/**
* Returns hits from an "expansive" search that also searches chapter and section
* headings for the search term
*
* @param database the database to be searched
* @param term the term to search for
* @return a String[] with results from search
*/
public String[] expansiveSearch(String database, String term)
{
return search(database, term);
}
}
import java.io.InputStream;
import java.io.IOException;
import java.lang.System.Logger.Level;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.LogManager;
import org.apache.xmlrpc.webserver.XmlRpcServlet;
import org.apache.logging.log4j.Logger;
/**
* A subclass of XmlRpcServlet that includes logging. This is heavily swiped from
* the example at http://www.petrovic.org/blog/?p=127. It is essentially just a
* subclass that adds logging using the log4j framework.
*
* @author DMcG
*/
public class XmlRpcServletLogging extends XmlRpcServlet {
/** Logger object, logged at the info level */
private static final Logger LOG = LogManager.getLogger(XmlRpcServletLogging.class);
/** Constructor */
public XmlRpcServletLogging() {
LOG.info("{} created", getClass().getName());
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doGet(request,response);
LOG.info("doGet(): {} {}", request, response);
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doPost(request,response);
LOG.info("doPost(): {} {}", request, response);
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
super.init(servletConfig);
LOG.info("{} started", getClass().getName());
}
@Override
public void destroy() {
LOG.info("Stopped {}", getClass().getName());
}
}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="LOG_PATTERN">[%-5level] %d{yyyy MMM dd HH:mm:ss 'GMT'Z} [%t] %C:%L - %m%n</Property>
<Property name="CONSOLE_PATTERN">%highlight{%-5level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green} %style{%d{yyyy MMM dd HH:mm:ss 'GMT'Z}}{blue} [%t] %C:%L - %m%n</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_ERR">
<PatternLayout pattern="${CONSOLE_PATTERN}"/>
</Console>
<RollingFile name="RollingLogFile" fileName="logs/error.log.0" filePattern="logs/error.log.%i" >
<LevelRangeFilter minLevel="FATAL" maxLevel="ERROR" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<OnStartupTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingFile>
<RollingFile name="InfoLog" fileName="logs/xmlrcp.log.0" filePattern="logs/xmldemo.log.%i">
<LevelRangeFilter minLevel="WARN" maxLevel="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<OnStartupTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy max="20" fileIndex="min"/>
</RollingFile>
<RollingFile name="DebugLog" fileName="logs/debug.log.0" filePattern="logs/debug.log.%i">
<LevelRangeFilter minLevel="DEBUG" maxLevel="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${LOG_PATTERN}"/>
<Policies>
<OnStartupTriggeringPolicy/>
</Policies>
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console"/>
<AppenderRef ref="RollingLogFile"/>
<AppenderRef ref="InfoLog" />
<AppenderRef ref="DebugLog"/>
</Root>
</Loggers>
</Configuration>
SavageSearch=SavageSearch
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
<display-name>SavageSearch Example</display-name>
<description>
Savage Search Example
</description>
<servlet>
<servlet-name>Logger</servlet-name>
<servlet-class>XmlRpcServletLogging</servlet-class>
<init-param>
<param-name>enabledForExtensions</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Logger</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- <servlet>
<servlet-name>Searcher</servlet-name>
<servlet-class>org.apache.xmlrpc.webserver.XmlRpcServlet</servlet-class>
<init-param>
<param-name>enabledForExtensions</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Searcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>-->
</web-app>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment