package com.citizen.bean;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.apache.log4j.Logger;
import com.citizen.service.CitizenService;
import com.pojo.Citizen;
@ManagedBean(name = "CreateCitizenBean")
@ViewScoped
public class CreateCitizenBean implements Serializable {
private static final long serialVersionUID = 1L;
static final Logger loger = Logger.getLogger(CreateCitizenBean.class);
private String title;
private String name;
private String address;
private String mobile;
private String district;
private String electorate;
private String email;
private String gender;
private String nic;
private String description;
@ManagedProperty("#{CitizenService}")
private CitizenService citizenService;
private Map<String, String> districts = new HashMap<String, String>();
@PostConstruct
public void init() {
districts = new HashMap<String, String>();
districts.put("Colombo", "Colombo");
districts.put("Kalutara", "Kalutara");
districts.put("Gampaha", "Gampaha");
districts.put("Hambanthota", "Hambanthota");
districts.put("Mathara", "Mathara");
districts.put("Galle", "Galle");
}
public void addCitizen() {
loger.info("<--Execute addCitizen -->");
Citizen citizen = new Citizen();
citizen.setTitle(getTitle());
citizen.setName(getName());
citizen.setAddress(getAddress());
citizen.setDescription(getDescription());
citizen.setMobile(getMobile());
citizen.setGender(getGender());
citizen.setDistrict(getDistrict());
citizen.setElectorate(getElectorate());
citizen.setEmail(getEmail());
citizen.setNic(getNic());
boolean addState = citizenService.createCitizen(citizen);
loger.info("<--Stwrd Add State-->" + addState);
if (addState) {
resetData();
loger.debug("<--Citizen Data Successfully Added-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Successfully Added", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
} else {
loger.warn("<--Citizen Data Add Operation Fail-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Add Operation Fail", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
void resetData() {
setTitle(null);
setName(null);
setAddress(null);
setDescription(null);
setMobile(null);
setGender(null);
setDistrict(null);
setElectorate(null);
setEmail(null);
setNic(null);
}
--------------------------------------------------------------------------------------------------------------------------
package com.citizen.service;
import java.io.Serializable;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.apache.log4j.Logger;
import com.citizen.manager.CitizenManager;
import com.pojo.Citizen;
@ManagedBean(name = "CitizenService")
@ViewScoped
public class CitizenService implements Serializable {
private static final long serialVersionUID = 1L;
static final Logger logger = Logger.getLogger(CitizenService.class);
public boolean createCitizen(Citizen citizen) {
boolean saveState = false;
CitizenManager citizenManager = new CitizenManager();
saveState = citizenManager.createCitizen(citizen);
return saveState;
}
public boolean modifyCitizen(Citizen citizen) {
CitizenManager citizenManager = new CitizenManager();
boolean editState = citizenManager.modifyCitizen(citizen);
return editState;
}
public List<Citizen> loadDisplayList(String actionType) {
CitizenManager citizenManager = new CitizenManager();
List<Citizen> citizenList = citizenManager.loadCitizenList(actionType);
return citizenList;
}
public List<Citizen> searchCitizen(Date fromDate, Date toDate) {
CitizenManager citizenManager = new CitizenManager();
List<Citizen> resultList = citizenManager.searchCitizen(fromDate,
toDate);
return resultList;
}
public List<Citizen> deleteCitizen(List<Citizen> stewardList,
List<Citizen> selectedCitizens) {
CitizenManager citizenManager = new CitizenManager();
Iterator<Citizen> iterator = selectedCitizens.iterator();
while (iterator.hasNext()) {
Citizen citizen = iterator.next();
citizenManager.deleteCitizen(citizen);
stewardList.remove(citizen);
}
return stewardList;
}
public List<Citizen> searchTable(Date fromDate, Date toDate) {
CitizenManager citizenManager = new CitizenManager();
List<Citizen> resultList = citizenManager.searchCitizen(fromDate,
toDate);
return resultList;
}
}
--------------------------------------------------------------------------------------------------------------------------
package com.citizen.manager;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.common.ActionTypeEnum;
import com.pojo.Citizen;
import com.util.HibernateUtil;
public class CitizenManager {
static final Logger logger = Logger.getLogger(CitizenManager.class);
public CitizenManager() {
}
public boolean createCitizen(Citizen citizen) {
logger.info("<--Execute createCitizen-->");
boolean saveState = false;
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
citizen.setAddedDate(new Date(System.currentTimeMillis()));
citizen.setStatCode(new Short((short) 1));
// save
session.save(citizen);
transaction.commit();
saveState = true;
} catch (Exception e) {
transaction.rollback();
logger.error("--Error: createCitizen-->" + e);
} finally {
if (session != null)
session.close();
}
return saveState;
}
public List<Citizen> loadCitizenList(String actionType) {
logger.info("<--Execute loadCitizen()-->");
List<Citizen> stewardList = null;
Session session = null;
String hql = null;
session = HibernateUtil.getSessionFactory().openSession();
try {
if (actionType.equalsIgnoreCase(ActionTypeEnum.MODIFY
.getActionType())
|| actionType.equalsIgnoreCase(ActionTypeEnum.DELETE
.getActionType())
|| actionType.equalsIgnoreCase(ActionTypeEnum.EXTERNAL
.getActionType())) {
hql = "FROM Citizen S WHERE S.statCode = :statCode and S.addedDate = :addedDate ORDER BY S.citizenId";
} else {
hql = "FROM Citizen S WHERE S.statCode = :statCode and S.addedDate = :addedDate ORDER BY S.citizenId";
}
Query query = session.createQuery(hql);
query.setParameter("statCode", new Short((short) 1));
query.setParameter("addedDate",
new Date(System.currentTimeMillis()));
stewardList = query.list();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return stewardList;
}
public List<Citizen> searchCitizen(Date fromDate, Date toDate) {
logger.info("<--Execute CitizenManager searchCitizen()-->");
List<Citizen> stewardList = null;
String hql = null;
Session session = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
hql = "FROM Citizen AS S WHERE S.statCode = :statCode and S.addedDate BETWEEN :fromDate AND :toDate ORDER BY S.citizenId";
Query query = session.createQuery(hql);
query.setParameter("statCode", new Short((short) 1));
if (fromDate == null || toDate == null) {
query.setParameter("fromDate",
new Date(System.currentTimeMillis()));
query.setParameter("toDate",
new Date(System.currentTimeMillis()));
} else {
query.setParameter("fromDate", fromDate);
query.setParameter("toDate", toDate);
}
stewardList = query.list();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return stewardList;
}
public boolean modifyCitizen(Citizen citizen) {
boolean editState = false;
Session session = null;
Transaction transaction = null;
try {
logger.info("<--Execute Edit Citizen-->");
session = HibernateUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
citizen.setModDate(new Date(System.currentTimeMillis()));
citizen.setStatCode(new Short((short) 1));
// Update
session.update(citizen);
transaction.commit();
editState = true;
logger.info("--Citizen edit State-->" + editState);
} catch (Exception ex) {
transaction.rollback();
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return editState;
}
public boolean deleteCitizen(Citizen citizen) {
logger.info("<--Execute CitizenManager deleteCitizen()-->");
boolean editState = false;
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
citizen.setModDate(new Date(System.currentTimeMillis()));
citizen.setStatCode(new Short((short) 10));
// Update
session.update(citizen);
transaction.commit();
editState = true;
} catch (Exception ex) {
transaction.rollback();
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return editState;
}
}
--------------------------------------------------------------------------------------------------------------------------
package com.citizen.bean;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.primefaces.event.RowEditEvent;
import com.citizen.service.CitizenService;
import com.login.bean.LoginBean;
import com.pojo.Citizen;
@ManagedBean(name = "ModifyCitizenBean")
@ViewScoped
public class ModifyCitizenBean implements Serializable{
private static final long serialVersionUID = 1L;
static final Logger logger = Logger.getLogger(ModifyCitizenBean.class);
private int citizenId;
private String title;
private String name;
private String address;
private String mobile;
private String district;
private String electorate;
private String email;
private String gender;
private String nic;
private String description;
private List<Citizen> displayList;
private Citizen selectedObj;
private Citizen selectedObjTmp;
private List<Citizen> selectedList;
private List<Citizen> filteredList;
private Date fromDate;
private Date toDate;
@ManagedProperty("#{LoginBean }")
private LoginBean loginBean;
@ManagedProperty("#{CitizenService}")
private CitizenService citizenService;
@PostConstruct
public void init() {
String reqParam = null;
try {
logger.info("<--Execute Init-->");
HttpServletRequest request = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
reqParam = request.getParameter("param");
setDisplayList(citizenService.loadDisplayList(reqParam));
} catch (Exception e) {
logger.info("Init Data Loading Error" + e);
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"System Error", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
public void modifyCitizen() {
logger.info("<--Execute ModifyCitizenBean editCitizen()-->");
Citizen citizen = selectedObj;
//citizen.setCitizenId(getCitizenId());
citizen.setName(getName());
citizen.setAddress(getAddress());
citizen.setDescription(getDescription());
citizen.setMobile(getMobile());
citizen.setGender(getGender());
//citizen.setModBy(loginBean.getUserName());
boolean editState = citizenService.modifyCitizen(citizen);
if (editState) {
logger.debug("--Citizen Data Successfully Edited-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Successfully Edited", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
} else {
logger.warn("<--Citizen Data Edit Operation Fail-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Edit Operation Fail", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
public void editCancel() {
logger.info("<--Execute ModifyCitizenBean editCancel()-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_WARN,
"Edit Cancelled", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void search() {
logger.info("<--Execute search-->");
setDisplayList(citizenService.searchTable(getFromDate(), getToDate()));
}
public void setSelectedObj(Citizen selectedObj) {
this.selectedObj = selectedObj;
logger.info("selectedObj" + selectedObj);
if (selectedObj != null) {
setSelectedObjTmp(selectedObj);
setCitizenId(selectedObj.getCitizenId());
setName(selectedObj.getName());
setAddress(selectedObj.getAddress());
setDescription(selectedObj.getDescription());
setMobile(selectedObj.getMobile());
setGender(selectedObj.getGender());
} else {
logger.warn("<------Object Nullyug------->");
}
}
}
******************************************************************************
log4j.properties
log4j.rootLogger=INFO, CA, FA
#Console Appender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}-%x-%-5p-%c{5}:%m%n
#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=sample.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}-%x-%-5p-%c{5}:%m%n
# Set the logger level of File Appender to WARN
log4j.appender.FA.Threshold = INFO
*********************************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>PrimefacesDemo</display-name>
<welcome-file-list>
<welcome-file>login.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>FacesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>south-street</param-value>
</context-param>
</web-app>
*********************************************************************************
CreateCitizen.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<f:view contentType="text/html">
<h:head>
</h:head>
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="north" size="60" resizable="false"
styleClass="layout" closable="false" collapsible="false">
<ui:insert name="heading">
<ui:include src="../header.xhtml" />
</ui:insert>
</p:layoutUnit>
<p:layoutUnit position="south" size="5" resizable="false"
style="border:none" closable="false" collapsible="false">
<ui:insert name="heading">
<ui:include src="../footer.xhtml" />
</ui:insert>
</p:layoutUnit>
<p:layoutUnit position="west" header="Services" size="220"
resizable="false" closable="false" collapsible="true">
<ui:insert name="heading">
<ui:include src="../menu.xhtml" />
</ui:insert>
</p:layoutUnit>
<p:layoutUnit position="center">
<h:form>
<p:growl id="growl" sticky="false" showDetail="false" />
<p:panel header="Citizen Registration" style="border:none">
<h:panelGrid id="reg_pnl_grd" columns="4" cellpadding="5">
<h:outputLabel for="title" value="Title " />
<p:selectOneMenu id="title" style="width:125px"
value="#{CreateCitizenBean.title}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItem itemLabel="Mr." itemValue="Mr." />
<f:selectItem itemLabel="miss" itemValue="miss" />
<f:selectItem itemLabel="Mrs." itemValue="Mrs." />
<f:selectItem itemLabel="Rev." itemValue="Rev." />
<f:selectItem itemLabel="Dr." itemValue="Dr." />
</p:selectOneMenu>
<h:outputLabel for="name" value="Name * " />
<p:inputText id="name" value="#{CreateCitizenBean.name}"
required="true" requiredMessage="Citizen Name is Required"
validatorMessage="Name Max Limit Exceeded - Max Limit is 50 Characters">
<f:validateLength maximum="50" for="name" />
</p:inputText>
<h:outputLabel value="Address * " />
<p:inputTextarea rows="3" cols="19"
value="#{CreateCitizenBean.address}" maxlength="200"
counterTemplate="{0} characters remaining." autoResize="false" />
<h:outputLabel value="Description * " />
<p:inputTextarea rows="3" cols="19"
value="#{CreateCitizenBean.description}" maxlength="200"
counterTemplate="{0} characters remaining." autoResize="false" />
<h:outputLabel for="pMobile" value="Phone Mobile * " />
<p:inputText id="pMobile" value="#{CreateCitizenBean.mobile}"
required="true" requiredMessage="Mobile Phone No is Required"
validatorMessage="Phone Mobile Max Limit Exceeded - Max Limit is 15">
<f:validateLength minimum="5" maximum="15" />
</p:inputText>
<h:outputLabel for="gender" value="Gender " />
<p:selectOneMenu id="gender" style="width:125px"
value="#{CreateCitizenBean.gender}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItem itemLabel="male" itemValue="male" />
<f:selectItem itemLabel="female" itemValue="female" />
<f:selectItem itemLabel="other" itemValue="other" />
</p:selectOneMenu>
<h:outputLabel for="electorate" value="Electorate " />
<p:inputText id="electorate"
value="#{CreateCitizenBean.electorate}"
validatorMessage="Electorate Max Limit Exceeded - Max Limit is 20 Characters">
<f:validateLength maximum="20" for="city" />
</p:inputText>
<h:outputLabel for="district" value="District " />
<p:selectOneMenu id="district" style="width:125px"
value="#{CreateCitizenBean.district}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{CreateCitizenBean.districts}" />
</p:selectOneMenu>
<h:outputLabel for="email" value="Email " />
<p:inputText id="email" value="#{CreateCitizenBean.email}"
validatorMessage="Invalid E-mail">
</p:inputText>
<h:outputLabel for="nic" value="NIC/PP/DR " />
<p:inputText id="nic" value="#{CreateCitizenBean.nic}"
validatorMessage="NIC Max Limit Exceeded - Max Limit is 10">
<f:validateLength maximum="10" />
</p:inputText>
<f:facet name="footer">
<p:commandButton value="Create" icon="ui-icon-check"
actionListener="#{CreateCitizenBean.addCitizen}"
update="reg_pnl_grd,growl" style="margin:0" />
<p:spacer width="20" height="20" />
<p:commandButton type="reset" value="Reset" icon="ui-icon-check"
style="margin:0" />
</f:facet>
</h:panelGrid>
</p:panel>
</h:form>
</p:layoutUnit>
</p:layout>
</h:body>
</f:view>
</html>
*********************************************************************************
footer.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
</ui:composition>
*********************************************************************************
menu.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:form>
<p:panelMenu>
<p:submenu label="File">
<p:submenu label="Cititzen">
<p:menuitem value="Create" url="/xhtml/citizen/createCitizen.xhtml?param=create" />
<p:menuitem value="Modify" url="/xhtml/citizen/modifyCitizen.xhtml?param=modify" />
<p:menuitem value="Delete" url="/xhtml/citizen/deleteCitizen.xhtml?param=delete" />
<p:menuitem value="View" url="/xhtml/citizen/viewCitizen.xhtml?param=view" />
</p:submenu>
</p:submenu>
<p:submenu label="Messages">
<p:submenu label="Send">
<p:menuitem value="sms modem" url="/xhtml/messages/sendMessage.xhtml?param=send_sms" />
<p:menuitem value="sms list" url="/xhtml/messages/viewSendMessageList.xhtml?param=send_sms" />
<p:menuitem value="sms API" url="/xhtml/messages/sendMessageApi.xhtml?param=send_sms" />
</p:submenu>
</p:submenu>
<p:submenu label="Settings">
<p:submenu label="Settings">
<p:menuitem value="modify" url="/xhtml/settings/modifySettings.xhtml" />
</p:submenu>
</p:submenu>
<p:submenu label="About Us">
<p:submenu label="Details">
<p:menuitem value="contact" url="/xhtml/index.xhtml" />
</p:submenu>
</p:submenu>
</p:panelMenu>
</h:form>
</ui:composition>
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.apache.log4j.Logger;
import com.citizen.service.CitizenService;
import com.pojo.Citizen;
@ManagedBean(name = "CreateCitizenBean")
@ViewScoped
public class CreateCitizenBean implements Serializable {
private static final long serialVersionUID = 1L;
static final Logger loger = Logger.getLogger(CreateCitizenBean.class);
private String title;
private String name;
private String address;
private String mobile;
private String district;
private String electorate;
private String email;
private String gender;
private String nic;
private String description;
@ManagedProperty("#{CitizenService}")
private CitizenService citizenService;
private Map<String, String> districts = new HashMap<String, String>();
@PostConstruct
public void init() {
districts = new HashMap<String, String>();
districts.put("Colombo", "Colombo");
districts.put("Kalutara", "Kalutara");
districts.put("Gampaha", "Gampaha");
districts.put("Hambanthota", "Hambanthota");
districts.put("Mathara", "Mathara");
districts.put("Galle", "Galle");
}
public void addCitizen() {
loger.info("<--Execute addCitizen -->");
Citizen citizen = new Citizen();
citizen.setTitle(getTitle());
citizen.setName(getName());
citizen.setAddress(getAddress());
citizen.setDescription(getDescription());
citizen.setMobile(getMobile());
citizen.setGender(getGender());
citizen.setDistrict(getDistrict());
citizen.setElectorate(getElectorate());
citizen.setEmail(getEmail());
citizen.setNic(getNic());
boolean addState = citizenService.createCitizen(citizen);
loger.info("<--Stwrd Add State-->" + addState);
if (addState) {
resetData();
loger.debug("<--Citizen Data Successfully Added-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Successfully Added", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
} else {
loger.warn("<--Citizen Data Add Operation Fail-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Add Operation Fail", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
void resetData() {
setTitle(null);
setName(null);
setAddress(null);
setDescription(null);
setMobile(null);
setGender(null);
setDistrict(null);
setElectorate(null);
setEmail(null);
setNic(null);
}
--------------------------------------------------------------------------------------------------------------------------
package com.citizen.service;
import java.io.Serializable;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.apache.log4j.Logger;
import com.citizen.manager.CitizenManager;
import com.pojo.Citizen;
@ManagedBean(name = "CitizenService")
@ViewScoped
public class CitizenService implements Serializable {
private static final long serialVersionUID = 1L;
static final Logger logger = Logger.getLogger(CitizenService.class);
public boolean createCitizen(Citizen citizen) {
boolean saveState = false;
CitizenManager citizenManager = new CitizenManager();
saveState = citizenManager.createCitizen(citizen);
return saveState;
}
public boolean modifyCitizen(Citizen citizen) {
CitizenManager citizenManager = new CitizenManager();
boolean editState = citizenManager.modifyCitizen(citizen);
return editState;
}
public List<Citizen> loadDisplayList(String actionType) {
CitizenManager citizenManager = new CitizenManager();
List<Citizen> citizenList = citizenManager.loadCitizenList(actionType);
return citizenList;
}
public List<Citizen> searchCitizen(Date fromDate, Date toDate) {
CitizenManager citizenManager = new CitizenManager();
List<Citizen> resultList = citizenManager.searchCitizen(fromDate,
toDate);
return resultList;
}
public List<Citizen> deleteCitizen(List<Citizen> stewardList,
List<Citizen> selectedCitizens) {
CitizenManager citizenManager = new CitizenManager();
Iterator<Citizen> iterator = selectedCitizens.iterator();
while (iterator.hasNext()) {
Citizen citizen = iterator.next();
citizenManager.deleteCitizen(citizen);
stewardList.remove(citizen);
}
return stewardList;
}
public List<Citizen> searchTable(Date fromDate, Date toDate) {
CitizenManager citizenManager = new CitizenManager();
List<Citizen> resultList = citizenManager.searchCitizen(fromDate,
toDate);
return resultList;
}
}
--------------------------------------------------------------------------------------------------------------------------
package com.citizen.manager;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.common.ActionTypeEnum;
import com.pojo.Citizen;
import com.util.HibernateUtil;
public class CitizenManager {
static final Logger logger = Logger.getLogger(CitizenManager.class);
public CitizenManager() {
}
public boolean createCitizen(Citizen citizen) {
logger.info("<--Execute createCitizen-->");
boolean saveState = false;
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
citizen.setAddedDate(new Date(System.currentTimeMillis()));
citizen.setStatCode(new Short((short) 1));
// save
session.save(citizen);
transaction.commit();
saveState = true;
} catch (Exception e) {
transaction.rollback();
logger.error("--Error: createCitizen-->" + e);
} finally {
if (session != null)
session.close();
}
return saveState;
}
public List<Citizen> loadCitizenList(String actionType) {
logger.info("<--Execute loadCitizen()-->");
List<Citizen> stewardList = null;
Session session = null;
String hql = null;
session = HibernateUtil.getSessionFactory().openSession();
try {
if (actionType.equalsIgnoreCase(ActionTypeEnum.MODIFY
.getActionType())
|| actionType.equalsIgnoreCase(ActionTypeEnum.DELETE
.getActionType())
|| actionType.equalsIgnoreCase(ActionTypeEnum.EXTERNAL
.getActionType())) {
hql = "FROM Citizen S WHERE S.statCode = :statCode and S.addedDate = :addedDate ORDER BY S.citizenId";
} else {
hql = "FROM Citizen S WHERE S.statCode = :statCode and S.addedDate = :addedDate ORDER BY S.citizenId";
}
Query query = session.createQuery(hql);
query.setParameter("statCode", new Short((short) 1));
query.setParameter("addedDate",
new Date(System.currentTimeMillis()));
stewardList = query.list();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return stewardList;
}
public List<Citizen> searchCitizen(Date fromDate, Date toDate) {
logger.info("<--Execute CitizenManager searchCitizen()-->");
List<Citizen> stewardList = null;
String hql = null;
Session session = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
hql = "FROM Citizen AS S WHERE S.statCode = :statCode and S.addedDate BETWEEN :fromDate AND :toDate ORDER BY S.citizenId";
Query query = session.createQuery(hql);
query.setParameter("statCode", new Short((short) 1));
if (fromDate == null || toDate == null) {
query.setParameter("fromDate",
new Date(System.currentTimeMillis()));
query.setParameter("toDate",
new Date(System.currentTimeMillis()));
} else {
query.setParameter("fromDate", fromDate);
query.setParameter("toDate", toDate);
}
stewardList = query.list();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return stewardList;
}
public boolean modifyCitizen(Citizen citizen) {
boolean editState = false;
Session session = null;
Transaction transaction = null;
try {
logger.info("<--Execute Edit Citizen-->");
session = HibernateUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
citizen.setModDate(new Date(System.currentTimeMillis()));
citizen.setStatCode(new Short((short) 1));
// Update
session.update(citizen);
transaction.commit();
editState = true;
logger.info("--Citizen edit State-->" + editState);
} catch (Exception ex) {
transaction.rollback();
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return editState;
}
public boolean deleteCitizen(Citizen citizen) {
logger.info("<--Execute CitizenManager deleteCitizen()-->");
boolean editState = false;
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtil.getSessionFactory().openSession();
transaction = session.beginTransaction();
citizen.setModDate(new Date(System.currentTimeMillis()));
citizen.setStatCode(new Short((short) 10));
// Update
session.update(citizen);
transaction.commit();
editState = true;
} catch (Exception ex) {
transaction.rollback();
ex.printStackTrace();
} finally {
if (session != null)
session.close();
}
return editState;
}
}
--------------------------------------------------------------------------------------------------------------------------
package com.citizen.bean;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.primefaces.event.RowEditEvent;
import com.citizen.service.CitizenService;
import com.login.bean.LoginBean;
import com.pojo.Citizen;
@ManagedBean(name = "ModifyCitizenBean")
@ViewScoped
public class ModifyCitizenBean implements Serializable{
private static final long serialVersionUID = 1L;
static final Logger logger = Logger.getLogger(ModifyCitizenBean.class);
private int citizenId;
private String title;
private String name;
private String address;
private String mobile;
private String district;
private String electorate;
private String email;
private String gender;
private String nic;
private String description;
private List<Citizen> displayList;
private Citizen selectedObj;
private Citizen selectedObjTmp;
private List<Citizen> selectedList;
private List<Citizen> filteredList;
private Date fromDate;
private Date toDate;
@ManagedProperty("#{LoginBean }")
private LoginBean loginBean;
@ManagedProperty("#{CitizenService}")
private CitizenService citizenService;
@PostConstruct
public void init() {
String reqParam = null;
try {
logger.info("<--Execute Init-->");
HttpServletRequest request = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
reqParam = request.getParameter("param");
setDisplayList(citizenService.loadDisplayList(reqParam));
} catch (Exception e) {
logger.info("Init Data Loading Error" + e);
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"System Error", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
public void modifyCitizen() {
logger.info("<--Execute ModifyCitizenBean editCitizen()-->");
Citizen citizen = selectedObj;
//citizen.setCitizenId(getCitizenId());
citizen.setName(getName());
citizen.setAddress(getAddress());
citizen.setDescription(getDescription());
citizen.setMobile(getMobile());
citizen.setGender(getGender());
//citizen.setModBy(loginBean.getUserName());
boolean editState = citizenService.modifyCitizen(citizen);
if (editState) {
logger.debug("--Citizen Data Successfully Edited-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Successfully Edited", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
} else {
logger.warn("<--Citizen Data Edit Operation Fail-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Edit Operation Fail", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
public void editCancel() {
logger.info("<--Execute ModifyCitizenBean editCancel()-->");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_WARN,
"Edit Cancelled", "");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void search() {
logger.info("<--Execute search-->");
setDisplayList(citizenService.searchTable(getFromDate(), getToDate()));
}
public void setSelectedObj(Citizen selectedObj) {
this.selectedObj = selectedObj;
logger.info("selectedObj" + selectedObj);
if (selectedObj != null) {
setSelectedObjTmp(selectedObj);
setCitizenId(selectedObj.getCitizenId());
setName(selectedObj.getName());
setAddress(selectedObj.getAddress());
setDescription(selectedObj.getDescription());
setMobile(selectedObj.getMobile());
setGender(selectedObj.getGender());
} else {
logger.warn("<------Object Nullyug------->");
}
}
}
******************************************************************************
log4j.properties
log4j.rootLogger=INFO, CA, FA
#Console Appender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}-%x-%-5p-%c{5}:%m%n
#File Appender
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=sample.log
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}-%x-%-5p-%c{5}:%m%n
# Set the logger level of File Appender to WARN
log4j.appender.FA.Threshold = INFO
*********************************************************************************
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>PrimefacesDemo</display-name>
<welcome-file-list>
<welcome-file>login.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>FacesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>south-street</param-value>
</context-param>
</web-app>
*********************************************************************************
CreateCitizen.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<f:view contentType="text/html">
<h:head>
</h:head>
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="north" size="60" resizable="false"
styleClass="layout" closable="false" collapsible="false">
<ui:insert name="heading">
<ui:include src="../header.xhtml" />
</ui:insert>
</p:layoutUnit>
<p:layoutUnit position="south" size="5" resizable="false"
style="border:none" closable="false" collapsible="false">
<ui:insert name="heading">
<ui:include src="../footer.xhtml" />
</ui:insert>
</p:layoutUnit>
<p:layoutUnit position="west" header="Services" size="220"
resizable="false" closable="false" collapsible="true">
<ui:insert name="heading">
<ui:include src="../menu.xhtml" />
</ui:insert>
</p:layoutUnit>
<p:layoutUnit position="center">
<h:form>
<p:growl id="growl" sticky="false" showDetail="false" />
<p:panel header="Citizen Registration" style="border:none">
<h:panelGrid id="reg_pnl_grd" columns="4" cellpadding="5">
<h:outputLabel for="title" value="Title " />
<p:selectOneMenu id="title" style="width:125px"
value="#{CreateCitizenBean.title}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItem itemLabel="Mr." itemValue="Mr." />
<f:selectItem itemLabel="miss" itemValue="miss" />
<f:selectItem itemLabel="Mrs." itemValue="Mrs." />
<f:selectItem itemLabel="Rev." itemValue="Rev." />
<f:selectItem itemLabel="Dr." itemValue="Dr." />
</p:selectOneMenu>
<h:outputLabel for="name" value="Name * " />
<p:inputText id="name" value="#{CreateCitizenBean.name}"
required="true" requiredMessage="Citizen Name is Required"
validatorMessage="Name Max Limit Exceeded - Max Limit is 50 Characters">
<f:validateLength maximum="50" for="name" />
</p:inputText>
<h:outputLabel value="Address * " />
<p:inputTextarea rows="3" cols="19"
value="#{CreateCitizenBean.address}" maxlength="200"
counterTemplate="{0} characters remaining." autoResize="false" />
<h:outputLabel value="Description * " />
<p:inputTextarea rows="3" cols="19"
value="#{CreateCitizenBean.description}" maxlength="200"
counterTemplate="{0} characters remaining." autoResize="false" />
<h:outputLabel for="pMobile" value="Phone Mobile * " />
<p:inputText id="pMobile" value="#{CreateCitizenBean.mobile}"
required="true" requiredMessage="Mobile Phone No is Required"
validatorMessage="Phone Mobile Max Limit Exceeded - Max Limit is 15">
<f:validateLength minimum="5" maximum="15" />
</p:inputText>
<h:outputLabel for="gender" value="Gender " />
<p:selectOneMenu id="gender" style="width:125px"
value="#{CreateCitizenBean.gender}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItem itemLabel="male" itemValue="male" />
<f:selectItem itemLabel="female" itemValue="female" />
<f:selectItem itemLabel="other" itemValue="other" />
</p:selectOneMenu>
<h:outputLabel for="electorate" value="Electorate " />
<p:inputText id="electorate"
value="#{CreateCitizenBean.electorate}"
validatorMessage="Electorate Max Limit Exceeded - Max Limit is 20 Characters">
<f:validateLength maximum="20" for="city" />
</p:inputText>
<h:outputLabel for="district" value="District " />
<p:selectOneMenu id="district" style="width:125px"
value="#{CreateCitizenBean.district}">
<f:selectItem itemLabel="Select" itemValue="" />
<f:selectItems value="#{CreateCitizenBean.districts}" />
</p:selectOneMenu>
<h:outputLabel for="email" value="Email " />
<p:inputText id="email" value="#{CreateCitizenBean.email}"
validatorMessage="Invalid E-mail">
</p:inputText>
<h:outputLabel for="nic" value="NIC/PP/DR " />
<p:inputText id="nic" value="#{CreateCitizenBean.nic}"
validatorMessage="NIC Max Limit Exceeded - Max Limit is 10">
<f:validateLength maximum="10" />
</p:inputText>
<f:facet name="footer">
<p:commandButton value="Create" icon="ui-icon-check"
actionListener="#{CreateCitizenBean.addCitizen}"
update="reg_pnl_grd,growl" style="margin:0" />
<p:spacer width="20" height="20" />
<p:commandButton type="reset" value="Reset" icon="ui-icon-check"
style="margin:0" />
</f:facet>
</h:panelGrid>
</p:panel>
</h:form>
</p:layoutUnit>
</p:layout>
</h:body>
</f:view>
</html>
*********************************************************************************
footer.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
</ui:composition>
*********************************************************************************
menu.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:form>
<p:panelMenu>
<p:submenu label="File">
<p:submenu label="Cititzen">
<p:menuitem value="Create" url="/xhtml/citizen/createCitizen.xhtml?param=create" />
<p:menuitem value="Modify" url="/xhtml/citizen/modifyCitizen.xhtml?param=modify" />
<p:menuitem value="Delete" url="/xhtml/citizen/deleteCitizen.xhtml?param=delete" />
<p:menuitem value="View" url="/xhtml/citizen/viewCitizen.xhtml?param=view" />
</p:submenu>
</p:submenu>
<p:submenu label="Messages">
<p:submenu label="Send">
<p:menuitem value="sms modem" url="/xhtml/messages/sendMessage.xhtml?param=send_sms" />
<p:menuitem value="sms list" url="/xhtml/messages/viewSendMessageList.xhtml?param=send_sms" />
<p:menuitem value="sms API" url="/xhtml/messages/sendMessageApi.xhtml?param=send_sms" />
</p:submenu>
</p:submenu>
<p:submenu label="Settings">
<p:submenu label="Settings">
<p:menuitem value="modify" url="/xhtml/settings/modifySettings.xhtml" />
</p:submenu>
</p:submenu>
<p:submenu label="About Us">
<p:submenu label="Details">
<p:menuitem value="contact" url="/xhtml/index.xhtml" />
</p:submenu>
</p:submenu>
</p:panelMenu>
</h:form>
</ui:composition>
No comments:
Post a Comment