CCM NG: Tab Suche portieren (#2733)
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5295 8810af33-2d31-482b-a856-94f89814c4dfccm-docs
parent
9adca6c3bb
commit
4ac1364cb4
|
|
@ -62,7 +62,7 @@ public class ItemSearch extends Form implements Resettable {
|
||||||
super("itemSearch", new SimpleContainer());
|
super("itemSearch", new SimpleContainer());
|
||||||
//setMethod("GET");
|
//setMethod("GET");
|
||||||
itemSearchSection = createSearchSection(context, limitToContentSection);
|
itemSearchSection = createSearchSection(context, limitToContentSection);
|
||||||
add(itemSearchSection);
|
super.add(itemSearchSection);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ItemSearchSection createSearchSection(final String context,
|
protected ItemSearchSection createSearchSection(final String context,
|
||||||
|
|
|
||||||
|
|
@ -519,3 +519,4 @@ cms.ui.item.lifecycle.republish=Republish
|
||||||
cms.ui.item.lifecycle.unpublish=Unpublish
|
cms.ui.item.lifecycle.unpublish=Unpublish
|
||||||
cms.ui.item.lifecycle.do=Do
|
cms.ui.item.lifecycle.do=Do
|
||||||
cms.ui.item.lifecycle.republish_and_reset=Republish and reset lifecycle
|
cms.ui.item.lifecycle.republish_and_reset=Republish and reset lifecycle
|
||||||
|
cms.ui.search.help=Enter some search terms
|
||||||
|
|
|
||||||
|
|
@ -516,3 +516,4 @@ cms.ui.item.lifecycle.republish=Erneut publizieren
|
||||||
cms.ui.item.lifecycle.unpublish=Depublizieren
|
cms.ui.item.lifecycle.unpublish=Depublizieren
|
||||||
cms.ui.item.lifecycle.do=Ausf\u00fchren
|
cms.ui.item.lifecycle.do=Ausf\u00fchren
|
||||||
cms.ui.item.lifecycle.republish_and_reset=Erneut publizieren und Lebenszyklus zur\u00fccksetzen
|
cms.ui.item.lifecycle.republish_and_reset=Erneut publizieren und Lebenszyklus zur\u00fccksetzen
|
||||||
|
cms.ui.search.help=Enter some search terms
|
||||||
|
|
|
||||||
|
|
@ -478,3 +478,4 @@ cms.ui.item.lifecycle.republish=Republish
|
||||||
cms.ui.item.lifecycle.unpublish=Unpublish
|
cms.ui.item.lifecycle.unpublish=Unpublish
|
||||||
cms.ui.item.lifecycle.do=Do
|
cms.ui.item.lifecycle.do=Do
|
||||||
cms.ui.item.lifecycle.republish_and_reset=Republish and reset lifecycle
|
cms.ui.item.lifecycle.republish_and_reset=Republish and reset lifecycle
|
||||||
|
cms.ui.search.help=Enter some search terms
|
||||||
|
|
|
||||||
|
|
@ -60,12 +60,13 @@ public class BaseQueryComponent extends QueryComponent {
|
||||||
|
|
||||||
private Set filters;
|
private Set filters;
|
||||||
private Form form;
|
private Form form;
|
||||||
private StringParameter termsParameter = new StringParameter("terms");
|
private final StringParameter termsParameter = new StringParameter("terms");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new query component
|
* Creates a new query component
|
||||||
*/
|
*/
|
||||||
public BaseQueryComponent() {
|
public BaseQueryComponent() {
|
||||||
|
|
||||||
super("query");
|
super("query");
|
||||||
filters = new HashSet();
|
filters = new HashSet();
|
||||||
}
|
}
|
||||||
|
|
@ -91,16 +92,18 @@ public class BaseQueryComponent extends QueryComponent {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected String getTerms(final PageState state) {
|
protected String getTerms(final PageState state) {
|
||||||
|
|
||||||
final FormData formData = form.getFormData(state);
|
final FormData formData = form.getFormData(state);
|
||||||
|
|
||||||
if (formData != null) {
|
|
||||||
|
if (formData == null) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
final ParameterData data = formData.getParameter(termsParameter.
|
final ParameterData data = formData.getParameter(termsParameter.
|
||||||
getName());
|
getName());
|
||||||
LOGGER.debug("Search terms were: {}", (String) data.getValue());
|
LOGGER.debug("Search terms were: {}", data.getValue());
|
||||||
|
|
||||||
return (String) data.getValue();
|
return (String) data.getValue();
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.bebop.SimpleContainer;
|
import com.arsdigita.bebop.SimpleContainer;
|
||||||
import com.arsdigita.search.SearchConstants;
|
import com.arsdigita.search.SearchConstants;
|
||||||
|
|
||||||
import com.arsdigita.util.Assert;
|
|
||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.hibernate.search.query.dsl.QueryBuilder;
|
import org.hibernate.search.query.dsl.QueryBuilder;
|
||||||
import org.libreccm.cdi.utils.CdiUtil;
|
import org.libreccm.cdi.utils.CdiUtil;
|
||||||
|
|
@ -59,16 +58,21 @@ public abstract class QueryComponent extends SimpleContainer
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Query getQuerySpecification(final PageState state) {
|
public Query getQuerySpecification(final PageState state) {
|
||||||
|
|
||||||
final String terms = getTerms(state);
|
final String terms = getTerms(state);
|
||||||
|
|
||||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||||
final SearchManager searchManager = cdiUtil.
|
final SearchManager searchManager = cdiUtil.
|
||||||
findBean(SearchManager.class);
|
findBean(SearchManager.class);
|
||||||
|
|
||||||
final QueryBuilder queryBuilder = searchManager.createQueryBuilder(CcmObject.class);
|
final QueryBuilder queryBuilder = searchManager
|
||||||
|
.createQueryBuilder(CcmObject.class);
|
||||||
|
|
||||||
return queryBuilder
|
return queryBuilder
|
||||||
.keyword().onFields("displayName", "summary", "description", "title")
|
.keyword().onFields("displayName",
|
||||||
|
"summary",
|
||||||
|
"description",
|
||||||
|
"title")
|
||||||
.matching(terms)
|
.matching(terms)
|
||||||
.createQuery();
|
.createQuery();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
xmlns:nav="http://ccm.redhat.com/navigation"
|
xmlns:nav="http://ccm.redhat.com/navigation"
|
||||||
xmlns:search="http://rhea.redhat.com/search/1.0"
|
xmlns:search="http://rhea.redhat.com/search/1.0"
|
||||||
exclude-result-prefixes="xsl bebop cms foundry nav search"
|
exclude-result-prefixes="xsl bebop cms foundry nav search"
|
||||||
version="1.0">
|
version="2.0">
|
||||||
|
|
||||||
<!-- Show the search queries for the admin pages -->
|
<!-- Show the search queries for the admin pages -->
|
||||||
<xsl:template match="search:query">
|
<xsl:template match="search:query">
|
||||||
|
|
|
||||||
|
|
@ -52,11 +52,11 @@
|
||||||
<xsl:call-template name="foundry:process-datatree-attributes"/>
|
<xsl:call-template name="foundry:process-datatree-attributes"/>
|
||||||
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:layoutPanel/bebop:body
|
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:layoutPanel/bebop:body
|
||||||
| $data-tree//bebop:currentPane/bebop:form//bebop:layoutPanel/bebop:right"/>
|
| $data-tree//bebop:currentPane/bebop:form//bebop:layoutPanel/bebop:right"/>
|
||||||
<xsl:message>
|
<!--<xsl:message>
|
||||||
<xsl:value-of select="concat('Applying template for bebop:pageState to ',
|
<xsl:value-of select="concat('Applying template for bebop:pageState to ',
|
||||||
count($data-tree//bebop:currentPane/bebop:form//bebop:pageState),
|
count($data-tree//bebop:currentPane/bebop:form//bebop:pageState),
|
||||||
' objects...')"/>
|
' objects...')"/>
|
||||||
</xsl:message>
|
</xsl:message>-->
|
||||||
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:pageState"/>
|
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:pageState"/>
|
||||||
</form>
|
</form>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
|
|
@ -103,11 +103,11 @@
|
||||||
<!--<xsl:attribute name="method" select="'post'"/>-->
|
<!--<xsl:attribute name="method" select="'post'"/>-->
|
||||||
<xsl:call-template name="foundry:process-datatree-attributes"/>
|
<xsl:call-template name="foundry:process-datatree-attributes"/>
|
||||||
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:layoutPanel/bebop:left"/>
|
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:layoutPanel/bebop:left"/>
|
||||||
<xsl:message>
|
<!--<xsl:message>
|
||||||
<xsl:value-of select="concat('Applying template for bebop:pageState to ',
|
<xsl:value-of select="concat('Applying template for bebop:pageState to ',
|
||||||
count($data-tree//bebop:currentPane/bebop:form//bebop:pageState),
|
count($data-tree//bebop:currentPane/bebop:form//bebop:pageState),
|
||||||
' objects...')"/>
|
' objects...')"/>
|
||||||
</xsl:message>
|
</xsl:message>-->
|
||||||
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:pageState"/>
|
<xsl:apply-templates select="$data-tree//bebop:currentPane/bebop:form//bebop:pageState"/>
|
||||||
</form>
|
</form>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue