Advertisement
Guest User

Untitled

a guest
May 20th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.92 KB | None | 0 0
  1. import pl.jrj.mdb.IMdbManager;
  2. import javax.naming.InitialContext;
  3. import javax.naming.NamingException;
  4. import javax.ws.rs.GET;
  5. import javax.ws.rs.Path;
  6. import javax.ws.rs.PathParam;
  7. import javax.ws.rs.Produces;
  8. import javax.ws.rs.core.MediaType;
  9.  
  10. /**
  11.  *
  12.  * @author Sebastian Bartczak
  13.  */
  14.  
  15. @Path("/cntrl")
  16. public class RControl {
  17.  
  18.     private static int state = 0;
  19.     private static int counter = 0;
  20.     private static int error = 0;
  21.     private static int sessionId = 0;
  22.  
  23.  
  24.     public void lookupContext() {
  25.         String lookupPath =
  26.                 "java:global/mdb-project/MdbManager!pl.jrj.mdb.IMdbManager";
  27.         try {
  28.             InitialContext context = new InitialContext();
  29.             IMdbManager manager = (IMdbManager) context.lookup(lookupPath);
  30.             sessionId = getNumber(manager.sessionId("117535"));
  31.  
  32.         } catch (NamingException e) {
  33.             e.printStackTrace();
  34.         }
  35.     }
  36.  
  37.     private int getNumber(String number) {
  38.  
  39.         if (number.toLowerCase().startsWith("0b")) {
  40.             return Integer.parseInt(number.substring(2), 2);
  41.         }
  42.  
  43.         if (number.toLowerCase().startsWith("0x")) {
  44.             return Integer.parseInt(number.substring(2), 16);
  45.         }
  46.  
  47.         if (number.toLowerCase().startsWith("0") && number.length() > 0) {
  48.             return Integer.parseInt(number.substring(1), 8);
  49.         }
  50.  
  51.         return Integer.parseInt(number);
  52.     }
  53.  
  54.     @GET
  55.     @Path("/start")
  56.     public void start() {
  57.         this.lookupContext();
  58.         if (state==0) {
  59.             state = 1;
  60.         } else {
  61.             error++;
  62.         }
  63.     }
  64.  
  65.  
  66.     @GET
  67.     @Path("/stop")
  68.     public void stop() {
  69.         if (state==1) {
  70.             state = 0;
  71.         } else {
  72.             error++;
  73.         }
  74.     }
  75.  
  76.     @GET
  77.     @Path("/clr")
  78.     public void clr() {
  79.         counter = 0;
  80.         error = 0;
  81.     }
  82.  
  83.  
  84.     @GET
  85.     @Path("/icr")
  86.     public void inc() {
  87.         if (state==1) {
  88.             counter++;
  89.         } else {
  90.             error++;
  91.         }
  92.     }
  93.  
  94.  
  95.     @GET
  96.     @Path("/dcr")
  97.     public void dec() {
  98.         if (state==1) {
  99.             counter--;
  100.         } else {
  101.             error++;
  102.         }
  103.     }
  104.  
  105.  
  106.     @GET
  107.     @Path("/icr/{n}")
  108.     public void incN(@PathParam("n") String n) {
  109.         if (state==1) {
  110.             counter += getNumber(n);
  111.         } else {
  112.             error++;
  113.         }
  114.     }
  115.  
  116.  
  117.     @GET
  118.     @Path("/dcr/{n}")
  119.     public void decN(@PathParam("n") String n) {
  120.         if (state==1) {
  121.             counter -= getNumber(n);
  122.         } else {
  123.             error++;
  124.         }
  125.     }
  126.  
  127.  
  128.     @GET
  129.     @Produces(MediaType.TEXT_PLAIN)
  130.     @Path("/res")
  131.     public String res() {
  132.         return String.valueOf(sessionId % counter);
  133.     }
  134.  
  135.  
  136.     @GET
  137.     @Produces(MediaType.TEXT_PLAIN)
  138.     @Path("/err")
  139.     public String err() {
  140.         return String.valueOf(sessionId % error);
  141.     }
  142.  
  143.  
  144.  
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement