----------------------------landing.xhtml-----------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html>
<ui:composition template="../include/templates/hibuTemplate.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core">
<f:loadBundle basename="messages_analytics" var="msg"/>
<ui:define name="pageTitle">
<h:outputFormat value="#{msg['landing.title']}" escape="false">
<f:param value="#{msg['landing.page.title']}" />
</h:outputFormat>
</ui:define>
<ui:define name="customStyle">
<link rel="stylesheet" type="text/css" href="../css/hibu/landing.css" />
</ui:define>
<ui:define name="customScript">
<script type="text/javascript" src="../js/hibu/landing.js"></script>
</ui:define>
<ui:define name="content">
<div id="content">
<div class="pageTitle">
<h:outputText value="#{msg['landing.page.description']}"/>
</div>
<h:form>
<c:set var="landing" value="#{presentationManagementBase.landing}"/>
<!-- Search Product -->
<ui:include src="components/product.xhtml">
<ui:param name="productList" value="#{landing.searchProductList}"></ui:param>
<ui:param name="productName" value="Search"></ui:param>
</ui:include>
.......
</h:form>
</div>
</ui:define>
</ui:composition>
-------------------------hibuTemplate.xhtml--------------------------------------------------------------------------------------
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:yb="http://reports.yellowbook.com/ns/wr">
<f:loadBundle basename="messages_analytics" var="msg"/>
<head>
<title>
<ui:insert name="pageTitle"/>
</title>
<!-- meta -->
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE"/>
<meta http-equiv="Expires" CONTENT="0"/>
<meta http-equiv="Cache-Control" CONTENT="no-cache"/>
<meta http-equiv="Pragma" CONTENT="no-cache"/>
<link rel="shortcut icon" type="image/x-icon" href="../images/hibu/favicon.ico"/>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="../yui/container/assets/skins/sam/container.css"/>
<link rel="stylesheet" type="text/css" href="../yui/fonts/fonts-min.css"/>
<link rel="stylesheet" type="text/css" href="../yui/datatable/assets/skins/sam/resource.htm?name=yahoo_styles_widgets"/>
<link rel="stylesheet" type="text/css" href="../css/hibu/common.css"/>
<link rel="stylesheet" type="text/css" href="../css/hibu/hibuYuiTable.css"/>
<ui:insert name="customStyle"/>
<!-- javascript -->
<script type="text/javascript" src="../dwr/engine.js"/>
<script type="text/javascript" src="../dwr/util.js"/>
<script type="text/javascript">
dwr.engine.setErrorHandler(function (msg, err) {
var eName = (err instanceof Error) ? "JS Error" : "DWR Exception";
var myE = new Error((err.message || msg) + " (" + (err.javaClassName ? err.javaClassName : eName) + ")");
myE.cause = err;
myE.name = eName;
if (window.console){
console.error(myE);
}else{
setTimeout(function() {
throw myE
}, 0);
}
});
</script>
<script type="text/javascript" src="../resource.htm?name=yahoo_core"></script>
<script type="text/javascript" src="../js/hibu/lib/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="../dwr/interface/jBaseManager.js"></script>
<script type="text/javascript" src="../js/hibu/common.js"></script>
<yb:js>
$.extend(true, ybApp.msg, <yb:jsValue value="#{msg}" converterId="messagesConverter"/>);
ybApp.features = <yb:jsValue value="#{presentationManagementBase.reportFeatures}" converterId="featuresConverter"/>;
$.extend(true, ybApp.filter, <h:outputText value="#{presentationManagementBase.initFilterData}" escape="false"/>);
</yb:js>
<ui:insert name="customScript"/>
</head>
<body class="yui-skin-sam">
<div id="loginInfoWrapper">
<ui:include src="../general/hibu/loginInfo.xhtml"/>
</div>
<div id="outerWrapper">
<div id="mainWrapper">
<ui:include src="../general/hibu/header.xhtml"/>
<ui:insert name="content"/>
<div class="clear"></div>
<ui:include src="../general/hibu/footer.xhtml"/>
</div>
</div>
<div style="height:0px;width:0px;visibility:hidden">
<ui:insert name="dialogs"/>
</div>
<!-- Google Analytics and Tracker -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-7193248-2");
pageTracker._trackPageview();
} catch(err) {
}
</script>
</body>
</html>
-------------------header.xhtml----------------------------------------------------------------------------------------------------------
<div id="header" class="clearBlock" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:f="http://java.sun.com/jsf/core">
<f:loadBundle basename="messages_analytics" var="msg"/>
<div class="logo">
<img alt="logo" class="logoImg" src="../images/hibu/logo.png" />
</div>
<div class="siteName">
<span class="subBrand"><h:outputText value="#{msg['common.header.name']}"/></span>
<span class="department"><h:outputText value="#{msg['common.header.sub.name']}"/></span>
</div>
<c:set var="isAssigned" value="#{presentationManagementBase.assignedAnalystInfo.name!='WebReach'}"/>
<c:if test="#{!empty presentationManagementBase.currentMediaBuyUser.contactInfo and showSelectOptions == 'true'}">
<div id="selectOptions" class="selectOptions">
<div class="selectBox">
<span class="surface"> <input class="ui-btn-text" type="text"
id="differentProductInput" value="" /> <span class="ui-icon"></span>
</span> <select class="selection" οnchange="changeDifferentProduct();"
id="productSelect">
</select>
</div>
<div class="selectBox">
<span class="surface"> <input class="ui-btn-text" type="text"
id="accountSelectInput" value="" /> <span class="ui-icon"></span>
</span> <select id="accountSelect" class="selection"
οnchange="changeAccount();">
</select>
</div>
<a class="productNameReportsButton buttonStyle"
οnclick="viewDifferentProduct();">View</a>
</div>
<div class="clear"></div>
<div class="scTitle"></div>
</c:if>
</div>
-------------\web\WEB-INF\faces-config.xml-------------------------------------------------
<?xml version='1.0' encoding='UTF-8'?>
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<!--faces-config version="1.2"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"-->
<faces-config>
<application>
<view-handler>
com.sun.facelets.FaceletViewHandler
</view-handler>
</application>
<application>
<variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
<message-bundle>
messages_analytics
</message-bundle>
</application>
<!-- JSF conversion helpers -->
<converter id="wrMessagesConverter">
<converter-id>messagesConverter</converter-id>
<converter-class>com.yellowbook.presentation.utils.convert.MessagesConverter</converter-class>
</converter>
<!--Google Maps API Key manager for maps demos -->
<managed-bean>
<managed-bean-name>googleMapsAPIKey</managed-bean-name>
<managed-bean-class>com.yellowbook.presentation.utils.GoogleMapsAPIKey</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>propFileLocation</property-name>
<value>/webreach/config/webreach.properties</value>
</managed-property>
</managed-bean>
<!-- failed to authenticate -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>failure</from-outcome>
<to-view-id>/include/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- MB_name equals "SEOA" or "SEOW" -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>isSEOMB</from-outcome>
<to-view-id>/include/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- customers without any data -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>nomediabuy</from-outcome>
<to-view-id>/include/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- username or password not input -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>nouserpw</from-outcome>
<to-view-id>/include/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- password'length less than 6 letters -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>errpwlen</from-outcome>
<to-view-id>/include/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- first-time users -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>firstloggedin</from-outcome>
<to-view-id>/campaign/firstlogin.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- manager/analyst login -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>notcustomer</from-outcome>
<to-view-id>/campaign/customerSelector.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- search product login -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.getDemoSelect}</from-action>
<from-outcome>searchdashboard</from-outcome>
<to-view-id>/campaign/searchDashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.getWRBDemoSelect}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/campaign/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- normal login -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>landing</from-outcome>
<to-view-id>/campaign/landing.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>dashboard</from-outcome>
<to-view-id>/campaign/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{authenticationManager.login}</from-action>
<from-outcome>noreport</from-outcome>
<to-view-id>/campaign/noreport.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- logged out manually -->
<navigation-rule>
<navigation-case>
<from-action>#{authenticationManager.logout}</from-action>
<from-outcome>loggedout</from-outcome>
<to-view-id>/include/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- next page -->
<navigation-rule>
<!-- level multi mediabuy -->
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>multidashboard</from-outcome>
<to-view-id>/campaign/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<!-- level single -->
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>singledashboard</from-outcome>
<to-view-id>/campaign/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<!-- level product searchdashboard -->
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>searchdashboard</from-outcome>
<to-view-id>/campaign/searchDashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>searchdailyactivity</from-outcome>
<to-view-id>/campaign/dailyactivity.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>searchkeywordclick</from-outcome>
<to-view-id>/campaign/keywordclick.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>searchadText</from-outcome>
<to-view-id>/campaign/adText.xhtml</to-view-id>
<redirect/>
</navigation-case>
<!-- TODO : level product socialdashboard -->
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>socialdashboard</from-outcome>
<to-view-id>/campaign/socialDashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<!-- level product displaydashboard -->
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>displaydashboard</from-outcome>
<to-view-id>/campaign/displayDashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>display_activecampain</from-outcome>
<to-view-id>/campaign/displayDailyActivity.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>display_ads</from-outcome>
<to-view-id>/campaign/displayAdText.xhtml</to-view-id>
<redirect/>
</navigation-case>
<!-- level product listingdashboard -->
<navigation-case>
<from-action>#{presentationManagementBase.getNextPage}</from-action>
<from-outcome>listingdashboard</from-outcome>
<to-view-id>/campaign/listingDashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
.......
<!-- select medibuy on landing page -->
<navigation-case>
<from-action>#{presentationManagementBase.selectMediabuy}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/campaign/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<!-- my profile -->
<navigation-case>
<from-action>#{presentationManagementBase.showProfile}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/campaign/myProfile.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.showHelp}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/campaign/helpCenter.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.showGoogleReport}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/campaign/googleReports.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<!-- back page -->
<navigation-rule>
<navigation-case>
<from-action>#{presentationManagementBase.getBackPage}</from-action>
<from-outcome>multidashboard</from-outcome>
<to-view-id>/campaign/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-action>#{presentationManagementBase.getBackPage}</from-action>
<from-outcome>singledashboard</from-outcome>
<to-view-id>/campaign/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
......
</navigation-rule>
<managed-bean>
<managed-bean-name>userManagers</managed-bean-name>
<managed-bean-class>com.yellowbook.presentation.analytics.userManager</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>wvd</property-name>
<value>#{webvisibility}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>authenticationManager</managed-bean-name>
<managed-bean-class>com.yellowbook.presentation.analytics.AuthenticationPresManager</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>usersDao</property-name>
<value>#{usersHibernateDao}</value>
</managed-property>
<managed-property>
<property-name>base</property-name>
<value>#{presentationManagementBase}</value>
</managed-property>
<managed-property>
<property-name>usersFacade</property-name>
<value>#{usersFacadeManager}</value>
</managed-property>
<managed-property>
<property-name>mediaBuyFacade</property-name>
<value>#{mediaBuyFacade}</value>
</managed-property>
<managed-property>
<property-name>lastStatus</property-name>
<value/>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>presentationManagementBase</managed-bean-name>
<managed-bean-class>com.yellowbook.presentation.analytics.PresentationManagementBase</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>presentationBase</property-name>
<value>#{presentationAdaptorBase}</value>
</managed-property>
<managed-property>
<property-name>reportFeatures</property-name>
<value/>
</managed-property>
<managed-property>
<property-name>baseURI</property-name>
<value/>
</managed-property>
<managed-property>
<property-name>persistentFilter</property-name>
<value/>
</managed-property>
<managed-property>
<property-name>productService</property-name>
<value>#{productService}</value>
</managed-property>
</managed-bean>
.........
<navigation-rule>
<navigation-case>
<from-action>#{cancellationSurveyPresManager.submit}</from-action>
<to-view-id>/survey/thankYou.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>healthChecker</managed-bean-name>
<managed-bean-class>com.yellowbook.presentation.analytics.utilty.HealthChecker</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<!-- end of ybleads entries -->
</faces-config>
-------------------------------\web\WEB-INF\web.xml---------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>file:d:/FibonacciXue/work/webreach/config/log4j/analytics/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jExposeWebAppRoot</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>smtphost</param-name>
<param-value>210.22.128.203</param-value>
</context-param>
<context-param>
<param-name>typeaheadurl</param-name>
<param-value>http://ybkopwrdev03:8080/ybtypeahead/categorytypeahead</param-value>
</context-param>
<context-param>
<param-name>buildNumber</param-name>
<param-value>${build.number}</param-value>
</context-param>
<context-param>
<param-name>budgetEstimator.costMargin</param-name>
<param-value>0.58</param-value>
</context-param>
<context-param>
<param-name>webreachEmail</param-name>
<param-value>gang.chen@yellowbook.com</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext-extract.xml
/WEB-INF/classes/applicationContext.xml
/WEB-INF/classes/applicationContext-address-parser.xml
/WEB-INF/classes/application-geocoder.xml
/WEB-INF/classes/applicationContext-jdbc.xml
/WEB-INF/classes/applicationContext-jdbc-report.xml
/WEB-INF/classes/applicationContext-jdbc-analytics.xml
/WEB-INF/classes/applicationContext-builder.xml
/WEB-INF/classes/applicationContext-service.xml
/WEB-INF/classes/applicationContext-jms.xml
/WEB-INF/classes/applicationContext-override.xml
/WEB-INF/classes/applicationContext-quartz.xml
/WEB-INF/classes/applicationContext-quartz-demo.xml
/WEB-INF/classes/applicationContext-adaptor.xml
/WEB-INF/classes/applicationContext-healthcheck.xml
/WEB-INF/classes/applicationContext-mediabuycall.xml
</param-value>
</context-param>
<context-param>
<param-name>javax.faces.application.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<!--context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param-->
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
<description>
State saving method: "client" or "server" (= default)
See JSF Specification 2.5.2
</description>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>facelets.SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>
/WEB-INF/yellowwr/custom.taglib.xml;
/WEB-INF/yellowcp/custom.taglib.xml
</param-value>
<!--<param-value>/WEB-INF/yellowwr/custom.taglib.xml</param-value>-->
</context-param>
<context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>com.yellowbook.listener.SessionPageVisitListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>AutoComplete Servlet</servlet-name>
<servlet-class>com.yellowbook.presentation.servlet.AutoComplete</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>Mapping Import Servlet</servlet-name>
<servlet-class>com.yellowbook.presentation.servlet.MappingImport</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Debug Info Servlet</servlet-name>
<servlet-class>com.yellowbook.presentation.servlet.DebugInfo</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Email Tracking Servlet</servlet-name>
<servlet-class>com.yellowbook.presentation.servlet.EmailTracking</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!--<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>-->
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<!-- (to enable directory mapping without the htm extension -->
<!--<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/dispatch/*</url-pattern>
</servlet-mapping>-->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AutoComplete Servlet</servlet-name>
<url-pattern>/autocomplete</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Mapping Import Servlet</servlet-name>
<url-pattern>/mappingimport</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Debug Info Servlet</servlet-name>
<url-pattern>/debuginfo</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Email Tracking Servlet</servlet-name>
<url-pattern>/emailcheck</url-pattern>
</servlet-mapping>
<filter>
<filter-name>customHibernateFilter</filter-name>
<filter-class>com.yellowbook.presentation.filter.YBOpenSessionsInViewFilter</filter-class>
<init-param>
<param-name>firstSessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
<init-param>
<param-name>secondSessionFactoryBeanName</param-name>
<param-value>ybSessionFactory</param-value>
</init-param>
</filter>
<filter>
<filter-name>DwrFacesFilter</filter-name>
<filter-class>org.directwebremoting.faces.FacesExtensionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>DwrFacesFilter</filter-name>
<url-pattern>/dwr/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>customHibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--
<filter-mapping>
<filter-name>ybHibernateFilter</filter-name>
<url-pattern>/web-analytics/*</url-pattern>
</filter-mapping>
-->
<filter>
<description>
Require that the user log in before accessing any page with
url-pattern /campaign/*
</description>
<filter-name>SecurityFilter</filter-name>
<filter-class>
com.yellowbook.filter.security.AnalyticsSecurityFilter
</filter-class>
<init-param>
<param-name>com.superpages.vts.LoginURI</param-name>
<param-value>/include/login.jsf</param-value>
</init-param>
<init-param>
<description>
ViewIds for which this filter must not forward back to
the login page.
</description>
<param-name>com.yellowbook.filter.Security.NoForwardViewIds</param-name>
<param-value>/include/welcome.jsf /campaign/helpCenter.xhtml /campaign/displaySpecAds.xhtml /campaign/components/vervePreviewAd.html</param-value>
</init-param>
<init-param>
<description>
same as webreach.keyFile defined in webreach.static.properties file through Spring
</description>
<param-name>webreach.keyFile</param-name>
<param-value>/webreach/data/security/key.dat</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/campaign/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/index.html</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jExtensionHelper.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<!-- <filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jBaseManager.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jAdText.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping> -->
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jAdvertiser.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jClickReport.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jCallTracking.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jDailyActivity.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<!-- <filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jDashBoard.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>-->
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/dwr/interface/jUserManager.js</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.html
</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!--TODO: setup JAWR to reenable this-->
<!--<servlet>
<servlet-name>ResourceServlet</servlet-name>
<servlet-class>net.jawr.web.servlet.JawrServlet</servlet-class>
<init-param>
<param-name>configLocation</param-name>
<param-value>jawr.properties</param-value>
</init-param>
<init-param>
<param-name>mapping</param-name>
<param-value>/resources/*</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ResourceServlet</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>-->
<!--<error-page>
<error-code>500</error-code>
<location>/include/error.jsf</location>
</error-page>-->
<!-- <security-constraint>
<web-resource-collection>
<web-resource-name>Automatic SLL Forwarding</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>
CONFIDENTIAL
</transport-guarantee>
</user-data-constraint>
</security-constraint> -->
</web-app>