Extbase:
authorSebastian Kurfürst <sebastian@typo3.org>
Fri, 10 Jul 2009 15:42:28 +0000 (15:42 +0000)
committerSebastian Kurfürst <sebastian@typo3.org>
Fri, 10 Jul 2009 15:42:28 +0000 (15:42 +0000)
commitdb92f57dda1cba7753855c200fb001ba47fc8585
tree3bdfb1f9e74f1ad8e9a73f68320710ede8e3191d
parent8b698268a112f55d7c7db6ccde2fecf2d0a98f77
Extbase:
(Changes by Jochen)
This commit merges the rewrite of the persistence layer back to trunk. It will probably break your existing installation. Please check out fluid and blog_example again.
* Implemented an Object Manager (a wrapper for t3lib_div::makeInstance())
* !!! Backport of the Query and the Query Object Model from FLOW3.
* !!! Removed Repository->fetch*()
* Splited the functionality of the Object Relational Mapper into the Persistence Backend, the Data Mapper and the SQL Storage Backend.
* Implemented the Lazy Loading Proxy.
* supported Request types is now Tx_Extbase_MVC_Request instead of Tx_Extbase_MVC_Web_Request.
* Changed _reconstituteProperty() to _setProperty() (according to FLOW3).
* Added _getProperty() to the Domain Object.
* The Dispatcher now instanciates and uses a PersistenceManager to commit changes.
* Added TypoScript converter method (to convert from new TS to classic TS). Fixes #3293.
* Renamed SqlBackend to Typo3DbBackend
* Now using constants in Tx_Extbase_Persistence_PropertyType instead of Tx_Extbase_Persistence_Mapper_ColumnMap
* Improved conversion from table value to property value
* Persistence_Repository: findByUid() checks now for positive integer
* Fixed: Only Aggregate Roots are now registered as Reconstituted Objects
* !!! Added _isNew() to the Domain Object Interface
* Revision of the Persistence Backend (CRUD operations work now - again)
* Fixed Query Object Model "UpperCase"
* Implemented addRow(), deleteRow() and updateRow()
* Fixed: _memorizeCleanState() now clones a property value if it is an object
* Argument->findObjectByUid() memorizes now the clean state (todo: check if the object is an Aggregate Root)
* Removed unnecessary method getRelations()
* Fixed wrong class name of PropertyError; resolves issue #3855
* Fixed typo in Persistence Query; resolves issue #3831
* Changed: Equivalent Value Objects (all properties are equal) are now persisted only once
* Backport and enhanced several Unit Tests (not finished yet)
* Enhanced Base Test Case
* Changed signature of hasValueObject()
* Changed: hasValueObject() returns the uid of the already persisted value object - if any
* Fixed: relation tables are now filled with the right values if a value object already exists in the database
* Changed: The Persistence Manager and the Query Factory are now "injected" into the Arguments and Argument
* Deleted obsolete files
119 files changed:
typo3/sysext/extbase/Classes/Controller/StandardController.php
typo3/sysext/extbase/Classes/Dispatcher.php
typo3/sysext/extbase/Classes/DomainObject/AbstractDomainObject.php
typo3/sysext/extbase/Classes/DomainObject/AbstractEntity.php
typo3/sysext/extbase/Classes/DomainObject/DomainObjectInterface.php
typo3/sysext/extbase/Classes/MVC/Controller/AbstractController.php
typo3/sysext/extbase/Classes/MVC/Controller/Argument.php
typo3/sysext/extbase/Classes/MVC/Controller/Arguments.php
typo3/sysext/extbase/Classes/MVC/Controller/ControllerContext.php
typo3/sysext/extbase/Classes/Object/Exception.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/CannotBuildObject.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/CannotReconstituteObject.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/InvalidClass.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/InvalidObject.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/InvalidObjectConfiguration.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/ObjectAlreadyRegistered.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/UnknownClass.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/UnknownInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/UnknownObject.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/UnresolvedDependencies.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Exception/WrongScope.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/Manager.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/ManagerInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/RegistryInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Object/TransientRegistry.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Backend.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/BackendInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Exception/RepositoryException.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Exception/UnknownObject.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Exception/ValueFormatException.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/IteratorInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/LazyLoadingProxy.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Manager.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/ManagerInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Mapper/ColumnMap.php
typo3/sysext/extbase/Classes/Persistence/Mapper/DataMap.php
typo3/sysext/extbase/Classes/Persistence/Mapper/DataMapper.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Mapper/ObjectRelationalMapper.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/PreparedQuery.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/PreparedQueryInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/PropertyType.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/AndInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/BindVariableValue.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/BindVariableValueInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/ChildNodeJoinCondition.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/ChildNodeJoinConditionInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/Comparison.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/ComparisonInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/ConstraintInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/DynamicOperand.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/DynamicOperandInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/EquiJoinCondition.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/EquiJoinConditionInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/Join.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/JoinConditionInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/JoinInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/Literal.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/LogicalAnd.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/LogicalNot.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/LogicalOr.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/LowerCase.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/NotInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/Operand.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/OperandInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/OrInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/PropertyValue.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/PropertyValueInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModel.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModelConstantsInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModelFactory.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModelFactoryInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModelInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/Selector.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/SelectorInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/SourceInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/StaticOperand.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/StaticOperandInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QOM/UpperCase.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Query.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QueryFactory.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QueryFactoryInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QueryInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QueryResult.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/QueryResultInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/RangeIterator.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/RangeIteratorInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Repository.php
typo3/sysext/extbase/Classes/Persistence/RepositoryInterface.php
typo3/sysext/extbase/Classes/Persistence/Row.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/RowInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/RowIterator.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/RowIteratorInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Session.php
typo3/sysext/extbase/Classes/Persistence/Storage/BackendInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Storage/Typo3DbBackend.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/Value.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/ValueFactory.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/ValueFactoryInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Persistence/ValueInterface.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Property/Mapper.php
typo3/sysext/extbase/Classes/Utility/Arrays.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Utility/Plugin.php
typo3/sysext/extbase/Classes/Validation/PropertyError.php
typo3/sysext/extbase/Classes/Validation/Validator/GenericObjectValidator.php
typo3/sysext/extbase/Classes/Validation/ValidatorResolver.php
typo3/sysext/extbase/Tests/Base_testcase.php
typo3/sysext/extbase/Tests/MVC/Controller/AbstractController_testcase.php
typo3/sysext/extbase/Tests/MVC/Controller/ActionController_testcase.php
typo3/sysext/extbase/Tests/MVC/Controller/Argument_testcase.php
typo3/sysext/extbase/Tests/MVC/Controller/Arguments_testcase.php
typo3/sysext/extbase/Tests/Persistence/Mapper/ObjectRelationalMapper_testcase.php
typo3/sysext/extbase/Tests/Persistence/Query_testcase.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Persistence/Repository_testcase.php
typo3/sysext/extbase/Tests/Persistence/Session_testcase.php
typo3/sysext/extbase/Tests/Validation/Validator/ChainValidator_testcase.php [deleted file]
typo3/sysext/extbase/Tests/Validation/Validator/ConjunctionValidator_testcase.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Validation/Validator/TextValidator_testcase.php
typo3/sysext/extbase/Tests/Validation/ValidatorResolver_testcase.php
typo3/sysext/extbase/ext_tables.php [new file with mode: 0644]