Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add IUuidCache functions for transactions #4

Merged
merged 14 commits into from
Jun 24, 2016

Conversation

whikloj
Copy link
Member

@whikloj whikloj commented May 19, 2016

Addresses Islandora/documentation#185
Depends on Islandora/chullo#41

This PR adds the ability to interact with objects inside a transaction.

CLAW uses a UUID -> Fedora Path mapping which is stored in the triplestore,
this is generated by fcrepo-camel-toolbox using events coming out of Fedora.

Inside a transaction nothing is permanent until you commit the transaction, therefore no events are generated in the interim so the UUID is not stored in the triplestore.

So we store the temporary path and the UUID in a simple key cache with the transaction ID.

Testing

Using a turtle file like this

@prefix pcdm: <http://pcdm.org/models#> .
@prefix dcterms: <http://purl.org/dc/elements/1.1/> .
@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/> .
@prefix xs: <http://www.w3.org/2001/XMLSchema> .

<> a pcdm:Object ;
  dcterms:title "Another PCDM Object" ;
  nfo:uuid "3a28cd77-60ab-498b-aeb4-8292adc2180b"^^xs:string .

Before this PR.

  1. Create a resource in Fedora using the /islandora/resource route using the turtle file.
  2. Verify you can GET it using the UUID (ie. 3a28cd77-60ab-498b-aeb4-8292adc2180b).
  3. Delete it using UUID.
  4. Create a transaction.
  5. Create a resource in Fedora using the /islandora/resource route using the turtle file inside the transaction.
  6. Verify you CAN'T GET it using the UUID (ie. 3a28cd77-60ab-498b-aeb4-8292adc2180b).

After this PR

  1. Create a resource in Fedora using the /islandora/resource route using the turtle file.
  2. Verify you can GET it using the UUID (ie. 3a28cd77-60ab-498b-aeb4-8292adc2180b).
  3. Delete it using UUID.
  4. Create a transaction.
  5. Create a resource in Fedora using the /islandora/resource route using the turtle file inside the transaction.
  6. Verify you CAN GET it using the UUID (ie. 3a28cd77-60ab-498b-aeb4-8292adc2180b).
  7. Verify you can DELETE the resource using the UUID.

@ruebot
Copy link
Member

ruebot commented May 31, 2016

Testing!!!

@whikloj
Copy link
Member Author

whikloj commented May 31, 2016

@ruebot updated with some instructions to test. Let me know if I was unclear or if anything breaks.

@ruebot
Copy link
Member

ruebot commented May 31, 2016

Install notes:

sudo apt-get install php5.6-dev
sudo apt-get install redis-server
sudo sh -c "echo 'extension=redis.so' > /etc/php/5.6/mods-available/redis.ini"
sudo ln -s /etc/php/5.6/mods-available/redis.ini /etc/php/5.6/apache2/conf.d/
sudo ln -s /etc/php/5.6/mods-available/redis.ini /etc/php/5.6/cli/conf.d/
vagrant@islandora-deux:~/phpredis$ php -i | grep redis
/etc/php/5.6/cli/conf.d/redis.ini
redis
Registered save handlers => files user redis rediscluster redis rediscluster 
PWD => /home/vagrant/phpredis
_SERVER["PWD"] => /home/vagrant/phpredis
This program is free software; you can redistribute it and/or modify

👍

@whikloj
Copy link
Member Author

whikloj commented May 31, 2016

Oh I thought we already had php56-dev in vagrant, but I might have just edited my local build.

@ruebot
Copy link
Member

ruebot commented May 31, 2016

Yeah, I totally thought we did too. shrugs

@DiegoPino
Copy link
Contributor

@whikloj now you got me thinking. Since thanks to you we have redis, what other work can we give redis in claw? Maybe a new issue tomorrow

@ruebot
Copy link
Member

ruebot commented May 31, 2016

Testing notes:

Before this PR

1:

vagrant@islandora-deux:~$ curl -i -XPOST -H"Content-type: text/turtle" --data-binary "@test.ttl" http://localhost:8282/islandora/resource
HTTP/1.1 201 Created
Date: Tue, 31 May 2016 20:45:03 GMT
Server: Apache/2.4.7 (Ubuntu)
ETag: "d36956c8b9d57b63f57625baf8a6dd731c9a2085"
Cache-Control: private, must-revalidate
Last-Modified: Tue, 31 May 2016 20:45:04 GMT
Location: http://localhost:8080/fcrepo/rest/56/87/8f/67/56878f67-7f6d-4f5c-877e-81211f3b9672
Content-Length: 82
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/plain; charset=UTF-8

http://localhost:8080/fcrepo/rest/56/87/8f/67/56878f67-7f6d-4f5c-877e-81211f3b9672

2:

