Visual Classworks for Java/Javelin Release History
The most recent version of
Visual Classworks for Java, Javelin appears as the first entry in the list of releases below.
To see the version number of your current Javelin installation
(if you have already installed a version of Javelin on your PC)
run Javelin and go Help|About and see what version number is
displayed there. If it is less than the one on the top of the
list then you do not have the latest version.
Upgrades with the same major
version number are not charged (eg., upgrading from any 6.x to any later
6.x version is free).
Download latest version now!
Be sure to check out the
Javelin Fundamentals page if you are new
to Javelin to help you get off to a nice easy start.
Step Ahead Software believes in
pursuing an open policy with regard to bug fixes and feature
requests (unlike some other software companies that don't mind
keeping their users in the dark!).
You should check
this page regularly. If you requested a new feature
or a bug fix then chances are it will eventually appear in a new
release and be listed here.
7.5.1.0
March 19,
2011
Features
- Improved
Revision Control Support: Check if files are read only before committing and
advise user to checkout the file from revision control first.
- Improved
Revision Control Support: For systems that require check-outs before editing
source code: introduced intelligent project, .vcm, metadata and .java file
saving such that an attempt to save file will only occur if the saved file
would be different to that already saved. Also: bring up message box
prompting to perform a check-out if a file needs to be saved but it marked
as read-only.
- Added
estimate (hour) and progress (%) fields to class form to allow
estimating/tracking.
- Generate
.csv report from estimate and progress attributes.
- JDO
metadata generation now includes the detachable metadata tag within each
class element to tell JDO to make each persistent class detachable - more
convenient than adding the tag via the custom persistence directives.
- Added
new type of persistence generator choice that allows for the generation of
GUI classes that bind to model objects via a detachable model (eg., wicket's
IDetachable). Using the GUI bind persistence option for a class diagram,
when a non persistent GUI class has a 'to 1' relationship with a persistent
class then that relationship is generated using the GUI binding class
specified in the Project Options.
-
Relationships: Role text is now right clickable and has the same context
menu as clicking on the cardinality anchor at that end of the relationship.
-
Relationships: Right clicking on cardinality anchor or role text brings up
properties for THAT end of the relationship instead of the other end (i.e.
more intuitive).
-
Relationships: Improved text descriptions of relationships on relationship
context menu - now includes description of relationship including role if
appropriate.
- Diagram:
Back and Next context menu items now show name of diagram to go to.
- On
opening a Project the most recently open diagram is opened - instead of
always opening the first diagram in the project.
Features
- Fixed
problem with some message boxes that could get hidden behind application.
- Fixed
problem with definition of Java generics especially in regard to specifying
a type for a base class generic.
- Fixed
bug where history list could grow larger than 30 but only 30 were saved to
javelin.ini - often the current diagram was after the 30th entry and so not
stored.
7.3.2.4
September 18,
2010
Features
- Support
for the generation and management of classes that use the Java 1.5 generics
feature.
7.3.2.3
August 24,
2009
Features
- The JDO
meta data generator now generates RDBMS meta data with indexed="true" for
all discriminator columns which means that the discriminator column, the one
that distinguishes different class types within the same table, will be
indexed. This significantly increases the performance of certain queries
that perform discriminator comparisons in the native SQL that is
generated by your particular JDO implementation (eg., DataNucleus).
Bug
fixes
-
Fixed a problem where the values for the per diagram
persistence options: "Use join table for 1-N relationships" and "Use two join
tables for M-N relationships" could be read from a different diagram
(the currently open diagram) instead of the diagram that is responsible for
managing the code and metadata for the specified class, resulting in
possibly incorrect metadata.
7.3.2.1
June 4,
2009
Features
- Font for
relationship text has been increased in size to allow for easier reading at
low zoom.
- Class
IDs (used as discriminators in ORMs like JDO/JPA) are now immutable and do
not rely on the parent diagram's 'starting class ID' value which means
larger diagrams can be easily split into smaller diagrams without running
the risk of a class ID/discriminator class.
7.3.2.0
May 31,
2009
Features
- Improved
use in software revision controlled environments such as Subversion (SVN)
and CVS by drastically reducing the
number of lines changed in the class diagram (.vcm) files when a class is moved.
In one scenario with a class with inheritance, implementation and 4
association relationships repositioning of that class has gone from
producing 21 invidividual line changes in the .vcm file to 1 line change -
awesome! This change also has the effect of reducing the file size of .vcm
files which helps speed up remote updates/commits. The file size saving was
up to about 9% for some class diagrams tested.
7.3.1.0
May 24,
2009
Features
- Added
new code injector for Log4j logging. Just turn it on for any class that you
want to perform logging from and the import and provite static Logger
definition will be added automatically.
7.3.0.3
May 8,
2009
Features
- Fixed
import problem that shows "Bad gramar file" on some installations.
- Support
for package scoped meta data (eg., package.jdo in the case of DataNucleus/JPOX).
Each diagram can be configured to generate class (individual meta data file
per class) or package (one meta data file per package) scoped meta data
files. To configure this option use Diagram | Persistence options.... then
see "Generate one meta data file per" and select either class or package.
- Right Click on class >
'Mapping source' now opens package based meta data file if that is the
mapping file scope for the current diagram.
- New diagrams now default to
'package' based meta data files instead of 'class' based meta data files.
- Generate .jdo metadata files
using .xsd file references instead of .dtd file references.
- Support for DataNucleus (JDO
2.x implementation)
7.3.0.2
October 4,
2008
Features
-
The
automatic importing of dependencies of the immediate abstract base class and
immediate interfaces now extends recursively to include the dependencies of
all abstract base classes and interfaces in the hierarchy.
Bug Fixes
-
Fixed:
Diagram name not displaying properly when printing.
7.3.0.1
July 7, 2008
Features
-
Recently
used diagram list has been updated to have two distinct columns for clarity.
-
Color of non
generated class name text is now black instead of gray. Works better with
gray or white slate backgrounds.
7.3.0.0
Project
Oriented Re-architecture
April 26, 2008
This is the most significant release of Visual Classworks for Java, "Javelin" since the very
first release!
Features
-
All the
tools in the Visual Classworks range have undergone a major re-architecture
to become project oriented instead of diagram oriented. A new project file
(.vcjprj) is used to hold information about all the diagrams in a project.
Visual Classworks for Java remains compatible with diagram files (.vcm and .vcw)
created using previous versions of the tool and has undergone much rigorous
testing but according to good practice you should back up your existing
projects first before loading them into the new release.
-
Creates
customer reference definitions if none discovered at startup.
-
Now defaults
to generating code for relationships when custom reference options are used.
-
Examples
have been improved.
-
New diagram
explorer allows you to easily navigate around projects with many class
diagrams.
-
New recent
diagram list allows you to quickly switch between diagrams seamlessly, even
across project boundaries.
-
New Back and
Forward buttons allow you to quickly work back or forward through your
diagram history list.
7.1.1.6
February 15, 2008
Features
-
Build and run options
are now common to all class diagrams in a single directory. This is about
the only useful scenario for building and making and so Javelin has now been
changed to store a single set of build and run options per project
directory. Existing users of this feature will need to adjust their build
and run settings to their desired configuration.
-
Vista support.
Javelin is now compatible with Windows Vista. Previously the application ran
but the online help it used did not work under Vista as WinHelp is no longer
supported by Vista. Javelin now uses HTML Help to deliver online help.
7.1.1.5
December 2, 2007
Features
-
Persistence
directives are now enhanced so that specification of column names for object
identity and fields is now supported by entering merely the column name
instead of specifying the entire XML element.
-
New data members and
new relationships now default to "private" access. Previously they defaulted
to protected but this is not sufficient as classes in the same package can
have direct access to a data member which can be prone to much risk.
7.1.1.4
October 25, 2007
Features
-
Supports
relationships implemented by Map type collections that require both a key
type and an element type. Currently String and Integer key types are
supported.
-
JDO enhancement: .jdo
files are now only generated for persistent classes. They were previously
generated for non persistent classes to make them 'persistence aware' but
that is only required when non persistence objects directly access
attributes of persistent objects and that should never happen these days:
all access to a persistence class' members should go via appropriate
accessor methods. In other words all attributes and relationships should be
either private or protected.
7.1.1.3
August 25, 2007
Features
-
Uses XP look and feel
for user interface elements.
7.1.1.2
July 10, 2007
Features
-
Generates
relationships when in Hibernate and JDO modes using Java 1.5 generics. eg.,
instead of Vector employees;
being generated for an employees relationship the following will be
generated: Vector<Employee> employees;
If you are using Javelin on a
project that is locked into an older JVM (eg,.m 1.3 or 1.4) and therefore
can't use generics please contact us ASAP.
-
When a class name or
package/path is changed (typcially during refactoring) the user is asked if
they want to automatically update of all projects in the manifest that
contain that class. If they choose to perform an automatic update then every
project in the manifest is updated to reflect the changes to that class and
any related classes are automatically regenerated so that the underlying
source files are synchronized. Any healthy project, significant project
should be managed by a collection of class diagrams rather than a single,
very crowded class diagram so this feature should be very useful for medium
to large projects.
-
Previously when a
class was renamed or moved to a different package/path the old class file
remained. Now it is deleted.
-
Added new action in
class context menu: Hide getters/setters in class icon.
-
After a
"Resynchronize all projects in manifest" the previously open project is
restored.
-
"Resynchronize all
projects in manifest" no longer opens each project in the slate as it
progresses.
-
Maximum classname and
filename have been extended to 100 chars, maximum package/path name has been
extended to 300 chars
Bug Fixed
-
Fixed potential issue
while running multiple instances of Javelin at the same time caused by
clashing of temporary files used to hold intermediate source file content.
-
Editing keep section of a library class comes up with warning – fine but
then follows with another warning “InitAccess – already accessed by another
process”. This is now fixed by displaying a warning that states that extra
sections of library classes are not accessible.
7.1.1.1
February 1, 2007
Features
-
Added persistence
directives option to relationships. Now it is possible to specify a column
name etc., used to implement a relationship. This completes Javelin's
customization of meta-data which means that Javelin is now equally well
suited to existing projects (where the ORM meta-data is configured to match
an existing database schema) as it is to new projects (where the schema is
generated from the domain model created in Javelin).
7.1.1.0
January 16, 2007
Features
-
Added "Resynchronize
all projects in manifest" feature. This opens every project listed in a src
directory's manifest file and performs a resynchronize on each one. This is
a great time saver in situations where you may have changed, lets say,
pessimistic locking to optimistic locking in the persistence options for
each project and you want to regenerate all the meta data files to reflect
that change.
-
Added "auto implement
setter and getter methods" for 'to-1' and 'to-many' relationshps in ORM generators for
JDO and Hibernate. Option is configurable from the "Code generation" button
in the reference properties form.
-
Added "auto implement
element adder and element remover methods" for 'to-many' relationshps in ORM generators for
JDO and Hibernate. Option is configurable from the "Code generation" button
in the reference properties form.
-
It is now possible to
enter carriage returns in the "Copyright" field in the project properties
form.
-
The Project
properties form now allows many more characters in the copyright notice
field.
Bug Fixed
-
Inserts a space
before any extra persistence directives set up for a class. Without a space
between the standard attributes and the extra persistence directives the XML
parser gives a parse error.
7.0.8.5
December 19, 2006
Features
-
When creating a new
class icon: if source code already exists for that class then the icon will
be automatically marked as "Do not manage source code" (does not generate or
synchronize source code from this class icon) to avoid overwriting the
existing code.
Bug Fixed
-
Deletion of an
abstract method could cause the next concrete method in the source file to
also be deleted.
-
Fixed problem with
some error messages showing "NO_STR" instead of the correct error text.
-
Message boxes now
behave better after using ALT-TAB to switch to another application.
-
Relationship role names which are empty (eg.,
like those for 'depends' and 'none' relationships) are no longer be
selectable – it used to get very confusing - even for our own developers
until we worked out what it was!!!
-
When attempting to synchronize the source
code for an existing class whose source code is no longer present the source
file was not regenerated like it should have been.
-
Fixed an incorrect 'modeler' message when
attempting to view source code of a class when the source code is not
present.
-
Fixed "SHIFT + drag to select" bug - only
worked when direction of drag was from top/right to right/bottom.
7.0.8.4
November 29, 2006
Features
7.0.8.3
November 26, 2006
Features
Bug
fixes
-
Fixed bug which
limited the number of classes to 5 in the freeware and trial versions and gave
incorrect messages regarding the design not being saved when closing a design. This limitations have
been completely removed - there are no
class limits to the freeware or trial versions.
7.0.8.2
November 25, 2006
Features
-
Introduced freeware
Javelin Modeler edition which is a full featured version of the Javelin
without the code generation and management facilities.
-
Improved message
that appears when auto-saving a project that has not yet been saved.
-
Shows border as a
dotted line and sizing improved intuitiveness off scrolling/zooming when
moving a class on the top or left edge.
Bug
fixes
7.0.8.1
November 24, 2006
Features
Bug
fixes
7.0.8.0
October 19, 2006
Bug
fixes
7.0.7.9
September 5, 2006
Bug
fixes
7.0.7.7
July 18, 2006
Bug
Fixes
7.0.7.5
May 11, 2006
Bug
Fixes
7.0.7.3
May 3, 2006
Features
-
Added explicit
support for the generation of meta-data elements required to support
optimistic locking for both JDO and Hibernate. The developer can choose the
optimistic locking strategy to use (none, version, timestamp or compare
state/columns) and choose a column name to use to store the versioning or
timestamp in.
-
Silently saves the
project file whenever the members dialog box is closed to reduce the scope
of lost data in the event of a power failure or operating system crash.
-
Fixed an endless
loop bug in the inbuilt editor when doing a search and replace when the
replace text contains the search text as a substring.
Bug fixes
7.0.7.2
April 16, 2006
Enhancements
- Removed message box that appears during generation when a Pattern Wizard
has not been fully configured. Now a message appears in the source code instead.
Bug
fixes
- Fixed potential unexpected program termination as a result of the way
Javelin's in-built editor handles the Ok and File|Save actions
when '{‘ ‘}’ brackets do not match and the window does not close.
- Fixed in-built editor’s over zealous bracket match check when saving
changes to code with multiple ‘{‘ ‘}’ sequences (eg., an
‘extras’
section with 2 inner classes for example).
7.0.7.0
April 13, 2006
Features
- Customizable Meta-Data for <field> (JDO)
and <property> (Hibernate) elements used to map attributes to a column in a
relational database table. You can now click on the “Extra Persistence
properties…” button in the data member/attribute dialog and specify extra
persistence directives (in addition to those already produced automatically
by Javelin) to affect the way an attribute is mapped to the RDBMS. An
“Apply” button updates the element view in the dialog so that you can see
exactly what will be output to the XML meta-data file. This feature makes it
easy to override default behavior and specify a column name, single field
indexing, field length etc., Make changes and see their effect on the
meta-data element right there in the XML previewer.
- Customizable Meta-Data for <class>
(Hibernate & JDO) elements used to map classes to a relational database
table. You can now click on the “Extra Persistence properties…” button in
the “Class Properties…” dialog and specify extra persistence directives (in
addition to those already produced automatically by Javelin) to affect the
way a class is mapped to the RDBMS. An “Apply” button updates the element
view in the dialog so that you can see exactly what will be output to the
XML meta-data file for the entire class element. This feature makes it easy
to override default behavior and set up single or multi column indexes,
specify a table name etc., Make changes and see their effect on the
meta-data element right there in the XML previewer.
- New ‘Transaction Managing Proxy’
Pattern wizard: The new pattern wizard mechanism streamlines the creation of
various patterns. The transaction managing proxy helps create a proxy for an
implementation class by implementing all methods of a common super
class/base class and wrapping each method call to the implementation class
within transaction begin/commit/rollback constructs.
- New ‘Custom Proxy’ Pattern wizard:
The new pattern wizard mechanism streamlines the creation of various
patterns. The custom proxy helps create a proxy for an implementation class
by implementing all methods of a common super class/base class and wrapping
each method call to the implementation class within four sections of user
customizable code.
7.0.6.9
April 6, 2006
Features
- Previously when deleting a class with
relationships the tool aborted the operation with a message that said, “Can’t
delete class because it has relationships”. Now user is prompted to have the
tool automatically remove the relation relationships and then delete the class.
- The class members dialog now displays abstract methods in an italic font to
match the way they are displayed in the class icon.
- New auto import feature: when a class extends/derives/implements an abstract
class or interface then that class’ import/include section will automatically
import/include all of the ‘dependencies’ of the base/superclass/interface.
- When changing a non abstract method to abstract the developer is now notified
that the method’s body will be lost and they are asked to confirm that they wish
to proceed.
- If by the addition or modification of a method, a class changes from having no
abstract methods to one or more abstract methods and the class’ override type is
not currently “Abstract – Must be overridden” then the class will be
automatically changed to abstract and the source code will be updated to include
the abstract keyword in the class declaration.
- If, in the Class details form, the override type is set to non abstract but
the class has one or more abstract methods then the user will be warned that the
override type is being set back to “Abstract – must be overridden”
- If a class is flagged as non persistent (transient) then the persistent state
of all of its attributes are overridden and treated as transient regardless of
the state of the attribute’s persistent flag – it is no longer necessary to turn
off persistence for each individual attribute in a non persistent class.
Bug Fixes
- Source code synchronization: When a
class’ name or path was modified in the Class Details form not all of the
related classes (those that may be dependent on that class and therefore need to
‘import’ it, in Javelin, or ‘#include’ it, in Visual Classworks) were being
automatically updated to reflect the change. Occasionally it was necessary to
click the “Force resynchronization of all classes” tool bar button to force an
update in the underlying source to reflect the changes.
- Cut/Copy/Paste when method not found: If for some reason during a method cut
or copy operation the body of a non abstract method could not be found in the
source code then no body was output to the source file when the method is
pasted. This fixed changes the behavior of the tool such that an empty method
with opening and closing { } brackets will be output for the method body when
the method is pasted.
- Extra new line characters were being inserted in the imports and fields
sections in some cases. This caused a frequently updated file to grow excessive
amounts of white space. It is safe to delete this white space in any source
files where this has occurred.
- Pasting a non abstract method to an interface: Pasting a non abstract method
to an interface correctly changes the method to an abstract method but,
incorrectly, the body of the method was added to the interface’s class
definition.
- When changing a non abstract method to abstract the method body was not
removed from the source code resulting in a compile error.
7.0.6.8
March 17, 2006
Features
- The visual management of association
relationships has undergone significant enhancement in this release. Many
aspects of managing an association relationship have been automated to help
create intuitive, appealing diagrams with very little mouse interaction.
- Association relationships now adjust
their positions intuitively as the classes that they relate to are moved or
when their bends ‘nodes’ are moved or created. Attempts are made, wherever
possible, to form orthogonal lines (oriented at 0 or 90 degrees) from the
class to the first bend node in the relationship or from the class to the
other class if there are no bend nodes in the relationship.
- As classes or bend nodes are moved
the anchor point(s) automatically shifts themselves to the side of the class
icon that is closest to the other class or bend node.
- A new bend node can be added to
relationship line simply by clicking and dragging any part of the line.
- Redundant bend nodes are
automatically removed (ie., those bend node that form a line with the bend
nodes either side of it are not needed) from both association and
inheritance (extends) relationships.
- Dragging a horizontal or vertical
line will attempt to maintain its vertical or horizontal orientation if
possible.
- The “snap to grid” behavior of bend
nodes in a relationship has been improved making it easier to create
orthogonal lines.
Bug Fixes
- Fixed bug: Occasionally line segments
were left on screen after moving objects.
7.0.6.7
March 15, 2006
Features
- Increased the length of the source
and destination fields in the “Build import specification” dialog box.
- The “Build import specification”
process now adds double quotes (“) around source and destination path names
to handle paths containing spaces.
- The import process now handles .imp
files that contain quoted source and destination file paths containing
spaces.
Bug Fixes
- Fixed bug: changing the state of the
persistent check box in the relationship properties dialog box did result in
the underlying class file being updated to reflect the change.
- Transient keyword not being generated
for attributes marked as transient.
- Pasted text is converted to proper
windows CR/LF endings if not already in that format.
- Code edited in Javelin/Visual
Classworks was appearing with double line spacing when edited in external
editors.
7.0.6.6
March 3, 2006
Bug Fixes
- Display message when opening a source
file and no default editor has been specified for the extension type.
- Fixed bug when importing existing
Java files. New java source files were created without any .java extension.
7.0.6.5
February 3, 2006
Bug Fixes
- Fixed occasional incorrect display of
message that curly braces ‘{‘ & ‘}’ are mismatched when hitting ok in the
inbuilt editor.
7.0.6.4
January 20, 2006
Features
- The inbuilt source code
editor has been upgraded to a completely new editor that has syntax
highlighting, line number display plus improved search and replace
functionality.
- Curly brace matching is
performed when saving a method to avoid saving methods with unmatched
braces.
7.0.6.3
January 2, 2006
Features
- JDO: To facilitate a “no
hassle” approach to mapping using a flat inheritance (table per hierarchy)
strategy Javelin now exports primitive field types with a column element
that sets allows-null=”true” to avoid SQL errors when trying to persist an
object into a row that has columns that it does not have attributes for (in
the flat strategy the set of columns is a union of all fields in all classes
in the inheritance hierarchy – typically many fields are unused by one or
more classes).
Bug Fixes
- JDO: When using flat
inheritance Javelin now only generates the discriminator strategy attribute
for classes whose inheritance strategy is new-table.
7.0.6.2
December 31, 2005
Features
- Added project persistence
option to specify whether a join table is used for 1 – N relationships. If
not set then a FK is used for 1 – N relationships.
- Added project persistence
option to specify whether two join tables are used for M – N relationships,
effectively decomposing it into two separate 1 – N relationships. If not set
then a single join table is used for M – N relationships.
- Now only generates
persistent-capable-superclass attribute for JDO 1 implementations. It is not
generated for JDO 2 implementations as it is not required for JDO 2.
Bug Fixes
- Generates
persistence-modifier for every class. This makes sure that persistent
classes with no attributes are treated as persistence capable by all JDO
implementations.
- Fixed incorrect generation
of ‘join table’ name specification. The table name is now specified in the
‘field’ element as it should be, not the ‘join’ element.
7.0.6.1
December 28, 2005
Bug Fixes
- Fixed crash related to
editing a data member with non empty persistence directives
- Object Relational Mapping
generators now generate the ‘transient’ keyword for transient relationships
in .java class files.
7.0.6.0
December 22, 2005
Bug Fixes
- JDO generator now places
'mapped-by' in the correct element - the 'field' element instead of the
'collection' element. Surprisingly, this didn't cause any problems in simple
models. The problems only arose for more complex object models but they all
work fine now.
7.0.5.0
December 13, 2005
Bug Fixes
- JDO 2 generator now outputs
correct metadata DTD version number. Previously the .jdo files were
generated with DTD version 1.0 instead of 2.0 for JDO2 and JPOX 1.1
generators. These are both JDO 2 implementations and so should have had 2.0
instead of 1.0.
7.0.4.0
December 7, 2005
Features
- Added support for a variety
of JDO implementations: Generic JDO 2, JPOX JDO2, VOA JDO.
- Generates an import even
when persistence type is set to none. There may be a UI project with many
non persistent UI classes but it would still be convenient for them to have
transient relationships with persistent objects (model objects) and so
generate imports for these.
- Cut/Copy/Paste of a method
now extracts the method body from the associated source file and copies that
also. With this feature the task of refactoring an object model and it’s
underlying source code has become even faster and easier than before.
- Access icons (public,
protected etc.,) are now UML conformant.
- Improved various icons
throughout the tool.
- The directory separator in
the class path field can now been a forward slash character to facilitate
generation and management of source code that can be compiled on operating
systems that use a forward slash (eg., Linux, Unix).
Bug Fixes
- Fixed crash when generating
persistent support files for a project that has “none” set for the
persistence options.
- Fixed small memory leak when
selecting all the classes in a hierarchy by Shift+Clicking on a superclass.
- Pasting an attribute which
is not a duplicate but for which getters and setters already exist asks if
getters and setters should be created. If user chooses ‘Yes’ then there is a
crash.
7.0.2.3
November 12, 2005
New Features
- When creating a relationship a much larger
choice of association combinations is available in the association type
dialog box. These combinations were all available previously but they
required extra configuration in the reference options dialog. The most
frequently used association types can now be established without the need to
perform extra configuration in the reference options dialog.
- Dependency relationships are now supported
and are shown using a dashed line. Dependencies are association
relationships that are included in a class diagram to represent a
relationship or dependency that is not implemented by attributes in the
referring class. The relationship is implied but may be implemented by
attributes in a super class or via some other indirectly related classes.
Dependency is a special type of “uses” relationship and so in the source
file for the dependent class an import will be generated to import the class
that it depends on.
- Generation or resynchronization of a class’
java source file now adds import statements for any association
relationships.
- For –to-many relationships, generation or
resynchronization of a class’ java source file now establishes import
statements for the appropriate collection classes interfaces (eg., Set) and
implementation classes (eg., HashSet, TreeSet etc.,)
7.0.2.2
November 4, 2005
New Features
- Automatically creates any directories
required by the package structure as indicated by the Package/Path field in
the class properties form.
Bugs Fixed
- <many-to-many> relationships were not being
mapped correctly – they are not normally good practice anyway (you would
normally implement it with an intermediate joining class containing
information about the relationship between the two related classes).
- Had issues with paths containing ‘.’ when
generating hibernate.manifest.xml file.
- Did not regenerate class after an
association was added – only after an association was modified.
- Did not regenerate class after an
association was added.
7.0.1
Features
-
Javelin can now generate a manifest file for a project’s persistent classes.
This is a list of <mapping reference> tags that need to be included in
hibernate.cfg.xml in order to let Hibernate known the classes you want
mapped. Generate this manifest file via Synchronize | Generate persistence
manifest file.
- Javelin is now supports
ant (and other make files) via the new Make Options dialog. You can set up
two separate sets of parameters - one set compiling and the other for
running. You invoke a compile or run from the Debug menu item.
Bug Fixes
-
Fixed incorrect tag ending for certain cases of <many-to-one>.
-
7.0.0 was inadvertently deployed with an older version of drun.exe, the
build program (eg., ant) invoker.
7.0.0
Now includes Hibernate plugin
Released 2005/10/28
New Features
- Supports Hibernate object/relational mapping (ORM) persistence service by generating
all the necessary mapping artefacts to help add the mapping aspect of
transparent persistence to your object model
with virtually zero effort! Support mapping of associations and inheritance by
using information in your class diagrams.
- Automatically adds setters and getters after adding an
attribute after prompting user “Do you want fries with that?”. (Ok so it was
late and we’d all been working very hard alright!)
- A default path/package can be configured for each project.
Any new classes created in that project be created with the default path/package
(which can be changed of course, if desired)
- Right click on a class to view its mapping file (only when
a persistence option is selected that uses mapping files, eg., Hibernate).
- Right click on a class to view its source file (available
in Javelin only, not Visual Classworks)
- Displays multiplicity indicators for all possibilities
except ‘1’. ie.,, will display 0..1, 0..*, 1..* at the closest side of the role
text. The case of ‘1’ is so common that, in the interests of avoiding clutter,
it can be inferred that the absence of a multiplicity indicator indicates ‘1’.
- Changed default color scheme. Hmmm, much more corporate!
You can change it easily if you want in the options menu. Just don’t choose a
bright, glary white background like all the UML diagrams you see – white is a
great color for paper but not good on a good color for your application
backgrounds if you spend a lot of time “at the screen” like we do! We recommend
using a soft gray for the modeler/coder’s background.
- Fixed some redundant error messages.
- Changed the size of the text used to display role names and
notes.
Bug Fixes
- Fixed repaint problem at high zoom in levels. This only
occurred when the zoom in level was outrageously large. The level of zoom in is
now restricted so that repaint issues do not occur.
- Fixed unexpected program termination in when doing
consistency check on the development phases.
6.7.7
New Features
- Added support for Interface classes in
Visual Classworks (was previously available only in Javelin). Users can now
create a class or an interface. Interfaces do not generate .cpp files,
only headers and their methods are always pure virtual (must be
overridden in an implementing class). Interfaces can be declared
persistent in which case extra method prototypes are generated in the
class declaration which must be overridden in an implementing class.
- Added context menu option to convert
between interface and implementation class types to facilitate and
encourage the use of “interface based” design principles.
- Prevents the adding of data members
(either via New or by Pasting) to an interface class.
- Removed ability to create “message
reponse” method types. These are an old type of method used for creating
GUI event handling methods in Borland’s OWL 1.0 library (16 bit!) so we
can safely say that no one will need to create any new methods of this
type, right?
Bug Fixes
- Fixed Check latest release URL – was
going to Javelin page.
- Fixed Purchase URL – was going to
Javelin purchase page.
6.7.5
Bug Fixes
- Fixed problem caused by transient
initialization fix in previous release. Persistent relationships
were only being initialized in the initPersistentData section which
is not called from readObject.
6.5.8
New Features
- Enhanced inbuilt editor - right click
now allows navigation to the details of other classes.
- Editor supports context sensitive lookup
of the word at the cursor when the user presses F1. The search will be made
in a Help file specified by the user.
- Class names now accept a maximum of 50
characters instead of 32.
- UML notation conformance: 'implements'
relationships now shown as dotted line.
- UML notation conformance: Abstract classes and
methods are now drawn in italic font.
- UML notation conformance: Static members now drawn
underlined.
- Access to relationship properties is now available
by right clicking anywhere on the relationship - not just at the moveable anchors
at the end of each association relationship.
- Custom code generation for relationships is now added
automatically by default to support Object, Vector and Array relationships without
the developer having to set this up explicitly.
Bug Fixes
- Fixed problem Search/Replace in the
inbuilt editor.
6.5.5
Bug Fixes
- Now compiles Java files
properly with 1.2 and 1.3 JDK compilers. Be sure to set
up Javelin for your compiler in Debug | Compile/Run
Options.
- Class | New Interface menu is
now enabled to allow addition of interfaces from main
menu. Previously interfaces could only be added by right
clicking on empty space in the design slate.
- Throws edit box in method
properties form now allows for many more characters to be
typed.
6.5.3
Bug Fixes
- Fixed bug where project file
handles were not being released until application was
closed.
- Message regarding deleting
non library classes is only displayed when deleting a non
library class!
- Fixed bug where relationships
are not drawn properly when the link had more than one
bend in it.
6.5.2
Bug Fixes
- Fixed bug where project
title, etc., could not be changed
- Fixed occassional crash when
creating a new project.
- Fixed bug when asked to
select a filename for the existing project when creating
a new project.
- UML Bidirectional
relationships (Associations) are shown properly ie., a
single line joining both classes. A unidirectional
relationship (navigation) is shown with a single arrow in
the direction of the relationship.
6.5.1
New Features
- Inheritence arrows are now
shown as a closed outline arrow, compliant with recent
UML notation.
- Association relationships are
now compliant with recent UML notation, showing an open
navigation arrow.
- Cardinality (1 or many) is
now shown in the role description text. For 0..m and 1..m
an asterisk * is prefixed to the text and for 0..1 and 1
nothing is displayed.
6.5
Bugs Fixed
- Clicking on a previously
opened project filename in the File menu did not change
the current directory to the directory of the .vcw file
and hence method editing and code generation failed.
Due to a change in the database
that stores and tracks bugs previous revision histories for
versions 1.0 through to version 6.41 are not available here. All
future bug fixes will be listed here..