Repository: cxf Updated Branches: refs/heads/master 76461079c -> 384ad7543
CXF-5923: Create sample to demonstrate usage of search extension with Lucene and Tika. Updated index.html to support search. Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/384ad754 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/384ad754 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/384ad754 Branch: refs/heads/master Commit: 384ad75433037358ea1607c4ddcb0cd978fae10c Parents: 7646107 Author: reta <drr...@gmail.com> Authored: Mon Sep 8 08:30:04 2014 -0400 Committer: reta <drr...@gmail.com> Committed: Mon Sep 8 08:30:04 2014 -0400 ---------------------------------------------------------------------- .../java/demo/jaxrs/search/server/Catalog.java | 4 +- .../src/main/resources/browser/index.html | 60 ++++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/384ad754/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Catalog.java ---------------------------------------------------------------------- diff --git a/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Catalog.java b/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Catalog.java index 99d5d62..ead0cd0 100644 --- a/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Catalog.java +++ b/distribution/src/main/release/samples/jax_rs/search/src/main/java/demo/jaxrs/search/server/Catalog.java @@ -177,7 +177,7 @@ public class Catalog { @GET @Produces(MediaType.APPLICATION_JSON) @Path("/search") - public JsonArray findBook(@Context SearchContext searchContext, + public Response findBook(@Context SearchContext searchContext, @Context final UriInfo uri) throws IOException { final IndexReader reader = DirectoryReader.open(directory); @@ -209,7 +209,7 @@ public class Catalog { } } - return builder.build(); + return Response.ok(builder.build()).header(ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, "*").build(); } finally { reader.close(); } http://git-wip-us.apache.org/repos/asf/cxf/blob/384ad754/distribution/src/main/release/samples/jax_rs/search/src/main/resources/browser/index.html ---------------------------------------------------------------------- diff --git a/distribution/src/main/release/samples/jax_rs/search/src/main/resources/browser/index.html b/distribution/src/main/release/samples/jax_rs/search/src/main/resources/browser/index.html index f628345..7ab4fd4 100644 --- a/distribution/src/main/release/samples/jax_rs/search/src/main/resources/browser/index.html +++ b/distribution/src/main/release/samples/jax_rs/search/src/main/resources/browser/index.html @@ -20,6 +20,19 @@ <input id="file" name="file" type="file" multiple=true class="file"></button> </div> </form> + + <form id="from-search" role="search" method="get" action="http://localhost:9000/catalog/search"> + <h2 class="form-upload-heading">Query the Catalog</h2> + <div class="input-group add-on"> + <input id="search-query" type="text" class="form-control" placeholder="Search"> + <div class="input-group-btn"> + <button type="submit" class="btn btn-default"><i class="glyphicon glyphicon-search"></i></button> + </div> + </div> + </form> + + <div class="fluent-container" id="results"> + </div> </div> <!-- /container --> <script type="text/javascript"> @@ -42,6 +55,53 @@ e.preventDefault(); return false; }); + + $( "#from-search" ).submit(function(e) { + var query = $( "#search-query" ).val(); + $( "#results" ).html(""); + + if( query !== "" ) { + $.ajax({ + url: $(this).attr("action") + "?$filter=ct==" + encodeURIComponent( query ), + type: 'GET', + async: false, + success: function (data) { + var table = "\ + <table class=\"table table-striped\">\ + <thead>\ + <tr>\ + <th>File</th>\ + <th>Score</th>\ + <th>Action</th>\ + </tr>\ + </thead>\ + <tbody>"; + + $.each(data, function (index, value) { + table += "\ + <tr>\ + <td>" + value.source + "</td>\ + <td>" + value.score + "</td>\ + <td><a href='" + value.url + "'>Open</a></td>\ + </tr>"; + }); + + table += "\ + </tbody>\ + </table>"; + + $( "#results" ).html(table); + + }, + cache: false, + contentType: false, + processData: false + }); + } + + e.preventDefault(); + return false; + }); </script> </body>