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]