Pyecore

Latest version: v0.15.1

Safety actively analyzes 628918 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 11

0.6.0

+++++

**Features**

- Add multiplicity parameter for ``EParameter/EOperation`` constructors.
Parameter and Operations can express a multiplicity like ``1..*`` if wanted.
This attribute can be modified after one of these object had been created,
but it wasn't possible to give the multiplicity during the object creation.
This commit simply add the missing parameters in the constructors.

- Add new way of dealing with ``isinstance``. The ``isinstance`` method from
the ``EcoreUtils`` class was not very effective and was gathering all cases
in a big ``if/elif/else`` block. This commit defers all the ``isinstance``
to a method ``__isinstance__``, implemented in each required elements. This
commit also introduce a new way of init for each ``EStructuralFeature``
attributes when an instance is created.

**Bugfixes**

- Fix intra-document references by proxy. A reference between elements can also
be done using a 'full' URI, i.e: specifying the uri/path of the resource to
access and the path towards the object. This way of referencing elements is
not reserved to metamodel references, but can be done with any kind of
references. To deal with this, a proxy is introduced each time such a
reference is done. This allows to relies on the same mechanism as the href
one and gives a better control over their resolutions.

- Fix ``ResourceSet`` local resource resolving. When a local resource is searched,
the path and its uri is split. Once the uri is split, its path is searched in
the 'resources' of the ``ResourceSet``. This search was done in a 'file' like only
researched, while the uri could be a logical one (for the ``plateform:/``
like uri).

- Fix missing ``name`` feature validation. The name feature was only handled as
a simple python attribute instead of an EAttribute. This time, the ``name``
feature is handled as an ``EAttribute``. As each instance of ``EAttribute``
needs to use its own name (which is an ``EAttribute``), it is required to cut
the recursive call. To do so, the ``EStructuralFeature`` listen to each
changes performed on itself. If a modification occurs on the ``name`` feature,
it keeps a simple python attribute version which can be used in the
``EStructuralFeature`` descriptor.

0.5.11

++++++

**Bugfixes**

- Add missing ``iD`` feature for ``EAttribute``. In EMF, the ``iD`` feature can
be se for ``EAttribute``. This attribute was missing from the pyecore
metamodel. This new version also adds the ``iD`` keyword for the
``EAttribute`` constructor.

- Add missing basic ``EDataType``. The added ``EDataTypes`` are:
* ``EDate``,
* ``EBigDecimal``,
* ``EBooleanObject``,
* ``ELongObject``,
* ``EByte``,
* ``EByteObject``,
* ``EByteArray``,
* ``EChar``,
* ``ECharacterObject``,
* ``EShort``,
* ``EJavaClass``.

0.5.9

++++++++++++

**Bugfixes**

- Fix decoding issue when HttpURI with http-href is used. When a href is used,
the ResourceSet resolver tries to concatenate the path built from the main uri
resource and the href uri fragment. In the case of HttpURI, the concatenation
provided a 'http://abc/http://cde' like uri. The ``normalize()`` method of URI
was spliting on '://' and used unpacking to two vars exactly. With this kind
of uri, it resulted in an exception. This commit fixes this issue using simply
the ``maxsplit`` option from the ``split()`` method.

- Fix issue when ``name`` feature was called as part of descriptor. This error was
simple, the ``name`` feature defined as a static meta-attribute of the
``ENamedElement`` metaclass was overriding the property implementation in the
``EStructuralFeature``. This issue was also preventing from properly monkey
patching pyecore for ``name`` access.

0.5.8

+++++

**Bugfixes**

- Fix issue when multiple undo/redo are performed. Each time an undo is
performed, the command stack top pointer is decremented. It only points to the
command before the last one. Obviously, each time a redo is performed, the
command stack needs to be incremented, and it points to the previously undone
command. The 'redo' method was missing the top stack incrementation.

0.5.7

+++++

**Bugfixes**

- Fix default value for ``EAttribute``. ``EAttribute`` let the ability to express
default values. This value is assigned when an ``EClass`` instance is created.
The ``default_value`` is computed as follow: if the ``EAttribute``'s
``default_value`` is set, this ``default_value`` is returned. If the
default_value of the ``Eattribute`` is not set, then the ``default_value`` of
the ``EAttribute`` associated EDataType is set. This way of computing elements
was not properly used during instance initialization.

**Miscellaneous**

- Fix some examples in the ``README.rst``.

0.5.6

+++++

**Features**

- Add missing ``EDataType`` management in the Acceleo generator.


**Miscellaneous**

- Add missing data type conversion for ``EDataType``.
- Fix once and for all the ``setup.py`` (hopefully).

Page 8 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.