The source code of SAmgI is made available as module "SAmgI" under
Sourceforge.
There you will find information on how to get the latest version from CVS.
You can also browse online a daily dump of that CVS code at
http://ariadnekps.cvs.sourceforge.net/ariadnekps/SAmgI/
REMARK: pleae note that the OLD version of AMG is available under the "AutoIndexing" module on CVS. We however do advice
you to not use that version any more, but use the new one (SAmgI) instead !
IMPORTANT:
When doing a checkout of the code, make sure that you put it locally in a top-directory of your file system.
Because of the deeply nested structure of the project, you can run into problems related to the path length of files, when
putting it locally into a too deep directory.
For example: don't put it into "C:\Documents and Settings\All Users\Application Data"
but instead put it in "D:\amgSource" or something like that... When doing it this way, the problems should be avoided...
In the code that you check out from CVS, you will see that the
source code is spread over several folders... The disadvantage of this
is that you'll have to include each of those folders in your Java
project. The advantage however is that we wanted to avoid an
"all-or-nothing" approach, meaning that we want to make it possible to
e.g.
use the SAmgI data types (under SamgiCoreEncoding) without everything
else. This becomes even
more important when using web service access to SAmgI, because the
client then only needs those data type classes, and not all the other
classes. The same goes for eg the Util classes. (under SamgiCoreUtil).
To compensate the small disadvantage of spreading the source code
over several folders, in order to compile and run the code that is on
CVS, you must include more than 1 directories in the source path of your project.
To know what exactly must be included, and also to make it easier for you to get started, and to compile everything, from now
on we provide you with a build file, that can be found on CVS, under
SAmgI\build
In that build file, you can distinguish the seperate modules, being:
- core: containing the actual metadata generation part, the util classes, the encoding part (=data types), some extensions and necessary config files
- sessionmanagement-core: classes that do the actual core of the session management
- sessionmanagement-ws-axis1_2_1: session management, specifically for the Axis 1.2.1 web services environment
- lomlucenesqi-ws-axis1_2_1: web service stubs and skeletons (for Axis 1.2.1 web services environment), for writing an SQI search layer around
the generated metadata that is put in a Lucene index.
- standalone: standalone binding, for calling/using the automatic metadata generation in a standalone way
- ws-axis1_2_1: web services binding, for the Axis 1.2.1 web services environment. These classes will be used when calling/using the automatic
metadata generation in the web services version.
REMARK:
When trying the standalone binding,
the following should be in your class path (or source path):
SAmgI\SamgiImpl\Samgi-AMGCore\SamgiConfigFilesAriadne\propertiesFilesTemplate\install
The following image gives a visual representation of the structure of the Sourceforge code: