DebugInfoHandler.java
4.76 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.scene7.is.provider.DebugInfoEnum
* com.scene7.is.provider.ProcessingStatus
* com.scene7.is.provider.RequestTypeEnum
* com.scene7.is.provider.Response
* com.scene7.is.provider.ResponseData
* com.scene7.is.provider.TextResponseGenerator
* com.scene7.is.provider.TextResponseTypeEnum
* com.scene7.is.provider.catalog.Catalog
* com.scene7.is.provider.catalog.CatalogException
* com.scene7.is.provider.catalog.CatalogUtil
* com.scene7.is.provider.catalog.ObjectRecord
* com.scene7.is.provider.ruleset.RuleSetResults
* com.scene7.is.sleng.CacheEnum
* com.scene7.is.util.MimeTypeEnum
* com.scene7.is.util.TextEncodingTypeEnum
* com.scene7.is.util.XMLUtil
* com.scene7.is.util.callbacks.Option
* org.jetbrains.annotations.NotNull
*/
package com.scene7.is.ps.provider;
import com.scene7.is.provider.DebugInfoEnum;
import com.scene7.is.provider.ProcessingStatus;
import com.scene7.is.provider.RequestTypeEnum;
import com.scene7.is.provider.Response;
import com.scene7.is.provider.ResponseData;
import com.scene7.is.provider.TextResponseGenerator;
import com.scene7.is.provider.TextResponseTypeEnum;
import com.scene7.is.provider.catalog.Catalog;
import com.scene7.is.provider.catalog.CatalogException;
import com.scene7.is.provider.catalog.CatalogUtil;
import com.scene7.is.provider.catalog.ObjectRecord;
import com.scene7.is.provider.ruleset.RuleSetResults;
import com.scene7.is.ps.provider.Request;
import com.scene7.is.ps.provider.RequestHandler;
import com.scene7.is.sleng.CacheEnum;
import com.scene7.is.util.MimeTypeEnum;
import com.scene7.is.util.TextEncodingTypeEnum;
import com.scene7.is.util.XMLUtil;
import com.scene7.is.util.callbacks.Option;
import java.util.Map;
import org.jetbrains.annotations.NotNull;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
class DebugInfoHandler
implements RequestHandler {
DebugInfoHandler() {
}
@NotNull
@Override
public Response getResponse(@NotNull Request parsedRequest, @NotNull ProcessingStatus status) {
DebugInfoEnum debugInfo = parsedRequest.getDebugInfo();
switch (debugInfo) {
case REQUEST: {
Document document = XMLUtil.createDocument();
Element child = parsedRequest.toXMLElement(document);
document.appendChild(child);
return new Response().setData(ResponseData.createResponseMessage((String)XMLUtil.toXMLString((Document)document, (TextEncodingTypeEnum)TextEncodingTypeEnum.UTF_8, (boolean)true), (MimeTypeEnum)MimeTypeEnum.TEXT_XML)).setClientCacheUse(CacheEnum.ON).setRequestType(parsedRequest.getType());
}
case CATALOG: {
return DebugInfoHandler.getCatalog(parsedRequest);
}
case RECORD: {
return DebugInfoHandler.getRecord(parsedRequest);
}
case RULESET: {
RuleSetResults ruleSetResults = (RuleSetResults)parsedRequest.getRuleSetResults().get();
Document ruleDocument = XMLUtil.createDocument();
Element ruleChild = ruleSetResults.createDebugXMLElement(ruleDocument);
ruleDocument.appendChild(ruleChild);
return new Response().setData(ResponseData.createResponseMessage((String)XMLUtil.toXMLString((Document)ruleDocument, (TextEncodingTypeEnum)TextEncodingTypeEnum.UTF_8, (boolean)true), (MimeTypeEnum)MimeTypeEnum.TEXT_XML)).setClientCacheUse(CacheEnum.ON).setRequestType(parsedRequest.getType());
}
}
throw new AssertionError((Object)debugInfo);
}
@NotNull
private static Response getRecord(@NotNull Request parsedRequest) {
try {
ObjectRecord record = parsedRequest.getRecord();
Map props = CatalogUtil.toMap((ObjectRecord)record);
return DebugInfoHandler.createResponse(props);
}
catch (CatalogException e) {
throw new AssertionError((Object)e);
}
}
@NotNull
private static Response getCatalog(@NotNull Request parsedRequest) {
try {
ObjectRecord record = parsedRequest.getRecord();
Catalog catalog = record.getCatalog();
Map props = CatalogUtil.toMap((Catalog)catalog);
return DebugInfoHandler.createResponse(props);
}
catch (CatalogException e) {
throw new AssertionError((Object)e);
}
}
private static Response createResponse(Map<String, String> props) {
byte[] data = TextResponseGenerator.generate(props, (TextResponseTypeEnum)TextResponseTypeEnum.PROPS, (String)"", (String)"");
return new Response().setData(ResponseData.createResponseData((byte[])data, (MimeTypeEnum)MimeTypeEnum.TEXT_PLAIN));
}
}