XFAUtils.java
3.44 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* org.apache.commons.lang3.StringUtils
* org.apache.sling.api.SlingHttpServletRequest
* org.apache.sling.api.resource.Resource
* org.apache.sling.api.resource.ResourceResolver
* org.apache.sling.api.resource.ValueMap
*/
package com.adobe.forms.common.utils;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ValueMap;
public class XFAUtils {
public static String encodeScriptableTags(String str) {
String result = str;
if (StringUtils.isNotBlank((CharSequence)str)) {
result = result.replaceAll("(?i)<([\\\\]*/?script[^>]*)>", "<$1>");
result = result.replaceAll("(?i)<([\\\\]*/?img[^>]*)>", "<$1>");
result = result.replaceAll("(?i)<([\\\\]*/?video[^>]*)>", "<$1>");
result = result.replaceAll("(?i)<([\\\\]*/?audio[^>]*)>", "<$1>");
}
return result;
}
public static boolean isResourceFormsManager(Resource resource) {
if (resource != null) {
String resourceType = resource.getResourceType();
return StringUtils.isNotBlank((CharSequence)resourceType) && resourceType.equals("fd/fm/xfaforms/render");
}
return false;
}
public static String getRequestAttribute(SlingHttpServletRequest slingRequest, String param) {
Object valObj = slingRequest.getAttribute("submitUrl");
String value = "";
if (valObj != null && valObj instanceof String) {
value = (String)valObj;
}
return value;
}
public static Resource getFormsManagerResource(SlingHttpServletRequest slingRequest, String contentRoot, String template) {
Resource formManagerResource = null;
if (StringUtils.isNotBlank((CharSequence)contentRoot) && StringUtils.isNotBlank((CharSequence)template)) {
String resourcePath = contentRoot.replace("crx://", "") + "/" + template;
Resource resource = slingRequest.getResourceResolver().getResource(resourcePath);
if (resource != null) {
formManagerResource = resource.getChild("jcr:content");
}
}
return formManagerResource;
}
public static String getSubmitUrl(SlingHttpServletRequest slingRequest, String contentRoot, String template) {
String formsManagerSubmitUrl = null;
Resource formManagerResource = XFAUtils.getFormsManagerResource(slingRequest, contentRoot, template);
String submitUrlParameter = slingRequest.getParameter("submitUrl");
String submitUrlAttribute = XFAUtils.getRequestAttribute(slingRequest, "submitUrl");
String submitUrl = "";
if (XFAUtils.isResourceFormsManager(formManagerResource)) {
ValueMap managerProperties = (ValueMap)formManagerResource.getChild("metadata").adaptTo(ValueMap.class);
formsManagerSubmitUrl = (String)managerProperties.get("submitUrl", (Object)"");
}
if (StringUtils.isNotBlank((CharSequence)submitUrlAttribute) && !submitUrlAttribute.equals(formsManagerSubmitUrl)) {
submitUrl = submitUrlAttribute;
} else if (StringUtils.isNotBlank((CharSequence)submitUrlParameter)) {
submitUrl = submitUrlParameter;
}
return submitUrl;
}
}