/**
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at the
* <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a>
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Initial code contributed and copyrighted by<br>
* frentix GmbH, http://www.frentix.com
* <p>
*/
package org.olat.group.ui.main;
import org.olat.core.gui.control.Event;
import org.olat.core.id.context.StateEntry;
import org.olat.core.util.StringHelper;
import org.olat.group.model.BusinessGroupQueryParams;
/**
*
* @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
*/
public class SearchEvent extends Event implements StateEntry {
private static final long serialVersionUID = 6630250536374073143L;
private String idRef;
private String name;
private String description;
private String ownerName;
private String courseTitle;
private boolean owner;
private boolean attendee;
private boolean waiting;
private boolean headless = false;
private Boolean publicGroups;
private Boolean resources;
public SearchEvent() {
super("search");
}
public String getIdRef() {
return idRef;
}
public void setIdRef(String idRef) {
this.idRef = idRef;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String owner) {
this.ownerName = owner;
}
public String getCourseTitle() {
return courseTitle;
}
public void setCourseTitle(String courseTitle) {
this.courseTitle = courseTitle;
}
public boolean isOwner() {
return owner;
}
public void setOwner(boolean owner) {
this.owner = owner;
}
public boolean isAttendee() {
return attendee;
}
public void setAttendee(boolean attendee) {
this.attendee = attendee;
}
public boolean isWaiting() {
return waiting;
}
public void setWaiting(boolean waiting) {
this.waiting = waiting;
}
public Boolean getPublicGroups() {
return publicGroups;
}
public void setPublicGroups(Boolean publicGroups) {
this.publicGroups = publicGroups;
}
public Boolean getResources() {
return resources;
}
public void setResources(Boolean resources) {
this.resources = resources;
}
public boolean isHeadless() {
return headless;
}
public void setHeadless(boolean headless) {
this.headless = headless;
}
public BusinessGroupQueryParams convertToBusinessGroupQueriesParams() {
BusinessGroupQueryParams params = new BusinessGroupQueryParams();
params.setIdRef(StringHelper.containsNonWhitespace(idRef) ? idRef : null);
params.setName(StringHelper.containsNonWhitespace(name) ? name : null);
params.setDescription(StringHelper.containsNonWhitespace(description) ? description : null);
params.setOwnerName(StringHelper.containsNonWhitespace(ownerName) ? ownerName : null);
params.setCourseTitle(StringHelper.containsNonWhitespace(courseTitle) ? courseTitle : null);
params.setOwner(isOwner());
params.setAttendee(isAttendee());
params.setWaiting(isWaiting());
params.setPublicGroups(getPublicGroups());
params.setResources(getResources());
params.setHeadless(isHeadless());
return params;
}
@Override
public SearchEvent clone() {
SearchEvent clone = new SearchEvent();
clone.idRef = idRef;
clone.name = name;
clone.description = description;
clone.ownerName = ownerName;
clone.courseTitle = courseTitle;
clone.owner = owner;
clone.attendee = attendee;
clone.waiting = waiting;
clone.headless = headless;
clone.publicGroups = publicGroups;
clone.resources = resources;
return clone;
}
}