package com.idega.block.reports.data;
import java.sql.*;
import java.util.StringTokenizer;
import com.idega.data.*;
import java.util.Vector;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company: idega multimedia
* @author <a href="mailto:aron@idega.is">Aron Birkir</a>
* @version 1.0
*/
public class ReportItemBMPBean extends com.idega.block.category.data.CategoryEntityBMPBean implements com.idega.block.reports.data.ReportItem {
public ReportItemBMPBean() {
}
public ReportItemBMPBean(int id) throws SQLException {
super(id);
}
public void initializeAttributes() {
addAttribute(getIDColumnName());
addAttribute(getColumnNameName(),"Name",true,true,java.lang.String.class);
addAttribute(getColumnNameInfo(),"Info",true,true,java.lang.String.class);
addAttribute(getColumnNameField(), "Field", true, true, java.lang.String.class);
addAttribute(getColumnNameConditionType(),"Condition type",true,true,java.lang.String.class,1);
addAttribute(getColumnNameConditionData(),"Condition data",true,true,java.lang.String.class);
addAttribute(getColumnNameConditionOperator(),"Condition data",true,true,java.lang.String.class);
addAttribute(getColumnNameEntityId(),"Entity",true,true,java.lang.Integer.class,"many-to-one",com.idega.block.reports.data.ReportEntity.class);
addAttribute(getColumnNameEntity(),"Entity Class",true,true,java.lang.String.class);
addAttribute(getColumnNameMaintable(), "Table", true, true, java.lang.String.class);
addAttribute(getColumnNameJoins(),"Join",true,true,java.lang.String.class);
addAttribute(getColumnNameJoinTables(), "Join Tables", true, true, java.lang.String.class);
addAttribute(getColumnNameDisplayOrder(),"Display order",true,true,java.lang.Integer.class);
addAttribute(getColumnNameIsFunction(),"Is function",true,true,java.lang.Boolean.class);
}
public static String getEntityTableName(){return "REP_ITEM";}
public static String getColumnNameName(){return "NAME";}
public static String getColumnNameInfo(){return "INFO";}
public static String getColumnNameField(){return "FIELD";}
public static String getColumnNameConditionData(){return "CONDDATA";}
public static String getColumnNameConditionType(){return "CONDTYPE";}
public static String getColumnNameConditionOperator(){return "CONDOPERATOR";}
public static String getColumnNameEntityId(){return "REP_ENTITY_ID";}
public static String getColumnNameEntity(){return "DEP_ENTITY";}
public static String getColumnNameMaintable(){return "DEP_MAINTABLE";}
public static String getColumnNameJoins(){return "DEP_JOINS";}
public static String getColumnNameJoinTables(){return "DEP_JOINTABLE";}
public static String getColumnNameDisplayOrder(){return "DISPLAY_ORDER";}
public static String getColumnNameIsFunction(){return "IS_FUNCTION";}
public String getEntityName() {
return getEntityTableName();
}
public int getEntityId(){
return getIntColumnValue(getColumnNameEntityId());
}
public void setEntityId(int id){
setColumn(getColumnNameEntityId(), new Integer(id));
}
public int getDisplayOrder(){
return getIntColumnValue(getColumnNameDisplayOrder());
}
public void setDisplayOrder(int order){
setColumn(getColumnNameDisplayOrder(), new Integer(order));
}
public String getName(){
return getStringColumnValue(getColumnNameName());
}
public void setName(String name){
setColumn(getColumnNameName(), name);
}
public String getField(){
return getStringColumnValue(getColumnNameField());
}
public void setField(String field){
setColumn(getColumnNameField(), field);
}
public String getMainTable(){
return getStringColumnValue(getColumnNameMaintable());
}
public void setMainTable(String main_table){
setColumn(getColumnNameMaintable(), main_table);
}
public String getJoin(){
return getStringColumnValue(getColumnNameJoins());
}
public void setJoin(String joins){
setColumn(getColumnNameJoins(), joins);
}
public String getJoinTables(){
return getStringColumnValue(getColumnNameJoinTables());
}
public void setJoinTables(String jointables){
setColumn(getColumnNameJoinTables(), jointables);
}
public String getInfo(){
return getStringColumnValue(getColumnNameInfo());
}
public void setInfo(String info){
setColumn(getColumnNameInfo(), info);
}
public String getEntity(){
return getStringColumnValue(getColumnNameEntity());
}
public void setEntity(String entity){
setColumn(getColumnNameEntity(), entity);
}
public void setEntity(IDOLegacyEntity E){
setColumn(getColumnNameEntity(),E.getClass().getName());
}
public String getConditionType(){
return getStringColumnValue(getColumnNameConditionType());
}
public void setConditionType(String condtype){
setColumn(getColumnNameConditionType(), condtype);
}
public String getConditionData(){
return getStringColumnValue(getColumnNameConditionData());
}
public void setConditionData(String conddata){
setColumn(getColumnNameConditionData(), conddata);
}
public String getConditionOperator(){
return getStringColumnValue(getColumnNameConditionOperator());
}
public void setConditionOperator(String condoperator){
setColumn(getColumnNameConditionOperator(), condoperator);
}
public boolean getIsFunction(){
return getBooleanColumnValue(getColumnNameIsFunction());
}
public void setIsFunction(boolean isFunction){
setColumn(getColumnNameIsFunction(), isFunction);
}
public String[] getOps(){
String s = this.getConditionOperator();
return ms(s,";");
}
public void setOps(String[] s){
this.setConditionOperator(this.sm(s,";"));
}
public String[] getJoinTable(){
String s = this.getJoinTables();
if(!"".equalsIgnoreCase(s)){
StringTokenizer st = new StringTokenizer(s,",;: ");
String[] S = new String[st.countTokens()];
int i = 0;
while(st.hasMoreTokens()){
S[i] = st.nextToken();
i++;
}
return S;
}
else {
return null;
}
}
public String[][] getData(){
String[][] sA = null;
String s = this.getConditionData();
//System.err.println(s);
if(s != null){
String[] sB = ms(s,";");
sA = new String[sB.length][];
for (int i = 0; i < sB.length; i++) {
sA[i] = ms(sB[i],",");
}
}
else {
System.err.println("data is null");
}
return sA;
}
public void setData(String[][] s){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length; i++) {
if(i!= 0) {
sb.append(";");
}
for (int j = 0; j < s[i].length; j++) {
if(j != 0) {
sb.append(",");
}
sb.append(s[i][j]);
}
}
this.setConditionData(sb.toString());
}
private String[] ms(String s,String delim){
StringTokenizer st = new StringTokenizer(s,delim);
Vector v = new Vector();
while(st.hasMoreTokens()){
v.addElement(st.nextToken());
}
int len = v.size();
String[] sArray = new String[len];
for (int i = 0; i < len; i++) {
sArray[i] = (String)v.get(i);
}
return sArray;
}
private String sm(String[] s,String delim){
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length; i++) {
if(i != 0) {
sb.append(delim);
}
sb.append(s[i]);
}
return sb.toString();
}
}