Return-Path: Delivered-To: apmail-ibatis-user-java-archive@www.apache.org Received: (qmail 51377 invoked from network); 15 Aug 2008 16:54:26 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 15 Aug 2008 16:54:26 -0000 Received: (qmail 98087 invoked by uid 500); 15 Aug 2008 16:54:23 -0000 Delivered-To: apmail-ibatis-user-java-archive@ibatis.apache.org Received: (qmail 98074 invoked by uid 500); 15 Aug 2008 16:54:22 -0000 Mailing-List: contact user-java-help@ibatis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user-java@ibatis.apache.org Delivered-To: mailing list user-java@ibatis.apache.org Received: (qmail 98063 invoked by uid 99); 15 Aug 2008 16:54:22 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Aug 2008 09:54:22 -0700 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_OPENWHOIS,SPF_HELO_PASS,SPF_PASS,WHOIS_MYPRIVREG X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Aug 2008 16:53:25 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1KU2Yj-0004jg-NW for user-java@ibatis.apache.org; Fri, 15 Aug 2008 09:53:53 -0700 Message-ID: <19002040.post@talk.nabble.com> Date: Fri, 15 Aug 2008 09:53:53 -0700 (PDT) From: hbuch4 To: user-java@ibatis.apache.org Subject: Re: don't call Managed Bean init method In-Reply-To: <18989735.post@talk.nabble.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: hbuch@straussauto.com References: <18989735.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org Here is what I mean, for those who need an example: My jsp iterates over the list returned by ScheduleWeekBean.getScheduleWeeks() and prints out all week end dates: Then, in getScheduleWeekBean.getScheduleWeeks(), I retrieve the data from the db: public List getScheduleweeks() { try { scheduleweeks = new ArrayList(); HashMap mymap = new HashMap(1); mymap.put("homestore", "mystorename"); List scheduleweekbeans = ScheduleControl.getScheduleWeek(mymap); Iterator it = scheduleweekbeans.iterator(); while (it.hasNext()) { ScheduleWeekBean swb = (ScheduleWeekBean)it.next(); scheduleweeks.add(swb); } System.out.println("done picking scheduleweek"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return scheduleweeks; } this seems simple, but it's different from what I'm used to doing, which is DB retrieval in an init() method or a constructor, and then a very dumb "get" method, such as: public List getScheduleweeks() { return scheduleweeks; } I think the smart "get" method works better because JSF is component-based and this way different bean methods can produce different structures of beans as different "views" for the jsp pages, instead of requiring entirely different beans for each view. Thanks, Heather Buch (in a long conversation with herself) hbuch4 wrote: > > Is there any way to prevent Ibatis from calling the init method of my > ManagedBean, when it creates a new bean for a ResultMap? > > I only want to call the ManagedBean's init method when it is being > instantiated through MyFaces, NOT through Ibatis. The only solution I > thought of was, before the init method, to iterate through the stack trace > and skip over if it finds: > > at com.ibatis.common.beans.ClassInfo.instantiateClass > > but execute if: > > at org.apache.myfaces.shared_impl.util.ClassUtils.newInstance > > but this seems a little clunky..... > > any ideas? > > thanks, Heather Buch > -- View this message in context: http://www.nabble.com/don%27t-call-Managed-Bean-init-method-tp18989735p19002040.html Sent from the iBATIS - User - Java mailing list archive at Nabble.com.