/*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
* This file is part of Entando Enterprise Edition software.
* You can redistribute it and/or modify it
* under the terms of the Entando's EULA
*
* See the file License for the specific language governing permissions
* and limitations under the License
*
*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
*/
package com.agiletec.plugins.jpwtt.apsadmin.ticket.common;
import java.util.List;
import java.util.Map;
import com.agiletec.aps.system.ApsSystemUtils;
import com.agiletec.apsadmin.system.BaseAction;
import com.agiletec.plugins.jpwtt.aps.system.services.ticket.ITicketManager;
import com.agiletec.plugins.jpwtt.aps.system.services.ticket.model.ITicketSearchBean;
import com.agiletec.plugins.jpwtt.aps.system.services.ticket.model.InterventionType;
import com.agiletec.plugins.jpwtt.aps.system.services.ticket.model.Ticket;
import com.agiletec.plugins.jpwtt.aps.system.services.ticket.model.TicketSearchBean;
import com.agiletec.plugins.jpwtt.apsadmin.ticket.ITicketFinderAction;
public abstract class AbstractTicketFinderAction extends BaseAction implements ITicketFinderAction {
@Override
public List<String> getTicketIds() {
List<String> ticketIds = null;
try {
ITicketSearchBean searchBean = this.prepareSearchBean();
ticketIds = this.getTicketManager().searchTicketIds(searchBean);
} catch (Throwable t) {
ApsSystemUtils.logThrowable(t, this, "getTicketIds");
throw new RuntimeException("Error searching tickets", t);
}
return ticketIds;
}
public Ticket getTicket(String code) {
Ticket ticket = null;
try {
ticket = this.getTicketManager().getTicket(code);
} catch (Throwable t) {
ApsSystemUtils.logThrowable(t, this, "getTicket");
throw new RuntimeException("Error searching ticket", t);
}
return ticket;
}
public Map<Integer, InterventionType> getInterventionTypes() {
return this.getTicketManager().getInterventionTypes();
}
public Map<Integer, String> getPriorities() {
return this.getTicketManager().getPriorities();
}
protected ITicketSearchBean prepareSearchBean() {
TicketSearchBean searchBean = new TicketSearchBean();
searchBean.setMessage(this.getMessage());
searchBean.setAuthor(this.getAuthor());
Integer status = this.getStatus();
if (status!=null) {
searchBean.setStates(new int[] { this.getStatus().intValue() });
}
searchBean.setPriority(this.getPriority());
searchBean.setUserInterventionType(this.getUserInterventionType());
searchBean.setAssignedInterventionType(this.getAssignedInterventionType());
Boolean resolved = (this.getResolved()==null) ? null : (new Boolean(this.getResolved().intValue()==1));
searchBean.setResolved(resolved);
return searchBean;
}
public String getMessage() {
return _message;
}
public void setMessage(String message) {
this._message = message;
}
public String getAuthor() {
return this._author;
}
public void setAuthor(String author) {
this._author = author;
}
public Integer getStatus() {
return _status;
}
public void setStatus(Integer status) {
this._status = status;
}
public Integer getPriority() {
return _priority;
}
public void setPriority(Integer priority) {
this._priority = priority;
}
public Integer getUserInterventionType() {
return _userInterventionType;
}
public void setUserInterventionType(Integer userInterventionType) {
this._userInterventionType = userInterventionType;
}
public Integer getAssignedInterventionType() {
return _assignedInterventionType;
}
public void setAssignedInterventionType(Integer assignedInterventionType) {
this._assignedInterventionType = assignedInterventionType;
}
public Integer getResolved() {
return _resolved;
}
public void setResolved(Integer resolved) {
this._resolved = resolved;
}
protected ITicketManager getTicketManager() {
return _ticketManager;
}
public void setTicketManager(ITicketManager ticketManager) {
this._ticketManager = ticketManager;
}
private String _message;
private String _author;
private Integer _status;
private Integer _priority;
private Integer _userInterventionType;
private Integer _assignedInterventionType;
private Integer _resolved;
private ITicketManager _ticketManager;
}