package binky.reportrunner.data; import javax.persistence.Entity; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; @Entity(name = "T_CHART") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class RunnerDashboardChart extends RunnerDashboardItem { private static final long serialVersionUID = 7236467079269602254L; public enum Orientation { VERTICAL("Vertical"), HORIZONTAL("Horizontal"); private String displayName; Orientation(String displayName) { this.displayName = displayName; } public String getName() { return name(); } public String getDisplayName() { return displayName; } } private Orientation orientation; private boolean gridLines; private String yLabel; private String valueColumn; private String seriesNameColumn; private String xaxisColumn; private ChartType chartType; public String getYLabel() { return yLabel; } public void setYLabel(String label) { yLabel = label; } public String getValueColumn() { return valueColumn; } public void setValueColumn(String valueColumn) { this.valueColumn = valueColumn; } public String getSeriesNameColumn() { return seriesNameColumn; } public void setSeriesNameColumn(String seriesNameColumn) { this.seriesNameColumn = seriesNameColumn; } public String getXaxisColumn() { return xaxisColumn; } public void setXaxisColumn(String xaxisColumn) { this.xaxisColumn = xaxisColumn; } public ChartType getChartType() { return chartType; } public void setChartType(ChartType chartType) { this.chartType = chartType; } public enum ChartType { /*DIAL("Dial"),*/ LINE("Line"),LINE_3D("3D Line"), BAR_3D("3D Bar"), BAR("Bar"), BAR_STACKED("Stacked Bar"), BAR_STACKED_3D("3D Stacked Bar"), AREA("Area"), PIE( "Pie"); private String displayName; ChartType(String displayName) { this.displayName = displayName; } public String getName() { return name(); } public String getDisplayName() { return displayName; } } @Override public ItemType getItemType() { return ItemType.Chart; } public Orientation getOrientation() { return orientation; } public void setOrientation(Orientation orientation) { this.orientation = orientation; } public boolean isGridLines() { return gridLines; } public void setGridLines(boolean gridLines) { this.gridLines = gridLines; } public String getyLabel() { return yLabel; } public void setyLabel(String yLabel) { this.yLabel = yLabel; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((chartType == null) ? 0 : chartType.hashCode()); result = prime * result + (gridLines ? 1231 : 1237); result = prime * result + ((orientation == null) ? 0 : orientation.hashCode()); result = prime * result + ((seriesNameColumn == null) ? 0 : seriesNameColumn.hashCode()); result = prime * result + ((valueColumn == null) ? 0 : valueColumn.hashCode()); result = prime * result + ((xaxisColumn == null) ? 0 : xaxisColumn.hashCode()); result = prime * result + ((yLabel == null) ? 0 : yLabel.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; RunnerDashboardChart other = (RunnerDashboardChart) obj; if (chartType != other.chartType) return false; if (gridLines != other.gridLines) return false; if (orientation != other.orientation) return false; if (seriesNameColumn == null) { if (other.seriesNameColumn != null) return false; } else if (!seriesNameColumn.equals(other.seriesNameColumn)) return false; if (valueColumn == null) { if (other.valueColumn != null) return false; } else if (!valueColumn.equals(other.valueColumn)) return false; if (xaxisColumn == null) { if (other.xaxisColumn != null) return false; } else if (!xaxisColumn.equals(other.xaxisColumn)) return false; if (yLabel == null) { if (other.yLabel != null) return false; } else if (!yLabel.equals(other.yLabel)) return false; return true; } }