Keeping track of the IDs for "lookup?"  I have been searching for a
method in the API which takes a blip ID as an argument and returns the
blip matching that ID but have been unable to find one.  Am I missing
something?  Please tell me how this can be done if possible because my
development has been stalled as a result.


Smola


On Oct 23, 2:55 am, "Austin Chau (Google employee)"
<[email protected]> wrote:
> So yes, when a blip is out of context you would have no way to retrieve its
> document content from the event callback alone.  What can you do now is
> maintain the context on your own with a datastore backend.  Essentially
> keeping track of all wavelet and blip ids for lookup.
> We know that this is not ideal and we are working on this as speak to remove
> the limited context on callback.  Stay tuned for updates.
> Austin
>
> 2009/10/22 Bálint Kriván <[email protected]>
>
>
>
> > Oh I see...So robot doesn't get the whole wavelet with all of the blips,
> > but the blip of the related event and it's parent.
> > Ok, but if I would like to access to the rootblip, and I get its id with
> > wavelet.getRootBlipId(), how can I request its content
> > (getDoucment().getText())? (wavelet.getRootBlip().getDocument().getText()
> > also throws null exception in these cases, so I don't have any idea how to
> > achieve this)
>
> > Thanks for your guidance!
>
> > On Fri, Oct 23, 2009 at 2:56 AM, Austin Chau (Google employee) <
> > [email protected]> wrote:
>
> >> Hi,
> >> To get the root blip id in your scenario -
>
> >> wave.appendBlip().getDocument().append(wavelet.getRootBlipId());
>
> >> This would work because it does not require "context" of a grandparent
> >> blip.  The reason that you are getting exception is because the context
> >> associated with an event callback only goes back its immediate parent.  So
> >> in your case if the triggering event is resulted from a grandchild blip 
> >> away
> >> from root, it will no longer has context to recreate the root blip when you
> >> invoked wavelet.getRootBlip() - thus you will get a null reference.
>
> >> Hope it helps,
> >> Austin
>
> >> 2009/10/22 Bálint Kriván <[email protected]>
>
> >> Reply to myself and others: I think this is related to
> >>>http://code.google.com/p/google-wave-resources/issues/detail?id=200.
>
> >>> 2009/10/22 Bálint Kriván <[email protected]>
>
> >>> Hi!
> >>>> I have this little chunk of code:
>
> >>>>  public void debug(RobotMessageBundle bundle, String msg)
>
> >>>>  {
>
> >>>>  List<String> list = new ArrayList();
>
> >>>>  list.add("<myaddress in google wave>");
>
> >>>>  Wavelet wave = bundle.createWavelet(list);
>
> >>>>   wave.appendBlip().getDocument().append(msg);
>
> >>>>  }
>
> >>>>   @Override
>
> >>>>  public void processEvents(RobotMessageBundle robotMessageBundle) {
>
> >>>>  Wavelet wavelet = robotMessageBundle.getWavelet();
>
> >>>>  for (Event event : robotMessageBundle.getEvents()) {
>
> >>>>  Blip currentBlip = event.getBlip();
>
> >>>>  switch (event.getType()) {
>
> >>>>  case BLIP_SUBMITTED:
>
> >>>>  debug(robotMessageBundle,
> >>>>> String.valueOf(wavelet.getRootBlip().getBlipId())); // line 46!
>
> >>>>  }
>
> >>>>  }
>
> >>>>  }
>
> >>>> So when I add a blip to the wavelet where the robot is, it should open a
> >>>> new wave with me and send the id of the root blip (The top blip in the
> >>>> wavelet).
> >>>> But if this blip isn't right after the root blip (so the very first
> >>>> Reply button) then I've got a NullPointerException:
>
> >>>> java.lang.NullPointerException
>
> >>>>   at com.google.wave.api.impl.BlipImpl.getBlipId(BlipImpl.java:56)
>
> >>>>   at robot.MainServlet.processEvents(MainServlet.java:46)
>
> >>>>   at
> >>>>> com.google.wave.api.AbstractRobotServlet.doPost(AbstractRobotServlet.java:8
> >>>>>  9)
>
> >>>>   [...]
>
> >>>> What is the recommended way to access the very first blip (which is I
> >>>> guess the RootBlip)?
>
> >>>> Thanks for your help!
>
> >>>> --
> >>>> Üdv,
> >>>> Kriván Bálint
>
> >>> --
> >>> Üdv,
> >>> Kriván Bálint
>
> > --
> > Üdv,
> > Kriván Bálint
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Wave API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-wave-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to