package com.idega.block.building.data;
import java.util.Collection;
import javax.ejb.FinderException;
import com.idega.block.text.data.TextEntityBMPBean;
import com.idega.core.builder.data.ICPage;
import com.idega.data.IDOQuery;
/**
* Title: Description: Copyright: Copyright (c) 2001 Company: idega multimedia
*
* @author <a href="mailto:aron@idega.is">Aron Birkir</a>
* @version 1.0
*/
public class ComplexBMPBean extends TextEntityBMPBean implements Complex {
protected static final String ENTITY_NAME = "bu_complex";
protected static final String COLUMN_NAME = "name";
protected static final String COLUMN_INFO = "info";
protected static final String COLUMN_IMAGE = "ic_image_id";
protected static final String COLUMN_FLASH_PAGE = "flash_page_id";
protected static final String COLUMN_EXTERNAL_FLASH_URL = "external_flash_url";
protected static final String COLUMN_LOCKED = "locked";
public void initializeAttributes() {
addAttribute(getIDColumnName());
addAttribute(COLUMN_NAME, "Name", String.class);
addAttribute(COLUMN_INFO, "Info", String.class, 4000);
addAttribute(COLUMN_IMAGE, "Map", Integer.class);
addManyToOneRelationship(COLUMN_FLASH_PAGE, ICPage.class);
addAttribute(COLUMN_LOCKED, "Locked", Boolean.class);
addAttribute(COLUMN_EXTERNAL_FLASH_URL, "External flash url", String.class, 1000);
}
public String getEntityName() {
return ENTITY_NAME;
}
// getters
public String getName() {
return getStringColumnValue(COLUMN_NAME);
}
public String getInfo() {
return getStringColumnValue(COLUMN_INFO);
}
public int getImageId() {
return getIntColumnValue(COLUMN_IMAGE);
}
public int getFlashPageID() {
return getIntColumnValue(COLUMN_FLASH_PAGE);
}
public ICPage getFlashPage() {
return (ICPage) getColumnValue(COLUMN_FLASH_PAGE);
}
public boolean getLocked() {
return getBooleanColumnValue(COLUMN_LOCKED, false);
}
public String getExternalFlashURL() {
return getStringColumnValue(COLUMN_EXTERNAL_FLASH_URL);
}
// setters
public void setName(String name) {
setColumn(COLUMN_NAME, name);
}
public void setInfo(String info) {
setColumn(COLUMN_INFO, info);
}
public void setImageId(int image_id) {
setColumn(COLUMN_IMAGE, image_id);
}
public void setImageId(Integer image_id) {
setColumn(COLUMN_IMAGE, image_id);
}
public void setFlashPageID(int pageID) {
setColumn(COLUMN_FLASH_PAGE, pageID);
}
public void setFlashPage(ICPage page) {
setColumn(COLUMN_FLASH_PAGE, page);
}
public void setLocked(boolean locked) {
setColumn(COLUMN_LOCKED, locked);
}
public void setExternalFlashURL(String url) {
setColumn(COLUMN_EXTERNAL_FLASH_URL, url);
}
// ejb
public Collection ejbFindAll() throws FinderException {
IDOQuery query = idoQuery();
query.appendSelectAllFrom(this);
query.appendWhere();
query.appendLeftParenthesis();
query.append(COLUMN_LOCKED);
query.append(" is null");
query.appendOr();
query.appendEquals(COLUMN_LOCKED, false);
query.appendRightParenthesis();
query.appendOrderBy(COLUMN_NAME);
return this.idoFindPKsByQuery(query);
}
public Collection ejbFindAllIncludingLocked() throws FinderException {
IDOQuery query = idoQuery();
query.appendSelectAllFrom(this);
query.appendOrderBy(COLUMN_NAME);
return this.idoFindPKsByQuery(query);
}
public Object ejbFindComplexByName(String name) throws FinderException {
IDOQuery query = idoQuery();
query.appendSelectAllFrom(this);
query.appendWhere();
query.appendEqualsQuoted(COLUMN_NAME, name);
return this.idoFindOnePKByQuery(query);
}
public Collection getBuildings() {
try {
return super.idoGetRelatedEntities(Building.class);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("Error in getBuildings() : "
+ e.getMessage());
}
}
}