[X] The "/TDM/MinGW Installer/tdm-mingw-1.905.0-4.4.0-2.exe" file could not be found or is not available. Please select another file.

The Whole Platform is a technology for engineering the production of software. We provide an Eclipse based Language Workbench for developing, manipulating and transforming languages using a generative model driven approach.


http://whole.sourceforge.net





Separate each tag with a space.

Release Date:

2009-04-24

Topics:

License:

Operating System:

Intended Audience:

User Interface:

Programming Language:

Registered:

2005-03-13

Ratings and Reviews

Be the first to post a text review of Whole Platform. Rate and review a project by clicking thumbs up or thumbs down in the right column.

Project Feed

  • Whole Platform Binaries 1.0.0.v20090422-1345 file released: whole-1.0.0.v20090422-1345-win32.zip

    Whole Changelog =============== Changes in version 1.0.0.v20090xxx-xxxx --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Improved test suites of Queries and XSD languages. IDE - [Workflows] Added Choose models dialog for loading models through the Task activity. Frameworks - [Bindings] Added support for result iterator - [Parsers] Added API support for strategies - [UI] Added support for content assist menu (via CTRL+Space) - [UI] Uniformed behavior of horizontal arrow key press on a textual selection to Eclipse text editors. Languages - [Commons] Reorganized and fixed the Interpreter - [Grammars] Added support for parsing BigDecimals and BigIntegers. - [Grammars] Added support for inline definition of unparsing behavior in DataTerminals. - [Queries] Added support for EnumValue, Date, Comparable and Object data types into relational and equality constructs. - [Tests] Added support in generator for AllOf, AnyOf, IsAssignableTo, HasType, HasKind. - [Workflows] Added support for using deployed grammars in Parse/Unparse activities - [XSD] Added model support for Notation and Constraint declarations, foreign language attributes, redefine directive. Notations - [XSD] Added support for Unbounded maxOccurs attribute and foreign attributes. - [XSI] Added support for composite attributes. ** Bugs fixed - [Iterators] Fixed Cartesian iterators. - [Iterators] Fixed repeated calls to IEntityIterator.set. - [Matchers] Fixed pattern matching behavior between patterns. - [Visitors] Fixed stage down behavior (void case) in GenericTemplateInterpreterVisitor. - [Visitors] Fixed variable substitution behavior for void values. - [Actions] Fixed regression on transformations substituting the root entity. - [Grammars] Fixed unparsing of Choose rule. - [Queries] Fixed how variables in ExpressionTest templates affect removal of context variables. - [Queries] Fixed boolean expressions behavior in Equals and NotEquals. - [Queries] Fixed AtFeatureTest with feature URI. - [Queries] Fixed comparison constructs behavior with booleans, objects, enum values, and dates. - [Workflows] Fixed class loading regression in Content Assist and Interpreter. - [XML] Fixed type in the prototype of the Element content feature. - [XML] Fixed escaping of comments. - [XSD] Fixed mapping of complex types with empty content model. - [UI] Fixed editing of data entities with Object datatype. - [UI] Fixed Outline View and behavior of actions after using the Retry button in editor failure status page. Changes in version 1.0.0.v20090206-1802 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Deleted the pm family of languages - Moved Workflows to core - Moved Imp to examples - Moved Flowchart to misc IDE - Improved handling of open model failure - Added Whole Perspective - Added Map view - Added Index view - Added customization of Whole Platform Library - Added support for cut&paste and dnd actions with multiple selected elements Frameworks - [Bindings] Several improvements to binding managers and scopes - [Model] Improved handling and checking of containment relation - [Model] Improved command history and transaction management - [Model] Reduced the history management default scope to the compound model level - [Iterators] Added set related iterators (union, union all, intersect, except) - [Operations] Fragment evaluation with iterator unroll - [Operations] Improved pretty printing with better indentation support on multi-language models - [Comparators]Added comparators for defining entity identity and order - [Util] Added datatype utils for supporting polymorphic expressions - [UI] Added support for creating hyperlinks using entity paths - [UI] Improved content assist API - [UI] Added support for composite parts with reversed children - [UI] Added support for generic hilight figures in hilight policy - [UI] New composite figure shows a placeholder - [UI] Added copy entity path action - [UI] Added Go To Entity Path action - [UI] Improved multiline editing in labels and textual figures - [UI] Wider adoption of textual figures - [UI] Use eclipse proxy configuration if available - [UI] Redirected the Command stack to the Whole history and transaction manager - [UI] Improved animation support - [UI] Reorganization of views, viewers and pages - [UI] Added resource management (colors, fonts, images) support at viewer level - [UI] Improved API for object alignment in layout managers - [UI] Added several new math layout managers and figures Languages - [Actions] Added constructs to build generic context menus with custom actions (primarily used in content assist visitors) - [Artifacts] Added support to synchronize artifacts in memory models with artifacts on filesystem - [Artifacts] Added support for project location URIs in artifacts generator - [Grammars] Added support for custom datatypes and partial parsing of unhandled datatypes - [Queries] Added constructs: AtFeatureTest, AtIndexText, IndexVariableTest - [Queries] Added constructs: union, union all, intersect, except - [Queries] Fixed IndexTest, IndexRangeTest, Distinct, Void - [Workflows] Improved interpreter - [Workflows] Improved whole oriented activities (parse/unparse, load/save, invoke operation, artifacts sync, java activities, model/entity factory) - [Workflows] Added task activity for supporting configurable input dialogs - [Workflows] Improved content assist for file path/resource location and class selection - [Tests] Added unit testing language with: - interpreter (test suite, test cases, tests, aspects) - ability to use filters on matches - filters generator - matches templates auto completion - junit generator - stacktrace with navigable (org.whole.lang.ide) entity locations - [Java] Added support for block and line comments - [Java] Added support for generic events in JavaStoreProducerBuilder - [Java] Added support for generating java code with comments - [Properties] Added interpreter - [Text] Added Interpreter - [SQL] Support for iterable result sets - [SQL] Support for several datatypes (boolean, array, int family types, binary, blob & clob raw) - [SQL] Added support for subqueries in where expression - [SQL] Added IS and IN and BETWEEN expressions - [SQL] Added support for case expressions - [SQL] Several improvements to the pretty print - [Xml] Improved encoding handling and pretty print - [XSD] Improved (re)deploy strategy of xsd models - [XSI] Improved performance on streaming operations Notations - Improved generic outline, text and tree notations - Added generic Table notation - Added support for dynamically styled notations - [Actions] Improved specific notation to support new language constructs - [Flowchart] Improved switch control figure - [Models] Improved tabular notation - [Tests] Added specific notation that mimics a unit test - [Workflows] Completed workflow notation - [RDB] Added a new RDB textual notation - [RDB] Added a new RDB tabular notation - [SQL] Several improvements to the textual notation - [Xml] Improved outline notation - [XSD] Improved notation (more xml oriented) - [XSI] Improved notation (more xml oriented) Changes in version 1.0.0.v20080118-1907 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Added a File menu action for enabling all of the Whole Examples contributions to Eclipse - Added several examples: javadocs, red black tree, csv, annotations, xml, db - Introduced optional dependency from Apache Derby (required by the DB example) IDE - Eclipse 3.3 is required - Added support for native Drag and Drop - Added support for native Cut,Copy and Paste - Added support for Cut action - Added support for Paste As action Frameworks - The frameworks and the generators now use the thread safe variant of the singleton pattern - Completion of the tasks for replacing an absolute staging semantics with a relative one - [Models] Added hasParent and convert methods to EntityUtils - [Iterators] Added several iterators for performing control flow and rewriting behavior with a pull style - [Operations] The I/O of interpreter and pretty printer operations is based on readers and writers - [UI] Added support for dynamic UI additions to Eclipse - [UI] Added a table layout and figure - [UI] Added a tree layout - [UI] Added support for the OpenSymbol TrueType font (boundled) in styled labels - [UI] Major reorganization of the hierarchy of views Languages - [Actions] Added a language for defining toolbar and context menu actions - [Queries] Added control flow constructs: Block, Choose, Foreach, If and Do - [Queries] Added modular constructs: Query declaration and call - [Queries] Added rewriting constructs: CartesianInsert, PointwiseInsert, CartesianUpdate, PointwiseUpdate, Delete - [Queries] Added arithmetic and relational expressions constructs - [Grammars] Added a simple predictive parser generator - [Grammars] Added a grammar based persistence kit - [Java] Added support for javadocs (parsing, unparsing and editing) - [SQL, RDB] Initial release of SQL and RDB languages including a generator from RDB to Models Notations - [Actions] Added a notation similar to the Eclipse UI for toolbars and menus - [Models] Added a specific tabular notation - [Properties] Added a specific tabular notation - [Table] Added a generic AST notation that uses tables to compact regular fragments Changes in version 1.0.0.v20070912-1454 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan ** More relevant changes General - Introduced the updatesite category Whole Platform Enabling Features for facilitating the installation of three optional libraries. - Introduced the updatesite category Whole Platform Extras for more specialized and less used features. - Introduced a new family of languages called Misc including the languages which were on examples - Added an example of source generator using the Queries language - Reorganization of test suites - The dependency from JAXP 1.3 is now optional (JAXP 1.1+ is required by XML) - Introduced optional dependency from Joda Time 1.4 (required by XSD) IDE - Added support for Eclipse launch configurations to configure the variability model of Whole operations Frameworks - [Bindings] Improved toString() for facilitating debugging. - [Bindings] Removed from IBindingScope get/setName methods. - [Bindings] Added Include and Exclude Filter scopes to show only or hide a set of names from an enclosing scope. - [Bindings] Added a Resettable scope for marking and resetting the state of an enclosing scope. - [Builders] Added to the GenericBuilderContext the ability to build a model (fragment) starting from an initial entity event of your choice. - [Builders] Renamed GenericForwardBuilder to GenericForwardStrategyBuilder. - [Builders] Added GenericForwardSpecificBuilder for forwarding generic events to the specific events of the target languages. - [Commons] Added a variable kind, InlineVariable, that is substituted with the children of its value. - [Commons] Added a quantifier feature to variables with the corresponding enumeration entity. - [Commons] Removed the deprecated interfaces and the abstract classes for staged fragments and variables. - [Commons] Added persistence and presentation datatype parsers. - [Commons] Added support for the pretty printer operation. - [Contexts] Added wResetRoot() to the AbstractEntityContext for resetting the context to its root entity and index. - [Iterators] IEntityIterator.add() now has "add before semantics" in all implementations. - [Iterators] Each iterator of a SequenceIterator is now executed in a scope including bindings defined by preceding iterators. - [Matchers] Improved toString() for facilitating debugging of visitors returned by GenericMatcherFactory. - [Matchers] Added GenericMatcherFactory.defineVariable() to create a visitor that binds the self entity to a given name. - [Matchers] Added GenericMatcherFactory.evalTrue() to create a visitor that interpret a given program representing a boolean predicate. - [Matchers] GenericMatcherFactory.substitute() now takes into account both inline variables and variable quantifiers. - [Matchers] Added to Matcher.removeVars() a boolean result for stating that all variables were optional and a force parameter to remove also mandatory variables. - [Model] The dynamic model implementation now takes into account the reference modifier. - [Model] The IEntity.wStringValue() and wSetValue(String) are not anymore a parser/unparser facility (see datatype parsers). - [Parsers] Added a parser/unparser framework for datatypes (in the context of data entities). - [Reflect] Added predicate methods to the enum of data kinds. - [Reflect] Added predicate methods to the enum of entity kinds. - [Reflect] Added ReflectionFactory.getPlatformClassLoader and setUserClassLoader. - [Util] Added DataTypeUtils. - [Util] Improved EntityUtils implementation. - [Util] Added a fresh names generator. - [Util] Improved StringUtils. - [Visitors] Improved toString() for facilitating debugging. - [IDE] The JDTJavaBuilderPersistenceKit now binds available information before calling writeModel(). - [IDE] Added support for transformation actions based on the Queries language. - [IDE] Improved controls for choosing models, packages and classes. - [IDE] The WholeClasspathContainer now includes "enabling features" libraries if installed. - [IDE] Added a wizard for importing a Java class into a Java Model. - [UI] Improved icons for actions and editors. - [UI] Added support for Whole based "source" and "refactor" context menus. - [UI] Text commands now replace the data not the data entity. - [UI] Replace commands are more generic and better named. - [UI] AbstractEditorKit.getKeyHandler() always returns a key handler (no null). - [UI] In the value assist menu, enumerations of symbols are sorted by enum ordinal. - [UI] Added support for animation in editors - [UI] Improved the hierarchy of editpart classes - [UI] direct caret editing is much more used than before in all languages. - [UI] Per datatype commands, editpolicies and editparts are no longer necessary. Languages - [Java] Added the ability to reverse engineer a java source or a java class to the corresponding java model (via builder events). - [Java] Added a Bean Shell based Java interpreter. - [Pojo] Improved the Pojo model to better support the Java library integration use case. - [Pojo] Added a reverse engineering template factory. - [Pojo] Added a Pojo to Models transformation. - [Pojo] Added PojoUtils to automate translations from/to a Java library model and its correspondant Whole based model. - [Queries] The select construct is now more oriented to perform demand driven model transformations. - [Scripts] Added Scripts in legacy for integrating languages based on the Java 6 scripting API. - [Semantics] Added a language for writing the semantics of a language. - [XSD] Improvements to be more close to the standard. Notations - [Commons] Stage fragments figures are also differentiated by an icon. - [Commons] Variables have a new collapsable figure. - [Java] Operators are now showed with their standard symbols. - [XSD] Added an XSD specific outline notation. - [XSI] Added an XSI specific outline notation close to the corresponding XML but of course with content assist. ** Bugs fixed - [Bindings] Adding a scope s to its enclosing scope, calling wAddAll, (re)define all names in s to the local scope of the enclosing scope. - [Builders] The GenericBuilderContext does not forward wFeature() events to the builder strategy. - [Builders] The ModelBuilder wCloneFeature() method try to clone the feature of the adapter instead of the adaptee. - [Iterators] AncestorIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.hasNext() should return false if the entity is null. - [Iterators] After calling ChildIterator.remove() on a composite the nextIndex is wrong. - [Iterators] ChildReverseIterator.lookahead() should return null if the entity is null. - [Iterators] ChildReverseIterator.hasNext() should return false if the entity is null. - [Iterators] ComposeIterator.updateIterators() fails without trying all valid combinations. - [Iterators] TopDownIterator.remove() fails to update the state sometime. - [Matchers] GenericMatcher.matchEntityResolver() should check if the pattern has a feature before performing the test on the model. - [Matchers] Deprecated GenericMatcherFactory.addSubsitute(). Use substitute() and InlineVariables instead. - [Matchers] Matcher.removeVars() loose checking some entities (due to the use of a topDown iterator). - [Model] Change notification from a null value Object data entity may fail with a NullPointerException. - [Model] The IEntity.wShallowClone() leaves the fragment model of the prototype when applyied to an adapter. - [Reflect] Adding a language kit does not update the editor and persistence kits. - [Reflect] Adding a persistence kit should have a replace behavior when an older version of the persistence kit is already deployed. - [Visitor] The GenericTemplateInterpreterVisitor looses some data. - [Visitor] The GenericTraverseParentVisitor does not stop to the RootEntity. - [UI] Save as does not work if the file already exists. - [Java] ThisExpression entity should mark as optional the "qualifier" feature. - [Java] The pretty printer assumes that there are no adapters when printing data features. - [Queries] Several bugs fixed in the PathExpression2IteratorVisitor and in iterators. ** API changes - [Events] HistoryEventHandler.setEnabled() returns the old status. - Removed getClassLoader() from the WholePlugin class (see ReflectionFactory)). Changes in version 1.0.0.v20070403-1644 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?projectId=10000&styleName=Html&version=10002 ** More relevant changes Frameworks - [Bindings] Extracted IBindingScope from IBindingManager - [Bindings] Added wAddAll to IBindingScope - [Bindings] Added better support for static scopes - [Bindings] Added IBindingManager support to IPersistenceProvider - [Iterators] Added support for mark/reset and lookaheadScope in IEntityIterator - [Iterators] Added several implementations to support iteration over all XPath axes - [Matchers] Added isAssignable/isAssignableImpl predicates - [Matchers] Added matchers for supporting XPath like predicates - [Models] Generilized wResolveWith method to IEntity - [Models] Removed from IEntity the responsibility for changing the features of a SimpleEntity - [Models] The semantics of wRemove on simple entities has changed to replace with resolver - [Operations] Renamed and reorganized AbstractOperation environments - [Operations] Added result bindings to the Interpreter operation methods - [Reflect] Added methods for dynamic manipulation of languages in EntityDescriptor - [Reflect] Added support to dataEnumType property - [Reflect] ReflectionFactory added methods for mapping EntityDescriptors and FeatureDescriptors to/from qualified names - [IDE] Added a Normalizer action - [UI] Added text editing support (command, editpolicies, parts, palette, tools) - [UI] Added support for text actions in IActionFactory - [UI] Renamed Placeholder the actions for replacing/adding a resolver Languages - [Commons] Added support for Interpreter operation - [Imp] The Equals and NotEquals entities now work also on strings - [Grammars] Added a data integration language - [Queries] Added a query language - [Java] Improved the pretty printer - [Java] Improved the model trasformations from/to JDT DOM model - [Models] Completed the interpreter for hot deploying of models - [Models] Added a default entity registry configuration - [Text] Added support for textual editing (with the text tool) - [XML] Added a normalizer and a pretty printer in streaming - [XSD] Added the XML Schema Definition language Notations - [Grammars] Added a graphical notation - [Queries] Added a notation - [Math] Many improvements to become the main generic notation to extend - [Outline] Improved and more configurable and reusable ** Bugs fixed - matchers should change bindings only if match succedes - iterators hasNext and lookahead methods should not change bindings - The FeatureDescriptorEnum equals method should check for same language - [UI] Fixed connection commands ** API changes - [rename] org.whole.lang.processes to org.whole.lang.bindings - [rename] AbstractOperation environments constants and accessors - [rename] org.whole.notation to org.whole.lang.ui.notations - [rename] org.whole.notation.treemapper to org.whole.lang.ui.notations.ast - [rename] org.whole.notation.factory to org.whole.lang.ui.notations.ast - The ICommonsBuilder Variable method requires a qualified name for entity descriptors - Replaced the EBNF language with Grammars Changes in version 1.0.0.v20061114-1709 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?version=10001&styleName=Html&projectId=10000&Create=Create ** More relevant changes General - Reorganization of the project sources to separate the runtime and generators from code with Eclipse dependencies - Major API changes in all the Whole frameworks to take advantage of Java 5 features: generics, foreach, varargs and autoboxing IDE - Better integration of the Whole IDE with Eclipse features: Cheat Sheets, project wizards, Search and Find dialogs, Import and Export wizards, Tabbed Properties View, Problems View, Details views, and classpath container for Whole Platform libraries - Add generic support for goto location in Problems and Find/Replace views - Add generic support for Search and Find dialogs using domain notations Frameworks - [Factories] Major redesign of creational patterns. Replace the old language factories and the old prototype managers with a single factory style API backed by a configurable prototype style registry of entities - [Models] Added support for the pluggable, two-way Object Adapter Pattern - [Models] The Whole flavor of the Null Object Pattern - resolver entities - now features a specific interface (via adapters) and the ability to behave as expected even after entity resolution - [Matchers] Added findChild and findAncestor methods (by kind, descriptor or pattern) - [Matchers] Added rewrite matcher visitor - [Visitors] Add fixpoint traversal strategies: reduce, outermost, innermost. Add change aware traversal visitors. Add support for Strategy Pattern - [Iterators] Added set/add/remove support to iterators - [Iterators] Added derived AncestorScannerIterator and AncestorMatcherIterator Languages - [Models] Added support for multiple inheritance, and for the abstract modifier - [Commons] Added a new language for grouping all constructs common to all languages such as resolvers, variables and fragments. - [Artifacts] Added support for persistence kit selection. - [Properties] Added a new language for defining sets of name-value pairs Notations - Added support for pluggable generic notations. - Added a generic textual Factory notation and a graphical tree notation Changes in version 1.0.0.I20060707 ---------------------------------- ** New features - [Visitors] new visitor combinators (collect, traverseParent, traverseCollection, not) - [Iterators] Added Scanner iterator combinator with an API similar to Java 5 Scanner - [Iterators] Added Matcher iterator combinator to iterate over the matches found - [Iterators] Added Ancestor iterator (with reverse variant) - [LANGS] Added a new modeling language (Pojo) replacing the old Mbed - [UI] Added support for (GEF) Details views (Parma, Solmi) - [UI] Added support for (GEF) viewers in Dialogs and Forms (Parma, Solmi) ** Improvements - [Matchers] Type, Kind and Pattern matchers now works inside visitors - [Iterators] IEntityIterator is now an extension of the standard Iterator interface - [Iterators] Added foreach support. IEntityIterator is now an extension of the standard Iterable interface - [Editors] Added rt for tabbed properties (Parma) - Speed improvements on some StringUtils methods - Thesupport for title image decorators (Parma) - [model] Resolver.wResolve performs auto unboxing if needed - [UI] Added suppo Java Compiler action uses the current project and package as prefix for generated code - Introduced an InternalIEntity interface for internal methods - [Models] Added support for placeholder types ** Bugs fixed - [UI] Editor Resource tracker fails to update observers (Parma) - [UI] Editor Resource tracker reloads the model even on marker changes (Parma) - [Visitors] traverseOne does not fail when all children fail - [UI 1505225] NullPointerException in LabelDirectEditManager - [persistence] XmlBuilderPersistenceKit encoding error (D'Errico) - [model] ClassCastException when resolving (Resolver.wResolve) a non primitive datatype - Models generator fails with ambiguous class names (java.lang) - [UI] The root element is stretched orizontally - [UI] The folding button does not work on the root element - [PrototypeManager] The put prototype does not register the prototype by name - IllegalArgumentException when the java.lang.String (qualified) is used in a data entity - Missing features of a simple entity when the entity is a type of another entity ** API changes - Java 5 is required - [rename] VisitFailException -> VisitException - [signature] Matcher.match(EntityDescriptor descriptor, String name, IEntity model, IBindingManager bindings) -> Matcher.match(EntityDescriptor descriptor, IEntity model, IBindingManager bindings, String name) - [Signature] IEntityIterator.wHasNext(),_.wNext() -> hasNext(),next() - [Move] Methods for manipulating markers in MarkerUtils - [rename] NullIterator -> EmptyIterator - [rename] EntityIterator -> ChildrenIterator - [rename] EntityReverseIterator -> ChildrenReverseIterator ** Known Issues Changes in version 1.0.0.I20060606 ---------------------------------- ** New features - Added support for model to metamodel pluggable reflection - Cross language support for Code Completion - Added Artifacts language for generating proper package, copyright and license informations - Added Misc language for writing programs with multiple unanticipated languages - Added Templates language for defining template managers - Replaced IL language with Imp Imperative Meta Programming - [Imp] Added support for composite types and for templates on statements - Added two cheat sheets - Mbed has been replaced by Editors + Models - Added JDT compiler for Prototypes and Visitors ** Improvements - Completed migration to JLS3 of generation code for JDT model - Completed migration to OSGi - New API for the Binding Manager - New API for pattern matching supporting the binding manager - The generated PartFactory visitors are no longer singletons - Added navigation method from enum values to enum types - EntityDescriptorEnum extends EnumType - EntityDescriptor type hierarchy and API - Added IEntity.wContainsValue - Added deploy level support for IDeployer - [UI] New non resizable selection border - [UI] Added support for enum values content assist - [UI] Per editor kit Palette and Ouline configuration - [UI] Added support for editor kit default level - [Models] Added Pretty Printer - [UI] The actions for default operations add editor info to operation parameters - Pattern substitute variant recording the substitutions done ** Bugs fixed - [Models] FeatureEnum not generated for models without features - Reference associations change the fragment model - Paste Action not allowed on fragment root - [UI] The selection border of a component sometime prevent insert actions in the composite - [UI] Foldable figures don't hide selection border of descendants - [XML] XML import sets Attribute names to element name - Template factory classes are not reloaded by the DeployerClassLoader - Workaround for languages not yet regenerated (no variable support) - [UI] DnD from palette is now type safe - [XML] import of xml declaration, doctype, comments and processing instructions ** Known Issues - [LanguageDeployer] Replace NewModelBuilderOperation.ID with SpecificBuilderAdapterOperation.ID Changes in version 1.0.0.I20051212 ---------------------------------- ** New features - New core languages: Prototypes, Visitors - New example language: First Order Logic - New Models: RDF and TopicMaps - New BP language: IL imperative language with functions and entities as first class citizen - TEX export operation for Models language ** Improvements - New notation for staged fragments - Added support for figures having multiple content pane parts - Major Context menu reorganization - Added hierarchical strategy for displaying context menu items - Added collapse all action in outline view - Improved Text model - Fragment composition is allowed independently of the ability to perform any operation on the resulting program - Added serial version uid in all generated entities - Smart replace actions (compatible children are preserved) - [Design] Introduced an interface for the CompoundModel - [Design] Separated packages for model implementation and model interfaces - [Design] Introduced an abstract factory for models to support multiple concrete factories - [Design] Added support for multiple implementations of a model - [Models] Default initialization for Date data entity prototype is unset (was set to the current time) - Added support for replace actions that wrap the selected entity with the new one - New notation for resolver entities - Added standard feedback (non resizable handles) for entity selection ** Bugs fixed - fixed Whole builder delay - Replace actions are disabled for composites - [Models] Wrong root entity generation if the first declaration is an alias type - Resolver entities are not supported by generated builders - [Models] Generic wDateValue/wSetValue are not generated for java.util.Date data entities - [Models] An IllegalArgumentException is thrown if an enum value is a resolver - DnD insert action is not allowed for implementations of subtypes of the target component type - Regression: DnD replace action is allowed only for few compatible types - Non unique containers use business identity in place of ordinary object identity - Java5 method called in EntityDescriptor.getResolver() - Regression: fixed cut/paste actions on label's text - Selected color of token text is not visible (white) - Workaround for the null binding commands left when a model is loaded on the editor - Entity resolvers throw ArrayIndexOutOfBoundsException on wGetType(child) - The entity set of entity resolvers is empty after loading the model Changes in version 1.0.0.I20051103 ---------------------------------- ** New features - Added Show As menu for switching editor notation on the fly - Added outline (tree + overview) support - Added support for freeform and autolayout graphical notations - New examples: Flowchart, Workflow, ProcessGraph, BPM - Initial support for Whole nature, builder, and Project Wizards - Initial support for Properties and Palette Views ** Improvements - Refactoring of the Java model - Improved ui presentation of the Models language - added support for many to one entity/editpart mappings - added support for context part in EditPart factory visitors ** Bugs fixed - AbstractEntity.wGetEntityDescription() wrong default implementation - EnumEntity types are ignored by the Models generator - AliasType is ignored by the Models generator - StringUtils.isJavaKeyword not includes primitive types - Removed JavaStoreAction from toolbar - Regression bug in AbstractFragment preheventing metaprogramming with concrete syntaxes - Entity resolvers don't resolve to a composite - Models template types does not introduce a type if an entity is given - Replaced the Text Output View with the standard Console View - Java standard serialization is dependent on language ordinals Changes in version 1.0.0.I20050825 ---------------------------------- ** New features - large refactoring of projects and packages - new modular language for defining models ** Improvements - complete editor generation with textual factory style - refactoring of the Xml model - toString method generation - persistent id support - natural id support (equals, hashcode)

    posted 202 days ago

  • Whole Platform Binaries 1.0.0.v20090422-1345 file released: whole-1.0.0.v20090422-1345-macosx-carbon.tar.gz

    Whole Changelog =============== Changes in version 1.0.0.v20090xxx-xxxx --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Improved test suites of Queries and XSD languages. IDE - [Workflows] Added Choose models dialog for loading models through the Task activity. Frameworks - [Bindings] Added support for result iterator - [Parsers] Added API support for strategies - [UI] Added support for content assist menu (via CTRL+Space) - [UI] Uniformed behavior of horizontal arrow key press on a textual selection to Eclipse text editors. Languages - [Commons] Reorganized and fixed the Interpreter - [Grammars] Added support for parsing BigDecimals and BigIntegers. - [Grammars] Added support for inline definition of unparsing behavior in DataTerminals. - [Queries] Added support for EnumValue, Date, Comparable and Object data types into relational and equality constructs. - [Tests] Added support in generator for AllOf, AnyOf, IsAssignableTo, HasType, HasKind. - [Workflows] Added support for using deployed grammars in Parse/Unparse activities - [XSD] Added model support for Notation and Constraint declarations, foreign language attributes, redefine directive. Notations - [XSD] Added support for Unbounded maxOccurs attribute and foreign attributes. - [XSI] Added support for composite attributes. ** Bugs fixed - [Iterators] Fixed Cartesian iterators. - [Iterators] Fixed repeated calls to IEntityIterator.set. - [Matchers] Fixed pattern matching behavior between patterns. - [Visitors] Fixed stage down behavior (void case) in GenericTemplateInterpreterVisitor. - [Visitors] Fixed variable substitution behavior for void values. - [Actions] Fixed regression on transformations substituting the root entity. - [Grammars] Fixed unparsing of Choose rule. - [Queries] Fixed how variables in ExpressionTest templates affect removal of context variables. - [Queries] Fixed boolean expressions behavior in Equals and NotEquals. - [Queries] Fixed AtFeatureTest with feature URI. - [Queries] Fixed comparison constructs behavior with booleans, objects, enum values, and dates. - [Workflows] Fixed class loading regression in Content Assist and Interpreter. - [XML] Fixed type in the prototype of the Element content feature. - [XML] Fixed escaping of comments. - [XSD] Fixed mapping of complex types with empty content model. - [UI] Fixed editing of data entities with Object datatype. - [UI] Fixed Outline View and behavior of actions after using the Retry button in editor failure status page. Changes in version 1.0.0.v20090206-1802 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Deleted the pm family of languages - Moved Workflows to core - Moved Imp to examples - Moved Flowchart to misc IDE - Improved handling of open model failure - Added Whole Perspective - Added Map view - Added Index view - Added customization of Whole Platform Library - Added support for cut&paste and dnd actions with multiple selected elements Frameworks - [Bindings] Several improvements to binding managers and scopes - [Model] Improved handling and checking of containment relation - [Model] Improved command history and transaction management - [Model] Reduced the history management default scope to the compound model level - [Iterators] Added set related iterators (union, union all, intersect, except) - [Operations] Fragment evaluation with iterator unroll - [Operations] Improved pretty printing with better indentation support on multi-language models - [Comparators]Added comparators for defining entity identity and order - [Util] Added datatype utils for supporting polymorphic expressions - [UI] Added support for creating hyperlinks using entity paths - [UI] Improved content assist API - [UI] Added support for composite parts with reversed children - [UI] Added support for generic hilight figures in hilight policy - [UI] New composite figure shows a placeholder - [UI] Added copy entity path action - [UI] Added Go To Entity Path action - [UI] Improved multiline editing in labels and textual figures - [UI] Wider adoption of textual figures - [UI] Use eclipse proxy configuration if available - [UI] Redirected the Command stack to the Whole history and transaction manager - [UI] Improved animation support - [UI] Reorganization of views, viewers and pages - [UI] Added resource management (colors, fonts, images) support at viewer level - [UI] Improved API for object alignment in layout managers - [UI] Added several new math layout managers and figures Languages - [Actions] Added constructs to build generic context menus with custom actions (primarily used in content assist visitors) - [Artifacts] Added support to synchronize artifacts in memory models with artifacts on filesystem - [Artifacts] Added support for project location URIs in artifacts generator - [Grammars] Added support for custom datatypes and partial parsing of unhandled datatypes - [Queries] Added constructs: AtFeatureTest, AtIndexText, IndexVariableTest - [Queries] Added constructs: union, union all, intersect, except - [Queries] Fixed IndexTest, IndexRangeTest, Distinct, Void - [Workflows] Improved interpreter - [Workflows] Improved whole oriented activities (parse/unparse, load/save, invoke operation, artifacts sync, java activities, model/entity factory) - [Workflows] Added task activity for supporting configurable input dialogs - [Workflows] Improved content assist for file path/resource location and class selection - [Tests] Added unit testing language with: - interpreter (test suite, test cases, tests, aspects) - ability to use filters on matches - filters generator - matches templates auto completion - junit generator - stacktrace with navigable (org.whole.lang.ide) entity locations - [Java] Added support for block and line comments - [Java] Added support for generic events in JavaStoreProducerBuilder - [Java] Added support for generating java code with comments - [Properties] Added interpreter - [Text] Added Interpreter - [SQL] Support for iterable result sets - [SQL] Support for several datatypes (boolean, array, int family types, binary, blob & clob raw) - [SQL] Added support for subqueries in where expression - [SQL] Added IS and IN and BETWEEN expressions - [SQL] Added support for case expressions - [SQL] Several improvements to the pretty print - [Xml] Improved encoding handling and pretty print - [XSD] Improved (re)deploy strategy of xsd models - [XSI] Improved performance on streaming operations Notations - Improved generic outline, text and tree notations - Added generic Table notation - Added support for dynamically styled notations - [Actions] Improved specific notation to support new language constructs - [Flowchart] Improved switch control figure - [Models] Improved tabular notation - [Tests] Added specific notation that mimics a unit test - [Workflows] Completed workflow notation - [RDB] Added a new RDB textual notation - [RDB] Added a new RDB tabular notation - [SQL] Several improvements to the textual notation - [Xml] Improved outline notation - [XSD] Improved notation (more xml oriented) - [XSI] Improved notation (more xml oriented) Changes in version 1.0.0.v20080118-1907 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Added a File menu action for enabling all of the Whole Examples contributions to Eclipse - Added several examples: javadocs, red black tree, csv, annotations, xml, db - Introduced optional dependency from Apache Derby (required by the DB example) IDE - Eclipse 3.3 is required - Added support for native Drag and Drop - Added support for native Cut,Copy and Paste - Added support for Cut action - Added support for Paste As action Frameworks - The frameworks and the generators now use the thread safe variant of the singleton pattern - Completion of the tasks for replacing an absolute staging semantics with a relative one - [Models] Added hasParent and convert methods to EntityUtils - [Iterators] Added several iterators for performing control flow and rewriting behavior with a pull style - [Operations] The I/O of interpreter and pretty printer operations is based on readers and writers - [UI] Added support for dynamic UI additions to Eclipse - [UI] Added a table layout and figure - [UI] Added a tree layout - [UI] Added support for the OpenSymbol TrueType font (boundled) in styled labels - [UI] Major reorganization of the hierarchy of views Languages - [Actions] Added a language for defining toolbar and context menu actions - [Queries] Added control flow constructs: Block, Choose, Foreach, If and Do - [Queries] Added modular constructs: Query declaration and call - [Queries] Added rewriting constructs: CartesianInsert, PointwiseInsert, CartesianUpdate, PointwiseUpdate, Delete - [Queries] Added arithmetic and relational expressions constructs - [Grammars] Added a simple predictive parser generator - [Grammars] Added a grammar based persistence kit - [Java] Added support for javadocs (parsing, unparsing and editing) - [SQL, RDB] Initial release of SQL and RDB languages including a generator from RDB to Models Notations - [Actions] Added a notation similar to the Eclipse UI for toolbars and menus - [Models] Added a specific tabular notation - [Properties] Added a specific tabular notation - [Table] Added a generic AST notation that uses tables to compact regular fragments Changes in version 1.0.0.v20070912-1454 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan ** More relevant changes General - Introduced the updatesite category Whole Platform Enabling Features for facilitating the installation of three optional libraries. - Introduced the updatesite category Whole Platform Extras for more specialized and less used features. - Introduced a new family of languages called Misc including the languages which were on examples - Added an example of source generator using the Queries language - Reorganization of test suites - The dependency from JAXP 1.3 is now optional (JAXP 1.1+ is required by XML) - Introduced optional dependency from Joda Time 1.4 (required by XSD) IDE - Added support for Eclipse launch configurations to configure the variability model of Whole operations Frameworks - [Bindings] Improved toString() for facilitating debugging. - [Bindings] Removed from IBindingScope get/setName methods. - [Bindings] Added Include and Exclude Filter scopes to show only or hide a set of names from an enclosing scope. - [Bindings] Added a Resettable scope for marking and resetting the state of an enclosing scope. - [Builders] Added to the GenericBuilderContext the ability to build a model (fragment) starting from an initial entity event of your choice. - [Builders] Renamed GenericForwardBuilder to GenericForwardStrategyBuilder. - [Builders] Added GenericForwardSpecificBuilder for forwarding generic events to the specific events of the target languages. - [Commons] Added a variable kind, InlineVariable, that is substituted with the children of its value. - [Commons] Added a quantifier feature to variables with the corresponding enumeration entity. - [Commons] Removed the deprecated interfaces and the abstract classes for staged fragments and variables. - [Commons] Added persistence and presentation datatype parsers. - [Commons] Added support for the pretty printer operation. - [Contexts] Added wResetRoot() to the AbstractEntityContext for resetting the context to its root entity and index. - [Iterators] IEntityIterator.add() now has "add before semantics" in all implementations. - [Iterators] Each iterator of a SequenceIterator is now executed in a scope including bindings defined by preceding iterators. - [Matchers] Improved toString() for facilitating debugging of visitors returned by GenericMatcherFactory. - [Matchers] Added GenericMatcherFactory.defineVariable() to create a visitor that binds the self entity to a given name. - [Matchers] Added GenericMatcherFactory.evalTrue() to create a visitor that interpret a given program representing a boolean predicate. - [Matchers] GenericMatcherFactory.substitute() now takes into account both inline variables and variable quantifiers. - [Matchers] Added to Matcher.removeVars() a boolean result for stating that all variables were optional and a force parameter to remove also mandatory variables. - [Model] The dynamic model implementation now takes into account the reference modifier. - [Model] The IEntity.wStringValue() and wSetValue(String) are not anymore a parser/unparser facility (see datatype parsers). - [Parsers] Added a parser/unparser framework for datatypes (in the context of data entities). - [Reflect] Added predicate methods to the enum of data kinds. - [Reflect] Added predicate methods to the enum of entity kinds. - [Reflect] Added ReflectionFactory.getPlatformClassLoader and setUserClassLoader. - [Util] Added DataTypeUtils. - [Util] Improved EntityUtils implementation. - [Util] Added a fresh names generator. - [Util] Improved StringUtils. - [Visitors] Improved toString() for facilitating debugging. - [IDE] The JDTJavaBuilderPersistenceKit now binds available information before calling writeModel(). - [IDE] Added support for transformation actions based on the Queries language. - [IDE] Improved controls for choosing models, packages and classes. - [IDE] The WholeClasspathContainer now includes "enabling features" libraries if installed. - [IDE] Added a wizard for importing a Java class into a Java Model. - [UI] Improved icons for actions and editors. - [UI] Added support for Whole based "source" and "refactor" context menus. - [UI] Text commands now replace the data not the data entity. - [UI] Replace commands are more generic and better named. - [UI] AbstractEditorKit.getKeyHandler() always returns a key handler (no null). - [UI] In the value assist menu, enumerations of symbols are sorted by enum ordinal. - [UI] Added support for animation in editors - [UI] Improved the hierarchy of editpart classes - [UI] direct caret editing is much more used than before in all languages. - [UI] Per datatype commands, editpolicies and editparts are no longer necessary. Languages - [Java] Added the ability to reverse engineer a java source or a java class to the corresponding java model (via builder events). - [Java] Added a Bean Shell based Java interpreter. - [Pojo] Improved the Pojo model to better support the Java library integration use case. - [Pojo] Added a reverse engineering template factory. - [Pojo] Added a Pojo to Models transformation. - [Pojo] Added PojoUtils to automate translations from/to a Java library model and its correspondant Whole based model. - [Queries] The select construct is now more oriented to perform demand driven model transformations. - [Scripts] Added Scripts in legacy for integrating languages based on the Java 6 scripting API. - [Semantics] Added a language for writing the semantics of a language. - [XSD] Improvements to be more close to the standard. Notations - [Commons] Stage fragments figures are also differentiated by an icon. - [Commons] Variables have a new collapsable figure. - [Java] Operators are now showed with their standard symbols. - [XSD] Added an XSD specific outline notation. - [XSI] Added an XSI specific outline notation close to the corresponding XML but of course with content assist. ** Bugs fixed - [Bindings] Adding a scope s to its enclosing scope, calling wAddAll, (re)define all names in s to the local scope of the enclosing scope. - [Builders] The GenericBuilderContext does not forward wFeature() events to the builder strategy. - [Builders] The ModelBuilder wCloneFeature() method try to clone the feature of the adapter instead of the adaptee. - [Iterators] AncestorIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.hasNext() should return false if the entity is null. - [Iterators] After calling ChildIterator.remove() on a composite the nextIndex is wrong. - [Iterators] ChildReverseIterator.lookahead() should return null if the entity is null. - [Iterators] ChildReverseIterator.hasNext() should return false if the entity is null. - [Iterators] ComposeIterator.updateIterators() fails without trying all valid combinations. - [Iterators] TopDownIterator.remove() fails to update the state sometime. - [Matchers] GenericMatcher.matchEntityResolver() should check if the pattern has a feature before performing the test on the model. - [Matchers] Deprecated GenericMatcherFactory.addSubsitute(). Use substitute() and InlineVariables instead. - [Matchers] Matcher.removeVars() loose checking some entities (due to the use of a topDown iterator). - [Model] Change notification from a null value Object data entity may fail with a NullPointerException. - [Model] The IEntity.wShallowClone() leaves the fragment model of the prototype when applyied to an adapter. - [Reflect] Adding a language kit does not update the editor and persistence kits. - [Reflect] Adding a persistence kit should have a replace behavior when an older version of the persistence kit is already deployed. - [Visitor] The GenericTemplateInterpreterVisitor looses some data. - [Visitor] The GenericTraverseParentVisitor does not stop to the RootEntity. - [UI] Save as does not work if the file already exists. - [Java] ThisExpression entity should mark as optional the "qualifier" feature. - [Java] The pretty printer assumes that there are no adapters when printing data features. - [Queries] Several bugs fixed in the PathExpression2IteratorVisitor and in iterators. ** API changes - [Events] HistoryEventHandler.setEnabled() returns the old status. - Removed getClassLoader() from the WholePlugin class (see ReflectionFactory)). Changes in version 1.0.0.v20070403-1644 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?projectId=10000&styleName=Html&version=10002 ** More relevant changes Frameworks - [Bindings] Extracted IBindingScope from IBindingManager - [Bindings] Added wAddAll to IBindingScope - [Bindings] Added better support for static scopes - [Bindings] Added IBindingManager support to IPersistenceProvider - [Iterators] Added support for mark/reset and lookaheadScope in IEntityIterator - [Iterators] Added several implementations to support iteration over all XPath axes - [Matchers] Added isAssignable/isAssignableImpl predicates - [Matchers] Added matchers for supporting XPath like predicates - [Models] Generilized wResolveWith method to IEntity - [Models] Removed from IEntity the responsibility for changing the features of a SimpleEntity - [Models] The semantics of wRemove on simple entities has changed to replace with resolver - [Operations] Renamed and reorganized AbstractOperation environments - [Operations] Added result bindings to the Interpreter operation methods - [Reflect] Added methods for dynamic manipulation of languages in EntityDescriptor - [Reflect] Added support to dataEnumType property - [Reflect] ReflectionFactory added methods for mapping EntityDescriptors and FeatureDescriptors to/from qualified names - [IDE] Added a Normalizer action - [UI] Added text editing support (command, editpolicies, parts, palette, tools) - [UI] Added support for text actions in IActionFactory - [UI] Renamed Placeholder the actions for replacing/adding a resolver Languages - [Commons] Added support for Interpreter operation - [Imp] The Equals and NotEquals entities now work also on strings - [Grammars] Added a data integration language - [Queries] Added a query language - [Java] Improved the pretty printer - [Java] Improved the model trasformations from/to JDT DOM model - [Models] Completed the interpreter for hot deploying of models - [Models] Added a default entity registry configuration - [Text] Added support for textual editing (with the text tool) - [XML] Added a normalizer and a pretty printer in streaming - [XSD] Added the XML Schema Definition language Notations - [Grammars] Added a graphical notation - [Queries] Added a notation - [Math] Many improvements to become the main generic notation to extend - [Outline] Improved and more configurable and reusable ** Bugs fixed - matchers should change bindings only if match succedes - iterators hasNext and lookahead methods should not change bindings - The FeatureDescriptorEnum equals method should check for same language - [UI] Fixed connection commands ** API changes - [rename] org.whole.lang.processes to org.whole.lang.bindings - [rename] AbstractOperation environments constants and accessors - [rename] org.whole.notation to org.whole.lang.ui.notations - [rename] org.whole.notation.treemapper to org.whole.lang.ui.notations.ast - [rename] org.whole.notation.factory to org.whole.lang.ui.notations.ast - The ICommonsBuilder Variable method requires a qualified name for entity descriptors - Replaced the EBNF language with Grammars Changes in version 1.0.0.v20061114-1709 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?version=10001&styleName=Html&projectId=10000&Create=Create ** More relevant changes General - Reorganization of the project sources to separate the runtime and generators from code with Eclipse dependencies - Major API changes in all the Whole frameworks to take advantage of Java 5 features: generics, foreach, varargs and autoboxing IDE - Better integration of the Whole IDE with Eclipse features: Cheat Sheets, project wizards, Search and Find dialogs, Import and Export wizards, Tabbed Properties View, Problems View, Details views, and classpath container for Whole Platform libraries - Add generic support for goto location in Problems and Find/Replace views - Add generic support for Search and Find dialogs using domain notations Frameworks - [Factories] Major redesign of creational patterns. Replace the old language factories and the old prototype managers with a single factory style API backed by a configurable prototype style registry of entities - [Models] Added support for the pluggable, two-way Object Adapter Pattern - [Models] The Whole flavor of the Null Object Pattern - resolver entities - now features a specific interface (via adapters) and the ability to behave as expected even after entity resolution - [Matchers] Added findChild and findAncestor methods (by kind, descriptor or pattern) - [Matchers] Added rewrite matcher visitor - [Visitors] Add fixpoint traversal strategies: reduce, outermost, innermost. Add change aware traversal visitors. Add support for Strategy Pattern - [Iterators] Added set/add/remove support to iterators - [Iterators] Added derived AncestorScannerIterator and AncestorMatcherIterator Languages - [Models] Added support for multiple inheritance, and for the abstract modifier - [Commons] Added a new language for grouping all constructs common to all languages such as resolvers, variables and fragments. - [Artifacts] Added support for persistence kit selection. - [Properties] Added a new language for defining sets of name-value pairs Notations - Added support for pluggable generic notations. - Added a generic textual Factory notation and a graphical tree notation Changes in version 1.0.0.I20060707 ---------------------------------- ** New features - [Visitors] new visitor combinators (collect, traverseParent, traverseCollection, not) - [Iterators] Added Scanner iterator combinator with an API similar to Java 5 Scanner - [Iterators] Added Matcher iterator combinator to iterate over the matches found - [Iterators] Added Ancestor iterator (with reverse variant) - [LANGS] Added a new modeling language (Pojo) replacing the old Mbed - [UI] Added support for (GEF) Details views (Parma, Solmi) - [UI] Added support for (GEF) viewers in Dialogs and Forms (Parma, Solmi) ** Improvements - [Matchers] Type, Kind and Pattern matchers now works inside visitors - [Iterators] IEntityIterator is now an extension of the standard Iterator interface - [Iterators] Added foreach support. IEntityIterator is now an extension of the standard Iterable interface - [Editors] Added rt for tabbed properties (Parma) - Speed improvements on some StringUtils methods - Thesupport for title image decorators (Parma) - [model] Resolver.wResolve performs auto unboxing if needed - [UI] Added suppo Java Compiler action uses the current project and package as prefix for generated code - Introduced an InternalIEntity interface for internal methods - [Models] Added support for placeholder types ** Bugs fixed - [UI] Editor Resource tracker fails to update observers (Parma) - [UI] Editor Resource tracker reloads the model even on marker changes (Parma) - [Visitors] traverseOne does not fail when all children fail - [UI 1505225] NullPointerException in LabelDirectEditManager - [persistence] XmlBuilderPersistenceKit encoding error (D'Errico) - [model] ClassCastException when resolving (Resolver.wResolve) a non primitive datatype - Models generator fails with ambiguous class names (java.lang) - [UI] The root element is stretched orizontally - [UI] The folding button does not work on the root element - [PrototypeManager] The put prototype does not register the prototype by name - IllegalArgumentException when the java.lang.String (qualified) is used in a data entity - Missing features of a simple entity when the entity is a type of another entity ** API changes - Java 5 is required - [rename] VisitFailException -> VisitException - [signature] Matcher.match(EntityDescriptor descriptor, String name, IEntity model, IBindingManager bindings) -> Matcher.match(EntityDescriptor descriptor, IEntity model, IBindingManager bindings, String name) - [Signature] IEntityIterator.wHasNext(),_.wNext() -> hasNext(),next() - [Move] Methods for manipulating markers in MarkerUtils - [rename] NullIterator -> EmptyIterator - [rename] EntityIterator -> ChildrenIterator - [rename] EntityReverseIterator -> ChildrenReverseIterator ** Known Issues Changes in version 1.0.0.I20060606 ---------------------------------- ** New features - Added support for model to metamodel pluggable reflection - Cross language support for Code Completion - Added Artifacts language for generating proper package, copyright and license informations - Added Misc language for writing programs with multiple unanticipated languages - Added Templates language for defining template managers - Replaced IL language with Imp Imperative Meta Programming - [Imp] Added support for composite types and for templates on statements - Added two cheat sheets - Mbed has been replaced by Editors + Models - Added JDT compiler for Prototypes and Visitors ** Improvements - Completed migration to JLS3 of generation code for JDT model - Completed migration to OSGi - New API for the Binding Manager - New API for pattern matching supporting the binding manager - The generated PartFactory visitors are no longer singletons - Added navigation method from enum values to enum types - EntityDescriptorEnum extends EnumType - EntityDescriptor type hierarchy and API - Added IEntity.wContainsValue - Added deploy level support for IDeployer - [UI] New non resizable selection border - [UI] Added support for enum values content assist - [UI] Per editor kit Palette and Ouline configuration - [UI] Added support for editor kit default level - [Models] Added Pretty Printer - [UI] The actions for default operations add editor info to operation parameters - Pattern substitute variant recording the substitutions done ** Bugs fixed - [Models] FeatureEnum not generated for models without features - Reference associations change the fragment model - Paste Action not allowed on fragment root - [UI] The selection border of a component sometime prevent insert actions in the composite - [UI] Foldable figures don't hide selection border of descendants - [XML] XML import sets Attribute names to element name - Template factory classes are not reloaded by the DeployerClassLoader - Workaround for languages not yet regenerated (no variable support) - [UI] DnD from palette is now type safe - [XML] import of xml declaration, doctype, comments and processing instructions ** Known Issues - [LanguageDeployer] Replace NewModelBuilderOperation.ID with SpecificBuilderAdapterOperation.ID Changes in version 1.0.0.I20051212 ---------------------------------- ** New features - New core languages: Prototypes, Visitors - New example language: First Order Logic - New Models: RDF and TopicMaps - New BP language: IL imperative language with functions and entities as first class citizen - TEX export operation for Models language ** Improvements - New notation for staged fragments - Added support for figures having multiple content pane parts - Major Context menu reorganization - Added hierarchical strategy for displaying context menu items - Added collapse all action in outline view - Improved Text model - Fragment composition is allowed independently of the ability to perform any operation on the resulting program - Added serial version uid in all generated entities - Smart replace actions (compatible children are preserved) - [Design] Introduced an interface for the CompoundModel - [Design] Separated packages for model implementation and model interfaces - [Design] Introduced an abstract factory for models to support multiple concrete factories - [Design] Added support for multiple implementations of a model - [Models] Default initialization for Date data entity prototype is unset (was set to the current time) - Added support for replace actions that wrap the selected entity with the new one - New notation for resolver entities - Added standard feedback (non resizable handles) for entity selection ** Bugs fixed - fixed Whole builder delay - Replace actions are disabled for composites - [Models] Wrong root entity generation if the first declaration is an alias type - Resolver entities are not supported by generated builders - [Models] Generic wDateValue/wSetValue are not generated for java.util.Date data entities - [Models] An IllegalArgumentException is thrown if an enum value is a resolver - DnD insert action is not allowed for implementations of subtypes of the target component type - Regression: DnD replace action is allowed only for few compatible types - Non unique containers use business identity in place of ordinary object identity - Java5 method called in EntityDescriptor.getResolver() - Regression: fixed cut/paste actions on label's text - Selected color of token text is not visible (white) - Workaround for the null binding commands left when a model is loaded on the editor - Entity resolvers throw ArrayIndexOutOfBoundsException on wGetType(child) - The entity set of entity resolvers is empty after loading the model Changes in version 1.0.0.I20051103 ---------------------------------- ** New features - Added Show As menu for switching editor notation on the fly - Added outline (tree + overview) support - Added support for freeform and autolayout graphical notations - New examples: Flowchart, Workflow, ProcessGraph, BPM - Initial support for Whole nature, builder, and Project Wizards - Initial support for Properties and Palette Views ** Improvements - Refactoring of the Java model - Improved ui presentation of the Models language - added support for many to one entity/editpart mappings - added support for context part in EditPart factory visitors ** Bugs fixed - AbstractEntity.wGetEntityDescription() wrong default implementation - EnumEntity types are ignored by the Models generator - AliasType is ignored by the Models generator - StringUtils.isJavaKeyword not includes primitive types - Removed JavaStoreAction from toolbar - Regression bug in AbstractFragment preheventing metaprogramming with concrete syntaxes - Entity resolvers don't resolve to a composite - Models template types does not introduce a type if an entity is given - Replaced the Text Output View with the standard Console View - Java standard serialization is dependent on language ordinals Changes in version 1.0.0.I20050825 ---------------------------------- ** New features - large refactoring of projects and packages - new modular language for defining models ** Improvements - complete editor generation with textual factory style - refactoring of the Xml model - toString method generation - persistent id support - natural id support (equals, hashcode)

    posted 202 days ago

  • Whole Platform Binaries 1.0.0.v20090422-1345 file released: whole-1.0.0.v20090422-1345-linux-gtk.tar.gz

    Whole Changelog =============== Changes in version 1.0.0.v20090xxx-xxxx --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Improved test suites of Queries and XSD languages. IDE - [Workflows] Added Choose models dialog for loading models through the Task activity. Frameworks - [Bindings] Added support for result iterator - [Parsers] Added API support for strategies - [UI] Added support for content assist menu (via CTRL+Space) - [UI] Uniformed behavior of horizontal arrow key press on a textual selection to Eclipse text editors. Languages - [Commons] Reorganized and fixed the Interpreter - [Grammars] Added support for parsing BigDecimals and BigIntegers. - [Grammars] Added support for inline definition of unparsing behavior in DataTerminals. - [Queries] Added support for EnumValue, Date, Comparable and Object data types into relational and equality constructs. - [Tests] Added support in generator for AllOf, AnyOf, IsAssignableTo, HasType, HasKind. - [Workflows] Added support for using deployed grammars in Parse/Unparse activities - [XSD] Added model support for Notation and Constraint declarations, foreign language attributes, redefine directive. Notations - [XSD] Added support for Unbounded maxOccurs attribute and foreign attributes. - [XSI] Added support for composite attributes. ** Bugs fixed - [Iterators] Fixed Cartesian iterators. - [Iterators] Fixed repeated calls to IEntityIterator.set. - [Matchers] Fixed pattern matching behavior between patterns. - [Visitors] Fixed stage down behavior (void case) in GenericTemplateInterpreterVisitor. - [Visitors] Fixed variable substitution behavior for void values. - [Actions] Fixed regression on transformations substituting the root entity. - [Grammars] Fixed unparsing of Choose rule. - [Queries] Fixed how variables in ExpressionTest templates affect removal of context variables. - [Queries] Fixed boolean expressions behavior in Equals and NotEquals. - [Queries] Fixed AtFeatureTest with feature URI. - [Queries] Fixed comparison constructs behavior with booleans, objects, enum values, and dates. - [Workflows] Fixed class loading regression in Content Assist and Interpreter. - [XML] Fixed type in the prototype of the Element content feature. - [XML] Fixed escaping of comments. - [XSD] Fixed mapping of complex types with empty content model. - [UI] Fixed editing of data entities with Object datatype. - [UI] Fixed Outline View and behavior of actions after using the Retry button in editor failure status page. Changes in version 1.0.0.v20090206-1802 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Deleted the pm family of languages - Moved Workflows to core - Moved Imp to examples - Moved Flowchart to misc IDE - Improved handling of open model failure - Added Whole Perspective - Added Map view - Added Index view - Added customization of Whole Platform Library - Added support for cut&paste and dnd actions with multiple selected elements Frameworks - [Bindings] Several improvements to binding managers and scopes - [Model] Improved handling and checking of containment relation - [Model] Improved command history and transaction management - [Model] Reduced the history management default scope to the compound model level - [Iterators] Added set related iterators (union, union all, intersect, except) - [Operations] Fragment evaluation with iterator unroll - [Operations] Improved pretty printing with better indentation support on multi-language models - [Comparators]Added comparators for defining entity identity and order - [Util] Added datatype utils for supporting polymorphic expressions - [UI] Added support for creating hyperlinks using entity paths - [UI] Improved content assist API - [UI] Added support for composite parts with reversed children - [UI] Added support for generic hilight figures in hilight policy - [UI] New composite figure shows a placeholder - [UI] Added copy entity path action - [UI] Added Go To Entity Path action - [UI] Improved multiline editing in labels and textual figures - [UI] Wider adoption of textual figures - [UI] Use eclipse proxy configuration if available - [UI] Redirected the Command stack to the Whole history and transaction manager - [UI] Improved animation support - [UI] Reorganization of views, viewers and pages - [UI] Added resource management (colors, fonts, images) support at viewer level - [UI] Improved API for object alignment in layout managers - [UI] Added several new math layout managers and figures Languages - [Actions] Added constructs to build generic context menus with custom actions (primarily used in content assist visitors) - [Artifacts] Added support to synchronize artifacts in memory models with artifacts on filesystem - [Artifacts] Added support for project location URIs in artifacts generator - [Grammars] Added support for custom datatypes and partial parsing of unhandled datatypes - [Queries] Added constructs: AtFeatureTest, AtIndexText, IndexVariableTest - [Queries] Added constructs: union, union all, intersect, except - [Queries] Fixed IndexTest, IndexRangeTest, Distinct, Void - [Workflows] Improved interpreter - [Workflows] Improved whole oriented activities (parse/unparse, load/save, invoke operation, artifacts sync, java activities, model/entity factory) - [Workflows] Added task activity for supporting configurable input dialogs - [Workflows] Improved content assist for file path/resource location and class selection - [Tests] Added unit testing language with: - interpreter (test suite, test cases, tests, aspects) - ability to use filters on matches - filters generator - matches templates auto completion - junit generator - stacktrace with navigable (org.whole.lang.ide) entity locations - [Java] Added support for block and line comments - [Java] Added support for generic events in JavaStoreProducerBuilder - [Java] Added support for generating java code with comments - [Properties] Added interpreter - [Text] Added Interpreter - [SQL] Support for iterable result sets - [SQL] Support for several datatypes (boolean, array, int family types, binary, blob & clob raw) - [SQL] Added support for subqueries in where expression - [SQL] Added IS and IN and BETWEEN expressions - [SQL] Added support for case expressions - [SQL] Several improvements to the pretty print - [Xml] Improved encoding handling and pretty print - [XSD] Improved (re)deploy strategy of xsd models - [XSI] Improved performance on streaming operations Notations - Improved generic outline, text and tree notations - Added generic Table notation - Added support for dynamically styled notations - [Actions] Improved specific notation to support new language constructs - [Flowchart] Improved switch control figure - [Models] Improved tabular notation - [Tests] Added specific notation that mimics a unit test - [Workflows] Completed workflow notation - [RDB] Added a new RDB textual notation - [RDB] Added a new RDB tabular notation - [SQL] Several improvements to the textual notation - [Xml] Improved outline notation - [XSD] Improved notation (more xml oriented) - [XSI] Improved notation (more xml oriented) Changes in version 1.0.0.v20080118-1907 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Added a File menu action for enabling all of the Whole Examples contributions to Eclipse - Added several examples: javadocs, red black tree, csv, annotations, xml, db - Introduced optional dependency from Apache Derby (required by the DB example) IDE - Eclipse 3.3 is required - Added support for native Drag and Drop - Added support for native Cut,Copy and Paste - Added support for Cut action - Added support for Paste As action Frameworks - The frameworks and the generators now use the thread safe variant of the singleton pattern - Completion of the tasks for replacing an absolute staging semantics with a relative one - [Models] Added hasParent and convert methods to EntityUtils - [Iterators] Added several iterators for performing control flow and rewriting behavior with a pull style - [Operations] The I/O of interpreter and pretty printer operations is based on readers and writers - [UI] Added support for dynamic UI additions to Eclipse - [UI] Added a table layout and figure - [UI] Added a tree layout - [UI] Added support for the OpenSymbol TrueType font (boundled) in styled labels - [UI] Major reorganization of the hierarchy of views Languages - [Actions] Added a language for defining toolbar and context menu actions - [Queries] Added control flow constructs: Block, Choose, Foreach, If and Do - [Queries] Added modular constructs: Query declaration and call - [Queries] Added rewriting constructs: CartesianInsert, PointwiseInsert, CartesianUpdate, PointwiseUpdate, Delete - [Queries] Added arithmetic and relational expressions constructs - [Grammars] Added a simple predictive parser generator - [Grammars] Added a grammar based persistence kit - [Java] Added support for javadocs (parsing, unparsing and editing) - [SQL, RDB] Initial release of SQL and RDB languages including a generator from RDB to Models Notations - [Actions] Added a notation similar to the Eclipse UI for toolbars and menus - [Models] Added a specific tabular notation - [Properties] Added a specific tabular notation - [Table] Added a generic AST notation that uses tables to compact regular fragments Changes in version 1.0.0.v20070912-1454 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan ** More relevant changes General - Introduced the updatesite category Whole Platform Enabling Features for facilitating the installation of three optional libraries. - Introduced the updatesite category Whole Platform Extras for more specialized and less used features. - Introduced a new family of languages called Misc including the languages which were on examples - Added an example of source generator using the Queries language - Reorganization of test suites - The dependency from JAXP 1.3 is now optional (JAXP 1.1+ is required by XML) - Introduced optional dependency from Joda Time 1.4 (required by XSD) IDE - Added support for Eclipse launch configurations to configure the variability model of Whole operations Frameworks - [Bindings] Improved toString() for facilitating debugging. - [Bindings] Removed from IBindingScope get/setName methods. - [Bindings] Added Include and Exclude Filter scopes to show only or hide a set of names from an enclosing scope. - [Bindings] Added a Resettable scope for marking and resetting the state of an enclosing scope. - [Builders] Added to the GenericBuilderContext the ability to build a model (fragment) starting from an initial entity event of your choice. - [Builders] Renamed GenericForwardBuilder to GenericForwardStrategyBuilder. - [Builders] Added GenericForwardSpecificBuilder for forwarding generic events to the specific events of the target languages. - [Commons] Added a variable kind, InlineVariable, that is substituted with the children of its value. - [Commons] Added a quantifier feature to variables with the corresponding enumeration entity. - [Commons] Removed the deprecated interfaces and the abstract classes for staged fragments and variables. - [Commons] Added persistence and presentation datatype parsers. - [Commons] Added support for the pretty printer operation. - [Contexts] Added wResetRoot() to the AbstractEntityContext for resetting the context to its root entity and index. - [Iterators] IEntityIterator.add() now has "add before semantics" in all implementations. - [Iterators] Each iterator of a SequenceIterator is now executed in a scope including bindings defined by preceding iterators. - [Matchers] Improved toString() for facilitating debugging of visitors returned by GenericMatcherFactory. - [Matchers] Added GenericMatcherFactory.defineVariable() to create a visitor that binds the self entity to a given name. - [Matchers] Added GenericMatcherFactory.evalTrue() to create a visitor that interpret a given program representing a boolean predicate. - [Matchers] GenericMatcherFactory.substitute() now takes into account both inline variables and variable quantifiers. - [Matchers] Added to Matcher.removeVars() a boolean result for stating that all variables were optional and a force parameter to remove also mandatory variables. - [Model] The dynamic model implementation now takes into account the reference modifier. - [Model] The IEntity.wStringValue() and wSetValue(String) are not anymore a parser/unparser facility (see datatype parsers). - [Parsers] Added a parser/unparser framework for datatypes (in the context of data entities). - [Reflect] Added predicate methods to the enum of data kinds. - [Reflect] Added predicate methods to the enum of entity kinds. - [Reflect] Added ReflectionFactory.getPlatformClassLoader and setUserClassLoader. - [Util] Added DataTypeUtils. - [Util] Improved EntityUtils implementation. - [Util] Added a fresh names generator. - [Util] Improved StringUtils. - [Visitors] Improved toString() for facilitating debugging. - [IDE] The JDTJavaBuilderPersistenceKit now binds available information before calling writeModel(). - [IDE] Added support for transformation actions based on the Queries language. - [IDE] Improved controls for choosing models, packages and classes. - [IDE] The WholeClasspathContainer now includes "enabling features" libraries if installed. - [IDE] Added a wizard for importing a Java class into a Java Model. - [UI] Improved icons for actions and editors. - [UI] Added support for Whole based "source" and "refactor" context menus. - [UI] Text commands now replace the data not the data entity. - [UI] Replace commands are more generic and better named. - [UI] AbstractEditorKit.getKeyHandler() always returns a key handler (no null). - [UI] In the value assist menu, enumerations of symbols are sorted by enum ordinal. - [UI] Added support for animation in editors - [UI] Improved the hierarchy of editpart classes - [UI] direct caret editing is much more used than before in all languages. - [UI] Per datatype commands, editpolicies and editparts are no longer necessary. Languages - [Java] Added the ability to reverse engineer a java source or a java class to the corresponding java model (via builder events). - [Java] Added a Bean Shell based Java interpreter. - [Pojo] Improved the Pojo model to better support the Java library integration use case. - [Pojo] Added a reverse engineering template factory. - [Pojo] Added a Pojo to Models transformation. - [Pojo] Added PojoUtils to automate translations from/to a Java library model and its correspondant Whole based model. - [Queries] The select construct is now more oriented to perform demand driven model transformations. - [Scripts] Added Scripts in legacy for integrating languages based on the Java 6 scripting API. - [Semantics] Added a language for writing the semantics of a language. - [XSD] Improvements to be more close to the standard. Notations - [Commons] Stage fragments figures are also differentiated by an icon. - [Commons] Variables have a new collapsable figure. - [Java] Operators are now showed with their standard symbols. - [XSD] Added an XSD specific outline notation. - [XSI] Added an XSI specific outline notation close to the corresponding XML but of course with content assist. ** Bugs fixed - [Bindings] Adding a scope s to its enclosing scope, calling wAddAll, (re)define all names in s to the local scope of the enclosing scope. - [Builders] The GenericBuilderContext does not forward wFeature() events to the builder strategy. - [Builders] The ModelBuilder wCloneFeature() method try to clone the feature of the adapter instead of the adaptee. - [Iterators] AncestorIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.hasNext() should return false if the entity is null. - [Iterators] After calling ChildIterator.remove() on a composite the nextIndex is wrong. - [Iterators] ChildReverseIterator.lookahead() should return null if the entity is null. - [Iterators] ChildReverseIterator.hasNext() should return false if the entity is null. - [Iterators] ComposeIterator.updateIterators() fails without trying all valid combinations. - [Iterators] TopDownIterator.remove() fails to update the state sometime. - [Matchers] GenericMatcher.matchEntityResolver() should check if the pattern has a feature before performing the test on the model. - [Matchers] Deprecated GenericMatcherFactory.addSubsitute(). Use substitute() and InlineVariables instead. - [Matchers] Matcher.removeVars() loose checking some entities (due to the use of a topDown iterator). - [Model] Change notification from a null value Object data entity may fail with a NullPointerException. - [Model] The IEntity.wShallowClone() leaves the fragment model of the prototype when applyied to an adapter. - [Reflect] Adding a language kit does not update the editor and persistence kits. - [Reflect] Adding a persistence kit should have a replace behavior when an older version of the persistence kit is already deployed. - [Visitor] The GenericTemplateInterpreterVisitor looses some data. - [Visitor] The GenericTraverseParentVisitor does not stop to the RootEntity. - [UI] Save as does not work if the file already exists. - [Java] ThisExpression entity should mark as optional the "qualifier" feature. - [Java] The pretty printer assumes that there are no adapters when printing data features. - [Queries] Several bugs fixed in the PathExpression2IteratorVisitor and in iterators. ** API changes - [Events] HistoryEventHandler.setEnabled() returns the old status. - Removed getClassLoader() from the WholePlugin class (see ReflectionFactory)). Changes in version 1.0.0.v20070403-1644 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?projectId=10000&styleName=Html&version=10002 ** More relevant changes Frameworks - [Bindings] Extracted IBindingScope from IBindingManager - [Bindings] Added wAddAll to IBindingScope - [Bindings] Added better support for static scopes - [Bindings] Added IBindingManager support to IPersistenceProvider - [Iterators] Added support for mark/reset and lookaheadScope in IEntityIterator - [Iterators] Added several implementations to support iteration over all XPath axes - [Matchers] Added isAssignable/isAssignableImpl predicates - [Matchers] Added matchers for supporting XPath like predicates - [Models] Generilized wResolveWith method to IEntity - [Models] Removed from IEntity the responsibility for changing the features of a SimpleEntity - [Models] The semantics of wRemove on simple entities has changed to replace with resolver - [Operations] Renamed and reorganized AbstractOperation environments - [Operations] Added result bindings to the Interpreter operation methods - [Reflect] Added methods for dynamic manipulation of languages in EntityDescriptor - [Reflect] Added support to dataEnumType property - [Reflect] ReflectionFactory added methods for mapping EntityDescriptors and FeatureDescriptors to/from qualified names - [IDE] Added a Normalizer action - [UI] Added text editing support (command, editpolicies, parts, palette, tools) - [UI] Added support for text actions in IActionFactory - [UI] Renamed Placeholder the actions for replacing/adding a resolver Languages - [Commons] Added support for Interpreter operation - [Imp] The Equals and NotEquals entities now work also on strings - [Grammars] Added a data integration language - [Queries] Added a query language - [Java] Improved the pretty printer - [Java] Improved the model trasformations from/to JDT DOM model - [Models] Completed the interpreter for hot deploying of models - [Models] Added a default entity registry configuration - [Text] Added support for textual editing (with the text tool) - [XML] Added a normalizer and a pretty printer in streaming - [XSD] Added the XML Schema Definition language Notations - [Grammars] Added a graphical notation - [Queries] Added a notation - [Math] Many improvements to become the main generic notation to extend - [Outline] Improved and more configurable and reusable ** Bugs fixed - matchers should change bindings only if match succedes - iterators hasNext and lookahead methods should not change bindings - The FeatureDescriptorEnum equals method should check for same language - [UI] Fixed connection commands ** API changes - [rename] org.whole.lang.processes to org.whole.lang.bindings - [rename] AbstractOperation environments constants and accessors - [rename] org.whole.notation to org.whole.lang.ui.notations - [rename] org.whole.notation.treemapper to org.whole.lang.ui.notations.ast - [rename] org.whole.notation.factory to org.whole.lang.ui.notations.ast - The ICommonsBuilder Variable method requires a qualified name for entity descriptors - Replaced the EBNF language with Grammars Changes in version 1.0.0.v20061114-1709 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?version=10001&styleName=Html&projectId=10000&Create=Create ** More relevant changes General - Reorganization of the project sources to separate the runtime and generators from code with Eclipse dependencies - Major API changes in all the Whole frameworks to take advantage of Java 5 features: generics, foreach, varargs and autoboxing IDE - Better integration of the Whole IDE with Eclipse features: Cheat Sheets, project wizards, Search and Find dialogs, Import and Export wizards, Tabbed Properties View, Problems View, Details views, and classpath container for Whole Platform libraries - Add generic support for goto location in Problems and Find/Replace views - Add generic support for Search and Find dialogs using domain notations Frameworks - [Factories] Major redesign of creational patterns. Replace the old language factories and the old prototype managers with a single factory style API backed by a configurable prototype style registry of entities - [Models] Added support for the pluggable, two-way Object Adapter Pattern - [Models] The Whole flavor of the Null Object Pattern - resolver entities - now features a specific interface (via adapters) and the ability to behave as expected even after entity resolution - [Matchers] Added findChild and findAncestor methods (by kind, descriptor or pattern) - [Matchers] Added rewrite matcher visitor - [Visitors] Add fixpoint traversal strategies: reduce, outermost, innermost. Add change aware traversal visitors. Add support for Strategy Pattern - [Iterators] Added set/add/remove support to iterators - [Iterators] Added derived AncestorScannerIterator and AncestorMatcherIterator Languages - [Models] Added support for multiple inheritance, and for the abstract modifier - [Commons] Added a new language for grouping all constructs common to all languages such as resolvers, variables and fragments. - [Artifacts] Added support for persistence kit selection. - [Properties] Added a new language for defining sets of name-value pairs Notations - Added support for pluggable generic notations. - Added a generic textual Factory notation and a graphical tree notation Changes in version 1.0.0.I20060707 ---------------------------------- ** New features - [Visitors] new visitor combinators (collect, traverseParent, traverseCollection, not) - [Iterators] Added Scanner iterator combinator with an API similar to Java 5 Scanner - [Iterators] Added Matcher iterator combinator to iterate over the matches found - [Iterators] Added Ancestor iterator (with reverse variant) - [LANGS] Added a new modeling language (Pojo) replacing the old Mbed - [UI] Added support for (GEF) Details views (Parma, Solmi) - [UI] Added support for (GEF) viewers in Dialogs and Forms (Parma, Solmi) ** Improvements - [Matchers] Type, Kind and Pattern matchers now works inside visitors - [Iterators] IEntityIterator is now an extension of the standard Iterator interface - [Iterators] Added foreach support. IEntityIterator is now an extension of the standard Iterable interface - [Editors] Added rt for tabbed properties (Parma) - Speed improvements on some StringUtils methods - Thesupport for title image decorators (Parma) - [model] Resolver.wResolve performs auto unboxing if needed - [UI] Added suppo Java Compiler action uses the current project and package as prefix for generated code - Introduced an InternalIEntity interface for internal methods - [Models] Added support for placeholder types ** Bugs fixed - [UI] Editor Resource tracker fails to update observers (Parma) - [UI] Editor Resource tracker reloads the model even on marker changes (Parma) - [Visitors] traverseOne does not fail when all children fail - [UI 1505225] NullPointerException in LabelDirectEditManager - [persistence] XmlBuilderPersistenceKit encoding error (D'Errico) - [model] ClassCastException when resolving (Resolver.wResolve) a non primitive datatype - Models generator fails with ambiguous class names (java.lang) - [UI] The root element is stretched orizontally - [UI] The folding button does not work on the root element - [PrototypeManager] The put prototype does not register the prototype by name - IllegalArgumentException when the java.lang.String (qualified) is used in a data entity - Missing features of a simple entity when the entity is a type of another entity ** API changes - Java 5 is required - [rename] VisitFailException -> VisitException - [signature] Matcher.match(EntityDescriptor descriptor, String name, IEntity model, IBindingManager bindings) -> Matcher.match(EntityDescriptor descriptor, IEntity model, IBindingManager bindings, String name) - [Signature] IEntityIterator.wHasNext(),_.wNext() -> hasNext(),next() - [Move] Methods for manipulating markers in MarkerUtils - [rename] NullIterator -> EmptyIterator - [rename] EntityIterator -> ChildrenIterator - [rename] EntityReverseIterator -> ChildrenReverseIterator ** Known Issues Changes in version 1.0.0.I20060606 ---------------------------------- ** New features - Added support for model to metamodel pluggable reflection - Cross language support for Code Completion - Added Artifacts language for generating proper package, copyright and license informations - Added Misc language for writing programs with multiple unanticipated languages - Added Templates language for defining template managers - Replaced IL language with Imp Imperative Meta Programming - [Imp] Added support for composite types and for templates on statements - Added two cheat sheets - Mbed has been replaced by Editors + Models - Added JDT compiler for Prototypes and Visitors ** Improvements - Completed migration to JLS3 of generation code for JDT model - Completed migration to OSGi - New API for the Binding Manager - New API for pattern matching supporting the binding manager - The generated PartFactory visitors are no longer singletons - Added navigation method from enum values to enum types - EntityDescriptorEnum extends EnumType - EntityDescriptor type hierarchy and API - Added IEntity.wContainsValue - Added deploy level support for IDeployer - [UI] New non resizable selection border - [UI] Added support for enum values content assist - [UI] Per editor kit Palette and Ouline configuration - [UI] Added support for editor kit default level - [Models] Added Pretty Printer - [UI] The actions for default operations add editor info to operation parameters - Pattern substitute variant recording the substitutions done ** Bugs fixed - [Models] FeatureEnum not generated for models without features - Reference associations change the fragment model - Paste Action not allowed on fragment root - [UI] The selection border of a component sometime prevent insert actions in the composite - [UI] Foldable figures don't hide selection border of descendants - [XML] XML import sets Attribute names to element name - Template factory classes are not reloaded by the DeployerClassLoader - Workaround for languages not yet regenerated (no variable support) - [UI] DnD from palette is now type safe - [XML] import of xml declaration, doctype, comments and processing instructions ** Known Issues - [LanguageDeployer] Replace NewModelBuilderOperation.ID with SpecificBuilderAdapterOperation.ID Changes in version 1.0.0.I20051212 ---------------------------------- ** New features - New core languages: Prototypes, Visitors - New example language: First Order Logic - New Models: RDF and TopicMaps - New BP language: IL imperative language with functions and entities as first class citizen - TEX export operation for Models language ** Improvements - New notation for staged fragments - Added support for figures having multiple content pane parts - Major Context menu reorganization - Added hierarchical strategy for displaying context menu items - Added collapse all action in outline view - Improved Text model - Fragment composition is allowed independently of the ability to perform any operation on the resulting program - Added serial version uid in all generated entities - Smart replace actions (compatible children are preserved) - [Design] Introduced an interface for the CompoundModel - [Design] Separated packages for model implementation and model interfaces - [Design] Introduced an abstract factory for models to support multiple concrete factories - [Design] Added support for multiple implementations of a model - [Models] Default initialization for Date data entity prototype is unset (was set to the current time) - Added support for replace actions that wrap the selected entity with the new one - New notation for resolver entities - Added standard feedback (non resizable handles) for entity selection ** Bugs fixed - fixed Whole builder delay - Replace actions are disabled for composites - [Models] Wrong root entity generation if the first declaration is an alias type - Resolver entities are not supported by generated builders - [Models] Generic wDateValue/wSetValue are not generated for java.util.Date data entities - [Models] An IllegalArgumentException is thrown if an enum value is a resolver - DnD insert action is not allowed for implementations of subtypes of the target component type - Regression: DnD replace action is allowed only for few compatible types - Non unique containers use business identity in place of ordinary object identity - Java5 method called in EntityDescriptor.getResolver() - Regression: fixed cut/paste actions on label's text - Selected color of token text is not visible (white) - Workaround for the null binding commands left when a model is loaded on the editor - Entity resolvers throw ArrayIndexOutOfBoundsException on wGetType(child) - The entity set of entity resolvers is empty after loading the model Changes in version 1.0.0.I20051103 ---------------------------------- ** New features - Added Show As menu for switching editor notation on the fly - Added outline (tree + overview) support - Added support for freeform and autolayout graphical notations - New examples: Flowchart, Workflow, ProcessGraph, BPM - Initial support for Whole nature, builder, and Project Wizards - Initial support for Properties and Palette Views ** Improvements - Refactoring of the Java model - Improved ui presentation of the Models language - added support for many to one entity/editpart mappings - added support for context part in EditPart factory visitors ** Bugs fixed - AbstractEntity.wGetEntityDescription() wrong default implementation - EnumEntity types are ignored by the Models generator - AliasType is ignored by the Models generator - StringUtils.isJavaKeyword not includes primitive types - Removed JavaStoreAction from toolbar - Regression bug in AbstractFragment preheventing metaprogramming with concrete syntaxes - Entity resolvers don't resolve to a composite - Models template types does not introduce a type if an entity is given - Replaced the Text Output View with the standard Console View - Java standard serialization is dependent on language ordinals Changes in version 1.0.0.I20050825 ---------------------------------- ** New features - large refactoring of projects and packages - new modular language for defining models ** Improvements - complete editor generation with textual factory style - refactoring of the Xml model - toString method generation - persistent id support - natural id support (equals, hashcode)

    posted 202 days ago

  • Whole Platform Sources 1.0.0.v20090422-1345 file released: whole-projects-1.0.0.v20090422-1345.zip

    Whole Changelog =============== Changes in version 1.0.0.v20090xxx-xxxx --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Improved test suites of Queries and XSD languages. IDE - [Workflows] Added Choose models dialog for loading models through the Task activity. Frameworks - [Bindings] Added support for result iterator - [Parsers] Added API support for strategies - [UI] Added support for content assist menu (via CTRL+Space) - [UI] Uniformed behavior of horizontal arrow key press on a textual selection to Eclipse text editors. Languages - [Commons] Reorganized and fixed the Interpreter - [Grammars] Added support for parsing BigDecimals and BigIntegers. - [Grammars] Added support for inline definition of unparsing behavior in DataTerminals. - [Queries] Added support for EnumValue, Date, Comparable and Object data types into relational and equality constructs. - [Tests] Added support in generator for AllOf, AnyOf, IsAssignableTo, HasType, HasKind. - [Workflows] Added support for using deployed grammars in Parse/Unparse activities - [XSD] Added model support for Notation and Constraint declarations, foreign language attributes, redefine directive. Notations - [XSD] Added support for Unbounded maxOccurs attribute and foreign attributes. - [XSI] Added support for composite attributes. ** Bugs fixed - [Iterators] Fixed Cartesian iterators. - [Iterators] Fixed repeated calls to IEntityIterator.set. - [Matchers] Fixed pattern matching behavior between patterns. - [Visitors] Fixed stage down behavior (void case) in GenericTemplateInterpreterVisitor. - [Visitors] Fixed variable substitution behavior for void values. - [Actions] Fixed regression on transformations substituting the root entity. - [Grammars] Fixed unparsing of Choose rule. - [Queries] Fixed how variables in ExpressionTest templates affect removal of context variables. - [Queries] Fixed boolean expressions behavior in Equals and NotEquals. - [Queries] Fixed AtFeatureTest with feature URI. - [Queries] Fixed comparison constructs behavior with booleans, objects, enum values, and dates. - [Workflows] Fixed class loading regression in Content Assist and Interpreter. - [XML] Fixed type in the prototype of the Element content feature. - [XML] Fixed escaping of comments. - [XSD] Fixed mapping of complex types with empty content model. - [UI] Fixed editing of data entities with Object datatype. - [UI] Fixed Outline View and behavior of actions after using the Retry button in editor failure status page. Changes in version 1.0.0.v20090206-1802 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Deleted the pm family of languages - Moved Workflows to core - Moved Imp to examples - Moved Flowchart to misc IDE - Improved handling of open model failure - Added Whole Perspective - Added Map view - Added Index view - Added customization of Whole Platform Library - Added support for cut&paste and dnd actions with multiple selected elements Frameworks - [Bindings] Several improvements to binding managers and scopes - [Model] Improved handling and checking of containment relation - [Model] Improved command history and transaction management - [Model] Reduced the history management default scope to the compound model level - [Iterators] Added set related iterators (union, union all, intersect, except) - [Operations] Fragment evaluation with iterator unroll - [Operations] Improved pretty printing with better indentation support on multi-language models - [Comparators]Added comparators for defining entity identity and order - [Util] Added datatype utils for supporting polymorphic expressions - [UI] Added support for creating hyperlinks using entity paths - [UI] Improved content assist API - [UI] Added support for composite parts with reversed children - [UI] Added support for generic hilight figures in hilight policy - [UI] New composite figure shows a placeholder - [UI] Added copy entity path action - [UI] Added Go To Entity Path action - [UI] Improved multiline editing in labels and textual figures - [UI] Wider adoption of textual figures - [UI] Use eclipse proxy configuration if available - [UI] Redirected the Command stack to the Whole history and transaction manager - [UI] Improved animation support - [UI] Reorganization of views, viewers and pages - [UI] Added resource management (colors, fonts, images) support at viewer level - [UI] Improved API for object alignment in layout managers - [UI] Added several new math layout managers and figures Languages - [Actions] Added constructs to build generic context menus with custom actions (primarily used in content assist visitors) - [Artifacts] Added support to synchronize artifacts in memory models with artifacts on filesystem - [Artifacts] Added support for project location URIs in artifacts generator - [Grammars] Added support for custom datatypes and partial parsing of unhandled datatypes - [Queries] Added constructs: AtFeatureTest, AtIndexText, IndexVariableTest - [Queries] Added constructs: union, union all, intersect, except - [Queries] Fixed IndexTest, IndexRangeTest, Distinct, Void - [Workflows] Improved interpreter - [Workflows] Improved whole oriented activities (parse/unparse, load/save, invoke operation, artifacts sync, java activities, model/entity factory) - [Workflows] Added task activity for supporting configurable input dialogs - [Workflows] Improved content assist for file path/resource location and class selection - [Tests] Added unit testing language with: - interpreter (test suite, test cases, tests, aspects) - ability to use filters on matches - filters generator - matches templates auto completion - junit generator - stacktrace with navigable (org.whole.lang.ide) entity locations - [Java] Added support for block and line comments - [Java] Added support for generic events in JavaStoreProducerBuilder - [Java] Added support for generating java code with comments - [Properties] Added interpreter - [Text] Added Interpreter - [SQL] Support for iterable result sets - [SQL] Support for several datatypes (boolean, array, int family types, binary, blob & clob raw) - [SQL] Added support for subqueries in where expression - [SQL] Added IS and IN and BETWEEN expressions - [SQL] Added support for case expressions - [SQL] Several improvements to the pretty print - [Xml] Improved encoding handling and pretty print - [XSD] Improved (re)deploy strategy of xsd models - [XSI] Improved performance on streaming operations Notations - Improved generic outline, text and tree notations - Added generic Table notation - Added support for dynamically styled notations - [Actions] Improved specific notation to support new language constructs - [Flowchart] Improved switch control figure - [Models] Improved tabular notation - [Tests] Added specific notation that mimics a unit test - [Workflows] Completed workflow notation - [RDB] Added a new RDB textual notation - [RDB] Added a new RDB tabular notation - [SQL] Several improvements to the textual notation - [Xml] Improved outline notation - [XSD] Improved notation (more xml oriented) - [XSI] Improved notation (more xml oriented) Changes in version 1.0.0.v20080118-1907 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Added a File menu action for enabling all of the Whole Examples contributions to Eclipse - Added several examples: javadocs, red black tree, csv, annotations, xml, db - Introduced optional dependency from Apache Derby (required by the DB example) IDE - Eclipse 3.3 is required - Added support for native Drag and Drop - Added support for native Cut,Copy and Paste - Added support for Cut action - Added support for Paste As action Frameworks - The frameworks and the generators now use the thread safe variant of the singleton pattern - Completion of the tasks for replacing an absolute staging semantics with a relative one - [Models] Added hasParent and convert methods to EntityUtils - [Iterators] Added several iterators for performing control flow and rewriting behavior with a pull style - [Operations] The I/O of interpreter and pretty printer operations is based on readers and writers - [UI] Added support for dynamic UI additions to Eclipse - [UI] Added a table layout and figure - [UI] Added a tree layout - [UI] Added support for the OpenSymbol TrueType font (boundled) in styled labels - [UI] Major reorganization of the hierarchy of views Languages - [Actions] Added a language for defining toolbar and context menu actions - [Queries] Added control flow constructs: Block, Choose, Foreach, If and Do - [Queries] Added modular constructs: Query declaration and call - [Queries] Added rewriting constructs: CartesianInsert, PointwiseInsert, CartesianUpdate, PointwiseUpdate, Delete - [Queries] Added arithmetic and relational expressions constructs - [Grammars] Added a simple predictive parser generator - [Grammars] Added a grammar based persistence kit - [Java] Added support for javadocs (parsing, unparsing and editing) - [SQL, RDB] Initial release of SQL and RDB languages including a generator from RDB to Models Notations - [Actions] Added a notation similar to the Eclipse UI for toolbars and menus - [Models] Added a specific tabular notation - [Properties] Added a specific tabular notation - [Table] Added a generic AST notation that uses tables to compact regular fragments Changes in version 1.0.0.v20070912-1454 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan ** More relevant changes General - Introduced the updatesite category Whole Platform Enabling Features for facilitating the installation of three optional libraries. - Introduced the updatesite category Whole Platform Extras for more specialized and less used features. - Introduced a new family of languages called Misc including the languages which were on examples - Added an example of source generator using the Queries language - Reorganization of test suites - The dependency from JAXP 1.3 is now optional (JAXP 1.1+ is required by XML) - Introduced optional dependency from Joda Time 1.4 (required by XSD) IDE - Added support for Eclipse launch configurations to configure the variability model of Whole operations Frameworks - [Bindings] Improved toString() for facilitating debugging. - [Bindings] Removed from IBindingScope get/setName methods. - [Bindings] Added Include and Exclude Filter scopes to show only or hide a set of names from an enclosing scope. - [Bindings] Added a Resettable scope for marking and resetting the state of an enclosing scope. - [Builders] Added to the GenericBuilderContext the ability to build a model (fragment) starting from an initial entity event of your choice. - [Builders] Renamed GenericForwardBuilder to GenericForwardStrategyBuilder. - [Builders] Added GenericForwardSpecificBuilder for forwarding generic events to the specific events of the target languages. - [Commons] Added a variable kind, InlineVariable, that is substituted with the children of its value. - [Commons] Added a quantifier feature to variables with the corresponding enumeration entity. - [Commons] Removed the deprecated interfaces and the abstract classes for staged fragments and variables. - [Commons] Added persistence and presentation datatype parsers. - [Commons] Added support for the pretty printer operation. - [Contexts] Added wResetRoot() to the AbstractEntityContext for resetting the context to its root entity and index. - [Iterators] IEntityIterator.add() now has "add before semantics" in all implementations. - [Iterators] Each iterator of a SequenceIterator is now executed in a scope including bindings defined by preceding iterators. - [Matchers] Improved toString() for facilitating debugging of visitors returned by GenericMatcherFactory. - [Matchers] Added GenericMatcherFactory.defineVariable() to create a visitor that binds the self entity to a given name. - [Matchers] Added GenericMatcherFactory.evalTrue() to create a visitor that interpret a given program representing a boolean predicate. - [Matchers] GenericMatcherFactory.substitute() now takes into account both inline variables and variable quantifiers. - [Matchers] Added to Matcher.removeVars() a boolean result for stating that all variables were optional and a force parameter to remove also mandatory variables. - [Model] The dynamic model implementation now takes into account the reference modifier. - [Model] The IEntity.wStringValue() and wSetValue(String) are not anymore a parser/unparser facility (see datatype parsers). - [Parsers] Added a parser/unparser framework for datatypes (in the context of data entities). - [Reflect] Added predicate methods to the enum of data kinds. - [Reflect] Added predicate methods to the enum of entity kinds. - [Reflect] Added ReflectionFactory.getPlatformClassLoader and setUserClassLoader. - [Util] Added DataTypeUtils. - [Util] Improved EntityUtils implementation. - [Util] Added a fresh names generator. - [Util] Improved StringUtils. - [Visitors] Improved toString() for facilitating debugging. - [IDE] The JDTJavaBuilderPersistenceKit now binds available information before calling writeModel(). - [IDE] Added support for transformation actions based on the Queries language. - [IDE] Improved controls for choosing models, packages and classes. - [IDE] The WholeClasspathContainer now includes "enabling features" libraries if installed. - [IDE] Added a wizard for importing a Java class into a Java Model. - [UI] Improved icons for actions and editors. - [UI] Added support for Whole based "source" and "refactor" context menus. - [UI] Text commands now replace the data not the data entity. - [UI] Replace commands are more generic and better named. - [UI] AbstractEditorKit.getKeyHandler() always returns a key handler (no null). - [UI] In the value assist menu, enumerations of symbols are sorted by enum ordinal. - [UI] Added support for animation in editors - [UI] Improved the hierarchy of editpart classes - [UI] direct caret editing is much more used than before in all languages. - [UI] Per datatype commands, editpolicies and editparts are no longer necessary. Languages - [Java] Added the ability to reverse engineer a java source or a java class to the corresponding java model (via builder events). - [Java] Added a Bean Shell based Java interpreter. - [Pojo] Improved the Pojo model to better support the Java library integration use case. - [Pojo] Added a reverse engineering template factory. - [Pojo] Added a Pojo to Models transformation. - [Pojo] Added PojoUtils to automate translations from/to a Java library model and its correspondant Whole based model. - [Queries] The select construct is now more oriented to perform demand driven model transformations. - [Scripts] Added Scripts in legacy for integrating languages based on the Java 6 scripting API. - [Semantics] Added a language for writing the semantics of a language. - [XSD] Improvements to be more close to the standard. Notations - [Commons] Stage fragments figures are also differentiated by an icon. - [Commons] Variables have a new collapsable figure. - [Java] Operators are now showed with their standard symbols. - [XSD] Added an XSD specific outline notation. - [XSI] Added an XSI specific outline notation close to the corresponding XML but of course with content assist. ** Bugs fixed - [Bindings] Adding a scope s to its enclosing scope, calling wAddAll, (re)define all names in s to the local scope of the enclosing scope. - [Builders] The GenericBuilderContext does not forward wFeature() events to the builder strategy. - [Builders] The ModelBuilder wCloneFeature() method try to clone the feature of the adapter instead of the adaptee. - [Iterators] AncestorIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.hasNext() should return false if the entity is null. - [Iterators] After calling ChildIterator.remove() on a composite the nextIndex is wrong. - [Iterators] ChildReverseIterator.lookahead() should return null if the entity is null. - [Iterators] ChildReverseIterator.hasNext() should return false if the entity is null. - [Iterators] ComposeIterator.updateIterators() fails without trying all valid combinations. - [Iterators] TopDownIterator.remove() fails to update the state sometime. - [Matchers] GenericMatcher.matchEntityResolver() should check if the pattern has a feature before performing the test on the model. - [Matchers] Deprecated GenericMatcherFactory.addSubsitute(). Use substitute() and InlineVariables instead. - [Matchers] Matcher.removeVars() loose checking some entities (due to the use of a topDown iterator). - [Model] Change notification from a null value Object data entity may fail with a NullPointerException. - [Model] The IEntity.wShallowClone() leaves the fragment model of the prototype when applyied to an adapter. - [Reflect] Adding a language kit does not update the editor and persistence kits. - [Reflect] Adding a persistence kit should have a replace behavior when an older version of the persistence kit is already deployed. - [Visitor] The GenericTemplateInterpreterVisitor looses some data. - [Visitor] The GenericTraverseParentVisitor does not stop to the RootEntity. - [UI] Save as does not work if the file already exists. - [Java] ThisExpression entity should mark as optional the "qualifier" feature. - [Java] The pretty printer assumes that there are no adapters when printing data features. - [Queries] Several bugs fixed in the PathExpression2IteratorVisitor and in iterators. ** API changes - [Events] HistoryEventHandler.setEnabled() returns the old status. - Removed getClassLoader() from the WholePlugin class (see ReflectionFactory)). Changes in version 1.0.0.v20070403-1644 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?projectId=10000&styleName=Html&version=10002 ** More relevant changes Frameworks - [Bindings] Extracted IBindingScope from IBindingManager - [Bindings] Added wAddAll to IBindingScope - [Bindings] Added better support for static scopes - [Bindings] Added IBindingManager support to IPersistenceProvider - [Iterators] Added support for mark/reset and lookaheadScope in IEntityIterator - [Iterators] Added several implementations to support iteration over all XPath axes - [Matchers] Added isAssignable/isAssignableImpl predicates - [Matchers] Added matchers for supporting XPath like predicates - [Models] Generilized wResolveWith method to IEntity - [Models] Removed from IEntity the responsibility for changing the features of a SimpleEntity - [Models] The semantics of wRemove on simple entities has changed to replace with resolver - [Operations] Renamed and reorganized AbstractOperation environments - [Operations] Added result bindings to the Interpreter operation methods - [Reflect] Added methods for dynamic manipulation of languages in EntityDescriptor - [Reflect] Added support to dataEnumType property - [Reflect] ReflectionFactory added methods for mapping EntityDescriptors and FeatureDescriptors to/from qualified names - [IDE] Added a Normalizer action - [UI] Added text editing support (command, editpolicies, parts, palette, tools) - [UI] Added support for text actions in IActionFactory - [UI] Renamed Placeholder the actions for replacing/adding a resolver Languages - [Commons] Added support for Interpreter operation - [Imp] The Equals and NotEquals entities now work also on strings - [Grammars] Added a data integration language - [Queries] Added a query language - [Java] Improved the pretty printer - [Java] Improved the model trasformations from/to JDT DOM model - [Models] Completed the interpreter for hot deploying of models - [Models] Added a default entity registry configuration - [Text] Added support for textual editing (with the text tool) - [XML] Added a normalizer and a pretty printer in streaming - [XSD] Added the XML Schema Definition language Notations - [Grammars] Added a graphical notation - [Queries] Added a notation - [Math] Many improvements to become the main generic notation to extend - [Outline] Improved and more configurable and reusable ** Bugs fixed - matchers should change bindings only if match succedes - iterators hasNext and lookahead methods should not change bindings - The FeatureDescriptorEnum equals method should check for same language - [UI] Fixed connection commands ** API changes - [rename] org.whole.lang.processes to org.whole.lang.bindings - [rename] AbstractOperation environments constants and accessors - [rename] org.whole.notation to org.whole.lang.ui.notations - [rename] org.whole.notation.treemapper to org.whole.lang.ui.notations.ast - [rename] org.whole.notation.factory to org.whole.lang.ui.notations.ast - The ICommonsBuilder Variable method requires a qualified name for entity descriptors - Replaced the EBNF language with Grammars Changes in version 1.0.0.v20061114-1709 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?version=10001&styleName=Html&projectId=10000&Create=Create ** More relevant changes General - Reorganization of the project sources to separate the runtime and generators from code with Eclipse dependencies - Major API changes in all the Whole frameworks to take advantage of Java 5 features: generics, foreach, varargs and autoboxing IDE - Better integration of the Whole IDE with Eclipse features: Cheat Sheets, project wizards, Search and Find dialogs, Import and Export wizards, Tabbed Properties View, Problems View, Details views, and classpath container for Whole Platform libraries - Add generic support for goto location in Problems and Find/Replace views - Add generic support for Search and Find dialogs using domain notations Frameworks - [Factories] Major redesign of creational patterns. Replace the old language factories and the old prototype managers with a single factory style API backed by a configurable prototype style registry of entities - [Models] Added support for the pluggable, two-way Object Adapter Pattern - [Models] The Whole flavor of the Null Object Pattern - resolver entities - now features a specific interface (via adapters) and the ability to behave as expected even after entity resolution - [Matchers] Added findChild and findAncestor methods (by kind, descriptor or pattern) - [Matchers] Added rewrite matcher visitor - [Visitors] Add fixpoint traversal strategies: reduce, outermost, innermost. Add change aware traversal visitors. Add support for Strategy Pattern - [Iterators] Added set/add/remove support to iterators - [Iterators] Added derived AncestorScannerIterator and AncestorMatcherIterator Languages - [Models] Added support for multiple inheritance, and for the abstract modifier - [Commons] Added a new language for grouping all constructs common to all languages such as resolvers, variables and fragments. - [Artifacts] Added support for persistence kit selection. - [Properties] Added a new language for defining sets of name-value pairs Notations - Added support for pluggable generic notations. - Added a generic textual Factory notation and a graphical tree notation Changes in version 1.0.0.I20060707 ---------------------------------- ** New features - [Visitors] new visitor combinators (collect, traverseParent, traverseCollection, not) - [Iterators] Added Scanner iterator combinator with an API similar to Java 5 Scanner - [Iterators] Added Matcher iterator combinator to iterate over the matches found - [Iterators] Added Ancestor iterator (with reverse variant) - [LANGS] Added a new modeling language (Pojo) replacing the old Mbed - [UI] Added support for (GEF) Details views (Parma, Solmi) - [UI] Added support for (GEF) viewers in Dialogs and Forms (Parma, Solmi) ** Improvements - [Matchers] Type, Kind and Pattern matchers now works inside visitors - [Iterators] IEntityIterator is now an extension of the standard Iterator interface - [Iterators] Added foreach support. IEntityIterator is now an extension of the standard Iterable interface - [Editors] Added rt for tabbed properties (Parma) - Speed improvements on some StringUtils methods - Thesupport for title image decorators (Parma) - [model] Resolver.wResolve performs auto unboxing if needed - [UI] Added suppo Java Compiler action uses the current project and package as prefix for generated code - Introduced an InternalIEntity interface for internal methods - [Models] Added support for placeholder types ** Bugs fixed - [UI] Editor Resource tracker fails to update observers (Parma) - [UI] Editor Resource tracker reloads the model even on marker changes (Parma) - [Visitors] traverseOne does not fail when all children fail - [UI 1505225] NullPointerException in LabelDirectEditManager - [persistence] XmlBuilderPersistenceKit encoding error (D'Errico) - [model] ClassCastException when resolving (Resolver.wResolve) a non primitive datatype - Models generator fails with ambiguous class names (java.lang) - [UI] The root element is stretched orizontally - [UI] The folding button does not work on the root element - [PrototypeManager] The put prototype does not register the prototype by name - IllegalArgumentException when the java.lang.String (qualified) is used in a data entity - Missing features of a simple entity when the entity is a type of another entity ** API changes - Java 5 is required - [rename] VisitFailException -> VisitException - [signature] Matcher.match(EntityDescriptor descriptor, String name, IEntity model, IBindingManager bindings) -> Matcher.match(EntityDescriptor descriptor, IEntity model, IBindingManager bindings, String name) - [Signature] IEntityIterator.wHasNext(),_.wNext() -> hasNext(),next() - [Move] Methods for manipulating markers in MarkerUtils - [rename] NullIterator -> EmptyIterator - [rename] EntityIterator -> ChildrenIterator - [rename] EntityReverseIterator -> ChildrenReverseIterator ** Known Issues Changes in version 1.0.0.I20060606 ---------------------------------- ** New features - Added support for model to metamodel pluggable reflection - Cross language support for Code Completion - Added Artifacts language for generating proper package, copyright and license informations - Added Misc language for writing programs with multiple unanticipated languages - Added Templates language for defining template managers - Replaced IL language with Imp Imperative Meta Programming - [Imp] Added support for composite types and for templates on statements - Added two cheat sheets - Mbed has been replaced by Editors + Models - Added JDT compiler for Prototypes and Visitors ** Improvements - Completed migration to JLS3 of generation code for JDT model - Completed migration to OSGi - New API for the Binding Manager - New API for pattern matching supporting the binding manager - The generated PartFactory visitors are no longer singletons - Added navigation method from enum values to enum types - EntityDescriptorEnum extends EnumType - EntityDescriptor type hierarchy and API - Added IEntity.wContainsValue - Added deploy level support for IDeployer - [UI] New non resizable selection border - [UI] Added support for enum values content assist - [UI] Per editor kit Palette and Ouline configuration - [UI] Added support for editor kit default level - [Models] Added Pretty Printer - [UI] The actions for default operations add editor info to operation parameters - Pattern substitute variant recording the substitutions done ** Bugs fixed - [Models] FeatureEnum not generated for models without features - Reference associations change the fragment model - Paste Action not allowed on fragment root - [UI] The selection border of a component sometime prevent insert actions in the composite - [UI] Foldable figures don't hide selection border of descendants - [XML] XML import sets Attribute names to element name - Template factory classes are not reloaded by the DeployerClassLoader - Workaround for languages not yet regenerated (no variable support) - [UI] DnD from palette is now type safe - [XML] import of xml declaration, doctype, comments and processing instructions ** Known Issues - [LanguageDeployer] Replace NewModelBuilderOperation.ID with SpecificBuilderAdapterOperation.ID Changes in version 1.0.0.I20051212 ---------------------------------- ** New features - New core languages: Prototypes, Visitors - New example language: First Order Logic - New Models: RDF and TopicMaps - New BP language: IL imperative language with functions and entities as first class citizen - TEX export operation for Models language ** Improvements - New notation for staged fragments - Added support for figures having multiple content pane parts - Major Context menu reorganization - Added hierarchical strategy for displaying context menu items - Added collapse all action in outline view - Improved Text model - Fragment composition is allowed independently of the ability to perform any operation on the resulting program - Added serial version uid in all generated entities - Smart replace actions (compatible children are preserved) - [Design] Introduced an interface for the CompoundModel - [Design] Separated packages for model implementation and model interfaces - [Design] Introduced an abstract factory for models to support multiple concrete factories - [Design] Added support for multiple implementations of a model - [Models] Default initialization for Date data entity prototype is unset (was set to the current time) - Added support for replace actions that wrap the selected entity with the new one - New notation for resolver entities - Added standard feedback (non resizable handles) for entity selection ** Bugs fixed - fixed Whole builder delay - Replace actions are disabled for composites - [Models] Wrong root entity generation if the first declaration is an alias type - Resolver entities are not supported by generated builders - [Models] Generic wDateValue/wSetValue are not generated for java.util.Date data entities - [Models] An IllegalArgumentException is thrown if an enum value is a resolver - DnD insert action is not allowed for implementations of subtypes of the target component type - Regression: DnD replace action is allowed only for few compatible types - Non unique containers use business identity in place of ordinary object identity - Java5 method called in EntityDescriptor.getResolver() - Regression: fixed cut/paste actions on label's text - Selected color of token text is not visible (white) - Workaround for the null binding commands left when a model is loaded on the editor - Entity resolvers throw ArrayIndexOutOfBoundsException on wGetType(child) - The entity set of entity resolvers is empty after loading the model Changes in version 1.0.0.I20051103 ---------------------------------- ** New features - Added Show As menu for switching editor notation on the fly - Added outline (tree + overview) support - Added support for freeform and autolayout graphical notations - New examples: Flowchart, Workflow, ProcessGraph, BPM - Initial support for Whole nature, builder, and Project Wizards - Initial support for Properties and Palette Views ** Improvements - Refactoring of the Java model - Improved ui presentation of the Models language - added support for many to one entity/editpart mappings - added support for context part in EditPart factory visitors ** Bugs fixed - AbstractEntity.wGetEntityDescription() wrong default implementation - EnumEntity types are ignored by the Models generator - AliasType is ignored by the Models generator - StringUtils.isJavaKeyword not includes primitive types - Removed JavaStoreAction from toolbar - Regression bug in AbstractFragment preheventing metaprogramming with concrete syntaxes - Entity resolvers don't resolve to a composite - Models template types does not introduce a type if an entity is given - Replaced the Text Output View with the standard Console View - Java standard serialization is dependent on language ordinals Changes in version 1.0.0.I20050825 ---------------------------------- ** New features - large refactoring of projects and packages - new modular language for defining models ** Improvements - complete editor generation with textual factory style - refactoring of the Xml model - toString method generation - persistent id support - natural id support (equals, hashcode)

    posted 202 days ago

  • Whole Platform Archives 1.0.0.v20090422-1345 file released: whole-updatesite-1.0.0.v20090422-1345.zip

    Whole Changelog =============== Changes in version 1.0.0.v20090xxx-xxxx --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Improved test suites of Queries and XSD languages. IDE - [Workflows] Added Choose models dialog for loading models through the Task activity. Frameworks - [Bindings] Added support for result iterator - [Parsers] Added API support for strategies - [UI] Added support for content assist menu (via CTRL+Space) - [UI] Uniformed behavior of horizontal arrow key press on a textual selection to Eclipse text editors. Languages - [Commons] Reorganized and fixed the Interpreter - [Grammars] Added support for parsing BigDecimals and BigIntegers. - [Grammars] Added support for inline definition of unparsing behavior in DataTerminals. - [Queries] Added support for EnumValue, Date, Comparable and Object data types into relational and equality constructs. - [Tests] Added support in generator for AllOf, AnyOf, IsAssignableTo, HasType, HasKind. - [Workflows] Added support for using deployed grammars in Parse/Unparse activities - [XSD] Added model support for Notation and Constraint declarations, foreign language attributes, redefine directive. Notations - [XSD] Added support for Unbounded maxOccurs attribute and foreign attributes. - [XSI] Added support for composite attributes. ** Bugs fixed - [Iterators] Fixed Cartesian iterators. - [Iterators] Fixed repeated calls to IEntityIterator.set. - [Matchers] Fixed pattern matching behavior between patterns. - [Visitors] Fixed stage down behavior (void case) in GenericTemplateInterpreterVisitor. - [Visitors] Fixed variable substitution behavior for void values. - [Actions] Fixed regression on transformations substituting the root entity. - [Grammars] Fixed unparsing of Choose rule. - [Queries] Fixed how variables in ExpressionTest templates affect removal of context variables. - [Queries] Fixed boolean expressions behavior in Equals and NotEquals. - [Queries] Fixed AtFeatureTest with feature URI. - [Queries] Fixed comparison constructs behavior with booleans, objects, enum values, and dates. - [Workflows] Fixed class loading regression in Content Assist and Interpreter. - [XML] Fixed type in the prototype of the Element content feature. - [XML] Fixed escaping of comments. - [XSD] Fixed mapping of complex types with empty content model. - [UI] Fixed editing of data entities with Object datatype. - [UI] Fixed Outline View and behavior of actions after using the Retry button in editor failure status page. Changes in version 1.0.0.v20090206-1802 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Deleted the pm family of languages - Moved Workflows to core - Moved Imp to examples - Moved Flowchart to misc IDE - Improved handling of open model failure - Added Whole Perspective - Added Map view - Added Index view - Added customization of Whole Platform Library - Added support for cut&paste and dnd actions with multiple selected elements Frameworks - [Bindings] Several improvements to binding managers and scopes - [Model] Improved handling and checking of containment relation - [Model] Improved command history and transaction management - [Model] Reduced the history management default scope to the compound model level - [Iterators] Added set related iterators (union, union all, intersect, except) - [Operations] Fragment evaluation with iterator unroll - [Operations] Improved pretty printing with better indentation support on multi-language models - [Comparators]Added comparators for defining entity identity and order - [Util] Added datatype utils for supporting polymorphic expressions - [UI] Added support for creating hyperlinks using entity paths - [UI] Improved content assist API - [UI] Added support for composite parts with reversed children - [UI] Added support for generic hilight figures in hilight policy - [UI] New composite figure shows a placeholder - [UI] Added copy entity path action - [UI] Added Go To Entity Path action - [UI] Improved multiline editing in labels and textual figures - [UI] Wider adoption of textual figures - [UI] Use eclipse proxy configuration if available - [UI] Redirected the Command stack to the Whole history and transaction manager - [UI] Improved animation support - [UI] Reorganization of views, viewers and pages - [UI] Added resource management (colors, fonts, images) support at viewer level - [UI] Improved API for object alignment in layout managers - [UI] Added several new math layout managers and figures Languages - [Actions] Added constructs to build generic context menus with custom actions (primarily used in content assist visitors) - [Artifacts] Added support to synchronize artifacts in memory models with artifacts on filesystem - [Artifacts] Added support for project location URIs in artifacts generator - [Grammars] Added support for custom datatypes and partial parsing of unhandled datatypes - [Queries] Added constructs: AtFeatureTest, AtIndexText, IndexVariableTest - [Queries] Added constructs: union, union all, intersect, except - [Queries] Fixed IndexTest, IndexRangeTest, Distinct, Void - [Workflows] Improved interpreter - [Workflows] Improved whole oriented activities (parse/unparse, load/save, invoke operation, artifacts sync, java activities, model/entity factory) - [Workflows] Added task activity for supporting configurable input dialogs - [Workflows] Improved content assist for file path/resource location and class selection - [Tests] Added unit testing language with: - interpreter (test suite, test cases, tests, aspects) - ability to use filters on matches - filters generator - matches templates auto completion - junit generator - stacktrace with navigable (org.whole.lang.ide) entity locations - [Java] Added support for block and line comments - [Java] Added support for generic events in JavaStoreProducerBuilder - [Java] Added support for generating java code with comments - [Properties] Added interpreter - [Text] Added Interpreter - [SQL] Support for iterable result sets - [SQL] Support for several datatypes (boolean, array, int family types, binary, blob & clob raw) - [SQL] Added support for subqueries in where expression - [SQL] Added IS and IN and BETWEEN expressions - [SQL] Added support for case expressions - [SQL] Several improvements to the pretty print - [Xml] Improved encoding handling and pretty print - [XSD] Improved (re)deploy strategy of xsd models - [XSI] Improved performance on streaming operations Notations - Improved generic outline, text and tree notations - Added generic Table notation - Added support for dynamically styled notations - [Actions] Improved specific notation to support new language constructs - [Flowchart] Improved switch control figure - [Models] Improved tabular notation - [Tests] Added specific notation that mimics a unit test - [Workflows] Completed workflow notation - [RDB] Added a new RDB textual notation - [RDB] Added a new RDB tabular notation - [SQL] Several improvements to the textual notation - [Xml] Improved outline notation - [XSD] Improved notation (more xml oriented) - [XSI] Improved notation (more xml oriented) Changes in version 1.0.0.v20080118-1907 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/x/JgE ** More relevant changes General - Added a File menu action for enabling all of the Whole Examples contributions to Eclipse - Added several examples: javadocs, red black tree, csv, annotations, xml, db - Introduced optional dependency from Apache Derby (required by the DB example) IDE - Eclipse 3.3 is required - Added support for native Drag and Drop - Added support for native Cut,Copy and Paste - Added support for Cut action - Added support for Paste As action Frameworks - The frameworks and the generators now use the thread safe variant of the singleton pattern - Completion of the tasks for replacing an absolute staging semantics with a relative one - [Models] Added hasParent and convert methods to EntityUtils - [Iterators] Added several iterators for performing control flow and rewriting behavior with a pull style - [Operations] The I/O of interpreter and pretty printer operations is based on readers and writers - [UI] Added support for dynamic UI additions to Eclipse - [UI] Added a table layout and figure - [UI] Added a tree layout - [UI] Added support for the OpenSymbol TrueType font (boundled) in styled labels - [UI] Major reorganization of the hierarchy of views Languages - [Actions] Added a language for defining toolbar and context menu actions - [Queries] Added control flow constructs: Block, Choose, Foreach, If and Do - [Queries] Added modular constructs: Query declaration and call - [Queries] Added rewriting constructs: CartesianInsert, PointwiseInsert, CartesianUpdate, PointwiseUpdate, Delete - [Queries] Added arithmetic and relational expressions constructs - [Grammars] Added a simple predictive parser generator - [Grammars] Added a grammar based persistence kit - [Java] Added support for javadocs (parsing, unparsing and editing) - [SQL, RDB] Initial release of SQL and RDB languages including a generator from RDB to Models Notations - [Actions] Added a notation similar to the Eclipse UI for toolbars and menus - [Models] Added a specific tabular notation - [Properties] Added a specific tabular notation - [Table] Added a generic AST notation that uses tables to compact regular fragments Changes in version 1.0.0.v20070912-1454 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan ** More relevant changes General - Introduced the updatesite category Whole Platform Enabling Features for facilitating the installation of three optional libraries. - Introduced the updatesite category Whole Platform Extras for more specialized and less used features. - Introduced a new family of languages called Misc including the languages which were on examples - Added an example of source generator using the Queries language - Reorganization of test suites - The dependency from JAXP 1.3 is now optional (JAXP 1.1+ is required by XML) - Introduced optional dependency from Joda Time 1.4 (required by XSD) IDE - Added support for Eclipse launch configurations to configure the variability model of Whole operations Frameworks - [Bindings] Improved toString() for facilitating debugging. - [Bindings] Removed from IBindingScope get/setName methods. - [Bindings] Added Include and Exclude Filter scopes to show only or hide a set of names from an enclosing scope. - [Bindings] Added a Resettable scope for marking and resetting the state of an enclosing scope. - [Builders] Added to the GenericBuilderContext the ability to build a model (fragment) starting from an initial entity event of your choice. - [Builders] Renamed GenericForwardBuilder to GenericForwardStrategyBuilder. - [Builders] Added GenericForwardSpecificBuilder for forwarding generic events to the specific events of the target languages. - [Commons] Added a variable kind, InlineVariable, that is substituted with the children of its value. - [Commons] Added a quantifier feature to variables with the corresponding enumeration entity. - [Commons] Removed the deprecated interfaces and the abstract classes for staged fragments and variables. - [Commons] Added persistence and presentation datatype parsers. - [Commons] Added support for the pretty printer operation. - [Contexts] Added wResetRoot() to the AbstractEntityContext for resetting the context to its root entity and index. - [Iterators] IEntityIterator.add() now has "add before semantics" in all implementations. - [Iterators] Each iterator of a SequenceIterator is now executed in a scope including bindings defined by preceding iterators. - [Matchers] Improved toString() for facilitating debugging of visitors returned by GenericMatcherFactory. - [Matchers] Added GenericMatcherFactory.defineVariable() to create a visitor that binds the self entity to a given name. - [Matchers] Added GenericMatcherFactory.evalTrue() to create a visitor that interpret a given program representing a boolean predicate. - [Matchers] GenericMatcherFactory.substitute() now takes into account both inline variables and variable quantifiers. - [Matchers] Added to Matcher.removeVars() a boolean result for stating that all variables were optional and a force parameter to remove also mandatory variables. - [Model] The dynamic model implementation now takes into account the reference modifier. - [Model] The IEntity.wStringValue() and wSetValue(String) are not anymore a parser/unparser facility (see datatype parsers). - [Parsers] Added a parser/unparser framework for datatypes (in the context of data entities). - [Reflect] Added predicate methods to the enum of data kinds. - [Reflect] Added predicate methods to the enum of entity kinds. - [Reflect] Added ReflectionFactory.getPlatformClassLoader and setUserClassLoader. - [Util] Added DataTypeUtils. - [Util] Improved EntityUtils implementation. - [Util] Added a fresh names generator. - [Util] Improved StringUtils. - [Visitors] Improved toString() for facilitating debugging. - [IDE] The JDTJavaBuilderPersistenceKit now binds available information before calling writeModel(). - [IDE] Added support for transformation actions based on the Queries language. - [IDE] Improved controls for choosing models, packages and classes. - [IDE] The WholeClasspathContainer now includes "enabling features" libraries if installed. - [IDE] Added a wizard for importing a Java class into a Java Model. - [UI] Improved icons for actions and editors. - [UI] Added support for Whole based "source" and "refactor" context menus. - [UI] Text commands now replace the data not the data entity. - [UI] Replace commands are more generic and better named. - [UI] AbstractEditorKit.getKeyHandler() always returns a key handler (no null). - [UI] In the value assist menu, enumerations of symbols are sorted by enum ordinal. - [UI] Added support for animation in editors - [UI] Improved the hierarchy of editpart classes - [UI] direct caret editing is much more used than before in all languages. - [UI] Per datatype commands, editpolicies and editparts are no longer necessary. Languages - [Java] Added the ability to reverse engineer a java source or a java class to the corresponding java model (via builder events). - [Java] Added a Bean Shell based Java interpreter. - [Pojo] Improved the Pojo model to better support the Java library integration use case. - [Pojo] Added a reverse engineering template factory. - [Pojo] Added a Pojo to Models transformation. - [Pojo] Added PojoUtils to automate translations from/to a Java library model and its correspondant Whole based model. - [Queries] The select construct is now more oriented to perform demand driven model transformations. - [Scripts] Added Scripts in legacy for integrating languages based on the Java 6 scripting API. - [Semantics] Added a language for writing the semantics of a language. - [XSD] Improvements to be more close to the standard. Notations - [Commons] Stage fragments figures are also differentiated by an icon. - [Commons] Variables have a new collapsable figure. - [Java] Operators are now showed with their standard symbols. - [XSD] Added an XSD specific outline notation. - [XSI] Added an XSI specific outline notation close to the corresponding XML but of course with content assist. ** Bugs fixed - [Bindings] Adding a scope s to its enclosing scope, calling wAddAll, (re)define all names in s to the local scope of the enclosing scope. - [Builders] The GenericBuilderContext does not forward wFeature() events to the builder strategy. - [Builders] The ModelBuilder wCloneFeature() method try to clone the feature of the adapter instead of the adaptee. - [Iterators] AncestorIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.lookahead() should return null if the entity is null. - [Iterators] ChildIterator.hasNext() should return false if the entity is null. - [Iterators] After calling ChildIterator.remove() on a composite the nextIndex is wrong. - [Iterators] ChildReverseIterator.lookahead() should return null if the entity is null. - [Iterators] ChildReverseIterator.hasNext() should return false if the entity is null. - [Iterators] ComposeIterator.updateIterators() fails without trying all valid combinations. - [Iterators] TopDownIterator.remove() fails to update the state sometime. - [Matchers] GenericMatcher.matchEntityResolver() should check if the pattern has a feature before performing the test on the model. - [Matchers] Deprecated GenericMatcherFactory.addSubsitute(). Use substitute() and InlineVariables instead. - [Matchers] Matcher.removeVars() loose checking some entities (due to the use of a topDown iterator). - [Model] Change notification from a null value Object data entity may fail with a NullPointerException. - [Model] The IEntity.wShallowClone() leaves the fragment model of the prototype when applyied to an adapter. - [Reflect] Adding a language kit does not update the editor and persistence kits. - [Reflect] Adding a persistence kit should have a replace behavior when an older version of the persistence kit is already deployed. - [Visitor] The GenericTemplateInterpreterVisitor looses some data. - [Visitor] The GenericTraverseParentVisitor does not stop to the RootEntity. - [UI] Save as does not work if the file already exists. - [Java] ThisExpression entity should mark as optional the "qualifier" feature. - [Java] The pretty printer assumes that there are no adapters when printing data features. - [Queries] Several bugs fixed in the PathExpression2IteratorVisitor and in iterators. ** API changes - [Events] HistoryEventHandler.setEnabled() returns the old status. - Removed getClassLoader() from the WholePlugin class (see ReflectionFactory)). Changes in version 1.0.0.v20070403-1644 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?projectId=10000&styleName=Html&version=10002 ** More relevant changes Frameworks - [Bindings] Extracted IBindingScope from IBindingManager - [Bindings] Added wAddAll to IBindingScope - [Bindings] Added better support for static scopes - [Bindings] Added IBindingManager support to IPersistenceProvider - [Iterators] Added support for mark/reset and lookaheadScope in IEntityIterator - [Iterators] Added several implementations to support iteration over all XPath axes - [Matchers] Added isAssignable/isAssignableImpl predicates - [Matchers] Added matchers for supporting XPath like predicates - [Models] Generilized wResolveWith method to IEntity - [Models] Removed from IEntity the responsibility for changing the features of a SimpleEntity - [Models] The semantics of wRemove on simple entities has changed to replace with resolver - [Operations] Renamed and reorganized AbstractOperation environments - [Operations] Added result bindings to the Interpreter operation methods - [Reflect] Added methods for dynamic manipulation of languages in EntityDescriptor - [Reflect] Added support to dataEnumType property - [Reflect] ReflectionFactory added methods for mapping EntityDescriptors and FeatureDescriptors to/from qualified names - [IDE] Added a Normalizer action - [UI] Added text editing support (command, editpolicies, parts, palette, tools) - [UI] Added support for text actions in IActionFactory - [UI] Renamed Placeholder the actions for replacing/adding a resolver Languages - [Commons] Added support for Interpreter operation - [Imp] The Equals and NotEquals entities now work also on strings - [Grammars] Added a data integration language - [Queries] Added a query language - [Java] Improved the pretty printer - [Java] Improved the model trasformations from/to JDT DOM model - [Models] Completed the interpreter for hot deploying of models - [Models] Added a default entity registry configuration - [Text] Added support for textual editing (with the text tool) - [XML] Added a normalizer and a pretty printer in streaming - [XSD] Added the XML Schema Definition language Notations - [Grammars] Added a graphical notation - [Queries] Added a notation - [Math] Many improvements to become the main generic notation to extend - [Outline] Improved and more configurable and reusable ** Bugs fixed - matchers should change bindings only if match succedes - iterators hasNext and lookahead methods should not change bindings - The FeatureDescriptorEnum equals method should check for same language - [UI] Fixed connection commands ** API changes - [rename] org.whole.lang.processes to org.whole.lang.bindings - [rename] AbstractOperation environments constants and accessors - [rename] org.whole.notation to org.whole.lang.ui.notations - [rename] org.whole.notation.treemapper to org.whole.lang.ui.notations.ast - [rename] org.whole.notation.factory to org.whole.lang.ui.notations.ast - The ICommonsBuilder Variable method requires a qualified name for entity descriptors - Replaced the EBNF language with Grammars Changes in version 1.0.0.v20061114-1709 --------------------------------------- The complete Release Plan is available at: http://whole.cs.unibo.it/confluence/display/dev/Whole+Platform+Project+Plan The complete Release Notes are available at: http://whole.cs.unibo.it/jira/secure/ReleaseNote.jspa?version=10001&styleName=Html&projectId=10000&Create=Create ** More relevant changes General - Reorganization of the project sources to separate the runtime and generators from code with Eclipse dependencies - Major API changes in all the Whole frameworks to take advantage of Java 5 features: generics, foreach, varargs and autoboxing IDE - Better integration of the Whole IDE with Eclipse features: Cheat Sheets, project wizards, Search and Find dialogs, Import and Export wizards, Tabbed Properties View, Problems View, Details views, and classpath container for Whole Platform libraries - Add generic support for goto location in Problems and Find/Replace views - Add generic support for Search and Find dialogs using domain notations Frameworks - [Factories] Major redesign of creational patterns. Replace the old language factories and the old prototype managers with a single factory style API backed by a configurable prototype style registry of entities - [Models] Added support for the pluggable, two-way Object Adapter Pattern - [Models] The Whole flavor of the Null Object Pattern - resolver entities - now features a specific interface (via adapters) and the ability to behave as expected even after entity resolution - [Matchers] Added findChild and findAncestor methods (by kind, descriptor or pattern) - [Matchers] Added rewrite matcher visitor - [Visitors] Add fixpoint traversal strategies: reduce, outermost, innermost. Add change aware traversal visitors. Add support for Strategy Pattern - [Iterators] Added set/add/remove support to iterators - [Iterators] Added derived AncestorScannerIterator and AncestorMatcherIterator Languages - [Models] Added support for multiple inheritance, and for the abstract modifier - [Commons] Added a new language for grouping all constructs common to all languages such as resolvers, variables and fragments. - [Artifacts] Added support for persistence kit selection. - [Properties] Added a new language for defining sets of name-value pairs Notations - Added support for pluggable generic notations. - Added a generic textual Factory notation and a graphical tree notation Changes in version 1.0.0.I20060707 ---------------------------------- ** New features - [Visitors] new visitor combinators (collect, traverseParent, traverseCollection, not) - [Iterators] Added Scanner iterator combinator with an API similar to Java 5 Scanner - [Iterators] Added Matcher iterator combinator to iterate over the matches found - [Iterators] Added Ancestor iterator (with reverse variant) - [LANGS] Added a new modeling language (Pojo) replacing the old Mbed - [UI] Added support for (GEF) Details views (Parma, Solmi) - [UI] Added support for (GEF) viewers in Dialogs and Forms (Parma, Solmi) ** Improvements - [Matchers] Type, Kind and Pattern matchers now works inside visitors - [Iterators] IEntityIterator is now an extension of the standard Iterator interface - [Iterators] Added foreach support. IEntityIterator is now an extension of the standard Iterable interface - [Editors] Added rt for tabbed properties (Parma) - Speed improvements on some StringUtils methods - Thesupport for title image decorators (Parma) - [model] Resolver.wResolve performs auto unboxing if needed - [UI] Added suppo Java Compiler action uses the current project and package as prefix for generated code - Introduced an InternalIEntity interface for internal methods - [Models] Added support for placeholder types ** Bugs fixed - [UI] Editor Resource tracker fails to update observers (Parma) - [UI] Editor Resource tracker reloads the model even on marker changes (Parma) - [Visitors] traverseOne does not fail when all children fail - [UI 1505225] NullPointerException in LabelDirectEditManager - [persistence] XmlBuilderPersistenceKit encoding error (D'Errico) - [model] ClassCastException when resolving (Resolver.wResolve) a non primitive datatype - Models generator fails with ambiguous class names (java.lang) - [UI] The root element is stretched orizontally - [UI] The folding button does not work on the root element - [PrototypeManager] The put prototype does not register the prototype by name - IllegalArgumentException when the java.lang.String (qualified) is used in a data entity - Missing features of a simple entity when the entity is a type of another entity ** API changes - Java 5 is required - [rename] VisitFailException -> VisitException - [signature] Matcher.match(EntityDescriptor descriptor, String name, IEntity model, IBindingManager bindings) -> Matcher.match(EntityDescriptor descriptor, IEntity model, IBindingManager bindings, String name) - [Signature] IEntityIterator.wHasNext(),_.wNext() -> hasNext(),next() - [Move] Methods for manipulating markers in MarkerUtils - [rename] NullIterator -> EmptyIterator - [rename] EntityIterator -> ChildrenIterator - [rename] EntityReverseIterator -> ChildrenReverseIterator ** Known Issues Changes in version 1.0.0.I20060606 ---------------------------------- ** New features - Added support for model to metamodel pluggable reflection - Cross language support for Code Completion - Added Artifacts language for generating proper package, copyright and license informations - Added Misc language for writing programs with multiple unanticipated languages - Added Templates language for defining template managers - Replaced IL language with Imp Imperative Meta Programming - [Imp] Added support for composite types and for templates on statements - Added two cheat sheets - Mbed has been replaced by Editors + Models - Added JDT compiler for Prototypes and Visitors ** Improvements - Completed migration to JLS3 of generation code for JDT model - Completed migration to OSGi - New API for the Binding Manager - New API for pattern matching supporting the binding manager - The generated PartFactory visitors are no longer singletons - Added navigation method from enum values to enum types - EntityDescriptorEnum extends EnumType - EntityDescriptor type hierarchy and API - Added IEntity.wContainsValue - Added deploy level support for IDeployer - [UI] New non resizable selection border - [UI] Added support for enum values content assist - [UI] Per editor kit Palette and Ouline configuration - [UI] Added support for editor kit default level - [Models] Added Pretty Printer - [UI] The actions for default operations add editor info to operation parameters - Pattern substitute variant recording the substitutions done ** Bugs fixed - [Models] FeatureEnum not generated for models without features - Reference associations change the fragment model - Paste Action not allowed on fragment root - [UI] The selection border of a component sometime prevent insert actions in the composite - [UI] Foldable figures don't hide selection border of descendants - [XML] XML import sets Attribute names to element name - Template factory classes are not reloaded by the DeployerClassLoader - Workaround for languages not yet regenerated (no variable support) - [UI] DnD from palette is now type safe - [XML] import of xml declaration, doctype, comments and processing instructions ** Known Issues - [LanguageDeployer] Replace NewModelBuilderOperation.ID with SpecificBuilderAdapterOperation.ID Changes in version 1.0.0.I20051212 ---------------------------------- ** New features - New core languages: Prototypes, Visitors - New example language: First Order Logic - New Models: RDF and TopicMaps - New BP language: IL imperative language with functions and entities as first class citizen - TEX export operation for Models language ** Improvements - New notation for staged fragments - Added support for figures having multiple content pane parts - Major Context menu reorganization - Added hierarchical strategy for displaying context menu items - Added collapse all action in outline view - Improved Text model - Fragment composition is allowed independently of the ability to perform any operation on the resulting program - Added serial version uid in all generated entities - Smart replace actions (compatible children are preserved) - [Design] Introduced an interface for the CompoundModel - [Design] Separated packages for model implementation and model interfaces - [Design] Introduced an abstract factory for models to support multiple concrete factories - [Design] Added support for multiple implementations of a model - [Models] Default initialization for Date data entity prototype is unset (was set to the current time) - Added support for replace actions that wrap the selected entity with the new one - New notation for resolver entities - Added standard feedback (non resizable handles) for entity selection ** Bugs fixed - fixed Whole builder delay - Replace actions are disabled for composites - [Models] Wrong root entity generation if the first declaration is an alias type - Resolver entities are not supported by generated builders - [Models] Generic wDateValue/wSetValue are not generated for java.util.Date data entities - [Models] An IllegalArgumentException is thrown if an enum value is a resolver - DnD insert action is not allowed for implementations of subtypes of the target component type - Regression: DnD replace action is allowed only for few compatible types - Non unique containers use business identity in place of ordinary object identity - Java5 method called in EntityDescriptor.getResolver() - Regression: fixed cut/paste actions on label's text - Selected color of token text is not visible (white) - Workaround for the null binding commands left when a model is loaded on the editor - Entity resolvers throw ArrayIndexOutOfBoundsException on wGetType(child) - The entity set of entity resolvers is empty after loading the model Changes in version 1.0.0.I20051103 ---------------------------------- ** New features - Added Show As menu for switching editor notation on the fly - Added outline (tree + overview) support - Added support for freeform and autolayout graphical notations - New examples: Flowchart, Workflow, ProcessGraph, BPM - Initial support for Whole nature, builder, and Project Wizards - Initial support for Properties and Palette Views ** Improvements - Refactoring of the Java model - Improved ui presentation of the Models language - added support for many to one entity/editpart mappings - added support for context part in EditPart factory visitors ** Bugs fixed - AbstractEntity.wGetEntityDescription() wrong default implementation - EnumEntity types are ignored by the Models generator - AliasType is ignored by the Models generator - StringUtils.isJavaKeyword not includes primitive types - Removed JavaStoreAction from toolbar - Regression bug in AbstractFragment preheventing metaprogramming with concrete syntaxes - Entity resolvers don't resolve to a composite - Models template types does not introduce a type if an entity is given - Replaced the Text Output View with the standard Console View - Java standard serialization is dependent on language ordinals Changes in version 1.0.0.I20050825 ---------------------------------- ** New features - large refactoring of projects and packages - new modular language for defining models ** Improvements - complete editor generation with textual factory style - refactoring of the Xml model - toString method generation - persistent id support - natural id support (equals, hashcode)

    posted 202 days ago

  • File released: /Whole Platform Binaries/1.0.0.v20090422-1345/whole-1.0.0.v20090422-1345-linux-gtk.tar.gz

    posted 202 days ago

  • File released: /Whole Platform Binaries/1.0.0.v20090422-1345/whole-1.0.0.v20090422-1345-macosx-carbon.tar.gz

    posted 202 days ago

  • File released: /Whole Platform Binaries/1.0.0.v20090422-1345/whole-1.0.0.v20090422-1345-win32.zip

    posted 202 days ago

  • File released: /Whole Platform Sources/1.0.0.v20090422-1345/whole-projects-1.0.0.v20090422-1345.zip

    posted 202 days ago

  • File released: /Whole Platform Archives/1.0.0.v20090422-1345/whole-updatesite-1.0.0.v20090422-1345.zip

    posted 202 days ago

Rate and Review

Be the first person to add a text review.

Would you recommend this project?






<

Related Projects

Whole Platform Actions

Thanks for your rating!

Would you also like to write a review?





Skip Review