I haven't used it, and I'm a little confused from the code:
/** ...
 * <p>If the system property 'disableLuceneLocks' has the String value of
 * "true", lock creation will be disabled.
 */
public final class FSDirectory extends Directory {
  private static final boolean DISABLE_LOCKS =
      Boolean.getBoolean("disableLuceneLocks") || Constants.JAVA_1_1;
...

I don't see a System.getProperty(String).

You might have to patch this, if I'm correct. This should stop the 
Directory from trying to use locks.

HTH,
sv

On Mon, 23 Aug 2004, Simon mcIlwaine wrote:

> Hi Stephane,
> 
> A bit of a stupid question but how do you mean set the system property
> disableLuceneLocks=true? Can I do it from a call from FSDirectory API or do
> I have to actually hack the code? Also if I do use RODirectory how do I go
> about using it? Do I have to update the Lucene JAR archive file with
> RODirectory class included as I tried using it and its not recognising the
> class?
> 
> Many Thanks
> 
> Simon
> 
> ----- Original Message ----- 
> From: "Stephane James Vaucher" <[EMAIL PROTECTED]>
> To: "Lucene Users List" <[EMAIL PROTECTED]>
> Sent: Monday, August 23, 2004 2:22 PM
> Subject: Re: Lucene Search Applet
> 
> 
> > Hi Simon,
> >
> > Does this work? From FSDirectory api:
> >
> > If the system property 'disableLuceneLocks' has the String value of
> > "true", lock creation will be disabled.
> >
> > Otherwise, I think there was a Read-Only Directory hack:
> >
> > http://www.mail-archive.com/[EMAIL PROTECTED]/msg05148.html
> >
> > HTH,
> > sv
> >
> > On Mon, 23 Aug 2004, Simon mcIlwaine wrote:
> >
> > > Thanks Jon that works by putting the jar file in the archive attribute.
> Now
> > > im getting the disablelock error cause of the unsigned applet. Do I just
> > > comment out the code anywhere where System.getProperty() appears in the
> > > files that you specified and then update the JAR Archive?? Is it
> possible
> > > you could show me one of the hacked files so that I know what I'm
> modifying?
> > > Does anyone else know if there is another way of doing this without
> having
> > > to hack the source code?
> > >
> > > Many thanks.
> > >
> > > Simon
> > >
> > > ----- Original Message ----- 
> > > From: "Jon Schuster" <[EMAIL PROTECTED]>
> > > To: "Lucene Users List" <[EMAIL PROTECTED]>
> > > Sent: Saturday, August 21, 2004 2:08 AM
> > > Subject: Re: Lucene Search Applet
> > >
> > >
> > > > I have Lucene working in an applet and I've seen this problem only
> when
> > > > the jar file really was not available (typo in the jar name), which is
> > > > what you'd expect. It's possible that the classpath for your
> > > > application is not the same as the classpath for the applet; perhaps
> > > > they're using different VMs or JREs from different locations.
> > > >
> > > > Try referencing the Lucene jar file in the archive attribute of the
> > > > applet tag.
> > > >
> > > > Also, to get Lucene to work from an unsigned applet, I had to modify a
> > > > few classes that call System.getProperty(), because the properties
> that
> > > > were being requested were disallowed for applets. I think the classes
> > > > were IndexWriter, FSDirectory, and BooleanQuery.
> > > >
> > > > --Jon
> > > >
> > > >
> > > > On Aug 20, 2004, at 6:57 AM, Simon mcIlwaine wrote:
> > > >
> > > > > Im a new Lucene User and I'm not too familiar with Applets either
> but
> > > > > I've
> > > > > been doing a bit of testing on java applet security and if im
> correct
> > > > > in
> > > > > saying that applets can read anything below there codebase then my
> > > > > problem
> > > > > is not a security restriction one. The error is reading
> > > > > java.lang.NoClassDefFoundError and the classpath is set as I have it
> > > > > working
> > > > > in a Swing App. Does someone actually have Lucene working in an
> > > > > Applet? Can
> > > > > it be done?? Please help.
> > > > >
> > > > > Thanks
> > > > >
> > > > > Simon
> > > > >
> > > > > ----- Original Message -----
> > > > >
> > > > > From: "Terry Steichen" <[EMAIL PROTECTED]>
> > > > > To: "Lucene Users List" <[EMAIL PROTECTED]>
> > > > > Sent: Wednesday, August 18, 2004 4:17 PM
> > > > > Subject: Re: Lucene Search Applet
> > > > >
> > > > >
> > > > > I suspect it has to do with the security restrictions of the applet,
> > > > > 'cause
> > > > > it doesn't appear to be finding your Lucene jar file.  Also,
> regarding
> > > > > the
> > > > > lock files, I believe you can disable the locking stuff just for
> > > > > purposes
> > > > > like yours (read-only index).
> > > > >
> > > > > Regards,
> > > > >
> > > > > Terry
> > > > >   ----- Original Message -----
> > > > >   From: Simon mcIlwaine
> > > > >   To: Lucene Users List
> > > > >   Sent: Wednesday, August 18, 2004 11:03 AM
> > > > >   Subject: Lucene Search Applet
> > > > >
> > > > >
> > > > >   Im developing a Lucene CD-ROM based search which will search html
> > > > > pages on
> > > > > CD-ROM, using an applet as the UI. I know that theres a problem with
> > > > > lock
> > > > > files and also security restrictions on applets so I am using the
> > > > > RAMDirectory. I have it working in a Swing application however when
> I
> > > > > put it
> > > > > into an applet its giving me problems. It compiles but when I go to
> > > > > run the
> > > > > applet I get the error below. Can anyone help? Thanks in advance.
> > > > >   Simon
> > > > >
> > > > >   Error:
> > > > >
> > > > >   Java.lang.noClassDefFoundError: org/apache/lucene/store/Directory
> > > > >
> > > > >   At: Java.lang.Class.getDeclaredConstructors0(Native Method)
> > > > >
> > > > >   At:
> Java.lang.Class.privateGetDeclaredConstructors(Class.java:1610)
> > > > >
> > > > >   At: Java.lang.Class.getConstructor0(Class.java:1922)
> > > > >
> > > > >   At: Java.lang.Class.newInstance0(Class.java:278)
> > > > >
> > > > >   At: Java.lang.Class.newInstance(Class.java:261)
> > > > >
> > > > >   At: sun.applet.AppletPanel.createApplet(AppletPanel.java:617)
> > > > >
> > > > >   At: sun.applet.AppletPanel.runloader(AppletPanel.java:546)
> > > > >
> > > > >   At: sun.applet.AppletPanel.run(AppletPanel.java:298)
> > > > >
> > > > >   At: java.lang.Thread.run(Thread.java:534)
> > > > >
> > > > >   Code:
> > > > >
> > > > >   import org.apache.lucene.search.IndexSearcher;
> > > > >
> > > > >   import org.apache.lucene.search.Query;
> > > > >
> > > > >   import org.apache.lucene.search.TermQuery;
> > > > >
> > > > >   import org.apache.lucene.store.RAMDirectory;
> > > > >
> > > > >   import org.apache.lucene.store.Directory;
> > > > >
> > > > >   import org.apache.lucene.index.Term;
> > > > >
> > > > >   import org.apache.lucene.search.Hits;
> > > > >
> > > > >   import java.awt.*;
> > > > >
> > > > >   import java.awt.event.*;
> > > > >
> > > > >   import javax.swing.*;
> > > > >
> > > > >   import java.io.*;
> > > > >
> > > > >   public class MemorialApp2 extends JApplet implements
> ActionListener{
> > > > >
> > > > >   JLabel prompt;
> > > > >
> > > > >   JTextField input;
> > > > >
> > > > >   JButton search;
> > > > >
> > > > >   JPanel panel;
> > > > >
> > > > >   String indexDir = "C:/Java/lucene/index-list";
> > > > >
> > > > >   private static RAMDirectory idx;
> > > > >
> > > > >   public void init(){
> > > > >
> > > > >   Container cp = getContentPane();
> > > > >
> > > > >   panel = new JPanel();
> > > > >
> > > > >   panel.setLayout(new FlowLayout(FlowLayout.CENTER, 4, 4));
> > > > >
> > > > >   prompt = new JLabel("Keyword search:");
> > > > >
> > > > >   input = new JTextField("",20);
> > > > >
> > > > >   search = new JButton("Search");
> > > > >
> > > > >   search.addActionListener(this);
> > > > >
> > > > >   panel.add(prompt);
> > > > >
> > > > >   panel.add(input);
> > > > >
> > > > >   panel.add(search);
> > > > >
> > > > >   cp.add(panel);
> > > > >
> > > > >   }
> > > > >
> > > > >   public void actionPerformed(ActionEvent e){
> > > > >
> > > > >   if (e.getSource() == search){
> > > > >
> > > > >   String surname = (input.getText());
> > > > >
> > > > >   try {
> > > > >
> > > > >   findSurname(indexDir, surname);
> > > > >
> > > > >   } catch(Exception ex) {
> > > > >
> > > > >   System.err.println(ex);
> > > > >
> > > > >   }
> > > > >
> > > > >   }
> > > > >
> > > > >   }
> > > > >
> > > > >   public static void findSurname(String indexDir, String surname)
> > > > > throws
> > > > > Exception{
> > > > >
> > > > >   idx = new RAMDirectory(indexDir);
> > > > >
> > > > >   IndexSearcher searcher = new IndexSearcher(idx);
> > > > >
> > > > >   Query query = new TermQuery(new Term("surname", surname));
> > > > >
> > > > >   Hits hits = searcher.search(query);
> > > > >
> > > > >   for (int i = 0; i < hits.length(); i++) {
> > > > >
> > > > >   //Document doc = hits.doc(i);
> > > > >
> > > > >   System.out.println("Surname: " + hits.doc(i).get("surname"));
> > > > >
> > > > >   }
> > > > >
> > > > >   }
> > > > >
> > > > >   }
> > > > >
> > > > >
> > > > >
> > > >
> > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to