[root]/Classes/Reflection
Exception
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 224 (100.0%) | 5155 (100.0%) | 23.0 |
| robert | 64 (28.6%) | 2887 (56.0%) | 45.1 |
| k-fish | 151 (67.4%) | 1998 (38.8%) | 13.2 |
| sebastian | 8 (3.6%) | 270 (5.2%) | 33.7 |
| andi | 1 (0.4%) | 0 (0.0%) | 0.0 |
Removed everything in trunk after move to git.
0 lines of code changed in 25 files:
[-TASK] FLOW3: Removed @version keyword from files, resolves #8835.
0 lines of code changed in 9 files:
[~TASK] FLOW3 (Persistence): When persisting NULL values are now recorded and collection (array, SplObjectStorage) properties are restored as NULL if they contained NULL, resolves #6520.
[~TASK] FLOW3 (Persistence): Equality comparison in a query now works correctly when comparing against NULL, relates to #8299.
[+API] FLOW3 (Persistence): Query::isEmpty() has been added and can check for empty collection properties, relates to #8299.
[~TASK] FLOW3 (Persistence): The like() constraint now can be used case-insensitive (like equals); constraints do stricter checks on property and operand types.
13 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Reflection): ObjectAccess:setProperty() now also supports arrays as a subject. Resolves #8133.
[~TASK] Fluid (Tests): Removed one test in the TemplateVariableContainerTest - it checks something which would result in a fatal error anyway.
14 lines of code changed in 1 file:
[~TASK] FLOW3: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, resolves #7682.
[~TASK] Fluid: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] Kickstart: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] Testing: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682.
[~TASK] TypoScript: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682. Renamed on exception to follow CGL.
[~TASK] TYPO3: Replaced generic exceptions by exceptions coming from the defined exception hierarchy, relates to #7682. Renamed existing exceptions to follow CGL.
3 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Followup to ObjectAccess changes, now really works as expected with stdClass instances when looking for settable property names.
15 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): ObjectAccess now works as expected with stdClass instances, i.e. it sees all defined properties as gettable and settable.
8 lines of code changed in 1 file:
[~TASK] TYPO3: Various fixes to code and documentation, added new unit tests.
[~TASK] TypoScript: Non-functional comment fixes.
[+BUGFIX] FLOW3 (Reflection): ObjectAccess now handles ArrayAccess implementations correctly.
1 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Removed a var_dump from the ObjectAccess code.
0 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): ObjectAccess->getPropertyPath() now correctly processes Closures located in an array or object implementing ArrayAccess.
1 lines of code changed in 1 file:
[~TASK] FLOW3 (Core): The bootstrap now omits classes whose name ends with "Exception" when initializing the ReflectionService. Resolves #7688
[+BUGFIX] FLOW3 (Reflection): ObjectAccess->getProperty() now allows numeric indexes and supports \ArrayAccess objects. Resolves #7687
11 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): Introduced a new parameter for ObjectAccess::getPropertyPath so the caller of the method can decide if closures should be evaluated or not. Related to #7588 and r4256.
4 lines of code changed in 1 file:
[!!!][+FEATURE] FLOW3 (Reflection): If an object on the path given to ObjectAccess::getPropertyPath() is a Closure, it is executed and the result is processed further. This means it is currently NOT possible to the closure itself, as it is directly executed. Resolves #7588.
[+BUGFIX] FLOW3 (Reflection): ObjectAccess::getPropertyPath now also works with classes implementing ArrayAccess.
8 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Reflection): ObjectAccess::getPropertyPath does support Arrays now, resolves #6390, relates to #7203.
18 lines of code changed in 1 file:
[-TASK] FLOW3 (Reflection): Removed unused code, resolves #71763.
0 lines of code changed in 1 file:
[+TASK] FLOW3 (Object): The Abstract Object Container now gives a hint / throws an InvalidArgumentException if object names or class names were specified with a leading backslash. Relates to #7198
[+BUGFIX] FLOW3 (Reflection): The Reflection Service now ignores leading backslashes in class names specified in annotations. Resolves #7198
[+BUGFIX] FLOW3 (Persistence): The Persistence Manager now retrieves repository objects by object name instead of class name. Resolves #7199
1 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Determining method parameter reflection data now gives @param precendence over type hints, this fixes property mapping onto typed collections (e.g. related posts in the Blog).
7 lines of code changed in 2 files:
[~TASK] FLOW3 (Reflection): When building class schemata properties pointing to objects not being declared entity or valueobject are skipped now.
5 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Reflection): When building class schemata the ReflectionService now checks value objects for a constructor and no setters, resolves #6868.
[~TASK] Party: PersonName now has a constructor and no longer any setters.
27 lines of code changed in 2 files:
[+FEATURE] FLOW3 (Persistence): Reimplemented lazy loading, resolves #6120. See updated manual for details.
[+FEATURE] FLOW3 (Persistence): Lazy loaded SplObjectStorage can now be counted without triggering activation, resolves #3337.
[~API] FLOW3 (Persistence): Moved the BackendInterface into the Backend namespace.
[-API] FLOW3 (Persistence): Removed the DataMapperInterface. Backends should follow the defined data structure.
[~TASK] FLOW3 (Persistence): Optimized clean data handling while dirty checking, reducing memory usage.
28 lines of code changed in 2 files:
[+BUGFIX] FLOW3 (Reflection): ObjectAccess know correctly recognizes isFoo() getter methods for boolean properties. Fixes #6647
13 lines of code changed in 1 file:
[-CONFIGURATION] FLOW3: AOP is now always enabled. The switch for disabling only had a theoretical meaning anyway.
[-CONFIGURATION] FLOW3: Removed the switch for reflection class change detection. This function is now bound to the more general "monitor: detectClassChanges" setting.
[~CONFIGURATION] FLOW3. Renamed the setting for monitoring class changes from "monitor: fileMonitor: enable" to "monitor: detectClassChanges". The changeDetectionStrategy option has been removed and must be configured through the Objects.yaml configuration if neccessary.
[+BUGFIX] FLOW3 (Object): The code caches are now flushed correctly if a class file has changed. Previously it could happen that AOP proxy classes were not found if its target class had been changed.
1 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Object): Implemented a static object container which is automatically built. It's essentially a hardcoded version of the autowired and configured object dependencies - just a lot faster. Many tests are still missing, but the version in this commit should be mostly functional. Addresses #3740 and resolves #2123.
[!!!][~API] FLOW3 (Object): Heavily refactored the Object Manager and its tests. The most important change is the removal of the Object Factory whose create() method is now located in the Object Manager. Furthermore, the getObject() method has been renamed to get() and a few minor important API functions within the Object Manager have been modified. This commit also contains a script which allows for semi automatically migrating existing code to the new API (see ./flow3 migrate objectmanagerusage). Resolves #6562
[~TASK] FLOW3 (Configuration): The Configuration Manager and its YAML source now doesn't depend on the YAML package anymore but refers to a YAML parser class within the FLOW3 package. Resolves #6564.
1 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): Fixed a runtime notice in ReflectionService, fixes #6162.
[~TASK] FLOW3 (Package): Now a single package can be symlinked.
2 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Property): The PropertyMapper now only maps to settable properties and no longer relies on the class schema to determine the type for the target property - it uses the setter parameter's type if available and falls back to the class schema if needed. Resolves #5612.
[+FEATURE] FLOW3 (Reflection): When reflecting classes entities and value objects are checked for being declared prototype, resolves #6141.
[+FEATURE] FLOW3 (Reflection): ClassSchema now enforces consistency when it comes to value objects and identity/identifier properties, resolves #6140, resolves #6142.
[+BUGFIX] FLOW3 (Persistence): Fixed left over JCR constant in AbstractSqlBackend, fixes #6153.
73 lines of code changed in 3 files:
[+BUGFIX] FLOW3 (Reflection): ObjectAccess::getProperty() now throws an exception when a property does not exist, fixes #6005.
[~TASK] FLOW3 (Reflection): GenericObjectValidator now checks properties even if they are not accessible normally.
12 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Renamed some testcases to match their test subjects, removed an outdated todo annotation in PropertyReflection.
0 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): Fixed a bug that would occur if an array with a non-existing key would be passed to ObjectAccess::getProperty(), fixes #6073
14 lines of code changed in 1 file:
[~TASK] FLOW3 (Documentation): Updated the Coding Guidelines: removed inconsistent exceptions from the general class naming rules. Also added the rule that names of aspect classes must end with "Aspect". Relates to #5658
[~TASK] Global: Renamed many classes and interfaces in order to be consistent with FLOW3's naming rules. A migration script to update third-party applications will follow soon. Resolves #5658
1101 lines of code changed in 2 files:
[+FEATURE] FLOW3 (MVC): If the result of an action method is an object providing a __toString() method, this method will be called by the ActionController and its result will be added to the response content. Resolves #5995
[+FEATURE] FLOW3 (MVC): The routes property @controller now allows the use of namespace separators for referring to classes in file / class structure below "Controllers". Resolves #5998
[~TASK] FLOW3 (Documentation): Fixed a few typos in the AOP documentation.
12 lines of code changed in 1 file:
[+FEATURE][+API] Fluid (ViewHelper): The Resource view helper now supports Resource objects: Like before you can provide a path and package key pointing to a static package resource or you pass it a resource object. Relates to #5822
[~TASK][~API] Fluid (ViewHelper): The ActionViewhelper now produces only absolute URIs. The argument "absolute" is now obsolete.
[~TASK] Fluid (ViewHelper): Defined additional reserved keywords "on", "off", "yes" and "no" in the TemplateVariableContainer.
[~TASK] FLOW3 (Resource): Renamed a few classes in FLOW3/Resource/: "Manager" -> "ResourceManager", "Publisher" -> "ResourcePublisher". Relates to #5658
[~TASK] FLOW3 (Cache): Defined a new "magic" tag for the cache frontends: TAG_PACKAGE can now be used wherever cache entries should be flushed if any package is activated or deactivated. Relates to #5774
[~TASK] FLOW3: Replaced occurrences of "[fF]ileName" with "[fF]ilename".
[~TASK] FLOW3 (Package): isPackageAvailable() and isPackageActive() no longer throw exceptions if the given parameter is not a valid string. However they still return FALSE of course in those cases.
[+FEATURE][+API] FLOW3 (Reflection): Added a new method isMethodTaggedWith() to the Reflection Service.
[+FEATURE][+API] FLOW3 (Resource): Completely reworked the resource management module. It now supports persistent resources, file uploads and provides a more flexible publishing mechanism. Resolves #5822
[+FEATURE] FLOW3 (Resource): Implemented an Object Converter for resources which can handle file uploads.
[~TASK] FLOW3 (Utility): Renamed Files::mimeTypeFromFilename() and Files::mediaTypeFromFilename() to Files::getMimeTypeFromFilename() and Files::getMediaTypeFromFilename() respectively.
[~CONFIGURATION][~API] FLOW3 (Resource): Changed the names of settings for the Resource module. Please refer to the updated Settings.yaml for the new options.
[~TASK] FLOW3 (Documentation): Documented the new Resource module.
[~TASK] ExtJS: Updated the view helpers to match the new Resource framework. Relates to #5822
[~TASK] FLOW3: Implemented additional rewrite rules in the .htaccess file to support the new static resources publish mechanism.
17 lines of code changed in 1 file:
[~TASK] FLOW3 (Cache): Renamed the DDL file for the PDO cache backend.
[~TASK] FLOW3 (Object): fixed tiny typo in an exception message.
[~TASK] FLOW3 (Reflection): class schemata accept bool, int and double aliases now, normalize also types in collections.
[~TASK] FLOW3 (Validation): some (non-functional) renaming inside.
27 lines of code changed in 1 file:
[~TASK] FLOW3 (AOP): Removed the "Resource" sub package from the blacklisted sub packages because it now contains a class (Resource) which needs to be persistable.
[-FEATURE][!!!] FLOW3 (MVC): For now removed the request hash feature (HMAC) because it mocks a level of security for incoming data which it doesn't provide. The current mechanism effectively puts control over content security into Fluid templates and it doesn't belong there. Although there might be a need for a request hash, the content security must be implemented by other means. Relates to #4960 and relates to #5659.
[+FEATURE] FLOW3 (MVC): Implemented support for file uploads. Uploading files is cooperation between the Web Request Builder, the Property Mapper and the Resource sub package. The solution included in this commit provides handling of incoming files (including nested arguments) and transparent conversion into Resource objects. Resources (files) are only stored once, no matter how often they are uploaded or what original filename they carried. Still missing: view helper, documentation and automatic purging of unused resource files. Addresses #342.
[~API][!!!] FLOW3 (Property): Renamed the property mapper class to "PropertyMapper" (was just "Mapper" before). Relates to #5658
[+FEATURE] FLOW3 (Property): The Property Mapper now supports a mechanism called Object Converters. These convertes enable the mapper to convert strings, arrays or numbers to certain objects, for example a unix time stamp to a DateTime object. Resolves #5660.
[+FEATURE] FLOW3 (Reflection): Implemented the methods "isPropertySettable" and "isPropertyGettable" for the ObjectAccess class.
[~TASK] FLOW3 (Resource): Renamed the StreamWrapper class to StreamWrapperAdapter
[+FEATURE] FLOW3 (Resource): Implemented a ResourceObjectConverter which is capable of converting arrays or strings to Resource objects.
[+FEATURE] FLOW3 (Utility): Implemented a setValueByPath() method for the Array utilities class.
[+FEATURE] FLOW3 (Utility): Added support for the _FILES super global to the Environment class. The array of information about uploaded files can be obtained in a much cleaner way than PHP provides it by the new getUploadedFiles() method.
28 lines of code changed in 1 file:
[~TASK] FLOW3 (Reflection): Split the cache in two parts, one using the VariableFrontend (for reflection data) and one using the StringFrontend (for simple status data).
[~TASK] FLOW3 (Core): The cache used to cache revision data is now using the StringFrontend.
28 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (AOP): The built proxy classes now retain vital method annotations, fixes #5484
[~TASK] FLOW3 (Security): Some tweaks to the HashService, renamed generateHash() to generateHmac(), validateHash() to validateHmac()
[!!!][+CONFIGURATION] FLOW3 (Security): the HashService now needs an encryptionKey to be set in it's settings
[~TASK] FLOW3 (MVC): Tweaked ActionController::checkRequestHash() a little
12 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): If a parent class was modified, the Reflection Service will now also flush the reflection cache of classes inheriting this class. Fixes #4952
66 lines of code changed in 2 files:
[~TASK] FLOW3: Added @api annotations on class level and adjusted CGL to explain class-level @api handling.
2 lines of code changed in 2 files:
[+TASK] FLOW3 (Reflection): ObjectAccess->getProperty now supports not only ArrayObjects, but also simple arrays.
6 lines of code changed in 1 file:
[+TASK] FLOW3 (Reflection): Added a new helper method in ObjectAccess which can traverse object graphs (with the "."-Syntax)
[+TASK] Fluid (ViewHelpers): Refactored the generation of the hidden identity field.
[+FEATURE] Fluid (ViewHelpers): properties of nested objects are now correctly outputted, and the identity fields for the nested objects are generated as well. Related to #4218.
19 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Reflection): Class schemata are now really built when needed, fixes #4666.
1 lines of code changed in 1 file:
(61 more)