Permalink
Browse files

have doctrine-dbal specific things in this separate repository

  • Loading branch information...
1 parent b8a4db9 commit 6f476c35884bdf4f66c299196dcfd58b35b03420 @dbu dbu committed Feb 17, 2012
Showing with 42 additions and 21,157 deletions.
  1. +1 −9 .gitignore
  2. +6 −6 .gitmodules
  3. +2 −5 .travis.yml
  4. +17 −65 README.md
  5. +0 −1 bin/jackalope
  6. +0 −99 doc/architecture.md
  7. +1 −0 lib/jackalope
  8. +0 −1 lib/phpcr
  9. +0 −1 lib/phpcr-utils
  10. +1 −0 lib/vendor/doctrine-dbal
  11. +0 −197 src/Jackalope/BinaryStreamWrapper.php
  12. +0 −28 src/Jackalope/Factory.php
  13. +0 −46 src/Jackalope/FactoryInterface.php
  14. +0 −37 src/Jackalope/Helper.php
  15. +0 −671 src/Jackalope/Item.php
  16. +0 −247 src/Jackalope/Lock/Lock.php
  17. +0 −247 src/Jackalope/Lock/LockManager.php
  18. +0 −244 src/Jackalope/NamespaceRegistry.php
  19. +0 −1,448 src/Jackalope/Node.php
  20. +0 −156 src/Jackalope/NodeType/ItemDefinition.php
  21. +0 −115 src/Jackalope/NodeType/NodeDefinition.php
  22. +0 −119 src/Jackalope/NodeType/NodeDefinitionTemplate.php
  23. +0 −292 src/Jackalope/NodeType/NodeType.php
  24. +0 −287 src/Jackalope/NodeType/NodeTypeDefinition.php
  25. +0 −457 src/Jackalope/NodeType/NodeTypeManager.php
  26. +0 −114 src/Jackalope/NodeType/NodeTypeTemplate.php
  27. +0 −180 src/Jackalope/NodeType/NodeTypeXmlConverter.php
  28. +0 −141 src/Jackalope/NodeType/PropertyDefinition.php
  29. +0 −163 src/Jackalope/NodeType/PropertyDefinitionTemplate.php
  30. +0 −16 src/Jackalope/NotImplementedException.php
  31. +0 −1,554 src/Jackalope/ObjectManager.php
  32. +0 −703 src/Jackalope/Property.php
  33. +0 −102 src/Jackalope/Query/NodeIterator.php
  34. +0 −6 src/Jackalope/Query/QOM/00_TODO.txt
  35. +0 −56 src/Jackalope/Query/QOM/AndConstraint.php
  36. +0 −38 src/Jackalope/Query/QOM/BindVariableValue.php
  37. +0 −55 src/Jackalope/Query/QOM/ChildNodeConstraint.php
  38. +0 −55 src/Jackalope/Query/QOM/ChildNodeJoinCondition.php
  39. +0 −72 src/Jackalope/Query/QOM/Column.php
  40. +0 −84 src/Jackalope/Query/QOM/ComparisonConstraint.php
  41. +0 −55 src/Jackalope/Query/QOM/DescendantNodeConstraint.php
  42. +0 −54 src/Jackalope/Query/QOM/DescendantNodeJoinCondition.php
  43. +0 −88 src/Jackalope/Query/QOM/EquiJoinCondition.php
  44. +0 −72 src/Jackalope/Query/QOM/FullTextSearchConstraint.php
  45. +0 −38 src/Jackalope/Query/QOM/FullTextSearchScore.php
  46. +0 −91 src/Jackalope/Query/QOM/Join.php
  47. +0 −38 src/Jackalope/Query/QOM/Length.php
  48. +0 −37 src/Jackalope/Query/QOM/Literal.php
  49. +0 −39 src/Jackalope/Query/QOM/LowerCase.php
  50. +0 −38 src/Jackalope/Query/QOM/NodeLocalName.php
  51. +0 −38 src/Jackalope/Query/QOM/NodeName.php
  52. +0 −39 src/Jackalope/Query/QOM/NotConstraint.php
  53. +0 −56 src/Jackalope/Query/QOM/OrConstraint.php
  54. +0 −56 src/Jackalope/Query/QOM/Ordering.php
  55. +0 −55 src/Jackalope/Query/QOM/PropertyExistence.php
  56. +0 −55 src/Jackalope/Query/QOM/PropertyValue.php
  57. +0 −147 src/Jackalope/Query/QOM/QueryObjectModel.php
  58. +0 −332 src/Jackalope/Query/QOM/QueryObjectModelFactory.php
  59. +0 −55 src/Jackalope/Query/QOM/SameNode.php
  60. +0 −72 src/Jackalope/Query/QOM/SameNodeJoinCondition.php
  61. +0 −55 src/Jackalope/Query/QOM/Selector.php
  62. +0 −34 src/Jackalope/Query/QOM/UpperCase.php
  63. +0 −87 src/Jackalope/Query/QueryManager.php
  64. +0 −142 src/Jackalope/Query/QueryResult.php
  65. +0 −241 src/Jackalope/Query/Row.php
  66. +0 −75 src/Jackalope/Query/RowIterator.php
  67. +0 −212 src/Jackalope/Query/SqlQuery.php
  68. +0 −175 src/Jackalope/Repository.php
  69. +0 −106 src/Jackalope/RepositoryFactoryJackrabbit.php
  70. +0 −826 src/Jackalope/Session.php
  71. +0 −77 src/Jackalope/Tools/Console/Command/InitDoctrineDbalCommand.php
  72. +0 −91 src/Jackalope/Tools/Console/Command/JackrabbitCommand.php
  73. +0 −38 src/Jackalope/Tools/Console/Helper/DoctrineDbalHelper.php
  74. +0 −65 src/Jackalope/Tools/Console/Helper/JackrabbitHelper.php
  75. +0 −143 src/Jackalope/Transaction/UserTransaction.php
  76. +0 −103 src/Jackalope/Transport/BaseTransport.php
  77. 0 src/Jackalope/Transport/DoctrineDBAL/RepositorySchema.php
  78. +0 −1,636 src/Jackalope/Transport/Jackrabbit/Client.php
  79. +0 −9 src/Jackalope/Transport/Jackrabbit/HTTPErrorException.php
  80. +0 −639 src/Jackalope/Transport/Jackrabbit/Request.php
  81. +0 −43 src/Jackalope/Transport/LockingInterface.php
  82. +0 −34 src/Jackalope/Transport/NodeTypeCndManagementInterface.php
  83. +0 −33 src/Jackalope/Transport/NodeTypeManagementInterface.php
  84. +0 −23 src/Jackalope/Transport/PermissionInterface.php
  85. +0 −49 src/Jackalope/Transport/QueryInterface.php
  86. +0 −60 src/Jackalope/Transport/README.md
  87. +0 −3,887 src/Jackalope/Transport/StandardNodeTypes.php
  88. +0 −40 src/Jackalope/Transport/TransactionInterface.php
  89. +0 −293 src/Jackalope/Transport/TransportInterface.php
  90. +0 −61 src/Jackalope/Transport/VersioningInterface.php
  91. +0 −45 src/Jackalope/Transport/WorkspaceManagementInterface.php
  92. +0 −185 src/Jackalope/Transport/WritingInterface.php
  93. +0 −178 src/Jackalope/Transport/curl.php
  94. +0 −168 src/Jackalope/Version/Version.php
  95. +0 −245 src/Jackalope/Version/VersionHistory.php
  96. +0 −294 src/Jackalope/Version/VersionManager.php
  97. +0 −307 src/Jackalope/Workspace.php
  98. +5 −5 src/{autoload.doctrine_dbal.dist.php → autoload.dist.php}
  99. +0 −14 src/autoload.jackrabbit.dist.php
  100. +0 −602 tests/Jackalope/Transport/Jackrabbit/ClientTest.php
  101. +0 −18 tests/Jackalope/Transport/Jackrabbit/JackrabbitTestCase.php
  102. +0 −86 tests/Jackalope/Transport/Jackrabbit/RequestTest.php
  103. BIN tests/bin/jack.jar
  104. +2 −9 tests/{bootstrap_doctrine_dbal.php → bootstrap.php}
  105. +0 −41 tests/bootstrap_jackrabbit.php
  106. +1 −1 tests/{generate_doctrine_dbal_fixture.php → generate_fixtures.php}
  107. BIN tests/lib/DavexClient.jar
  108. +0 −4 tests/lib/README
  109. BIN tests/lib/jackrabbit-api-2.0.0.jar
  110. BIN tests/lib/jackrabbit-core-2.0.0.jar
  111. +5 −6 tests/{phpunit_doctrine_dbal.xml.dist → phpunit.xml.dist}
  112. +0 −45 tests/phpunit_jackrabbit.xml.dist
  113. +1 −2 tests/{travis_doctrine_dbal.sh → travis.sh}
  114. +0 −7 tests/travis_jackrabbit.sh
  115. +0 −23 tests/vendor/vendors_doctrine_dbal.php
  116. +0 −23 tests/vendor/vendors_jackrabbit.sh
