Package net.sf.mp.demo.conference.dao.impl.jpa.conference

Source Code of net.sf.mp.demo.conference.dao.impl.jpa.conference.ConferenceMemberExtendedJPAImpl

package net.sf.mp.demo.conference.dao.impl.jpa.conference;

import java.lang.reflect.InvocationTargetException;
import java.sql.Clob;
import java.sql.Blob;
import java.sql.Timestamp;
import java.util.Date;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Hashtable;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

import javax.persistence.Query;
import javax.persistence.EntityManager;

import net.sf.minuteProject.architecture.query.QueryWhatInit;
import net.sf.minuteProject.architecture.query.impl.QueryCountInit;
import net.sf.minuteProject.architecture.query.impl.QuerySelectCountInit;
import net.sf.minuteProject.architecture.query.impl.QuerySelectInit;
import net.sf.minuteProject.architecture.query.impl.QuerySelectDistinctInit;
import net.sf.minuteProject.architecture.cache.SimpleCache;
import net.sf.minuteProject.architecture.filter.data.ClauseCriterion;
import net.sf.minuteProject.architecture.filter.data.Criteria;
import net.sf.minuteProject.architecture.filter.data.Criterion;
import net.sf.minuteProject.architecture.filter.data.InCriterion;
import net.sf.minuteProject.architecture.filter.data.OrderCriteria;
import net.sf.minuteProject.architecture.utils.BeanUtils;
import net.sf.mp.demo.conference.dao.face.conference.ConferenceMemberExtDao;
import net.sf.mp.demo.conference.domain.conference.ConferenceMember;
import net.sf.mp.demo.conference.dao.impl.jpa.conference.ConferenceMemberJPAImpl;

import net.sf.mp.demo.conference.domain.conference.ConferenceFeedback;
import net.sf.mp.demo.conference.dao.impl.jpa.conference.ConferenceFeedbackExtendedJPAImpl;
import net.sf.mp.demo.conference.domain.conference.Evaluation;
import net.sf.mp.demo.conference.dao.impl.jpa.conference.EvaluationExtendedJPAImpl;
import net.sf.mp.demo.conference.domain.conference.Speaker;
import net.sf.mp.demo.conference.dao.impl.jpa.conference.SpeakerExtendedJPAImpl;
import net.sf.mp.demo.conference.dao.impl.jpa.conference.ConferenceExtendedJPAImpl;
import net.sf.mp.demo.conference.dao.impl.jpa.conference.AddressExtendedJPAImpl;
/**
*
* <p>Title: ConferenceMemberExtendedJPAImpl</p>
*
* <p>Description: Interface of a Data access object dealing with ConferenceMemberExtendedJPAImpl
* persistence. It offers a set of methods which allow for saving,
* deleting and searching ConferenceMemberExtendedJPAImpl objects</p>
*
*/

public class ConferenceMemberExtendedJPAImpl extends ConferenceMemberJPAImpl implements ConferenceMemberExtDao {

    private Logger log = Logger.getLogger(this.getClass());
   
    private SimpleCache simpleCache = new SimpleCache();
    private ConferenceFeedbackExtendedJPAImpl conferencefeedbackextendedjpaimpl;
    private EvaluationExtendedJPAImpl evaluationextendedjpaimpl;
    private SpeakerExtendedJPAImpl speakerextendedjpaimpl;
    private EntityManager emForRecursiveDao; // dao that needs other dao in a recursive manner not support by spring configuration

    public ConferenceMemberExtendedJPAImpl () {}

    /**
     * generic to move after in superclass
     */
    public ConferenceMemberExtendedJPAImpl (EntityManager emForRecursiveDao) {
       this.emForRecursiveDao = emForRecursiveDao;
    }
           
    /**
     * generic to move after in superclass
     */
    public List<Object[]> getSQLQueryResult(String query) {
       Query queryJ = getEntityManager().createNativeQuery(query);
       return queryJ.getResultList();           
    }


    /**
     * Inserts a ConferenceMember entity with cascade of its children
     * @param ConferenceMember conferenceMember
     */
    public void insertConferenceMemberWithCascade(ConferenceMember conferenceMember) {
      ConferenceMemberExtendedJPAImpl conferencememberextendedjpaimpl = new ConferenceMemberExtendedJPAImpl(getEntityManager());
      conferencememberextendedjpaimpl.insertConferenceMemberWithCascade(conferencememberextendedjpaimpl.getEntityManagerForRecursiveDao(), conferenceMember);
    }
    
    public void insertConferenceMemberWithCascade(EntityManager emForRecursiveDao, ConferenceMember conferenceMember) {
       insertConferenceMember(emForRecursiveDao, conferenceMember);
       if (!conferenceMember.getConferenceFeedbackConferenceMemberViaConferenceMemberId().isEmpty()) {
          ConferenceFeedbackExtendedJPAImpl conferencefeedbackextendedjpaimpl = new ConferenceFeedbackExtendedJPAImpl (emForRecursiveDao);
          for (ConferenceFeedback _conferenceFeedbackConferenceMemberViaConferenceMemberId : conferenceMember.getConferenceFeedbackConferenceMemberViaConferenceMemberId()) {
             conferencefeedbackextendedjpaimpl.insertConferenceFeedbackWithCascade(emForRecursiveDao, _conferenceFeedbackConferenceMemberViaConferenceMemberId);
          }
       }
       if (!conferenceMember.getEvaluationConferenceMemberViaConferenceMemberId().isEmpty()) {
          EvaluationExtendedJPAImpl evaluationextendedjpaimpl = new EvaluationExtendedJPAImpl (emForRecursiveDao);
          for (Evaluation _evaluationConferenceMemberViaConferenceMemberId : conferenceMember.getEvaluationConferenceMemberViaConferenceMemberId()) {
             evaluationextendedjpaimpl.insertEvaluationWithCascade(emForRecursiveDao, _evaluationConferenceMemberViaConferenceMemberId);
          }
       }
       if (!conferenceMember.getSpeakerConferenceMemberViaConferenceMemberId().isEmpty()) {
          SpeakerExtendedJPAImpl speakerextendedjpaimpl = new SpeakerExtendedJPAImpl (emForRecursiveDao);
          for (Speaker _speakerConferenceMemberViaConferenceMemberId : conferenceMember.getSpeakerConferenceMemberViaConferenceMemberId()) {
             speakerextendedjpaimpl.insertSpeakerWithCascade(emForRecursiveDao, _speakerConferenceMemberViaConferenceMemberId);
          }
       }
    }
       
