Dataïand MDA User Guide

  1. System requirements

  2. Ant Code Generation Task

  3. General Naming Conventions and Processing

    1. Data Type Primitives

      MetaType (UMLType) Description JavaType HibernateType XSDType FormatterJavaType Status
      Numeric
      float float corresponds to the IEEE single-precision 32-bit floating point type. java.lang.Float float float org.dataisland.primitives.format.DefaultDataIslandFormat Status
      long long is ·derived· from integer by setting the value of ·maxInclusive· to be 9223372036854775807 and ·minInclusive· to be -9223372036854775808. java.lang.Long long long org.dataisland.primitives.format.DefaultDataIslandFormat Status
      integer Description java.lang.Integer long integer org.dataisland.primitives.format.DefaultDataIslandFormat Status
      double The double datatype corresponds to IEEE double-precision 64-bit floating point type. java.lang.Double double double org.dataisland.primitives.format.DefaultDataIslandFormat Status
      short short is ·derived· from int by setting the value of ·maxInclusive· to be 32767 and ·minInclusive· to be -32768. java.lang.Short short short org.dataisland.primitives.format.DefaultDataIslandFormat Status
      bigdecimal Description java.math.BigDecimal big_decimal string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      biginteger Description java.math.BigInteger custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      Financial
      money Description org.dataisland.cms.primitivetype.Money custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      currency Description java.util.Currency currency string org.dataisland.primitives.format.CurrencyDataIslandFormat Status
      Text
      character Description java.lang.Character character string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      string The string datatype represents character strings in XML. java.lang.String string string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      text Description java.lang.String text string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      hypertext Description java.lang.String custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      Binary
      boolean boolean has the ·value space· required to support the mathematical concept of binary-valued logic: {true, false}. java.lang.Boolean boolean boolean org.dataisland.primitives.format.DefaultDataIslandFormat Status
      byte byte is ·derived· from short by setting the value of ·maxInclusive· to be 127 and ·minInclusive· to be -128. java.lang.Byte byte byte org.dataisland.primitives.format.DefaultDataIslandFormat Status
      blob Description org.dataisland.cms.primitivetype.Blob custom base67binary org.dataisland.primitives.format.DefaultDataIslandFormat Status
      Date and time
      date date represents a calendar date. SimpleDateFormat pattern : "d MMMM yyyy". java.util.Date date date org.dataisland.primitives.format.DateDataIslandFormat Status
      timestamp timestamp represents a specific instant of time. SimpleDateFormat pattern : "d MMMM yyyy HH:mm:ss.S". java.util.Date timestamp string org.dataisland.primitives.format.TimestampDataIslandFormat Status
      datetime SimpleDateFormat pattern : "d MMMM yyyy HH:mm". java.util.Date datetime dateTime org.dataisland.primitives.format.DateTimeDataIslandFormat Status
      time time represents an instant of time that recurs every day. SimpleDateFormat pattern : "h:mm a". java.util.Date time time org.dataisland.primitives.format.TimeDataIslandFormat Status
      timezone Description java.util.TimeZone timezone string org.dataisland.primitives.format.TimeZoneDataIslandFormat Status
      duration duration represents a duration of time. SimpleDateFormat pattern : "h:mm:ss". java.util.Date timestamp duration org.dataisland.primitives.format.DurationDataIslandFormat Status
      month month represents a specific gregorian month in a specific gregorian year. SimpleDateFormat pattern : "MMMMM yyyy". java.util.Date date gYearMonth org.dataisland.primitives.format.MonthDataIslandFormat Status
      monthofyear monthofyear is a gregorian month that recurs every year. SimpleDateFormat pattern : "MMMMM". java.util.Date date gMonth org.dataisland.primitives.format.MonthOfYearataIslandFormat Status
      year year represents a gregorian calendar year. SimpleDateFormat pattern : "yyyy". java.util.Date date gYear org.dataisland.primitives.format.YearDataIslandFormat Status
      dayofmonth dayofmonth is a gregorian date that recurs, specifically a day of the year such as the third of May. SimpleDateFormat pattern : "MMMMM d". java.util.Date date gMonthDay org.dataisland.primitives.format.DayOfMonthDataIslandFormat Status
      dayofweek SimpleDateFormat pattern : "EEEE". java.util.Date date string org.dataisland.primitives.format.DayOfWeekDataIslandFormat Status
      Internationalization
      locale Description java.util.Locale locale language org.dataisland.primitives.format.LocaleDataIslandFormat Status
      Geometric
      point Description org.dataisland.cms.primitivetype.Point custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      line Description org.dataisland.cms.primitivetype.Line custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      segment Description org.dataisland.cms.primitivetype.Segment custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      box Description org.dataisland.cms.primitivetype.Box custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      path Description org.dataisland.cms.primitivetype.Path custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      circle Description org.dataisland.cms.primitivetype.Circle custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      Network
      internetaddress Description org.dataisland.cms.primitivetype.InternetAddress custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      macaddress Description org.dataisland.cms.primitivetype.MACAddress custom string org.dataisland.primitives.format.DefaultDataIslandFormat Status
      uri Description org.dataisland.cms.primitivetype.URI custom anyURI org.dataisland.primitives.format.DefaultDataIslandFormat Status
      Arrays and collections
      [] Description java.util.ArrayList N/A N/A N/A Status
      Meta
      void Description N/A N/A N/A N/A Status
    2. Expression SQLization

    3. Foreing key suffix

    4. Localization table name suffix

  4. UML Conventions

    1. Model-specific UML Conventions

      1. Stereotypes

        Name Expression Semantics
        Application Model ApplicationModel Characterizes a model element containing a web application ontology class diagram.
    2. Package-specific UML Conventions

    3. Classifier-specific UML Conventions

      1. Stereotypes

        Name Expression Semantics
        Entity Entity Characterizes a classifier element that represents a persisted entity (bean) within the ontology.
        Localizable Entity Localizable Characterizes a classifier for which locale-specific values for attributes or associations are possible.
      2. Tagged Values

        Name Expression Semantics Allowed value(s) Default value Mandatory?
        ID Generator Class IDGeneratorClass Specifies the Hibernate id generator class for this classifier persisted entity bean primary key. Please read the Hibernate documentation for details on the restrictions for every generator class. increment, identity, sequence, hilo, seqhilo, uuid.hex, uuid.string, native, assigned, foreign uuid.hex No, only use to override default value.
        ID Java Type IDJavaType Specifies the Java type for this classifier persisted entity bean primary key. Restricted to serializable classes with contructor with string parameter or Apache Commons ConverUtils support. java.util.String No, only use to override default value.
        ID Attribute Name IDName Specifies the class attribute for this classifier persisted entity bean primary key. Any accepted variable name. id No, only use to override default value.
        ID SQL Length IDSQLLength Specifies the persistance (usually SQL) storage unit lenght limit. Any positive integer value (0 is for unlimited lenght). 0 (or type-specific limit). No, only use to override default value.
        ID SQL Name IDSQLName Specifies the persistance (usually SQL) storage column name. Any storage provider allowed column name (usually ANSI SQL-92). SQLization of the ID attribute name. No, only use to override default value.
        ID SQL Type IDSQLType Specifies the persistance (usually SQL) storage column data type. Any storage provider allowed data type (usually ANSI SQL-92). Default O/R storage provider vocabulary type from O/R provider (usually Hibernate). No, only use to override default value.
        Localization Foreign Key SQL Column Name LocalizationFKSQLName Specifies the name of the persistent relational storage column in the localization table for this classifier persisted entity bean foreign key, if it is localizable. Any storage provider allowed column name (usually ANSI SQL-92). SQLization of the classifier name + foreign key suffix. No, only use to override default value.
        Localization Locale SQL Column Name LocalizationLocaleSQLName Specifies the name of the persistent relational storage column in the localization table for the localization entry locale, if this classifier is localizable. Any storage provider allowed column name (usually ANSI SQL-92). LOCALE No, only use to override default value.
        Localization SQL Name LocalizationSQLName Specifies the name of the persistent relational localization table, if this classifier is localizable. Any storage provider allowed table name (usually ANSI SQL-92). SQLization of the classifier name + localization table name suffix. No, only use to override default value.
        SQL Name SQLName Specifies the name of the persistent relational localization table for this classifier. Any storage provider allowed table name (usually ANSI SQL-92). SQLization of the classifier name. No, only use to override default value.
    4. Attribute-specific UML Conventions

      1. Stereotypes

        Name Expression Semantics
        Blob Blob Characterizes an attribute that will be stored as a blob in the persistance provider.
        Date Date Characterizes a date attribute truncated to the day of month (containing year, month of year, day of month).
        Localizable Localizable Characterizes a string attribute for which localized values must be supported.
        Text Text Characterizes a string attribute stored as a text in the persistance provider.
        Time Time Characterizes a date attribute truncated from the hour of day to the millisecond of the second (containing hour of day, minute of the hour, second of the minute, millisecond of the second).
        Timestamp Timestamp Characterizes an untruncated date attribute. This is the default behavior.
        Transparently Localizable TransparentlyLocalizable Characterizes a localizable attribute that for which values in the default locale are copied for every other locale in the system.
        Unique Unique Characterizes an attribute that must be unique for all the persisted instances of this attribute's parent classifier.
      2. Tagged Values

        Name Expression Semantics Allowed value(s) Default value Mandatory?
        SQL Length SQLLength Specifies the persistance (usually SQL) storage unit lenght limit for this attribute. Any positive integer value (0 is for unlimited lenght). 0 (or type-specific limit). No, only use to override default value.
        SQL Name SQLName Specifies the persistance (usually SQL) storage column name for this attribute. Any storage provider allowed column name (usually ANSI SQL-92). SQLization of this attribute name. No, only use to override default value.
        SQL Type SQLType Specifies the persistance (usually SQL) storage column data type for this attribute. Any storage provider allowed data type (usually ANSI SQL-92). Default O/R storage provider vocabulary type from O/R provider (usually Hibernate). No, only use to override default value.
        String Descriptor Index StringDescriptorIndex The order of appearance of this attribute in the string representation of the parent classifier. Any native value indicates that the attribute does not appear in the string representation. Any integer value. The index of the order in which the attribute appears in the UML model. No, only use to override default value.
    5. Association-specific UML Conventions

      1. Tagged Values

        Name Expression Semantics Allowed value(s) Default value Mandatory?
        SQL Name SQLName For Many-to-many associations, specifies the persistance (usually SQL) storage table name for this association. Any storage provider allowed column name (usually ANSI SQL-92). SQLization of this association name. No, only use to override default value.
    6. Association end specific UML Conventions

      1. Tagged Values

        Name Expression Semantics Allowed value(s) Default value Mandatory?
        SQL Name SQLName For one-to-many (specified on the current classifier end), many-to-one (specified on the other end), and one-to-one association ends (specified on the current classifier end), specifies the persistance (usually SQL) storage foreing key column name. Any storage provider allowed column name (usually ANSI SQL-92). SQLization of the other association end type name + foreign key suffix. No, only use to override default value.
  5. Outlets

    Name Expression Output path pattern
    {0} Package fully qualified name.
    {1} Classifier name.
    {2} Attribute name (uppercase first letter).
    Features Triggering Stereotype
    Hibernate Configuration File hibernate-conf conf/hibernate/hibernate.cfg.xml Lists all the persisted entities. ApplicationModel (Model)
    Entity Bean Java File entity java/{0}/entities/{1}.java Hibernate entity XDoclet annotated POJO. Supports localization if needed. Entity (Classifier)
    Entity Bean Localization Class Java File entity-localization java/{0}/entities/{1}Localization.java Hibernate XDoclet annotated POJO of the localized attributes for this class. Entity (Classifier with localizable attributes or localizable associations)
    Persistence Facade Java File facade java/{0}/facades/{1}PersistenceFacade.java Provides persistence methods (save, update, delete, list, etc.). Entity (Classifier)
    Persistence Facade Base Java File facade-base java/{0}/facades/{1}PersistenceFacadeBase.java Provides an extension mechanism for custom persistence logic. Entity (Classifier)
    Entity Not Found Exception Java File exception-notfound java/{0}/facades/{1}NotFoundException.java Entity-specific exception class thrown when a persisted instance cannot be found in the storage. Entity (Classifier)
    Unique Attribute Unicity Violation Exception Java File exception-unicityviolation java/{0}/facades/{1}{2}UnicityViolationException.java Attribute-specific exception class thrown when an attempt to save an instance fails because another persisted instance has a value that would violate the unicity constraint on the given attribute. Unique (Attribute)
    Entity Deletion Struts Tile JSP File struts-tiles-delete struts/tiles/{0}/{1}/delete.jsp Struts JSP form for the deletion of an instance. Entity (Classifier)
    Entity Form Struts Tile JSP File struts-tiles-form struts/tiles/{0}/{1}/form.jsp Struts JSP form for the editing of an instance. Entity (Classifier)
    Entity List Struts Tile JSP File struts-tiles-list struts/tiles/{0}/{1}/list.jsp Struts JSP page listing of all instances for the given class. Entity (Classifier)
    Abstract Struts Action Java File struts-action-abstract {0}/struts/{1}AbstractAction.java Abstract Struts action containing all general operations on instances from HttpServlet operations. Entity (Classifier)
    Delete Struts Action Java File struts-action-delete {0}/struts/{1}DeleteAction.java Struts action class for controlling the deletion operation. Entity (Classifier)
    Form Display Struts Action Java File struts-action-form {0}/struts/{1}FormAction.java Struts action class for controlling the form population from persisted data. Entity (Classifier)
    List Display Struts Action Java File struts-action-list {0}/struts/{1}ListAction.java Struts action class for controlling the persisted instance listing operation. Entity (Classifier)
    Entity Save Struts Action Java File struts-action-save {0}/struts/{1}SaveAction.java Struts action class for controlling the instance saving/updating operation. Entity (Classifier)
  6. Limitations

Dataïand is hosted by

CC-GNU LGPL
This software is licensed under the CC-GNU LGPL.