Advertisement
Guest User

Untitled

a guest
May 19th, 2013
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     package admin.mangedbean;
  2.  
  3.     import admin.dao.service.SharableService;
  4.     import admin.dao.service.StateService;
  5.     import java.math.BigDecimal;
  6.     import java.util.ArrayList;
  7.     import java.util.Collections;
  8.     import java.util.List;
  9.     import java.util.Map;
  10.     import javax.annotation.PostConstruct;
  11.     import javax.faces.application.FacesMessage;
  12.     import javax.faces.bean.ManagedBean;
  13.     import javax.faces.bean.RequestScoped;
  14.     import javax.faces.context.FacesContext;
  15.     import javax.faces.event.ActionEvent;
  16.     import model.Country;
  17.     import model.StateTable;
  18.     import org.primefaces.component.datatable.DataTable;
  19.     import org.primefaces.event.CellEditEvent;
  20.     import org.primefaces.event.RowEditEvent;
  21.     import org.primefaces.event.SelectEvent;
  22.     import org.primefaces.model.LazyDataModel;
  23.     import org.primefaces.model.SelectableDataModel;
  24.     import org.primefaces.model.SortOrder;
  25.     import org.springframework.beans.factory.annotation.Autowired;
  26.     import org.springframework.stereotype.Controller;
  27.  
  28.     @Controller
  29.     @ManagedBean
  30.     @RequestScoped
  31.     public final class StateManagedBean extends LazyDataModel<StateTable>
  32.     {
  33.         @Autowired
  34.         private StateService stateService;
  35.         @Autowired
  36.         private SharableService sharableService;
  37.         private final List<StateTable>list;
  38.         private List<StateTable> selectedValues;
  39.         private List<StateTable> filteredValues;
  40.         private List<Country>countries;
  41.         private Long countryId;
  42.         private Long id;
  43.  
  44.         public StateManagedBean()
  45.         {
  46.             list=null;
  47.             stateService=null;
  48.         }
  49.  
  50.         @PostConstruct
  51.         public void init()
  52.         {
  53.             countries=sharableService.getCountryList();        
  54.         }
  55.  
  56.         public List<Country> getCountries()
  57.         {
  58.             if(countries==null)
  59.             {
  60.                 countries=sharableService.getCountryList();
  61.             }
  62.             return countries;
  63.         }
  64.  
  65.         public Long getId()
  66.         {
  67.             return id;
  68.         }
  69.  
  70.         public void setId(Long id)
  71.         {
  72.             this.id = id;
  73.         }
  74.  
  75.         public StateService getStateService() {
  76.             return stateService;
  77.         }
  78.  
  79.         public void setStateService(StateService stateService) {
  80.             this.stateService = stateService;
  81.         }
  82.  
  83.         @Override
  84.         public StateTable getRowData(String rowKey)
  85.         {
  86.             if(list==null)
  87.             {
  88.                 return null;
  89.             }
  90.  
  91.             for(StateTable stateTable:list)
  92.             {
  93.                 if(stateTable.getStateId().toString().equals(rowKey))
  94.                 {
  95.                     return stateTable;
  96.                 }
  97.             }
  98.             return null;
  99.         }
  100.  
  101.         @Override
  102.         public Object getRowKey(StateTable stateTable)
  103.         {
  104.             return stateTable.getStateId();
  105.         }
  106.  
  107.         public List<StateTable> getSelectedValues()
  108.         {
  109.             return selectedValues;
  110.         }
  111.  
  112.         public void setSelectedValues(List<StateTable> selectedValues)
  113.         {        
  114.             this.selectedValues = selectedValues;
  115.         }
  116.  
  117.         public List<StateTable> getFilteredValues()
  118.         {
  119.             return filteredValues;
  120.         }
  121.  
  122.         public void setFilteredValues(List<StateTable> filteredValues)
  123.         {
  124.             this.filteredValues = filteredValues;
  125.         }
  126.  
  127.         public int currentPage(int first, int pageSize)
  128.         {
  129.             return first<=0||pageSize<=0?1:new BigDecimal(first+1).divide(new BigDecimal(pageSize), 0, BigDecimal.ROUND_CEILING).intValue();
  130.         }
  131.  
  132.         @Override
  133.         public void setRowIndex(int rowIndex)
  134.         {
  135.             int pageSize = getPageSize();
  136.             if(rowIndex==-1||pageSize==0)
  137.             {
  138.                 super.setRowIndex(-1);
  139.             }
  140.             else
  141.             {
  142.                  super.setRowIndex(rowIndex%pageSize);
  143.             }
  144.         }
  145.  
  146.         public void setSelectedValue(List<StateTable> stateTables)
  147.         {
  148.             for(StateTable stateTable:stateTables)
  149.             {
  150.                 if(id.equals(stateTable.getStateId()))
  151.                 {                    
  152.                     selectedValues=new ArrayList<StateTable>();
  153.                     selectedValues.add(stateTable);
  154.                     break;
  155.                 }
  156.             }
  157.         }
  158.  
  159.         @Override
  160.         public List<StateTable> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters)
  161.         {        
  162.             int rowCount = stateService.rowCount().intValue();
  163.             int currentPage = currentPage(first, pageSize);
  164.  
  165.             if(rowCount<=currentPage*pageSize-pageSize)
  166.             {
  167.                 first-=pageSize;
  168.             }
  169.  
  170.             if(pageSize<=0)
  171.             {
  172.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_FATAL, "Error!", "The page size supplied is incorrect. The current operation has been rejected.");
  173.                 FacesContext.getCurrentInstance().addMessage(null, message);
  174.                 return Collections.emptyList();
  175.             }
  176.  
  177.             int currentRow=0;
  178.             if(id!=null&&id>0&&stateService.checkId(id))
  179.             {
  180.                 currentRow=(int) (stateService.getCurrentRow(id)-1);            
  181.                 final DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("form:dataTable");
  182.                 first=currentRow-(currentRow%pageSize);
  183.                 dataTable.setFirst(first);
  184.  
  185.             }
  186.  
  187.             if(filters!=null&&!filters.isEmpty())
  188.             {
  189.                 List<StateTable> stateTables = stateService.getList(first, pageSize, sortOrder, sortField, filters);
  190.                 setRowCount(stateTables.size());
  191.                 if(id!=null)
  192.                 {
  193.                     setSelectedValue(stateTables);
  194.                 }            
  195.                 id=null;
  196.                 return stateTables;
  197.             }
  198.             setRowCount(rowCount);
  199.             List<StateTable> stateTables = stateService.getList(first, pageSize, sortOrder, sortField);
  200.  
  201.             if(id!=null)
  202.             {
  203.                 setSelectedValue(stateTables);
  204.             }
  205.             id=null;
  206.             return stateTables;
  207.         }
  208.  
  209.         public void deleteMultiple(ActionEvent actionEvent)
  210.         {
  211.             int size=selectedValues.size();
  212.             if(size<=0)
  213.             {
  214.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Message", "Please select the rows you want to delete.");
  215.                 FacesContext.getCurrentInstance().addMessage(null, message);
  216.             }
  217.             else if(actionEvent.getComponent().getId().equals("confirmDeleteMultiple")&&selectedValues!=null&&!selectedValues.isEmpty())
  218.             {
  219.                 stateService.delete(selectedValues);            
  220.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Sucess!", size+(size==1?" row has":" rows have")+" been deleted successfully as you stated.");
  221.                 FacesContext.getCurrentInstance().addMessage(null, message);
  222.             }
  223.             else
  224.             {
  225.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_FATAL, "System Error",  "Please try again later.");
  226.                 FacesContext.getCurrentInstance().addMessage(null, message);
  227.             }
  228.         }
  229.  
  230.         public void deleteSingle(ActionEvent actionEvent)
  231.         {
  232.             if(actionEvent.getComponent().getId().equals("confirmDeleteSingle")&&selectedValues!=null&&!selectedValues.isEmpty())
  233.             {
  234.                 stateService.delete(selectedValues.get(0).getStateId());
  235.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Sucess!",  "The row with the id "+selectedValues.get(0).getStateId()+" has been deleted successfully as you stated.");
  236.                 FacesContext.getCurrentInstance().addMessage(null, message);
  237.             }
  238.             else
  239.             {
  240.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_FATAL, "System Error",  "Please try again later.");
  241.                 FacesContext.getCurrentInstance().addMessage(null, message);
  242.             }
  243.         }    
  244.  
  245.         public Long getCountryId()
  246.         {
  247.             return countryId;
  248.         }
  249.  
  250.         public void setCountryId(Long countryId)
  251.         {
  252.             this.countryId = countryId;
  253.         }
  254.  
  255.         public void onRowEdit(RowEditEvent event)
  256.         {
  257.             StateTable stateTable=(StateTable) event.getObject();
  258.  
  259.             if(stateService.update(stateTable))
  260.             {
  261.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Success : ",  "The row with the id "+stateTable.getStateId()+" has been updated successfully.");
  262.                 FacesContext.getCurrentInstance().addMessage(null, message);
  263.             }
  264.         }
  265.  
  266.         public void onRowEditCancel(RowEditEvent event)
  267.         {
  268.             StateTable stateTable=(StateTable) event.getObject();
  269.             if(stateTable!=null)
  270.             {
  271.                 FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Warning : ",  "The changes to the row with the id "+stateTable.getStateId()+" were not made, since you have chosen to cancel.");
  272.                 FacesContext.getCurrentInstance().addMessage(null, message);
  273.             }
  274.         }
  275.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement