Yes, it was wrong. I have posted correct one, working. see my previous mail.
On 18/08/07, ignicolist <[EMAIL PROTECTED]> wrote:
>
> Hi again, Tks for your great example, i do every thing, and i found a
> problem, in the function remove:
>
> protected boolean removeEntry(String id)
> {
>
> ScheduleEntry entry = null;
> String currentId = null;
>
> System.out.println("++++++++++++++++"+entries.size());//*1
>
> for(ScheduleEntry se : (TreeSet<ScheduleEntry>)entries)
> {
>
> if((currentId = se.getId()) != null &&
> currentId.equals(id))
> {
>
> entry = se;
> break;
> }
> }
>
> if(entry != null)
> {
>
> entries.remove(entry);
> entry = null;
>
> return true;
> }
>
> return false;
> }
>
> the id that i select its correct in the funcion, the problem is the entries
> dont have values! i println the entries.size() and its 0.
>
>
> i add the entries like that:
>
>
> private ScheduleModel model;
>
> entry.setId(cod_cal);
> entry.setStartTime(startTime);
> entry.setEndTime(endTime);
> entry.setTitle(title);
> entry.setDescription(description);
>
> model.addEntry(entry);
> model.refresh();
>
> i try delete like that:
>
> ExtendedScheduleModel foo = new ExtendedScheduleModel();
> DefaultScheduleEntry entry = new DefaultScheduleEntry();
> entry.setId("10");
>
> foo.removeEntry(entry);
>
> if i add the entries like that:
>
>
> private ExtendedScheduleModel sss ;
>
> entry.setId(cod_cal);
> entry.setStartTime(startTime);
> entry.setEndTime(endTime);
> entry.setTitle(title);
> entry.setDescription(description);
>
> sss.addEntry(entry);
> sss.refresh();
>
> blank page...
>
>
> Any sujection? Tks for all you are doing!
>
>
>
>
>
>
> Michał 'Gandalf' Stawicki wrote:
> >
> > Right, it was fubar'ed, SimpleScheduleModel wasn't meant for extending
> > :) This works - you use like you tried at the beginning - create
> > entry, set id and you can remove it. BTW: I think your bean should be
> > session, not request, unless you intended so.
> >
> > /*
> > * Licensed to the Apache Software Foundation (ASF) under one
> > * or more contributor license agreements. See the NOTICE file
> > * distributed with this work for additional information
> > * regarding copyright ownership. The ASF licenses this file
> > * to you under the Apache License, Version 2.0 (the
> > * "License"); you may not use this file except in compliance
> > * with the License. You may obtain a copy of the License at
> > *
> > * http://www.apache.org/licenses/LICENSE-2.0
> > *
> > * Unless required by applicable law or agreed to in writing,
> > * software distributed under the License is distributed on an
> > * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> > * KIND, either express or implied. See the License for the
> > * specific language governing permissions and limitations
> > * under the License.
> > */
> >
> > package ###########
> >
> > import java.io.Serializable;
> >
> > import java.text.DateFormat;
> > import java.text.SimpleDateFormat;
> > import java.util.ArrayList;
> > import java.util.Collection;
> > import java.util.Date;
> > import java.util.HashMap;
> > import java.util.Iterator;
> > import java.util.TreeSet;
> > import org.apache.myfaces.custom.schedule.model.AbstractScheduleModel;
> > import org.apache.myfaces.custom.schedule.model.Day;
> > import org.apache.myfaces.custom.schedule.model.DefaultScheduleEntry;
> > import org.apache.myfaces.custom.schedule.model.ScheduleEntry;
> >
> > import org.apache.myfaces.custom.schedule.util.ScheduleEntryComparator;
> >
> > /**
> > * <p>
> > * A simple implementation of the ScheduleModel, not backed by any kind of
> > * datasource: entries have to be added manually.
> > * </p>
> > *
> > * @author Jurgen Lust (latest modification by $Author: werpu $)
> > * @version $Revision: 371736 $
> > */
> > public class ExtendedScheduleModel extends AbstractScheduleModel
> > implements Serializable
> > {
> >
> >
> > // TEST
> > // public static void main(String [] args)
> > // {
> > // ExtendedScheduleModel foo = new ExtendedScheduleModel();
> > // DefaultScheduleEntry bar = new DefaultScheduleEntry();
> > // bar.setId("1");
> > // foo.addEntry(bar);
> > // DefaultScheduleEntry bar2 = new DefaultScheduleEntry();
> > // bar2.setId("1");
> > //
> > // foo.removeEntry(bar2);
> > // }
> >
> >
> > private static final long serialVersionUID = 1L;
> > protected final TreeSet entries;
> > protected final HashMap holidays;
> > protected final DateFormat holidayFormat = new
> > SimpleDateFormat("yyyyMMdd");
> >
> > public ExtendedScheduleModel()
> > {
> > this.entries = new TreeSet(new ScheduleEntryComparator());
> > this.holidays = new HashMap();
> > }
> >
> > /**
> > * Set the name of a holiday.
> > *
> > * @param date
> > * the date
> > * @param holidayName
> > * the name of the holiday
> > */
> > public void setHoliday(Date date, String holidayName)
> > {
> > if (date == null)
> > {
> > return;
> > }
> >
> > String key = holidayFormat.format(date);
> > holidays.put(key, holidayName);
> > }
> >
> > /**
> > * Add an entry to the model.
> > *
> > * @param entry
> > * the entry to add
> > */
> > public void addEntry(ScheduleEntry entry)
> > {
> > entries.add(entry);
> > }
> >
> > /**
> > * Remove an entry from the model.
> > *
> > * @param entry
> > * the entry to remove
> > */
> > public void removeEntry(ScheduleEntry entry)
> > {
> > if(entries.remove(entry))
> > return;
> >
> > if(entry != null && entry.getId() != null)
> > removeEntry(entry.getId());
> > }
> >
> > /**
> > * @see
> > org.apache.myfaces.custom.schedule.model.ScheduleModel#removeSelectedEntry()
> > */
> > public void removeSelectedEntry()
> > {
> > if (!isEntrySelected())
> > return;
> > removeEntry(getSelectedEntry());
> > setSelectedEntry(null);
> > refresh();
> > }
> >
> > /**
> > * @see
> > org.apache.myfaces.custom.schedule.model.AbstractScheduleModel#loadEntries(java.util.Date,
> > * java.util.Date)
> > */
> > protected Collection loadEntries(Date startDate, Date endDate)
> > {
> > ArrayList selection = new ArrayList();
> >
> > for (Iterator entryIterator = entries.iterator();
> > entryIterator
> > .hasNext();)
> > {
> > ScheduleEntry entry = (ScheduleEntry)
> > entryIterator.next();
> >
> > if (entry.getEndTime().before(startDate)
> > || entry.getStartTime().after(endDate))
> > {
> > continue;
> > }
> >
> > selection.add(entry);
> > }
> >
> > return selection;
> > }
> >
> > /**
> > * @see
> > org.apache.myfaces.custom.schedule.model.AbstractScheduleModel#loadDayAttributes(org.apache.myfaces.custom.schedule.model.Day)
> > */
> > protected void loadDayAttributes(Day day)
> > {
> > if (day == null)
> > return;
> > String key = holidayFormat.format(day.getDate());
> > String holiday = (String) holidays.get(key);
> > if (holiday != null)
> > {
> > day.setSpecialDayName(holiday);
> > day.setWorkingDay(false);
> > }
> > else
> > {
> > day.setSpecialDayName(null);
> > day.setWorkingDay(true);
> > }
> > }
> >
> > /**
> > * Remove entry from model
> > * <br /><br />
> > * @param id identifier of entry to be removed
> > * <br /><br />
> > * @return true on success and false on failure (in case entry with
> > specified id wasn't found)
> > *
> > */
> > protected boolean removeEntry(String id)
> > {
> > ScheduleEntry entry = null;
> > String currentId = null;
> >
> > for(ScheduleEntry se : (TreeSet<ScheduleEntry>)entries)
> > {
> > if((currentId = se.getId()) != null &&
> > currentId.equals(id))
> > {
> > entry = se;
> > break;
> > }
> > }
> >
> > if(entry != null)
> > {
> > entries.remove(entry);
> > entry = null;
> >
> > return true;
> > }
> >
> > return false;
> > }
> > }
> >
> >
> > On 17/08/07, ignicolist <[EMAIL PROTECTED]> wrote:
> >>
> >> i have the class correct without errors. But when i call it show a blank
> >> page!
> >>
> >> ExtendedScheduleModel x = new ExtendedScheduleModel();
> >> x.Remove2("8");
> >>
> >> I call the class like that. I think its correct! so why the blank page?
> >> if i
> >> put thouse two code lines in comments dont have the blank page, so the
> >> problem is the class! :-((
> >>
> >>
> >>
> >>
> >>
> >>
> >> Michał 'Gandalf' Stawicki wrote:
> >> >
> >> > Try this, remember to set valid package:
> >> >
> >> > #####SET ME package #####SET ME
> >> >
> >> > import java.util.TreeSet;
> >> > import org.apache.myfaces.custom.schedule.model.ScheduleEntry;
> >> > import org.apache.myfaces.custom.schedule.model.SimpleScheduleModel;
> >> >
> >> > /**
> >> > * @author mstawick
> >> > */
> >> > public class ExtendedScheduleModel extends SimpleScheduleModel
> >> > {
> >> >
> >> > /** Creates a new instance of ExtendedScheduleModel */
> >> > public ExtendedScheduleModel()
> >> > {
> >> > super();
> >> > }
> >> >
> >> > /**
> >> > * Remove entry from model
> >> > * <br /><br />
> >> > * @param id identifier of entry to be removed
> >> > * <br /><br />
> >> > * @return true on success and false on failure (in case entry
> >> with
> >> > specified id wasn't found)
> >> > *
> >> > */
> >> > public boolean removeEntry(String id)
> >> > {
> >> > ScheduleEntry entry = null;
> >> > String currentId = null;
> >> >
> >> > for(ScheduleEntry se : entries)
> >> > {
> >> > if((currentId = se.getId()) != null &&
> >> currentId.equals(id))
> >> > {
> >> > entry = se;
> >> > break;
> >> > }
> >> > }
> >> >
> >> > if(entry != null)
> >> > {
> >> > entries.remove(entry);
> >> > entry = null;
> >> >
> >> > return true;
> >> > }
> >> >
> >> > return false;
> >> > }
> >> >
> >> > private TreeSet<ScheduleEntry> entries;
> >> > }
> >> >
> >> >
> >> > On 17/08/07, ignicolist <[EMAIL PROTECTED]> wrote:
> >> >>
> >> >> Sorry to bee so boring and noob, but i realy need to do this, i need a
> >> >> funcionality to show and occult calendars, and i have a entry
> >> associate
> >> >> to a
> >> >> calendar, so when i need occult the calendar i need to remove the
> >> >> entries
> >> >> of that calendar from the model. everything working, just need remove
> >> the
> >> >> entries.
> >> >>
> >> >>
> >> >>
> >> >> ignicolist wrote:
> >> >> >
> >> >> > Well i am a litle noob to all these, so i cant put your ideas to
> >> work!
> >> >> > :-((
> >> >> >
> >> >> > So i am using SimpleScheduleModel, so you say to create that class
> >> in
> >> >> the
> >> >> > component Schedule or in my aplication?
> >> >> > Because i create the class in my aplication and don´t work. Dam this
> >> is
> >> >> so
> >> >> > complicated...
> >> >> >
> >> >> >
> >> >> >
> >> >> > Michał 'Gandalf' Stawicki wrote:
> >> >> >>
> >> >> >> I wrote the code in 'on the fly' just to give you idea how should
> >> it
> >> >> >> look, I didn't try it
> >> >> >>
> >> >> >> On 17/08/07, Michał 'Gandalf' Stawicki <[EMAIL PROTECTED]> wrote:
> >> >> >>> Simply casting it should be fine:
> >> >> >>>
> >> >> >>> for(ScheduleEntry e : (TreeSet<ScheduleEntry>)entries)
> >> >> >>>
> >> >> >>>
> >> >> >>> On 17/08/07, ignicolist <[EMAIL PROTECTED]> wrote:
> >> >> >>> >
> >> >> >>> > I try what you say but give me a error in: for(ScheduleEntry e :
> >> >> >>> entries)
> >> >> >>> > The Error: Type mismatch: cannot convert from element type
> >> Object
> >> >> to
> >> >> >>> > ScheduleEntry
> >> >> >>> >
> >> >> >>> > Any idea?
> >> >> >>> >
> >> >> >>> >
> >> >> >>> >
> >> >> >>> > Michał 'Gandalf' Stawicki wrote:
> >> >> >>> > >
> >> >> >>> > > From SimpleScheduleModel.java
> >> >> >>> > >
> >> >> >>> > > /**
> >> >> >>> > > * Remove an entry from the model.
> >> >> >>> > > *
> >> >> >>> > > * @param entry
> >> >> >>> > > * the entry to remove
> >> >> >>> > > */
> >> >> >>> > > public void removeEntry(ScheduleEntry entry)
> >> >> >>> > > {
> >> >> >>> > > entries.remove(entry);
> >> >> >>> > > }
> >> >> >>> > >
> >> >> >>> > > ...
> >> >> >>> > >
> >> >> >>> > > private final TreeSet entries;
> >> >> >>> > >
> >> >> >>> > > I don't know which model your using, but if it is
> >> >> >>> SimpleScheduleModel
> >> >> >>> > > than you should extend it and implement your own method, ex;
> >> >> >>> > >
> >> >> >>> > > public boolean removeEntry(String id)
> >> >> >>> > > {
> >> >> >>> > > ScheduleEntry entry = null;
> >> >> >>> > >
> >> >> >>> > > if(entries != null && id != null)
> >> >> >>> > > for(ScheduleEntry e : entries)
> >> >> >>> > > {
> >> >> >>> > > if(e.getId() != null && e.getId().equals(id))
> >> >> >>> > > {
> >> >> >>> > > entry = e;
> >> >> >>> > > break;
> >> >> >>> > > }
> >> >> >>> > > }
> >> >> >>> > >
> >> >> >>> > > if(entry != null)
> >> >> >>> > > {
> >> >> >>> > > entries.remove(entry);
> >> >> >>> > > return true;
> >> >> >>> > > }
> >> >> >>> > >
> >> >> >>> > > return false;
> >> >> >>> > > }
> >> >> >>> > >
> >> >> >>> > >
> >> >> >>> > >
> >> >> >>> > > On 17/08/07, Michał 'Gandalf' Stawicki <[EMAIL PROTECTED]>
> >> >> wrote:
> >> >> >>> > >> I believe you have to pass exact reference to object that was
> >> >> added
> >> >> >>> to
> >> >> >>> > >> schedule, not some other object containing same data,
> >> example:
> >> >> >>> > >>
> >> >> >>> > >> ScheduleEntry foo = new MyScheduleEntry("bar");
> >> >> >>> > >> ScheduleEntry foo2 = new MyScheduleEntry("bar");
> >> >> >>> > >>
> >> >> >>> > >> model.addEntry(foo);
> >> >> >>> > >>
> >> >> >>> > >> model.removeEntry(foo2); // wrong
> >> >> >>> > >> mode.removeEntry(foo); //ok
> >> >> >>> > >>
> >> >> >>> > >>
> >> >> >>> > >>
> >> >> >>> > >> On 17/08/07, ignicolist <[EMAIL PROTECTED]> wrote:
> >> >> >>> > >> >
> >> >> >>> > >> > Yes, because the entry when i select it remove with
> >> >> >>> > >> > model.removeSelectedEntry(); but if i specify his id:
> >> >> >>> > >> entry.setId("1");
> >> >> >>> > >> > model.removeEntry(entry); dont eliminate. And ids are the
> >> same
> >> >> in
> >> >> >>> the
> >> >> >>> > >> two
> >> >> >>> > >> > situacions.
> >> >> >>> > >> >
> >> >> >>> > >> >
> >> >> >>> > >> >
> >> >> >>> > >> >
> >> >> >>> > >> > Jurgen Lust-2 wrote:
> >> >> >>> > >> > >
> >> >> >>> > >> > > In your model implementation, do you load the persistent
> >> >> entry
> >> >> >>> from
> >> >> >>> > >> the
> >> >> >>> > >> > > database, using the supplied id, before you delete it?
> >> >> >>> > >> > >
> >> >> >>> > >> > > Jurgen
> >> >> >>> > >> > >
> >> >> >>> > >> > > Op donderdag 16-08-2007 om 14:01 uur [tijdzone -0700],
> >> >> schreef
> >> >> >>> > >> > > ignicolist:
> >> >> >>> > >> > >> Its what i am doing but don´t work!
> >> >> >>> > >> > >>
> >> >> >>> > >> > >> an example:
> >> >> >>> > >> > >>
> >> >> >>> > >> > >> DefaultScheduleEntry entry = new DefaultScheduleEntry();
> >> >> >>> > >> > >>
> >> >> >>> > >> > >> entry.setId("1");
> >> >> >>> > >> > >> model.removeEntry(entry);
> >> >> >>> > >> > >>
> >> >> >>> > >> > >> this code is supose to remove the entry from de model
> >> with
> >> >> id
> >> >> >>> 1 no?
> >> >> >>> > >> i
> >> >> >>> > >> > >> just
> >> >> >>> > >> > >> want remove de entry from the model, but a entry specify
> >> by
> >> >> >>> me.
> >> >> >>> > >> > >>
> >> >> >>> > >> > >>
> >> >> >>> > >> > >>
> >> >> >>> > >> > >>
> >> >> >>> > >> > >>
> >> >> >>> > >> > >> Jurgen Lust-2 wrote:
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >> > The ScheduleModel.removeEntry() method expects a
> >> >> >>> ScheduleEntry as
> >> >> >>> > >> > >> > parameter. I suppose you use Hibernate for database
> >> >> access,
> >> >> >>> so
> >> >> >>> > >> what you
> >> >> >>> > >> > >> > should do is retrieve the ScheduleEntry from the
> >> >> database,
> >> >> >>> using
> >> >> >>> > >> the
> >> >> >>> > >> > >> id,
> >> >> >>> > >> > >> > and feed the result to the removeEntry method. In that
> >> >> >>> removeEntry
> >> >> >>> > >> > >> > method, you just delete it with your Hibernate DAO.
> >> >> >>> > >> > >> > You could of course add a method
> >> >> >>> removeEntry(String/Long/Whatever
> >> >> >>> > >> id)
> >> >> >>> > >> > >> > that does all of this.
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >> > Jurgen
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >> > Op donderdag 16-08-2007 om 11:20 uur [tijdzone -0700],
> >> >> >>> schreef
> >> >> >>> > >> > >> > ignicolist:
> >> >> >>> > >> > >> >> Hi to all, i want to eliminate a especific entry in a
> >> >> model
> >> >> >>> of
> >> >> >>> > >> > >> schedule
> >> >> >>> > >> > >> >> tomahawk. the example in remove a selected entry work
> >> >> fine,
> >> >> >>> but
> >> >> >>> > >> how to
> >> >> >>> > >> > >> >> eliminate a determinated entry?
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >> i try with this code:
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >> DefaultScheduleEntry entry = new
> >> DefaultScheduleEntry();
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >> entry.setId(select);
> >> >> >>> > >> > >> >> entry.setStartTime(start);
> >> >> >>> > >> > >> >> entry.setEndTime(end);
> >> >> >>> > >> > >> >> entry.setTitle(select7);
> >> >> >>> > >> > >> >> entry.setDescription(select2);
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >> model.removeEntry(entry);
> >> >> >>> > >> > >> >> model.refresh();
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >> i defined every value for the entry, and then i want
> >> to
> >> >> >>> remove
> >> >> >>> > >> that
> >> >> >>> > >> > >> >> entry!
> >> >> >>> > >> > >> >> Any help please!
> >> >> >>> > >> > >> >>
> >> >> >>> > >> > >> >> Tks for all.
> >> >> >>> > >> > >> > --
> >> >> >>> > >> > >> > Jurgen Lust <[EMAIL PROTECTED]>
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >> >
> >> >> >>> > >> > >>
> >> >> >>> > >> > > --
> >> >> >>> > >> > > Jurgen Lust <[EMAIL PROTECTED]>
> >> >> >>> > >> > >
> >> >> >>> > >> > >
> >> >> >>> > >> > >
> >> >> >>> > >> >
> >> >> >>> > >> > --
> >> >> >>> > >> > View this message in context:
> >> >> >>> > >>
> >> >> >>>
> >> >>
> >> http://www.nabble.com/Re%3A-Remove-Entry-from-schedule-Tomahawk-tf4281655.html#a12198391
> >> >> >>> > >> > Sent from the MyFaces - Users mailing list archive at
> >> >> Nabble.com.
> >> >> >>> > >> >
> >> >> >>> > >> >
> >> >> >>> > >>
> >> >> >>> > >>
> >> >> >>> > >> --
> >> >> >>> > >> Michał Stawicki
> >> >> >>> > >>
> >> >> >>> > >> [EMAIL PROTECTED]
> >> >> >>> > >> http://stawicki.jasliska.pl
> >> >> >>> > >>
> >> >> >>> > >
> >> >> >>> > >
> >> >> >>> > > --
> >> >> >>> > > Michał Stawicki
> >> >> >>> > >
> >> >> >>> > > [EMAIL PROTECTED]
> >> >> >>> > > http://stawicki.jasliska.pl
> >> >> >>> > >
> >> >> >>> > >
> >> >> >>> >
> >> >> >>> > --
> >> >> >>> > View this message in context:
> >> >> >>>
> >> >>
> >> http://www.nabble.com/Re%3A-Remove-Entry-from-schedule-Tomahawk-tf4281655.html#a12200949
> >> >> >>> > Sent from the MyFaces - Users mailing list archive at
> >> Nabble.com.
> >> >> >>> >
> >> >> >>> >
> >> >> >>>
> >> >> >>>
> >> >> >>> --
> >> >> >>> Michał Stawicki
> >> >> >>>
> >> >> >>> [EMAIL PROTECTED]
> >> >> >>> http://stawicki.jasliska.pl
> >> >> >>>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> Michał Stawicki
> >> >> >>
> >> >> >> [EMAIL PROTECTED]
> >> >> >> http://stawicki.jasliska.pl
> >> >> >>
> >> >> >>
> >> >> >
> >> >> >
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >> http://www.nabble.com/Re%3A-Remove-Entry-from-schedule-Tomahawk-tf4281655.html#a12201958
> >> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> > Michał Stawicki
> >> >
> >> > [EMAIL PROTECTED]
> >> > http://stawicki.jasliska.pl
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/Re%3A-Remove-Entry-from-schedule-Tomahawk-tf4281655.html#a12206017
> >> Sent from the MyFaces - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > --
> > Michał Stawicki
> >
> > [EMAIL PROTECTED]
> > http://stawicki.jasliska.pl
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Re%3A-Remove-Entry-from-schedule-Tomahawk-tf4281655.html#a12209467
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>
--
Michał Stawicki
[EMAIL PROTECTED]
http://stawicki.jasliska.pl