    /**
     * Inserts a list of ConferenceMember entity with cascade of its children
     * @param List<ConferenceMember> conferenceMembers
     */
    public void insertConferenceMembersWithCascade(List<ConferenceMember> conferenceMembers) {
       for (ConferenceMember conferenceMember : conferenceMembers) {
          insertConferenceMemberWithCascade(conferenceMember);
       }
    }
       
    /**
     * lookup ConferenceMember entity ConferenceMember, criteria and max result number
     */
    public List<ConferenceMember> lookupConferenceMember(ConferenceMember conferenceMember, Criteria criteria, Integer numberOfResult, EntityManager em) {
    boolean isWhereSet = false;
        StringBuffer query = new StringBuffer();
        query.append ("SELECT conferenceMember FROM ConferenceMember conferenceMember ");
        for (Criterion criterion : criteria.getClauseCriterions()) {
            query.append (getQueryWHERE_AND (isWhereSet));
            isWhereSet = true;  
            query.append(criterion.getExpression());     
        }
        OrderCriteria orderCriteria = criteria.getOrderCriteria();
        if (criteria.getOrderCriteria()!=null)
          query.append(orderCriteria.getExpression());   
        Query hquery = em.createQuery(query.toString());
        if (numberOfResult!=null)
            hquery.setMaxResults(numberOfResult);
        return hquery.getResultList();   
    }
   
    public List<ConferenceMember> lookupConferenceMember(ConferenceMember conferenceMember, Criteria criteria, Integer numberOfResult) {
    return lookupConferenceMember(conferenceMember, criteria, numberOfResult, getEntityManager());
    }

    public Integer updateNotNullOnlyConferenceMember (ConferenceMember conferenceMember, Criteria criteria) {
        String queryWhat = getUpdateNotNullOnlyConferenceMemberQueryChunkPrototype (conferenceMember);
        StringBuffer query = new StringBuffer (queryWhat);
        boolean isWhereSet = false;
        for (Criterion criterion : criteria.getClauseCriterions()) {
            query.append (getQueryWHERE_AND (isWhereSet));
            isWhereSet = true;  
            query.append(criterion.getExpression());     
       
        Query jpaQuery = getEntityManager().createQuery(query.toString());
        isWhereSet = false;
        if (conferenceMember.getId() != null) {
           jpaQuery.setParameter ("id", conferenceMember.getId());
        }  
        if (conferenceMember.getConferenceId() != null) {
           jpaQuery.setParameter ("conferenceId", conferenceMember.getConferenceId());
        }  
        if (conferenceMember.getFirstName() != null) {
           jpaQuery.setParameter ("firstName", conferenceMember.getFirstName());
        }  
        if (conferenceMember.getLastName() != null) {
           jpaQuery.setParameter ("lastName", conferenceMember.getLastName());
        }  
        if (conferenceMember.getEmail() != null) {
           jpaQuery.setParameter ("email", conferenceMember.getEmail());
        }  
        if (conferenceMember.getAddressId() != null) {
           jpaQuery.setParameter ("addressId", conferenceMember.getAddressId());
        }  
        if (conferenceMember.getStatus() != null) {
           jpaQuery.setParameter ("status", conferenceMember.getStatus());
        }  
    return jpaQuery.executeUpdate();          
    }
 
  public ConferenceMember affectConferenceMember (ConferenceMember conferenceMember) {
      return referConferenceMember (conferenceMember, false);       
  }
   
  /**
   * Assign the first conferenceMember retrieved corresponding to the conferenceMember criteria.
   * Blank criteria are mapped to null.
   * If no criteria is found, null is returned.
   * If there is no conferenceMember corresponding in the database. Then conferenceMember is inserted and returned with its primary key(s).
   */
  public ConferenceMember assignConferenceMember (ConferenceMember conferenceMember) {
      return referConferenceMember (conferenceMember, true)
  }
 
  public ConferenceMember referConferenceMember (ConferenceMember conferenceMember, boolean isAssign) {
    conferenceMember = assignBlankToNull (conferenceMember);
    if (isAllNull(conferenceMember))
      return null;
    else {
      List<ConferenceMember> list = searchPrototypeConferenceMember(conferenceMember);
      if (list.isEmpty()) {
          if (isAssign)
             insertConferenceMember(conferenceMember);
          else
           return null;
      }
      else if (list.size()==1)
        conferenceMember.copy(list.get(0));
      else
        //TODO log error
        conferenceMember.copy(list.get(0));
    }
    return conferenceMember;       
  }

   public ConferenceMember assignConferenceMemberUseCache (ConferenceMember conferenceMember) {
      return referConferenceMemberUseCache (conferenceMember, true);
   }
         
   public ConferenceMember affectConferenceMemberUseCache (ConferenceMember conferenceMember) {
      return referConferenceMemberUseCache (conferenceMember, false);
   }
         
   public ConferenceMember referConferenceMemberUseCache (ConferenceMember conferenceMember, boolean isAssign) {
    String key = getCacheKey(null, conferenceMember, null, "assignConferenceMember");
      ConferenceMember conferenceMemberCache = (ConferenceMember)simpleCache.get(key);
      if (conferenceMemberCache==null) {
         conferenceMemberCache = referConferenceMember (conferenceMember, isAssign);
         if (key!=null)
           simpleCache.put(key, conferenceMemberCache);
      }
      conferenceMember.copy(conferenceMemberCache);
      return conferenceMemberCache;
  

  private String getCacheKey (ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, String queryKey) {
      StringBuffer sb = new StringBuffer();
      sb.append(queryKey);
      if (conferenceMemberWhat!=null)
         sb.append(conferenceMemberWhat.toStringWithParents());
      if (positiveConferenceMember!=null)
         sb.append(positiveConferenceMember.toStringWithParents());
      if (negativeConferenceMember!=null)
         sb.append(negativeConferenceMember.toStringWithParents());
      return sb.toString();
  }
 
    public ConferenceMember partialLoadWithParentFirstConferenceMember(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember){
    List <ConferenceMember> list = partialLoadWithParentConferenceMember(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember);
    return (!list.isEmpty())?(ConferenceMember)list.get(0):null;
    }
   
    public ConferenceMember partialLoadWithParentFirstConferenceMemberUseCache(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Boolean useCache){
    List <ConferenceMember> list = partialLoadWithParentConferenceMemberUseCache(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, useCache);
    return (!list.isEmpty())?(ConferenceMember)list.get(0):null;
    }
 
  public ConferenceMember partialLoadWithParentFirstConferenceMemberUseCacheOnResult(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Boolean useCache){
    List <ConferenceMember> list = partialLoadWithParentConferenceMemberUseCacheOnResult(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, useCache);
    return (!list.isEmpty())?(ConferenceMember)list.get(0):null;
    }
  //
  protected List<ConferenceMember> partialLoadWithParentConferenceMember(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Integer nbOfResult, Boolean useCache) {
     return partialLoadWithParentConferenceMember(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, new QuerySelectInit(), nbOfResult, useCache);
  }   

  protected List partialLoadWithParentConferenceMemberQueryResult (ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Integer nbOfResult, Boolean useCache) {
     return partialLoadWithParentConferenceMemberQueryResult (conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, new QuerySelectInit(), nbOfResult, useCache);
 
   
    public List<ConferenceMember> getDistinctConferenceMember(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember) {
     return partialLoadWithParentConferenceMember(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, new QuerySelectDistinctInit(), null, false);
  }
 
  public List<ConferenceMember> partialLoadWithParentConferenceMember(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember) {
     return partialLoadWithParentConferenceMember(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, new QuerySelectInit(), null, false);
 
 
  public List<ConferenceMember> partialLoadWithParentConferenceMemberUseCacheOnResult(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Boolean useCache) {
    String key = getCacheKey(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, "partialLoadWithParentConferenceMember");
    List<ConferenceMember> list = (List<ConferenceMember>)simpleCache.get(key);
    if (list==null || list.isEmpty()) {
      list = partialLoadWithParentConferenceMember(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember);
      if (!list.isEmpty())
         simpleCache.put(key, list);
    }
    return list; 
 

  public List<ConferenceMember> partialLoadWithParentConferenceMemberUseCache(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Boolean useCache) {
    String key = getCacheKey(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, "partialLoadWithParentConferenceMember");
    List<ConferenceMember> list = (List<ConferenceMember>)simpleCache.get(key);
    if (list==null) {
      list = partialLoadWithParentConferenceMember(conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember);
      simpleCache.put(key, list);
    }
    return list; 
 
 
  private List<ConferenceMember> handleLoadWithParentConferenceMember(Map beanPath, List list, ConferenceMember conferenceMemberWhat) {
      return handleLoadWithParentConferenceMember(beanPath, list, conferenceMemberWhat, true)
  }
 
  private List<ConferenceMember> handleLoadWithParentConferenceMember(Map beanPath, List list, ConferenceMember conferenceMemberWhat, boolean isHql) {
    if (beanPath.size()==1) {
      return handlePartialLoadWithParentConferenceMemberWithOneElementInRow(list, beanPath, conferenceMemberWhat, isHql);
    }
    return handlePartialLoadWithParentConferenceMember(list, beanPath, conferenceMemberWhat, isHql)
  }
 
      // to set in super class 
  protected void populateConferenceMember (ConferenceMember conferenceMember, Object value, String beanPath) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
     BeanUtils.populateBeanObject(conferenceMember, beanPath, value);
  }
 
  protected void populateConferenceMemberFromSQL (ConferenceMember conferenceMember, Object value, String beanPath) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
     BeanUtils.populateBeanObject(conferenceMember, beanPath, value);
  }
      // to set in super class BEWARE: genericity is only one level!!!!! first level is a copy second level is a reference!!! change to conferenceMember.clone() instead
  private ConferenceMember cloneConferenceMember (ConferenceMember conferenceMember) throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException {
    //return (ConferenceMember) BeanUtils.cloneBeanObject(conferenceMember);
     if (conferenceMember==null) return new ConferenceMember();
     return conferenceMember.clone();
  }
   
    // to set in super class
  private Object getBeanObjectInstance (Object bean) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
       return BeanUtils.getBeanObjectInstance(bean)
  }
  // to set in super class
  protected void populateObject (Object bean, Object value, String beanPath) throws IllegalAccessException, InvocationTargetException {
       BeanUtils.populateObject(bean, value, beanPath);
  }
 
  protected void populateObjectFromSQL (Object bean, Object value, String beanPath) throws IllegalAccessException, InvocationTargetException {
       BeanUtils.populateObject(bean, value, beanPath);
  }
 
    public List<ConferenceMember> countDistinct (ConferenceMember whatMask, ConferenceMember whereEqCriteria) {
       return partialLoadWithParentConferenceMember(whatMask, whereEqCriteria, null, new QuerySelectCountInit("conferenceMember"), null, false);
    }  
     
    public Long count(ConferenceMember whereEqCriteria) {
        List<ConferenceMember> list = partialLoadWithParentConferenceMember(null, whereEqCriteria, null, new QueryCountInit("conferenceMember"), null, false);   
      if (!list.isEmpty())
        return list.get(0).getCount__();
      return 0L;
    }
   
         
   public ConferenceMember getFirstConferenceMemberWhereConditionsAre (ConferenceMember conferenceMember) {
      List<ConferenceMember> list = partialLoadWithParentConferenceMember(getDefaultConferenceMemberWhat(), conferenceMember, null, 1, false);
      if (list.isEmpty()) {
         return null;
      }
      else if (list.size()==1)
         return list.get(0);
      else
      //TODO log error
         return list.get(0)
  }

   private List getFirstResultWhereConditionsAre (ConferenceMember conferenceMember) {
      return  partialLoadWithParentConferenceMemberQueryResult(getDefaultConferenceMemberWhat(), conferenceMember, null, 1, false)
   }
  
   protected ConferenceMember getDefaultConferenceMemberWhat() {
      ConferenceMember conferenceMember = new ConferenceMember();
      conferenceMember.setId(Long.valueOf("-1"));
      return conferenceMember;
   }
  
  public ConferenceMember getFirstConferenceMember (ConferenceMember conferenceMember) {
    if (isAllNull(conferenceMember))
      return null;
    else {
      List<ConferenceMember> list = searchPrototype (conferenceMember, 1);
      if (list.isEmpty()) {
        return null;
      }
      else if (list.size()==1)
        return list.get(0);
      else
        //TODO log error
        return list.get(0)
    }
  }
 
    /**
    * checks if the ConferenceMember entity exists
    */          
    public boolean existsConferenceMember (ConferenceMember conferenceMember) {
       if (getFirstConferenceMember(conferenceMember)!=null)
          return true;
       return false
    }
       
    public boolean existsConferenceMemberWhereConditionsAre (ConferenceMember conferenceMember) {
       if (getFirstResultWhereConditionsAre (conferenceMember).isEmpty())
          return false;
       return true
    }


 
  private int countPartialField (ConferenceMember conferenceMember) {
     int cpt = 0;
       if (conferenceMember.getId() != null) {
          cpt++;
       }
       if (conferenceMember.getConferenceId() != null) {
          cpt++;
       }
       if (conferenceMember.getFirstName() != null) {
          cpt++;
       }
       if (conferenceMember.getLastName() != null) {
          cpt++;
       }
       if (conferenceMember.getEmail() != null) {
          cpt++;
       }
       if (conferenceMember.getAddressId() != null) {
          cpt++;
       }
       if (conferenceMember.getStatus() != null) {
          cpt++;
       }
       return cpt;
  }  
   
  public List<ConferenceMember> partialLoadWithParentConferenceMember(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, QueryWhatInit queryWhatInit, Integer nbOfResult, Boolean useCache) {
    Map beanPath = new Hashtable();
    List list = partialLoadWithParentConferenceMemberJPAQueryResult (conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, queryWhatInit, beanPath, nbOfResult, useCache);
    if (beanPath.size()==1) {
      return handlePartialLoadWithParentConferenceMemberWithOneElementInRow(list, beanPath, conferenceMemberWhat, true);
    }
    return handlePartialLoadWithParentConferenceMember(list, beanPath, conferenceMemberWhat, true);
 

  private List partialLoadWithParentConferenceMemberQueryResult(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, QueryWhatInit queryWhatInit, Integer nbOfResult, Boolean useCache) {
    return partialLoadWithParentConferenceMemberJPAQueryResult (conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, queryWhatInit, new Hashtable(), nbOfResult, useCache);
 
 
  private List partialLoadWithParentConferenceMemberJPAQueryResult(ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, QueryWhatInit queryWhatInit, Map beanPath, Integer nbOfResult, Boolean useCache) {
    Query hquery = getPartialLoadWithParentConferenceMemberJPAQuery (conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, beanPath, queryWhatInit, nbOfResult);
    return hquery.getResultList();
 
   /**
    * @returns an JPA Hsql query based on entity ConferenceMember and its parents and the maximum number of result
    */
  protected Query getPartialLoadWithParentConferenceMemberJPAQuery (ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Map beanPath, QueryWhatInit queryWhatInit, Integer nbOfResult) {
     Query query = getEntityManager().createQuery(getPartialLoadWithParentConferenceMemberHsqlQuery (conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, beanPath, queryWhatInit));
     if (nbOfResult!=null)
        query.setMaxResults(nbOfResult);
     return query;
  }
 
  private List<ConferenceMember> handlePartialLoadWithParentConferenceMember(List<Object[]> list, Map<Integer, String> beanPath, ConferenceMember conferenceMemberWhat, boolean isJql) {
    try {
      return convertPartialLoadWithParentConferenceMember(list, beanPath, conferenceMemberWhat);
    } catch (Exception ex) {
      log.error("Error conversion list from handlePartialLoadWithParentConferenceMember, message:"+ex.getMessage());
      return new ArrayList<ConferenceMember>();
    }
    }

  private List<ConferenceMember> handlePartialLoadWithParentConferenceMemberWithOneElementInRow(List<Object> list, Map<Integer, String> beanPath, ConferenceMember conferenceMemberWhat, boolean isJql) {
    try {
      return convertPartialLoadWithParentConferenceMemberWithOneElementInRow(list, beanPath, conferenceMemberWhat);
    } catch (Exception ex) {
      log.error("Error conversion list from handlePartialLoadWithParentConferenceMemberWithOneElementInRow, message:"+ex.getMessage());
      return new ArrayList<ConferenceMember>();
    }
    }
     
   private List<ConferenceMember> convertPartialLoadWithParentConferenceMember(List<Object[]> list, Map<Integer, String> beanPath, ConferenceMember conferenceMemberWhat) throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException {
     List<ConferenceMember> resultList = new ArrayList<ConferenceMember>();
     for (Object[] row : list) {   
        ConferenceMember conferenceMember = cloneConferenceMember (conferenceMemberWhat);
        Iterator<Entry<Integer, String>> iter = beanPath.entrySet().iterator()
        while (iter.hasNext()) {
           Entry entry = iter.next();
           populateConferenceMember (conferenceMember, row[(Integer)entry.getKey()], (String)entry.getValue());
        }
        resultList.add(conferenceMember);
     }
     return resultList;   
  
   
   private List<ConferenceMember> convertPartialLoadWithParentConferenceMemberWithOneElementInRow(List<Object> list, Map<Integer, String> beanPath, ConferenceMember conferenceMemberWhat) throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException {
     List<ConferenceMember> resultList = new ArrayList<ConferenceMember>();
     for (Object row : list) {   
        ConferenceMember conferenceMember = cloneConferenceMember (conferenceMemberWhat);
        Iterator<Entry<Integer, String>> iter = beanPath.entrySet().iterator()
        while (iter.hasNext()) {
           Entry entry = iter.next();
           populateConferenceMember (conferenceMember, row, (String)entry.getValue());
        }
        resultList.add(conferenceMember);
     }    
     return resultList;   
   }
  
  public List partialLoadWithParentForBean(Object bean, ConferenceMember conferenceMemberWhat, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember) {
    Map beanPath = new Hashtable();
    Query hquery = getPartialLoadWithParentConferenceMemberJPAQuery (conferenceMemberWhat, positiveConferenceMember, negativeConferenceMember, beanPath, new QuerySelectInit(), null);
        List<Object[]> list = hquery.getResultList();
    return handlePartialLoadWithParentForBean(list, beanPath, bean);
   
//   to set in super class
  private List handlePartialLoadWithParentForBean(List<Object[]> list, Map<Integer, String> beanPath, Object bean) {
    try {
      return convertPartialLoadWithParentForBean(list, beanPath, bean);
    } catch (Exception ex) {
      //TODO log ex
      return new ArrayList();
    }
    }
  // to set in super class
  private List convertPartialLoadWithParentForBean(List<Object[]> list, Map<Integer, String> beanPath, Object bean) throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException {
    List resultList = new ArrayList();
    for (Object[] row : list) {   
       Object result = getBeanObjectInstance(bean);
       Iterator<Entry<Integer, String>> iter = beanPath.entrySet().iterator()
       while (iter.hasNext()) {
        Entry entry = iter.next();
        populateObject (result, row[(Integer)entry.getKey()], getFieldFromBeanPath((String)entry.getValue()));
      }
      resultList.add(result);
    }
    return resultList;   
   
 

 
  // to set in super class
  private String getFieldFromBeanPath(String beanPath) {
     String result = StringUtils.substringAfterLast(beanPath, ".");
     if (result.equals(""))
     return beanPath;
     return result;
  }

   /**
    *
    * partial on entity and its parents load enables to specify the fields you want to load explicitly
    */
  public String getPartialLoadWithParentConferenceMemberHsqlQuery (ConferenceMember conferenceMember, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember, Map beanPath, QueryWhatInit queryWhatInit) {
    Hashtable aliasWhatHt = new Hashtable();
    String what = getPartialLoadWithParentConferenceMemberQuery (conferenceMember, null, aliasWhatHt, null, null, beanPath, "", queryWhatInit);
    Hashtable aliasWhereHt = new Hashtable();
    String where = getPartialLoadWithParentWhereConferenceMemberQuery (positiveConferenceMember, null, aliasWhatHt, aliasWhereHt, null, null);
    String whereHow = reconciliateWherePath(aliasWhatHt, aliasWhereHt);
    String how = reconciliateHowPath(aliasWhatHt, aliasWhereHt);
    String whereConcat = "";
    if (where!=null && !where.equals("") && whereHow!=null && !whereHow.equals(""))
      whereConcat=" AND ";
    return what+" FROM "+how +" WHERE "+whereHow+ whereConcat +where;
  }
   
  /**
    * partial on a single entity load enables to specify the fields you want to load explicitly
    */        
  public List<ConferenceMember> partialLoadConferenceMember(ConferenceMember conferenceMember, ConferenceMember positiveConferenceMember, ConferenceMember negativeConferenceMember) {
      Query hquery = getEntityManager().createQuery(getPartialLoadConferenceMemberQuery (conferenceMember, positiveConferenceMember, negativeConferenceMember));
    int countPartialField = countPartialField(conferenceMember);
    if (countPartialField==0)
       return new ArrayList<ConferenceMember>();
    List list = hquery.getResultList();
    Iterator iter = list.iterator();
    List<ConferenceMember> returnList = new ArrayList<ConferenceMember>();
    while(iter.hasNext()) {
         int index = 0;
         Object[] row;
         if (countPartialField==1) {
          row = new Object[1];
          row[0] = iter.next();
         } else
          row = (Object[]) iter.next();
       ConferenceMember conferenceMemberResult = new ConferenceMember();
           if (conferenceMember.getId() != null) {
        conferenceMemberResult.setId((Long) row[index]);
        index++;
           }
           if (conferenceMember.getConferenceId() != null) {
        conferenceMemberResult.setConferenceId_((Long) row[index]);
        index++;
           }
           if (conferenceMember.getFirstName() != null) {
        conferenceMemberResult.setFirstName((String) row[index]);
        index++;
           }
           if (conferenceMember.getLastName() != null) {
        conferenceMemberResult.setLastName((String) row[index]);
        index++;
           }
           if (conferenceMember.getEmail() != null) {
        conferenceMemberResult.setEmail((String) row[index]);
        index++;
           }
           if (conferenceMember.getAddressId() != null) {
        conferenceMemberResult.setAddressId_((Long) row[index]);
        index++;
           }
           if (conferenceMember.getStatus() != null) {
        conferenceMemberResult.setStatus((String) row[index]);
        index++;
           }
           returnList.add(conferenceMemberResult);
        }
      return returnList;
  }

  public static String getPartialLoadWithParentWhereConferenceMemberQuery (
     ConferenceMember conferenceMember, Boolean isWhereSet, Hashtable aliasHt, Hashtable aliasWhereHt, String childAlias, String childFKAlias) {
     if (conferenceMember==null)
        return "";
     String alias = null;
     if (aliasWhereHt == null) {
        aliasWhereHt = new Hashtable();
     }
     if (isLookedUp(conferenceMember)){
        alias = getNextAlias (aliasWhereHt, conferenceMember);
      aliasWhereHt.put (getAliasKey(alias), getAliasConnection(alias, childAlias, childFKAlias));
     }
     if (isWhereSet == null)
          isWhereSet = false;
       StringBuffer query = new StringBuffer();
       if (conferenceMember.getId() != null) {
           query.append (getQueryBLANK_AND (isWhereSet));
       isWhereSet = true;
           query.append(" "+alias+".id = "+ conferenceMember.getId() + " ");
       }
       if (conferenceMember.getConferenceId() != null) {
           query.append (getQueryBLANK_AND (isWhereSet));
       isWhereSet = true;
           query.append(" "+alias+".conferenceId = "+ conferenceMember.getConferenceId() + " ");
       }
       if (conferenceMember.getFirstName() != null) {
           query.append (getQueryBLANK_AND (isWhereSet));
       isWhereSet = true;
           query.append(" "+alias+".firstName = '"+ conferenceMember.getFirstName()+"' ");
       }
       if (conferenceMember.getLastName() != null) {
           query.append (getQueryBLANK_AND (isWhereSet));
       isWhereSet = true;
           query.append(" "+alias+".lastName = '"+ conferenceMember.getLastName()+"' ");
       }
       if (conferenceMember.getEmail() != null) {
           query.append (getQueryBLANK_AND (isWhereSet));
       isWhereSet = true;
           query.append(" "+alias+".email = '"+ conferenceMember.getEmail()+"' ");
       }
       if (conferenceMember.getAddressId() != null) {
           query.append (getQueryBLANK_AND (isWhereSet));
       isWhereSet = true;
           query.append(" "+alias+".addressId = "+ conferenceMember.getAddressId() + " ");
       }
       if (conferenceMember.getStatus() != null) {
           query.append (getQueryBLANK_AND (isWhereSet));
       isWhereSet = true;
           query.append(" "+alias+".status = '"+ conferenceMember.getStatus()+"' ");
       }
       if (conferenceMember.getConferenceId()!=null) {
        String chunck = net.sf.mp.demo.conference.dao.impl.jpa.conference.ConferenceExtendedJPAImpl.getPartialLoadWithParentWhereConferenceQuery(
          conferenceMember.getConferenceId(),
        isWhereSet, aliasHt, aliasWhereHt, alias, "conferenceId");
      if (chunck!=null && !chunck.equals("")) {
         query.append(chunck);
         isWhereSet=true;
      }     
     }
       if (conferenceMember.getAddressId()!=null) {
        String chunck = net.sf.mp.demo.conference.dao.impl.jpa.conference.AddressExtendedJPAImpl.getPartialLoadWithParentWhereAddressQuery(
          conferenceMember.getAddressId(),
        isWhereSet, aliasHt, aliasWhereHt, alias, "addressId");
      if (chunck!=null && !chunck.equals("")) {
         query.append(chunck);
         isWhereSet=true;
      }     
     }
     return query.toString();
    }
 
  public static String reconciliateWherePath(Hashtable aliasWhatHt, Hashtable aliasWhereHt) {
     StringBuffer sb = new StringBuffer();
     boolean isBlankSet = false;
     aliasWhatHt.putAll(aliasWhereHt);
     Enumeration<String> elements = aliasWhatHt.elements();
     while (elements.hasMoreElements()) {
      String element = elements.nextElement();
      if (!element.equals("")) {
         sb.append (getQueryBLANK_AND (isBlankSet));
         isBlankSet=true;
         sb.append(element);
      }
     }
     return sb.toString();
  }
 
  public static String reconciliateHowPath(Hashtable aliasWhatHt, Hashtable aliasWhereHt) {
     StringBuffer sb = new StringBuffer();
     boolean isBlankSet = false;
     aliasWhatHt.putAll(aliasWhereHt);
     Enumeration<String> keys = aliasWhatHt.keys();
     while (keys.hasMoreElements()) {
      String key = keys.nextElement();
      sb.append (getQueryBLANK_COMMA (isBlankSet));
      isBlankSet = true;
      sb.append(getAliasKeyDomain(key)+" "+getAliasKeyAlias(key));
     }
     return sb.toString();
  }
 
  protected static String getRootDomainName (String domainName) {
    return StringUtils.substringBefore(domainName, "_");
  }
 
    public static String getPartialLoadWithParentConferenceMemberQuery (
     ConferenceMember conferenceMember, Boolean isWhereSet, Hashtable aliasHt, String childAlias, String childFKAlias, Map beanPath, String rootPath, QueryWhatInit queryWhatInit) {
     if (conferenceMember==null)
        return "";
     String alias = null;
     if (aliasHt == null) {
        aliasHt = new Hashtable();
     }
     if (isLookedUp(conferenceMember)){
        alias = getNextAlias (aliasHt, conferenceMember);
      aliasHt.put (getAliasKey(alias), getAliasConnection(alias, childAlias, childFKAlias));
     }
     if (isWhereSet == null)
          isWhereSet = false;
       StringBuffer query = new StringBuffer();
       if (conferenceMember.getId() != null) {
          query.append (queryWhatInit.getWhatInit (isWhereSet));
          isWhereSet = true;
          beanPath.put(beanPath.size(), rootPath+"id");
          query.append(" "+alias+".id ");
       }
       if (conferenceMember.getConferenceId() != null) {
          query.append (queryWhatInit.getWhatInit (isWhereSet));
          isWhereSet = true;
          beanPath.put(beanPath.size(), rootPath+"conferenceId");
          query.append(" "+alias+".conferenceId ");
       }
       if (conferenceMember.getFirstName() != null) {
          query.append (queryWhatInit.getWhatInit (isWhereSet));
          isWhereSet = true;
          beanPath.put(beanPath.size(), rootPath+"firstName");
          query.append(" "+alias+".firstName ");
       }
       if (conferenceMember.getLastName() != null) {
          query.append (queryWhatInit.getWhatInit (isWhereSet));
          isWhereSet = true;
          beanPath.put(beanPath.size(), rootPath+"lastName");
          query.append(" "+alias+".lastName ");
       }
       if (conferenceMember.getEmail() != null) {
          query.append (queryWhatInit.getWhatInit (isWhereSet));
          isWhereSet = true;
          beanPath.put(beanPath.size(), rootPath+"email");
          query.append(" "+alias+".email ");
       }
       if (conferenceMember.getAddressId() != null) {
          query.append (queryWhatInit.getWhatInit (isWhereSet));
          isWhereSet = true;
          beanPath.put(beanPath.size(), rootPath+"addressId");
          query.append(" "+alias+".addressId ");
       }
       if (conferenceMember.getStatus() != null) {
          query.append (queryWhatInit.getWhatInit (isWhereSet));
          isWhereSet = true;
          beanPath.put(beanPath.size(), rootPath+"status");
          query.append(" "+alias+".status ");
       }
       if (conferenceMember.getConferenceId()!=null) {
        String chunck = net.sf.mp.demo.conference.dao.impl.jpa.conference.ConferenceExtendedJPAImpl.getPartialLoadWithParentConferenceQuery(
          conferenceMember.getConferenceId(),
        isWhereSet, aliasHt, alias, "conferenceId", beanPath, rootPath+"conferenceId.", queryWhatInit);
      if (chunck!=null && !chunck.equals("")) {
         query.append(chunck);
         isWhereSet=true;
      }
     } 
       if (conferenceMember.getAddressId()!=null) {
        String chunck = net.sf.mp.demo.conference.dao.impl.jpa.conference.AddressExtendedJPAImpl.getPartialLoadWithParentAddressQuery(
          conferenceMember.getAddressId(),
        isWhereSet, aliasHt, alias, "addressId", beanPath, rootPath+"addressId.", queryWhatInit);
      if (chunck!=null && !chunck.equals("")) {
         query.append(chunck);
         isWhereSet=true;
      }
     } 
//       query.append(getConferenceMemberSearchEqualQuery (positiveConferenceMember, negativeConferenceMember));
     return query.toString();
    }
 
  protected static String getAliasConnection(String existingAlias, String childAlias, String childFKAlias) {
    if (childAlias==null)
       return "";
    return childAlias+"."+childFKAlias+" = "+existingAlias+"."+"id";
  }
 
  protected static String getAliasKey (String alias) {
    //TODO this is a temporary solution use a dedicated object in BslaHiberateDaoSupport
    return "ConferenceMember|"+alias;
  }
 
  protected static String getAliasKeyAlias (String aliasKey) {
    //TODO this is a temporary solution use a dedicated object in BslaHiberateDaoSupport
    return StringUtils.substringAfter(aliasKey, "|");
  }
 
  protected static String getAliasKeyDomain (String aliasKey) {
    //TODO this is a temporary solution use a dedicated object in BslaHiberateDaoSupport
    return StringUtils.substringBefore(aliasKey, "|");
  }
 
  protected static String getNextAlias (Hashtable aliasHt, ConferenceMember conferenceMember) {
    int cptSameAlias = 0;
    Enumeration<String> keys = aliasHt.keys();
    while (keys.hasMoreElements()) {
      String key = keys.nextElement();
      if (key.startsWith("conferenceMember"))
        cptSameAlias++;
    }
    if (cptSameAlias==0)
      return "conferenceMember";
    else
      return "conferenceMember_"+cptSameAlias;
  }
 
 
  protected static boolean isLookedUp (ConferenceMember conferenceMember) {
     if (conferenceMember==null)
      return false;
       if (conferenceMember.getId() != null) {
        return true;
       }
       if (conferenceMember.getConferenceId() != null) {
        return true;
       }
       if (conferenceMember.getFirstName() != null) {
        return true;
       }
       if (conferenceMember.getLastName() != null) {
        return true;
       }
       if (conferenceMember.getEmail() != null) {
        return true;
       }
       if (conferenceMember.getAddressId() != null) {
        return true;
       }
       if (conferenceMember.getStatus() != null) {
        return true;
       }
       if (conferenceMember.getConferenceId()!=null) {
        return true;
    
       if (conferenceMember.getAddressId()!=null) {
        return true;
    
       return false;  
  }
 
    public String getPartialLoadConferenceMemberQuery(
     ConferenceMember conferenceMember,
     ConferenceMember positiveConferenceMember,
     ConferenceMember negativeConferenceMember) {
       boolean isWhereSet = false;
       StringBuffer query = new StringBuffer();
       if (conferenceMember.getId() != null) {
          query.append (getQuerySelectComma (isWhereSet));
          isWhereSet = true;
          query.append(" id ");
       }
       if (conferenceMember.getConferenceId() != null) {
          query.append (getQuerySelectComma (isWhereSet));
          isWhereSet = true;
          query.append(" conferenceId ");
       }
       if (conferenceMember.getFirstName() != null) {
          query.append (getQuerySelectComma (isWhereSet));
          isWhereSet = true;
          query.append(" firstName ");
       }
       if (conferenceMember.getLastName() != null) {
          query.append (getQuerySelectComma (isWhereSet));
          isWhereSet = true;
          query.append(" lastName ");
       }
       if (conferenceMember.getEmail() != null) {
          query.append (getQuerySelectComma (isWhereSet));
          isWhereSet = true;
          query.append(" email ");
       }
       if (conferenceMember.getAddressId() != null) {
          query.append (getQuerySelectComma (isWhereSet));
          isWhereSet = true;
          query.append(" addressId ");
       }
       if (conferenceMember.getStatus() != null) {
          query.append (getQuerySelectComma (isWhereSet));
          isWhereSet = true;
          query.append(" status ");
       }
       query.append(getConferenceMemberSearchEqualQuery (positiveConferenceMember, negativeConferenceMember));
     return query.toString();
    }
 
  public List<ConferenceMember> searchPrototypeWithCacheConferenceMember(ConferenceMember conferenceMember) {
    SimpleCache simpleCache = new SimpleCache();
    List<ConferenceMember> list = (List<ConferenceMember>)simpleCache.get(conferenceMember.toString());
    if (list==null) {
      list = searchPrototypeConferenceMember(conferenceMember);
      simpleCache.put(conferenceMember.toString(), list);
    }
    return list;
  }

    public List<ConferenceMember> loadGraph(ConferenceMember graphMaskWhat, List<ConferenceMember> whereMask) {
        return loadGraphOneLevel(graphMaskWhat, whereMask);
    }
    public List<ConferenceMember> loadGraphOneLevel(ConferenceMember graphMaskWhat, List<ConferenceMember> whereMask) {
        //first get roots element from where list mask
        // this brings the level 0 of the graph (root level)
        graphMaskWhat.setId(graphMaskWhat.longMask__);
        List<ConferenceMember> conferenceMembers = searchPrototypeConferenceMember (whereMask);
        // for each sub level perform the search with a subquery then reassemble
        // 1. get all sublevel queries
        // 2. perform queries on the correct dao
        // 3. reassemble
        return getLoadGraphOneLevel (graphMaskWhat, conferenceMembers);
    }

  private List<ConferenceMember> copy(List<ConferenceMember> inputs) {
    List<ConferenceMember> l = new ArrayList<ConferenceMember>();
    for (ConferenceMember input : inputs) {
      ConferenceMember copy = new ConferenceMember();
      copy.copy(input);
      l.add(copy);
    }
    return l;
  }
    
  private List<ConferenceMember> getLoadGraphOneLevel (ConferenceMember graphMaskWhat, List<ConferenceMember> parents) {
      return loadGraphFromParentKey (graphMaskWhat, parents);
  }
 
  public List<ConferenceMember> loadGraphFromParentKey (ConferenceMember graphMaskWhat, List<ConferenceMember> parents) {
    //foreach children:
    //check if not empty take first
    parents = copy (parents); //working with detached entities to avoid unnecessary sql calls
    if (parents==null || parents.isEmpty())
       return parents;
    List<String> ids = getPk (parents);
    if (graphMaskWhat.getConferenceFeedbackConferenceMemberViaConferenceMemberId()!=null && !graphMaskWhat.getConferenceFeedbackConferenceMemberViaConferenceMemberId().isEmpty()) {
      for (ConferenceFeedback childWhat : graphMaskWhat.getConferenceFeedbackConferenceMemberViaConferenceMemberId()) {
        childWhat.setConferenceMemberId_(graphMaskWhat.longMask__); // add to the what mask, usefull for reconciliation
        ConferenceFeedbackExtendedJPAImpl conferencefeedbackextendedjpaimpl = new ConferenceFeedbackExtendedJPAImpl ();
        List<ConferenceFeedback> children = conferencefeedbackextendedjpaimpl.lookupConferenceFeedback(childWhat, getFkCriteria(" id ", ids), null, getEntityManager());
        reassembleConferenceFeedback (children, parents);       
        break;
      }
    }
    if (graphMaskWhat.getEvaluationConferenceMemberViaConferenceMemberId()!=null && !graphMaskWhat.getEvaluationConferenceMemberViaConferenceMemberId().isEmpty()) {
      for (Evaluation childWhat : graphMaskWhat.getEvaluationConferenceMemberViaConferenceMemberId()) {
        childWhat.setConferenceMemberId_(graphMaskWhat.longMask__); // add to the what mask, usefull for reconciliation
        EvaluationExtendedJPAImpl evaluationextendedjpaimpl = new EvaluationExtendedJPAImpl ();
        List<Evaluation> children = evaluationextendedjpaimpl.lookupEvaluation(childWhat, getFkCriteria(" id ", ids), null, getEntityManager());
        reassembleEvaluation (children, parents);       
        break;
      }
    }
    if (graphMaskWhat.getSpeakerConferenceMemberViaConferenceMemberId()!=null && !graphMaskWhat.getSpeakerConferenceMemberViaConferenceMemberId().isEmpty()) {
      for (Speaker childWhat : graphMaskWhat.getSpeakerConferenceMemberViaConferenceMemberId()) {
        childWhat.setConferenceMemberId_(graphMaskWhat.longMask__); // add to the what mask, usefull for reconciliation
        SpeakerExtendedJPAImpl speakerextendedjpaimpl = new SpeakerExtendedJPAImpl ();
        List<Speaker> children = speakerextendedjpaimpl.lookupSpeaker(childWhat, getFkCriteria(" id ", ids), null, getEntityManager());
        reassembleSpeaker (children, parents);       
        break;
      }
    }
    return parents;
  }
 
  private void reassembleConferenceFeedback (List<ConferenceFeedback> children, List<ConferenceMember> parents) {
    for (ConferenceFeedback child : children) {
      for (ConferenceMember parent : parents) {
        if (parent.getId()!=null && parent.getId().toString().equals(child.getConferenceMemberId()+"")) {
          parent.addConferenceFeedbackConferenceMemberViaConferenceMemberId(child); //ConferenceFeedbackConferenceMemberViaConferenceMemberId
          child.setConferenceMemberId(parent);
          break;
        }
      }
    }
  }
 
  private void reassembleEvaluation (List<Evaluation> children, List<ConferenceMember> parents) {
    for (Evaluation child : children) {
      for (ConferenceMember parent : parents) {
        if (parent.getId()!=null && parent.getId().toString().equals(child.getConferenceMemberId()+"")) {
          parent.addEvaluationConferenceMemberViaConferenceMemberId(child); //EvaluationConferenceMemberViaConferenceMemberId
          child.setConferenceMemberId(parent);
          break;
        }
      }
    }
  }
 
  private void reassembleSpeaker (List<Speaker> children, List<ConferenceMember> parents) {
    for (Speaker child : children) {
      for (ConferenceMember parent : parents) {
        if (parent.getId()!=null && parent.getId().toString().equals(child.getConferenceMemberId()+"")) {
          parent.addSpeakerConferenceMemberViaConferenceMemberId(child); //SpeakerConferenceMemberViaConferenceMemberId
          child.setConferenceMemberId(parent);
          break;
        }
      }
    }
  }
 
  private List<String> getPk(List<ConferenceMember> input) {
    List<String> s = new ArrayList<String>();
    for (ConferenceMember t : input) {
      s.add(t.getId()+"");
    }
    return s;
  }

  private Criteria getFkCriteria(String field, List<String> ids) {
    Criteria criteria = new Criteria();
    criteria.addCriterion(getInPk(field, ids));
    return criteria;
  }

  private ClauseCriterion getInPk(String field, List<String> ids) {
    InCriterion inCriterion = new InCriterion(field, ids, true);
    return inCriterion;
  }     
   
   
    public EntityManager getEntityManagerForRecursiveDao() {
    return emForRecursiveDao;
  }

  public void setEntityManagerForRecursiveDao(EntityManager emForRecursiveDao) {
    this.emForRecursiveDao = emForRecursiveDao;
  }
 
    public void setConferenceFeedbackExtendedJPAImpl (ConferenceFeedbackExtendedJPAImpl conferencefeedbackextendedjpaimpl) {
       this.conferencefeedbackextendedjpaimpl = conferencefeedbackextendedjpaimpl;
    }
   
    public ConferenceFeedbackExtendedJPAImpl getConferenceFeedbackExtendedJPAImpl () {
       return conferencefeedbackextendedjpaimpl;
    }
   
    public void setEvaluationExtendedJPAImpl (EvaluationExtendedJPAImpl evaluationextendedjpaimpl) {
       this.evaluationextendedjpaimpl = evaluationextendedjpaimpl;
    }
   
    public EvaluationExtendedJPAImpl getEvaluationExtendedJPAImpl () {
       return evaluationextendedjpaimpl;
    }
   
    public void setSpeakerExtendedJPAImpl (SpeakerExtendedJPAImpl speakerextendedjpaimpl) {
       this.speakerextendedjpaimpl = speakerextendedjpaimpl;
    }
   
    public SpeakerExtendedJPAImpl getSpeakerExtendedJPAImpl () {
       return speakerextendedjpaimpl;
    }
   
   
}
TOP

Related Classes of net.sf.mp.demo.conference.dao.impl.jpa.conference.ConferenceMemberExtendedJPAImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.