FacetParamHelper.java
1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.cq.commerce.common;
import com.adobe.cq.commerce.api.CommerceFacet;
import com.adobe.cq.commerce.api.CommerceFacetValue;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class FacetParamHelper {
public static final String PREFIX = "facet_";
public static String toParams(List<CommerceFacet> facets, String facetId, String valueId) {
HashMap facetMap = new HashMap();
for (CommerceFacet facet : facets) {
ArrayList<String> values = new ArrayList<String>();
facetMap.put(facet.getId(), values);
for (CommerceFacetValue value : facet.getValues()) {
boolean isToggled;
boolean bl = isToggled = facet.getId().equals(facetId) && value.getId().equals(valueId);
if (facet.isMultiSelect()) {
if ((!value.isSelected() || isToggled) && (value.isSelected() || !isToggled)) continue;
values.add(value.getId());
continue;
}
if ((values.size() != 0 || !value.isSelected() || isToggled) && (value.isSelected() || !isToggled)) continue;
values.clear();
values.add(value.getId());
}
}
StringBuilder builder = new StringBuilder();
for (Map.Entry entry : facetMap.entrySet()) {
for (String value : (List)entry.getValue()) {
builder.append("&facet_" + URLEncoder.encode((String)entry.getKey()) + "=" + URLEncoder.encode(value));
}
}
return builder.length() > 0 ? builder.substring(1) : "";
}
public static String toParams(String facetId, String valueId) {
return "facet_" + URLEncoder.encode(facetId) + "=" + URLEncoder.encode(valueId);
}
}