/*
* $Id: ContractFinder.java,v 1.10.4.1 2007/01/12 19:32:12 idegaweb Exp $
*
* Copyright (C) 2001 Idega hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*
*/
package com.idega.block.contract.business;
import java.util.Collection;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.ejb.EJBException;
import javax.ejb.FinderException;
import com.idega.block.contract.data.Contract;
import com.idega.block.contract.data.ContractCategory;
import com.idega.block.contract.data.ContractCategoryHome;
import com.idega.block.contract.data.ContractHome;
import com.idega.block.contract.data.ContractTag;
import com.idega.block.contract.data.ContractText;
import com.idega.core.component.data.ICObjectInstance;
import com.idega.core.component.data.ICObjectInstanceHome;
import com.idega.data.EntityFinder;
import com.idega.data.IDOLookup;
import com.idega.data.IDOLookupException;
;
/**
* Title: idegaclasses
* Description:
* Copyright: Copyright (c) 2001
* Company: idega
* @author <a href="aron@idega.is">Aron Birkir</a>
* @version 1.0
*/
/**
* @deprecated The home interfaces, or the service bean should be used instead
*/
public abstract class ContractFinder
{
public static Contract getContract(int id)
{
if (id > 0)
{
try
{
return (
(ContractHome) IDOLookup.getHome(Contract.class)).findByPrimaryKey(new Integer(id));
}
catch (Exception ex)
{
}
}
return null;
}
public static int countContractsInCategory(int iCategoryId)
{
try
{
return ((ContractHome)IDOLookup.getHome(Contract.class)).getCountByCategory(iCategoryId);
}
catch (Exception ex)
{
}
return 0;
}
public static int getObjectInstanceCategoryId(int iObjectInstanceId, boolean CreateNew)
{
int id = -1;
try
{
ICObjectInstance obj =
((com.idega.core.component.data.ICObjectInstanceHome) IDOLookup.getHomeLegacy(ICObjectInstance.class)).findByPrimaryKeyLegacy(
iObjectInstanceId);
id = getObjectInstanceCategoryId(obj);
if (id <= 0 && CreateNew)
{
id = ContractBusiness.createCategory(iObjectInstanceId);
}
}
catch (Exception ex)
{
}
return id;
}
public static int getObjectInstanceCategoryId(ICObjectInstance eObjectInstance)
{
try
{
Collection categories = getContractCategoryHome().findByObjectInstance(eObjectInstance);
if (categories != null)
{
return ((Integer)((ContractCategory) categories.iterator().next()).getPrimaryKey()).intValue();
}
else {
return -1;
}
}
catch (Exception ex)
{
ex.printStackTrace();
return -2;
}
}
public static int getObjectInstanceCategoryId(int iObjectInstanceId)
{
try
{
ICObjectInstance obj =
((com.idega.core.component.data.ICObjectInstanceHome) IDOLookup.getHomeLegacy(ICObjectInstance.class)).findByPrimaryKeyLegacy(
iObjectInstanceId);
return getObjectInstanceCategoryId(obj);
}
catch (Exception ex)
{
}
return -1;
}
public static int getObjectInstanceIdFromCategoryId(int iCategoryId)
{
try
{
Collection instances = getContractCategoryHome().findByPrimaryKey(new Integer(iCategoryId)).getRelatedObjectInstances();
if (instances != null)
{
return ((Integer)((ICObjectInstance) instances.iterator().next()).getPrimaryKey()).intValue();
}
else {
return -1;
}
}
catch (Exception ex)
{
ex.printStackTrace();
return -2;
}
}
public static ContractCategory getContractCategory(int iCategoryId)
{
if (iCategoryId > 0)
{
try
{
return (
(ContractCategoryHome) IDOLookup.getHome(
ContractCategory.class)).findByPrimaryKey(new Integer(iCategoryId));
}
catch (Exception ex)
{
}
}
return null;
}
public static Collection listOfStatusContracts(String S, int iCategoryId)
{
try
{
return ((ContractHome)IDOLookup.getHome(Contract.class)).findAllByCategoryAndStatus(iCategoryId,S);
}
catch (Exception e)
{}
return null;
}
public static List listOfContractTags(int iCategoryId)
{
try
{
return EntityFinder.findAllByColumn(
((com.idega.block.contract.data.ContractTagHome) IDOLookup.getHomeLegacy(ContractTag.class)).create(),
com.idega.block.contract.data.ContractTagBMPBean.getColumnNameCategoryId(),
iCategoryId);
}
catch (Exception ex)
{
}
return null;
}
public static List listOfContractTagsInUse(int iCategoryId)
{
try
{
EntityFinder.debug = true;
List L =
EntityFinder.findAllByColumn(
((com.idega.block.contract.data.ContractTagHome) IDOLookup.getHomeLegacy(ContractTag.class)).create(),
com.idega.block.contract.data.ContractTagBMPBean.getColumnNameInUse(),
"Y",
com.idega.block.contract.data.ContractTagBMPBean.getColumnNameCategoryId(),
iCategoryId);
EntityFinder.debug = false;
return L;
}
catch (Exception ex)
{
ex.printStackTrace();
}
return null;
}
public static List listOfContractTagsInList(int iCategoryId)
{
try
{
return EntityFinder.findAllByColumn(
((com.idega.block.contract.data.ContractTagHome) IDOLookup.getHomeLegacy(ContractTag.class)).create(),
com.idega.block.contract.data.ContractTagBMPBean.getColumnNameCategoryId(),
String.valueOf(iCategoryId),
com.idega.block.contract.data.ContractTagBMPBean.getColumnNameInList(),
"Y");
}
catch (Exception ex)
{
}
return null;
}
public static Collection listOfEntityForObjectInstanceId(int instanceid)
{
try
{
ICObjectInstance obj =
((ICObjectInstanceHome) IDOLookup.getHomeLegacy(ICObjectInstance.class)).findByPrimaryKey(new Integer(instanceid));
return listOfEntityForObjectInstanceId(obj);
}
catch (Exception ex)
{
return null;
}
}
public static Collection listOfEntityForObjectInstanceId(ICObjectInstance obj)
{
try
{
return getContractCategoryHome().findByObjectInstance(obj);
}
catch (Exception ex)
{
return null;
}
}
public static Collection listOfContractCategories()
{
try
{
return getContractCategoryHome().findAll();
}
catch (Exception ex)
{
}
return null;
}
public static Map mapOfContracts(int iCategoryId)
{
try {
Collection L = getContractHome().findAllByCategory(iCategoryId);
if (L != null)
{
Hashtable H = new Hashtable();
Iterator iter = L.iterator();
while(iter.hasNext())
{
Contract C = (Contract) iter.next();
H.put( C.getPrimaryKey(), C);
}
return H;
}
else {
return null;
}
}
catch (IDOLookupException e) {
e.printStackTrace();
}
catch (EJBException e) {
e.printStackTrace();
}
catch (FinderException e) {
e.printStackTrace();
}
return null;
}
public static Map mapOfContractTagsInUse(int iCategoryId)
{
List L = listOfContractTagsInUse(iCategoryId);
if (L != null)
{
Hashtable H = new Hashtable(L.size());
Iterator I = L.iterator();
while (I.hasNext())
{
ContractTag tag = (ContractTag) I.next();
H.put(new Integer(tag.getID()), tag);
}
return H;
}
return null;
}
public static ContractText getContractText(int id)
{
try
{
return (
(com.idega.block.contract.data.ContractTextHome) IDOLookup.getHomeLegacy(
ContractText.class)).findByPrimaryKeyLegacy(
id);
}
catch (Exception ex)
{
}
return null;
}
public static Collection listOfContractFiles(Contract eContract)
{
if (eContract != null)
{
try
{
return getContractHome().findFiles(((Integer)eContract.getPrimaryKey()).intValue());
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
return null;
}
public static int getContractTextMaxOrdinal()
{
try
{
return ((com.idega.block.contract.data.ContractTextHome) IDOLookup.getHomeLegacy(ContractText.class))
.create()
.getMaxColumnValue(com.idega.block.contract.data.ContractTextBMPBean.getOrdinalColumnName());
}
catch (Exception ex)
{
ex.printStackTrace();
}
return 0;
}
public static List listOfContractTexts(int iCategoryId)
{
try
{
EntityFinder.debug = true;
List L =
EntityFinder.findAllByColumnOrdered(
((com.idega.block.contract.data.ContractTextHome) IDOLookup.getHomeLegacy(ContractText.class)).create(),
com.idega.block.contract.data.ContractTextBMPBean.getColumnNameCategoryId(),
iCategoryId,
com.idega.block.contract.data.ContractTextBMPBean.getOrdinalColumnName());
EntityFinder.debug = false;
return L;
}
catch (Exception ex)
{
ex.printStackTrace();
}
return null;
}
public static List listOfContractTextsOrdered(int iCategoryId)
{
try
{
return EntityFinder.findAllByColumnOrdered(
((com.idega.block.contract.data.ContractTextHome) IDOLookup.getHomeLegacy(ContractText.class)).create(),
com.idega.block.contract.data.ContractTextBMPBean.getColumnNameCategoryId(),
iCategoryId,
com.idega.block.contract.data.ContractTextBMPBean.getOrdinalColumnName());
}
catch (Exception ex)
{
ex.printStackTrace();
}
return null;
}
public static Collection findContractsByUserId(int userId) {
try {
return getContractHome().findAllByUser(userId);
}
catch (Exception ex)
{
ex.printStackTrace();
}
return null;
}
public static ContractHome getContractHome() throws IDOLookupException{
return (ContractHome) IDOLookup.getHome(Contract.class);
}
public static ContractCategoryHome getContractCategoryHome() throws IDOLookupException{
return (ContractCategoryHome)IDOLookup.getHome(ContractCategory.class);
}
}