Compilation error

[email protected] Mon, 20 Sep 2004 14:47:47 +0530 (IST)
Newsgroups gmane.comp.java.ozone.user
Message-ID <[email protected]>
Hi,

I downloaded the following code from net :

Here is the code for my main class (OzoneTest.java):
import java.io.*;
import org.ozoneDB.*;


public class OzoneTest {
  public static final String DB_DIR = "/Java/OzoneTest/Database";

  public OzoneTest() throws Exception {
    System.out.println(getClass().getName()+" starting.");

    // Create a local database instance
    LocalDatabase db = new LocalDatabase();

    // Try to open the database
    try {
      System.out.println( "Opening database" );
      db.open(DB_DIR);
    } catch(Exception e ) {
      // No database found, create one.
      System.out.println( "No database found, creating one." );
      db.create(DB_DIR);

      // Try to open the database
      db.open(DB_DIR);
    }

    // Create a person info object
    PersonInfo2 personInfo = (PersonInfo2)
db.createObject(PersonInfo2Impl.class.getName(),
        OzoneInterface.Public, "PersonInfo2");

    personInfo.addToNames("ZZZZ");
    personInfo.addToNames("AAA");
    personInfo.addToNames("JJHS");

    System.out.println(getClass().getName()+" finished.");
  }

  public static void main(String[] args) throws Exception {
    OzoneTest ozoneTest = new OzoneTest();
  }
}

Here is the code for my persistent class:

Here is the Interface (PersonInfo2.java):

import java.util.*;
import org.ozoneDB.*;

public interface PersonInfo2 extends OzoneRemote {
    public void setName( String name );
    public String getName();
    public void addToNames(String name);
    public Vector getNames();
}

Here is the implementation (PersonInfo2Impl.java):

import java.util.*;
import org.ozoneDB.*;

public class PersonInfo2Impl extends OzoneObject implements PersonInfo2
{
  private String name;
  private Vector names;

  public void setName(String name) {
    this.name = name;
  }

  public String getName() {
    return name;
  }

  public String toString() {
    return "PersonInfo for "+getName();
  }

  public void addToNames(String name) {
    if( names == null )
      names = new Vector();
    names.add(name);
  }

  public Vector getNames() {
    return names;
  }
}
Now when I compile it thru ozoneAnt (using build.xml), I get following
error :
E:\ozone-1.2\samples\test_person>ozoneAnt
Buildfile: build.xml

prepare:

classes:

proxies:
     [java] Begin OPP...
     [java]    Processing class: PersonInfo2Impl
     [java]    Begin Processing PersonInfo2Impl...
     [java]       Begin Resolving update methods...
     [java]          No ocd was found!
     [java]       End Resolving update methods
     [java]       Begin Generating factory for: PersonInfo2Impl...
     [java]       End Generating factory for: PersonInfo2Impl
     [java]       Begin Generating proxy for: PersonInfo2Impl...
     [java]       End Generating proxy for: PersonInfo2Impl
     [java]    End Processing PersonInfo2Impl generated in 0.37 seconds.
     [java]    Generation completed with 0 warnings and 0 errors
     [java]    Processing class: OzoneTest
     [java]    Begin Processing OzoneTest...
     [java]       Begin Resolving update methods...
     [java]          No ocd was found!
     [java]       End Resolving update methods
     [java]    End Processing OzoneTest generated in 0.051 seconds.
     [java]    Generation completed with 0 warnings and 0 errors
     [java] java.lang.ArrayIndexOutOfBoundsException: 0
     [java]     at
org.ozoneDB.tools.OPP.srcgen.builder.FactoryBuilder.beginClas
s(Unknown Source)
     [java]     at
org.ozoneDB.tools.OPP.srcgen.builder.CompositeBuilder.beginCl
ass(Unknown Source)
     [java]     at
org.ozoneDB.tools.OPP.srcgen.direct.ReflectionClassDirector.b
uild(Unknown Source)
     [java]     at
org.ozoneDB.tools.OPP.OPP.makeProxiesAndFactories(Unknown Sou
rce)
     [java]     at org.ozoneDB.tools.OPP.OPP.generate(Unknown Source)
     [java]     at org.ozoneDB.tools.OPP.OPP.main(Unknown Source)

BUILD FAILED
Infact this error I am getting for nearly all the sample examples.
PL. EXPLAIN and how to rectify it.

regards,
Neeta


-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php