//idega 2000 - Laddi
package com.idega.block.text.data;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Collection;
import com.idega.data.IDOAddRelationshipException;
import com.idega.data.IDOEntity;
import com.idega.data.IDORelationshipException;
import com.idega.util.text.TextSoap;
public class LocalizedTextBMPBean extends com.idega.data.GenericEntity implements com.idega.block.text.data.LocalizedText {
public LocalizedTextBMPBean(){
super();
setBody("");
}
public LocalizedTextBMPBean(int id)throws SQLException{
super(id);
setBody("");
}
public void initializeAttributes(){
addAttribute(getIDColumnName());
addAttribute(getColumnNameLocaleId(), "Locale", true, true, java.lang.Integer.class,"many_to_one",com.idega.core.localisation.data.ICLocale.class);
addAttribute(getColumnNameHeadline(), "Headline", true, true, java.lang.String.class);
addAttribute(getColumnNameTitle(), "Title", true, true, java.lang.String.class);
addAttribute(getColumnNameBody(), "Body", true, true, java.lang.String.class,30000);
addAttribute(getColumnNameCreated(), "Created", true, true, java.sql.Timestamp.class);
addAttribute(getColumnNameUpdated(), "Updated", true, true, java.sql.Timestamp.class);
addAttribute(getColumnNameMarkupLanguage(), "The markup language of the text", true, true, java.lang.String.class);
addIndex("IDX_TX_LOCALIZED_TEXT_1", getColumnNameLocaleId());
}
public static String getEntityTableName(){ return "TX_LOCALIZED_TEXT";}
public static String getColumnNameLocaleId(){ return "IC_LOCALE_ID";}
public static String getColumnNameHeadline(){ return "HEADLINE";}
public static String getColumnNameTitle(){ return "TITLE";}
public static String getColumnNameBody(){ return "BODY";}
public static String getColumnNameCreated(){ return "CREATED";}
public static String getColumnNameUpdated(){ return "UPDATED";}
public static String getColumnNameMarkupLanguage(){ return "MARKUP_LANGUAGE";}
public String getEntityName(){
return getEntityTableName();
}
public int getLocaleId(){
return getIntColumnValue(getColumnNameLocaleId());
}
public void setLocaleId(int id){
setColumn(getColumnNameLocaleId(),id);
}
public void setLocaleId(Integer id){
setColumn(getColumnNameLocaleId(),id);
}
public String getHeadline(){
return getStringColumnValue(getColumnNameHeadline());
}
public void setHeadline(String headline){
setColumn(getColumnNameHeadline(), headline);
}
public String getTitle(){
return getStringColumnValue(getColumnNameTitle());
}
public void setTitle(String title){
setColumn(getColumnNameTitle(), title);
}
public String getBody(){
return getStringColumnValue(getColumnNameBody());
}
public void setBody(String body){
setColumn(getColumnNameBody(), addBreaks(body));
}
public String getMarkupLanguage(){
return getStringColumnValue(getColumnNameMarkupLanguage());
}
public void setMarkupLanguage(String markup){
setColumn(getColumnNameMarkupLanguage(), markup);
}
public java.sql.Timestamp getCreated(){
return (java.sql.Timestamp) getColumnValue(getColumnNameCreated());
}
public void setCreated(java.sql.Timestamp stamp){
setColumn(getColumnNameCreated(), stamp);
}
public java.sql.Timestamp getUpdated(){
return (java.sql.Timestamp) getColumnValue(getColumnNameUpdated());
}
public void setUpdated(java.sql.Timestamp stamp){
setColumn(getColumnNameUpdated(), stamp);
}
private String addBreaks(String text){
//replace with local bean method? and a none html specific xml
return TextSoap.findAndReplaceOnPrefixCondition(text, "\r\n", ">","<br/>",true);
}
public Collection ejbFindRelatedEntities(IDOEntity entity) throws IDORelationshipException{
return idoGetRelatedEntities(entity);
}
/*
* (non-Javadoc)
* @see com.idega.data.GenericEntity#idoAddTo(com.idega.data.IDOEntity)
*/
public void idoAddTo(IDOEntity entity) throws IDOAddRelationshipException {
try {
idoAddTo(getNameOfMiddleTable(entity, this), entity.getEntityDefinition().getPrimaryKeyDefinition().getField().getSQLFieldName(), entity.getPrimaryKey());
} catch (Exception e) {
throw new IDOAddRelationshipException(e, this);
}
}
/*
* copy and paste from GenericEntity
*/
public void idoAddTo(String middleTableName, String sqlFieldName, Object primaryKey) throws IDOAddRelationshipException {
/**
* @todo Change implementation
*/
try {
Connection conn = null;
Statement Stmt = null;
try {
conn = getConnection(getDatasource());
Stmt = conn.createStatement();
//String sql = "insert into "+getNameOfMiddleTable(entityToAddTo,this)+"("+getIDColumnName()+","+entityToAddTo.getIDColumnName()+") values("+getID()+","+entityToAddTo.getID()+")";
String sql = null;
//try
//{
sql = "insert into " + middleTableName + "(" + getIDColumnName() + "," + sqlFieldName + ") values(" + getPrimaryKeyValueSQLString() + "," + getKeyValueSQLString(primaryKey) + ")";
/*}
catch (RemoteException rme)
{
throw new SQLException("RemoteException in addTo, message: " + rme.getMessage());
}*/
//debug("statement: "+sql);
Stmt.executeUpdate(sql);
} finally {
if (Stmt != null) {
Stmt.close();
}
if (conn != null) {
freeConnection(getDatasource(), conn);
}
}
} catch (Exception ex) {
//ex.printStackTrace();
throw new IDOAddRelationshipException(ex, this);
}
}
}