vagrant@islandora-deux:~$ curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b" 
HTTP/1.1 404 Not Found
Date: Tue, 31 May 2016 20:53:34 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <style>
            /* Copyright (c) 2010, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.com/yui/license.html */
            html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

            html { background: #eee; padding: 10px }
            img { border: 0; }
            #sf-resetcontent { width:970px; margin:0 auto; }
                        .sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
            .sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
            .sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
            .sf-reset .clear_fix { display:inline-block; }
            .sf-reset * html .clear_fix { height:1%; }
            .sf-reset .clear_fix { display:block; }
            .sf-reset, .sf-reset .block { margin: auto }
            .sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
            .sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
            .sf-reset strong { font-weight:bold; }
            .sf-reset a { color:#6c6159; cursor: default; }
            .sf-reset a img { border:none; }
            .sf-reset a:hover { text-decoration:underline; }
            .sf-reset em { font-style:italic; }
            .sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
            .sf-reset .exception_counter { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; float: left; display: block; }
            .sf-reset .exception_title { margin-left: 3em; margin-bottom: 0.7em; display: block; }
            .sf-reset .exception_message { margin-left: 3em; display: block; }
            .sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
            .sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
                border-bottom-right-radius: 16px;
                border-bottom-left-radius: 16px;
                border-bottom:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
            }
            .sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
                border-top-left-radius: 16px;
                border-top-right-radius: 16px;
                border-top:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
                overflow: hidden;
                word-wrap: break-word;
            }
            .sf-reset a { background:none; color:#868686; text-decoration:none; }
            .sf-reset a:hover { background:none; color:#313131; text-decoration:underline; }
            .sf-reset ol { padding: 10px 0; }
            .sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
                border-radius: 10px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body ondblclick="var t = event.target; if (t.title && !t.href) { var f = t.innerHTML; t.innerHTML = t.title; t.title = f; }">
                    <div id="sf-resetcontent" class="sf-reset">
                <h1>Sorry, the page you are looking for could not be found.</h1>
                                        <h2 class="block_exception clear_fix">
                            <span class="exception_counter">1/1</span>
                            <span class="exception_title"><abbr title="Symfony\Component\HttpKernel\Exception\HttpException">HttpException</abbr> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a>:</span>
                            <span class="exception_message">Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store</span>
                        </h2>
                        <div class="block">
                            <ol class="traces list_exception">
       <li> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->abort('404', 'Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store') in <a title="/opt/microservices/pdx/vendor/islandora/crayfish/src/Provider/CrayfishProvider.php line 153">CrayfishProvider.php line 153</a></li>
       <li>at <abbr title="Islandora\Crayfish\Provider\CrayfishProvider">CrayfishProvider</abbr>->Islandora\Crayfish\Provider\{closure}('3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>object</em>(<abbr title="Closure">Closure</abbr>), '3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/EventListener/ConverterListener.php line 55">ConverterListener.php line 55</a></li>
       <li>at <abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>->onKernelController(<em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController'), <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 174">EventDispatcher.php line 174</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->doDispatch(<em>array</em>(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController')), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 43">EventDispatcher.php line 43</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->dispatch('kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 132">HttpKernel.php line 132</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handleRaw(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1') in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 62">HttpKernel.php line 62</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1', <em>true</em>) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 586">Application.php line 586</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 563">Application.php line 563</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->run() in <a title="/opt/microservices/pdx/src/index.php line 115">index.php line 115</a></li>
    </ol>
</div>

            </div>
    </body>
</html>

@whikloj
Copy link
Member Author

whikloj commented May 31, 2016

@DiegoPino not sure what we want to use Redis for.

But I wrote it so we could swap it out for a different caching layer, as long as you implement the IUuidCache interface. So it doesn't have to be Redis.

@whikloj
Copy link
Member Author

whikloj commented Jun 1, 2016

Ok I think this is correct now. There were a variety of issues that I did not notice.

Also I got rid of the UuidServiceProvider as it was duplicating the work in the Chullo UuidGenerator. Then I added it to the CrayfishProvider as I couldn't see why we would keep a second ServiceProvider.

Lastly, I also realized my test turtle file was incorrect. It was missing the hash at the end of the XML Schema prefix.

The file should be

@prefix pcdm: <http://pcdm.org/models#> .
@prefix dcterms: <http://purl.org/dc/elements/1.1/> .
@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/> .
@prefix xs: <http://www.w3.org/2001/XMLSchema#> .

<> a pcdm:Object ;
  dcterms:title "Another PCDM Object" ;
  nfo:uuid "3a28cd77-60ab-498b-aeb4-8292adc2180b"^^xs:string .

My test (with the corrected turtle file) was

[/sw/var/www/DAM2/test_objects]
> curl -i -XPOST http://localhost:8282/islandora/transaction
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 05:11:38 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:6def4d84-563d-4bc6-8087-917ac03d1aa4
Expires: Wed, 01 Jun 2016 05:14:38 GMT
Cache-Control: private, must-revalidate
Content-Length: 0
Content-Type: text/html; charset=UTF-8

[/sw/var/www/DAM2/test_objects]
> curl -i -XPOST -H"Content-type: text/turtle" --data-binary "@object.ttl" "http://localhost:8282/islandora/resource?tx=tx:6def4d84-563d-4bc6-8087-917ac03d1aa4"
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 05:12:39 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:6def4d84-563d-4bc6-8087-917ac03d1aa4/c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315
Content-Length: 122
Cache-Control: no-cache
Content-Type: text/plain; charset=UTF-8

http://localhost:8080/fcrepo/rest/tx:6def4d84-563d-4bc6-8087-917ac03d1aa4/c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315

[/sw/var/www/DAM2/test_objects]
> curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:6def4d84-563d-4bc6-8087-917ac03d1aa4"
HTTP/1.1 200 OK
Date: Wed, 01 Jun 2016 05:14:08 GMT
Server: Apache/2.4.7 (Ubuntu)
...
[Removed extra headers and @prefix statements to keep this reasonable]
...
<http://localhost:8080/fcrepo/rest/tx:6def4d84-563d-4bc6-8087-917ac03d1aa4/c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315> a fedora:Container , fedora:Resource , ns002:Object ;
    dc:title "Another PCDM Object"^^<http://www.w3.org/2001/XMLSchema#string> ;
    ns001:uuid "3a28cd77-60ab-498b-aeb4-8292adc2180b"^^<http://www.w3.org/2001/XMLSchema#string> ;
    a ldp:RDFSource , ldp:Container ;
    fedora:writable "true"^^<http://www.w3.org/2001/XMLSchema#boolean> ;
    fedora:hasParent <http://localhost:8080/fcrepo/rest/tx:6def4d84-563d-4bc6-8087-917ac03d1aa4/> ;
    fedora:numberOfChildren "0"^^<http://www.w3.org/2001/XMLSchema#long> .

<http://localhost:8080/fcrepo/rest/c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315/fcr:export?format=jcr/xml> dc:format <http://fedora.info/definitions/v4/repository#jcr/xml> .

<http://localhost:8080/fcrepo/rest/tx:6def4d84-563d-4bc6-8087-917ac03d1aa4/c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315> fedora:exportsAs <http://localhost:8080/fcrepo/rest/c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315/fcr:export?format=jcr/xml> .

[/sw/var/www/DAM2/test_objects]
> curl -i -XDELETE "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:6def4d84-563d-4bc6-8087-917ac03d1aa4" 
HTTP/1.1 204 No Content
Date: Wed, 01 Jun 2016 05:14:19 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: must-revalidate, private
Content-Length: 0
Content-Type: text/html; charset=UTF-8

[/sw/var/www/DAM2/test_objects]
> curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:6def4d84-563d-4bc6-8087-917ac03d1aa4" 
HTTP/1.1 410 Gone
Date: Wed, 01 Jun 2016 05:14:24 GMT
Server: Apache/2.4.7 (Ubuntu)
Link: <http://localhost:8080/fcrepo/rest/tx:6def4d84-563d-4bc6-8087-917ac03d1aa4/c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315/fcr:tombstone>; rel="hasTombstone"
Content-Length: 117
Cache-Control: no-cache
Content-Type: text/turtle; charset=UTF-8

Discovered tombstone resource at /c0/08/5d/10/c0085d10-a7b7-4de1-be81-8cbef5c5e315 {jcr:primaryType=fedora:Tombstone}

@DiegoPino
Copy link
Contributor

@whikloj amazing job 👍 . Working late also! Will give this a look tomorrow. Good night

@ruebot
Copy link
Member

ruebot commented Jun 1, 2016

@whikloj I'm still not able to GET the resource by the UUID in the turtle file:

vagrant@islandora-deux:~$ curl -i -XPOST http://localhost:8282/islandora/transaction
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 13:42:32 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:bd3e0447-9ea0-419c-b3d6-094817ca0ce0
Expires: Wed, 01 Jun 2016 13:45:33 GMT
Cache-Control: private, must-revalidate
Content-Length: 0
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/html; charset=UTF-8



vagrant@islandora-deux:~$ curl -i -XPOST -H"Content-type: text/turtle" --data-binary "@test.ttl" "http://localhost:8282/islandora/resource?tx=tx:bd3e0447-9ea0-419c-b3d6-094817ca0ce0"
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 13:43:45 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:bd3e0447-9ea0-419c-b3d6-094817ca0ce0/ff/bb/46/05/ffbb4605-c792-4831-9062-a5dff9c12673
Content-Length: 122
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/plain; charset=UTF-8

http://localhost:8080/fcrepo/rest/tx:bd3e0447-9ea0-419c-b3d6-094817ca0ce0/ff/bb/46/05/ffbb4605-c792-4831-9062-a5dff9c12673



vagrant@islandora-deux:~$ curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b"
HTTP/1.1 404 Not Found
Date: Wed, 01 Jun 2016 13:46:03 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <style>
            /* Copyright (c) 2010, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.com/yui/license.html */
            html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

            html { background: #eee; padding: 10px }
            img { border: 0; }
            #sf-resetcontent { width:970px; margin:0 auto; }
                        .sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
            .sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
            .sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
            .sf-reset .clear_fix { display:inline-block; }
            .sf-reset * html .clear_fix { height:1%; }
            .sf-reset .clear_fix { display:block; }
            .sf-reset, .sf-reset .block { margin: auto }
            .sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
            .sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
            .sf-reset strong { font-weight:bold; }
            .sf-reset a { color:#6c6159; cursor: default; }
            .sf-reset a img { border:none; }
            .sf-reset a:hover { text-decoration:underline; }
            .sf-reset em { font-style:italic; }
            .sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
            .sf-reset .exception_counter { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; float: left; display: block; }
            .sf-reset .exception_title { margin-left: 3em; margin-bottom: 0.7em; display: block; }
            .sf-reset .exception_message { margin-left: 3em; display: block; }
            .sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
            .sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
                border-bottom-right-radius: 16px;
                border-bottom-left-radius: 16px;
                border-bottom:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
            }
            .sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
                border-top-left-radius: 16px;
                border-top-right-radius: 16px;
                border-top:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
                overflow: hidden;
                word-wrap: break-word;
            }
            .sf-reset a { background:none; color:#868686; text-decoration:none; }
            .sf-reset a:hover { background:none; color:#313131; text-decoration:underline; }
            .sf-reset ol { padding: 10px 0; }
            .sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
                border-radius: 10px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body ondblclick="var t = event.target; if (t.title && !t.href) { var f = t.innerHTML; t.innerHTML = t.title; t.title = f; }">
                    <div id="sf-resetcontent" class="sf-reset">
                <h1>Sorry, the page you are looking for could not be found.</h1>
                                        <h2 class="block_exception clear_fix">
                            <span class="exception_counter">1/1</span>
                            <span class="exception_title"><abbr title="Symfony\Component\HttpKernel\Exception\HttpException">HttpException</abbr> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a>:</span>
                            <span class="exception_message">Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store</span>
                        </h2>
                        <div class="block">
                            <ol class="traces list_exception">
       <li> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->abort('404', 'Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store') in <a title="/opt/microservices/pdx/vendor/islandora/crayfish/src/Provider/CrayfishProvider.php line 153">CrayfishProvider.php line 153</a></li>
       <li>at <abbr title="Islandora\Crayfish\Provider\CrayfishProvider">CrayfishProvider</abbr>->Islandora\Crayfish\Provider\{closure}('3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>object</em>(<abbr title="Closure">Closure</abbr>), '3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/EventListener/ConverterListener.php line 55">ConverterListener.php line 55</a></li>
       <li>at <abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>->onKernelController(<em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController'), <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 174">EventDispatcher.php line 174</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->doDispatch(<em>array</em>(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController')), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 43">EventDispatcher.php line 43</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->dispatch('kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 132">HttpKernel.php line 132</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handleRaw(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1') in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 62">HttpKernel.php line 62</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1', <em>true</em>) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 586">Application.php line 586</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 563">Application.php line 563</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->run() in <a title="/opt/microservices/pdx/src/index.php line 115">index.php line 115</a></li>
    </ol>
</div>

            </div>
    </body>
</html>


vagrant@islandora-deux:~$ cat test.ttl 
@prefix pcdm: <http://pcdm.org/models#> .
@prefix dcterms: <http://purl.org/dc/elements/1.1/> .
@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/> .
@prefix xs: <http://www.w3.org/2001/XMLSchema#> .

<> a pcdm:Object ;
  dcterms:title "Another PCDM Object" ;
  nfo:uuid "3a28cd77-60ab-498b-aeb4-8292adc2180b"^^xs:string .

@whikloj
Copy link
Member Author

whikloj commented Jun 1, 2016

Thats because you didn't include the transaction ID in your GET.

You wanted to run

curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:bd3e0447-9ea0-419c-b3d6-094817ca0ce0"

@ruebot
Copy link
Member

ruebot commented Jun 1, 2016

vagrant@islandora-deux:~$ curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:bd3e0447-9ea0-419c-b3d6-094817ca0ce0"
HTTP/1.1 404 Not Found
Date: Wed, 01 Jun 2016 14:53:32 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <style>
            /* Copyright (c) 2010, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.com/yui/license.html */
            html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

            html { background: #eee; padding: 10px }
            img { border: 0; }
            #sf-resetcontent { width:970px; margin:0 auto; }
                        .sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
            .sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
            .sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
            .sf-reset .clear_fix { display:inline-block; }
            .sf-reset * html .clear_fix { height:1%; }
            .sf-reset .clear_fix { display:block; }
            .sf-reset, .sf-reset .block { margin: auto }
            .sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
            .sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
            .sf-reset strong { font-weight:bold; }
            .sf-reset a { color:#6c6159; cursor: default; }
            .sf-reset a img { border:none; }
            .sf-reset a:hover { text-decoration:underline; }
            .sf-reset em { font-style:italic; }
            .sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
            .sf-reset .exception_counter { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; float: left; display: block; }
            .sf-reset .exception_title { margin-left: 3em; margin-bottom: 0.7em; display: block; }
            .sf-reset .exception_message { margin-left: 3em; display: block; }
            .sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
            .sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
                border-bottom-right-radius: 16px;
                border-bottom-left-radius: 16px;
                border-bottom:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
            }
            .sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
                border-top-left-radius: 16px;
                border-top-right-radius: 16px;
                border-top:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
                overflow: hidden;
                word-wrap: break-word;
            }
            .sf-reset a { background:none; color:#868686; text-decoration:none; }
            .sf-reset a:hover { background:none; color:#313131; text-decoration:underline; }
            .sf-reset ol { padding: 10px 0; }
            .sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
                border-radius: 10px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body ondblclick="var t = event.target; if (t.title && !t.href) { var f = t.innerHTML; t.innerHTML = t.title; t.title = f; }">
                    <div id="sf-resetcontent" class="sf-reset">
                <h1>Sorry, the page you are looking for could not be found.</h1>
                                        <h2 class="block_exception clear_fix">
                            <span class="exception_counter">1/1</span>
                            <span class="exception_title"><abbr title="Symfony\Component\HttpKernel\Exception\HttpException">HttpException</abbr> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a>:</span>
                            <span class="exception_message">Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store</span>
                        </h2>
                        <div class="block">
                            <ol class="traces list_exception">
       <li> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->abort('404', 'Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store') in <a title="/opt/microservices/pdx/vendor/islandora/crayfish/src/Provider/CrayfishProvider.php line 153">CrayfishProvider.php line 153</a></li>
       <li>at <abbr title="Islandora\Crayfish\Provider\CrayfishProvider">CrayfishProvider</abbr>->Islandora\Crayfish\Provider\{closure}('3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>object</em>(<abbr title="Closure">Closure</abbr>), '3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/EventListener/ConverterListener.php line 55">ConverterListener.php line 55</a></li>
       <li>at <abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>->onKernelController(<em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController'), <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 174">EventDispatcher.php line 174</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->doDispatch(<em>array</em>(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController')), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 43">EventDispatcher.php line 43</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->dispatch('kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 132">HttpKernel.php line 132</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handleRaw(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1') in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 62">HttpKernel.php line 62</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1', <em>true</em>) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 586">Application.php line 586</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 563">Application.php line 563</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->run() in <a title="/opt/microservices/pdx/src/index.php line 115">index.php line 115</a></li>
    </ol>
</div>

            </div>
    </body>
</html>

@whikloj
Copy link
Member Author

whikloj commented Jun 1, 2016

Did you create a new transaction? 'Cause they expire after 3 minutes of inactivity.

@ruebot
Copy link
Member

ruebot commented Jun 1, 2016

facepalm

@ruebot
Copy link
Member

ruebot commented Jun 1, 2016

@whikloj wanna laugh again? I have verified "Before this PR" above. Now I will test your pull request.

facepalm

facepalm

facepalm

@ruebot
Copy link
Member

ruebot commented Jun 1, 2016

Sadface. I still get a 404 on the GET

vagrant@islandora-deux:~$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>



vagrant@islandora-deux:~$ php -i | grep redis
/etc/php/5.6/cli/conf.d/redis.ini
redis
Registered save handlers => files user redis rediscluster redis rediscluster 
This program is free software; you can redistribute it and/or modify



vagrant@islandora-deux:~$ cd /opt/microservices/Crayfish/



vagrant@islandora-deux:/opt/microservices/Crayfish$ git pull jared issue-185 
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 12 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (12/12), done.
From https://github.com/whikloj/Crayfish
 * branch            issue-185  -> FETCH_HEAD
   33ffac8..0227113  issue-185  -> jared/issue-185
Updating 33ffac8..0227113
Fast-forward
 src/Provider/CrayfishProvider.php                           | 21 +++++++++++++--------
 src/ResourceService/Controller/ResourceController.php       |  1 +
 src/ResourceService/Provider/UUIDServiceProvider.php        | 54 ------------------------------------------------------
 src/TransactionService/Controller/TransactionController.php |  2 +-
 src/app.php                                                 |  2 --
 5 files changed, 15 insertions(+), 65 deletions(-)
 delete mode 100644 src/ResourceService/Provider/UUIDServiceProvider.php



vagrant@islandora-deux:/opt/microservices/Crayfish$ cd



vagrant@islandora-deux:~$ curl -i -XPOST http://localhost:8282/islandora/transaction
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 17:14:37 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:7cb58b77-540f-4761-b684-a9f0bcc9345a
Expires: Wed, 01 Jun 2016 17:17:37 GMT
Cache-Control: private, must-revalidate
Content-Length: 0
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/html; charset=UTF-8



vagrant@islandora-deux:~$ curl -i -XPOST -H"Content-type: text/turtle" --data-binary "@test.ttl" "http://localhost:8282/islandora/resource?tx=tx:7cb58b77-540f-4761-b684-a9f0bcc9345a"
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 17:15:08 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:7cb58b77-540f-4761-b684-a9f0bcc9345a/64/01/a3/1f/6401a31f-d750-40e5-a99d-73b4c61d4fc8
Content-Length: 122
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/plain; charset=UTF-8

http://localhost:8080/fcrepo/rest/tx:7cb58b77-540f-4761-b684-a9f0bcc9345a/64/01/a3/1f/6401a31f-d750-40e5-a99d-73b4c61d4fc8


vagrant@islandora-deux:~$ curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:7cb58b77-540f-4761-b684-a9f0bcc9345a"
HTTP/1.1 404 Not Found
Date: Wed, 01 Jun 2016 17:16:41 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <style>
            /* Copyright (c) 2010, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.com/yui/license.html */
            html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

            html { background: #eee; padding: 10px }
            img { border: 0; }
            #sf-resetcontent { width:970px; margin:0 auto; }
                        .sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
            .sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
            .sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
            .sf-reset .clear_fix { display:inline-block; }
            .sf-reset * html .clear_fix { height:1%; }
            .sf-reset .clear_fix { display:block; }
            .sf-reset, .sf-reset .block { margin: auto }
            .sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
            .sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
            .sf-reset strong { font-weight:bold; }
            .sf-reset a { color:#6c6159; cursor: default; }
            .sf-reset a img { border:none; }
            .sf-reset a:hover { text-decoration:underline; }
            .sf-reset em { font-style:italic; }
            .sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
            .sf-reset .exception_counter { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; float: left; display: block; }
            .sf-reset .exception_title { margin-left: 3em; margin-bottom: 0.7em; display: block; }
            .sf-reset .exception_message { margin-left: 3em; display: block; }
            .sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
            .sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
                border-bottom-right-radius: 16px;
                border-bottom-left-radius: 16px;
                border-bottom:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
            }
            .sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
                border-top-left-radius: 16px;
                border-top-right-radius: 16px;
                border-top:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
                overflow: hidden;
                word-wrap: break-word;
            }
            .sf-reset a { background:none; color:#868686; text-decoration:none; }
            .sf-reset a:hover { background:none; color:#313131; text-decoration:underline; }
            .sf-reset ol { padding: 10px 0; }
            .sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
                border-radius: 10px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body ondblclick="var t = event.target; if (t.title && !t.href) { var f = t.innerHTML; t.innerHTML = t.title; t.title = f; }">
                    <div id="sf-resetcontent" class="sf-reset">
                <h1>Sorry, the page you are looking for could not be found.</h1>
                                        <h2 class="block_exception clear_fix">
                            <span class="exception_counter">1/1</span>
                            <span class="exception_title"><abbr title="Symfony\Component\HttpKernel\Exception\HttpException">HttpException</abbr> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a>:</span>
                            <span class="exception_message">Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store</span>
                        </h2>
                        <div class="block">
                            <ol class="traces list_exception">
       <li> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->abort('404', 'Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store') in <a title="/opt/microservices/pdx/vendor/islandora/crayfish/src/Provider/CrayfishProvider.php line 153">CrayfishProvider.php line 153</a></li>
       <li>at <abbr title="Islandora\Crayfish\Provider\CrayfishProvider">CrayfishProvider</abbr>->Islandora\Crayfish\Provider\{closure}('3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>object</em>(<abbr title="Closure">Closure</abbr>), '3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/EventListener/ConverterListener.php line 55">ConverterListener.php line 55</a></li>
       <li>at <abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>->onKernelController(<em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController'), <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 174">EventDispatcher.php line 174</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->doDispatch(<em>array</em>(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController')), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 43">EventDispatcher.php line 43</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->dispatch('kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 132">HttpKernel.php line 132</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handleRaw(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1') in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 62">HttpKernel.php line 62</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1', <em>true</em>) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 586">Application.php line 586</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 563">Application.php line 563</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->run() in <a title="/opt/microservices/pdx/src/index.php line 115">index.php line 115</a></li>
    </ol>
</div>

            </div>
    </body>
</html>

@whikloj
Copy link
Member Author

whikloj commented Jun 1, 2016

@ruebot I think you are accessing PDX based on the returned header
X-Powered-By: Islandora Collection REST API v0.0.1

If so, did you update the composer.json from PDX to use the local Crayfish repository and branch?

My test was run direct against Crayfish, but I can try and re-run it against PDX.

@ruebot
Copy link
Member

ruebot commented Jun 1, 2016

Ok. Close. We fail on the last part of the testing process now.

tl;dr

vagrant@islandora-deux:~$ curl -i -XDELETE  "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0"
HTTP/1.1 503 Service Unavailable
Date: Wed, 01 Jun 2016 18:55:06 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Length: 7145
Connection: close
Content-Type: text/html; charset=UTF-8


mircoservices-error.log

[Wed Jun 01 18:52:26.393903 2016] [:error] [pid 2308] [client 127.0.0.1:34505] Unable to load transaction transforms into Fedora.
[Wed Jun 01 18:52:46.454977 2016] [:error] [pid 1304] [client 127.0.0.1:34510] Failed to get transform for http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0/2f/1c/11/0e/2f1c110e-4d36-4dd0-a6ce-ebebea751f27/fcr:transform/isl_uuid : 406

TOO LONG. WILL TOTALLY READ.

vagrant@islandora-deux:$ cd /opt/microservices/pdx


vagrant@islandora-deux:/opt/microservices/pdx$ vim composer.json 


vagrant@islandora-deux:/opt/microservices/pdx$ cat composer.json 
{
    "name": "islandora/pdx",
    "description": "Top level container for the various PCDM related Islandora CLAW microservices",
    "type": "library",
    "homepage": "http://islandora.ca/CLAW",
    "support": {
        "issues": "https://github.com/islandora-claw/CLAW/issues",
        "irc": "irc://irc.freenode.net/islandora"
    },
    "repositories": [
        {
            "type": "path",
            "url": "../Crayfish"
        }
    ],
    "require": {
        "islandora/chullo": "^0.0",
        "islandora/crayfish" : "dev-issue-185",
        "silex/silex": "^1.3",
        "symfony/config": "^3.0",
        "twig/twig": "^1.23",
        "symfony/yaml": "^3.0",
        "easyrdf/easyrdf": "^0.9.1",
        "ml/json-ld": "^1.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^4.8",
        "squizlabs/php_codesniffer": "^2.0@dev"
    },
    "autoload": {
        "psr-4": {"Islandora\\PDX\\": "src/"}
    },
    "minimum-stability" : "dev",
    "license": "MIT",
    "authors": [
        {
            "name": "Islandora Foundation",
            "email": "[email protected]",
            "role": "Owner"
        },
        {
            "name": "Diego Pino Navarro",
            "email": "[email protected]",
            "role": "Maintainer"
        },
        {
            "name": "Jared Whiklo",
            "email": "[email protected]",
            "role": "Maintainer"
        },
        {
            "name": "Nick Ruest",
            "email": "[email protected]",
            "role": "Maintainer"
        }
    ]
}


vagrant@islandora-deux:/opt/microservices/pdx$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Removing islandora/crayfish (0.0.3)
  - Installing islandora/crayfish (dev-issue-185)
    Symlinked from ../Crayfish

  - Updating squizlabs/php_codesniffer dev-master (87efecd => 2d3a4a8)
    Checking out 2d3a4a80cc7df70884ba072dfecda7028b37f1d0

Writing lock file
Generating autoload files


vagrant@islandora-deux:/opt/microservices/pdx$ sudo service tomcat7 restart
 * Stopping Tomcat servlet engine tomcat7                                                                                                                                                      [ OK ] 
 * Starting Tomcat servlet engine tomcat7                                                                                                                                                             cat                                                                                                                                                                                            [ OK ]



vagrant@islandora-deux:~$ curl -i -XPOST http://localhost:8282/islandora/transaction
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 18:52:26 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0
Expires: Wed, 01 Jun 2016 18:55:26 GMT
Cache-Control: private, must-revalidate
Content-Length: 0
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/html; charset=UTF-8



vagrant@islandora-deux:~$ curl -i -XPOST -H"Content-type: text/turtle" --data-binary "@test.ttl" "http://localhost:8282/islandora/resource?tx=tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0"
HTTP/1.1 201 Created
Date: Wed, 01 Jun 2016 18:52:46 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0/2f/1c/11/0e/2f1c110e-4d36-4dd0-a6ce-ebebea751f27
Content-Length: 122
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/plain; charset=UTF-8



http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0/2f/1c/11/0e/2f1c110e-4d36-4dd0-a6ce-ebebea751f27vagrant@islandora-deux:~$ 
vagrant@islandora-deux:~$ curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0"
HTTP/1.1 200 OK
Date: Wed, 01 Jun 2016 18:53:32 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: must-revalidate, private
Link: <http://www.w3.org/ns/ldp#Resource>;rel="type"
Link: <http://www.w3.org/ns/ldp#Container>;rel="type"
Link: <http://www.w3.org/ns/ldp#BasicContainer>;rel="type"
Link: <http://localhost:8080/fcrepo/rest/>;rel="canonical"
Accept-Patch: application/sparql-update
Accept-Post: text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update
Allow: MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS
Preference-Applied: return=representation
Vary: Prefer,Accept,Range,Accept-Encoding,Accept-Language
Content-Length: 2095
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/turtle; charset=UTF-8

@prefix premis: <http://www.loc.gov/premis/rdf/v1#> .
@prefix image: <http://www.modeshape.org/images/1.0> .
@prefix sv: <http://www.jcp.org/jcr/sv/1.0> .
@prefix test: <info:fedora/test/> .
@prefix nt: <http://www.jcp.org/jcr/nt/1.0> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ns002: <http://pcdm.org/models#> .
@prefix ns001: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/> .
@prefix xsi: <http://www.w3.org/2001/XMLSchema-instance> .
@prefix mode: <http://www.modeshape.org/1.0> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix fedora: <http://fedora.info/definitions/v4/repository#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix jcr: <http://www.jcp.org/jcr/1.0> .
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#> .
@prefix ldp: <http://www.w3.org/ns/ldp#> .
@prefix xs: <http://www.w3.org/2001/XMLSchema> .
@prefix fedoraconfig: <http://fedora.info/definitions/v4/config#> .
@prefix mix: <http://www.jcp.org/jcr/mix/1.0> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .


<http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0/> a ldp:RDFSource , ldp:Container , ldp:BasicContainer ;
    fedora:writable "true"^^<http://www.w3.org/2001/XMLSchema#boolean> ;
    a fedora:RepositoryRoot , fedora:Resource , fedora:Container ;
    fedora:numberOfChildren "1"^^<http://www.w3.org/2001/XMLSchema#long> ;
    ldp:contains <http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0/2f/1c/11/0e/2f1c110e-4d36-4dd0-a6ce-ebebea751f27> .

<http://localhost:8080/fcrepo/rest/fcr:export?format=jcr/xml> dc:format <http://fedora.info/definitions/v4/repository#jcr/xml> .

<http://fedora.info/definitions/v4/repository#jcr/xml> rdfs:label "jcr/xml"^^<http://www.w3.org/2001/XMLSchema#string> .

<http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0/> fedora:exportsAs <http://localhost:8080/fcrepo/rest/fcr:export?format=jcr/xml> ;
    fedora:hasTransactionProvider <http://localhost:8080/fcrepo/rest/fcr:tx> .



vagrant@islandora-deux:~$ curl -i -XDELETE "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b"
HTTP/1.1 404 Not Found
Date: Wed, 01 Jun 2016 18:54:04 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <style>
            /* Copyright (c) 2010, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.com/yui/license.html */
            html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

            html { background: #eee; padding: 10px }
            img { border: 0; }
            #sf-resetcontent { width:970px; margin:0 auto; }
                        .sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
            .sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
            .sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
            .sf-reset .clear_fix { display:inline-block; }
            .sf-reset * html .clear_fix { height:1%; }
            .sf-reset .clear_fix { display:block; }
            .sf-reset, .sf-reset .block { margin: auto }
            .sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
            .sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
            .sf-reset strong { font-weight:bold; }
            .sf-reset a { color:#6c6159; cursor: default; }
            .sf-reset a img { border:none; }
            .sf-reset a:hover { text-decoration:underline; }
            .sf-reset em { font-style:italic; }
            .sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
            .sf-reset .exception_counter { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; float: left; display: block; }
            .sf-reset .exception_title { margin-left: 3em; margin-bottom: 0.7em; display: block; }
            .sf-reset .exception_message { margin-left: 3em; display: block; }
            .sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
            .sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
                border-bottom-right-radius: 16px;
                border-bottom-left-radius: 16px;
                border-bottom:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
            }
            .sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
                border-top-left-radius: 16px;
                border-top-right-radius: 16px;
                border-top:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
                overflow: hidden;
                word-wrap: break-word;
            }
            .sf-reset a { background:none; color:#868686; text-decoration:none; }
            .sf-reset a:hover { background:none; color:#313131; text-decoration:underline; }
            .sf-reset ol { padding: 10px 0; }
            .sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
                border-radius: 10px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body ondblclick="var t = event.target; if (t.title && !t.href) { var f = t.innerHTML; t.innerHTML = t.title; t.title = f; }">
                    <div id="sf-resetcontent" class="sf-reset">
                <h1>Sorry, the page you are looking for could not be found.</h1>
                                        <h2 class="block_exception clear_fix">
                            <span class="exception_counter">1/1</span>
                            <span class="exception_title"><abbr title="Symfony\Component\HttpKernel\Exception\HttpException">HttpException</abbr> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a>:</span>
                            <span class="exception_message">Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store</span>
                        </h2>
                        <div class="block">
                            <ol class="traces list_exception">
       <li> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->abort('404', 'Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store') in <a title="/opt/microservices/Crayfish/src/Provider/CrayfishProvider.php line 176">CrayfishProvider.php line 176</a></li>
       <li>at <abbr title="Islandora\Crayfish\Provider\CrayfishProvider">CrayfishProvider</abbr>->Islandora\Crayfish\Provider\{closure}('3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>object</em>(<abbr title="Closure">Closure</abbr>), '3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/EventListener/ConverterListener.php line 55">ConverterListener.php line 55</a></li>
       <li>at <abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>->onKernelController(<em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController'), <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 174">EventDispatcher.php line 174</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->doDispatch(<em>array</em>(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController')), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 43">EventDispatcher.php line 43</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->dispatch('kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 132">HttpKernel.php line 132</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handleRaw(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1') in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 62">HttpKernel.php line 62</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1', <em>true</em>) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 586">Application.php line 586</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 563">Application.php line 563</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->run() in <a title="/opt/microservices/pdx/src/index.php line 115">index.php line 115</a></li>
    </ol>
</div>

            </div>
    </body>
</html>




vagrant@islandora-deux:~$ curl -i -XDELETE  "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0"
HTTP/1.1 503 Service Unavailable
Date: Wed, 01 Jun 2016 18:55:06 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Length: 7145
Connection: close
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <style>
            /* Copyright (c) 2010, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.com/yui/license.html */
            html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

            html { background: #eee; padding: 10px }
            img { border: 0; }
            #sf-resetcontent { width:970px; margin:0 auto; }
                        .sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
            .sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
            .sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
            .sf-reset .clear_fix { display:inline-block; }
            .sf-reset * html .clear_fix { height:1%; }
            .sf-reset .clear_fix { display:block; }
            .sf-reset, .sf-reset .block { margin: auto }
            .sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
            .sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
            .sf-reset strong { font-weight:bold; }
            .sf-reset a { color:#6c6159; cursor: default; }
            .sf-reset a img { border:none; }
            .sf-reset a:hover { text-decoration:underline; }
            .sf-reset em { font-style:italic; }
            .sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
            .sf-reset .exception_counter { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; float: left; display: block; }
            .sf-reset .exception_title { margin-left: 3em; margin-bottom: 0.7em; display: block; }
            .sf-reset .exception_message { margin-left: 3em; display: block; }
            .sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
            .sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
                border-bottom-right-radius: 16px;
                border-bottom-left-radius: 16px;
                border-bottom:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
            }
            .sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
                border-top-left-radius: 16px;
                border-top-right-radius: 16px;
                border-top:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
                overflow: hidden;
                word-wrap: break-word;
            }
            .sf-reset a { background:none; color:#868686; text-decoration:none; }
            .sf-reset a:hover { background:none; color:#313131; text-decoration:underline; }
            .sf-reset ol { padding: 10px 0; }
            .sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
                border-radius: 10px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body ondblclick="var t = event.target; if (t.title && !t.href) { var f = t.innerHTML; t.innerHTML = t.title; t.title = f; }">
                    <div id="sf-resetcontent" class="sf-reset">
                <h1>Whoops, looks like something went wrong.</h1>
                                        <h2 class="block_exception clear_fix">
                            <span class="exception_counter">1/1</span>
                            <span class="exception_title"><abbr title="Symfony\Component\HttpKernel\Exception\HttpException">HttpException</abbr> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a>:</span>
                            <span class="exception_message">&quot;Chullo says Fedora4 Repository is Not available&quot;</span>
                        </h2>
                        <div class="block">
                            <ol class="traces list_exception">
       <li> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400">Application.php line 400</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->abort('503', '&quot;Chullo says Fedora4 Repository is Not available&quot;') in <a title="/opt/microservices/Crayfish/src/ResourceService/Controller/ResourceController.php line 160">ResourceController.php line 160</a></li>
       <li>at <abbr title="Islandora\Crayfish\ResourceService\Controller\ResourceController">ResourceController</abbr>->delete(<em>object</em>(<abbr title="Silex\Application">Application</abbr>), <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), <em>false</em>, '')</li>
       <li>at <abbr title=""></abbr>call_user_func_array(<em>array</em>(<em>object</em>(<abbr title="Islandora\Crayfish\ResourceService\Controller\ResourceController">ResourceController</abbr>), 'delete'), <em>array</em>(<em>object</em>(<abbr title="Silex\Application">Application</abbr>), <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), <em>false</em>, '')) in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 139">HttpKernel.php line 139</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handleRaw(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1') in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 62">HttpKernel.php line 62</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1', <em>true</em>) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 586">Application.php line 586</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 563">Application.php line 563</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->run() in <a title="/opt/microservices/pdx/src/index.php line 115">index.php line 115</a></li>
    </ol>
</div>

            </div>
    </body>
</html>

mircoservices-error.log

[Wed Jun 01 18:52:26.393903 2016] [:error] [pid 2308] [client 127.0.0.1:34505] Unable to load transaction transforms into Fedora.
[Wed Jun 01 18:52:46.454977 2016] [:error] [pid 1304] [client 127.0.0.1:34510] Failed to get transform for http://localhost:8080/fcrepo/rest/tx:680512d1-ec8a-4b60-9e2a-429f99ec33a0/2f/1c/11/0e/2f1c110e-4d36-4dd0-a6ce-ebebea751f27/fcr:transform/isl_uuid : 406

@ruebot
Copy link
Member

ruebot commented Jun 1, 2016

...I'll also note, that I'm not seeing anything in http://localhost:8080/fcrepo/rest/ at all.

@whikloj
Copy link
Member Author

whikloj commented Jun 3, 2016

Yeah this is due to an initial failure installing the transforms into Fedora, seems that if it fails once it is dead for all time. I'll have to look into making that more stable.

whikloj added 4 commits June 20, 2016 10:53
…e errors

Fix file path errors to ldpath transform file.
Fix reference to TransactionController in ResourceController
@whikloj
Copy link
Member Author

whikloj commented Jun 20, 2016

I'm gonna add a file based cache to this and make that the default. I like Redis and I think it is better, but for setting up vagrant a simple file cache is easier. So I'm looking at https://github.com/beryllium/silex-cache-provider

@whikloj
Copy link
Member Author

whikloj commented Jun 20, 2016

I just realized that for vagrant we are grabbing the fcrepo-webapp and not the fcrepo-webapp-plus. Therefore the fcrepo-transform.jar is not added and NONE of my transforms will ever work! Must switch to either

  • download the jar and drop it in the fcrepo WEB-APP/lib directory

    or

  • use the fcrepo-webapp-plus which has the dependency built in.

@whikloj
Copy link
Member Author

whikloj commented Jun 20, 2016

Forget option 1. There are additional (Apache Marmotta) dependencies required, easier to just get the webapp-plus.

@ruebot
Copy link
Member

ruebot commented Jun 20, 2016

@whikloj good catch! We'd been just using that because we were punting on AuthN/Z. Might as well start moving to that now. I'll create a ticket for that now.

@ruebot
Copy link
Member

ruebot commented Jun 20, 2016

@codecov-io
Copy link

codecov-io commented Jun 21, 2016

Current coverage is 76.71%

Merging #4 into master will increase coverage by 15.68%

@@             master         #4   diff @@
==========================================
  Files             4          4          
  Lines           195        292    +97   
  Methods          15         20     +5   
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits            119        224   +105   
+ Misses           76         68     -8   
  Partials          0          0          

Powered by Codecov. Last updated by 2b595d0...af1670c

@DiegoPino
Copy link
Contributor

Are you ok with me merging this? Or do you want to test further?

@ruebot
Copy link
Member

ruebot commented Jun 24, 2016

@whikloj I think we're good.

vagrant@islandora-deux:~$ curl -i -XPOST http://localhost:8282/islandora/transaction
HTTP/1.1 201 Created
Date: Fri, 24 Jun 2016 16:07:32 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626
Expires: Fri, 24 Jun 2016 16:10:34 GMT
Cache-Control: private, must-revalidate
Content-Length: 0
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/html; charset=UTF-8


vagrant@islandora-deux:~$ curl -i -XPOST -H"Content-type: text/turtle" --data-binary "@test.ttl" "http://localhost:8282/islandora/resource?tx=tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626"
HTTP/1.1 201 Created
Date: Fri, 24 Jun 2016 16:07:50 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://localhost:8080/fcrepo/rest/tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626/7e/64/4e/70/7e644e70-746a-4029-bf25-1322c60eea54
Content-Length: 122
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/plain; charset=UTF-8

http://localhost:8080/fcrepo/rest/tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626/7e/64/4e/70/7e644e70-746a-4029-bf25-1322c60eea54


vagrant@islandora-deux:~$ curl -i "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626"
HTTP/1.1 200 OK
Date: Fri, 24 Jun 2016 16:08:08 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: must-revalidate, private
Link: <http://www.w3.org/ns/ldp#Resource>;rel="type"
Link: <http://www.w3.org/ns/ldp#Container>;rel="type"
Link: <http://www.w3.org/ns/ldp#BasicContainer>;rel="type"
Link: <http://localhost:8080/fcrepo/rest/7e/64/4e/70/7e644e70-746a-4029-bf25-1322c60eea54>;rel="canonical"
Accept-Patch: application/sparql-update
Accept-Post: text/turtle,text/rdf+n3,text/n3,application/rdf+xml,application/n-triples,multipart/form-data,application/sparql-update
Allow: MOVE,COPY,DELETE,POST,HEAD,GET,PUT,PATCH,OPTIONS
Preference-Applied: return=representation
Vary: Prefer,Accept,Range,Accept-Encoding,Accept-Language
Content-Length: 2189
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Type: text/turtle; charset=UTF-8

@prefix premis: <http://www.loc.gov/premis/rdf/v1#> .
@prefix image: <http://www.modeshape.org/images/1.0> .
@prefix sv: <http://www.jcp.org/jcr/sv/1.0> .
@prefix test: <info:fedora/test/> .
@prefix nt: <http://www.jcp.org/jcr/nt/1.0> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ns002: <http://pcdm.org/models#> .
@prefix ns001: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/> .
@prefix xsi: <http://www.w3.org/2001/XMLSchema-instance> .
@prefix mode: <http://www.modeshape.org/1.0> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix fedora: <http://fedora.info/definitions/v4/repository#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix jcr: <http://www.jcp.org/jcr/1.0> .
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#> .
@prefix ldp: <http://www.w3.org/ns/ldp#> .
@prefix xs: <http://www.w3.org/2001/XMLSchema> .
@prefix fedoraconfig: <http://fedora.info/definitions/v4/config#> .
@prefix mix: <http://www.jcp.org/jcr/mix/1.0> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .


<http://localhost:8080/fcrepo/rest/tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626/7e/64/4e/70/7e644e70-746a-4029-bf25-1322c60eea54> a fedora:Container , fedora:Resource , ns002:Object ;
    dc:title "Another PCDM Object"^^<http://www.w3.org/2001/XMLSchema#string> ;
    ns001:uuid "3a28cd77-60ab-498b-aeb4-8292adc2180b"^^<http://www.w3.org/2001/XMLSchemastring> ;
    a ldp:RDFSource , ldp:Container ;
    fedora:writable "true"^^<http://www.w3.org/2001/XMLSchema#boolean> ;
    fedora:hasParent <http://localhost:8080/fcrepo/rest/tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626/> ;
    fedora:numberOfChildren "0"^^<http://www.w3.org/2001/XMLSchema#long> .

<http://localhost:8080/fcrepo/rest/7e/64/4e/70/7e644e70-746a-4029-bf25-1322c60eea54/fcr:export?format=jcr/xml> dc:format <http://fedora.info/definitions/v4/repository#jcr/xml> .

<http://localhost:8080/fcrepo/rest/tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626/7e/64/4e/70/7e644e70-746a-4029-bf25-1322c60eea54> fedora:exportsAs <http://localhost:8080/fcrepo/rest/7e/64/4e/70/7e644e70-746a-4029-bf25-1322c60eea54/fcr:export?format=jcr/xml> .



vagrant@islandora-deux:~$  curl -i -XDELETE "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b"
HTTP/1.1 404 Not Found
Date: Fri, 24 Jun 2016 16:08:48 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-cache
X-Powered-By: Islandora Collection REST API v0.0.1
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="robots" content="noindex,nofollow" />
        <style>
            /* Copyright (c) 2010, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.com/yui/license.html */
            html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

            html { background: #eee; padding: 10px }
            img { border: 0; }
            #sf-resetcontent { width:970px; margin:0 auto; }
                        .sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
            .sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
            .sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }
            .sf-reset .clear_fix { display:inline-block; }
            .sf-reset * html .clear_fix { height:1%; }
            .sf-reset .clear_fix { display:block; }
            .sf-reset, .sf-reset .block { margin: auto }
            .sf-reset abbr { border-bottom: 1px dotted #000; cursor: help; }
            .sf-reset p { font-size:14px; line-height:20px; color:#868686; padding-bottom:20px }
            .sf-reset strong { font-weight:bold; }
            .sf-reset a { color:#6c6159; cursor: default; }
            .sf-reset a img { border:none; }
            .sf-reset a:hover { text-decoration:underline; }
            .sf-reset em { font-style:italic; }
            .sf-reset h1, .sf-reset h2 { font: 20px Georgia, "Times New Roman", Times, serif }
            .sf-reset .exception_counter { background-color: #fff; color: #333; padding: 6px; float: left; margin-right: 10px; float: left; display: block; }
            .sf-reset .exception_title { margin-left: 3em; margin-bottom: 0.7em; display: block; }
            .sf-reset .exception_message { margin-left: 3em; display: block; }
            .sf-reset .traces li { font-size:12px; padding: 2px 4px; list-style-type:decimal; margin-left:20px; }
            .sf-reset .block { background-color:#FFFFFF; padding:10px 28px; margin-bottom:20px;
                -webkit-border-bottom-right-radius: 16px;
                -webkit-border-bottom-left-radius: 16px;
                -moz-border-radius-bottomright: 16px;
                -moz-border-radius-bottomleft: 16px;
                border-bottom-right-radius: 16px;
                border-bottom-left-radius: 16px;
                border-bottom:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
            }
            .sf-reset .block_exception { background-color:#ddd; color: #333; padding:20px;
                -webkit-border-top-left-radius: 16px;
                -webkit-border-top-right-radius: 16px;
                -moz-border-radius-topleft: 16px;
                -moz-border-radius-topright: 16px;
                border-top-left-radius: 16px;
                border-top-right-radius: 16px;
                border-top:1px solid #ccc;
                border-right:1px solid #ccc;
                border-left:1px solid #ccc;
                overflow: hidden;
                word-wrap: break-word;
            }
            .sf-reset a { background:none; color:#868686; text-decoration:none; }
            .sf-reset a:hover { background:none; color:#313131; text-decoration:underline; }
            .sf-reset ol { padding: 10px 0; }
            .sf-reset h1 { background-color:#FFFFFF; padding: 15px 28px; margin-bottom: 20px;
                -webkit-border-radius: 10px;
                -moz-border-radius: 10px;
                border-radius: 10px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body>
                    <div id="sf-resetcontent" class="sf-reset">
                <h1>Sorry, the page you are looking for could not be found.</h1>
                                        <h2 class="block_exception clear_fix">
                            <span class="exception_counter">1/1</span>
                            <span class="exception_title"><abbr title="Symfony\Component\HttpKernel\Exception\HttpException">HttpException</abbr> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">Application.php line 400</a>:</span>
                            <span class="exception_message">Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store</span>
                        </h2>
                        <div class="block">
                            <ol class="traces list_exception">
       <li> in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 400" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">Application.php line 400</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->abort('404', 'Failed getting resource Path for &quot;3a28cd77-60ab-498b-aeb4-8292adc2180b&quot; from triple store') in <a title="/opt/microservices/Crayfish/src/Provider/CrayfishProvider.php line 183" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">CrayfishProvider.php line 183</a></li>
       <li>at <abbr title="Islandora\Crayfish\Provider\CrayfishProvider">CrayfishProvider</abbr>->Islandora\Crayfish\Provider\{closure}('3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>object</em>(<abbr title="Closure">Closure</abbr>), '3a28cd77-60ab-498b-aeb4-8292adc2180b', <em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/EventListener/ConverterListener.php line 55" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">ConverterListener.php line 55</a></li>
       <li>at <abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>->onKernelController(<em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>))</li>
       <li>at <abbr title=""></abbr>call_user_func(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController'), <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 174" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">EventDispatcher.php line 174</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->doDispatch(<em>array</em>(<em>array</em>(<em>object</em>(<abbr title="Silex\EventListener\ConverterListener">ConverterListener</abbr>), 'onKernelController')), 'kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/event-dispatcher/EventDispatcher.php line 43" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">EventDispatcher.php line 43</a></li>
       <li>at <abbr title="Symfony\Component\EventDispatcher\EventDispatcher">EventDispatcher</abbr>->dispatch('kernel.controller', <em>object</em>(<abbr title="Symfony\Component\HttpKernel\Event\FilterControllerEvent">FilterControllerEvent</abbr>)) in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 132" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">HttpKernel.php line 132</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handleRaw(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1') in <a title="/opt/microservices/pdx/vendor/symfony/http-kernel/HttpKernel.php line 62" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">HttpKernel.php line 62</a></li>
       <li>at <abbr title="Symfony\Component\HttpKernel\HttpKernel">HttpKernel</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>), '1', <em>true</em>) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 586" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">Application.php line 586</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->handle(<em>object</em>(<abbr title="Symfony\Component\HttpFoundation\Request">Request</abbr>)) in <a title="/opt/microservices/pdx/vendor/silex/silex/src/Silex/Application.php line 563" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">Application.php line 563</a></li>
       <li>at <abbr title="Silex\Application">Application</abbr>->run() in <a title="/opt/microservices/pdx/src/index.php line 125" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">index.php line 125</a></li>
    </ol>
</div>

            </div>
    </body>
</html>


vagrant@islandora-deux:~$ curl -i -XDELETE  "http://localhost:8282/islandora/resource/3a28cd77-60ab-498b-aeb4-8292adc2180b?tx=tx:7e4ffada-83d9-4e0c-aadd-35d08a1ff626"
HTTP/1.1 204 No Content
Date: Fri, 24 Jun 2016 16:09:56 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: must-revalidate, private
X-Powered-By: Islandora Collection REST API v0.0.1
Content-Length: 0
Content-Type: text/html; charset=UTF-8

@ruebot ruebot merged commit 128e43e into Islandora:master Jun 24, 2016
@whikloj whikloj deleted the issue-185 branch January 10, 2019 14:50
rosiel pushed a commit to rosiel/Crayfish that referenced this pull request Nov 9, 2022
Update dependencies to support using Composer 2.0 for installation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants