From da76df94d0b609326a5a4317faa132754475121d Mon Sep 17 00:00:00 2001 From: dantleech Date: Sun, 21 Sep 2014 23:01:27 +0200 Subject: [PATCH 1/3] Added jackalope-fs transport --- composer.json | 6 +++-- .../Shell/Console/Command/ShellCommand.php | 1 + .../Shell/DependencyInjection/Container.php | 1 + .../ProfileFromSessionInputSubscriber.php | 1 + .../Shell/Transport/Transport/JackalopeFs.php | 26 +++++++++++++++++++ 5 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 src/PHPCR/Shell/Transport/Transport/JackalopeFs.php diff --git a/composer.json b/composer.json index c6506530..aa15b14d 100644 --- a/composer.json +++ b/composer.json @@ -20,11 +20,13 @@ "behat/behat": "~3.0.0", "phpspec/phpspec": "2.0", "jackalope/jackalope-doctrine-dbal": "~1.1", - "jackalope/jackalope-jackrabbit": "~1.1" + "jackalope/jackalope-jackrabbit": "~1.1", + "jackalope/jackalope-fs": "dev-master" }, "suggest": { "jackalope/jackalope-doctrine-dbal": "To connect to jackalope doctrine-dbal", - "jackalope/jackalope-doctrine-dbal": "To connect to jackalope jackrabbit" + "jackalope/jackalope-jackrabbit": "To connect to jackalope jackrabbit", + "jackalope/jackalope-jackrabbit-fs": "To connect to jackalope jackalope-fs" }, "license": "MIT", "authors": [ diff --git a/src/PHPCR/Shell/Console/Command/ShellCommand.php b/src/PHPCR/Shell/Console/Command/ShellCommand.php index d003c6f5..f04c819d 100644 --- a/src/PHPCR/Shell/Console/Command/ShellCommand.php +++ b/src/PHPCR/Shell/Console/Command/ShellCommand.php @@ -60,6 +60,7 @@ public function configure() new InputOption('--db-path', '-dP', InputOption::VALUE_REQUIRED, 'Database Path.'), new InputOption('--no-interaction', null, InputOption::VALUE_NONE, 'Turn off interaction (for testing purposes)'), new InputOption('--repo-url', '-url', InputOption::VALUE_REQUIRED, 'URL of repository (e.g. for jackrabbit).', 'http://localhost:8080/server/'), + new InputOption('--repo-path', '-path', InputOption::VALUE_REQUIRED, 'Path to repository (e.g. for Jackalope FS).', '/home/myuser/www/myproject/app/data'), new InputOption('--profile', '-p', InputOption::VALUE_OPTIONAL, 'Speicfy a profile name, use wit --transport to update or create'), new InputOption('--unsupported', null, InputOption::VALUE_NONE, 'Show all commands, including commands not supported by the repository'), diff --git a/src/PHPCR/Shell/DependencyInjection/Container.php b/src/PHPCR/Shell/DependencyInjection/Container.php index 669aad0a..21482fa8 100644 --- a/src/PHPCR/Shell/DependencyInjection/Container.php +++ b/src/PHPCR/Shell/DependencyInjection/Container.php @@ -19,6 +19,7 @@ class Container extends ContainerBuilder protected $transports = array( 'transport.transport.doctrinedbal' => 'PHPCR\Shell\Transport\Transport\DoctrineDbal', 'transport.transport.jackrabbit' => 'PHPCR\Shell\Transport\Transport\Jackrabbit', + 'transport.transport.fs' => 'PHPCR\Shell\Transport\Transport\JackrabbitFs', ); public function __construct($mode = self::MODE_STANDALONE) diff --git a/src/PHPCR/Shell/Subscriber/ProfileFromSessionInputSubscriber.php b/src/PHPCR/Shell/Subscriber/ProfileFromSessionInputSubscriber.php index eeb6cd4d..fbcd8412 100644 --- a/src/PHPCR/Shell/Subscriber/ProfileFromSessionInputSubscriber.php +++ b/src/PHPCR/Shell/Subscriber/ProfileFromSessionInputSubscriber.php @@ -29,6 +29,7 @@ public function handleProfileInit(ProfileInitEvent $e) 'db-path' => 'db_path', 'db-driver' => 'db_driver', 'repo-url' => 'repo_url', + 'repo-path' => 'repo_path', ); $phpcrOptions = array( diff --git a/src/PHPCR/Shell/Transport/Transport/JackalopeFs.php b/src/PHPCR/Shell/Transport/Transport/JackalopeFs.php new file mode 100644 index 00000000..cfa927ed --- /dev/null +++ b/src/PHPCR/Shell/Transport/Transport/JackalopeFs.php @@ -0,0 +1,26 @@ + $config['repo_path'], + ); + $factory = new RepositoryFactoryFilesystem(); + $repository = $factory->getRepository($params); + + return $repository; + } +} From 19c60e4daf66db409f81df5a5f5973d4814a64f5 Mon Sep 17 00:00:00 2001 From: dantleech Date: Thu, 18 Dec 2014 23:33:36 +0100 Subject: [PATCH 2/3] Fixed --- src/PHPCR/Shell/Console/Application/EmbeddedApplication.php | 2 ++ src/PHPCR/Shell/DependencyInjection/Container.php | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PHPCR/Shell/Console/Application/EmbeddedApplication.php b/src/PHPCR/Shell/Console/Application/EmbeddedApplication.php index 01695fcd..3591607e 100644 --- a/src/PHPCR/Shell/Console/Application/EmbeddedApplication.php +++ b/src/PHPCR/Shell/Console/Application/EmbeddedApplication.php @@ -39,6 +39,8 @@ public function __construct($mode) $container = new Container($this->mode); parent::__construct($container, SessionApplication::APP_NAME, SessionApplication::APP_VERSION); $this->setAutoExit(false); + + // @deprecated This will be removed in 1.0 $this->getHelperSet()->set(new PhpcrHelper($container->get('phpcr.session_manager'))); } diff --git a/src/PHPCR/Shell/DependencyInjection/Container.php b/src/PHPCR/Shell/DependencyInjection/Container.php index 21482fa8..1a856d6d 100644 --- a/src/PHPCR/Shell/DependencyInjection/Container.php +++ b/src/PHPCR/Shell/DependencyInjection/Container.php @@ -19,7 +19,7 @@ class Container extends ContainerBuilder protected $transports = array( 'transport.transport.doctrinedbal' => 'PHPCR\Shell\Transport\Transport\DoctrineDbal', 'transport.transport.jackrabbit' => 'PHPCR\Shell\Transport\Transport\Jackrabbit', - 'transport.transport.fs' => 'PHPCR\Shell\Transport\Transport\JackrabbitFs', + 'transport.transport.fs' => 'PHPCR\Shell\Transport\Transport\JackalopeFs', ); public function __construct($mode = self::MODE_STANDALONE) From 48ff4acb61e7017e63494c75938550ca4b893d2d Mon Sep 17 00:00:00 2001 From: dantleech Date: Fri, 19 Dec 2014 00:00:23 +0100 Subject: [PATCH 3/3] Jackalope FS implementation --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4efcc61..0cd27451 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ Changelog dev-master ---------- +- [transport] Added transport layer for experimental Jackalope FS implementation - [global] Refactored to use DI container and various general improvements - [node:references] Shows the referencing node paths instead of the referrered-to node path(s)