Make template json output useful for imjs.

We were not serialising all constraints, just editable ones. The way
imjs works means this is fairly pointless as it doesn't even use the
template query endpoints (and there is no benefit in doing so anyway).
This change means that imjs can natively consume available templates
listings now.


Former-commit-id: 8b513e1086536256d645f757357834e9ee2ae340
Fix user error being swallowed as HTTP 500.

addView throws IllegalArgumentException if the views are badly
formatted. This should be caught as user error.


Former-commit-id: 45854edcd9efe0e92bfe2987625b731ab6ffade1
Complain about malformed queries appropriately.


Former-commit-id: 271ea8dee495cb55c39a4e322ea08e42af9bc215
Allow queries to be submitted in compressed form.

This seems totally insane, and indeed it kind of is, but it does mean
we can open up a mechanism for allowing GET requests for otherwise
impossibly long queries.


Former-commit-id: f0633bae1de5c9f9496a14573ddd494e18ad8d91
Added scripts for automating the comparison of enrichment.

These should be cleaned up and used as part of the release procedure.


Former-commit-id: 036d47c75b4b5bf7ef8180a4c50e010dc8e6ac5a
Added a query xml shortening facility.

InterMine suffers from xml-itis. This badly affects GET requests with
long queries in them. This is another method for dealing with this issue
by allowing access to a minimal query storage service on the server,
which means we can refer to queries by id. At present these queries do
not live beyond the life-time of a session, as they live in memory. They
should be treated as very short-lived entities.


Former-commit-id: 62bbe93f97da5bee5dbfa7798f135cbadb3191d8
Added the facilities for efficient bi-directional lookup.

At the expense of some extra storage of course. But this should be
more than compensated by avoiding storing duplicate queries.


Former-commit-id: 48dafcb2d4e72ecd99800c8e03dfa6e5c0b69ab1
Moved Query store into the API package. Future-proofing.

This moved the query-storage out of the webservice package and into the
api where it belongs. It also future proofs the system by allowing for
multiple different implementations of the protocol. Currently the only
existing one is an in-memory store, but this can be expanded with a
persistant store in the future. The QueryStore implementation itself has
a set of defined exceptional states, and returns strings as ids rather
than integers, so that alternate implementations can do what they like.
The current implementation has also been made life-cycle aware.


Former-commit-id: 37fd60cb04149ed0c421fe05238bf94fb8231f01
Revert "merge dev into branch"

This reverts commit 769eea56e704247cb10da9fd7580b7734cb7fc96 [formerly 8712f82234ecc72580c2eb9eb803c76ebdb7e8c0], reversing
changes made to 2e861a8ef4f1cd7893e2348f6de2556763aa13f4 [formerly 6264c053029ea7094027c65b38b0cf1aea73cdc3].


Former-commit-id: 31a95a272a50c82debf4e167a12804aab2966d80
Fixed documentation in meta-data.


Former-commit-id: 8d85b6e79ca0c5afc987b6be22e2e2d9fb43424c
Fixed documentation in meta-data.


Former-commit-id: ae54e543f8e5ab717eb8c9dc7c72867d55b21f49
Merge branch 'dev' of github.com:intermine/intermine into dev


Former-commit-id: 697d116c88fc0195e49418691038485ea2105b9f
We were falsely prohibiting commas from tag names.


Former-commit-id: f51608a3635e098fa95d1e19868c4b55db3b1deb
We were falsely prohibiting commas from tag names.


Former-commit-id: b2a89b7d25bd1b26176e77926bec11d62491cb58
Added test for comma in tag name


Former-commit-id: e190fe5329765ad82929ebd5f01ec2ae63697d9e
Added test for comma in tag name


Former-commit-id: 1e1d83859ab9990a2ac19c84db0b9aa706694f96
log query


Former-commit-id: e0c413bec29df1a04acede8a9acef1b49e90b21d
Merge branch 'dev' of github.com:intermine/intermine into dev


Former-commit-id: e74ac8252ef06041ab8bbe70ff33286427f05804
changed to new source name


Former-commit-id: b5da4b2beed7541b7ea42b87daec5fbb43ee441b
Start using the latest version of the tables


Former-commit-id: e67b99bd7a1aeeef6195a49eb3194ea369758ef0