init
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
package com.eactive.eai.transformer.servlet;
|
||||
|
||||
import com.eactive.eai.adapter.socket2.common.ExceptionStackTrace;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketAdapterManager;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketLoggerManager;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.HttpServlet;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpRequest;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpResponse;
|
||||
import com.eactive.eai.common.bizkey.BizKeyManager;
|
||||
import com.eactive.eai.common.bizkey.BizKeyVO;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
public class BizKeyServlet extends HttpServlet {
|
||||
final static SocketAdapterManager manager = SocketAdapterManager.getInstance();
|
||||
static Logger logger = SocketLoggerManager.getInstance().getLogger("FileLogger{NET}_HTTP");
|
||||
|
||||
protected void doService(HttpRequest request, HttpResponse response) throws Exception {
|
||||
String key = request.getContext();
|
||||
|
||||
if (key.lastIndexOf('/') == -1) {
|
||||
key = "";
|
||||
} else {
|
||||
key = key.substring(key.indexOf('/')+1);
|
||||
}
|
||||
|
||||
String result = "";
|
||||
try {
|
||||
result = show(key);
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
|
||||
response.setContentType("text/html");
|
||||
response.setResponseCode(HttpResponse.HTTP_STATUS_SUCCESS);
|
||||
response.appendBody(result);
|
||||
}
|
||||
|
||||
final static String SCRIPT =
|
||||
" <script> \n" +
|
||||
" function toggle(obj){ \n" +
|
||||
" if (obj.style.height == \"17px\"){ \n" +
|
||||
" obj.style.height=\"\"; \n" +
|
||||
" obj.style.overflow=\"visible\"; \n" +
|
||||
" }else{ \n" +
|
||||
" obj.style.height=\"17px\"; \n" +
|
||||
" obj.style.overflow=\"hidden\"; \n" +
|
||||
" } \n" +
|
||||
" } \n" +
|
||||
" </script> \n";
|
||||
|
||||
public String show(String key) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
BizKeyManager manager = BizKeyManager.getInstance();
|
||||
String[] bizkeys = manager.getAllKeyNames();
|
||||
|
||||
sb.append(SCRIPT);
|
||||
sb.append("bizkey | keyword = " + key);
|
||||
sb.append("<br>");
|
||||
|
||||
int count = 0;
|
||||
for(int i=0; i<bizkeys.length; i++) {
|
||||
if ("".equals(key.trim()) || bizkeys[i].indexOf(key) != -1) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
int resultCount = 0;
|
||||
for(int i=0; i<bizkeys.length; i++) {
|
||||
if ("".equals(key.trim()) || bizkeys[i].indexOf(key) != -1) {
|
||||
if (count > 1) {
|
||||
sb.append("<div style=\"height: 17px; margin: 0px 0px 0px 0px;overflow: hidden;padding:0px 0px 0px 0px;cursor:hand;\" ondblclick=\"toggle(this)\">");
|
||||
}
|
||||
|
||||
try {
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
BizKeyVO bizkey = manager.getBizKey(bizkeys[i]);
|
||||
sb.append(bizkey.getEaiSvcCd() + "\n");
|
||||
sb.append("</pre>");
|
||||
} catch(Exception e) {
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append("(<a href='/message/" + bizkeys[i] + "/reload'>reload</a>) ");
|
||||
sb.append(ExceptionStackTrace.dump(e));
|
||||
sb.append("</pre>");
|
||||
}
|
||||
|
||||
if (count > 1) {
|
||||
sb.append("</div>");
|
||||
sb.append("<div style=\"height: 1px; overflow: hidden;border:0px;background-color:black;\"></div>");
|
||||
}
|
||||
|
||||
/**
|
||||
* 100개 까지만 뿌려준다.
|
||||
*/
|
||||
if (resultCount++ >= 100)
|
||||
break;
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.eactive.eai.transformer.servlet;
|
||||
|
||||
import com.eactive.eai.adapter.socket2.common.ExceptionStackTrace;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketAdapterManager;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketLoggerManager;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.HttpServlet;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpRequest;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpResponse;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.transformer.function.FunctionManager;
|
||||
|
||||
public class FunctionServlet extends HttpServlet {
|
||||
final static SocketAdapterManager manager = SocketAdapterManager.getInstance();
|
||||
static Logger logger = SocketLoggerManager.getInstance().getLogger("FileLogger{NET}_HTTP");
|
||||
|
||||
protected void doService(HttpRequest request, HttpResponse response) throws Exception {
|
||||
String key = request.getContext();
|
||||
if (key.lastIndexOf('/') == -1) {
|
||||
key = "";
|
||||
} else {
|
||||
key = key.substring(key.indexOf('/')+1);
|
||||
}
|
||||
|
||||
String result = "";
|
||||
try {
|
||||
result = show(key);
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
|
||||
response.setContentType("text/html");
|
||||
response.setResponseCode(HttpResponse.HTTP_STATUS_SUCCESS);
|
||||
response.appendBody(result);
|
||||
}
|
||||
|
||||
final static String SCRIPT =
|
||||
" <script> \n" +
|
||||
" function toggle(obj){ \n" +
|
||||
" if (obj.style.height == \"17px\"){ \n" +
|
||||
" obj.style.height=\"\"; \n" +
|
||||
" obj.style.overflow=\"visible\"; \n" +
|
||||
" }else{ \n" +
|
||||
" obj.style.height=\"17px\"; \n" +
|
||||
" obj.style.overflow=\"hidden\"; \n" +
|
||||
" } \n" +
|
||||
" } \n" +
|
||||
" </script> \n";
|
||||
|
||||
public String show(String key) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
FunctionManager manager = FunctionManager.getInstance();
|
||||
String[] functionNames = manager.getAllFunctionNames();
|
||||
|
||||
if(functionNames == null) return "";
|
||||
if(key == null) key = "";
|
||||
|
||||
sb.append(SCRIPT);
|
||||
sb.append("message | key = " + key + "<br>");
|
||||
for(int i=0; i<functionNames.length; i++) {
|
||||
if(functionNames[i] == null) continue;
|
||||
if ("".equals(key.trim()) || functionNames[i].indexOf(key) != -1) {
|
||||
sb.append("<div style=\"height: 17px; margin: 0px 0px 0px 0px;overflow: hidden;padding:0px 0px 0px 0px;cursor:hand;\" ondblclick=\"toggle(this)\">");
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append(manager.getFunctionDefinition(functionNames[i]));
|
||||
sb.append("</pre>");
|
||||
sb.append("</div>");
|
||||
sb.append("<div style=\"height: 1px; overflow: hidden;border:0px;background-color:black;\"></div>");
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
package com.eactive.eai.transformer.servlet;
|
||||
|
||||
import com.eactive.eai.adapter.socket2.common.ExceptionStackTrace;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketAdapterManager;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketLoggerManager;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.HttpServlet;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpRequest;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpResponse;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.transformer.layout.Layout;
|
||||
import com.eactive.eai.transformer.layout.LayoutManager;
|
||||
|
||||
public class LayoutServlet extends HttpServlet {
|
||||
final static SocketAdapterManager manager = SocketAdapterManager.getInstance();
|
||||
static Logger logger = SocketLoggerManager.getInstance().getLogger("FileLogger{NET}_HTTP");
|
||||
|
||||
protected void doService(HttpRequest request, HttpResponse response) throws Exception {
|
||||
String key = request.getContext();
|
||||
|
||||
boolean isReload = false;
|
||||
if (key.endsWith("/reload")) {
|
||||
isReload = true;
|
||||
key = key.substring(0, key.lastIndexOf('/'));
|
||||
}
|
||||
|
||||
if (key.lastIndexOf('/') == -1) {
|
||||
key = "";
|
||||
} else {
|
||||
key = key.substring(key.indexOf('/')+1);
|
||||
}
|
||||
|
||||
String result = "";
|
||||
try {
|
||||
if (isReload) {
|
||||
result = reload(key);
|
||||
} else {
|
||||
result = show(key);
|
||||
}
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
|
||||
response.setContentType("text/html");
|
||||
response.setResponseCode(HttpResponse.HTTP_STATUS_SUCCESS);
|
||||
response.appendBody(result);
|
||||
}
|
||||
|
||||
final static String SCRIPT =
|
||||
" <script> \n" +
|
||||
" function toggle(obj){ \n" +
|
||||
" if (obj.style.height == \"17px\"){ \n" +
|
||||
" obj.style.height=\"\"; \n" +
|
||||
" obj.style.overflow=\"visible\"; \n" +
|
||||
" }else{ \n" +
|
||||
" obj.style.height=\"17px\"; \n" +
|
||||
" obj.style.overflow=\"hidden\"; \n" +
|
||||
" } \n" +
|
||||
" } \n" +
|
||||
" </script> \n";
|
||||
|
||||
public String show(String key) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
LayoutManager manager = LayoutManager.getManager();
|
||||
String[] messageNames = manager.getAllLayoutName();
|
||||
|
||||
sb.append(SCRIPT);
|
||||
sb.append("message | key = " + key);
|
||||
sb.append("<br>");
|
||||
|
||||
int count = 0;
|
||||
for(int i=0; i<messageNames.length; i++) {
|
||||
if ("".equals(key.trim()) || messageNames[i].indexOf(key) != -1) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
int resultCount = 0;
|
||||
for(int i=0; i<messageNames.length; i++) {
|
||||
if ("".equals(key.trim()) || messageNames[i].indexOf(key) != -1) {
|
||||
if (count > 1) {
|
||||
sb.append("<div style=\"height: 17px; margin: 0px 0px 0px 0px;overflow: hidden;padding:0px 0px 0px 0px;cursor:hand;\" ondblclick=\"toggle(this)\">");
|
||||
}
|
||||
Layout l = manager.getLayoutByName(messageNames[i]);
|
||||
if(l != null) {
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append("(<a href='/message/" + messageNames[i] + "/reload'>reload</a>) ");
|
||||
sb.append(l.getRootItem().toString());
|
||||
sb.append("</pre>");
|
||||
}
|
||||
else {
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append("(<a href='/message/" + messageNames[i] + "/reload'>reload</a>) ");
|
||||
sb.append("Layout not found!");
|
||||
sb.append("</pre>");
|
||||
}
|
||||
|
||||
if (count > 1) {
|
||||
sb.append("</div>");
|
||||
sb.append("<div style=\"height: 1px; overflow: hidden;border:0px;background-color:black;\"></div>");
|
||||
}
|
||||
|
||||
/**
|
||||
* 10개 까지만 뿌려준다.
|
||||
*/
|
||||
if (resultCount++ >= 100)
|
||||
break;
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public String reload(String key) throws Exception {
|
||||
if (LayoutManager.getManager().getLayoutByName(key) == null)
|
||||
return "layout '" + key + "' does not exist";
|
||||
|
||||
LayoutManager.getManager().reload(key);
|
||||
return "reload message '" + key + "' successfully";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
package com.eactive.eai.transformer.servlet;
|
||||
|
||||
import com.eactive.eai.adapter.socket2.common.ExceptionStackTrace;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketAdapterManager;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketLoggerManager;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.HttpServlet;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpRequest;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpResponse;
|
||||
import com.eactive.eai.common.message.EAIMessage;
|
||||
import com.eactive.eai.common.message.EAIMessageManager;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.net.URLDecoder;
|
||||
|
||||
public class ServiceServlet extends HttpServlet {
|
||||
final static SocketAdapterManager manager = SocketAdapterManager.getInstance();
|
||||
static Logger logger = SocketLoggerManager.getInstance().getLogger("FileLogger{NET}_HTTP");
|
||||
|
||||
protected void doService(HttpRequest request, HttpResponse response) throws Exception {
|
||||
String key = request.getContext();
|
||||
|
||||
if (key.lastIndexOf('/') == -1) {
|
||||
key = "";
|
||||
} else {
|
||||
key = key.substring(key.indexOf('/')+1);
|
||||
}
|
||||
|
||||
String result = "";
|
||||
try {
|
||||
result = show(URLDecoder.decode(key,"UTF-8"));
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
|
||||
response.setContentType("text/html");
|
||||
response.setResponseCode(HttpResponse.HTTP_STATUS_SUCCESS);
|
||||
response.appendBody(result);
|
||||
}
|
||||
|
||||
final static String SCRIPT =
|
||||
" <script> \n" +
|
||||
" function toggle(obj){ \n" +
|
||||
" if (obj.style.height == \"17px\"){ \n" +
|
||||
" obj.style.height=\"\"; \n" +
|
||||
" obj.style.overflow=\"visible\"; \n" +
|
||||
" }else{ \n" +
|
||||
" obj.style.height=\"17px\"; \n" +
|
||||
" obj.style.overflow=\"hidden\"; \n" +
|
||||
" } \n" +
|
||||
" } \n" +
|
||||
" </script> \n";
|
||||
|
||||
public String show(String key) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
EAIMessageManager manager = EAIMessageManager.getInstance();
|
||||
String[] serviceCodes = manager.getAllEAISvcCd();
|
||||
|
||||
sb.append(SCRIPT);
|
||||
sb.append("message | key = " + key);
|
||||
sb.append("<br>");
|
||||
|
||||
int count = 0;
|
||||
for(int i=0; i<serviceCodes.length; i++) {
|
||||
if ("".equals(key.trim()) || serviceCodes[i].indexOf(key) != -1) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
int resultCount = 0;
|
||||
for(int i=0; i<serviceCodes.length; i++) {
|
||||
if ("".equals(key.trim()) || serviceCodes[i].indexOf(key) != -1) {
|
||||
if (count > 1) {
|
||||
sb.append("<div style=\"height: 17px; margin: 0px 0px 0px 0px;overflow: hidden;padding:0px 0px 0px 0px;cursor:hand;\" ondblclick=\"toggle(this)\">");
|
||||
}
|
||||
|
||||
try {
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
EAIMessage message = manager.getEAIMessage(serviceCodes[i]);
|
||||
sb.append(message.getEAISvcCd() + " - " + message.getEAISvcDesc() + "\n");
|
||||
sb.append("response error message : " + message.getRspErrMsg() + "\n");
|
||||
sb.append("</pre>");
|
||||
} catch(Exception e) {
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append("(<a href='/message/" + serviceCodes[i] + "/reload'>reload</a>) ");
|
||||
sb.append(ExceptionStackTrace.dump(e));
|
||||
sb.append("</pre>");
|
||||
}
|
||||
|
||||
if (count > 1) {
|
||||
sb.append("</div>");
|
||||
sb.append("<div style=\"height: 1px; overflow: hidden;border:0px;background-color:black;\"></div>");
|
||||
}
|
||||
|
||||
/**
|
||||
* 100개 까지만 뿌려준다.
|
||||
*/
|
||||
if (resultCount++ >= 100)
|
||||
break;
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
package com.eactive.eai.transformer.servlet;
|
||||
|
||||
import com.eactive.eai.adapter.socket2.common.ExceptionStackTrace;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketAdapterManager;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketLoggerManager;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.HttpServlet;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpRequest;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpResponse;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.transformer.transform.Transform;
|
||||
import com.eactive.eai.transformer.transform.TransformManager;
|
||||
|
||||
public class TransformServlet extends HttpServlet {
|
||||
final static SocketAdapterManager manager = SocketAdapterManager.getInstance();
|
||||
static Logger logger = SocketLoggerManager.getInstance().getLogger("FileLogger{NET}_HTTP");
|
||||
|
||||
protected void doService(HttpRequest request, HttpResponse response) throws Exception {
|
||||
String key = request.getContext();
|
||||
|
||||
boolean isReload = false;
|
||||
if (key.endsWith("/reload")) {
|
||||
isReload = true;
|
||||
key = key.substring(0, key.lastIndexOf('/'));
|
||||
}
|
||||
|
||||
if (key.lastIndexOf('/') == -1) {
|
||||
key = "";
|
||||
} else {
|
||||
key = key.substring(key.indexOf('/')+1);
|
||||
}
|
||||
|
||||
String result = "";
|
||||
try {
|
||||
if (isReload) {
|
||||
result = reload(key);
|
||||
} else {
|
||||
result = show(key);
|
||||
}
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
|
||||
|
||||
response.setContentType("text/html");
|
||||
response.setResponseCode(HttpResponse.HTTP_STATUS_SUCCESS);
|
||||
response.appendBody(result);
|
||||
}
|
||||
|
||||
final static String SCRIPT =
|
||||
" <script> \n" +
|
||||
" function toggle(obj){ \n" +
|
||||
" if (obj.style.height == \"17px\"){ \n" +
|
||||
" obj.style.height=\"\"; \n" +
|
||||
" obj.style.overflow=\"visible\"; \n" +
|
||||
" }else{ \n" +
|
||||
" obj.style.height=\"17px\"; \n" +
|
||||
" obj.style.overflow=\"hidden\"; \n" +
|
||||
" } \n" +
|
||||
" } \n" +
|
||||
" </script> \n";
|
||||
|
||||
public String show(String key) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
TransformManager manager = TransformManager.getManager();
|
||||
String[] transformNames = manager.getAllTransformName();
|
||||
|
||||
sb.append(SCRIPT);
|
||||
sb.append("transform | key = " + key);
|
||||
sb.append("<br>");
|
||||
|
||||
int count = 0;
|
||||
for(int i=0; i<transformNames.length; i++) {
|
||||
if ("".equals(key.trim()) || transformNames[i].indexOf(key) != -1) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
int resultCount = 0;
|
||||
for(int i=0; i<transformNames.length; i++) {
|
||||
if ("".equals(key.trim()) || transformNames[i].indexOf(key) != -1) {
|
||||
if (count > 1) {
|
||||
sb.append("<div style=\"height: 17px; margin: 0px 0px 0px 0px;overflow: hidden;padding:0px 0px 0px 0px;cursor:hand;\" ondblclick=\"toggle(this)\">");
|
||||
}
|
||||
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append("(<a href='/transform/" + transformNames[i] + "/reload'>reload</a>) ");
|
||||
Transform t = manager.getTransform(transformNames[i]);
|
||||
if(t == null) {
|
||||
sb.append("NULL");
|
||||
}
|
||||
else {
|
||||
sb.append(t.toString());
|
||||
}
|
||||
sb.append("</pre>");
|
||||
|
||||
if (count > 1) {
|
||||
sb.append("</div>");
|
||||
sb.append("<div style=\"height: 1px; overflow: hidden;border:0px;background-color:black;\"></div>");
|
||||
}
|
||||
|
||||
/**
|
||||
* 100개 까지만 뿌려준다.
|
||||
*/
|
||||
if (resultCount++ >= 100)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public String reload(String key) throws Exception {
|
||||
if (TransformManager.getManager().getTransform(key) == null)
|
||||
return "transform '" + key + "' does not exist";
|
||||
|
||||
TransformManager.getManager().reload(key);
|
||||
return "reload transform '" + key + "' successfully";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
package com.eactive.eai.transformer.servlet;
|
||||
|
||||
import com.eactive.eai.adapter.socket2.common.ExceptionStackTrace;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketAdapterManager;
|
||||
import com.eactive.eai.adapter.socket2.config.SocketLoggerManager;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.HttpServlet;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpRequest;
|
||||
import com.eactive.eai.adapter.socket2.protocol.http.codec.HttpResponse;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
import com.eactive.eai.transformer.engine.TransformEngine;
|
||||
import com.eactive.eai.transformer.util.MemoryLogger;
|
||||
|
||||
public class TransformerServlet extends HttpServlet {
|
||||
final static SocketAdapterManager manager = SocketAdapterManager.getInstance();
|
||||
static Logger logger = SocketLoggerManager.getInstance().getLogger("FileLogger{NET}_HTTP");
|
||||
|
||||
protected void doService(HttpRequest request, HttpResponse response) throws Exception {
|
||||
String command = request.getContext();
|
||||
if (command.lastIndexOf('/') == -1) {
|
||||
command = "";
|
||||
} else {
|
||||
command = command.substring(command.indexOf('/')+1);
|
||||
}
|
||||
|
||||
String result = "";
|
||||
if (command == null || "".equals(command) || "tx".equals(command)) {
|
||||
try {
|
||||
result = transaction();
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
} else if ("error".equals(command) || "err".equals(command)) {
|
||||
try {
|
||||
result = error();
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
} else if ("dump".equals(command)) {
|
||||
try {
|
||||
result = dump();
|
||||
} catch(Throwable e) {
|
||||
result = "<pre>" + ExceptionStackTrace.dump(e) + "</pre>";
|
||||
}
|
||||
} else {
|
||||
response.setResponseCode(404);
|
||||
return;
|
||||
}
|
||||
|
||||
response.setContentType("text/html");
|
||||
response.setResponseCode(HttpResponse.HTTP_STATUS_SUCCESS);
|
||||
response.appendBody(result);
|
||||
}
|
||||
|
||||
final static String SCRIPT =
|
||||
" <script> \n" +
|
||||
" function toggle(obj){ \n" +
|
||||
" if (obj.style.height == \"17px\"){ \n" +
|
||||
" obj.style.height=\"\"; \n" +
|
||||
" obj.style.overflow=\"visible\"; \n" +
|
||||
" }else{ \n" +
|
||||
" obj.style.height=\"17px\"; \n" +
|
||||
" obj.style.overflow=\"hidden\"; \n" +
|
||||
" } \n" +
|
||||
" } \n" +
|
||||
" </script> \n";
|
||||
|
||||
private String transaction() throws Exception {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
String[] transactions = MemoryLogger.getTransactions();
|
||||
sb.append(SCRIPT);
|
||||
|
||||
sb.append("<h3>Transformer - transactions</h3>");
|
||||
for (int i=transactions.length-1; i>=0; i--) {
|
||||
sb.append("<div style=\"height: 17px; margin: 0px 0px 0px 0px;overflow: hidden;padding:0px 0px 0px 0px;cursor:hand;\" ondblclick=\"toggle(this)\">");
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append(unescape(transactions[i]));
|
||||
sb.append("</pre>");
|
||||
sb.append("</div>");
|
||||
sb.append("<div style=\"height: 1px; overflow: hidden;border:0px;background-color:black;\"></div>");
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private String error() throws Exception {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
String[] errors = MemoryLogger.getErrors();
|
||||
sb.append(SCRIPT);
|
||||
|
||||
sb.append("<h3>Transformer - errors (" + MemoryLogger.getErrorCount() + ")</h3>");
|
||||
for (int i=errors.length-1; i>=0; i--) {
|
||||
sb.append("<div style=\"height: 17px; margin: 0px 0px 0px 0px;overflow: hidden;padding:0px 0px 0px 0px;cursor:hand;\" ondblclick=\"toggle(this)\">");
|
||||
sb.append("<pre style=\"padding:0px 0px 0px 0px;margin: 0px 0px 0px 0px\">");
|
||||
sb.append(unescape(errors[i]));
|
||||
sb.append("</pre>");
|
||||
sb.append("</div>");
|
||||
sb.append("<div style=\"height: 1px; overflow: hidden;border:0px;background-color:black;\"></div>");
|
||||
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
private String dump() throws Exception {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("<h3>Transformer - dump</h3>");
|
||||
sb.append("<pre>");
|
||||
sb.append(TransformEngine.getInstance().toString());
|
||||
sb.append("</pre>\n");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private String unescape(String string) {
|
||||
string = string.replace("<b>", "(b)").replace("</b>", "(/b)");
|
||||
string = string.replaceAll("<a( href=\\'[a-zA-Z0-9_/]+\\')>", "(a$1)").replace("</a>", "(/a)");
|
||||
string = string.replaceAll("<font color='([a-zA-Z]+)'>", "(font color='$1')").replace("</font>", "(/font)");
|
||||
string = string.replace(">", ">").replace("<", "<");
|
||||
string = string.replace("(b)", "<b>").replace("(/b)", "</b>");
|
||||
string = string.replaceAll("\\(a( href=\\'[a-zA-Z0-9_/]+\\')\\)", "<a$1>").replace("(/a)", "</a>");
|
||||
string = string.replaceAll("\\(font color='([a-zA-Z]+)'\\)", "<font color='$1'>").replace("(/font)", "</font>");
|
||||
return string;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user