/**
* 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) */
}