X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fcom%2Findexdata%2Fmkjsf%2Fpazpar2%2Fcommands%2FLimitParameter.java;h=9a11143b21c7b7184d088073898078ddb5310226;hb=HEAD;hp=b86c27f8e8a3089ee273719ae7ee0b0b6ae65ee2;hpb=31a027596723261b413d69c74428b176def3627f;p=mkjsf-moved-to-github.git diff --git a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/LimitParameter.java b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/LimitParameter.java index b86c27f..9a11143 100644 --- a/src/main/java/com/indexdata/mkjsf/pazpar2/commands/LimitParameter.java +++ b/src/main/java/com/indexdata/mkjsf/pazpar2/commands/LimitParameter.java @@ -2,6 +2,14 @@ package com.indexdata.mkjsf.pazpar2.commands; import org.apache.log4j.Logger; +/** + * Represents a limit parameter as it applies to the Pazpar2 search command + * + *

A limit parameter consists of one or more expressions separated by commas.

+ * + * @author Niels Erik + * + */ public class LimitParameter extends CommandParameter { private static final long serialVersionUID = -1410691265213389826L; @@ -23,17 +31,14 @@ public class LimitParameter extends CommandParameter { completeValue.append(","); else first=false; - completeValue.append(pz2escape(expr.toString())); + completeValue.append(expr.getField() + expr.getOperator() + expr.getValue()); logger.trace("valueWithExpressions so far: [" + completeValue + "]"); } return completeValue.toString(); } - - public String pz2escape (String expressionString) { - String escaped = expressionString.replaceAll("\\\\","\\\\\\\\"); - escaped = escaped.replaceAll(",","\\\\,"); - escaped = escaped.replaceAll("\\|", "\\\\|"); - return escaped; + + private String pz2escape (String str) { + return str.replaceAll("[~|,=\\\\]","\\\\$0"); }