/** * TNTConcept Easy Enterprise Management by Autentia Real Bussiness Solution S.L. * Copyright (C) 2007 Autentia Real Bussiness Solution S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.autentia.tnt.bean.publish; import java.util.*; import javax.faces.component.UIComponent; import javax.faces.component.html.HtmlDataTable; import javax.faces.model.*; import org.apache.commons.logging.*; import com.autentia.tnt.bean.*; import com.autentia.tnt.businessobject.*; import com.autentia.tnt.dao.*; import com.autentia.tnt.dao.search.*; import com.autentia.tnt.manager.publish.MagazineManager; import com.autentia.tnt.manager.publish.PublicationManager; import com.autentia.tnt.manager.security.Permission; import com.autentia.tnt.upload.*; import com.autentia.tnt.util.*; import org.acegisecurity.acls.domain.BasePermission; /** * UI bean for Publication objects. * @author stajanov code generator */ public class PublicationBean extends BaseBean { /** Serial version field */ private static final long serialVersionUID = -1L; /* publication - generated by stajanov (do not edit/delete) */ /** Logger */ private static final Log log = LogFactory.getLog(PublicationBean.class); /** Active search object */ private PublicationSearch search = new PublicationSearch(); /** Manager */ private static PublicationManager manager = PublicationManager.getDefault(); /** Upload service */ private static final Uploader uploader = UploaderFactory.getInstance("publication"); /** Active Publication object */ private Publication publication; /** Default sort column */ private String sortColumn = "name"; /** Default sort order */ private boolean sortAscending = true; /** Quick search letter for ABC pager control */ private Character letter; /** * List publications. Order depends on Faces parameter sort. * @return the list of all publications sorted by requested criterion */ public List<Publication> getAll(){ return manager.getAllEntities(search, new SortCriteria(sortColumn, sortAscending) ); } // Getters to list possible values of related entities /** * Get the list of all magazines * @return the list of all magazines */ public List<SelectItem> getMagazines(){ List<Magazine> refs = MagazineManager.getDefault().getAllEntities( null, new SortCriteria("name") ); ArrayList<SelectItem> ret = new ArrayList<SelectItem>(); for( Magazine ref : refs ){ ret.add( new SelectItem( ref, ref.getName() ) ); } return ret; } // Getters to list possible values of enum fields // Methods to create/remove instances of one-to-many entities (slave entities) /** * Whether or not create button is available for user * @return true if user can create objects of type Publication */ public boolean isCreateAvailable() { return SpringUtils.isRolePermissionGranted(Permission.Entity_Create(Publication.class)); } /** * Whether or not edit button is available for user * @return true if user can edit current object */ public boolean isEditAvailable() { return SpringUtils.isAclPermissionGranted(publication,BasePermission.WRITE); } /** * Whether or not delete button is available for user * @return true if user can delete current object */ public boolean isDeleteAvailable() { return (publication.getId()!=null) && SpringUtils.isAclPermissionGranted(publication,BasePermission.DELETE); } /** * Go to create page * @return forward to CREATE page */ public String create(){ publication = new Publication(); return NavigationResults.CREATE; } /** * Go to detail page * @return forward to DETAIL page */ public String detail(){ Integer id = Integer.parseInt( FacesUtils.getRequestParameter(ROW_ID) ); publication = manager.getEntityById(id); return SpringUtils.isAclPermissionGranted( publication, BasePermission.WRITE ) ? NavigationResults.EDIT : NavigationResults.DETAIL; } /** * Save bean and stay on it * @return forward to list page */ public String save(){ doBeforeSave(); if( publication.getId()==null ){ manager.insertEntity(publication); } else { manager.updateEntity(publication); } // Calls an after save action String result = doAfterSave(NavigationResults.LIST); // Unselect object publication = null; return result; } /** * Delete bean and go back to beans list * @return forward to LIST page */ public String delete(){ manager.deleteEntity(publication); publication = null; return NavigationResults.LIST; } /** * Go back to beans list * @return forward to LIST page */ public String list(){ return NavigationResults.LIST; } /** * Reset search criteria * @return forward to LIST page */ public String reset(){ search.reset(); return list(); } /** * Go to search page * @return forward to SEARCH page */ public String search(){ return NavigationResults.SEARCH; } /** * Check if we have an active object. * @return true is an object is selected */ public boolean isPublicationSelected(){ return publication!=null; } // Getters and setters to manipulate sorting public boolean isSortAscending() { return sortAscending; } public void setSortAscending(boolean sortAscending) { this.sortAscending = sortAscending; } public String getSortColumn() { return sortColumn; } public void setSortColumn(String sortColumn) { this.sortColumn = sortColumn; } // Getters and setters to handle search public PublicationSearch getSearch(){ return search; } public String getSearchName(){ return search.getName(); } public void setSearchName( String val ){ if( search.isNameSet() ) { search.setName( val ); } } public boolean isSearchNameValid(){ return search.isNameSet(); } public void setSearchNameValid( boolean val ){ if( val ){ search.setName( search.getName() ); } else { search.unsetName(); } } public Date getSearchStartMagazineDeliveryDate(){ return search.getStartMagazineDeliveryDate(); } public void setSearchStartMagazineDeliveryDate( Date val ){ if( val!=null ){ search.setStartMagazineDeliveryDate( val ); } else { search.unsetStartMagazineDeliveryDate(); } } public boolean isSearchStartMagazineDeliveryDateValid(){ return search.isStartMagazineDeliveryDateSet(); } public void setSearchStartMagazineDeliveryDateValid( boolean val ){ if( val ){ search.setStartMagazineDeliveryDate( search.getStartMagazineDeliveryDate() ); } else { search.unsetStartMagazineDeliveryDate(); } } public Date getSearchEndMagazineDeliveryDate(){ return search.getEndMagazineDeliveryDate(); } public void setSearchEndMagazineDeliveryDate( Date val ){ if( val!=null ){ search.setEndMagazineDeliveryDate( val ); } else { search.unsetEndMagazineDeliveryDate(); } } public boolean isSearchEndMagazineDeliveryDateValid(){ return search.isEndMagazineDeliveryDateSet(); } public void setSearchEndMagazineDeliveryDateValid( boolean val ){ if( val ){ search.setEndMagazineDeliveryDate( search.getEndMagazineDeliveryDate() ); } else { search.unsetEndMagazineDeliveryDate(); } } public Date getSearchStartMagazinePublicationDate(){ return search.getStartMagazinePublicationDate(); } public void setSearchStartMagazinePublicationDate( Date val ){ if( val!=null ){ search.setStartMagazinePublicationDate( val ); } else { search.unsetStartMagazinePublicationDate(); } } public boolean isSearchStartMagazinePublicationDateValid(){ return search.isStartMagazinePublicationDateSet(); } public void setSearchStartMagazinePublicationDateValid( boolean val ){ if( val ){ search.setStartMagazinePublicationDate( search.getStartMagazinePublicationDate() ); } else { search.unsetStartMagazinePublicationDate(); } } public Date getSearchEndMagazinePublicationDate(){ return search.getEndMagazinePublicationDate(); } public void setSearchEndMagazinePublicationDate( Date val ){ if( val!=null ){ search.setEndMagazinePublicationDate( val ); } else { search.unsetEndMagazinePublicationDate(); } } public boolean isSearchEndMagazinePublicationDateValid(){ return search.isEndMagazinePublicationDateSet(); } public void setSearchEndMagazinePublicationDateValid( boolean val ){ if( val ){ search.setEndMagazinePublicationDate( search.getEndMagazinePublicationDate() ); } else { search.unsetEndMagazinePublicationDate(); } } public Date getSearchStartOwnPublicationDate(){ return search.getStartOwnPublicationDate(); } public void setSearchStartOwnPublicationDate( Date val ){ if( val!=null ){ search.setStartOwnPublicationDate( val ); } else { search.unsetStartOwnPublicationDate(); } } public boolean isSearchStartOwnPublicationDateValid(){ return search.isStartOwnPublicationDateSet(); } public void setSearchStartOwnPublicationDateValid( boolean val ){ if( val ){ search.setStartOwnPublicationDate( search.getStartOwnPublicationDate() ); } else { search.unsetStartOwnPublicationDate(); } } public Date getSearchEndOwnPublicationDate(){ return search.getEndOwnPublicationDate(); } public void setSearchEndOwnPublicationDate( Date val ){ if( val!=null ){ search.setEndOwnPublicationDate( val ); } else { search.unsetEndOwnPublicationDate(); } } public boolean isSearchEndOwnPublicationDateValid(){ return search.isEndOwnPublicationDateSet(); } public void setSearchEndOwnPublicationDateValid( boolean val ){ if( val ){ search.setEndOwnPublicationDate( search.getEndOwnPublicationDate() ); } else { search.unsetEndOwnPublicationDate(); } } public java.lang.Boolean getSearchAccepted(){ return search.getAccepted(); } public void setSearchAccepted( java.lang.Boolean val ){ if( search.isAcceptedSet() ) { search.setAccepted( val ); } } public boolean isSearchAcceptedValid(){ return search.isAcceptedSet(); } public void setSearchAcceptedValid( boolean val ){ if( val ){ search.setAccepted( search.getAccepted() ); } else { search.unsetAccepted(); } } public Integer getSearchOwnerId(){ return search.getOwnerId(); } public void setSearchOwnerId( Integer val ){ if( search.isOwnerIdSet() ) { search.setOwnerId( val ); } } public boolean isSearchOwnerIdValid(){ return search.isOwnerIdSet(); } public void setSearchOwnerIdValid( boolean val ){ if( val ){ search.setOwnerId( search.getOwnerId() ); } else { search.unsetOwnerId(); } } public Integer getSearchDepartmentId(){ return search.getDepartmentId(); } public void setSearchDepartmentId( Integer val ){ if( search.isDepartmentIdSet() ) { search.setDepartmentId( val ); } } public boolean isSearchDepartmentIdValid(){ return search.isDepartmentIdSet(); } public void setSearchDepartmentIdValid( boolean val ){ if( val ){ search.setDepartmentId( search.getDepartmentId() ); } else { search.unsetDepartmentId(); } } public Date getSearchStartInsertDate(){ return search.getStartInsertDate(); } public void setSearchStartInsertDate( Date val ){ if( val!=null ){ search.setStartInsertDate( val ); } else { search.unsetStartInsertDate(); } } public boolean isSearchStartInsertDateValid(){ return search.isStartInsertDateSet(); } public void setSearchStartInsertDateValid( boolean val ){ if( val ){ search.setStartInsertDate( search.getStartInsertDate() ); } else { search.unsetStartInsertDate(); } } public Date getSearchEndInsertDate(){ return search.getEndInsertDate(); } public void setSearchEndInsertDate( Date val ){ if( val!=null ){ search.setEndInsertDate( val ); } else { search.unsetEndInsertDate(); } } public boolean isSearchEndInsertDateValid(){ return search.isEndInsertDateSet(); } public void setSearchEndInsertDateValid( boolean val ){ if( val ){ search.setEndInsertDate( search.getEndInsertDate() ); } else { search.unsetEndInsertDate(); } } public Date getSearchStartUpdateDate(){ return search.getStartUpdateDate(); } public void setSearchStartUpdateDate( Date val ){ if( val!=null ){ search.setStartUpdateDate( val ); } else { search.unsetStartUpdateDate(); } } public boolean isSearchStartUpdateDateValid(){ return search.isStartUpdateDateSet(); } public void setSearchStartUpdateDateValid( boolean val ){ if( val ){ search.setStartUpdateDate( search.getStartUpdateDate() ); } else { search.unsetStartUpdateDate(); } } public Date getSearchEndUpdateDate(){ return search.getEndUpdateDate(); } public void setSearchEndUpdateDate( Date val ){ if( val!=null ){ search.setEndUpdateDate( val ); } else { search.unsetEndUpdateDate(); } } public boolean isSearchEndUpdateDateValid(){ return search.isEndUpdateDateSet(); } public void setSearchEndUpdateDateValid( boolean val ){ if( val ){ search.setEndUpdateDate( search.getEndUpdateDate() ); } else { search.unsetEndUpdateDate(); } } public Magazine getSearchMagazine(){ return search.getMagazine(); } public void setSearchMagazine( Magazine val ){ if( search.isMagazineSet() ) { search.setMagazine( val ); } } public boolean isSearchMagazineValid(){ return search.isMagazineSet(); } public void setSearchMagazineValid( boolean val ){ if( val ){ search.setMagazine( search.getMagazine() ); } else { search.unsetMagazine(); } } /** Handle an ABC pager letter click: filter objects by specified starting letter */ public void letterClicked() { if( letter!=null ){ UIComponent comp = FacesUtils.getComponent("publications:list"); HtmlDataTable tabla = (HtmlDataTable) comp; tabla.setFirst(0); search.setName( letter+"%" ); } else { search.unsetName(); } } public Character getLetter() { return letter; } public void setLetter( Character letter ) { this.letter = letter; } // Getters and setters to handle uploads // Getters and setters to manipulate active Publication object public java.lang.Integer getId() { return publication.getId(); } public String getName() { return publication.getName(); } public void setName( String name ) { publication.setName( name ); } public Date getMagazineDeliveryDate() { return publication.getMagazineDeliveryDate(); } public void setMagazineDeliveryDate( Date magazineDeliveryDate ) { publication.setMagazineDeliveryDate( magazineDeliveryDate ); } public Date getMagazinePublicationDate() { return publication.getMagazinePublicationDate(); } public void setMagazinePublicationDate( Date magazinePublicationDate ) { publication.setMagazinePublicationDate( magazinePublicationDate ); } public Date getOwnPublicationDate() { return publication.getOwnPublicationDate(); } public void setOwnPublicationDate( Date ownPublicationDate ) { publication.setOwnPublicationDate( ownPublicationDate ); } public boolean isAccepted() { return publication.isAccepted(); } public void setAccepted( boolean accepted ) { publication.setAccepted( accepted ); } public Integer getOwnerId() { return publication.getOwnerId(); } public void setOwnerId( Integer ownerId ) { publication.setOwnerId( ownerId ); } public Integer getDepartmentId() { return publication.getDepartmentId(); } public void setDepartmentId( Integer departmentId ) { publication.setDepartmentId( departmentId ); } public Date getInsertDate() { return publication.getInsertDate(); } public void setInsertDate( Date insertDate ) { publication.setInsertDate( insertDate ); } public Date getUpdateDate() { return publication.getUpdateDate(); } public void setUpdateDate( Date updateDate ) { publication.setUpdateDate( updateDate ); } public Magazine getMagazine() { return publication.getMagazine(); } public void setMagazine( Magazine magazine ) { publication.setMagazine( magazine ); } /* publication - generated by stajanov (do not edit/delete) */ }