On Tuesday 12 August 2008 17:22, Julien Cornuwel wrote:
> Matthew Toseland a ?crit :
> > On Sunday 10 August 2008 15:09, batosai at freenetproject.org wrote:
> >> Author: batosai
> >> Date: 2008-08-10 14:09:53 +0000 (Sun, 10 Aug 2008)
> >> New Revision: 21711
> >>
> >> Modified:
> >>    trunk/apps/WoT/src/plugins/WoT/IdentityParser.java
> >> Log:
> >> Get the identity's properties from the XML file.
> >>
> >> Modified: trunk/apps/WoT/src/plugins/WoT/IdentityParser.java
> >> ===================================================================
> >> --- trunk/apps/WoT/src/plugins/WoT/IdentityParser.java     2008-08-10 
13:51:47
> > UTC (rev 21710)
> >> +++ trunk/apps/WoT/src/plugins/WoT/IdentityParser.java     2008-08-10 
14:09:53
> > UTC (rev 21711)
> >> @@ -7,6 +7,7 @@
> >>  package plugins.WoT;
> >>
> >>  import java.io.InputStream;
> >> +import java.util.Date;
> >>
> >>  import javax.xml.parsers.ParserConfigurationException;
> >>  import javax.xml.parsers.SAXParser;
> >> @@ -17,7 +18,10 @@
> >>  import org.xml.sax.helpers.DefaultHandler;
> >>
> >>  import com.db4o.ObjectContainer;
> >> +import com.db4o.ObjectSet;
> >>
> >> +import freenet.keys.FreenetURI;
> >> +
> >>  /**
> >>   * @author Julien Cornuwel (batosai at freenetproject.org)
> >>   *
> >> @@ -27,6 +31,7 @@
> >>    ObjectContainer db;
> >>    WoT wot;
> >>    SAXParser saxParser;
> >> +  Identity identity;
> >>
> >>    public IdentityParser(ObjectContainer db, WoT wot) throws
> > ParserConfigurationException, SAXException {
> >>
> >> @@ -36,8 +41,23 @@
> >>            saxParser = factory.newSAXParser();
> >>    }
> >>
> >> -  public void parse (InputStream is) throws Exception {
> >> +  public void parse (InputStream is, FreenetURI fetchedURI) throws 
Exception
> > {
> >>
> >> +          // Find the identity we just fetched
> >> +          // This is ugly, I could not find a request able to find the 
> >> good
> > identity
> >> +          ObjectSet<Identity> result = db.queryByExample(Identity.class);
> >> +          while (result.hasNext()) {
> >> +                  Identity id = result.next();
> >> +
> > if(id.getRequestURI().getRoutingKey().equals(fetchedURI.getRoutingKey()))
> >> +                          identity = id;
> >> +          }
> >
> > Yeah, fetching by Key's (and other objects based on byte[]'s) in db4o can 
be
> > extremely ugly. The obvious ways to do it (with native queries or SODA)
> > result in it instantiating every object to compare it.
> >
> > What I do is simply store a string, and query on that.
> 
> Damn ! I was wondering if I shouldn't get back to strings and you just
> confirmed it. Let's go for refactor...

Well, you can have the key as well...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20080812/7a3ae399/attachment.pgp>

Reply via email to