/** * 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.dao.search; import java.util.ArrayList; import java.util.Date; import com.autentia.tnt.businessobject.Project; import com.autentia.tnt.businessobject.User; import com.autentia.tnt.dao.SearchCriteria; public class OccupationSearch extends SearchCriteria { /* generated by stajanov (do not edit/delete) */ @Override public String getHQL() { StringBuilder ret = new StringBuilder(); int iArgNum = 0; if( isStartStartDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getStartStartDate()==null ){ ret.append( "startDate is NULL" ); } else { ret.append( "startDate >= :arg"+(iArgNum++) ); } } if( isStartEndDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getStartEndDate()==null ){ ret.append( "startDate is NULL" ); } else { ret.append( "startDate <= :arg"+(iArgNum++) ); } } if( isEndStartDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getEndStartDate()==null ){ ret.append( "endDate is NULL" ); } else { ret.append( "endDate >= :arg"+(iArgNum++) ); } } if( isEndEndDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getEndEndDate()==null ){ ret.append( "endDate is NULL" ); } else { ret.append( "endDate <= :arg"+(iArgNum++) ); } } if( isDescriptionSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getDescription()==null ){ ret.append( "description is NULL" ); } else { ret.append( "description = :arg"+(iArgNum++) ); } } if( isStartDurationSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startDuration == null ){ ret.append( "duration=:arg"+(iArgNum++) ); } else { ret.append( "duration>=:arg"+(iArgNum++) ); } } if( isEndDurationSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endDuration == null ){ ret.append( "duration=:arg"+(iArgNum++) ); } else { ret.append( "duration<=:arg"+(iArgNum++) ); } } if( isOwnerIdSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getOwnerId()==null ){ ret.append( "ownerId is NULL" ); } else { ret.append( "ownerId = :arg"+(iArgNum++) ); } } if( isDepartmentIdSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getDepartmentId()==null ){ ret.append( "departmentId is NULL" ); } else { ret.append( "departmentId = :arg"+(iArgNum++) ); } } if( isStartInsertDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startInsertDate == null ){ ret.append( "insertDate=:arg"+(iArgNum++) ); } else { ret.append( "insertDate>=:arg"+(iArgNum++) ); } } if( isEndInsertDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endInsertDate == null ){ ret.append( "insertDate=:arg"+(iArgNum++) ); } else { ret.append( "insertDate<=:arg"+(iArgNum++) ); } } if( isStartUpdateDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( startUpdateDate == null ){ ret.append( "updateDate=:arg"+(iArgNum++) ); } else { ret.append( "updateDate>=:arg"+(iArgNum++) ); } } if( isEndUpdateDateSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( endUpdateDate == null ){ ret.append( "updateDate=:arg"+(iArgNum++) ); } else { ret.append( "updateDate<=:arg"+(iArgNum++) ); } } if( isUserSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getUser()==null ){ ret.append( "user is NULL" ); } else { ret.append( "user = :arg"+(iArgNum++) ); } } if( isProjectSet() ){ ret.append( (ret.length()==0) ? "WHERE " : " AND " ); if( getProject()==null ){ ret.append( "project is NULL" ); } else { ret.append( "project = :arg"+(iArgNum++) ); } } customGetHQL(ret,iArgNum); return ret.toString(); } @Override public Object[] getArguments(){ ArrayList<Object> ret = new ArrayList<Object>(); if( isDescriptionSet() && getDescription()!=null ){ ret.add( description ); } if( isStartDurationSet() ){ ret.add( startDuration ); } if( isEndDurationSet() ){ ret.add( endDuration ); } if( isOwnerIdSet() && getOwnerId()!=null ){ ret.add( ownerId ); } if( isDepartmentIdSet() && getDepartmentId()!=null ){ ret.add( departmentId ); } if( isStartInsertDateSet() ){ ret.add( startInsertDate ); } if( isEndInsertDateSet() ){ ret.add( endInsertDate ); } if( isStartUpdateDateSet() ){ ret.add( startUpdateDate ); } if( isEndUpdateDateSet() ){ ret.add( endUpdateDate ); } if( isStartStartDateSet() ){ ret.add( startStartDate ); } if( isEndStartDateSet() ){ ret.add( endStartDate ); } if( isStartEndDateSet() ){ ret.add( startEndDate ); } if( isEndEndDateSet() ){ ret.add( endEndDate ); } if( isUserSet() && getUser()!=null ){ ret.add( user ); } if( isProjectSet() && getProject()!=null ){ ret.add( project ); } if( isStartOccupationDateSet() ){ ret.add( startOccupationDate ); } if( isEndOccupationDateSet() ){ ret.add( endOccupationDate ); } customGetArguments(ret); return ret.toArray(); } @Override public void reset(){ unsetDescription(); unsetStartDuration(); unsetEndDuration(); unsetOwnerId(); unsetDepartmentId(); unsetStartInsertDate(); unsetEndInsertDate(); unsetStartUpdateDate(); unsetEndUpdateDate(); unsetUser(); unsetStartStartDate(); unsetStartEndDate(); unsetEndStartDate(); unsetEndEndDate(); unsetProject(); customReset(); } @Override public String toString() { StringBuilder ret = new StringBuilder(); ret.append("OccupationSearch{"); if( isStartOccupationDateSet() ){ ret.append( "(startOccupationDate" ); ret.append( "="+startOccupationDate ); ret.append( ")" ); } if( isEndOccupationDateSet() ){ ret.append( "(endOccupationDate" ); ret.append( "="+endOccupationDate ); ret.append( ")" ); } if( isDescriptionSet() ){ ret.append( "(description" ); ret.append( "="+description ); ret.append( ")" ); } if( isStartDurationSet() ){ ret.append( "(startDuration" ); ret.append( "="+startDuration ); ret.append( ")" ); } if( isEndDurationSet() ){ ret.append( "(endDuration" ); ret.append( "="+endDuration ); ret.append( ")" ); } if( isOwnerIdSet() ){ ret.append( "(ownerId" ); ret.append( "="+ownerId ); ret.append( ")" ); } if( isDepartmentIdSet() ){ ret.append( "(departmentId" ); ret.append( "="+departmentId ); ret.append( ")" ); } if( isStartInsertDateSet() ){ ret.append( "(startInsertDate" ); ret.append( "="+startInsertDate ); ret.append( ")" ); } if( isEndInsertDateSet() ){ ret.append( "(endInsertDate" ); ret.append( "="+endInsertDate ); ret.append( ")" ); } if( isStartStartDateSet() ){ ret.append( "(startStartDate" ); ret.append( "="+startStartDate ); ret.append( ")" ); } if( isStartEndDateSet() ){ ret.append( "(startEndDate" ); ret.append( "="+startEndDate ); ret.append( ")" ); } if( isEndStartDateSet() ){ ret.append( "(endStartDate" ); ret.append( "="+endStartDate ); ret.append( ")" ); } if( isEndEndDateSet() ){ ret.append( "(EndEndDate" ); ret.append( "="+endEndDate ); ret.append( ")" ); } if( isStartUpdateDateSet() ){ ret.append( "(startUpdateDate" ); ret.append( "="+startUpdateDate ); ret.append( ")" ); } if( isEndUpdateDateSet() ){ ret.append( "(endUpdateDate" ); ret.append( "="+endUpdateDate ); ret.append( ")" ); } if( isUserSet() ){ ret.append( "(user" ); ret.append( "="+user ); ret.append( ")" ); } if( isProjectSet() ){ ret.append( "(project" ); ret.append( "="+project ); ret.append( ")" ); } customToString(ret); ret.append("}"); return ret.toString(); } // Getters and setters public boolean isStartOccupationDateSet(){ return startOccupationDateSet; } public Date getStartOccupationDate(){ return startOccupationDate; } public void setStartOccupationDate( Date startOccupationDate ){ this.startOccupationDate = startOccupationDate; this.startOccupationDateSet = true; } public boolean isEndOccupationDateSet(){ return endOccupationDateSet; } public Date getEndOccupationDate(){ return endOccupationDate; } public void setEndOccupationDate( Date endOccupationDate ){ this.endOccupationDate = endOccupationDate; this.endOccupationDateSet = true; } public boolean isDescriptionSet(){ return descriptionSet; } public String getDescription(){ return description; } public void setDescription( String description ){ this.description = description; this.descriptionSet = true; } public void unsetDescription(){ this.descriptionSet = false; } public boolean isStartDurationSet(){ return startDurationSet; } public java.lang.Integer getStartDuration(){ return startDuration; } public void setStartDuration( java.lang.Integer startDuration ){ this.startDuration = startDuration; this.startDurationSet = true; } public void unsetStartDuration(){ this.startDurationSet = false; } public boolean isEndDurationSet(){ return endDurationSet; } public java.lang.Integer getEndDuration(){ return endDuration; } public void setEndDuration( java.lang.Integer endDuration ){ this.endDuration = endDuration; this.endDurationSet = true; } public void unsetEndDuration(){ this.endDurationSet = false; } public boolean isOwnerIdSet(){ return ownerIdSet; } public Integer getOwnerId(){ return ownerId; } public void setOwnerId( Integer ownerId ){ this.ownerId = ownerId; this.ownerIdSet = true; } public void unsetOwnerId(){ this.ownerIdSet = false; } public boolean isDepartmentIdSet(){ return departmentIdSet; } public Integer getDepartmentId(){ return departmentId; } public void setDepartmentId( Integer departmentId ){ this.departmentId = departmentId; this.departmentIdSet = true; } public void unsetDepartmentId(){ this.departmentIdSet = false; } public boolean isStartInsertDateSet(){ return startInsertDateSet; } public Date getStartInsertDate(){ return startInsertDate; } public void setStartInsertDate( Date startInsertDate ){ this.startInsertDate = startInsertDate; this.startInsertDateSet = true; } public void unsetStartInsertDate(){ this.startInsertDateSet = false; } public boolean isEndInsertDateSet(){ return endInsertDateSet; } public Date getEndInsertDate(){ return endInsertDate; } public void setEndInsertDate( Date endInsertDate ){ this.endInsertDate = endInsertDate; this.endInsertDateSet = true; } public void unsetEndInsertDate(){ this.endInsertDateSet = false; } public boolean isStartUpdateDateSet(){ return startUpdateDateSet; } public Date getStartUpdateDate(){ return startUpdateDate; } public void setStartUpdateDate( Date startUpdateDate ){ this.startUpdateDate = startUpdateDate; this.startUpdateDateSet = true; } public void unsetStartUpdateDate(){ this.startUpdateDateSet = false; } public boolean isEndUpdateDateSet(){ return endUpdateDateSet; } public Date getEndUpdateDate(){ return endUpdateDate; } public void setEndUpdateDate( Date endUpdateDate ){ this.endUpdateDate = endUpdateDate; this.endUpdateDateSet = true; } public void unsetEndUpdateDate(){ this.endUpdateDateSet = false; } public boolean isUserSet(){ return userSet; } public User getUser(){ return user; } public void setUser( User user ){ this.user = user; this.userSet = true; } public void unsetUser(){ this.userSet = false; } public boolean isProjectSet(){ return projectSet; } public Project getProject(){ return project; } public void setProject( Project project ){ this.project = project; this.projectSet = true; } public void unsetProject(){ this.projectSet = false; } public boolean isStartStartDateSet(){ return startStartDateSet; } public Date getStartStartDate(){ return startStartDate; } public void setStartStartDate( Date date ){ this.startStartDate = date; this.startStartDateSet = true; } public void unsetStartStartDate(){ this.startStartDateSet = false; } public boolean isStartEndDateSet(){ return startEndDateSet; } public Date getStartEndDate(){ return startEndDate; } public void setStartEndDate( Date date ){ this.startEndDate = date; this.startEndDateSet = true; } public void unsetStartEndDate(){ this.startEndDateSet = false; } public boolean isEndStartDateSet(){ return endStartDateSet; } public Date getEndStartDate(){ return endStartDate; } public void setEndStartDate( Date date ){ this.endStartDate = date; this.endStartDateSet = true; } public void unsetEndStartDate(){ this.endStartDateSet = false; } public boolean isEndEndDateSet(){ return endEndDateSet; } public Date getEndEndDate(){ return endEndDate; } public void setEndEndDate( Date date ){ this.endEndDate = date; this.endEndDateSet = true; } public void unsetEndEndDate(){ this.endEndDateSet = false; } // Fields private boolean startOccupationDateSet; private Date startOccupationDate; private boolean endOccupationDateSet; private Date endOccupationDate; private boolean descriptionSet; private String description; private boolean startDurationSet; private java.lang.Integer startDuration; private boolean endDurationSet; private java.lang.Integer endDuration; private boolean ownerIdSet; private Integer ownerId; private boolean departmentIdSet; private Integer departmentId; private boolean startInsertDateSet; private Date startInsertDate; private boolean endInsertDateSet; private Date endInsertDate; private boolean startUpdateDateSet; private Date startUpdateDate; private boolean endUpdateDateSet; private Date endUpdateDate; private boolean userSet; private User user; private boolean projectSet; private Project project; private Date startStartDate; private boolean startStartDateSet; private Date startEndDate; private boolean startEndDateSet; private Date endStartDate; private boolean endStartDateSet; private Date endEndDate; private boolean endEndDateSet; // Returns if there are a search condition active public boolean isSearchActive() { return customIsSearchActive()||startOccupationDateSet||endOccupationDateSet||descriptionSet||startDurationSet||endDurationSet||ownerIdSet||departmentIdSet||startInsertDateSet||endInsertDateSet||startUpdateDateSet||endUpdateDateSet||userSet||projectSet||startStartDateSet||startEndDateSet||endStartDateSet||endEndDateSet; } /* generated by stajanov (do not edit/delete) */ private void customGetHQL(StringBuilder ret, int iArgNum) { // ocupacion del personal if (startOccupationDateSet||endOccupationDateSet) { final int startOccupationDatePosition = iArgNum++; final int endOccupationDatePosition = iArgNum++; ret.append( " AND " ); ret.append( " ( " ); ret.append( "(startDate <= :arg" + startOccupationDatePosition + " AND endDate >= :arg" + startOccupationDatePosition + ") "); ret.append( " OR " ); ret.append( "(startDate >= :arg" + startOccupationDatePosition + " AND endDate <= :arg" + endOccupationDatePosition + ") "); ret.append( " OR " ); ret.append( "(startDate <= :arg" + endOccupationDatePosition + " AND endDate >= :arg" + endOccupationDatePosition + ") "); ret.append( " ) " ); } } private boolean customIsSearchActive() { return false; } private void customToString(StringBuilder ret) { } private void customReset() { } private void customGetArguments(ArrayList ret) { } }