/**
* Copyright 2011 Intuit Inc. All Rights Reserved
*/
package com.intuit.tank.report;
/*
* #%L
* JSF Support Beans
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.inject.Named;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* JobReport
*
* @author dangleton
*
*/
@Named
public class JobReportOptions implements Serializable {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LogManager.getLogger(JobReportOptions.class);
private Date startDate;
private Date endDate;
private String startTimeString;
private String endTimeString;
private String projectNameMatch;
private String durationStart;
private String durationEnd;
private String minUsers;
private String maxUsers;
private String jobIdStart;
private String jobIdEnd;
private DateFormat tf = new SimpleDateFormat("hh:mm");
public Date getStartTime() {
Date ret = null;
if (startDate != null) {
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
if (StringUtils.isNotBlank(startTimeString)) {
try {
Calendar parsed = Calendar.getInstance();
parsed.setTime(tf.parse(startTimeString));
cal.set(Calendar.HOUR_OF_DAY, parsed.get(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE, parsed.get(Calendar.MINUTE));
} catch (ParseException e) {
LOG.warn("Could not parse time string " + startTimeString);
}
}
ret = cal.getTime();
}
return ret;
}
public Date getEndTime() {
Date ret = null;
if (endDate != null) {
Calendar cal = Calendar.getInstance();
cal.setTime(endDate);
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
if (StringUtils.isNotBlank(endTimeString)) {
try {
Calendar parsed = Calendar.getInstance();
parsed.setTime(tf.parse(endTimeString));
cal.set(Calendar.HOUR_OF_DAY, parsed.get(Calendar.HOUR_OF_DAY));
cal.set(Calendar.MINUTE, parsed.get(Calendar.MINUTE));
} catch (ParseException e) {
LOG.warn("Could not parse time string " + startTimeString);
}
}
ret = cal.getTime();
}
return ret;
}
/**
* @return the startTimeString
*/
public String getStartTimeString() {
return startTimeString;
}
/**
* @param startTimeString
* the startTimeString to set
*/
public void setStartTimeString(String startTimeString) {
this.startTimeString = startTimeString;
}
public String getJobIdStart() {
return jobIdStart;
}
public void setJobIdStart(String jobIdStart) {
this.jobIdStart = StringUtils.trim(jobIdStart);
}
public String getJobIdEnd() {
return jobIdEnd;
}
public void setJobIdEnd(String jobIdEnd) {
this.jobIdEnd = StringUtils.trim(jobIdEnd);
}
/**
* @return the endTimeString
*/
public String getEndTimeString() {
return endTimeString;
}
/**
* @param endTimeString
* the endTimeString to set
*/
public void setEndTimeString(String endTimeString) {
this.endTimeString = endTimeString;
}
/**
* @return the minUsers
*/
public String getMinUsers() {
return minUsers;
}
/**
* @param minUsers
* the minUsers to set
*/
public void setMinUsers(String minUsers) {
this.minUsers = StringUtils.trim(minUsers);
}
/**
* @return the maxUsers
*/
public String getMaxUsers() {
return maxUsers;
}
/**
* @param maxUsers
* the maxUsers to set
*/
public void setMaxUsers(String maxUsers) {
this.maxUsers = StringUtils.trim(maxUsers);
}
/**
* @return the startDate
*/
public Date getStartDate() {
return startDate;
}
/**
* @param startDate
* the startDate to set
*/
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
/**
* @return the endDate
*/
public Date getEndDate() {
return endDate;
}
/**
* @param endDate
* the endDate to set
*/
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
/**
* @return the projectNameMatch
*/
public String getProjectNameMatch() {
return projectNameMatch;
}
/**
* @param projectNameMatch
* the projectNameMatch to set
*/
public void setProjectNameMatch(String projectNameMatch) {
this.projectNameMatch = projectNameMatch;
}
/**
* @return the durationStart
*/
public String getDurationStart() {
return durationStart;
}
/**
* @param durationStart
* the durationStart to set
*/
public void setDurationStart(String durationStart) {
this.durationStart = durationStart;
}
/**
* @return the durationEnd
*/
public String getDurationEnd() {
return durationEnd;
}
/**
* @param durationEnd
* the durationEnd to set
*/
public void setDurationEnd(String durationEnd) {
this.durationEnd = durationEnd;
}
}