package com.idega.builder.business; import java.sql.SQLException; import java.util.List; import com.idega.core.component.data.ICObject; import com.idega.core.component.data.ICObjectInstance; import com.idega.data.EntityFinder; /** * Title: ProjectWeb * Description: * Copyright: Copyright (c) 2001 * Company: idega * @author * @version 1.0 */ public class IBObjectHandler { private ICObject arObject; private ICObjectInstance arObjectInstance; public IBObjectHandler() throws SQLException { this.arObject = ((com.idega.core.component.data.ICObjectHome) com.idega.data.IDOLookup.getHomeLegacy(ICObject.class)).createLegacy(); this.arObjectInstance = ((com.idega.core.component.data.ICObjectInstanceHome) com.idega.data.IDOLookup.getHomeLegacy(ICObjectInstance.class)) .createLegacy(); } public int addNewObject(String PublicName, Object obj) throws Exception { int objID = getObjectID(obj); if (objID == -1) { ICObject newObj = ((com.idega.core.component.data.ICObjectHome) com.idega.data.IDOLookup.getHomeLegacy(ICObject.class)).createLegacy(); newObj.setClassName(obj.getClass().getName()); newObj.setName(PublicName); newObj.insert(); return newObj.getID(); } else { System.out.println(" WARNING! : This ICObject has been adden before and got the object_id = " + objID); return objID; } } public int addNewObjectInstance(Object obj) throws Exception { int instID = getObjectID(obj); if (instID != -1) { ICObjectInstance newInstance = ((com.idega.core.component.data.ICObjectInstanceHome) com.idega.data.IDOLookup.getHomeLegacy(ICObjectInstance.class)) .createLegacy(); newInstance.setICObjectID(instID); newInstance.insert(); return newInstance.getID(); } else { throw new Exception("ICObject is not known"); } } public int getObjectID(Object obj) throws Exception { List myList = EntityFinder.findAllByColumn( this.arObject, com.idega.core.component.data.ICObjectBMPBean.getClassNameColumnName(), obj.getClass().getName()); if (myList != null) { return ((ICObject) myList.get(0)).getID(); } else { return -1; } } } // Class IBObjectHandler