Demeter software 0.8.6 released

Subject: Demeter software 0.8.6 released
From: Doug Orleans (
Date: Thu Jan 30 2003 - 20:41:32 EST

I have released a new version of DJ and the AP Library, but I have not
updated the default links on the CCS system in order not to disrupt
the classes who are currently using it. If you'd like to use the new
version (0.8.6), you can download it from
as usual, or on CCS systems, set your DEMETERJ_VERSION to "new" and
put /proj/demsys/demeterj/new/rt.jar on your CLASSPATH.

The API docs are included in this release, and are temporarily at
but they will be moved to docs/api/ at the end of the quarter.
The new API docs, besides documenting the latest version, have better
links and do not include all the DemeterJ and AP Studio classes.

You can also browse the source at

Here are some of the more interesting changes (see the CHANGES file in
the source directory for the full list):

** DJ and AP Library: strategy intersection

DJ and the AP Library now support strategy intersection, for example:

    intersect(from A via X to B, from A via Y to B)

The traversals with this strategy will only include paths that are
expansions of <AXYB> or <AYXB>.

** DJ and AP Library: strategy reference

DJ and the AP Library now support strategy references, for example:

    Map env = new HashMap();
    env.put("s1", new Strategy("from A via X to B"));
    env.put("s2", new Strategy("from A via Y to B"));
    Strategy s = new Strategy("intersect(s1, s2)", env);

** DJ: TraversalGraph -> Traversal

The TraversalGraph class has been renamed to Traversal, because a
traversal may be a combination of graphs instead of just a single
graph. For backwards compatibility, there is still a TraversalGraph
class that extends Traversal, but it will probably go away soon;
please switch to using Traversal.

** DJ: bug fix: no construction edges from other packages

When a class or its package is added to a ClassGraph directly (with
ClassGraph.addClass() or .addPackage()), the class's construction and
inheritance edges are also added to the ClassGraph, as well as the
targets of those edges. However, the construction edges of the
targets will not be added to the ClassGraph. This was previously true
for targets of construction edges of classes added directly, but it is
now true for targets of inheritance edges (superclasses) as well. The
most noticeable effect of this fix is that Object.getClass() and
.toString() will not be added to a ClassGraph unless Object or
java.lang is added directly (with the addMethods flag turned on).


This archive was generated by hypermail 2b28 : Thu Jan 30 2003 - 20:41:41 EST