Commit a928243f authored by redmitry@list.ru's avatar redmitry@list.ru
Browse files

add index.html homepage

parent f21a50e9
......@@ -31,6 +31,7 @@ import javax.inject.Inject;
import javax.servlet.ServletContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
/**
......@@ -45,6 +46,13 @@ public class WebProxyService {
@Inject
private ServletContext ctx;
@GET
@Path("/")
@Hidden
public Response getHomePage() {
return Response.ok(ctx.getResourceAsStream("/index.html"), MediaType.TEXT_HTML).build();
}
/**
* Proxy method to return Tool JSON Schema.
*
......@@ -56,11 +64,5 @@ public class WebProxyService {
public Response getToolsOntology() {
return Response.ok(ctx.getResourceAsStream("/META-INF/resources/tools.owl"), "application/rdf+xml").build();
}
// @GET
// @Path("/index.html")
// @Hidden
// public Response getHomePage() {
// return Response.ok(ctx.getResourceAsStream("/META-INF/resources/index.html"), "text/html").build();
// }
}
<!DOCTYPE html>
<html>
<head>
<title>OpenEBench Tools Monitoring API</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
body { width: 90%;
margin-left: auto;
margin-right: auto;
}
table {
width: 100%;
white-space: nowrap;
border-collapse: separate;
border-spacing: 0px 12px;
}
td { border-width: 1px 0px 1px 0px;
border-style: solid;
padding: 8px;
}
td:first-child { width: 5%; }
td:last-child { width: 95%; }
tr td:first-child {
border-left-width: 1px !important;
border-top-left-radius: 8px;
border-bottom-left-radius: 8px;
}
tr td:last-child {
border-right-width: 1px !important;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
white-space: normal;
}
tr td:first-child:before {
display: inline-block;
width: 100%;
text-align: center;
padding: 2px 0px 2px 0px;
}
tr.GET td {
border-color: #61affe;
background-color: #eff7ff;
}
tr.GET td:first-child:before {
content: "GET";
color: #eff7ff;
background-color: #61affe;
}
tr.HEAD td {
border-color: #9012fe;
background-color: #f4e7ff;
}
tr.HEAD td:first-child:before {
content: "HEAD";
color: #f4e7ff;
background-color: #9012fe;
}
tr.POST td {
border-color: #49cc90;
background-color: #ecfaf4;
}
tr.POST td:first-child:before {
content: "POST";
color: #ecfaf4;
background-color: #49cc90;
}
tr.PUT td {
border-color: #fca130;
background-color: #fff5ea;
}
tr.PUT td:first-child:before {
content: "PUT";
color: #fff5ea;
background-color: #fca130;
}
tr.PATCH td {
border-color: #42e5c4;
background-color: #e7f7f4;
}
tr.PATCH td:first-child:before {
content: "PATCH";
color: #e7f7f4;
background-color: #42e5c4;
}
tr.DELETE td {
border-color: #f93e3e;
background-color: #feebeb;
}
tr.DELETE td:first-child:before {
content: "DELETE";
color: #feebeb;
background-color: #f93e3e;
}
</style>
</head>
<body>
<h1>OpenEBench Tools Monitoring API</h1>
<table>
<tr class="GET">
<td></td>
<td>/tool</td><td>Accept: text/uri-list</td><td>List OpenEBench tools identifiers.</td>
</tr>
<tr class="GET">
<td></td>
<td>/tool</td><td>Accept: application/json</td><td>List OpenEBench collection of tools.</td>
</tr>
<tr class="GET">
<td></td>
<td>/tool</td><td>Accept: application/ld+json</td><td>List OpenEBench collection of tools as an OWL 2 ontology.</td>
</tr>
<tr class="GET">
<td></td>
<td>/tool/{id}</td><td>Accept: application/json</td>
<td>
Get OpenEBench tool by its 'common' identifier.
Returns an abstract tool object or the first matched if id is prefixed or has a version.
</td>
</tr>
<tr class="GET">
<td></td>
<td>/tool/{id}/{type}</td><td>Accept: application/json</td>
<td>
Get OpenEBench tool by its identifier and type (ex: '/tool/biotools:pmut:2017/web').
</td>
</tr>
<tr class="GET">
<td></td>
<td>/tool/{id}/{type}/{host}{path}</td><td>Accept: application/json</td>
<td>
Get either entire OpenEBench tool document or its subdocument.
The optional 'path' is a JSON path for the subdocument to be returned.
</td>
</tr>
<tr class="GET">
<td></td>
<td>/tool/{id}/{type}</td><td>Accept: application/ld+json</td>
<td>Get OpenEBench JSON-LD OWL 2 tool description.</td>
</tr>
<tr class="PUT">
<td></td>
<td>/tool/{id}</td><td></td>
<td>Insert OpenEBench tool into the database.</td>
</tr>
<tr class="POST">
<td></td>
<td>/tool</td><td></td>
<td>Update OpenEBench tools in the database. Endpoint accepts an array of tools.
The identifiers are taken from the '@id' property of each tool. MongoDB 'upsert' is used for merging.
</td>
</tr>
<tr class="PATCH">
<td></td>
<td>/tool</td><td></td>
<td>Update OpenEBench tools in the database merging them vith submitted documents.
Endpoint accepts an array of tools. The identifiers are taken from the '@id' property of each tool.
</td>
</tr>
<tr class="PATCH">
<td></td>
<td>/tool/{id}</td><td></td>
<td>Update OpenEBench tool by merging its properties vith submitted document. </td>
</tr>
<tr class="PATCH">
<td></td>
<td>/tool/{id}/{type}/{host}{path}</td><td></td>
<td>
Update either entire OpenEBench json tool document (no 'path' set) or subdocument defined by json path.
</td>
</tr>
<tr/>
<tr class="GET">
<td></td>
<td>/metrics</td><td>Accept: application/json</td><td>List OpenEBench tools' metrics.</td>
</tr>
<tr class="GET">
<td></td>
<td>/metrics/{id}</td><td>Accept: application/json</td><td>Get OpenEBench tool's metrics.</td>
</tr>
<tr class="GET">
<td></td>
<td>/metrics/{id}{path}</td><td>Accept: application/json</td><td>Get specific OpenEBench tool's metrics defined by json path.</td>
</tr>
<tr class="PUT">
<td></td>
<td>/metrics/{id}</td><td></td>
<td>Insert OpenEBench tool's metrics into the database.</td>
</tr>
<tr class="POST">
<td></td>
<td>/metrics</td><td></td>
<td>Update OpenEBench tools' metrics in the database. Endpoint accepts an array of metrics.
The identifiers are taken from the '@id' property of each metrics. MongoDB 'upsert' is used for merging.
</td>
</tr>
<tr class="PATCH">
<td></td>
<td>/metrics</td><td></td>
<td>Update OpenEBench tools' metrics in the database merging them vith submitted documents.
Endpoint accepts an array of metrics. The identifiers are taken from the '@id' property of each metrics.
</td>
</tr>
<tr class="PATCH">
<td></td>
<td>/metrics/{id}</td><td></td>
<td>Update OpenEBench metrics by merging its properties vith submitted document. </td>
</tr>
<tr class="PATCH">
<td></td>
<td>/metrics/{id}/{type}/{host}{path}</td><td></td>
<td>
Update either entire OpenEBench json metrics document (no 'path' set) or subdocument defined by json path.
</td>
</tr>
<tr/>
<tr class="GET">
<td></td>
<td>/alambique</td><td>Accept: application/json</td><td>List OpenEBench alambique collection.</td>
</tr>
<tr class="GET">
<td></td>
<td>/alambique/{id}</td><td>Accept: application/json</td>
<td>Get first matched OpenEBench alambique object.</td>
</tr>
<tr class="PUT">
<td></td>
<td>/alambique/{id}</td><td></td>
<td>Insert OpenEBench alambique object into the database.</td>
</tr>
<tr class="POST">
<td></td>
<td>/alambique</td><td></td>
<td>Update OpenEBench alambique objects in the database. Endpoint accepts an array of objects.
The identifiers are taken from the '@id' property of each object. MongoDB 'upsert' is used for merging.
</td>
</tr>
<tr class="PATCH">
<td></td>
<td>/alambique</td><td></td>
<td>Update OpenEBench alambique objects in the database merging them vith submitted documents.
Endpoint accepts an array of objects. The identifiers are taken from the '@id' property of each object.
</td>
</tr>
<tr class="PATCH">
<td></td>
<td>/alambique/{id}</td><td></td>
<td>Update OpenEBench alambique object by merging its properties vith submitted document. </td>
</tr>
<tr/>
<tr class="GET">
<td></td>
<td>/tool/log/{id}/{type}/{host}{path}</td><td>Accept: application/json</td>
<td>Get historical changes of tool's property defined by the JSON path</td>
</tr>
<tr class="GET">
<td></td>
<td>/metrics/log/{id}/{type}/{host}{path}</td><td>Accept: application/json</td>
<td>Get historical changes of metrics's property defined by the JSON path</td>
</tr>
<tr/>
<tr class="GET">
<td></td>
<td>/tool/meta</td><td>Accept: application/json</td>
<td>List all OpenEBench tools' properties paths</td>
</tr>
<tr class="GET">
<td></td>
<td>/tool/meta/{id}</td><td>Accept: application/json</td>
<td>Get OpenEBench tool's properties paths</td>
</tr>
<tr/>
<tr class="GET">
<td></td>
<td>/rest/edam/search</td><td>Accept: application/json</td>
<td>Search for OpenEBench tools. Returns a sorted by the identifier list of matched tools.</td>
</tr>
<tr class="GET">
<td></td>
<td>/rest/edam/aggregate</td><td>Accept: application/json</td>
<td>Search for OpenEBench tools. Unlike the 'search' endpoint returns aggregated by tool's identifier result.</td>
</tr>
<tr class="GET">
<td></td>
<td>/rest/edam/tool</td><td>Accept: application/json</td>
<td>Get OpenEBench tools EDAM semantics.</td>
</tr>
<tr class="GET">
<td></td>
<td>/rest/edam/tool/{id}</td><td>Accept: application/json</td>
<td>Get EDAM semantics for the OpenEBanch tool</td>
</tr>
<tr class="GET">
<td></td>
<td>/rest/edam/tool/search?{text}</td><td>Accept: application/json</td>
<td>Search for OpenEBench tools by free text found in EDAM semantic terms.</td>
</tr>
<tr class="GET">
<td></td>
<td>/rest/edam/description?{term}</td><td>Accept: application/json</td>
<td>Get EDAM term description.</td>
</tr>
<tr/>
<tr class="GET">
<td></td>
<td>/rest/tools/statistics</td><td>Accept: application/json</td>
<td>Get basic statistics about the number of tools properties in the database.</td>
</tr>
<tr class="GET">
<td></td>
<td>/rest/metrics/statistics</td><td>Accept: application/json</td>
<td>Get basic statistics about the number of metrics properties in the database.</td>
</tr>
<tr class="GET">
<td></td>
<td>/rest/metrics/availability/{id}</td><td>Accept: application/json</td>
<td>Get tool's homepage availability metrics.</td>
</tr>
</table>
</body>
</html>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment