Skip to content

Commit

Permalink
new version of web app
Browse files Browse the repository at this point in the history
  • Loading branch information
js1972 committed Mar 26, 2014
1 parent 6361cb8 commit 9674527
Show file tree
Hide file tree
Showing 6 changed files with 132 additions and 6 deletions.
4 changes: 2 additions & 2 deletions jaylin.com.au/zpi_html/_comp/WebContent/css/pimon.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions jaylin.com.au/zpi_html/_comp/WebContent/css/pimonstats.css

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions jaylin.com.au/zpi_html/_comp/WebContent/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -157,12 +157,64 @@ <h4 class="modal-title">Message details:</h4>

<ul class="nav nav-tabs" id="modal-payload-tab-list">
<li class="active"><a href="#modal-tab-payload" data-toggle="tab">Payload</a></li>
<li><a href="#modal-tab-header" data-toggle="tab">Header details</a></li>
<li><a href="#modal-tab-log" data-toggle="tab">Status Log</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="modal-tab-payload">
<div><pre id="payload_div" class="prettyprint"></pre></div>
</div>
<div class="tab-pane" id="modal-tab-header">
<div id="modal-tab-header-details">

<form role="form" class="form-horizontal">
<div class="form-group">
<label for="inputMsgId" class="col-sm-3 control-label">Message Id</label>
<div class="col-sm-9">
<p class="form-control-static" id="inputMsgId"></p>
<!--<input type="text" class="form-control" id="inputMsgId">-->
</div>
</div>
<div class="form-group">
<label for="inputProcMode" class="col-sm-3 control-label">Processing Mode</label>
<div class="col-sm-9">
<p class="form-control-static" id="inputProcMode"></p>
</div>
</div>
<div class="form-group">
<label for="inputQoS" class="col-sm-3 control-label">Quality of Service</label>
<div class="col-sm-9">
<p class="form-control-static" id="inputQoS"></p>
</div>
</div>
<div class="form-group">
<label for="inputQueueId" class="col-sm-3 control-label">Queue Id</label>
<div class="col-sm-9">
<p class="form-control-static" id="inputQueueId"></p>
</div>
</div>
<div class="form-group">
<label for="inputQueueSeq" class="col-sm-3 control-label">Sequence Number</label>
<div class="col-sm-9">
<p class="form-control-static" id="inputQueueSeq"></p>
</div>
</div>
<div class="form-group">
<label for="inputSender" class="col-sm-3 control-label">Sender</label>
<div class="col-sm-9">
<p class="form-control-static" id="inputSender"></p>
</div>
</div>
<div class="form-group">
<label for="inputReceiver" class="col-sm-3 control-label">Receiver</label>
<div class="col-sm-9">
<p class="form-control-static" id="inputReceiver"></p>
</div>
</div>
</form>

</div>
</div>
<div class="tab-pane" id="modal-tab-log">
<div id="modal-tab-log-table"></div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions jaylin.com.au/zpi_html/_comp/WebContent/js/pimon.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package au.com.jaylin.pimon.rest;

public class MessageHeaderDetails {
String msgId = "";
String mode = "";
String qos = "";
String queueId = "";
String sender = "";
String receiver = "";
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.naming.Context;
import javax.naming.InitialContext;
Expand Down Expand Up @@ -233,6 +235,68 @@ public Response getMessageLog(@PathParam("msgid") String msgId) {
return r;
}

/**
* Use regex to get info about the message from payload.
* Note the "(?i)" in java regex means case-insensitive!
* This is an embedded pattern in the Java Matcher
* (Pattern.CASE_INSENSITIVE).
*
* @param msgId
* @return
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("iflows/messages/{msgid}/info/")
public Response getMessageInfo(@PathParam("msgid") String msgId) {
Response r = null;
MessageHeaderDetails msgHdr = new MessageHeaderDetails();
String payload = "";

msgHdr.msgId = msgId;

try {
payload = readMessage(msgId);

Pattern patternMode = Pattern.compile("(?i)<SAP:ProcessingMode>(.+?)</SAP:ProcessingMode>");
Matcher matcherMode = patternMode.matcher(payload);
while (matcherMode.find()) {
msgHdr.mode = matcherMode.group(1);
}

Pattern patternQos = Pattern.compile("(?i)<SAP:QualityOfService>(.+?)</SAP:QualityOfService>");
Matcher matcherQos = patternQos.matcher(payload);
while (matcherQos.find()) {
msgHdr.qos = matcherQos.group(1);
}

Pattern patternQueueId = Pattern.compile("(?i)<SAP:QueueId>(.+?)</SAP:QueueId>");
Matcher matcherQueueId = patternQueueId.matcher(payload);
while (matcherQueueId.find()) {
msgHdr.queueId = matcherQueueId.group(1);
}

Pattern patternSender = Pattern.compile("(?i)<SAP:Main.*?>.*?<SAP:Sender>.*?<SAP:Service>(.+?)</SAP:Service>");
Matcher matcherSender = patternSender.matcher(payload);
while (matcherSender.find()) {
msgHdr.sender = matcherSender.group(1);
}

Pattern patternReceiver = Pattern.compile("(?i)<SAP:Main.*?>.*?<SAP:Receiver>.*?<SAP:Service>(.+?)</SAP:Service>");
Matcher matcherReceiver = patternReceiver.matcher(payload);
while (matcherReceiver.find()) {
msgHdr.receiver = matcherReceiver.group(1);
}

r = Response.ok().entity(new Gson().toJson(msgHdr)).build();
}
catch(ReadMessageException rme) {
logger.errorT("Error reading payload for msgid: '" + msgId + "'. " + rme.getMessage());
r = Response.serverError().entity("Unable to read payload for this message. See trace file for more detail.").build();
}

return r;
}

@POST
@Produces(MediaType.APPLICATION_JSON)
@Path("iflows/messages/{msgid}/cancel/")
Expand Down

0 comments on commit 9674527

Please sign in to comment.