123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- <%--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
- --%>
-
- <%@ taglib uri="/struts-tags" prefix="s" %>
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
- <%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>
-
- <html>
- <head>
- <title>Search Results</title>
- <s:head/>
- </head>
-
- <body>
-
- <c:if test="${fromFilterSearch == true}">
- <h1>Advanced Search</h1>
- </c:if>
- <c:if test="${fromFilterSearch == false}">
- <h1>Search</h1>
- </c:if>
-
- <c:url var="imgNextPageUrl" value="/images/icon_next_page.gif"/>
- <c:url var="imgPrevPageUrl" value="/images/icon_prev_page.gif"/>
- <c:url var="imgPrevPageDisabledUrl" value="/images/icon_prev_page_disabled.gif"/>
- <c:url var="imgNextPageDisabledUrl" value="/images/icon_next_page_disabled.gif"/>
-
- <div id="contentArea">
- <div id="searchBox">
-
- <c:if test="${fromFilterSearch == true}">
- <s:form method="get" action="filteredSearch" validate="true">
- <s:textfield label="Row Count" size="50" name="rowCount"/>
- <s:textfield label="Group Id" size="50" name="groupId"/>
- <s:textfield label="Artifact Id" size="50" name="artifactId"/>
- <s:textfield label="Version" size="50" name="version"/>
- <s:textfield label="Class / Package" size="50" name="className"/>
- <s:select name="repositoryId" label="Repository ID" list="managedRepositoryList"/>
- <s:hidden name="completeQueryString" value="${completeQueryString}"/>
- <s:hidden name="fromFilterSearch" value="${fromFilterSearch}"/>
- <s:submit label="Go!"/>
- </s:form>
-
- <s:url id="indexUrl" action="index"/>
- <s:a href="%{indexUrl}">
- Quick Search Page
- </s:a>
- <script type="text/javascript">
- document.getElementById("filteredSearch_groupId").focus();
- </script>
- </c:if>
- <c:if test="${fromFilterSearch == false}">
- <s:form method="get" action="quickSearch" validate="true">
- <s:textfield label="Search for" size="50" name="q"/>
- <s:checkbox label="Search within results" name="searchResultsOnly"/>
- <s:hidden name="completeQueryString" value="${completeQueryString}"/>
- <s:submit label="Go!"/>
- </s:form>
- <script type="text/javascript">
- document.getElementById("quickSearch_q").focus();
- </script>
- </c:if>
-
- <p>
- <s:actionerror/>
- </p>
-
- </div>
-
- <h1>Results</h1>
-
- <div id="resultsBox">
- <c:choose>
-
- <%-- search was made from the indices --%>
- <c:when test="${databaseResults == null}">
- <c:set var="hitsNum">${fn:length(results.hits) + (currentPage * results.limits.pageSize)}</c:set>
- <c:choose>
- <c:when test="${results.totalHits > results.limits.pageSize}">
- <p>Hits: ${(hitsNum - results.limits.pageSize) + 1} to ${hitsNum} of ${results.totalHits}</p>
- </c:when>
- <c:otherwise>
- <p>Hits: 1 to ${hitsNum} of ${results.totalHits}</p>
- </c:otherwise>
- </c:choose>
- <c:choose>
- <c:when test="${empty results.hits}">
- <p>No results</p>
- </c:when>
- <c:otherwise>
-
- <%-- Pagination start --%>
- <p>
- <%-- Prev & Next icons --%>
- <c:if test="${fromFilterSearch == false}">
- <c:set var="prevPageUrl">
- <s:url action="quickSearch" namespace="/">
- <s:param name="q" value="%{'${q}'}"/>
- <s:param name="currentPage" value="%{'${currentPage - 1}'}"/>
- </s:url>
- </c:set>
- <c:set var="nextPageUrl">
- <s:url action="quickSearch" namespace="/">
- <s:param name="q" value="%{'${q}'}"/>
- <s:param name="currentPage" value="%{'${currentPage + 1}'}"/>
- </s:url>
- </c:set>
- </c:if>
-
- <c:if test="${fromFilterSearch == true}">
- <c:set var="prevPageUrl">
- <s:url action="filteredSearch" namespace="/">
- <%-- <s:param name="q" value="%{'${q}'}"/> --%>
- <s:param name="rowCount" value="%{'${rowCount}'}"/>
- <s:param name="groupId" value="%{'${groupId}'}"/>
- <s:param name="artifactId" value="%{'${artifactId}'}"/>
- <s:param name="version" value="%{'${version}'}"/>
- <s:param name="className" value="%{'${className}'}"/>
- <s:param name="repositoryId" value="%{'${repositoryId}'}"/>
- <s:param name="filterSearch" value="%{'${filterSearch}'}"/>
- <s:param name="fromResultsPage" value="true"/>
- <s:param name="currentPage" value="%{'${currentPage - 1}'}"/>
- <s:param name="searchResultsOnly" value="%{'${searchResultsOnly}'}"/>
- <s:param name="completeQueryString" value="%{'${completeQueryString}'}"/>
- </s:url>
- </c:set>
- <c:set var="nextPageUrl">
- <s:url action="filteredSearch" namespace="/">
- <%-- <s:param name="q" value="%{'${q}'}"/> --%>
- <s:param name="rowCount" value="%{'${rowCount}'}"/>
- <s:param name="groupId" value="%{'${groupId}'}"/>
- <s:param name="artifactId" value="%{'${artifactId}'}"/>
- <s:param name="version" value="%{'${version}'}"/>
- <s:param name="className" value="%{'${className}'}"/>
- <s:param name="repositoryId" value="%{'${repositoryId}'}"/>
- <s:param name="filterSearch" value="%{'${filterSearch}'}"/>
- <s:param name="fromResultsPage" value="true"/>
- <s:param name="currentPage" value="%{'${currentPage + 1}'}"/>
- <s:param name="searchResultsOnly" value="%{'${searchResultsOnly}'}"/>
- <s:param name="completeQueryString" value="%{'${completeQueryString}'}"/>
- </s:url>
- </c:set>
- </c:if>
-
- <c:choose>
- <c:when test="${currentPage == 0}">
- <img src="${imgPrevPageDisabledUrl}"/>
- </c:when>
- <c:otherwise>
- <a href="${prevPageUrl}">
- <img src="${imgPrevPageUrl}"/>
- </a>
- </c:otherwise>
- </c:choose>
-
- <%-- Google-style pagination --%>
- <c:choose>
- <c:when test="${totalPages > 11}">
- <c:choose>
- <c:when test="${(currentPage - 5) < 0}">
- <c:set var="beginVal">0</c:set>
- <c:set var="endVal">10</c:set>
- </c:when>
- <c:when test="${(currentPage + 5) > (totalPages - 1)}">
- <c:set var="beginVal">${(totalPages -1) - 10}</c:set>
- <c:set var="endVal">${totalPages - 1}</c:set>
- </c:when>
- <c:otherwise>
- <c:set var="beginVal">${currentPage - 5}</c:set>
- <c:set var="endVal">${currentPage + 5}</c:set>
- </c:otherwise>
- </c:choose>
- </c:when>
- <c:otherwise>
- <c:set var="beginVal">0</c:set>
- <c:set var="endVal">${totalPages - 1}</c:set>
- </c:otherwise>
- </c:choose>
-
- <c:forEach var="i" begin="${beginVal}" end="${endVal}">
- <c:if test="${fromFilterSearch == false}">
- <c:choose>
- <c:when test="${i != currentPage}">
- <c:set var="specificPageUrl">
- <s:url action="quickSearch" namespace="/">
- <s:param name="q" value="%{'${q}'}"/>
- <s:param name="currentPage" value="%{'${i}'}"/>
- <s:param name="searchResultsOnly" value="%{'${searchResultsOnly}'}"/>
- <s:param name="completeQueryString" value="%{'${completeQueryString}'}"/>
- </s:url>
- </c:set>
- <a href="${specificPageUrl}">${i + 1}</a>
- </c:when>
- <c:otherwise>
- <b>${i + 1}</b>
- </c:otherwise>
- </c:choose>
- </c:if>
-
- <c:if test="${fromFilterSearch == true}">
- <c:choose>
- <c:when test="${i != currentPage}">
- <c:set var="specificPageUrl">
- <s:url action="filteredSearch" namespace="/">
- <%-- <s:param name="q" value="%{'${q}'}"/> --%>
- <s:param name="rowCount" value="%{'${rowCount}'}"/>
- <s:param name="groupId" value="%{'${groupId}'}"/>
- <s:param name="artifactId" value="%{'${artifactId}'}"/>
- <s:param name="version" value="%{'${version}'}"/>
- <s:param name="className" value="%{'${className}'}"/>
- <s:param name="repositoryId" value="%{'${repositoryId}'}"/>
- <s:param name="filterSearch" value="%{'${filterSearch}'}"/>
- <s:param name="fromResultsPage" value="true"/>
- <s:param name="currentPage" value="%{'${i}'}"/>
- <s:param name="searchResultsOnly" value="%{'${searchResultsOnly}'}"/>
- <s:param name="completeQueryString" value="%{'${completeQueryString}'}"/>
- </s:url>
- </c:set>
- <a href="${specificPageUrl}">${i + 1}</a>
- </c:when>
- <c:otherwise>
- <b>${i + 1}</b>
- </c:otherwise>
- </c:choose>
- </c:if>
- </c:forEach>
-
- <c:choose>
- <c:when test="${currentPage == (totalPages - 1)}">
- <img src="${imgNextPageDisabledUrl}"/>
- </c:when>
- <c:otherwise>
- <a href="${nextPageUrl}">
- <img src="${imgNextPageUrl}"/>
- </a>
- </c:otherwise>
- </c:choose>
- </p>
- <%-- Pagination end --%>
-
- <c:forEach items="${results.hits}" var="record" varStatus="i">
- <c:choose>
- <c:when test="${not empty (record.groupId)}">
- <h3 class="artifact-title">
- <my:showArtifactTitle groupId="${record.groupId}" artifactId="${record.artifactId}"
- version="${record.version}"/>
- </h3>
- <p>
- <my:showArtifactLink groupId="${record.groupId}" artifactId="${record.artifactId}"
- version="${record.version}" versions="${record.versions}" repositoryId="${record.repositoryId}"/>
- </p>
- </c:when>
- <c:otherwise>
- <p>
- <c:url var="hiturl" value="/repository/${record.url}" />
- <a href="${hiturl}">${record.urlFilename}</a>
- </p>
- </c:otherwise>
- </c:choose>
- </c:forEach>
- </c:otherwise>
- </c:choose>
- </c:when>
-
- <%-- search was made from the database (find artifact)--%>
- <c:otherwise>
- <p>Hits: ${fn:length(databaseResults)}</p>
-
- <c:choose>
- <c:when test="${empty databaseResults}">
- <p>No results</p>
- </c:when>
- <c:otherwise>
- <c:forEach items="${databaseResults}" var="artifactModel" varStatus="i">
- <c:choose>
- <c:when test="${not empty (artifactModel.groupId)}">
- <h3 class="artifact-title">
- <my:showArtifactTitle groupId="${artifactModel.groupId}" artifactId="${artifactModel.artifactId}"
- version="${artifactModel.version}"/>
- </h3>
- <p>
- <my:showArtifactLink groupId="${artifactModel.groupId}" artifactId="${artifactModel.artifactId}"
- version="${artifactModel.version}" versions="${artifactModel.versions}"/>
- </p>
- </c:when>
- <c:otherwise>
- <p>
- <c:url var="hiturl" value="/repository/${artifactModel.repositoryId}" />
- <a href="${hiturl}">${artifactModel.repositoryId}</a>
- </p>
- </c:otherwise>
- </c:choose>
- </c:forEach>
- </c:otherwise>
- </c:choose>
-
- </c:otherwise>
- </c:choose>
- </div>
- </div>
- </body>
- </html>
|