//idega 2001 - Tryggvi Larusson /* *Copyright 2001 idega.is All Rights Reserved. */ package com.idega.core.component.data; import java.sql.SQLException; import com.idega.core.component.business.ICObjectBusiness; import com.idega.data.IDORemoveRelationshipException; import com.idega.presentation.PresentationObject; /** *@author <a href="mailto:tryggvi@idega.is">Tryggvi Larusson</a> *@version 1.3 */ public class ICObjectInstanceBMPBean extends com.idega.data.GenericEntity implements ICObjectInstance{ public ICObjectInstanceBMPBean() { super(); } public ICObjectInstanceBMPBean(int id) throws Exception { super(id); } public static final String COLUMN_OBJECT_ID = "IC_OBJECT_ID"; public static final String IBPAGEID = "IB_PAGE_ID"; public static final String COLUMNNAME_PARENTID = "DPT_PARENT_ID"; public void initializeAttributes() { //par1: column name, par2: visible column name, par3-par4: editable/showable, par5 ... addAttribute(getIDColumnName()); addManyToOneRelationship(COLUMN_OBJECT_ID, "Object", ICObject.class); addManyToOneRelationship(IBPAGEID, "Page", com.idega.core.builder.data.ICPage.class); addManyToOneRelationship(COLUMNNAME_PARENTID, "ParentId", ICObjectInstance.class); } public String getEntityName() { return "IC_OBJECT_INSTANCE"; } public void setDefaultValues() { //setColumn("image_id",1); } public String getName() { return getObject().getName() + " nr. " + this.getID(); } public void setICObjectID(int id) { this.setColumn(COLUMN_OBJECT_ID, id); } public void setICObject(ICObject object) { this.setColumn(COLUMN_OBJECT_ID, object); } public int getIBPageID() { return getIntColumnValue(IBPAGEID); } public void setIBPageID(int id) { this.setColumn(IBPAGEID, id); } public int getParentInstanceID() { return getIntColumnValue(COLUMNNAME_PARENTID); } public void setParentInstanceID(int id) { this.setColumn(COLUMNNAME_PARENTID, id); } public ICObject getObject() { int icObjectID = this.getIntColumnValue(COLUMN_OBJECT_ID); return ICObjectBusiness.getInstance().getICObject(icObjectID); } public PresentationObject getNewInstance() throws ClassNotFoundException, IllegalAccessException, InstantiationException { return getObject().getNewInstance(); } public void setIBPageByKey(String pageKey) { try { int id = Integer.parseInt(pageKey); this.setIBPageID(id); } catch (NumberFormatException e) { System.err.println(e.getMessage()); } } public void ejbHomeRemoveRelation(ICObjectInstance instance,Class relatedEntity )throws IDORemoveRelationshipException{ try { instance.removeFrom(relatedEntity); } catch (SQLException e) { throw new IDORemoveRelationshipException(e.getMessage()); } } }