You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

1.1. Separate module for FC2K generated actors

1.1.1. Already existing solution based on KeplerData directory

At the moment, Kepler installation consist of few elements

  1. Base Kepler installation
  2. Patches applied by us
  3. Actors that can access ITM/IMAS database (ual actors)
  4. Actors generated by FC2K

src/eu
|-- euforia
|   `-- visit
`-- itm
    |-- cpocontent          // all ual based actors could be a part of Kepler release
    |-- cpodiscard          // this release would be shared by all the users
    |-- cpoflush
    |-- cpooccurrence
    |-- cpotime
    |-- itmmatlab
    |-- nocpo               // these two actors can be moved to separate module
    |-- nocpoparam          // these two actors can be moved to separate module
    |-- python
    |-- recordget
    |-- recordoperation
    |-- recordset
    |-- setbreakpoint
    |-- syncsetvariable
    |-- tools
    |   `-- attributes
    |-- ualclose
    |-- ualcollector
    |-- ualdemux
    |-- ualinit
    |-- ualmux
    |-- ualmuxparam
    |-- ualpythonjni
    |-- ualpythonws
    `-- ualslicecollector

 

We can think about new approach, where Kepler base system (plus ual actors) and FC2K based actors are completely separated. This way, we would be able to have centrally installed Kepler and different sets of user based actors. There are two solutions for this

  1. already existing approach where user based modules are stored inside $HOME/KeplerData directory
  2. solution based on modifications inside Kepler's core classes - we have to develop new feature that will allow Kepler to find modules in virtually any location

 

1.1.2. New solution based on custom module location

In this case, we have to do some research related to following classes:

1.2. Handling locked DB file

We have to fix the issue here

core/src/org/kepler/util/sql/HSQL.java
 
The exception below originates in line 731 where the code calls DriverManager to open the connection to the db.
We can try adding a new check for the database being locked and then use System.exit() to stop Kepler nicely instead of throwing exception.
  • No labels