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>