Primefaces Project

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>

No comments:

Post a Comment