The Project Page is hosted on SourceForge Logo

Charon, version $Name: REL_1_5 $

... keeping your business models and your EJB-implementations synchronized.

Description

Charon is generator to produce PowerTier .per files from TogetherJ class-diagrams and vice versa.

One of the key features of TogetherJ is its excellent support for roundtrip engineering. This means, that class-diagrams and their corresponding Java source code files are allways kept synchronized. With Enterprise JavaBeans (EJBs), however, this quickly makes class-diagrams unreadable because they contain all the EJB implementation details. It is much better to have class-diagrams with just one class per EJB.

PowerTier can generate Entity Beans from specifications made in its Builder tool. The PowerTier Builder is a non-diagram-style editor which stores everything in a .per file. This file is used by PowerTier's ps-gen to generate Entity Beans. This saves a lot of handcrafting.

Charon links TogetherJ and PowerTier by generating PowerTier .per files from TogetherJ class-diagrams and by updating class-diagrams from .per files. Charon preserves the rondtrip engineering capabilities and simplifies the class-diagrams by requiring only one class per EJB.

Charon provides the following properties for the .per file generation, which can be entered in the TogetherJ inspector:

Diagram level

propertydescriptiondefault
Projectthe name of the project at the first line of the .per filethe name of the TogetherJ project file
ProjDomainNamean entry in the PersistencePreferences block of the .per filepackage name for this diagram
ProjDomainRootFileNamean entry in the PersistencePreferences block of the .per file package name for this diagram
ProjDomainOutputDiran entry in the PersistencePreferences block of the .per file.\ejb
ProjRootFileNamean entry in the PersistencePreferences block of the .per filepackage name for this diagram
ProjInSubDiran entry in the PersistencePreferences block of the .per fileFalse
ProjPackagean entry in the PersistencePreferences block of the .per filepackage name for this diagram
ClassPostfixthis string will be appended to all class names in the .per fileempty string

Class level

propertydescriptiondefault
persistentflag for marking for export false
TableNamean entry in the PersistentClass block, if specified not specified (will not be generated)
ExistingTablean entry in the PersistentClass block false (will not be generated)
ReadOnlyan entry in the PersistentClass block false (will not be generated)
DistributionOptionan entry in the PersistentClass block AllReadWrite

Attribute level

propertydescriptiondefault
keytrue, if this attribute is part of the key False
typePowerTier type for this attribute the default value depends on the java type, as described in the next table
ColumnName a different name for the column in the database table for this attributenot specified (will not be generated)
OptimisticControlan entry in the PersistentClass block false (will not be generated)
lengthlength for the PowerTier type char 80
scalescale for the PowerTier type decimal (not implemented yet)0
NullAllowedan entry in the PersistentClass block false (will not be generated)

Default Mapping from Java types to PowerTier types

Java typePowerTier type
intint
Stringchar
Datetime
BigDecimaldecimal
floatfloat

Relationship

propertydescriptiondefault
persistentflag for marking for exportfalse
clientDeleteActionan entry in the Relationship block removeRelationPointer
supplierDeleteActionan entry in the Relationship block removeRelationPointer
in the Link tab of the inspector: client role client role name of the client class, first character lowercased
in the Link tab of the inspector: client cardinality client cardinality0..1
in the Link tab of the inspector: supplier role supplier role name of the supplier class, first character lowercased
in the Link tab of the inspector: supplier cardinality supplier cardinality0..1

The final version will be able to create new class-diagrams from .per files or update them if they exist already.

Pre-Requisites

Installation

  1. Unzip the file CHARON.zip into c:\Together\Modules (c:\Together is the path to your local TogetherJ-Installation).
  2. Copy the file c:\Together\Modules\charon\charon.config into c:\Together\config.

Using Charon

  1. Instrument your class-diagram
  2. Convert a class-diagram into a .per file

Now you can generate the EJBs using PowerTier's ps-gen and edit the EJBs' source code.

To create new class-diagrams from .per files or to update existing class-diagrams ...

(will be added soon)

Known Limitations and Defects

Authors

License

Charon is freely available under the GNU General Public License.

Trademarks