[root]/Tests/Object
Configuration
(0 files, 0 lines)
Fixture
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 127 (100.0%) | 6240 (100.0%) | 49.1 |
| andi | 13 (10.2%) | 2699 (43.3%) | 207.6 |
| robert | 49 (38.6%) | 2634 (42.2%) | 53.7 |
| k-fish | 65 (51.2%) | 907 (14.5%) | 13.9 |
Removed everything in trunk after move to git.
0 lines of code changed in 21 files:
[+BUGFIX] FLOW3 (Object): Object manager now returns cloned object configurations, fixes #3742; made some tests test what they were supposed to test.
45 lines of code changed in 1 file:
[~TASK] FLOW3: Fixed method parameter documentation found by new reflection service checks.
[+FEATURE] FLOW3 (Persistence): added removeAll() to base repository, resolves #3852.
4 lines of code changed in 1 file:
[+FEATURE] FLOW3 (AOP): Parse errors in AOP proxy code (introduced by a potential bug) will now be treated properly by throwing a meaningful exception.
[-FEATURE] FLOW3 (Configuration): Removed support for PHP-based configuration files. This caused a lot of overhead and in practice we want everyone to use YAML files anyway.
[+FEATURE] FLOW3 (Configuration): Implemented support for cached ("compiled") configuration. When the new FLOW3.yaml option "configuration: comileConfigurationFiles" is turned on, all configuration will be compiled into a PHP file which from then on is read instead of parsing the YAML files everytime. Please see the updated documentation for more information. Resolves #4460
[~TASK] FLOW3 (Configuration): Completely refactored the Configuration Manager and a few related classes. Its methods now each fullfil a clear purpose and work more effective. The method names now also better describe what each method is doing. Resolves #2711
[-TASK] FLOW3 (Configuration): Removed the WritableSourceInterface - this is now a standard feature of a configuration source.
[+TASK] FLOW3 (Core): Refactored and cleaned up the FLOW3 Bootstrap. Constants are now defined by a static method and all configuration related functionality has been moved to the Configuration sub package. Also replaced the evil die() calls by more handsome exit() calls. Relates to #2117
[+TASK] FLOW3 (Object): Moved some object initialization code from the Bootstrap to the Object Manager and further cleaned up the Object Manager's code. Wrote additional tests - now this class has 100% test coverage. Relates to #2117
[+API] FLOW3 (MVC): Added a few @api annotations to properties of the AbstractController and ActionController.
[-API] FLOW3 (Utility): Removed the getSAPIType() method from the Environment class. Just use the constant FLOW3_SAPITYPE instead. Resolves #3567 and relates to #2117.
193 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Persistence): The persistence framework (Dirty Monitoring Aspect to be exact) now traces if an entity is a clone of an existing (= reconstituted) entity. This allows for intelligently rendering a hidden identity field in forms by Fluid's Form Viewhelper. Relates to #4170
[+BUGFIX] Fluid (ViewHelpers): Added an additional check for rendering the hidden identity field: the hidden field is only rendered for "new" objects if they are in fact a clone of an existing object. Resolves #4170
[~TASK] FLOW3 (Core): Only touched the bootstrap so that all caches are flushed on the next hit, because old proxy classes would call a fatal error otherwise.
2 lines of code changed in 1 file:
* [+FEATURE] FLOW3 (Object): The object serializer is now able to (de)serialize ArrayObjects.
49 lines of code changed in 1 file:
[~BUGFIX] FLOW3 (Object): The object serializer now handles persitence objects correctly.
[~TASK] FLOW3 (AOP): Removed the FLOW3 Security subpackage from the AOP blacklist, to be able to store roles in the content repository.
[~BUGFIX] FLOW3 (Core): Changed the initialization order to initialize the persistence framework early engough for the new session scope.
[~BUGFIX] Testing: Changed the framewor initialization order to initialize the persistence framework early engough for the new session scope.
[+FEATURE] Party: Added a basic account model.
[+FEATURE] FLOW3 (Security): Added a new authentication provider and token that uses account objects for authentication.
[-FEATURE] FLOW3 (Security): Removed the RSA authentication mechanism for now.
[~CONFIGURATION] FLOW3: Changed the policy configuration according to the new syntax.
69 lines of code changed in 2 files:
[-TASK] FLOW3: Removed (some more) file level docblocks.
[-TASK] Testing: Removed (some more) file level docblocks.
0 lines of code changed in 5 files:
* [~TASK] FLOW3 (Security): Removed a debug statement.
* [~BUGFIX] FLOW3 (Object): The session registry now explicitly checks, if the session data is an array.
19 lines of code changed in 1 file:
* [~TASK] FLOW3 (Object): Refactored the session registry. Extracted the object (de)serialization into a generic object serializer class.
1028 lines of code changed in 2 files:
[+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 5 files:
[+BUGFIX] TYPO3CR (FLOW3 Persistence): Even dependencies which are not properly tagged with @transient annotations are now reinjected. Previously the DataMapper would set those properties to NULL. Resolves #3889
[~TASK] FLOW3 (Object): Optimized the autowireProperties() method a bit, using more efficient reflection methods.
4 lines of code changed in 1 file:
[~TASK] FLOW3 (Core): Removed the manual inject* calls for the Session Registry and instead created some configuration in the Objects.yaml.
[~TASK] FLOW3: Globally replaced occurrences of RuntimeException with more meaningful exceptions.
1 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Core): The session and session object registry are now initialized correctly in the bootstrap.
[+FEATURE] FLOW3 (Object): Integrated the new session scope feature into the object manager.
[+BUGFIX] FLOW3 (Object): The session registry now takes care of registering the correct shutdown methods.
126 lines of code changed in 2 files:
[+FEATURE] FLOW3 (Object): The SessionRegistry now retrieves persited objects from the persistence framework.
160 lines of code changed in 1 file:
[+API] FLOW3 (Object): Added a new method getObjectNameByClassName() to retrieve the object name by a given class name.
[~TASK] FLOW3 (Reflection): setValue() in a property reflection is now able to set private properties.
[+TASK] FLOW3 (Core): Prepared the bootstrap for the upcoming session scope.
[+FEATURE] FLOW3 (Object): Implemented the first part of the new session registry, which is the foundation of the upcoming session scope.
1229 lines of code changed in 3 files:
[FIX] FLOW3 (AOP): Fixed changes introduced with r2640, fixes #3650
[FIX] FLOW3 (Object): Fixed changes introduced with r2640, fixes #3650
[TASK] TYPO3CR (Tests): Adjusted tests and fixtures to comply with new solution for #3650
2 lines of code changed in 1 file:
* [+FEAT]: FLOW3 (AOP): AOP proxies now support classes implementing an interface declaring a __construct() signature. Resolves #3650
* [+FEAT]: FLOW3 (Object): The object manager handles the new AOP proxies.
* [TASK]: FLOW3 (Persistence): Changed some fixtures to comply to the now AOPProxyInterface.
19 lines of code changed in 1 file:
FLOW3:
* removed useless use statements from three testcases
0 lines of code changed in 1 file:
* FLOW3: (Object) The object factory now throws an exception if the object name passed to create() starts with a backslash.
11 lines of code changed in 1 file:
* FLOW3: Renamed a few classes / moved them in the namespaces hierarchy to make naming more consistent. Resolves #2515
* FLOW3: (MVC) Removed the AbstractWidget
86 lines of code changed in 3 files:
* FLOW3: (Object) The Object Builder now throws an exception if no default implementation for an object type could be found and an instance of this object type should be built.
* FLOW3: (Object) Introduced a new marker interface "ProxyInterface" which must be implemented by all proxy classes.
* FLOW3: (Reflection) Made the getDefaultImplementationClassNameOfInterface() aware of proxyies: If exactly two classes implement an interface and one of them implements the Proxy marker interface, the name of this class is returned. Fixes #3027
13 lines of code changed in 1 file:
This commit mostly consists of speed optimizations.
* FLOW3: (AOP) Fixed a few pointcut filters which crashed while trying to match against an automatically created constructor which didn't existing originally in the target class.
* FLOW3: (AOP) The ProxyClassBuilder won't add a __wakeup() method to each proxy class anymore. Instead such a method must be introduced manually.
* FLOW3: (Object) Removed the check for abstract classes in the Object Manager's registerObject() method. It's still not allowed to do that but omitting the check means less use of reflection = more speed and PHP will complain about the abstract class anyway.
* FLOW3: (Object) Optimized the use of the reflection service in the Object Manager's registerObject() method.* FLOW3: (Cache) The FileBackend now logs if entries are set instead of removed. Still not the final solution (for logging in general that is)
* FLOW3: (Object) Optimized the instantiation of classes in the ObejctBuilder: The use of ReflectionClass::newInstanceArgs() is now avoided in most cases
* FLOW3: (Object) !!! changed the name of the autowiring setting: it is now "autowiring" instead of "autoWiringMode"
* FLOW3: (Reflection) Optimized the caching of reflection data: All classes which were reflected after the cache has been loaded will be added to the cache during shutdown. Therefore they will be available earlier on the next script run.
* FLOW3: (Reflection) The reflection service now logs important actions for debugging.
* FLOW3: (Log) Enabled the Production log by default (see .../Data/Logs/FLOW3_Production.log)
* FLOW3: Switched autowiring off for a few objects which are loaded at a time when the Reflection Service is not yet initialized and therefore costy to use.
5 lines of code changed in 3 files:
* FLOW3: (AOP) Renamed all occurrences of AOPProxy* to FLOW3_AOP_Proxy_*
* FLOW3: (Persistence) Prefixed names of the methods introduced by the DirtyMonitoringAspect
1 lines of code changed in 1 file:
* FLOW3: (Object) In the Object Builder renamed createSkeleton() to createEmptyObject and all *SetterProperties() method to *Propertiers().
* FLOW3: (Object) Moved the thawProperties() method to the TYPO3CR package
* TYPO3CR: Cleaned up (a bit) the Data Mapper test case. Needs more work! Refs #2623
17 lines of code changed in 1 file:
FLOW3:
* __wakeup() is no longer handled in a special way in AOP to support persistence, fixes #1724
* changed the persistence aspect to no longer attach to __wakeup(), refs #1724
* replaced reconstituteObject() by three seperate methods to allow two-step reconstitution, refs #1849
TYPO3CR:
* split initialize() into seperate methods in FLOW3 persistence backend
* the FLOW3 persistence DataMapper now uses two-step reconstitution allowing to load bidirectional object relations
* the FLOW3 persistence DataMapper asks the object Builder to inject setter dependencies during reconstitution, fixes #1849
30 lines of code changed in 1 file:
* FLOW3: (Monitor) Fixed the automatic flushing of the Class File Monitor. This didn't work anymore since class filenames have been shortened to the unqualified class name.
* FLOW3: (MVC) Removed a few unused methods and fixed the signature of canProcessRequest()
* FLOW3: (MVC) Implemented support for definition of a default view: If $this->objectViewName is set to the object name of a view (eg. F3\Fluid\View\TemplateView), this view is used instead of the view suggested by the Router.
* FLOW3: (Object) Implemented support for Property Injection! Refer to the FLOW3 Reference for some examples.
* FLOW3: (Resource) Fixed the Resource Publisher testcase.
63 lines of code changed in 1 file:
* FLOW3: (Package) Implemented support for multiple package directories and symlinked packages. This will surely break your current installation - some documentation and fixes for the distributions are on the way ...
* FLOW3: !!! Removed the FLOW3_PATH_PACKAGES constant. Please use relative packages within your own package or ask the Package Manager for paths if you need one.
* FLOW3: (Testing) Quick fix for the only-execute-this-testcase-function in the test runner (by Karsten)
* FLOW3: (Resource) Implemented a feature for publishing package-independent resources: Just place any installation specific resources into the /Data/Resources/Public folder. Kind of a "fileadmin" folder for FLOW3.
* FLOW3: (Resource) Resources are not mirrored anymore in CLI context
* FLOW3: Cleaned up a few testcases
9 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
63 lines of code changed in 6 files:
FLOW3:
* fixed license name in @license annotation, fixes #2454
9 lines of code changed in 6 files:
This is a big commit (sorry - not exactly Continuous Integration ...)
While all seems to be fine and stable, many features introduced in this commit are not complete. Especially AOP Proxy Caching, Logging (API), the System Logger and the Signal Slots mechanism need some further work.
* TYPO3 Distribution: Added a Log directory
* TYPO3 Distribution: Disabled security (for now) because some thing need to be refactored and tested again after this commit
* FLOW3: Further cleanup of the bootstrap. Addresses #2117
* FLOW3: Removed manual registration of objects from all classes and created an Objects.yaml configuration instead which declares the objects and configures their dependencies. This manual registration is necessary for objects such as the AOP Framework because at the time it is created, the Object Manager is not yet fully initialized.
* FLOW3: (AOP) Refactored and cleaned up the AOP initialization process. Resolves #441.
* FLOW3: (AOP) Completely rewrote all unit tests and added many new ones. Now no AOP test relies on the TestPackage anymore. Addresses #1868
* FLOW3: (AOP) Improved the automatic documentation rendering of the Proxy Class Builder. Resolves #35.
* FLOW3: (AOP) Externalized the creation of the AOP proxy and instead use the Caches.yaml configuration.
* FLOW3: (AOP) Removed all use of PHP's Reflection classes and replaced them with calls to the Reflection Service
* FLOW3: (AOP) Converted all classes involved in the proxy building process from static into dynamic calls
* FLOW3: (Cache) Introduced an (semi) automatic cache registration feature which assures that all necessary caches are registered when file changes are detected. In order to register a cache, just define it in the new "Caches.yaml" configuration file. See the FLOW3 package for examples. Resolves #1787
* FLOW3: (Cache) Wrote more tests for the File Backend. Resolves #1843
* FLOW3: (Configuration) Improved the performance of the special configuration management
* FLOW3: (Configuration) Added support for Caches.* configuration
* FLOW3: (Error) The exception handlers now log uncaught exceptions to the System Logger
* FLOW3: (Monitor) Introduced a new sub package "Monitor" which provides a mechanism for automatic detection of changes on monitored files. If monitored files or directories (the latter not yet implemented) change, a signal is emitted which can be catched by a slot taking further action. Currently all cache entries tagged with a class tag are flushed automatically if a class file changes.
* FLOW3: (Log) Introduced a special System Logger which is created automatically and can be injected if needed. Although it works quite well already, the general concept of injecting the logger and the LoggerInterface itself is not final! Watch for log files in the Data/Log/ directory when running TYPO3 / FLOW3 in development context.
* FLOW3: (Log) Introduced a Logger Factory for use in Objects configuration. Warning: the API might still change
* FLOW3: (Log) Made the SEVERITY constants conform to RFC3164 and PHP's LOG_* constants
* FLOW3: (Object) Refactored and detached more unit tests from the TestPackage. Addresses #2123
* FLOW3: (Object) Implemented an early configuration parse step which allows for configuring objects in the Objects.yaml file of the FLOW3 package even before the Package Manager is initialized.
* FLOW3: (Object) Introduced a lifecycle shutdown method (default is "shutdownObject") which can be used as a clean alternative to __destruct().
* FLOW3: (Reflection) Added new API methods: isClassReflected, getInterfaceNamesImplementedByClass, isMethodFinal, isMethodStatic, isMethodPublic, isMethodProtected, isMethodPrivate
* FLOW3: (Reflection) getMethods() now returns information about the method visibility
* FLOW3: (Security) Refactored the ACL Policy Service - might still need some final work
* FLOW3: (SignalSlot) Fixed some small issues in the Dispatcher and implemented support for System Logger
* FLOW3: (Utility) Fixed a bug in Arrays::getValueByPath
* Testing: Implemented a method buildAccessibleProxy() in the BaseTestCase which allows for conveniently calling protected methods of a class. See FLOW3 unit tests for examples.
* TestPackage: Removed many classes which became obsolete due to the AOP tests refactoring. refs #1868
181 lines of code changed in 5 files:
FLOW3, Lucene, PHP6, PHPCR, Smarty, Testing, TYPO3, TYPO3CR, TypoScript:
* fixed broken @version $Id$ annotations that got hosed during new namespace refactoring. Sorry!
12 lines of code changed in 6 files:
FLOW3:
* changed license to LGPL v3 or later
87 lines of code changed in 6 files:
* FLOW3: (Object) Implemented a new feature which allows for indirect injection of objects. Instead of specifying the name of the object to be injected directly in the objects configuration, a reference to a setting can be made by using the setting path as the object name.
* FLOW3: (Documentation) Updated the documentation accordingly.
38 lines of code changed in 1 file:
* FLOW3: (Object) Implemented support for magic injectSettings() methods. Resolves #2297
* FLOW3: (Documentation) Added documentation for the injectSettings feature.
17 lines of code changed in 1 file:
* FLOW3: (Object) Implemented support for injection of Setting values. Resolves #2384
* FLOW3: (Documentation) Updated documentation (partly) and realized that it needs some cleanup ...
* FLOW3: (Utility) Implemented an Array utility function called "getValueByPath()"
59 lines of code changed in 2 files:
* FLOW3: (Cache) Introduced two new interfaces - for Cache frontends and backends
* FLOW3: (Cache) Fixed an issue with the File Backend: initializeObject() overrode the cacheDirectory setting even if it has been set through setter injection
* FLOW3: (Object) The property / argument type "reference" has been renamed to "object" (see also updated documentation)
* FLOW3: (Object) The object configuration option "constructorArguments" has been renamed to "arguments"
* FLOW3: (Object) In the code "Constructor Arguments" are now referred to simply as "Arguments"
* FLOW3: (Object) Implemented support for custom factories. Resolves #2110
* FLOW3: (Object) Implemented support for specifying arguments / properties for objects which are injected. Resolves #2109
* FLOW3: (Resource) Added the file_exists() check again to the Class Loader. Ommitting the check resulted in hard-to-track error messages
* FLOW3: (Documentation) Updated the documentation. Still missing: custom factories and syntax of feature #2109
* FLOW3: (TestPackage) Adopted and cleaned up the Object related tests
286 lines of code changed in 5 files:
FLOW3:
* refactored a bunch of unit tests so they no longer need a real FLOW3 to run, refs #2123
436 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
282 lines of code changed in 6 files:
* Fixed several global typehints (eg. DateTime > ::DateTime)
* Removed / fixed non existent classes used in some typehints
* FLOW3: (Object) Optimized the setter autowiring method: It now uses the Reflection Service instead of its own reflection
* FLOW3: (Reflection) Implemented a new API method "getMethodParameters"
* FLOW3: (MVC) Fixed a few Dispatcher tests which were not providing proper mock objects (and now exploded)
* PHPCR: Fixed type hinting in QueryObjectModelFactoryInterface::join()
2 lines of code changed in 1 file:
(4 more)