[root]/Tests/Persistence
Aspect
(0 files, 0 lines)
Fixture
(0 files, 0 lines)
Model
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 113 (100.0%) | 1660 (100.0%) | 14.6 |
| k-fish | 82 (72.6%) | 943 (56.8%) | 11.5 |
| robert | 29 (25.7%) | 664 (40.0%) | 22.8 |
| sebastian | 1 (0.9%) | 38 (2.3%) | 38.0 |
| andi | 1 (0.9%) | 15 (0.9%) | 15.0 |
Removed everything in trunk after move to git.
0 lines of code changed in 12 files:
[+FEATURE] FLOW3 (Persistence): Calls to Repository::update() will now also update the child objects if needed. This is needed if an object with sub-objects is submitted via a form. Relates to #4218.
38 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Persistence): findOneBy*() now limits the result set size to 1, fixes #4859.
1 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Persistence): When calling update() with a non-clone an exception is thrown, resolves #4328.
27 lines of code changed in 1 file:
[+FEATURE] FLOW3 (MVC): It is now possible to disable validation temporarily for single controller arguments. This is necessary in situations where a knowingly incomplete / invalid argument needs to be passed to an action, for example an edit action. Validation can be disabled either by calling the disableValidation() method on the argument object or by adding a @dontvalidate $argumentName annotation to an action method. Resolves #4166
[+TASK] FLOW3 (Documentation): Documented the new @dontvalidate annotation.
[+FEATURE] FLOW3 (Package): The package manager's command line controller now returns a friendly error message on trying to activate or deactivate an already active or inactive package. Earlier it just threw an unpolished exception.
[+FEATURE] FLOW3 (Persistence): Implemented an update() method for the base repository which allows for conveniently updating existing objects. update() only expects one argument which must be a clone of the object to replace, already containing the modifications. The object passed to update() must internally contain the same uuid like the object to be updated (ie. replaced). In fact this new update() method is basically a more convenient way to call replace(). Resolves #4167
[+BUGFIX] FLOW3 (MVC): A @validate annotation placed in an action method's comment replaced existing rules instead of adding them to a common conjunction validator. By this it was possible to override any validation rule with a simple @validate $foo Raw annotation. Fixes #4168
36 lines of code changed in 1 file:
[~BUGFIX] FLOW3 (Persistence): Fixed two tests I overlooked, relates to #3837.
4 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Persistence): when handing objects over to a Repository instance their type is now checked against the type managed by the Repository instance, fixes #3837.
70 lines of code changed in 1 file:
[~TASK] FLOW3: moved class schema handling from Persistence to Reflection, resolves #3934.
3 lines of code changed in 1 file:
[+BUGFIX] Fluid (ViewHelper): SeelctViewHelper now handles collections of objects passed as options as expected virtually always, fixes #3676
[~TASK] FLOW3: renamed getUUIDByObject() to getIdentifierByObject() and getObjectByUUID() to getObjectByIdentifier(), relates to #3676
[~TASK] Fluid: renamed getUUIDByObject() to getIdentifierByObject() and getObjectByUUID() to getObjectByIdentifier(), relates to #3676
[~TASK] Fluid: some fixes to ViewHelper documentation
3 lines of code changed in 1 file:
[+TASK] FLOW3: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Fluid: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Kickstart: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHP6: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] PHPUnit: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Testing: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] Welcome: Removed file level docblocks and @package/@subpackage annotations.
[+TASK] YAML: Removed file level docblocks and @package/@subpackage annotations.
0 lines of code changed in 6 files:
[FIX] FLOW3 (Persistence): dirty checking and activation of lazy loading work as intended now, fixes #3806
6 lines of code changed in 1 file:
?[FIX] FLOW3 (AOP): getMethodArgument() on JoinPoint no longer throws an exception if a NULL value is found in the requested property
[API+] FLOW3 (Persistence): FLOW3_Persistence_memorizeCleanState() now takes an optional $propertyName argument, refs #3451
[FIX] FLOW3 (Persistence): The LazyLoadingProxy now marks activated properties as clean upon activation, resolves #3451
23 lines of code changed in 1 file:
?[!!!] FLOW3: New conventions for naming of Domain Models and Repositories in place, resolves #3507
43 lines of code changed in 3 files:
FLOW3:
* ClassSchema and ClassSchemataBuilder now handle the @lazy annotation
TYPO3CR:
* the persistence DataMapper obeys the @lazy annotation for \SplObjectStorage properties
* the persistence backend ignores properties holding a LazyLoadingProxy
41 lines of code changed in 2 files:
FLOW3:
* added a LazyLoadingProxy to act as stand-in for any object (not yet used)
8 lines of code changed in 1 file:
* FLOW3: (Persistence) Renamed the methods getUUID($object) to getUUIDByObject($object) and removed one of them from the Persistence Manager (now ask the Persistence Backend instead).
* FLOW3: (Persistence) Implemented a replace() method for the base Repository. Resolves #2979
101 lines of code changed in 2 files:
* FLOW3: (AOP) Renamed all occurrences of AOPProxy* to FLOW3_AOP_Proxy_*
* FLOW3: (Persistence) Prefixed names of the methods introduced by the DirtyMonitoringAspect
2 lines of code changed in 1 file:
This is a commit of work in progress. If you're already using FLOW3 (semi-) productively, you better skip this version because the MVC framework currently lacks validation and might lead to some other unexpected behavior. OTOH the code seems to be quite stable, so nothing to really worry about. More code related to the MVC framework and especially validation will follow soon, I just had to get rid of all these changes ...
* FLOW3: (Persistence) Made sure that the object name "...\Persistence\ManagerInterface" is used everywhere instead of "...\Persistence\Manager".
* FLOW3: (Error) Annotated the "Error" and "Warning" class as prototype and renamed *ErrorMessage() and *ErrorCode() to *Message() and *Code().
* FLOW3: (MVC) Fixed and re-enabled tests of the Abstract Controller
* FLOW3: (MVC) !!! Started rewriting the argument mapping mechanism. It should work but be aware that NO VALIDATION and NO FILTERING is active at the moment!
* FLOW3: (MVC) The automatic argument registration in the Action Controller now detects optional arguments and registers them as such.
* FLOW3: (MVC) Cleaned up the Argument(s) classes and implemented an early version of identity support in setValue()
* FLOW3: (MVC) Added initial implementation of identity support for the resolve() method of a DynamicRoutePart. I'll give more information on this topic as soon as it's completely implemented.
* FLOW3: (MVC) Removed the emit* method in the router and replaced it by a call to the System Logger: Now the log contains an entry stating which route has been chosen.
* FLOW3: (Persistence) In the ClassSchema renamed the (is)RepositoryManaged property and methods to (is)AggregateRoot.
* FLOW3: (Persistence) Added safeguard to the Persistence\Manager::getClassSchema() method
* FLOW3: (Property / MVC) For now, completely removed the concept of Property Converters!
* FLOW3: (Property) Started reimplementing the Property Mapper. Most of the old functionality has been removed but much of it will return soon.
* FLOW3: (Reflection) Changed the order of access method detection in the ObjectAccess class. Any other order causes proplems in the MVC mechanism. If a property could not be accessed, now NULL is returned (instead of throwing an exception)
* FLOW3: (Validation) Moved the AbstractValidator and Validation interfaces to the Validator sub package
* Fluid: (ViewHelpers) Added support for an "arguments" attribute in the FormViewHelper which allows for specifying arguments for the action URI.
2 lines of code changed in 1 file:
FLOW3, TYPO3CR:
* persistence now supports properties of type \SplObjectStorage, fixes #2621
* general cleanup in persistence backend and data mapper
* thorough rewrite of the unit tests for persistence backend and data mapper
2 lines of code changed in 1 file:
FLOW3:
* class schemata now know about classes being managed by a repository
TYPO3CR:
* the persistence backend now detects references to aggregate roots and stores them as a proxy node
* added support for those object proxies to the node/object datamapper
22 lines of code changed in 1 file:
* FLOW3: (Persistence) Renamed the getObjects() method in the base repository to getAddedObjects()
7 lines of code changed in 1 file:
* FLOW3: (Persistence) Implemented magic findBy*() and findOneBy*() methods for the base repository. Resolves #1676 and closes #2603.
43 lines of code changed in 1 file:
FLOW3:
* added support for @identity to ClassSchema and ClassSchemataBuilder
42 lines of code changed in 2 files:
FLOW3:
* replaced @identifier annotation by @uuid
* fixed getUUID() on Persistence\Manager
3 lines of code changed in 1 file:
FLOW3:
* added findByUUID() to Persistence\Repository
* added getUUID() to Persistence\Manager
TYPO3CR:
* !!! now using SplObjectStorage->addAll() introduced with PHP5.3.0beta1
* added withUUID() matcher to Query
* added getUUID() to Backend
* some changes to query code related to new withUUID() matcher
67 lines of code changed in 2 files:
!!! Globally renamed all class files to the new shorter version. Resolves #2524
FLOW3: (Resource) Adapted the class loader and other related parts of FLOW3 to the new class filename convention
FLOW3: Moved the FLOW3 bootstrap into the F3\FLOW3 namepace
32 lines of code changed in 5 files:
FLOW3:
* moved and renamed cache frontend classes and interfaces, refs #2515
1 lines of code changed in 1 file:
FLOW3:
* fixed license name in @license annotation, fixes #2454
5 lines of code changed in 5 files:
FLOW3, TYPO3CR:
* replaced arrays indexed by spl_object_hash with \SplObjectStorage
* removed ClassSchem::MODELTYPE_REPOSITORY as it is no longer used
26 lines of code changed in 4 files:
FLOW3:
* changed license to LGPL v3 or later
70 lines of code changed in 5 files:
!!! 5.3.0alpha3 namespaces refactoring:
* changed namespace delimiter from :: to \
* all class references in namespaced code prepended by \
PHPUnit:
* adapted mock object handling to the new namespaces syntax
FLOW3:
* PropertyReflection now uses setAccessible() instead of array cast to access protected properties
PHPCR:
* added a missing interface already used for type hints
85 lines of code changed in 5 files:
Note: Although this commit contains the new File/Class Alteration Monitoring which is supposed to speed up FLOW3, a lot of speed optimizations are still missing and will follow during the next days.
* FLOW3: Started cleaning up the bootstrap. Addresses #2117
* FLOW3: Implemented a first version of a Class Alteration Monitoring which automatically flushes cache entries based on class reflection. Addresses #2284
* FLOW3: (Reflection) Refactored the Reflection Service so that information for one class can be flushed / rebuild individually instead of having to rebuild the whole reflection information. Resolves #2284
* FLOW3: (Cache) Fixed the *byTag() methods in the File Backend: If cache entry identifiers contained an underscore "_", the findByTag etc. didn't work any more. Now using "-" as an internal separator.
* FLOW3: (Utility) The temporary directory base is now set via a setter method instead of passing the whole FLOW3 settings to the constructor
* Testing: Adjusted the test runner to reflect the new bootstrap initialization methods
1 lines of code changed in 1 file:
FLOW3, TYPO3CR:
* Persistence: rewrote the way object trees are stored in the CR, fixes #1883, fixes #1882
TYPO3CR:
* Persistence: array keys are now preserved when persisting, fixes #1620
* Persistence: fixed error when persisting DateTime properties, fixes #2195
* changed the way properties are added to the Lucene index, fixes #1623, refs #1886
* fixed storage backend to enable use of namespaced nodetype names
Lucene, TYPO3CR:
* moved the KeywordAnalyser here from TYPO3CR
14 lines of code changed in 2 files:
FLOW3:
* object removal now works basically but leaves orphaned objects around, refs #1882
91 lines of code changed in 3 files:
FLOW3, TYPO3CR:
* the persistence framework no longer needs the @reference annotation, fixes #1620
TYPO3:
* removed @reference annotations
3 lines of code changed in 1 file:
* FLOW3: (Component) Renamed "component" to "object" - everywhere. That means we now have an Object Manager instead of a Component Manager, an Object Factory etc. Resolves #2119
Globally adjusted all code for the above change.
6 lines of code changed in 1 file:
TYPO3CR:
* refactored the way internal instances are handed around, avoiding injection in a few places (fixes the recent "invalid workspace name" error)
* isValidName() now rejects empty strings directly
FLOW3:
* adjusted the persistence initialization to pass in a persistence backend, thus avoiding injection (fixes the recent "invalid workspace name" error)
21 lines of code changed in 1 file:
COMMIT PART 1
* FLOW3: Implemented a YAML configuration source, resolves #1852
* Globally refactored code and converted configuration files to use the new YAML configuration format
Note: FLOW3 is now getting even slower because the whole YAML parsing results are not cached yet.
You can still use .php based configuration but it is recommended to switch over to YAML ASAP.
Documentation and speed improvements follow
20 lines of code changed in 2 files:
* FLOW3: (Component) Renamed the method Component::Factory->getComponent() to Component::Factory->create(). Resolves #1846
* FLOW3: (Component) Component::Factory->create() will now throw an exception on trying to create a component of scope != prototype
* FLOW3: (Component) The Component::Manager->getComponent() method can still be used as a last resort to retrieve components of any scope. However dependency injection for singletons and the component factory for prototype should always be the first choice!
Refactored all packages of the TYPO3 distribution to match the above changes.
Note: The test "F3::TYPO3CR::NodeTest::setPropertySetsValue" currently fails on my machine with the following message:
Error in setPropertySetsValue with data set #34 Detail
TYPO3CR/Classes/F3_TYPO3CR_Node.php:577
Unable to convert value of type string to Name: Namespace prefix is invalid
6 lines of code changed in 1 file:
FLOW3:
* the class schemata builder now sets an identifier property as regular property as well, before it was dropped from the list of properties.
12 lines of code changed in 1 file:
(19 more)