View
@@ -5,19 +5,11 @@ test-reports
.buildpath
.project
.buildpath
+.idea/
.settings/
cscope.out
doc/config/phpdoc.ini
doc/html
-lib/vendor/doctrine-dbal
-
-tests/phpunit_jackrabbit.xml
-tests/phpunit_doctrine_dbal.xml
tests/fixtures/doctrine
tests/phpunit.xml
-
-tests/vendor/jackrabbit-standalone*.jar
-tests/vendor/jackrabbit
-
-jackrabbit/
View
@@ -1,9 +1,9 @@
[submodule "tests/api"]
path = tests/phpcr-api
url = git://github.com/phpcr/phpcr-api-tests.git
-[submodule "lib/phpcr"]
- path = lib/phpcr
- url = git://github.com/phpcr/phpcr.git
-[submodule "lib/phpcr-utils"]
- path = lib/phpcr-utils
- url = git://github.com/phpcr/phpcr-utils.git
+[submodule "lib/jackalope"]
+ path = lib/jackalope
+ url = git://github.com/jackalope/jackalope.git
+[submodule "lib/vendor/doctrine-dbal"]
+ path = lib/vendor/doctrine-dbal
+ url = git://github.com/doctrine/dbal.git
View
@@ -4,13 +4,10 @@ php:
- 5.3
- 5.4
-env:
- - TRANSPORT=jackrabbit
-
before_script:
- - ./tests/travis_${TRANSPORT}.sh
+ - ./tests/travis.sh
-script: phpunit -c tests/phpunit_${TRANSPORT}.xml.dist
+script: phpunit -c tests/phpunit.xml.dist
notifications:
irc: "irc.freenode.org#jackalope"
View
@@ -1,15 +1,10 @@
-# Jackalope [![Build Status](https://secure.travis-ci.org/jackalope/jackalope.png?branch=master)](http://travis-ci.org/jackalope/jackalope)
+# Jackalope [![Build Status](https://secure.travis-ci.org/jackalope/jackalope-doctrine-dbal.png?branch=master)](http://travis-ci.org/jackalope/jackalope-doctrine-dbal)
A powerful implementation of the [PHPCR API](http://phpcr.github.com).
-You can use Jackalope with different storage backends. For now, we support:
-
-* *relational databases* with the DoctrineDBAL backend. Works with any
+Jackalope binding for relational databases with the DoctrineDBAL. Works with any
database supported by doctrine (mysql, postgres, ...) and has no dependency
on java or jackrabbit. For the moment, it is less feature complete.
-* *Jackrabbit* server backend supports many features and requires you to simply
- install a .jar file for the data store component.
-
Discuss on jackalope-dev@googlegroups.com
or visit #jackalope on irc.freenode.net
@@ -20,34 +15,18 @@ Please see the file LICENSE in this folder.
# Preconditions
-* libxml version >= 2.7.0 (due to a bug in libxml [http://bugs.php.net/bug.php?id=36501](http://bugs.php.net/bug.php?id=36501))
-* phpunit >= 3.5 (if you want to run the tests)
+* phpunit >= 3.6 (if you want to run the tests)
* phpunit/DbUnit (if you want to run the Doctrine DBAL Transport tests)
# Installation
# in your project directory
- git clone git://github.com/jackalope/jackalope.git
- cd jackalope
+ git clone git://github.com/jackalope/jackalope-doctrine-dbal.git
+ cd jackalope-doctrine-dbal
git submodule update --init --recursive
*Be sure to run the git submodule command with recursive to get all dependencies of jackalope.*
-## Jackalope Jackrabbit
-
-Besides the Jackalope repository, you need the Jackrabbit server component. For instructions, see [Jackalope Wiki](https://github.com/jackalope/jackalope/wiki/Running-a-jackrabbit-server)
-Make sure you have at least the version specified in [the protocol implementation](https://github.com/jackalope/jackalope/blob/master/src/Jackalope/Transport/Jackrabbit/Client.php#L56)
-
-## Jackalope - Doctrine DBAL
-
-Besides the Jackalope repository, you need [Doctrine DBAL](https://github.com/doctrine/dbal)
-(which bundles [Doctrine Common](https://github.com/doctrine/common) too) installed on your machine.
-
- # in your project directory
- cd lib/vendor
- git clone git://github.com/doctrine/dbal.git doctrine-dbal
- cd doctrine-dbal
- git submodule update --init
## phpunit Tests
@@ -70,8 +49,6 @@ Jackalope specific commands:
* ``jackalope:init:dbal``: Initialize a database for jackalope with the
Doctrine DBAL transport.
-* ``jackalope:run:jackrabbit [--jackrabbit_jar[="..."]] [start|stop|status]``:
- Start and stop the Jackrabbit server
Commands available from the phpcr-utils:
@@ -94,41 +71,23 @@ Commands available from the phpcr-utils:
Jackalope relies on autoloading and the namespaces and folder structure follow
PSR-0. Either set up your autoloading to find classes in the following folders
-or copy the ``autoload.jackrabbit.dist.php`` resp. ``autoload.dbal.dist.php``
-file in ``src/`` to ``autoload.php`` and adjust as needed.
+or copy the ``autoload.dist.php`` file in ``src/`` to ``autoload.php`` and
+adjust as needed.
If you checked out everything as submodules, the paths will be
* src/
-* lib/phpcr/src
-* lib/phpcr-utils/src
-* lib/phpcr-utils/lib/vendor
-
-
-## Bootstrapping Jackrabbit
-
-Minimalist sample code to get a PHPCR session with the jackrabbit backend.
-
- $jackrabbit_url = 'http://127.0.0.1:8080/server/';
- $user = 'admin';
- $pass = 'admin';
- $workspace = 'default'; // to use a non-default workspace, you need to create it first. Until phpcr:workspace:create is supported for jackrabbit, see [test README](https://github.com/jackalope/jackalope/blob/master/tests/README.md) for instructions.
-
- $repository = \Jackalope\RepositoryFactoryJackrabbit::getRepository(array('jackalope.jackrabbit_uri' => 'http://localhost:8080/server'));
- $credentials = new SimpleCredentials($user, $pass);
- $session = $repository->login($credentials, $workspace);
-
-
-## Bootstrapping Doctrine DBAL
-
-For Doctrine DBAL, you additionally need the doctrine repositories autoloaded.
-If you checked out as in the above instructions, those paths will be
-
+* lib/jackalope/src
+* lib/jackalope/lib/phpcr/src
+* lib/jackalope/lib/phpcr-utils/src
+* lib/jackalope/lib/phpcr-utils/lib/vendor
* lib/vendor/doctrine-dbal/lib
* lib/vendor/doctrine-dbal/lib/vendor/doctrine-common/lib
-Then you need to make sure the commands are set up (see above "Enable the
-commands") and run
+## Bootstrapping Doctrine DBAL
+
+Before you can use jackalope with a database, you need to set the database up.
+Make sure the commands are set up (see above "Enable the commands") and run
bin/jackalope jackalope:init:dbal
@@ -183,20 +142,13 @@ See [PHPCR Tutorial](https://github.com/phpcr/phpcr/blob/master/doc/Tutorial.md)
for a more detailed tutorial on how to use the PHPCR API.
-# Implementation notes
-
-See (doc/architecture.md) for an introduction how Jackalope is built. Have a
-look at the source files and generate the phpdoc.
-
-
# TODO
The best overview of what needs to be done are the functional test failures and
skipped tests. Have a look at tests/inc/DoctrineDBALImplementationLoader.php
-resp. tests/inc/JackrabbitImplementationLoader.php to see what is currently not
-working and start hacking :-)
+to see what is currently not working and start hacking :-)
-## Some Doctrine DBAL notes
+## Some notes
* Implement moving nodes, DoctrineTransport::modeNode() (and make sure not to violate any constraints during the process)
* Implement usage of NodeTypeDefintions to read/write validation and formatting data correctly (such as auto-creating values, forcing multi-values)
View
@@ -44,7 +44,6 @@ $cli->addCommands(array(
new \PHPCR\Util\Console\Command\RegisterNodeTypesCommand(),
new \PHPCR\Util\Console\Command\Sql2Command(),
new \Jackalope\Tools\Console\Command\InitDoctrineDbalCommand(),
- new \Jackalope\Tools\Console\Command\JackrabbitCommand(),
));
$cli->run();
View
@@ -1,99 +0,0 @@
-# Architecture
-
-Components
-
-* PHPCR API Interfaces - defining the API
-* API Tests - testing conformity of the implementation to the PHPCR API
-* Jackalope
- * Storage independent layer
- * Storage layer
-
-
-## PHPCR API Interfaces
-
-
-These interfaces have to be implemented by all projects providing the API in
-PHP. These interface definitions are adapted from the Java Content Repository
-JCR standard. The API is implementation-independent and improved in cooperation
-with all implementors of PHPCR and the JCR community.
-
-PHP code: https://github.com/phpcr/phpcr
-
-Documentation: https://phpcr.github.com/
-
-
-## PHPCR API Tests
-
-
-A suite of functional tests for testing if your implementation is correctly
-following the specification. Have a look at the README in the git repository
-to see how to set the tests up.
-
-PHP code: http://github.com/phpcr/phpcr-api-tests
-
-
-## Storage independent layer
-
-This layer implements the PHPCR interfaces in pure, framework-agnostic PHP
-without dependencies on any third-party libraries. It provides all the
-necessary code for a PHPCR library without the data storage layer.
-
-This mechanism, similar to Jackrabbit's [SPI](http://jackrabbit.apache.org/jackrabbit-spi.html),
-allows for easy adaptation to different storage backends, handling
-implementation details such as transport layers not covered by the PHPCR
-standard.
-
-See the README files in the main folder for how to set up the project.
-
-In the src folder, you find mainly classes with the names as defined by the
-PHPCR API. The two important classes not defined by the API are the
-``ObjectManager`` and ``Transport``.
-
-* ObjectManager caches nodes and talks to Transport. For write operations, it
- acts as "Unit of Work" handler.
-* Transport is separated from the implementation by Interfaces (see below)
-
-Please read the phpdoc comments for implementation details. Note that the
-methods implementing PHPCR interfaces are documented there. Generate the html
-documentation according to doc/config/README to have a combined doc of the API
-and implementation details.
-
-PHP code: http://github.com/jackalope/jackalope
-
-Documentation: https://jackalope.github.com/
-
-
-## Storage layers: The transport interfaces
-
-The storage layer is separated from the Jackalope application code by
-interfaces. These interfaces define the basic operations needed to implement
-the PHPCR operations. Implementing PHPCR support for a new storage engine is
-easiest done by just implementing a new transport.
-
-### DoctrineDBAL: All SQL databases supported by doctrine
-
-The doctrine transport uses the doctrine database abstraction layer to talk to
-any SQL database supported by doctrine.
-
-PHP code: http://github.com/jackalope/jackalope (see Transport folder)
-
-The code for the Doctrine transport is located in:
-
- src/Jackalope/Transport/Doctrine/DoctrineTransport.php
- src/Jackalope/Transport/Doctrine/RepositorySchema.php
-
-The first file contains all the relevant transport code, the second the doctrine schema that is required to run this.
-
-
-### Jackrabbit: WebDAV/davex protocol to talk to Jackrabbit
-
-The jackrabbit transport stores data into an Apache Jackrabbit server using
-a pure PHP implementation of the WebDAV/davex remoting protocol.
-
-PHP code: http://github.com/jackalope/jackalope (see Transport folder)
-
-
-To hack on Jackalope, you might want to read the documentation of the protocol used between Jackalope and the Jackrabbit backend. We have 2 files to download:
-
-* "jcr-webdav.doc":https://fosswiki.liip.ch/download/attachments/11501816/jcr-webdav_read.doc
-* "jcr-webdav-protocol.doc":https://fosswiki.liip.ch/download/attachments/11501816/JCR_Webdav_Protocol.doc
Submodule jackalope added at b8a4db
Submodule phpcr deleted from a1ebfa
Submodule phpcr-utils deleted from 9ca2a8
Submodule doctrine-dbal added at c8835e
Oops, something went wrong.

0 comments on commit 6f476c3

Please sign in to comment.